Secure Enclave Key Distribution for Edge Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content delivery networks (CDNs) face risks of private key compromise when edge servers are compromised, leading to potential theft of customer private keys, and existing solutions that avoid this risk by using key servers for decryption incur high costs and delays in TLS session establishment.
Innovation Solution
A secure key system that utilizes secure enclaves to securely store and manage private keys, where a quote generated by a secure enclave attests to trusted code and a second key, allowing the encryption and decryption of private keys within the secure enclave, thereby preventing untrusted code from accessing the keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If edge servers store private keys locally, then TLS session establishment is fast, but security is compromised when edge servers are attacked
Solution Approach 1:
The system segments the key management functionality by separating key storage from edge servers and placing it in dedicated key servers. Edge servers only store public keys and certificate information, while private keys remain securely stored on key servers. This segmentation allows edge servers to be fast and distributed while centralizing security in protected key servers.
Solution Approach 2:
The patent introduces key servers as intermediary components between edge servers and the public key infrastructure. Key servers act as mediators that securely store private keys and provide key management services to edge servers without requiring edge servers to store sensitive private key material locally.
2Reliability
If edge servers do not store private keys and use key servers for decryption, then security is improved, but roundtrip communications increase costs and delays
Solution Approach 1:
The system performs preliminary actions by pre-distributing public keys and certificate information to edge servers during initialization. This allows edge servers to have all necessary public key infrastructure information locally cached, eliminating the need for real-time key server communication during TLS session establishment, thus reducing latency while maintaining security.
Solution Approach 2:
The patent implements dynamic key caching mechanisms where edge servers can cache decrypted session keys and public key information locally after initial key server interactions. This dynamic approach allows the system to balance security (using key servers when needed) with performance (using local caches when safe), adapting to different operational contexts.
3Productivity
If edge servers store private keys, then no roundtrip to key server is needed, but any compromised edge server exposes all customer private keys
Solution Approach 1:
The patent extracts the private key storage function from edge servers and places it in dedicated key servers. Edge servers only retain public keys and session information, while private keys are extracted and stored securely on key servers. This extraction eliminates the security vulnerability of storing private keys on distributed edge servers while maintaining TLS functionality.
Solution Approach 2:
The system uses copying by distributing public keys and certificate information to multiple edge servers, allowing each edge server to have a local copy of public infrastructure data for fast access. Private keys remain as a single secure copy on key servers, while public key copies enable efficient TLS operations without exposing sensitive data.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A secure key system is described that distributes a private key of a key server to an edge server for encryption on behalf of an owner of the private key when establishing a session with a client. To distribute the private key, the key server receives from the edge server a quote generated by a secure enclave of the edge server. The quote attests to code of the secure enclave. The key server verifies the quote to ensure that the code of the secure enclave is trusted code. The key server encrypts the private key using a key of the edge server and sends the encrypted private key to the code of the secure enclave. The code of the secure enclave decrypts the private key using its key. Untrusted code of the edge server then requests the code of the secure enclave to perform cryptographic actions using the private key.