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

ECDSA + nRF52832 + uECC + secure bootloader?

I want to build a secure boot loader for my custom board based on the nRF52832.

This post claims to walk through the process of building an example of a secure boot loader using ECDSA_P256_SHA256 for security.
It lists two options for building a secure bootloader with the nRF5 SDK:
    B1: Compile the uECC library.
    B2: (OPTION) Use Oberon crypto library instead of uECC.

I am working with SDK 16.0.0 and I have spent a lot of time trying to get the boot loader to work.
But no matter how I dice the combination of front-end/back-end for the crypto engine, I ended up observing signature failures.

This morning I noticed on this newer post the claim that Nordic has NOT ported the SHA256 HASH function in uECC to the uECC.
If that is the case, then, I do not understand how the first post's comment that "either B1 or B2 should work" is quite valid.
I can only conclude, based on the newer post, that the ECDSA256 can ONLY be supported out of the box if I go with the Oberon backend (and not uECC).

Any comments?

Parents
  • Hi,

    Did you manage to build the uECC libraries with the 'build_all.bat' helper script in \nRF5_SDK_16.0.0_98a08e2\external\micro-ecc? The bootloader project is by default configured to use the uECC library for ECDSA and the nrf_sw_backend_hash.c  (--> sha256.c) implementation for hashing.

    The "ECDSA_P256_SHA256" boot validation mode should also be supported out of the box.

Reply
  • Hi,

    Did you manage to build the uECC libraries with the 'build_all.bat' helper script in \nRF5_SDK_16.0.0_98a08e2\external\micro-ecc? The bootloader project is by default configured to use the uECC library for ECDSA and the nrf_sw_backend_hash.c  (--> sha256.c) implementation for hashing.

    The "ECDSA_P256_SHA256" boot validation mode should also be supported out of the box.

Children
Related