We’re at the brink of encrypting everything for #TLS web requests that’s possible. The remaining fields:

  • Encrypted #ClientHello. Firefox currently tests native HTTPS record querying to support most setups directly. Can be enabled with network.dns.native_https_query.
  • Traditional TCP metadata is replaced with QUIC, which e.g. encrypts ACKs after the first key exchange. Automatically included in HTTP/3 and enabled in browsers.
  • Related: to protect from quantum computers, use a hybrid quantum-safe key exchange. For #TLS that’s a hybrid of x25519 and Kyber. Can be enabled in Firefox with security.tls.enable_kyber.
  • DNS requests. The last place to get the domain name for many unencrypted. Choose a trusted DNS resolver and use DoT or DoH if possible. Later on, the world also tries to secure recursive-authoritative queries with ADoQ and ADoT.

Some of this stuff can be tested with https://crypto.cloudflare.com/cdn-cgi/trace

Server-side support for HTTP/3 and ECH is still very much a minority, but we’re getting there.