Оператор сервера публикует конфигурацию ECH (открытый ключ HPKE, публичное имя и параметры) в параметре ech HTTPS-записей DNS (RFC 9848, поверх RFC 9460). Клиент отправляет внешний ClientHello, адресованный публичному имени (например, общему хосту CDN), а внутри него, в расширении 0xfe0d, — зашифрованный внутренний; сервер расшифровывает его и продолжает с параметрами внутреннего. Если ключи устарели, сервер возвращает новые, и клиент повторяет попытку.
ECH что-то скрывает, только если многие сайты используют одного провайдера, а сам DNS-запрос защищён (DoH или DoT); иначе запрос HTTPS-записи раскрывает имя. Cloudflare широко включил ECH в 2023 году; Firefox использует его по умолчанию с версии 119 (вместе с DNS over HTTPS), Chrome начал внедрять его в версии 117, а nginx и другие серверы получили поддержку позже. Сети, которые фильтруют трафик по SNI, лишаются этой информации, поэтому некоторые компании блокируют ECH.