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

Why is it recommended to have version checking enabled when signed updates are being used for DFU?

Hi,

I have a project that has a bootloader based on the SDK15.3 secure buttonless DFU example. During pre-production testing, the need for downgrading the app came up. So, while reviewing the notes for the NRF_DFU_APP_DOWNGRADE_PREVENTION flag, I came across the note, "When signed updates are required, version checking should always be enabled." 

For this project, signed updates are required so I'm trying to understand the risk of not having version checking enabled. Can anyone shine some light on this?

Thank you!

Parents Reply Children
  • Hi, 

    luimot said:
    why version checking needs to be enabled for signed updates?

    To make sure the compatibility between Hardware/SoftDevice/firmware versions.

    See Validation for more information.

    The Validation of the image includes checks to verify that the image originates from a trusted source and that it is compatible with the device and the current firmware and hardware. See the nrf_dfu_ver_validation_check() and fw_version_ok() inside the nrf_dfu_ver_validation.c.

    If you want to avoid version checking, you can refer to this post

    -Amanda

     

Related