Application Startup Chain With Verifiable Boot Attestation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for protecting code/data of a program on a computing platform suffer from vulnerabilities such as protection weaknesses and dependence on remote attestation services, failing to effectively defend against dynamic attacks and side-channel attacks.
Innovation Solution
A method and apparatus that utilize a verifiable startup chip and trusted execution environment to isolate user applications, perform local attestation, and record attestation information, enabling secure startup and defense against side-channel attacks without relying on external attestation services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If remote attestation service is used to verify program security, then program security verification capability is improved, but dependence on external services increases and protection vulnerability occurs
Solution Approach 1:
The patent introduces a verifiable startup chip as an intermediary component that locally stores measurement results of startup items. This chip acts as a mediator between the trusted execution environment and the remote user, enabling security verification without direct dependence on external attestation services during runtime.
Solution Approach 2:
The patent performs security verification actions in advance by measuring startup items (bootloader, OS, VMM) during system initialization and storing these measurement results in the verifiable startup chip before the actual application execution. This preliminary attestation eliminates the need for continuous external verification services.
2Ease of manufacture
If traditional protection methods are used for code/data, then implementation simplicity is maintained, but protection vulnerability and inability to defend against side-channel attacks occurs
Solution Approach 1:
The patent segments the system into distinct trusted components: a verifiable startup chip for storing measurement results, a trusted execution environment for application isolation, and an attestation proxy program for coordinating verification. This segmentation enables both simplicity in implementation and enhanced protection capabilities.
Solution Approach 2:
The patent implements local attestation capability within the trusted execution environment, where the attestation proxy program can verify application integrity locally without requiring external services. This local quality enhancement provides robust protection while maintaining implementation feasibility.
3Reliability
If startup items are sequentially started with measurement and recording, then security verification reliability is improved, but startup process complexity increases
Solution Approach 1:
The patent designs the verifiable startup chip to perform multiple functions: storing measurement results of various startup items, providing security verification, and supporting different types of attestation. This multi-functionality reduces the need for separate components for each function, thereby managing complexity while enhancing reliability.
4Reliability
If trusted execution environment is used to isolate applications, then security against direct attacks is improved, but inability to defend against side-channel attacks occurs
Solution Approach 1:
The patent implements a feedback mechanism where the attestation proxy program continuously verifies the integrity of applications and startup items by comparing current states against stored measurement results in the verifiable startup chip. This feedback loop enables detection of both direct attacks and side-channel attacks that might compromise the trusted execution environment.
Data Source
AI summary
Embodiments of this specification provide a method and an apparatus for starting an application on a target platform, where the target platform includes at least a verifiable startup chip and a trusted execution environment, and the method includes: sequentially starting a plurality of system startup items based on a predetermined startup order, where starting a first startup item included in the plurality of system startup items includes: measuring a next startup item of the first startup item, and recording a measurement result into the verifiable startup chip; starting an attestation proxy program based on the trusted execution environment; and starting a first user application based on the trusted execution environment, and determining, by the attestation proxy program, first attestation information corresponding to the first user application based on local attestation in the trusted execution environment.


