1
eason1874 2021-10-14 02:47:16 +08:00 7
发送请求之前需要先知道域名对应的服务器 IP,常规 DNS 是明文的,会泄露解析记录。如果泄露了解析域名,接近泄露 SNI 了。所以保护 SNI 首先要用加密 DNS,而 DNS over HTTPS 是其一,确保访问的域名不会泄露。
ECH 是 ESNI 的改进版。ESNI 只能通过 DNS TXT 记录分发证书,而 DNS 可能被缓存(不利于证书定期更新),也不灵活,因为只有一个记录,多个服务器节点需要确保用同一个证书,否则对不上。 ECH 在 ESNI 的基础上,添加了服务器分发证书来兜底。如果 DNS 记录里的证书加密的内容解不开,就提供服务器自己的证书给客户端去重试。ECH 有两个 ClientHello,一个加密的有真实的 SNI,一个明文的有 innocuous SNI (好像是用于失败验证和忽悠中间人?不太懂这个 innocuous 的意思) |
2
Livid MOD |
3
a8Fy37XzWf70G0yW 2021-10-14 09:20:56 +08:00 via Android
理論上只要有特徵那就可以 Block,即便是一個 Flag 也可以。
|
4
hronro 2021-10-14 19:44:24 +08:00
好耶
不过感觉很有可能在国内最终的下场和 ESNI 一样 |
5
yqs112358 2023-09-13 19:13:51 +08:00
原理 cf 有个博客写的挺清楚的
https://blog.cloudflare.com/encrypted-client-hello/ |