什么是 ECH?如何启用它?

前言

就在昨天,Cloudflare 宣布:

我们已经为所有 Free zones 启用了 ECH。如果你是现有的付费客户,只需前往 Cloudflare 仪表板申请此功能。我们将在未来几周内为所有注册的用户启用此功能。——Cloudflare 博客 / Encrypted Client Hello - 隐私的最后一块拼图

ECH 是 TLS 的一个拓展,全称为 Encrypted ClientHello,即加密客户端问候。ClientHello 消息会在 TLS 连接握手阶段被客户端发送。

客户端通过向服务器发送“问候”消息来开始握手。该消息将包含 SNI (服务器名称指示),客户端支持的 TLS 版本,支持的密码套件,以及称为一串称为“客户端随机数(client random)”的随机字节。——Clouflare 博客 / 什么是 TLS 握手?

在没有(或未启用) ECH 之前,这些信息是以明文进行发送,这样使得中间人可以获取到用户浏览的网站域名 (即 SNI)。

服务器与客户端均启用 ECH 后,这些消息将在加密后进行传输,中间人将无法获取到这些信息。

如何启用

Chrome

在地址栏输入 chrome://flags/#encrypted-client-hello,将 Encrypted ClientHello 选项设置为 Enable 并重启浏览器即可。

建议同时启用 Use DNS https alpn

2023-10-01T06:35:25.webp

启用 DoH

ECH 需要 DoH (DNS over HTTPS) 进行密钥分发。所以有必要在客户端启用并配置 DoH。

Windows 11

在网络设置中启用 DNS over HTTPS,并配置 DNS 服务器地址为 1.1.1.1 (或其他支持的 DoH 的服务器) 即可。

Windows 10

打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters,新增 DWORD 值,名称为 EnableAutoDoh,数值数据为 2。然后设置 DNS 地址为 1.1.1.1 / 2606:4700:4700::1111 即可。(如果没立即生效可以尝试重启计算机)

或者将下面的内容保存为 启用DoH.reg,运行即可导入

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"EnableAutoDoh"=dword:00000002

编辑注册表键值

IPv4 DNS

IPv6 DNS

测试

下面列出一些网站可用于测试 ECH 是否正确启用。

2023-10-01T02:52:42.webp

2023-10-01T05:56:47.webp

本文链接:

https://blog.nkxingxh.top/archives/293/
1 + 6 =
快来做第一个评论的人吧~