Root of Trust Entity for Secure Boot Authentication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory devices face security vulnerabilities during the boot sequence due to multiple authentication processes, making them susceptible to tampering, and the use of multiple public keys for signature verification can be cumbersome and insecure.
Innovation Solution
Implementing a Root of Trust (ROT) entity that authenticates code prior to initialization, using a single public key for signature verification and generating hash measurements to ensure code integrity, with configurable authentication methods and secure storage of measurement results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple authentication processes are used during boot sequence, then code verification capability is improved, but device complexity and vulnerability to tampering increase
Solution Approach 1:
The patent merges multiple authentication processes into a single centralized Root of Trust (ROT) entity that performs all code verification operations. This consolidation reduces the complexity of managing multiple authentication processes while maintaining comprehensive code verification capability through a unified security architecture.
Solution Approach 2:
The patent segments the authentication function by separating the Root of Trust (ROT) entity from the code being verified. The ROT entity acts as an independent intermediary that receives code, performs authentication using stored public keys, and returns verification results. This segmentation allows the authentication logic to be isolated and simplified.
2Adaptability or versatility
If multiple public keys are used for signature verification, then authentication coverage is improved, but key management complexity increases
Solution Approach 1:
The patent introduces a public key storage component as an intermediary between the ROT entity and the code verification process. This storage component centrally manages multiple public keys associated with different code sources or entities, allowing the ROT to access and verify signatures using appropriate keys without managing the key infrastructure directly.
Solution Approach 2:
The Root of Trust entity serves as a universal authentication service that can verify signatures from multiple different public keys stored in the key storage component. This multi-functional design allows a single verification mechanism to handle authentication for various code sources, improving coverage while centralizing key management.
3Reliability
If code authentication is performed prior to initialization, then security against tampering is improved, but boot sequence time increases
Solution Approach 1:
The patent performs code authentication as a preliminary action before code initialization, ensuring that only verified code is executed. The Root of Trust entity verifies code signatures and checks measurement results against stored values before the code is loaded and initialized, preventing tampered code from entering the system.
Solution Approach 2:
The patent implements a feedback mechanism where the ROT entity receives code, performs authentication, and returns verification results to control the initialization process. Based on the authentication feedback, the system decides whether to proceed with code initialization or block execution, enabling security verification without unnecessary delays in the boot sequence.
Data Source
AI summary
Methods, systems, and devices to enable a device with chain of trust are described. A controller may authenticate a root of trust entity as part of a boot-up procedure of a system that includes the root of trust entity. The root of trust entity may receive, as part of the boot-up procedure, a first portion of code associated with a first entity of the system. The controller may generate a first measurement result of the first portion of code and may identify, by the root of trust entity, a second measurement result associated with the first portion of code. The controller may determine, by the root of trust entity, whether the first measurement result matches the second measurement result as part of authenticating the first portion of code and may transmit, by the root of trust entity, an indication of whether the first and second measurement results match.


