Local Trusted Execution Environment Attestation with Shared Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for attesting Trusted Execution Environments (TEEs) face inefficiencies due to the need for remote attestation of each TEE, especially in dynamically varying environments with a large number of ephemeral and stateless TEEs, leading to excessive communication overhead and challenges in securely populating TEEs with sensitive information.
Innovation Solution
A method and system for local attestation between TEEs on the same node, using a shared key obtained from a third TEE on a different node, allowing efficient and secure population of TEEs with minimal reliance on remote attestation, especially in cloud environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If remote attestation is performed for each TEE in a dynamically varying environment, then security is ensured, but communication overhead increases and efficiency decreases
Solution Approach 1:
The system performs preliminary remote attestation only once for each TEE when it is first created or migrated. The attestation result (attestation token) is cached and reused for subsequent operations, eliminating the need for repeated remote attestation procedures while maintaining security guarantees.
Solution Approach 2:
Instead of performing full remote attestation repeatedly, the system creates and uses copies of the initial attestation results. The attestation token obtained once is replicated and used for multiple verification purposes, reducing communication overhead while preserving security.
2Reliability
If remote attestation is performed for each TEE, then attestation completeness is ensured, but communication overhead and time consumption increase
Solution Approach 1:
The system performs the time-consuming remote attestation procedure once in advance when the TEE is created, obtaining the attestation token beforehand. This preliminary action ensures completeness while avoiding repeated time consumption for the same verification.
Solution Approach 2:
Instead of continuous or frequent remote attestation, the system uses periodic verification based on cached attestation tokens. The actual remote attestation occurs periodically when needed (e.g., on TEE creation or migration), while intermediate verifications use local token checks.
3Adaptability or versatility
If a large number of TEEs are populated with security sensitive information, then system functionality is enhanced, but the complexity of secure population increases
Solution Approach 1:
The TEEs automatically obtain their own attestation tokens and use them to securely access the key handling mechanism. Each TEE performs self-verification using its cached token, eliminating the need for complex external verification procedures for each TEE population operation.
Solution Approach 2:
The key handling mechanism acts as an intermediary between TEEs and secure storage. TEEs use their attestation tokens to authenticate with this intermediary, which then grants access to security-sensitive information without requiring direct complex verification between each TEE and the storage system.
Data Source
Figure 1~2
Figure 3
Figure 4~9
AI summary
There is provided mechanisms for attesting a first TEE residing on a first node. A method is performed by a second TEE also residing on the first node. The method comprises obtaining a request from the first TEE to be attested. The method comprises, in response thereto, obtaining a shared key from a third TEE residing on a second node. The method comprises performing local attestation of the first TEE, whereby the first TEE is provided with the shared key from the second TEE.