TLS & PKI

What is ECH?

Also known as: Encrypted Client Hello

Definition

Encrypted Client Hello (ECH) is a TLS extension that encrypts the Client Hello message, including the Server Name Indication (SNI), to prevent on-path observers from learning the target hostname during the handshake.

Encrypted Client Hello (ECH) is a Transport Layer Security (TLS) extension defined in RFC 8871 and RFC 8446 (TLS 1.3). It encrypts the Client Hello message sent by the client at the start of a TLS handshake. This prevents intermediate devices, such as ISPs, firewalls, or network monitors, from seeing sensitive fields like the Server Name Indication (SNI), which reveals the hostname being requested. Before ECH, SNI was sent in cleartext, allowing pervasive censorship, traffic filtering, and host-based blocking.

ECH works by using a two-layer Client Hello structure. The client sends an outer Client Hello that contains a minimal set of fields and a public key for the server. The actual, inner Client Hello is encrypted using a hybrid public-key encryption (HPKE) scheme. The server decrypts the inner message with its corresponding private key. Only the server that holds the correct key can read the real SNI. If the server cannot decrypt, the client and server fall back to a non-ECH handshake, or the connection fails gracefully. The outer Client Hello reveals only the IP address and a generic "public name" (often a CDN fronting domain), which does not disclose the specific site.

ECH is deployed primarily in TLS 1.3 due to its redesign of the handshake, which provides more room for extensions. It builds on earlier work like Encrypted SNI (ESNI). ECH is supported by major browsers (e.g., Chrome, Firefox) and CDN providers. It operates at the application-transport boundary within the TLS stack, complementing DNS encryption (DoH/DoT) to achieve stronger privacy against network observers. ECH is not yet universally deployed because it requires server-side key management and client adoption, but it represents the current standard for hiding the destination hostname in encrypted traffic.

Key facts

  • ECH encrypts the entire Client Hello, not just the SNI field.
  • It relies on TLS 1.3 and the HPKE standard (RFC 9180) for encryption.
  • ECH replaces the earlier ESNI mechanism and is not backwards compatible with it.
  • An outer Client Hello carries a public name that differs from the real hostname.
  • ECH does not hide the IP address or TCP port, only the application-layer hostname.

How it works in practice

When a user visits example.com over HTTPS, the TLS Client Hello would normally contain 'example.com' in plaintext SNI. With ECH, the client sends an outer Client Hello with a generic public name like 'cloudfront.net'. The inner, encrypted Client Hello contains the real SNI 'example.com'. Only the authoritative server with the private key can decrypt and see the true destination. An ISP or firewall sees only the outer name and the server IP, preventing hostname-based filtering.

Related terms

Server Name Indication (SNI) TLS 1.3 Encrypted SNI (ESNI) DNS over HTTPS (DoH) DNS over TLS (DoT) Hybrid Public Key Encryption (HPKE)

References

More in TLS & PKI

ACME Protocol

ACME (Automated Certificate Management Environment) is a protocol that automates the issuance, renewal, and revocation of TLS certificates, defined in RFC 8555.

Certificate Authority

A Certificate Authority (CA) is a trusted entity that issues digital certificates after verifying that the requester controls the domain or identity named in the certificate.

Certificate Chain

A certificate chain is an ordered list of certificates, starting with the server certificate and ending with a root CA, that a client validates to establish trust in the server's identity.

Certificate Pinning

A security technique where an application trusts only a specific, pre-selected certificate or public key for a given server, bypassing the standard chain of trust.

Cipher Suite

A cipher suite is a named set of cryptographic algorithms negotiated during a TLS handshake, specifying key exchange, authentication, encryption, and integrity protection for secure communications.

Domain Validation

Domain Validation (DV) is the lowest level of certificate validation used in TLS/SSL, where the certificate authority verifies only that the applicant controls the domain name, typically via an HTTP or DNS challenge.

Extended Validation

Extended Validation (EV) is the highest level of TLS certificate assurance, requiring the certificate authority to perform rigorous, human-verified checks on the legal identity and operational existence of the requesting organization before issuance.

HSTS

HTTP Strict Transport Security (HSTS) is a web security policy mechanism that forces browsers to interact with a website only over HTTPS, preventing downgrade attacks and cookie hijacking.

Intermediate Certificate

An intermediate certificate is a subordinate CA certificate signed by a root CA, used to sign end-entity certificates and enable path validation while the root remains offline.

Let's Encrypt

Let's Encrypt is a free, automated, public certificate authority operated by the Internet Security Research Group (ISRG) that issues short-lived Domain Validation (DV) TLS certificates via the ACME protocol.

Who Is Online

In total there are 66 users online: 0 registered, 58 guests and 8 bots.

Most users ever online was 5,555 on 17 Jul 2026, 3:23 am.

Bots: AhrefsBot Applebot Baiduspider Bingbot Other Bot Other Crawler PetalBot SemrushBot

Users active in the past 15 minutes. Total registered members: 369