TLS 1.3 and QUIC Key Sharing for Firewall Inspection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices such as firewalls struggle to inspect and decrypt TLS 1.3 and QUIC traffic due to pre-shared keys being negotiated outside the enterprise network, leading to difficulties in session management and vulnerability to replay attacks without modifying applications.
Innovation Solution
Implementing a proxy on the client device managed by an enterprise that maintains TLS 1.3 or QUIC sessions, sharing keys with a secure database accessible by enterprise firewalls, allowing decryption and inspection without terminating sessions, and using a hash table to prevent replay attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If pre-shared keys are used for 0-RTT connection resumption, then connection speed is improved, but network devices cannot decrypt traffic as they do not possess the keys
Solution Approach 1:
A key distribution server is introduced as an intermediary between the client device and network devices. The server receives pre-shared keys from the client, stores them securely, and provides them to network devices when needed. This mediator enables network devices to access encryption keys without compromising the 0-RTT connection speed benefit.
Solution Approach 2:
The system performs preliminary actions by pre-negotiating and storing keys with the key distribution server before the actual connection occurs. When a connection needs to be resumed, the key is already available to both the client and network devices, enabling immediate decryption without requiring key exchange at connection time.
2Difficulty of detecting and measuring
If TLS proxy solutions replace pre-shared keys on the fly, then traffic inspection capability is improved, but the mechanism fails with 0-RTT keys negotiated outside the enterprise network
Solution Approach 1:
Instead of attempting to replace keys on the fly during connection establishment, the system performs preliminary key collection and storage before the connection occurs. The key distribution server receives and stores pre-shared keys in advance, making them available for inspection when traffic needs to be monitored, thus working with 0-RTT keys negotiated outside the enterprise network.
3Reliability
If applications modify support for 0-RTT messages to prevent replay attacks, then security is improved, but productivity is reduced due to slower transactions
Solution Approach 1:
The key distribution server acts as an intermediary that handles replay attack prevention centrally. It maintains a record of previously sent messages and compares incoming messages against this history, detecting replays without requiring application-level modifications. This preserves the speed benefit of 0-RTT connections while providing robust replay attack prevention.
Solution Approach 2:
The system replaces the mechanical approach of modifying application code with a centralized server-based solution. Instead of changing application logic to detect replays, the key distribution server uses its stored message records to identify and block replay attempts, substituting application-level processing with a dedicated security service.
4Reliability
If applications are modified to detect replay attacks, then security is improved, but device complexity increases
Solution Approach 1:
The key distribution server serves as a centralized intermediary that handles replay attack detection externally to the applications. It maintains a database of previously sent messages and compares incoming traffic against this history, eliminating the need for applications to implement complex replay detection logic while maintaining strong security.
Data Source
AI summary
Techniques are described for providing data such as, for example, keys, connection identifiers, and hashes to network devices using a secure database in order to facilitate client devices remaining connected or reconnecting with network sites when the client device moves among networks and to prevent replay attacks. For example, a method may include receiving, by a network device of a first network, encrypted traffic destined for a network site via the first network from a client device. The method may also include retrieving, by the network device from a database, data related to a previously established connection via a second network of the client device to the network site. In configurations, the data is received by the database from a proxy on the client device. The method may further include based at least in part on the data, passing, by the network device, the encrypted traffic to the network site.


