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

Regarding aes CCM and edch related examples

Hi,

  I am currently working on the ble mesh project. I would like to know whether there is any cybersecurity related examples in SDK .

   1. Can you list out some of the security based examples (related to pairing,bonding, encryption)available in sdk17.02.

  nrf kit : 52832

  Encryption algorithm:aes CCM

  Provisioning algorithm while using nrf mesh app:edch

  2. Also tell me the security requirements while using Nordic kit.

 3. Can you please give me the difference between aes CCM and edch. Because I am little confused which algorithm I need to use for security procedure.

 4.Topics related to cybersecurity in Nordic website

 

  

  • Hi,

    Could you let us know what exactly you meant by "cybersecurity related examples" ? 

    Please clarify that you are asking about BLE mesh SDK example or BLE example in nRF5 SDK ? Note that there is no pairing/bonding in Mesh. 

    In all of our mesh examples the security, encryption is implemented as defined in the spec .

    I would suggest to have a look at section 5.4.2.5 in the Mesh profile specification v1.0.1 . I quoted here: 

    We don't really have a page that explain about cybersecurity as it's not something we develop or define, please look for ECDH and AES CCM on the internet for definition of those protocols. 

  • Hi,

      Thanks for the clear information.I would like to about the security related examples in main SDK 17.02.

      I would like to compile examples related to

      1. Pairing

      2.bonding

      3. Aes CCM ,aes aar based examples in ble SDK.

      Is there any ble example in nrf5 main SDK which composes the features all together.

  • Hi, 
    Pairing and bonding are almost the same process, the only difference is that with pairing, the LTK (long term key) is not generated/reused like with bonding. So with pairing, the pairing process will need to be executed every time the connection is established/reconnected. 

    You can find the example of bonding and pairing in any of our example, for example ble_app_proximity, or ble_app_gls (with passkey).

    The actual encryption is handled inside the softdevice so you don't need to handle that. 

    Please let us know what exactly you want to do or if you have a particular question. 

    If you want to study how the pairing and encryption work I would suggest ot have a look at the spec, for example Chapter 2 Security Manager in Vol 3 Part H Bluetooth Core Specification v5.2 :

    Phase 2 (page 1696):

Related