Secure Boot Version Verification for Trusted Code Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current security measures for computing devices are inadequate in protecting applications and content while allowing for software updates, as they often fail to keep up with new attacks and can be vulnerable during the booting process, limiting device flexibility and functionality.
Innovation Solution
A method and apparatus for secure booting that involves loading executable code images with verified versions, using a secure ROM with a Unique Identifier (UID) to authenticate and verify code images, ensuring only trusted code is executed, and allowing for flexible software updates without compromising security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If security features are initialized during booting, then security protection is improved, but the booting process becomes vulnerable to bypass and tampering before initialization completes
Solution Approach 1:
The patent applies preliminary action by establishing a secure boot environment before the operating system is fully loaded. A boot loader verifies the integrity of the operating system kernel and critical components before execution, ensuring that security features are activated in a controlled manner from the earliest boot stage. This prevents tampering during the vulnerable booting process by validating each component before it runs.
2Reliability
If the computing device is completely sealed from installing additional software, then security is improved, but device capabilities and flexibility are severely limited
Solution Approach 1:
The patent introduces a trusted execution environment and verified boot loader as intermediaries between the sealed secure environment and external software sources. These intermediaries verify the digital signatures and integrity of downloaded software components before allowing them to execute, enabling software updates and installations while maintaining security. This mediator approach allows the device to remain sealed yet still benefit from legitimate software updates.
Solution Approach 2:
The patent changes the parameter of software trust verification from a static sealed state to a dynamic verification process. Instead of completely blocking software installation, the system implements parameter-based control where software can be installed if it passes cryptographic verification against trusted parameters stored in secure memory. This allows flexibility while maintaining security through parameter validation.
3Ease of manufacture
If version compatibility is not verified between code images, then device updates are simplified, but incompatible code may be loaded causing system instability
Solution Approach 1:
The patent implements feedback by having the boot loader verify version compatibility information embedded in each code image before loading it. The verification process checks whether the code image's version is appropriate for the current hardware and software environment, providing feedback that prevents incompatible code from executing. This maintains system stability while keeping the update process simple through automated verification.
Data Source
AI summary
A method and apparatus for executing a first executable code image having a first version number into a memory of a device in an attempt to establish an operating environment of the device are described. The first executable code image retrieves a second version number from the second executable code image after successfully authenticating the second executable code image. If the first version number and the second version number do not satisfy a predetermined relationship, the second executable code image is prevented from being loaded by the first executable code image.


