Module 20 of 45 · Applied

What TLS protects, and where it fits

30 min 4 outcomes Scenario quiz

By the end of this module you will be able to:

  • Describe the TLS 1.3 handshake, certificate chain validation, and what TLS actually protects
  • Explain forward secrecy, mTLS, and certificate transparency
  • Diagnose common TLS errors by matching symptom to root cause
  • State the current maximum lifetime of a public TLS certificate and explain why automated issuance is now the only workable practice

Real-world vulnerability · April 7, 2014

Heartbleed: a memory leak in the TLS library that protected half the internet

On April 7, 2014, researchers at Codenomicon and Google Security disclosed CVE-2014-0160, a memory buffer over-read bug in the OpenSSL implementation of the heartbeat extension. The vulnerability was named Heartbleed.

The heartbeat extension allows a TLS peer to send a small "I am still here" message and get a copy echoed back. The vulnerable code did not validate that the reply length field matched the actual data length. An attacker could claim they sent 64 KB of data when they sent 1 byte. OpenSSL would copy 64 KB from process memory and send it back, exposing whatever happened to be there: private keys, session tokens, passwords, plaintext contents.

Heartbleed illustrates a critical boundary. TLS protects data in transit between the two endpoints. It does not protect against bugs in the implementation of those endpoints. A vulnerability in the TLS library itself can expose everything TLS was designed to protect, without the attacker breaking any cryptographic primitive. Implementation quality is a separate concern from protocol design.

TLS was protecting the connection. The certificate was valid. The handshake completed. Encryption was in place. Yet private keys, passwords, and session tokens were being leaked in plaintext. How is that possible?

TLS placement differs between TCP and QUIC paths

HTTP/2 over TCP and HTTP/3 over QUIC tag the same layers ENCRYPTED and the same ones VISIBLE, so the placement of TLS buys nothing in coverage and everything in time: 2 RTT to the first encrypted byte over TCP against 1 RTT when QUIC folds the handshakes together.

TLS protects the same bytes in both stacks. The difference is round trips: TCP plus TLS 1.3 needs 2 RTT to first encrypted byte; QUIC integrates TLS into one handshake and reaches 1 RTT, or 0 RTT on repeat.

TLS placement differs; the protection is the same; the round trips are not Two side-by-side five-layer stacks. The left stack HTTPS over TCP shows HTTP, TLS 1.3 (emphasised separate layer), TCP, IP, Link. The right stack HTTP/3 over QUIC shows HTTP/3, QUIC + TLS 1.3 integrated (emphasised), UDP, IP, Link. Each layer has an ENCRYPTED or VISIBLE status tag on its right edge. Below the stacks a time-to-first-encrypted-byte timeline shows the TCP path needs TCP handshake plus TLS handshake (2 RTT) before the first encrypted byte; the QUIC path completes both in one handshake (1 RTT, or 0 RTT on resumption). RFC 8446 + RFC 9293 HTTPS over TCP HTTP headers and body ENCRYPTED TLS 1.3 separate handshake above TCP ENCRYPTED TCP reliable byte stream VISIBLE IP src/dst addresses visible VISIBLE Link Ethernet, Wi-Fi VISIBLE RFC 9001 + RFC 9114 HTTP/3 over QUIC HTTP/3 headers and body ENCRYPTED QUIC + TLS 1.3 integrated transport + crypto in one handshake ENCRYPTED UDP datagram substrate VISIBLE IP src/dst addresses visible VISIBLE Link Ethernet, Wi-Fi VISIBLE TIME TO FIRST ENCRYPTED BYTE TCP SYN/SYN-ACK 1 RTT TLS 1.3 hello+share 1 RTT first encrypted byte HTTPS over TCP 2 RTT QUIC + TLS 1.3 handshake 1 RTT first encrypted byte HTTP/3 over QUIC 1 RTT (0 RTT on resumption)

TLS protects the channel, not every system risk

