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

nRF5340 CryptoCell-312 access for Network Processor

Hi,

I am evaluating nRF5340 for using it in a smart lock product with high security. I had evaluated nRF52840 before this

and was impressed with the integration that the crypto apis have the cryptocell-310 for BLE related link layer security

like LESC in 4.2.

In 5340 I believe the cryptocell-312 resides only the application domain, which is mentioned in the link below

https://blog.nordicsemi.com/getconnected/why-does-the-nrf5340-have-two-cores

Although a reply to a comment mentions that the network processor has its own hardware for over the air encryption

is this the hardware AES block or is this some how connected to the cryptocell-312 through the AHB bus like shown below?

Also for LESC pairing where the stack needs to perform ECDH key exchange is this done in the cryptocell-312 or done via

software crypto backend?

In case the application need to do peer authorization, verification or nounce hashing etc using the cryptocell-312 ECDSA, SHA256

or any of the crptocell-312 algorithms can this code reside in the network processor and still use the cryptocell across the AHB bus?

This is so that the custom application handshake can reside close to the BLE stack (for e.g if OOB pairing needs the secret to be fetched

from the KMU). IPC between the two cores would make this possible I believe but its still an overhead in design and complexity.

What I envision is that all application validation and authorization, session keys etc be handled as a small and simple application in

the network processor with access to the cryptocell-312 and all business logic reside in the application processor.

So is the crypto hardware (CC312 ) backend apis available to the network processor via AHB?

  • Hi Vidar,

    1. For the authentication of central device (mobile app) I plan to create a secure partition (eg. Auth Service in SPE) it would use the built in Crypto Service provided by the PSA framework (in SPE). The Auth Service API's would be exposed to the BLE Pairing Service (GATT) in the BLE Host.

    2. The main motivation is to keep the BLE Pairing Service (LESC pairing without MITM protection) code separate from the business logic using NSPE and SPE boundary with Secure Partition, this is to avoid any flash/ram access to business logic code/keys/logs etc.

    3. Yes would go for Zephyr OS on the application core as well.

    The original goal was to use BLE LESC with MITM protection i.e OOB (NFC, PIN pairing are not in line with the business use case as far as usability is concerned) and rely on BLE link layer security. And User access control could have been done by role type based access to one/two/three BLE Services. But with no MITM protection this doesn't service the purpose.

    Currently we have B2B sales, additionally we might have a B2C sales program. In this case whitehat/blackhat hackers are a potential threat agent so wanted root of trust in design.

    Am not sure If you have come across this template
    https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/smart-door-lock-application-guide.pdf

    Its a pretty good read.

    Regards,

    Bosco Jacinto

  • Hi Bosco,

    Thanks for the link to the app note, it's definetly something I will take a look at. I'm a bit suprised I have seen before when I have searched for PSA materials earlier.

    Regards,

    Vidar

  • Hi Vidar,

    After some amount of study we are inclined on using PSA with TF-M to have Trusted execution.

    My team's and my understandings on these things are daily increasing, the architecture of the lock firmware is accordingly being conceived at this stage. We have a lot to cover and there are a still a many open questions, I will post them in separate threads on this forum.

    For now its appropirate to close this thread, thanks so much for your help.

    Regards,

    Bosco Jacinto

Related