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

Using the CCM module for mesh encryption along with BLE via softdevice NRF52

Im implementing an application which uses the s132 SD for BLE communication and the mesh implementation described at nRF51-ble-bcast-mesh. I need to have encrypted and authenticated communication over the mesh. The only option seems to be using the CCM module.

But I have found some anomalies in the documentation and implementation of the CCM module API.

  1. The power register is undocumented in the product specification but present in the source code
  2. Bitmasks are not included in the source code along with some datastructures etc.

Do you have any example using the CCM? Do you support development with application level usage of the CCM module? The detective work of finding out how it should be set up is hopefully not that difficult but I don't want to get stuck because i missed a minor detail.

Parents
  • I seem to have been a bit hasty, most of my issues with the source code are mistakes from my side and not actual missing code.

    However; the power control register is available in nrf51.h on line 822. It is not available in nrf52.h nor in the documentation. Perhaps there is a power register available for the nrf51 but not the nrf52?

    There is no datastructure for the data pointed to by CNFPTR. Perhaps not necessary, it´s easy to write it from the info in the product specification, just seemed odd to me.

    From my understanding there is no way to make ECB support authentication so we need to use the CCM. There also seems to be a general agreement in the cryptographic community that ECB is inherently insecure.

Reply
  • I seem to have been a bit hasty, most of my issues with the source code are mistakes from my side and not actual missing code.

    However; the power control register is available in nrf51.h on line 822. It is not available in nrf52.h nor in the documentation. Perhaps there is a power register available for the nrf51 but not the nrf52?

    There is no datastructure for the data pointed to by CNFPTR. Perhaps not necessary, it´s easy to write it from the info in the product specification, just seemed odd to me.

    From my understanding there is no way to make ECB support authentication so we need to use the CCM. There also seems to be a general agreement in the cryptographic community that ECB is inherently insecure.

Children
No Data
Related