Secure Branch Target Computation Using Integrity and Adjustment Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing start-up processes for computing devices lack sufficient security, as malicious users can modify data segments to execute unauthorized code by computing and storing modified integrity data, allowing compromised code to execute undetected.
Innovation Solution
A secure start-up process is implemented by recognizing a branch instruction, calculating an integrity datum of a data segment, obtaining an adjustment datum, and computing a branch target address based on the integrity and adjustment data, ensuring that only unmodified data segments allow the start-up process to proceed, thereby preventing unauthorized code execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional verification steps are used to check data segment integrity, then the start-up process can detect modified code, but malicious users can still compute and store modified integrity data to bypass detection
Solution Approach 1:
The patent introduces a cryptographic intermediary (secure enclave or trusted execution environment) that acts as a mediator between the integrity verification process and the data segments. This intermediary securely stores the expected integrity values and performs the verification in a protected environment that cannot be compromised by external modifications, thus preventing malicious users from bypassing the verification by modifying integrity data.
Solution Approach 2:
The patent moves the integrity verification process to a different security dimension by implementing it within a hardware-based trusted execution environment or secure enclave. This creates a hierarchical security structure where the verification process operates in a protected domain that is isolated from the potentially compromised external environment, making it impossible for malicious code to interfere with the verification.
2Reliability
If integrity verification is performed at each branch instruction, then unauthorized code execution is prevented, but the start-up process time increases
Solution Approach 1:
The patent performs integrity verification in advance during the start-up process before executing the main operational code. By verifying the integrity of critical data segments and branch targets before they are needed, the system ensures security while allowing the main execution to proceed without repeated verification overhead, thus minimizing the impact on overall start-up time.
Solution Approach 2:
The patent applies integrity verification selectively to critical data segments and branch instructions rather than uniformly to all code. This partial verification approach focuses security resources on the most vulnerable or critical paths during start-up, providing adequate security protection while reducing the total verification time compared to comprehensive verification of all code segments.
Data Source
AI summary
Embodiments related to conducting and constructing a secure start-up process are disclosed. One embodiment provides, on a computing device, a method of conducting a secure start-up process. The method comprises recognizing the branch instruction, and, in response, calculating an integrity datum of a data segment. The method further comprises obtaining an adjustment datum, and computing a branch target address based on the integrity datum and the adjustment datum.


