Identity-Based Secure Boot Verification for Software Layers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing secure boot systems in information processing devices rely on scalable secure boot keys, which can lead to unauthorized software execution across different entities, as the same key may be used for multiple customers and products.
Innovation Solution
The implementation of an identity-based verification method, where each layer of software code generates an identity key based on values generated during provisioning, specifically tied to the firmware image of the software code layer, allowing for secure boot key encryption and verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If scalable secure boot keys are used for multiple customers and products, then key management simplicity is improved, but security is worsened due to unauthorized software execution across different entities
Solution Approach 1:
The patent segments the secure boot key into two distinct components: a device-specific identity key stored in secure hardware and a layer-specific secure boot public key. This segmentation allows each key to have a specific function - the identity key provides device uniqueness while the secure boot public key verifies software integrity, thereby resolving the contradiction between key management simplicity and security.
Solution Approach 2:
The patent applies local quality by making the secure boot public key specific to each software layer rather than using a single key for all layers. Each layer has its own encrypted secure boot public key that is decrypted using the identity key, providing localized security verification for each layer while maintaining overall system security.
2Productivity
If the same secure boot key is used across multiple entities, then deployment efficiency is improved, but authorization control is worsened allowing unauthorized software execution
Solution Approach 1:
The patent implements preliminary action by pre-provisioning each device with a unique identity key during manufacturing. This identity key is then used to decrypt the secure boot public key for each software layer, establishing authorization control before software execution. This approach maintains deployment efficiency while ensuring that only authorized software can execute on each specific device.
3Reliability
If identity keys based on provisioning values are used, then security uniqueness is improved, but key generation complexity is worsened
Solution Approach 1:
The patent applies self-service by having the device automatically generate its identity key during the provisioning process using values stored in its secure hardware. The device uses its own unique hardware characteristics to derive the identity key without requiring external intervention, thereby achieving security uniqueness while minimizing the complexity burden on external systems.
Data Source
AI summary
Techniques are provided for identity-based verification of software code layers. One method comprises obtaining, by a current layer of software code executing on a security processor of a security sub-system, in connection with a boot of the security sub-system, an identity key of the current layer, wherein the identity key of the current layer is based on a value generated during a provisioning of the security sub-system, wherein the value is based on a firmware image of at least one layer of the software code; obtaining an encrypted secure boot public key of a next layer; decrypting the encrypted secure boot public key of the next layer using the obtained identity key of the current layer; verifying the next layer using the decrypted secure boot public key of the next layer; and executing the next layer based at least in part on a result of the verifying.


