Implentation of Read-back protection on nRF52840

Greetings,

We are trying to enable/implement the read-back protection feature of the nRF52840 SoC and during this process we came accross this reported vulnerability of the read-back mechanism shared by Nordic regarding Read-Back Protection: Informational Notice (IN) - Vulnerability of the nRF52 series.

Based on this vulnerability which states that:

A device that programmatically configured APPROTECT can have that configuration circumvented and program memory containing program instructions can be read out of the device

According to this, we cannot use the CONFIG_NRF_APPROTECT_LOCK=y configuration option or any other (programmatical) methods (Steps 1,2 in the guide) mentioned in this guide by Nordic to enable the read-back protection. Is this correct?

If so, what is the correct way to set/enable the readback protection for the nRF52840 device without being exposed to the aforementioned vulnerability?

I am looking forward to hearing from you.

Best regards,

Stavros 

Parents Reply
  • clockis said:
    Sorry to get back to this so much later, but I just managed to find the time to get back to this.

    Welcome back!

    clockis said:
    This information you shared is clear, so just enabling CONFIG_NRF_APPROTECT_LOCK=y is enough to enable the readback protection so that third parties cannot read the FW from the nRF52840 if it is a revision 3 chip, if I understand correctly. 

    Since last time I learned that CONFIG_NRF_APPROTECT_LOCK is for half of it, and then you also need to do "nrfjprog --rbp ALL" after.

    I am trying to talk our devs into making it so the config does both HW and SW locking

    clockis said:
    What is necessary to be done so that it is ensured readback protection is enabled and no one is allowed to read back our FW?

    nrfjprog --rbp ALL.

    So it will be the same for both.

    And in general, I recommend that you do testing on some devices to make sure that you indeed can not read anything from them. For example with "nrfjprog --memrd"

Children
Related