ODNS:不经意的DNS

2020-07-17 18:09:00

众所周知,DNS会泄露Internet用户可能希望保密的信息,例如她正在访问的网站、用户标识符、MAC地址以及她所在的子网。该信息对于监听客户端和递归解析器之间、甚至递归解析器和权威服务器之间的通信的第三方是可见的。当此信息被发送到每个DNS服务器时,DNS操作员也可以看到客户端信息。

虽然以前已经有一些关于在DNS基础设施中提高私密性的工作,例如DNS查询名称最小化和DNS-over-TLS,但是这些方法并不能完全解决问题。这两个步骤都是朝着正确的方向迈出的,但都不能阻止DNS运营商了解特定用户感兴趣的域的信息。我们的工作涉及到一个强大的对手,它具有以下能力:1)窃听客户端与递归解析器之间以及递归解析器与权威名称服务器之间的通信;2)向任意数量的DNS运营商请求数据(通过传票/授权);3)恶意访问任意DNS服务器上的数据。

为了应对这种类型的攻击者,我们提出了不经意DNS(ODNS),这是DNS生态系统的一种新设计,允许当前的DNS服务器保持不变,并增加移动和静止数据的隐私。在ODNS系统中,客户端都是使用本地解析器修改的,并且.odns有一个新的权威名称服务器。为了防止窃听者获取信息,DNS查询必须加密;客户端生成对www.foo.com的请求,生成会话密钥k,加密请求的域,并附加TLD域.odns,生成{www.foo.com}k.odns。客户端使用DNS查询的“附加信息”记录中.odns权威服务器的公钥({k}pk)加密的会话密钥转发到递归解析器,然后递归解析器将其转发到.odns的权威名称服务器。权威服务器用他的私钥解密会话密钥,然后随后用会话密钥解密请求域。然后,权威服务器将DNS请求转发到适当的名称服务器,充当递归解析器。虽然名称服务器看到传入的DNS请求,但它们不知道它们来自哪些客户端;此外,窃听者无法将客户端与其相应的DNS查询连接起来。

由于这是正在进行的工作,我们有一些未来的工作要继续朝着这个方向进行。我们已经实现了一个ODNS原型,以评估其可行性,并将其性能开销与当前DNS性能进行比较。

谈话。我们是来自普林斯顿大学的四名研究人员组成的团队。如果您有任何问题或意见,请随时抄袭我们所有人。