Firmware Verification via Non-Volatile List Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefirmware verification capabilityVSAvoidmicrocontroller structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If firmware integration and signing is rerun for every firmware change, then the security is maintained, but the productivity and development efficiency decrease

Engineering Contradiction:
Improvefirmware securityVSAvoidfirmware development efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveverification processVSAvoidfirmware update flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12216762B2Firmware verification system and firmware verification method
Publication Date: 2025.02.04 NUVOTON
  • US12216762B2 patent drawing
  • US12216762B2 patent drawing
  • US12216762B2 patent drawing

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.