This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Best practices to secure a BLE NRF51 to NRF51 link ?

Hello,

I want to secure a link between 2 NRF51 (man in the middle and privacy with AES).

How to do that ? (I can use a static key in this application)

Most of the codes i found are partials and not up to date (timeout does not exist in structure, ...). Documentation is good but difficult to apply without an exemple to start and I not found any exemple in SDK.

Thank you.

edit 29.09.2015: traces.txt

edit 03.10.2015: traces.txt

  • I took a look at your trace. It seems you bond and then call sd_ble_gap_sec_params_reply()? Also, sd_ble_gap_sec_params_reply() should only be called by the peripheral when it receives BLE_GAP_EVT_SEC_PARAMS_REQUEST. The central should not handle this event.

    It can however handle BLE_GAP_EVT_SEC_REQUEST.

    However, 0x00000007 means NRF_ERROR_INVALID_PARAM.

  • You was right sd_ble_gap_sec_params_reply() was called on both sides. I fixed it but it still not work. Is there any roadmap about that ? Can I active at least AES encryption without key pairing ?

  • It is on the roadmap, but I can't give you a timeline. One of our Sales Manager may be able to give you more information though. If you send me a PM with your location I can give you the details of the Sales Manager in your area. What do you mean by "Can I active at least AES encryption without key pairing ?" Do you mean bonding with Just Works? I don't think the authentication method matters, it is handling the bonds that is challenging. If you mean pairing (not bonding) you should be able to do it with both central and peripherals no matter what authentication method(Just Works, Passkey Entry, OOB) you use.

Related