本文来源:d0uglas
最近,Cloudflare在官方博客上宣布,他们和Apple、Fastly公司的工程师一起合作,开始支持一种新提议的DNS标准——ODNS。这种新标准声称能够保护用户在执行DNS请求时的隐私。在介绍ODNS之前,我们需要先回顾一下现在域名系统的架构。
ODNS的基本思想是在递归解析器和其它域名服务器之间加入一个服务器——ODNS服务器,由ODNS服务器去完成域名的递归解析。原来的递归解析器这时充当的是一个代理。ODNS的协议不仅能够保证递归解析器只能够知道是谁发起了请求,但不知道请求了什么,还能够保证ODNS服务器只知道请求的内容,但不知道是谁发起了这次请求。换句话说,处理DNS请求的各个节点服务器都没有办法把请求者和请求的内容联系起来,因此,保护了用户的隐私。
最近,Cloudflare在官方博客上宣布,他们和Apple、Fastly公司的工程师一起合作,开始支持一种新提议的DNS标准——ODNS。这种新标准声称能够保护用户在执行DNS请求时的隐私。在介绍ODNS之前,我们需要先回顾一下现在域名系统的架构。
域名系统
域名系统的特点是分级、去中心化。一共分为了递归解析器、权威域名服务器、顶级域名服务器、根服务器四个等级。加密的域名请求
域名系统遇到的问题和HTTP非常类似。自然而然地,给DNS请求加密的标准被提了出来,一共有三种:DNS-over-TLS、DNS-over-DTLS、DNS-over-HTTPS。它们的目的都是通过一种公钥加密算法给DNS请求加密,从而防止用户的隐私被ISP侵犯。但是,这也带来了相同的问题,作为DNS请求操作者的公司就是值得信任的吗,比如Cloudflare和Google?这个方案不过是把信任从ISP放到了提供加密DNS请求服务的提供者上。ODNS基本流程
为了解决上面DOT等标准无法解决的隐私问题,ODNS被提了出来。ODNS是Oblivious DNS的简写,由普林斯顿大学的Paul Schmitt、Anne Edumundson等人于2018年提出,未来将会形成一份IETF的标准。ODNS的基本思想是在递归解析器和其它域名服务器之间加入一个服务器——ODNS服务器,由ODNS服务器去完成域名的递归解析。原来的递归解析器这时充当的是一个代理。ODNS的协议不仅能够保证递归解析器只能够知道是谁发起了请求,但不知道请求了什么,还能够保证ODNS服务器只知道请求的内容,但不知道是谁发起了这次请求。换句话说,处理DNS请求的各个节点服务器都没有办法把请求者和请求的内容联系起来,因此,保护了用户的隐私。
ODNS的问题
尽管ODNS为用户带来了一定程度上的隐私保证,但它也引入了新的问题,这些问题中最重要的是性能问题。ODNS的加密和协议交互相比原有的会有额外的性能开销。同时,每一次请求都使用不同的对称密钥,会造成递归解析器的缓存失效,也就是说,即使请求相同的域名,但是递归解析器看到的是不同的内容,因此都会向ODNS发起解析请求。缓存失效带来了两个结果,一个是请求时间增加,另一个是网络中的流量会增多。ODoH(Oblivious DNS over HTTPS)
文章最开头提到Cloudflare和Apple等公司开始支持这一新标准。它们基于这个新标准,设计、提出了ODNS的一种具体实现——ODoH,并部署到了现实环境中进行测试,以衡量它对网络的实际影响。另外,Cloudflare还开源了分别用Rust、Go语言编写的ODoH库,使用这个库可以实现ODoH的客户端、服务器程序。参考资料
[1]《Improving DNS Privacy with Oblivious DoH in 1.1.1.1》. https://blog.cloudflare.com/oblivious-dns/ (见于 12月 15, 2020).转载请注明来自网盾网络安全培训,本文标题:《ODNS:保护DNS隐私的新标准》
- 上一篇: 再说零信任
- 下一篇: 应急响应之Linux下进程隐藏
- 关于我们