网络服务提供商 CloudFlare 今天发布博客宣布推出 ECH 标准,ECH 是一项新提议的标准,目前已经得到 Google Chrome 和 Mozilla Firefox 的支持 (需开启实验性选项,见结尾),其他浏览器的支持估计还需要一些时间,网站启用 ECH 标准后也不会影响用户的正常访问,毕竟浏览器若是不支持 ECH 的话还可以降级到 SNI/ESNI 继续访问。
更新:CloudFlare 免费版托管的网站已经被默认开启 ECH 且不支持关闭。(位于:控制台、网站、SSL/TLS、边缘证书、加密的客户端问候。)
什么是 ECH 标准:
ECH 即 Encrypted Client Hello,这是 ESNI 的继任者,主要目的是屏蔽用于协商 TLS 握手的服务器名称指示 (即 SNI),也用来替代之前的加密服务器名称指示 (ESNI)。
网络运营商如何嗅探用户访问:
在 HTTP 时代,网络运营商有多种方式进行嗅探以搜寻用户访问的网站,这是因为 HTTP 没有进行加密,网络运营商可以轻松劫持 HTTP 流量并在流量里插入垃圾信息,包括但不限于将用户下载的应用替换为推广应用、在用户访问的任意网站里插入流量套餐或者广告信息。
最近十年 HTTP 快速向 HTTPS 过渡,HTTPS 对网站内容进行了加密,运营商无法再随意劫持流量,但这并不意味着运营商无法再嗅探用户访问哪些网站。
当我们使用浏览器访问某个地址时,DNS 请求也会泄露地址、SNI 信息也会暴露域名,于是业界又推出 DNS over HTTPS/TLS,用来加密 DNS 查询请求。
然而 SNI 问题仍然没有解决,因为 SNI 信息仍然会暴露给网络运营商。
ECH 是如何解决 SNI 信息暴露的:
ECH 的 ClientHello 消息被分成两个部分,内部部分和外部部分,外部包含的是非敏感信息,例如使用的加密类型和 TLS 版本,内部部分则包含已经加密后的内部 SNI。
在 CloudFlare 托管的网站若启用 ECH 后,则外部部分使用的是 cloudflare-ech.com,这是个共享的 SNI,运营商最多只能知道用户访问的网站使用的是 CloudFlare 和 ECH 标准,并不知道具体的网站域名。
而内部包含隐私的 SNI 信息,则由 CloudFlare 进行加密和解密,所以运营商无法获知信息。
目前 ECH 已经得到量大主流浏览器支持:Google Chrome 和 Mozilla Firefox,而 Chromium 的支持也意味着其他基于 Chromium 的浏览器多数也支持 ECH,这有助于快速提高互联网的隐私安全。
从今天起,CloudFlare 付费用户将可以在控制台开启 ECH 功能,接下来几周该功能会扩展到免费用户,到时候所有托管在 CloudFlare 的网站都可以使用 ECH。
浏览器支持说明:
Chrome 请开启此实验性选项:chrome://flags/#encrypted-client-hello (注:Chrome 117 + 默认启用)
Firefox 请开启此实验性选项:about:config 开启 network.dns.echconfig.enabled
Safari:将提供支持
版权声明:感谢您的阅读,除非文中已注明来源网站名称或链接,否则均为蓝点网原创内容。转载时请务必注明:来源于蓝点网、标注作者及本文完整链接,谢谢理解。