Firmware Verification via Non-Volatile List Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware verification systems for secure boot stages face challenges in efficiently verifying multiple microcontrollers, as they require storing multiple public keys and rerunning the firmware integration and signing process upon any firmware changes.
Innovation Solution
A firmware verification system and method that utilize a non-volatile firmware list storage device to store a list of firmware entries, each containing fields for firmware information, security version number, and public key hash value. The bootloader reads these entries to verify the correctness of public keys and digital signatures for each firmware during the secure boot stage, without the need to store multiple public keys on the microcontroller.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple public keys are stored in the microcontroller to verify multiple firmware, then the verification capability is improved, but the device complexity and memory usage increase
Solution Approach 1:
The patent extracts the public key storage function from the microcontroller to an external non-volatile storage device. The microcontroller only retains the bootloader with verification logic, while the firmware list with public keys is stored externally. This separation reduces microcontroller complexity while maintaining multi-firmware verification capability.
Solution Approach 2:
The patent introduces a firmware list as an intermediary data structure that bridges the bootloader and multiple firmware components. This firmware list contains organized entries with public keys, firmware identifiers, and version information, enabling systematic verification without directly embedding multiple keys in the microcontroller.
2Reliability
If firmware integration and signing is rerun for every firmware change, then the security is maintained, but the productivity and development efficiency decrease
Solution Approach 1:
The patent implements preliminary action by having the bootloader proactively verify firmware integrity before execution. The verification process checks digital signatures, version numbers, and firmware identifiers in advance, ensuring security is established prior to firmware operation rather than requiring complete re-signing of all firmware.
Solution Approach 2:
The patent changes the verification parameters from requiring complete firmware re-signing to checking specific fields such as firmware identifiers, version numbers, and digital signatures. This selective parameter verification maintains security while significantly reducing the overhead of firmware updates and development iterations.
3Ease of operation
If a single firmware image is used for secure boot, then the verification process is simplified, but the flexibility to update individual firmware components is lost
Solution Approach 1:
The patent segments the firmware system into independent components, each with its own entry in the firmware list containing specific verification data. This segmentation allows individual firmware components to be verified and updated independently while maintaining a unified verification process through the bootloader, which systematically checks each segment's integrity.
Data Source
AI summary
A firmware verification system is suitable for a secure boot stage. The firmware verification system comprises a non-volatile firmware list storage device. The non-volatile firmware list storage device is configured to store a firmware list; wherein each entry corresponds to a firmware stored in a flash memory in a microcontroller, and each entry includes a plurality of fields. The bootloader reads the entries. According to the contents of the fields in each entry, the bootloader determines the correctness of the public key and the correctness of the digital signature for each firmware in the microcontroller.


