This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE - connection without bonding

Hi,

I would like to ask - do we use diffie-hellman when we are pairing but not bonding?

If we are not using diffie-hellman, what are we using to encrypt connection?

Thanks!

Parents
  • Hi 

    The LE Secure Connections (LESC) feature, introduced in Bluetooth 4.2, adds the capability to use the Diffie-Hellman key exchange procedure to safely share encryption keys over a non-secure channel. 

    Bonding is an optional stage after you have performed pairing, and simply means you are storing the encryption keys on both sides of the link so that you can reconnect later without having to do pairing again. As such the bonding phase is the same regardless of which type of pairing you are doing. 

    After pairing you use the same encryption regardless of how pairing is performed. Essentially you are then running a symmetric AES CCM scheme with up to 128-bit key size. 

    The difference is in how the symmetric AES key is distributed during the pairing phase. If you use the older legacy pairing modes that don't rely on ECDH then there is always a risk that a hacker can get access to the AES key if they sniff the entire pairing operation. 

    If you use LESC pairing with authentication (passkey confirmation for instance) then there is no way for the hacker to get access to the AES keys, even if they sniff the entire pairing procedure. 

    Best regards
    Torbjørn

Reply
  • Hi 

    The LE Secure Connections (LESC) feature, introduced in Bluetooth 4.2, adds the capability to use the Diffie-Hellman key exchange procedure to safely share encryption keys over a non-secure channel. 

    Bonding is an optional stage after you have performed pairing, and simply means you are storing the encryption keys on both sides of the link so that you can reconnect later without having to do pairing again. As such the bonding phase is the same regardless of which type of pairing you are doing. 

    After pairing you use the same encryption regardless of how pairing is performed. Essentially you are then running a symmetric AES CCM scheme with up to 128-bit key size. 

    The difference is in how the symmetric AES key is distributed during the pairing phase. If you use the older legacy pairing modes that don't rely on ECDH then there is always a risk that a hacker can get access to the AES key if they sniff the entire pairing operation. 

    If you use LESC pairing with authentication (passkey confirmation for instance) then there is no way for the hacker to get access to the AES keys, even if they sniff the entire pairing procedure. 

    Best regards
    Torbjørn

Children
No Data
Related