Every property in the left column belongs to bytes while they are in transit, so the right column is not a weakness in TLS but the set of questions a valid certificate never answers, including whether the operator you reached deserves trust.

TLS gives confidentiality, integrity, and server identity for bytes in transit. It does not stop a buggy endpoint from leaking keys, nor does it certify that the server you reached deserves your trust.

TLS draws a line in transit. The endpoint and the application live outside that line. Two side-by-side columns with the same row scale. The left column PROTECTS (emphasis) titled 'TLS gives you' lists four properties: Confidentiality of transit bytes (RFC 8446 §5.2), Integrity of transit bytes (§5.2), Server identity with mTLS option (§4.4.2), Forward secrecy via ECDHE (§4.1.2). The right column DOES NOT PROTECT titled 'TLS will not stop' lists four boundaries: Endpoint implementation bugs (Heartbleed CVE-2014-0160), Application logic and content, Trustworthiness of the operator (phishing sites use valid certs), Data at rest after decryption (NIST SP 800-52). PROTECTS TLS gives you Confidentiality of transit bytes AES-GCM / ChaCha20-Poly1305 keep payload secret from observers. RFC 8446 §5.2 Integrity of transit bytes Any tamper between client and server is detected by the AEAD tag. RFC 8446 §5.2 Server identity (and client with mTLS) CA-signed certificate proves which hostname you reached. RFC 8446 §4.4.2 Forward secrecy Ephemeral ECDHE means a future key compromise does not decrypt past sessions. RFC 8446 §4.1.2 DOES NOT PROTECT TLS will not stop Endpoint implementation bugs Heartbleed (CVE-2014-0160) leaked 64 KB of process memory per request. OPENSSL ADVISORY 2014 Application logic and content TLS does not validate the request body, the SQL, or the rendered page. APPLICATION CONTROLS Trustworthiness of the operator Phishing sites and malware C2 servers use valid certificates too. RFC 6962 CT HELPS Data at rest on either endpoint Once decrypted, the bytes live in process memory, logs, and disk. NIST SP 800-52

18.1 Where TLS sits in the stack

TLS (Transport Layer Security) sits between the transport layer and the application layer in the common HTTPS over TCP case. The application sends data to TLS. TLS encrypts and authenticates it. TCP carries the ciphertext.

Version 1.3 was published as RFC 8446 in 2018 and revised as RFC 9846, July 2026. The revision obsoletes RFC 8446 and keeps the protocol version at 1.3, so nothing on the wire changes name: it is a tightened specification of the same protocol, not TLS 1.4. Two changes are worth knowing because they close doors that implementations had left open. RFC 9846 forbids reusing a KeyShare across handshakes, which removes a class of implementation shortcut that quietly weakened forward secrecy, and it bans negotiating TLS 1.0 and TLS 1.1 outright rather than leaving their exclusion to policy. Cite RFC 9846 as the current specification and treat a document that still cites 8446 alone as out of date.

In HTTP/3, TLS 1.3 is integrated into the QUIC handshake. The cryptographic handshake is not separate from the transport handshake. This means QUIC achieves an encrypted connection in fewer round trips than TCP plus TLS 1.3 separately.

TLS provides three properties once the handshake completes. Confidentiality: the data is encrypted and not readable by observers. Integrity: data cannot be modified in transit without detection. Authentication: one or both peers prove their identity via certificates. The most common case authenticates the server only. authenticates both peers.

TLS also has a metadata boundary. TLS 1.3 encrypts the certificate after the early handshake, but many deployments still expose the intended hostname in SNI. , defined in RFC 9849, can hide the real ClientHello and SNI when the client, DNS, and server deployment all support it.

Those three properties are promises the protocol makes once the handshake has finished. What the handshake itself costs, and how few round trips it now takes to get there, is the difference between a page that feels instant and one that does not.

18.2 The TLS 1.3 handshake

