Entry Address Masking for TEE Fault Injection Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Trusted Execution Environments (TEE) are vulnerable to physical attacks, such as fault injection attacks, which can bypass memory protection mechanisms and allow unauthorized memory access.
Innovation Solution
A program processing device that masks and un.masks entry addresses using a save value and a setting value, generating a fake entry address and then restoring the original address, ensuring that only matching save and setting values allow access to the entry address, thereby preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TEE uses memory protection mechanism to control access between applications, then security of security-critical applications is improved, but the system becomes vulnerable to physical attacks such as fault injection attacks that can bypass memory protection
Solution Approach 1:
The patent applies preliminary action by masking the entry address before the application program executes. The mask value is prepared in advance and applied to the entry address, so that even if a fault injection attack occurs during execution, the attacker cannot access the original entry address because it has already been protected through masking. This proactive protection resolves the contradiction by establishing security before the vulnerable execution phase begins.
Solution Approach 2:
The patent introduces a mask value as an intermediary between the original entry address and the application program. This mask value acts as a protective layer that prevents direct access to the entry address. The processor unit temporarily stores the mask value and applies it during execution, creating an intermediate barrier that thwarts fault injection attacks while maintaining legitimate access through the unmasking mechanism.
2Reliability
If the entry address is masked with a save value before execution, then unauthorized memory access is prevented, but the device complexity increases due to additional masking and unmasking operations
Solution Approach 1:
The patent implements self-service by having the processor unit automatically manage the mask value throughout execution. The processor unit temporarily stores the mask value, applies it during execution, and automatically restores it when execution completes. This automated self-management eliminates the need for complex external control mechanisms, reducing overall system complexity while maintaining robust access control through the masking process.
Data Source
AI summary
A program processing device (100) includes: an entry address masking unit (110) to generate a fake entry address, which is obtained by masking an entry address with the use of a save value copied from a setting value stored in a storage, and to replace an entry address used by an application program with the fake entry address; a memory monitoring unit (111) to determine whether the fake entry address is loaded during execution of the application program; and an entry address unmasking unit (112) to generate a new entry address, which is obtained by loading the setting value from the storage and unmasking the fake entry address with the use of the setting value, and to replace the fake entry address with the new entry address, when the fake entry address is loaded.


