SSL/TLS Proxy Using Ephemeral Diffie-Hellman for Forward Secrecy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In content delivery networks (CDNs), customers are hesitant to share their private TLS keys with service providers, and there is a requirement for data to remain undecrypted and verifiably authentic throughout transactions, posing challenges in secure key management and forward secrecy.
Innovation Solution
Implementing an RSA proxy service that offloads decryption of encrypted pre-master secrets to an external server, using Ephemeral Diffie-Hellman RSA key exchange to secure keying material without requiring private keys on the server, ensuring forward secrecy and preventing replay attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If private TLS keys are stored on the CDN termination point, then decryption of encrypted pre-master secrets can be performed locally, but private key exposure risk increases and forward secrecy is compromised
Solution Approach 1:
The patent extracts the private key from the CDN termination point and stores it only in the key server. The termination point retains only the public key and certificate, eliminating the security risk of private key exposure while maintaining decryption functionality through the key server architecture.
Solution Approach 2:
The patent introduces a key server as an intermediary between the client and CDN termination point. The key server handles private key storage and decryption operations, allowing the termination point to perform decryption without locally storing the private key, thus resolving the contradiction between operational ease and security.
2Device complexity
If RSA key exchange is used, then simplified key management is achieved, but forward secrecy is lost and replay attacks become possible
Solution Approach 1:
The patent segments the key exchange process into two parts: RSA for authentication and certificate verification, and Ephemeral Diffie-Hellman (EDH) for generating forward-secret pre-master secrets. This segmentation allows simplified key management through RSA while maintaining forward secrecy through EDH's ephemeral key pairs.
Solution Approach 2:
The patent combines RSA and Ephemeral Diffie-Hellman into a hybrid key exchange mechanism. RSA provides authentication and certificate-based key management, while EDH provides forward secrecy through temporary key pairs that are discarded after use, achieving both simplified management and security.
3Productivity
If private keys are shared with CDN service provider, then TLS termination can be performed by CDN, but customer data privacy and authenticity requirements cannot be met
Solution Approach 1:
The patent extracts the private key from the customer's control and stores it exclusively in the CDN operator's key server. This allows the CDN to perform TLS termination without the customer needing to share their private key, meeting both productivity requirements and data authenticity concerns through architectural separation.
Solution Approach 2:
The key server acts as an intermediary that enables TLS termination by the CDN while maintaining customer data authenticity. The key server holds the private key and performs decryption operations, allowing the CDN to terminate TLS connections without direct access to customer private keys, thus preserving data authenticity while enabling productivity.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
An infrastructure delivery platform provides a proxy service as an enhancement to the TLS/SSL protocol to off-load to an external server the generation of a digital signature, the digital signature being generated using a private key that would otherwise have to be maintained on a terminating server. Using this service, instead of digitally signing (using the private key) "locally," the terminating server proxies given public portions of ephemeral key exchange material to the external server and receives, in response, a signature validating the terminating server is authorized to continue with the key exchange. In this manner, a private key used to generate the digital signature (or, more generally, to facilitate the key exchange) does not need to be stored in association with the terminating server. Rather, that private key is stored only at the external server, and there is no requirement for the pre-master secret to travel (on the wire).