TLS 1.3 reduced the handshake to one round trip (1-RTT). The client sends a ClientHello with supported cipher suites and key share data. The server responds with a ServerHello, its key share, a certificate, and a certificate verify message in a single flight. After the client validates the certificate and verifies the server's signature, the handshake is complete and application data can flow.

TLS 1.2 required two round trips for a full handshake. The reduction to 1-RTT in TLS 1.3 was achieved partly by removing insecure cipher suites that required additional negotiation messages and by making key exchange part of the initial hello.

For repeat connections, TLS 1.3 supports 0-RTT (zero round-trip) resumption using a pre-shared session ticket. The client can send application data in the first message, before the handshake completes. This is fast but has a replay caveat: 0-RTT data is vulnerable to replay attacks, so it should only be used for requests that are safe to replay (GET requests, not POST requests with side effects).

One flight of that handshake carries the server's certificate, and the client cannot use any of the keys it has just derived until it has decided whether that certificate really belongs to the name it asked for. That decision is where most of the errors people meet in production come from.

18.3 Certificates and certificate chain validation

A TLS certificate binds a public key to an identity (a hostname) and is signed by a certificate authority (CA). When a client receives a server's certificate, it validates the : the certificate was signed by an intermediate CA, which was signed by a root CA that the client's trust store considers authoritative.

Validation checks include: the hostname in the certificate matches the hostname in the request (Subject Alternative Names), the certificate has not expired, the certificate has not been revoked (checked via CRL or OCSP), and the cryptographic signature is valid.

(CT) adds public, append-only audit logs for certificate issuance. RFC 6962 defined the original experimental CT design; RFC 9162 defines Certificate Transparency Version 2.0. Browser and certificate authority policies are what turn CT from a logging mechanism into a deployment requirement for public web certificates. CT allows domain owners and security researchers to detect misissued certificates.

Validation of this kind settles who you are talking to right now. It says nothing about what happens to the traffic if the private key behind that certificate is stolen next year, which is a separate property with a separate mechanism.

18.4 Forward secrecy and cipher suites

Forward secrecy (more precisely, forward secrecy is sometimes called perfect forward secrecy or PFS) means that the compromise of long-term keys does not expose past session recordings. TLS 1.3 requires forward secrecy. Every handshake uses ephemeral key exchange (ECDHE, elliptic curve Diffie-Hellman ephemeral), meaning a fresh key pair is generated for each session and discarded afterwards.

TLS 1.2 allowed non-forward-secret cipher suites using RSA key exchange. If an attacker recorded encrypted TLS 1.2 traffic and later obtained the server's private key, they could decrypt all recorded sessions. TLS 1.3 removes this risk by mandating ephemeral key exchange.

mTLS (mutual TLS) is TLS where both the client and server present certificates. The server validates the client certificate, not just the server certificate. This is used for service-to-service authentication in internal systems and API authentication where you want cryptographic proof of caller identity.

Both sides of an mTLS deployment hold certificates, and so does every public web server in the module so far. How long each of those certificates stays valid is no longer the annual figure most runbooks still assume.

18.5 Certificates now expire in months

The CA/Browser Forum approved ballot SC-081v3 on 11 April 2025, which sets a published schedule for cutting the maximum validity of a publicly trusted TLS certificate. From 15 March 2026 the maximum is 200 days. From March 2027 it drops to 100 days. From March 2029 it drops to 47 days. The same ballot shortens how long the domain validation data behind an issuance may be reused, so the verification work shrinks on the same curve as the certificate.

A 47-day certificate cannot be managed the way a one-year certificate was. Renewal stops being an annual calendar entry that a named person owns and becomes a process that runs every few weeks, on every host and every load balancer, including the ones nobody remembers. Any manual step in that process becomes an outage waiting for a holiday.

, specified in RFC 8555, is the protocol that makes the schedule survivable. A client proves control of the domain, the CA issues, and the same exchange handles renewal and revocation without a human filling in a form. Under the new lifetimes it stops being an efficiency and becomes the baseline: an estate that cannot issue and install a certificate unattended is an estate that will start expiring certificates in production.

