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

LSC Security Benefits with Static Passkey

Hi. 

I try to implement LESC using nRF52810.

But I use a Static passkey because my device doesn't have a keyboard or display.

One question is, is LESC more secure than Legacy when using a Static passkey?

I understand that using a Static passkey is not safe from MITM attacks. Is LESC safe from MITM attacks when using Static Passkey?

I've been pondering for days and couldn't come to a conclusion.

  • Hi

    LESC is generally more secure than Legacy mode, so I would suggest using LESC over Legacy either way. Keep in mind that LESC was introduced in BLE v.4.2, and will not work if both devices don't support BLE v.4.2 or newer.

    Using LESC with a static passkey should provide sufficient protection against MITM attacks as long as you don't leak that static passkey somehow. This way only the two devices that are pairing should have access to the static passkey, and protect against MITM that way. You can check out this link for some documentation if you'd like. Static passkey would fall under the PasskeyDisplay method where both devices enter the key. I would also suggest checking out if the ECDH key generation would be of interest to you, as this is, by far, more secure than using "just" a pass-key.

    Best regards,

    Simon

  • Hi, Simonr

    I have a few questions.

    1. Using the static passkey corresponds to the PasskeyDisplay method.

    Static passkey would fall under the PasskeyDisplay method where both devices enter the key.

    If so, can't static passkey be used in Numeric Comparison using ECDH?

    2. I have seen about LESC, MITM and passkey before. According to this, using static passkey, LESC is also vulnerable from MITM attack. 

    Which parts are safer from MITM attacks compared to LE Leagcy?

    The Bluetooth specification states that the passkey should be randomised for every pairing attempt. 
    The protocol is not designed to be used with a static passkey. 
    If you use a static passkey in the LESC model, as mentioned in the referenced post, an attacker trying to "log in" to your device will succeed in at most 20 attempts since for every failed attempt, it will reveal the next bit that was incorrect. 
    The protocol is built upon 80 exchanged packets, where 4 packets, 2 in each direction confirms that 1 extra bit of the passkey match between the two devices.

  • Hi

    1. The ECDH method uses a numeric comparison algorithm for key generation, and a new pairing procedure for the key exchange. It is an enhanced security feature that's implemented in our BLE LESC module. This key will not be static though, so it will not be able to use like you describe.

    2. You're correct. As stated in the reply you linked to, a static password won't be very secure (and is not designed to be used with the LESC model), but it will not be instantly accessible from a MITM attack, but it will be after repeated attempts. 

    Compared to the Legacy module, LESC is just more secure and if the choice is between those two, I recommend that you go for LESC (with ECDH) either way.

    Best regards,

    Simon

  • Hi

    I understood that using ECDH is safer.

    But as I said earlier, I have to use Static passkey. I programmed using Legacy and Static passkey.

    If using static passkey in LESC is still not completely safe from MITM attack, do I need to change from Legacy to LESC ??

    And is there any way to be safe from MITM attack when using static passkey ???
    Is Legacy exposed to static passkey in 20 attacks like LESC?

  • Hi

    If you're using Static passkey either way, I think you should use legacy pairing, as the LESC module isn't designed to be used with a static passkey. The legacy mode will be susceptible to eavesdropping, but a MITM attacker won't be able to decrypt the connections of already bonded devices.

    Best regards,

    Simon

Related