Encrypted Client Hello (ECH) is a TLS 1.3 extension that encrypts the ClientHello, the first message of the handshake. Its main effect is hiding the Server Name Indication (SNI), so an observer on the network can no longer see which hostname a visitor is requesting.
Why it matters
Even with HTTPS, the SNI has traditionally been sent in the clear so one IP address can host many sites. That leaks which sites someone visits to ISPs, firewalls and anyone on the path. ECH fixes it by splitting the hello into an outer message, which names a shared "public" hostname, and an inner message, which is encrypted with a public key and carries the real one. The key is published in DNS, in an HTTPS resource record, so clients need to fetch it first. Privacy improves most when many sites share the same front-end provider.
Example
A site publishes its ECH configuration in DNS:
example.com. 300 IN HTTPS 1 . alpn="h2,h3" ech="AEn+DQ..."
A browser that supports ECH reads the ech value and encrypts its hello to that key.
Common mistakes
- Assuming ECH hides the IP address. The destination IP is still visible.
- Expecting protection when DNS lookups are not encrypted, since the query reveals the name.
- Forgetting that ECH requires client, server and DNS support together.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.