This past week in Firefox 118 launched support for ECH and Cloudflare also.
What is it?
ECH is a successor to ESNI and masks the Server Name Indication (SNI) that is used to negotiate a TLS handshake. SNI being unencrypted is the reason why ISPs can detect what domains you visit, whereas HTTPS is what prevents ISPs knowing what exact webpages you visit. Instead of seeing “privacyguides.net” for example, for every website with ECH-enabled it’ll show “cloudflare-ech.com”.
ECH requires DNS-over-HTTPS to be enabled in order to work. I ignored DoH when it was launched before - it’s a downgrade in privacy if you’re already using a VPN by having to share SNI with an additional third-party, but it looks like now it might be worth reconsidering.
What are your thoughts? What are the pros/cons with utilising this? What data could an ECH+DoH provider obtain? What are the likely consequences for state actors or commercial entities in response to this?
As far as i can remember they have been announcing this for about 2 years now. The technology is useful for users privacy and also would allow users to overcome internet censorship in some regions.
The problem that its having a very low rate of adoption since first it was announced.
cloudflares own esni checker website doesn’t support ECH (last time i checked).
I would definitely use it as early as possible as i wouldn’t trust my isp in this regard.
If i get a good provider for ECH my use case for VPN will be over.
Would this be useful when using a VPN? Or in other words: does an unencrypted client hello leak “past” the VPN to the actual ISP? (I don’t think it does)
I have to look into this. On first glance it just seems to move the trust from ISP to cloudflare. Not per se a bad thing but it also makes it very centralized.
ECH complements other security and privacy features in Firefox, including DNS-over-HTTPS (DoH), which must be enabled in the Firefox settings for ECH to function. When used in conjunction with a virtual private network (VPN), DoH and ECH provide an additional layer of privacy and security. In this setup, the VPN conceals the user’s IP address and encrypts data traffic, while ECH protects the identities of the visited websites from the VPN provider.
@dngray is it true it works like this?
Not dngray, but it is true, yes.
Yes, it, prevents disclosure of the domain through SNI, we talk about that on this page:
I’ve been using ECH today while checking the domains of sites I visited with Portmaster, and there was only 1 site that it seemed hadn’t adopted it. Admittedly, I’m not an avid browser, and I tend to stick with the same few sites for what little I do on the internet. Today though, I tried searching up a few random topics I had on my mind just to test it out, and I was pleasantly surprised to see how many sites it worked for. I have high hopes for adoption rates in the future.
can you provide links of some websites that you know supports ech , because i couldn’t find any apart from cloudflares own ech checker website https://crypto.cloudflare.com/cdn-cgi/trace.
Also i am not sure but in order for this to work websites need to use cloudflare as their domain provider and enable it from there. So websites not using cloudflare won’t be supporting it.
(firefox 118.0.1 still doesn’t support ech out of the box , you need to enable some flags in about:config menu.)
How did you configured Portmaster to let the browser use DOH and ECH?
I had to exclude firefox in portmaster to had it working.
use wireshark on pc or pcapdroid on android to see whats the browser connecting to and how
Try this one Welcome to defo.ie
this doesn’t support ech , it just checks ech status of your browser.
https://tls-ech.dev/ (refresh the page the first couple times, if it fails).
In the future when ECH becomes as standard as protocols like TLS, ISPs may start to maintain IP reverse lookup databases to continue tracking you. Also if you don’t use a VPN, proxy, or Tor, the website you access can still track you. So I don’t think ECH rollout will void the use cases for a VPN.
Currently, yes, and also there’s really no point for website operators to use ECH unless they are on a shared hosting provider like Cloudflare anyways, so it doesn’t really matter. Like enabling ECH on this website we’re on would provide nearly 0 benefit, for example.
VPN will still be relevant as their are some regions which use IP based blocking for censorship than going for SNI or dns based.
Though it seems , in case of ECH provided by cloudflare, the traffic would appear to come from cloudflare servers as they are behind cloudflare CDN. So there still be no way of finding out actual website visited through reverse ip lookup. Atleast this is what appears to be the case in my limited usage.
How does this all compare to ODoH?
ODoH adds another encryption layer atop existing encryption provided by TLS. ODoH has similar security and privacy guarantees to DNSCrypt v3.
ECH is for TLS v1.3. It encrypts the
ClientHello part of the handshake which carries hostname in plaintext (this often is the domain name of the service itself).
Should you have any good content that explains this in more detail, I would love to receive it.