TLS 1.3 的发布,给 ESNI(加密的 SNI)提供了契机。ESNI 将使中间人无法得知浏览器正在访问的域名。
CloudFlare 昨日发布了一篇文章介绍了正在制定标准的 ESNI。目前看来还比较复杂。标准的 ESNI 似乎并不能保证前向安全性(forward secrecy),CloudFlare 自有系统采取了每小时滚动更新服务器密钥的方式,同时又保留过去几小时的密钥供备用;这就已经显复杂了。更重要的是,ESNI 需要借助特定的 DNS 记录;而要保证 DNS 安全就需要使用 DNS over TLS 或者 DNS over HTTPS,要完全防止上游投毒又需要 DNSSEC 支持,后者在现实中基本算是普及失败了(尤其是在国内)。
继续观望吧。
(原发于 QQ空间 2018-09-25 18:00:45)
注:此文可能已过时。ESNI 现已发展为 ECH。