Back to Blog

TLS 1.3 Explained: What Changed and Why It Matters

TLS 1.3 won years ago. The interesting part now is what it quietly did to your certificate workload, and where the protocol is still moving in 2026: encrypted client hello, post-quantum key exchange and ever-shorter lifetimes.

CertGuard TeamSSL Security Experts8 min read
Two rack-mounted managed switches with rows of teal patch cables plugged into the panels above them and yellow fibre running down one side

TLS 1.3 won, and that's the boring part

You don't have to sell anyone on TLS 1.3 anymore. Every browser that matters speaks it, every serious web server ships it on by default, and the share of handshakes still falling back to 1.2 is a rounding error for most public sites. The protocol fight is over.

So this isn't a pitch. RFC 8446 landed in 2018 and it was the biggest rework of transport security in more than a decade. What's worth your attention in 2026 is subtler: the parts of TLS 1.3 that changed how you run certificates whether you noticed or not, and the handful of things about the handshake that are still in motion. Start with what the protocol threw away, because that's where the security actually came from.

What got deleted matters more than what got added

The headline of TLS 1.3 is subtraction. The working group looked at a decade of attacks and pulled out the primitives that kept enabling them.

Static RSA key exchange is gone. It never gave you forward secrecy, so a leaked server key meant every past session it ever protected could be decrypted after the fact. TLS 1.3 mandates ephemeral key exchange, so yesterday's traffic stays safe even if today's key leaks. CBC-mode ciphers are gone too, and with them BEAST, Lucky13 and POODLE. The protocol only speaks AEAD now, where encryption and authentication happen in one operation instead of being bolted together badly. TLS-level compression is gone, which closes CRIME. Renegotiation is gone. Custom Diffie-Hellman groups are gone, so nobody accidentally negotiates the 512-bit group that made Logjam work.

That last one has a modern echo. Weak key material doesn't stop being dangerous just because a protocol got stricter, and it shows up in places you don't expect. A 512-bit key that was laughable in 1999 is trivial today, which is the whole point of A 512-Bit CA Key from 1999 Fell to a Desktop in 32 Hours. When Did You Last Check Yours?.

The one round trip that changed everything

TLS 1.2 needed two round trips before a single byte of application data could move. TLS 1.3 cut that to one for a fresh connection. The client stops waiting politely for the server to pick parameters and instead sends its key shares in the very first message, betting correctly on what the server will accept.

One round trip you save sounds trivial. Multiply it by every connection, every CDN edge, every mobile client on a 200ms link, and it stops being trivial. This is also, quietly, part of why the industry felt comfortable shortening certificate lifetimes: cheaper handshakes make frequent reconnection and renewal less painful.

Resumed connections can go further, to zero round trips, sending early data before the handshake finishes. That's fast and it has a sharp edge. Early data is replayable, so it's fine for loading a page and dangerous for anything that changes state. The trap is real enough that it gets its own writeup in TLS 1.3 Zero-RTT Is Fast. It Also Breaks Your Security Model., and if you run a CDN the resumption mechanics in TLS 1.3 Session Resumption: Why Your CDN Cares More Than You are worth the detour.

Five cipher suites, and that's the feature

TLS 1.2 offered dozens of cipher suite combinations, a good chunk of them unsafe, and left you to curate the list by hand. Get it wrong and you shipped a weak config. TLS 1.3 supports five, all strong:

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_CCM_SHA256
TLS_AES_128_CCM_8_SHA256

In practice you'll almost only ever see the first three negotiated; the CCM pair is there for constrained devices. The win isn't the exact list. It's that there's no longer a weak option to accidentally leave on, which kills a whole category of downgrade attack. How the protocol defends the negotiation itself is the subject of Downgrade Attacks: How TLS 1.3 Stops Them (And Why Your Stack Might Not).

The handshake is encrypted now, mostly

In TLS 1.2 the handshake ran in the clear. Anyone on the path could read the server's certificate as it went by. TLS 1.3 encrypts the handshake once the initial key exchange is done, certificate included, so a passive observer can't see which cert you presented.

Note the "mostly." The one thing still leaking in a plain TLS 1.3 handshake is the server name in the ClientHello, the SNI field, which the client sends before any key exchange exists to protect it. Encrypted Client Hello is the fix, and adoption is uneven: the browsers largely support it, the server and CDN side is patchier, and it leans on DNS to publish the config. If you assumed TLS 1.3 already hid which site you're visiting, TLS 1.3 Encrypted SNI: Why Your Traffic Still Leaks (And How to Fix It) is the correction.

