Trusted Execution Environment Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems face challenges in providing robust data security while maintaining user flexibility and hardware compatibility, leading to potential data breaches from sophisticated attacks.
Innovation Solution
A computer system is configured with a processor that provides isolated execution environments for a rich operating system and a trusted operating system, using cryptographic techniques for personalized and cryptographically secure access control. This includes a kernel module that interacts with various components to manage data access, using validated application tokens and user codes for authentication and authorization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional access control mechanisms are used in operating systems, then system flexibility and hardware compatibility are maintained, but data security is compromised due to sophisticated hacking attacks
Solution Approach 1:
The system divides access control into multiple independent components: application tokens for application-level authentication, file-specific encryption keys for data protection, and a trusted execution environment for secure key management. This segmentation allows each component to specialize in a specific security function while maintaining overall system flexibility
Solution Approach 2:
The patent introduces a trusted execution environment as an intermediary between the application layer and the file system. This intermediary securely manages encryption keys and validates application tokens without exposing sensitive cryptographic materials to the main operating system, thereby enhancing security without significantly increasing overall system complexity
2Reliability
If cryptographic techniques are implemented at multiple stages, then data security against sophisticated attacks is improved, but system complexity and computational overhead increase
Solution Approach 1:
The system performs preliminary cryptographic actions by generating application tokens and establishing encryption keys before actual file access operations. The trusted execution environment pre-validates application credentials and prepares encrypted file metadata in advance, reducing computational overhead during actual file access operations
Solution Approach 2:
The patent applies different cryptographic techniques at different stages of file access based on local requirements: application tokens for authentication at the application layer, symmetric encryption for file content protection, and asymmetric encryption for key management. This localized application of cryptographic methods optimizes security while minimizing unnecessary computational overhead
3Reliability
If application tokens are validated for each file access request, then access control security is enhanced, but processing speed and user experience are degraded
Solution Approach 1:
The system performs preliminary validation by generating application tokens when applications are launched or when they request access to protected files. The trusted execution environment validates application credentials in advance and caches the resulting tokens, so that subsequent file access operations only require token verification rather than full re-validation, significantly improving access speed while maintaining security
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An access control system includes a processor configured to provide a trusted execution environment isolated from a rich execution environment. A rich OS operates in the rich execution environment while a trusted OS operates in the trusted execution environment. A plurality of protected data files are stored in non-volatile memory. When a process requests access to a protected data file, the computer system can permit the requesting process to access the requested data file only if a validated application token is present that corresponds to the requesting process. An application token is generated for the associated application by: detecting initiation of a first process associated with the associated application; determining that a valid user code is available within the trusted execution environment; and generating the application token using the valid user code upon determining that the valid user code is available within the trusted execution environment.