Trusted Execution Environment Secure Trust Anchor Provisioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In scenarios where entities need to establish trust among themselves without a certificate authority, ensuring the security of public keys is challenging due to the risk of malware modifying or introducing false keys, which can lead to adversaries being trusted.
Innovation Solution
A system and method for securely provisioning trust anchors using a local computing device with a trusted execution environment, database key generator, and biometric verification, establishing secure connections through protocols like SIGMA Sign-and-MAC, and managing cryptographic keys to prevent unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If entities store public keys in a key database without a certificate authority, then trust relationships can be established directly between entities, but the security of public keys is compromised due to malware risk
Solution Approach 1:
The system separates public key storage from general file system access by implementing a dedicated key database with restricted access permissions. The trusted execution environment creates isolated storage structures where public keys are stored separately from other data, allowing trust relationships to be established while preventing malware from accessing or modifying keys through normal file operations.
Solution Approach 2:
The trusted execution environment acts as an intermediary layer between the key database and the rest of the system. It provides controlled access to public keys through authenticated sessions, allowing entities to establish trust relationships without exposing the key database to general system access. The TEE verifies entity credentials and manages key access permissions, preventing unauthorized modification while enabling legitimate trust establishment.
2Ease of operation
If public keys are stored with standard file system permissions, then key access is simple and fast, but malware can modify or introduce false keys to the key database
Solution Approach 1:
The system applies different security characteristics to different parts of the system. The key database is created with specialized security attributes including restricted permissions, encryption, and isolation within the trusted execution environment. These local security enhancements protect the key database from malware while allowing simple access patterns for authenticated operations within the TEE.
Solution Approach 2:
The key database implementation combines multiple security mechanisms: encrypted storage, restricted file permissions, trusted execution environment isolation, and authenticated access control. This composite approach layers multiple protective measures to prevent malware modification while maintaining ease of operation for legitimate key access through the TEE's managed interface.
3Ease of operation
If entities use PKI schemes with certificate authorities, then trust anchor validation is simplified, but third party involvement is required which may not be acceptable for anonymous interactions
Solution Approach 1:
The system extracts the trust anchor validation function from the certificate authority model and implements it directly within the trusted execution environment. Entities can validate each other's public keys through direct TEE-mediated authentication without involving external CAs. This extraction enables both simplified validation (through direct TEE verification) and anonymity (by removing the centralized authority that would identify participants).
Data Source
AI summary
A method and device for securely provisioning trust anchors includes generating a database wrapper key as a function of computing device hardware. The database wrapper key encrypts a key database when it is not in use by a trusted execution environment and may be generated using a Physical Unclonable Function (PUF). A local computing device establishes a secure connection and security protocols with a remote computing device. In establishing the secure connection, the local computing device and remote computing device may exchange and/or authenticate cryptographic keys, including Enhanced Privacy Identification (EPID) keys, and establish a session key and device identifier(s). One or more trust anchors are then provisioned depending on whether unilateral, bilateral, or multilateral trust is established. The local computing device may act as a group or domain controller in establishing multilateral trust. Any of the devices may also require user presence to be verified.


