Trusted Execution Environment Secret Derivation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the post-PC era, businesses face challenges in securely managing and updating privileged applications on personally owned mobile devices, as existing technologies lack effective mechanisms to prevent unauthorized access to cryptographic secrets within a trusted execution environment.
Innovation Solution
A system that deploys trusted applications in a trusted execution environment with a trusted operating system, using a key derivation function based on a master key and unique identifiers, along with binary code/data, to ensure only the trusted OS can derive secrets, preventing other applications from accessing them, even after updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a master key is used to derive secrets for multiple trusted applications, then key management is simplified, but security is compromised as other applications could potentially retrieve the same secrets
Solution Approach 1:
The secret derivation is segmented into multiple components: master key, application identifier, and binary code/hash. Each component contributes to the final derived secret, ensuring that no single component alone can compromise security while maintaining manageable key storage.
Solution Approach 2:
Each trusted application receives a unique local quality in the form of its specific binary code and identifier combination. This ensures that while the master key is shared, the derived secrets are locally unique to each application, preventing cross-access while simplifying master key management.
2Ease of operation
If secrets are derived based only on application identifier, then derivation is simple, but security is weakened as different applications with same identifier can access same secrets
Solution Approach 1:
The derivation process merges multiple inputs: master key, application identifier, and binary code. This combination maintains operational simplicity through a unified derivation function while ensuring application-specific security through the unique binary component.
3Device complexity
If the same master key is used across application updates, then key management remains simple, but security risks increase as updated and old versions could both access secrets
Solution Approach 1:
The system dynamically adapts to application updates while maintaining the same master key. The binary code component changes with each application version, automatically updating the derived secret without requiring master key changes, thus maintaining simplicity while ensuring version-specific security.
4Reliability
If cryptographic secrets are stored in trusted execution environment, then security is improved, but access control becomes more complex
Solution Approach 1:
The system uses self-service through automatic secret derivation. The trusted execution environment automatically derives the correct secret for each application based on its identifier and binary code, eliminating the need for complex manual access control mechanisms while maintaining high security.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method can support device management. A trusted application can be deployed in a trusted execution environment on a device, wherein the trusted execution environment includes a trusted operating system (OS) and the trusted application is associated with an identifier. Then, the system can derive one or more secrets bound to said trusted application based on the identifier and a master key maintained by the trusted OS. Additionally, the secret derivation can take into account binary code/data for the trusted application. Thus, the system can prevent another trusted application in the trusted execution environment from retrieving said one or more secrets using the same identifier.