Oblivious DNS over HTTPS (ODoH):尝试改善 DNS 隐私

已发表: 2020-12-14

域名系统或 DNS 是互联网上存在的所有不同网站的分散式命名系统。 它是互联网的重要组成部分之一,已经存在了三十多年。 在此期间,该系统一直受到批评,并提出了有效的论据,就其实施及其带来的隐私问题提出了质疑。 因此,已经有一些尝试来解决这些问题。

Oblivious DNS over HTTPS (ODoH)

一个这样的提议——也是最近的一个——是引入 DNS over HTTPS (DoH) 协议,该协议承诺通过以加密方式传输 DNS 通信来保护它。 虽然 DoH 在理论上看起来很有希望并设法解决了 DNS 的一个问题,但它无意中带来了另一个问题。 为了解决这个问题,我们现在有了另一个名为 Oblivious DNS over HTTPS (ODoH) 的协议,它由 Cloudflare、Apple 和 Fastly 共同开发。 Oblivious DoH 基本上是 DoH 协议的扩展,它将 DNS 查询与(用户的)IP 地址分离,以防止 DNS 解析器知道用户访问的站点——有点 [稍后会详细介绍]。

ODoH 的目的是将关于谁在进行查询和查询是什么的信息分开,”Cloudflare 的研究主管 Nick Sullivan 在博客中说。

目录

HTTPS(或 ODoH)上的无意识 DNS

在直接了解 ODoH 是什么之前,让我们首先了解什么是 DNS,然后是 DNS over HTTPS,以及两者带来的限制。

DNS(域名系统)

域名系统或 DNS 是一个分散的系统,用于保存互联网上所有网站的记录。 您可以将其视为电话号码的存储库(或电话目录),其中包含电话订户及其相应电话号码的列表。

DNS working
图片:总正常运行时间

在 Internet 方面,DNS 是建立系统的关键参与者,该系统使您只需输入其域名即可访问网站,而无需您记住其关联的 IP(Internet 协议)地址。 因此,您可以在地址字段中输入 techpp.com 来查看此站点,而无需记住其 IP 地址,该地址可能类似于 103.24.1.167 [不是我们的 IP]。 你看,它是在你的设备和你试图访问的网站之间建立连接所需的 IP 地址。 但由于 IP 地址不像域名那样容易记住,因此需要 DNS 解析器将域名解析为相关的 IP 地址并返回所请求的网页。

DNS问题

尽管 DNS 简化了互联网访问,但它确实存在一些缺点——其中最大的缺点是缺乏隐私(和安全性),这会给用户数据带来风险,并使其暴露在 ISP 的查看或某些人的窃听中互联网上的坏人。 这可能是因为 DNS 通信(DNS 请求/查询和响应)是未加密的,这意味着它以纯文本形式发生,因此可以被中间的任何人(在用户和 ISP 之间)截获.

DoH(基于 HTTPS 的 DNS)

正如最初提到的,DNS over HTTPS (DoH) 协议已经被引入来解决这个(安全)DNS 问题。 基本上,该协议所做的是,它不是让 DNS 通信(在 DoH 客户端和基于 DoH 的解析器之间)以纯文本形式进行,而是使用加密来保护通信。 通过这样做,它设法保护用户对互联网的访问,并在一定程度上降低了中间人攻击的风险。

DNS over HTTPS (DoH) working

DoH 的问题

虽然 DoH 解决了通过 DNS 进行未加密通信的问题,但它引发了隐私问题——让 DNS 服务提供商完全控制您的网络数据。 因为,由于 DNS 提供商充当您和您访问的网站之间的中间人,它保存着您的 IP 地址和 DNS 消息的记录。 在某种程度上,这引发了两个担忧。 第一,它让一个实体可以访问您的网络数据——允许解析器将您的所有查询与您的 IP 地址链接,第二,由于第一个问题,它使通信容易出现单点故障(攻击) .

ODoH 协议及其工作原理

由 Cloudflare、Apple 和 Fastly 共同开发的最新协议 ODoH,旨在解决 DoH 协议的中心化问题。 为此,Cloudflare 建议新系统将 IP 地址与 DNS 查询分开,这样除了用户之外,没有任何一个实体可以同时查看这两条信息。

ODoH 通过实施两项更改来解决这个问题。 它在客户端(用户)和 DoH 服务器之间添加了一层公钥加密和网络代理。 通过这样做,它声称保证只有用户可以同时访问 DNS 消息和 IP 地址。

ODoH working

简而言之,ODoH 就像是 DoH 协议的扩展,旨在实现以下目标:

一世。 通过代理引导请求以删除客户端地址,防止 DoH 解析器知道哪个客户端请求了哪些域名,

ii. 防止代理知道查询和响应的内容,并通过分层加密连接来防止解析器知道客户端的地址。

使用 ODoH 的消息流

要了解 ODoH 的消息流,请考虑上图,其中代理服务器位于客户端和目标之间。 如您所见,当客户端请求查询(例如 example.com)时,代理服务器也是如此,然后代理服务器将其转发给目标。 目标接收此查询,对其进行解密,并通过将请求发送到(递归)解析器来生成响应。 在返回的路上,目标对响应进行加密并将其转发到代理服务器,然后代理服务器随后将其发送回客户端。 最后,客户端解密响应并以针对其请求的查询的响应结束。

在此设置中,客户端和代理以及代理和目标之间的通信通过 HTTPS 进行,这增加了通信的安全性。 不仅如此,通过 HTTPS 连接(客户端代理和代理目标)进行的整个 DNS 通信都是端到端加密的,因此代理无法访问消息的内容。 然而,话虽如此,虽然这种方法同时兼顾了用户隐私和安全性,但保证一切都按建议运行归结为最终条件——代理和目标服务器不勾结。 因此,该公司建议“只要不存在共谋,攻击者只有在代理和目标都受到威胁的情况下才能成功。”

根据 Cloudflare 的博客,以下是加密和代理保证的内容:

一世。 目标只能看到查询和代理的 IP 地址。

ii. 代理无法查看 DNS 消息,无法识别、读取或修改客户端发送的查询或目标返回的答案。

iii. 只有预期的目标才能读取查询的内容并产生响应。

ODoH 可用性

Oblivious DNS over HTTPS (ODoH) 目前只是一个提议的协议,需要得到 IETF(互联网工程任务组)的批准,然后才能在网络上采用。 尽管 Cloudflare 表示,到目前为止,它已经让 PCCW、SURF 和 Equinix 等公司作为其代理合作伙伴来帮助启动该协议,并增加了在其 1.1.1.1 DNS 服务上接受 ODoH 请求的能力,事情的真相是,除非网络浏览器本机添加对该协议的支持,否则您无法使用它。 因为,该协议仍处于开发阶段,并且正在测试不同代理、延迟级别和目标的性能。 作为一个原因,立即仲裁ODoH的命运可能不是明智之举。

根据可用的信息和数据,该协议似乎对 DNS 的未来充满希望——当然,它设法在不影响性能的情况下实现了它所承诺的那种隐私。 由于现在很明显,负责在互联网运行中发挥关键作用的 DNS 仍然存在隐私和安全问题。 尽管最近增加了承诺增加 DNS 安全性的 DoH 协议,但由于它引发的隐私问题,采用似乎仍然遥遥无期。

但是,如果 ODoH 能够在隐私和性能方面实现其声称,那么它与 DoH 的结合,在协同工作的同时,可以解决 DNS 的隐私和安全问题。 反过来,让它比现在更加私密和安全。