Silicon Firmware Rollback Prevention via Dual OTP Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing semiconductor devices are vulnerable to rollback attacks, where an adversary can replace a newer, secure firmware version with an older, vulnerable version, and the limited OTP space restricts the number of code updates.
Innovation Solution
A secure rollback prevention system using multiple copies of data on external non-volatile memory devices and an OTP, where one firmware copy is open for updates and the other is write-protected, along with dual signed version number copies stored in external memory devices, ensuring that the OTP version cannot be decreased and the flash version can be updated while maintaining secure version control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single OTP memory is used to store firmware version, then the device structure is simple, but the device is vulnerable to rollback attacks and has limited update capacity
Solution Approach 1:
The system divides the version storage function into two independent OTP memories: a first OTP memory that stores the original firmware version and a second OTP memory that stores the updated firmware version. This segmentation allows the system to maintain version history and prevent rollback attacks by comparing versions across both memories, while keeping each individual OTP memory structure simple.
Solution Approach 2:
The system creates a copy of the firmware version information in a second OTP memory after a successful update. This copy serves as a reference to detect rollback attempts, as the system can verify that the current version matches or exceeds the stored version in the second OTP memory, preventing adversaries from restoring older vulnerable versions.
2Productivity
If OTP space is minimized for cost efficiency, then manufacturing cost is reduced, but the number of code updates is restricted
Solution Approach 1:
The system applies different quality requirements to different OTP memories: the first OTP memory maintains the original version information with standard security requirements, while the second OTP memory stores the updated version information with enhanced security properties. This local differentiation allows efficient use of OTP space while providing robust rollback protection across multiple update cycles.
Data Source
AI summary
A chip system comprising ROM code including a bootloader which runs whenever the chip is powered on; and programmable fuse array memory storing version identifiers, NVMs in which copies of a version of bootable firmware are stored, wherein a first identifier is stored including active major number and minor numbers, signed with a private key; wherein a second identifier is stored including recovery major and minor numbers, signed with said private key; and hardware which obeys a first command by the boot ROM code to disable until next system reset, writing to the recovery NVM other than to the bootloader, and obeys a second command, to lift write protection of the recovery NVM, wherein firmware images associated with both said versions, and both said identifiers, are signed with said private key, and the boot ROM code authenticates firmware image/s and said identifiers.