What TLS 1.3 quietly did to your certificate workload

Here's the part that lands on your desk. TLS 1.3 didn't change that certificates expire, need a valid chain, and need watching. It changed the tempo around them.

Cheaper handshakes and a cleaner protocol removed the excuses for long-lived certs, and the CA/Browser Forum ran with it. Maximum public certificate lifetimes are on a fixed march down toward 47 days, which turns renewal from a calendar reminder into a pipeline that has to work unattended, a shift laid out in SSL Certificate Lifetimes Drop to 47 Days by 2029. Here's Your Migration Window.. Once renewal has to be hands-off, how you prove domain control every few weeks becomes the load-bearing question, which is exactly why the DNS validation story is moving so fast. The persistent DNS challenge that takes credentials out of the renewal path is covered in DNS-Persist-01 Is Almost Here. Here's What It Actually Changes., and the security fix that reshaped its record format in September is in The dns-persist-01 Record Just Changed Shape. Your Account Key Is the Anchor Now..

The protocol got simpler. The operations around the certificate got busier. That trade is the real legacy of TLS 1.3 for anyone running production.

Where the protocol is actually moving in 2026

TLS 1.3 is stable, but the ground under it isn't. Two things are worth tracking.

Post-quantum key exchange has gone from slideware to shipped. Hybrid schemes that pair X25519 with the ML-KEM lattice KEM are negotiated by default in current browsers and OpenSSL builds, which means a meaningful slice of your TLS 1.3 handshakes are already post-quantum on the key-exchange side. Your certificates are not, and that gap is the whole point of Your Key Exchange Went Post-Quantum. Your Certificates Didn't..

The other direction is cleanup. TLS 1.2 isn't being switched off, but it's being frozen and narrowed, with RSA and DHE key exchange formally retired from it so ECDHE is what's left, the change tracked in RFC 10015 Just Retired RSA and DHE in TLS 1.2. ECDHE Is What's Left.. The direction of travel is the same everywhere: fewer options, stronger defaults, less room to misconfigure.

What to actually check on your endpoints

Confirm your servers negotiate TLS 1.3, which most modern builds do without being asked. Turn off TLS 1.1 and below if you somehow still have them on; the browsers dropped support years ago. Check that your endpoints prefer ECDHE and, if you care about the SNI leak, look at whether Encrypted Client Hello is actually deployed on your edge rather than just theoretically supported.

Then keep watching the certificates, because the best protocol on earth doesn't help you when a cert expires quietly at 2am. CertGuard checks expiry dates and the live TLS configuration of your endpoints, so a downgrade to a weaker setup or an approaching expiry reaches you before your users do. It's free for your first five domains, and you can see the plans on the pricing page.

Frequently asked questions

Is TLS 1.2 insecure now that TLS 1.3 exists? No. A well-configured TLS 1.2 endpoint using ECDHE and AEAD ciphers is still safe, which is why nobody is force-disabling it. The gap is that TLS 1.2 lets you configure yourself into a weak state, while TLS 1.3 removed most of those options. Recent work has also retired RSA and DHE key exchange from TLS 1.2, pushing everyone toward ECDHE.

Does TLS 1.3 hide which website I'm connecting to? Not by itself. It encrypts the certificate in the handshake, but the server name in the ClientHello still goes out in the clear unless Encrypted Client Hello is deployed on both ends. Base TLS 1.3 protects what certificate you got, not which host you asked for.

Should I enable 0-RTT for the performance win? Only with care. Zero round-trip early data is replayable, so it's acceptable for idempotent requests like page loads and unsafe for anything that changes server state. If you can't cleanly separate those, leaving 0-RTT off is the defensible choice.

Are my TLS 1.3 connections already post-quantum? The key exchange might be. Current browsers and OpenSSL builds negotiate hybrid X25519 plus ML-KEM by default, so the session-key part of many handshakes is already quantum-resistant. The certificate signatures are still classical, so the authentication side has not moved yet.

Did TLS 1.3 make certificate monitoring less important? The opposite. Cheaper handshakes helped justify shorter certificate lifetimes, and shorter lifetimes mean more renewals, more automation, and more places a renewal can fail silently. The protocol handles the encryption; it does nothing to tell you a certificate is about to expire.

Related posts

Never miss an expiring certificate again

CertGuard watches your SSL certificates and domains, and alerts you long before anything expires. Free for your first five domains.