DNS的隐私革命:Oblivious DNS
近日,Cloudflare在官方博客宣布支持一项新提议的DNS标准——Oblivious DNS。该标准由Cloudflare、Apple和Fastly三家公司的工程师共同撰写,能够将IP地址(创建)与查询分开,从而确保没有一个实体可以同时看到两者(从而获取用户隐私)。
在过去的三十多年中,DNS这一互联网基础技术已经对每天使用互联网的数十亿人构成了隐私和安全威胁。Cloudflare、Apple和内容交付网络Fastly引入了一种新颖的方法来修复此问题,该技术可以防止服务提供商和网络窥探看到最终用户访问或向其发送电子邮件的地址。
上述三家公司的工程师共同设计了Oblivious DNS,这是对当前DNS域名系统的重大更改。其中两家公司正在与互联网工程任务组(IETF)合作,希望推动其成为行业标准。
ODoH目前的主要代理合作伙伴
Oblivious DNS的缩写是ODoH,是对DoH(DNS over HTTPS)的改进,目前仍处于应用的早期阶段。
对于ODoH,首批代理合作伙伴之一,SURF的技术产品经理Joost van Dijk是这样评价的:“我们正在与Cloudflare合作,以通过ODoH实现更好的用户隐私。迁移到ODoH是一个真正的范式转变,用户的隐私或IP地址没有暴露给任何提供者,从而实现了真正的隐私安全。迁移到ODoH不仅是一种范式转变,而且还强调了隐私对任何用户的重要性,尤其是在2020年。这与我们对隐私的核心关注和信念产生了共鸣。”
DNS的工作方式
当有人访问某网站(xxx.com)时,浏览器必须首先获取托管服务器使用的IP地址(例如3.128.236.93)。浏览器会联系一个DNS解析器,该解析器通常由ISP或Google的8.8.8.8或Cloudflare的1.1.1.1之类的服务来操作。
但是,DNS存在两个先天的关键缺陷。
首先,DNS查询及其返回的响应未加密。这样一来,任何人都可以查看连接以监视用户正在访问的站点。更糟糕的是,具有此功能的人也可能会篡改响应,以便用户访问伪装(或钓鱼)网站,而不是正牌网站。
为了解决此问题,Cloudflare和其他地方的工程师开发了DoH(DNS over HTTPS)和DoT(DNS over TLS)。这两种协议都对DNS查询进行加密,从而使发送方和接收方之间的人无法查看或篡改流量。但业界对DoH和DoT褒贬不一,许多人仍然对其持怀疑态度,主要是因为只有少数提供商支持这种协议,这意味着少数几个提供商有可能记录潜在的数十亿人的互联网使用情况。
这也引出了DNS的第二个主要缺陷。即使部署了DoH或DoT,其加密并不能阻止DNS提供商同时看到查询请求和发出请求的计算机IP地址,这使DNS服务商可以建立地址查询者的全面档案。如前所述,当DoH或DoT提供商的数量很少时,隐私泄露风险仍然更大。
ODoH旨在解决第二个缺陷。作为IETF正在开发的新协议,ODoH通过添加一层公共密钥加密,并且在最终用户和DoH服务器之间放置一个网络代理,以确保只有该用户才能同时访问DNS请求信息以及发送和接收该信息的个人IP地址。如下图所示:
Oblivious DNS的运作机制
Cloudflare研究人员Tanya Verma和Sudheesh Singanamalla在介绍Obdovious DoH的博客文章(https://blog.cloudflare.com/oblivious-dns/)中写道:整个过程从客户端使用HPKE加密对目标的查询开始。客户端通过DNS获取目标的公钥,并将其捆绑到HTTPS资源记录中并由DNSSEC保护。当此密钥的TTL过期时,客户端会根据需要请求密钥的新副本(就像该记录的TTL过期时对A/AAAA记录的要求一样)。使用目标的经DNSSEC验证的公共密钥可确保只有目标可以解密查询并加密响应(回复)。
客户端通过HTTPS连接将这些加密的查询传输到代理,代理再将查询转发到指定目标。然后目标解密该查询,通过将查询发送到递归解析器(例如1.1.1.1)来生成响应,然后将响应加密到客户端。来自客户端的加密查询包含封装的密钥材料,目标可从中获得响应所需的对称加密密钥。
然后将目标的响应发送回代理,最后转发给客户端。尽管这些DNS消息是通过两个单独的HTTPS连接(客户端代理和代理目标)传输的,但所有这些通信都经过端到端加密,因此所有通信都是经过身份验证的机密信息。
正在进行的工作
工程师们仍在评估为DNS添加代理和加密的性能成本。但是,早期结果看上去前景不错。在DoH和ODoH的对比测试中,99%的ODoH查询/响应的代理开销不到1毫秒,Cloudflare在其官方博客中提供了有关ODoH性能的更详细的讨论。
到目前为止,ODoH仍在进行中。在Cloudflare的大力支持下,Apple和Fastly的贡献以及Firefox和其他公司的关注使ODoH值得认真对待。同时,由于缺少Google、Microsoft和其他巨头的支持,ODoH还有很长的路要走。
总而言之,今天的DNS仍然非常脆弱。时间已经来到2020年,DNS这个互联网最基础的技术机制之一并未得到普遍加密,这简直令人抓狂。批评者抵制DoH和DoT,原因是担心它会牺牲隐私权来换取安全性。如果ODoH可以更有效地保护隐私,赢得“民意”,并且在此过程中不会破坏互联网,那将是值得期待的一次DNS变革。
Improving DNS Privacy with Oblivious DoH in 1.1.1.1
https://blog.cloudflare.com/oblivious-dns/