Background

ECH encrypts the TLS Client Hello's server_name with a public key the client fetches from DNS ahead of time, so an on-path observer can no longer read which hostname a connection is for.

A probe against a domain (over TCP or QUIC) is classified as: ECH accepted β€” the server completed the handshake using the offered configuration; rejected β€” the server understood ECH but rejected the offered configuration, optionally returning fresh retry configurations; not accepted β€” the handshake completed, but without ECH; or failed β€” the connection failed or never started, so the target said nothing about ECH either way. That last one is a finding about the path, not about ECH support: a name that doesn't resolve or a port that times out says nothing about whether the server would have accepted a configuration.

Project team

Jonas MΓΌcke β€” TU Dresden

Contact

Questions about ECH handshakes, this tool, or anything it reports β€” reach out at jonas.muecke@tu-dresden.de.

Affiliations