SoC Secure Boot Key Hash Selection for Multi-Ecosystem Adaptability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing secure boot systems for computerized control systems lack flexibility in adapting to different ecosystems, such as geographic regions or companies, due to fixed public key infrastructure, which restricts the operation of a single device across multiple environments.
Innovation Solution
A system on a chip (SoC) with one-time programmable memory and random-access memory that stores multiple public key hashes and signatures, allowing selection of an active firmware image authentication key set based on the ecosystem, enabling secure boot authentication and updates through external flash.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed public key infrastructure is used in secure boot systems, then security authentication is ensured, but flexibility in adapting to different ecosystems is lost
Solution Approach 1:
The patent implements a dynamic key selection mechanism where the system can choose between multiple public key hashes stored in one-time programmable memory based on the target ecosystem. The primary bootloader reads ecosystem identification data and selectively activates the appropriate public key hash, transforming the static PKI into a dynamic, adaptable system that maintains security while supporting multiple environments.
Solution Approach 2:
The system changes the parameter of public key selection based on ecosystem requirements. By storing multiple public key hashes with different security parameters and selecting the appropriate one based on the target ecosystem, the system adapts its authentication parameters to match different security requirements and trust models of various ecosystems.
2Adaptability or versatility
If multiple public key hashes are stored in one-time programmable memory, then flexibility across ecosystems is improved, but device complexity increases
Solution Approach 1:
The patent segments the public key infrastructure into multiple discrete public key hashes stored in one-time programmable memory. Each public key hash is a separate, independently selectable authentication credential. This segmentation allows the system to store multiple keys without creating a monolithic complex structure, as each key can be individually selected and activated based on ecosystem requirements.
Solution Approach 2:
The system performs preliminary action by pre-storing multiple public key hashes in the one-time programmable memory during manufacturing. This preliminary preparation eliminates the need for complex runtime key generation or management operations, as the selection process simply involves reading and activating a pre-configured key based on ecosystem identification, thereby reducing operational complexity.
3Reliability
If a selected public key hash is used to authenticate firmware images, then security is maintained, but the ability to update keys for different ecosystems is restricted
Solution Approach 1:
The system implements dynamic key selection where the primary bootloader reads ecosystem identification data and selectively activates the appropriate public key hash from multiple stored options. This dynamic mechanism allows the system to adapt to different ecosystems while maintaining security, as the correct key is automatically selected based on the target environment rather than being fixed or requiring manual updates.
Solution Approach 2:
The system performs self-service by automatically selecting the appropriate public key hash based on ecosystem identification data without requiring external key management infrastructure. The primary bootloader autonomously determines which key to use by reading the target ecosystem's identification information and activating the corresponding pre-stored public key hash, eliminating the need for external key distribution or update mechanisms.
Data Source
AI summary
A system for implementing a secure boot event includes a system on a chip (SoC). The SoC includes key hashes stored within one-time programmable memory. Each of the key hashes is configured for use with one of a plurality of candidate authentication key sets. The SoC further includes firmware stored within RAM. The firmware includes a secondary bootloader, a plurality of public keys, and corresponding signatures. The public keys and corresponding signatures are configured for use with one of the key sets. The SoC further includes a primary bootloader utilizing fuses stored within the programmable memory. The fuses activate a selected key hash based upon an ecosystem in which the system is to operate. The selected hash and a corresponding public key and signature define an active authentication key set. During the event, the primary bootloader utilizes the active authentication key set to authenticate a downloaded update to the firmware.


