Secure Enclave Key Distribution for Edge Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveTLS session establishment speedVSAvoidPrivate key security
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImprovePrivate key securityVSAvoidTLS session establishment time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
ImproveTLS session establishment efficiencyVSAvoidPrivate key theft risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3552341B1Secure distribution of private keys for use by untrusted code
Publication Date: 2022.06.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3552341B1 patent drawingFigure 1
  • EP3552341B1 patent drawingFigure 2
  • EP3552341B1 patent drawingFigure 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.