Hardware Security: Advanced Topics and Trends
In a device that updates firmware using two areas, side A and side B, when is the most appropriate time to advance the minimum version number recorded in eFuses for anti-rollback to the new version number?
- AAdvance the minimum version number to the new version number immediately, as soon as the download of the new firmware begins
- BAdvance it after the new firmware's signature has been verified and it has been confirmed to boot and run normally from its side
- CKeep the minimum version number written at manufacturing and never advance it, even when the firmware is updated
Show answer and explanation
Answer: B. Advance it after the new firmware's signature has been verified and it has been confirmed to boot and run normally from its side
If the number is advanced first and the new firmware turns out to be corrupted or fails to boot, the old version remaining on the original side is also rejected as "older than the minimum version", and the device can no longer boot. So the new version is written to the free side, its signature is verified, and only after it has been confirmed to boot and run normally from that side (commit) is the minimum version number advanced. After that, the device is protected from being rolled back to an old vulnerable version. Conversely, if the number is never advanced, attacks that write back an old, correctly signed version cannot be prevented.
- A. If the update fails, even the version on the original side may be rejected and the device may be unable to boot.
- B. Correct. The number is advanced after a normal boot has been confirmed.
- C. If the number is never advanced, rollback to an old vulnerable version cannot be prevented.
Continue: 9 more Hardware Security: Advanced Topics and Trends questions