nRF5 SDK v13.0.0 - Is DFU or NUS (Nordic UART Service) support Pairing/Bonding by PassKey?

Hello,


We are developing a device that uses only NUS (Nordic UART Service) and DFU from the services.
In this case, is it possible to implement Pair/Bonded with a client (iOS/Android) by Passkey and to increase the sec level of the NUS Service: SM = 1 and Level = 4  corresponding (require LESC encryption and MITM protection.)

Is it supported on NUS or DFU??


We are using nRF5 SDK v13.0.0 - and nRF52832.

Thank you
Br
Konstantinos

  • Is it supported on NUS or DFU??

    Well, out of the box, the ble_app_uart example doesn't use passkey for security. In fact, it doesn't do any security at all. It is possible to add it, though. You can look at how e.g. the SDK\examples\ble_central_and_peripheral\experimental\ble_app_multirole_lesc examples implement this. If you are this early in the design process, I suggest you look into changing to the SDK17.1.0, which is the latest nRF5 SDK. It holds a significant amount of bugfixes since SDK13. 

    As for DFU, the ble_app_uart example doesn't do this out of the box. I don't know how familiar you are with the bootloaders, but the bootloader is a separate application/project, which you can find in SDK\examples\dfu\secure_bootloader. I don't know whether you would like to use a BLE bootloader, a serial bootloader (UART) or a USB bootloader. There are also different methods of putting the device in DFU mode. This can be done by holding a button while resetting the device. It can also be done over BLE, which is demonstrated in the example found in SDK\examples\ble_peripheral\ble_app_buttonless_dfu (this method is commonly used). If you want to adapt this functionality, the easiest way is to add the BLE service found in the ble_app_buttonless_dfu example to your own application.

    If you have not tested DFU at all, I can really recommend this guide, written by a colleague of mine.

    Best regards,

    Edvin

  • Hi Edvin,

    Thanks for the reply. Unfortunately, we can't upgrade the SDK to a more recent version than 13.
    So the only example that uses LESC to increase Security Connections is SDK\examples\ble_central_and_peripheral\experimental\ble_app_multirole_lesc that you mentioned?
    Is there an example other than the experimental one, that requires LESC to BLE connection in SDK 13 that I can consult?

    Br,

    Konstantinos 

  • Hello Konstantinos,

    Not that I am aware of. Remember that LESC was fairly new at the time that SDK13.0.0 was released. That being said, the example is still experimental in SDK17.1.0, which is the latst nRF5 SDK release.

    BR,

    Edvin

  • Hi Edvin, 

    Thank you very much! 

    Br,
    Konstantinos 

Related