The practical checks follow from the dates. Know which certificates in your estate are publicly trusted, because private internal CAs are outside this schedule and can keep longer lifetimes. Know which of the public ones are still renewed by hand. Know that a certificate issued the day before a threshold keeps its full issued lifetime, so the change arrives on your estate gradually rather than all at once, which is exactly how it catches teams out.

Certificate lifetimes collapse on a published schedule

Every date was published in advance, so the schedule is not a surprise but a countdown: each cut shortens an interval that ACME renewal simply repeats, while the manual path holds at 200 days, strains at 100, and runs out of road at 47.

CA/Browser Forum ballot SC-081v3, approved 11 April 2025, cuts the maximum validity of a public TLS certificate to 200 days from 15 March 2026, 100 days from March 2027 and 47 days from March 2029.

Certificate lifetimes collapse on a published schedule A vertical timeline. Each row pairs a date card with the event beside it, and a labelled arrow runs down the spine. 11 April 2025: the CA/Browser Forum approves ballot SC-081v3, publishing the schedule in advance. 15 March 2026: maximum validity for a public TLS certificate becomes 200 days. March 2027: 100 days. March 2029, emphasised: 47 days, a renewal roughly every few weeks. The spine ends at an automation gate asking whether a certificate can be issued and installed with no human step. Two labelled paths leave it: ACME automation renewing unattended, and a calendar entry that runs out of road. 11 April 2025 approved CA/BROWSER FORUM BALLOT SC-081v3 The schedule is published, years ahead of the first cut Every date below was known from this point. The same ballot alsoshortens how long the domain validation data behind an issuance may bereused. 15 March 2026 in force MAXIMUM VALIDITY 200 DAYS A public certificate may live 200 days Renewal comes round under twice a year. A calendar entry with a namedowner still just about holds together. March 2027 scheduled MAXIMUM VALIDITY 100 DAYS The maximum drops to 100 days Now it is a quarterly job across every host, load balancer andappliance that terminates TLS, including the ones nobody remembers. March 2029 scheduled MAXIMUM VALIDITY 47 DAYS The maximum drops to 47 days A 47 day certificate is renewed roughly every few weeks. There is noversion of that which a person does by hand across an estate. THE AUTOMATION GATE Can this certificate be issued and installed with no human step? Answer it per certificate, not per estate: privately trusted internal CAs sit outside thisschedule and may still issue for longer. NO HUMAN IN THE PATH ACME issues and renews unattended ACME automation proves control of thedomain, issues, installs and does it againbefore the next expiry. Each cut in theschedule arrives as a shorter interval andnothing else. A PERSON STILL RENEWS The calendar entry runs out of road It survives 200 days and strains at 100. At47 days the same manual step repeats everyfew weeks on every host, and one missedrepeat expires a certificate in production. published in advance, not sprung on anyone renewal moves to about every three months renewal moves to roughly every few weeks which is where the manual step runs out of room renewal runs unattended a person still has to act

Common misconception

HTTPS means the site is safe.

TLS authenticates the server name and encrypts the channel. That is the whole promise. It says nothing about whether the operator is honest, the content is safe, or the application behind the name was built competently. Phishing sites hold valid certificates as a matter of routine, because proving control of a domain is exactly what a phishing operator can do, and the padlock reports that proof rather than any judgement about the site. Read the name in the address bar, not the icon next to it.

18.6 Check your understanding

A user sees a 'certificate not trusted' warning. The certificate is valid and not expired. What could cause this?

A TLS 1.3 connection was established in 2024. In 2026, the server's private key is compromised. Can an attacker decrypt the 2024 session recordings?

An internal microservice needs to ensure that only authorised client services can call its API, with cryptographic proof of identity. Which TLS feature is appropriate?

A publicly trusted certificate is issued for your marketing site in June 2026, and the renewal is done by hand. Under the SC-081v3 schedule, what should you plan for?

