Bluetooth: host: Require 128-bit encryption key for security level 4.
In Bluetooth 5 the definition of LE security mode 1, has changed. LE Security Mode 1 level 4 requires authenticated LE Secure Connections pairing with encryption using a 128-bit strength encryption key. This also changes the behaviour when a security request and response would end up with a security level that is lower than the one requested. Before pairing would complete, and the link would disconnect with error authentication failure. Instead a SMP will abort pairing with error code authentication requirement, or encryption key size. Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
This commit is contained in:
parent
3f71772555
commit
c2d62a29f0
3 changed files with 24 additions and 4 deletions
|
@ -968,7 +968,8 @@ static int start_security(struct bt_conn *conn)
|
|||
|
||||
if (conn->required_sec_level > BT_SECURITY_HIGH &&
|
||||
!(conn->le.keys->flags & BT_KEYS_AUTHENTICATED) &&
|
||||
!(conn->le.keys->keys & BT_KEYS_LTK_P256)) {
|
||||
!(conn->le.keys->keys & BT_KEYS_LTK_P256) &&
|
||||
!(conn->le.keys->enc_size == BT_SMP_MAX_ENC_KEY_SIZE)) {
|
||||
return bt_smp_send_pairing_req(conn);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue