中国联合网络通信有限公司滨州市分公司 薛 益
如今,互联网上几乎所有的通信都是从域名系统(DNS)查找开始的。无论运营商是互联网服务提供商(ISP)还是第三方,能够观察和保留这些敏感信息都会令人担忧隐私泄露,因此,本文研究了一种解决此问题的基于无关DNS的通信隐私保护技术,即ODNS。
通常,DNS递归解析过程中DNS查询和响应都是明文的,因此,它们可以揭示用户或设备正在与之通信的Internet目的地的重要信息[1]。递归DNS解析器——可以方便地关联和跟踪客户端标识,以及关于他们的DNS查询的信息,这实际上是一个的隐私风险隐患[2][3]。
用户的Internet服务提供商(ISP)通常操作用户的默认递归DNS解析器,使ISP能够非常方便地访问DNS查询信息。为了降低这种风险,包一些服务商都在“开放”递归DNS解析服务,任何人都可以使用这些服务作为其ISP递归解析器的替代。然而,当用户切换到这样一个备用的DNS递归解析器时,并没有解决隐私泄露风险问题;相反,用户必须信任“开放”递归查询,而不是其ISP。
无关DNS(ODNS)为了避免用户信息的泄露而在今年中提出的一个新的方法,该技术采取了不同的策略: (1)不只是将信任锚从ISP转移到其他第三方,而是试图防止递归DNS解析器与IP地址之间的查询产生冲突。为此,它一方面模糊了递归解析器从发出DNS查询的客户端看到的查询;(2)从DNS层次的上层模糊客户端IP地址,最终解析查询。ODNS在现有DNS协议的上下文中运行,允许现有部署的基础设施保持不变。通过利用全局DNS系统,ODNS将客户端标识与查询分离开来:客户端向递归解析器发送加密查询,递归解析器将查询转发到可以解析ODNS查询的权威DNS服务器。递归解析器永远不会看到客户端查询的DNS域,而ODNS权威服务器永远不会看到客户机的IP地址。
ODNS可以立即部署到现有的DNS基础设施。ODNS需要对客户机的存根解析器以及权威的DNS服务器进行小的更改。存根解析器接受一个现有的DNS查询,对其进行加密,并附加一个特定于ODNS的域,以确保被转发到权威的DNS服务器。权威DNS服务器对查询进行解密,并且还必须充当递归DNS解析器——及时检索对应于客户端初始查询的DNS记录。ODNS的隐私增强是以性能为代价的。跟踪驱动的评估显示,任何单个的未缓存的DNS查找速度都较慢是由于以下两个因素:1)加密操作将查找时间增加了大约2毫秒;2)为每个查找添加客户端和权威服务器之间的往返时间。通过设计使用任意类型的ODNS来减轻往返时间延迟的影响。最后,评估表明web页面加载时间上的性能开销是可以忽略的。此外,通过在存根解析器上实现缓存来减少现有递归解析器上的交通负担。
ODNS防止对方将每个DNS查询与发出查询的IP地址相关联。我们假设一个对手服务器可以:(1)窃听客户端和递归解析器之间的通信,以及递归解析器和非优化名称服务器之间的通信;(2)向任何数量的DNS运营商请求数据(使用传票或搜查令);(3)访问任何DNS服务器上的数据和日志(如查询日志)。
ODNS的操作与传统的DNS类似,但改变了两个组件:(1)每个客户端运行一个修改后的存根解析器;(2) ODNS运行一个权威的名称服务器,它还充当原始DNS查询的递归DNS解析器:客户端请求的存根解析器混淆域(通过对称加密),结果在递归解析器中不知道重新查询域。
递归解析器将客户端标识与被转发到ODNS权威服务器的混淆请求分离开来。ODNS的权威名称服务器对查询进行解密,无法了解谁在请求特定的域。递归DNS解析器的操作人员可以看到单个IP广播和域名查询。如果递归使用DNS的扩展(如EDNS0客户端子网),权威解析器的操作人员也可以了解客户端信息。EDNS0可以向更高的DNS层次(不仅仅是递归的DNS解析器)的权威DNS服务器显示用户的IP地址或子网信息。ODNS向DNS层次结构的不同级别的授权名称服务器隐藏客户端的IP地址。递归DNS解析器可以学习客户端IP地址,但它永远看不到查询的域。ODNS要求客户端使用自定义本地存根解析器,它从递归解析器中隐藏所请求的域。在客户端运行的ODNS存根解析器,在将特定于ODNS的域(例如. ODNS)附加到查询之前对原始DNS查询和用于加密的密钥进行加密,这会导致递归解析器将加密的do- main名称转发到ODNS权威服务器上。
当ODNS权威DNS服务器接收到DNS查询时,它将进行以下两各操作步骤:1)解密用于加密域的对称密钥;2)用对称密钥解密;3)作为传统的去隐域递归解析器。一旦获得结果,ODNS权威服务器将对响应进行加密,并将其放置到响应的另一个资源记录(也称为OPT)中。权威服务器返回解析器的响应,并将响应发送到客户机。正如使用会话密钥所解释的,解析器尽管能够了解客户端是谁,但仍不能了解客户端请求的域。
DNS查询可以显示个人信息,如IP地址和设备类型等信息,并允许DNS解析器将这些信息与客户端IP广播关联起来,而且需要用户信任他们的递归DNS解析器。在这篇文章中,我们介绍了ODNS,一种将客户端IP地址与DNS查询分离的系统,ODNS被设计成与现有的DNS基础设施完全兼容,只需要很少的更改,因此,基于成本方面的考虑,ODNS非常容易为现有DNS服务提供商所接受。