A user reports a phishing site and adds that it 'must be legitimate because it has the padlock'. What does the padlock actually tell them?

Loading interactive component...

Core distinctions

  • TLS provides confidentiality, integrity, and authentication for data in transit. It does not protect against vulnerabilities in the endpoint's implementation, as Heartbleed demonstrated.
  • TLS 1.3 is specified by RFC 9846, July 2026, which obsoletes RFC 8446 while keeping the protocol version at 1.3, forbids KeyShare reuse, and bans negotiating TLS 1.0 and 1.1.
  • TLS 1.3 completes the handshake in one round trip and mandates forward secrecy via ephemeral key exchange. Past sessions cannot be decrypted even if long-term keys are later compromised.
  • Maximum public certificate validity is 200 days from 15 March 2026, 100 days from March 2027 and 47 days from March 2029 under CA/Browser Forum ballot SC-081v3. ACME issuance is now core practice rather than an optimisation.
  • Certificate validation checks hostname match, expiry, revocation status, and the full signing chain to a trusted root CA. A 'not trusted' error is almost always a chain problem.
  • mTLS authenticates both endpoints. Certificate Transparency makes certificate issuance auditable. ECH can hide SNI where deployed. HTTPS confirms the server name and transport encryption, not the trustworthiness of the site or its operator.

Standards and sources cited in this module

  1. RFC 9846, The Transport Layer Security (TLS) Protocol Version 1.3

    Abstract; changes from RFC 8446

    The current TLS 1.3 specification, published July 2026. It obsoletes RFC 8446, keeps the protocol version at 1.3, forbids KeyShare reuse and bans negotiating TLS 1.0 and 1.1. Cited throughout Section 18.1.

  2. RFC 8446, The Transport Layer Security (TLS) Protocol Version 1.3, revised as RFC 9846, July 2026

    Section 2, Protocol Overview; Section 4.1, Key Exchange Messages

    The 2018 specification of TLS 1.3, the 1-RTT handshake, 0-RTT resumption and the forward secrecy requirement. Paraphrased in Section 18.2. Superseded by RFC 9846 and retained here because most deployment documentation still refers to it.

  3. CA/Browser Forum ballot SC-081v3, Introduce Schedule of Reducing Validity and Data Reuse Periods

    Approved 11 April 2025

    The source for the certificate lifetime schedule in Section 18.5: 200 days from 15 March 2026, 100 days from March 2027, 47 days from March 2029, with domain validation data reuse shortening alongside.

  4. RFC 8555, Automatic Certificate Management Environment (ACME)

    Section 1, Introduction; Section 7, Certificate Management

    Defines the protocol behind unattended issuance, renewal and revocation. Referenced in Section 18.5 as the practice the shortened lifetimes now require.

  5. RFC 9162, Certificate Transparency Version 2.0

    Section 1, Introduction; Section 2, Cryptographic Components

    Defines the current Certificate Transparency Version 2.0 specification. Referenced in Section 18.3 for the audit-log mechanism and version boundary.

  6. RFC 9849, TLS Encrypted Client Hello

    Abstract and protocol overview

    Defines ECH, which changes what passive observers can learn from the TLS ClientHello. Referenced in Section 18.1.

  7. OpenSSL Security Advisory: Heartbleed (CVE-2014-0160)

    Published April 7, 2014

    Original disclosure of the Heartbleed vulnerability. Used in the opening case study to illustrate the boundary between TLS protocol security and implementation security.

  8. CompTIA Network+ N10-009 Exam Objectives

    Domain 4.0, Network Security; Objective 4.3: TLS and encryption

    TLS handshake, certificate chain validation, and common TLS errors appear in the Network+ security objectives.

TLS protects data in transit, and an expired certificate, a broken chain or a blocked handshake is one more symptom arriving as "the site is down". The next module turns symptoms of that kind into a repeatable method: naming the observable that would separate the candidates, using timing to narrow the search space, and keeping every change scoped and reversible.

Module 20 of 45 · Applied stage