Trusted Execution Environment Key Storage for Private Client Links
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Secure computing environments face challenges in protecting communication data from unauthorized access by servers hosting untrusted processes, as existing cryptographic techniques may not prevent servers from accessing plaintext communications.
Innovation Solution
Implementing a secure computing environment with a trusted execution environment (e.g., enclave) that generates and maintains private keys within the secure module, using public keys for encrypted communication, and employs attestation mechanisms to verify the authenticity of the secure software, ensuring only the secure module can decrypt and access sensitive data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cryptographic techniques are used to protect data communication between client and server, then data encryption is achieved, but the server can still access plaintext communications because the encryption keys are managed outside the secure environment
Solution Approach 1:
The patent extracts the private key generation and storage function from the server's external processes and relocates it inside the secure computing environment (enclave). The enclave generates and stores private keys internally, ensuring that even though the server hosts the enclave, it cannot access the plaintext communications because the decryption capability remains isolated within the secure boundary.
Solution Approach 2:
The patent segments the communication security architecture into distinct components: the secure computing environment (enclave) that handles cryptographic operations and data storage, and the server processes that handle communication but remain isolated from the enclave's internal state. This segmentation ensures that the server cannot access plaintext data even though it hosts the enclave.
2Adaptability or versatility
If the server hosts untrusted processes, then server functionality is maintained, but the server can potentially manipulate or observe communications with clients
Solution Approach 1:
The patent implements a nested architecture where the secure computing environment (enclave) is embedded within the server process structure. The enclave acts as a nested secure container that generates and manages its own cryptographic keys independently, while the server process hosts the enclave without having direct access to its internal state or communications.
Solution Approach 2:
The enclave serves as an intermediary between the server processes and client communications. It mediates cryptographic operations by generating keys internally and providing encrypted communication interfaces to clients, while maintaining isolation that prevents server processes from observing or manipulating the plaintext communications.
3Ease of operation
If private keys are stored outside the secure environment for ease of access, then key management is simplified, but the keys become vulnerable to unauthorized access and manipulation
Solution Approach 1:
The patent extracts the private key storage function from external server memory and relocates it inside the secure computing environment's isolated memory space. The enclave maintains its own private keys internally, ensuring they are protected from server process access while still enabling the enclave to perform cryptographic operations for client communications.
Data Source
AI summary
A secure module can be configured to: provide the trusted execution environment; and load secure-software for processing in the trusted execution environment to perform operations. The operations can include generating a private key and a corresponding public key; maintaining the private key in the trusted execution environment; receiving at least one attestation request from at least one attestation server; responding to the received attestation requests with attestation responses generated with the private key; initiating encrypted connections with client devices using the private key, the encrypted connections having an endpoint within the trusted execution environment such that contents of the encrypted connections are secure from observation and manipulation by other operations outside of the secure module and outside of the client devices; and communicating data with the client devices through the encrypted connections.


