TLS 1.3 was designed to be more secure. But deploying it on the real internet meant dealing with millions of devices that inspect, modify, or filter TLS traffic. These devices, called middleboxes, nearly derailed TLS 1.3.
Imagine youâre sending a sealed letter through the mail. Middleboxes are like nosy postal workers who open your letter, read it, maybe photocopy it, seal it back up, and send it on its way. Some do this for legitimate reasons (checking for anthrax). Some do it because their boss told them to. Either way, theyâre breaking the seal.
Middleboxes are network devices that sit between the client and server and inspect or modify traffic. They include:
Many of these devices were built to understand TLS 1.2. They parse the handshake messages, look at specific fields, and make decisions based on what they see. When TLS 1.3 changed those fields, the middleboxes broke.
Early TLS 1.3 deployments discovered that a significant percentage of connections failed because middleboxes were dropping or resetting connections with unfamiliar handshake patterns. The problems included:
To work around these broken middleboxes, TLS 1.3 was designed to look like TLS 1.2 on the wire. Itâs like a new employee wearing the old company uniform on their first day so the security guard doesnât turn them away.
supported_versions extension.This âmiddlebox compatibility modeâ is part of the TLS 1.3 specification. Itâs not optional. Every TLS 1.3 implementation must include these compatibility measures.
Middleboxes that inspect TLS traffic fundamentally conflict with TLSâs goal of end-to-end encryption. A corporate firewall that decrypts and re-encrypts TLS traffic is performing a man-in-the-middle attack, just an authorized one.
TLS 1.3âs encrypted handshake makes this harder. The serverâs certificate is encrypted, so a middlebox canât see which site the user is connecting to (beyond the SNI, which is still visible). This has led to tension between security teams that want to inspect traffic and privacy advocates who want true end-to-end encryption.
The industry is still working through this tension. Encrypted Client Hello (ECH) will encrypt the SNI too, making middlebox inspection even harder.