使用 DNS over TLS 访问 HTTPS 网站时仍会暴露哪些信息?

信息安全 tls http dns 互联网
2021-08-26 00:11:49

Android Pie 现在支持DNS over TLS,它允许用户定义私有 DNS 服务器,并由 DNS 提供商(如 CloudFlare 的1.1.1.1. 这为比以往更多的人打开了 DNS 安全的世界,所以我们似乎应该对协议提供的安全性有什么疑问。


假设用户访问使用 HTTPS 保护的网站;他们的 DNS 查询使用 DNS-over-TLS 协议发送到 DNS 提供商。

如果他们愿意访问,原则上以下每个人都可以获得有关用户浏览的哪些信息?

  • 网站
  • DNS 提供商
  • 用户的 ISP
  • 窃听者

如果有的话,这些各方中的哪一方可以获得足够的信息来将用户的浏览与真实世界的身份或位置联系起来?

这与通过标准(非 TLS)DNS 访问同一个(HTTPS)网站有何不同?

1个回答

如果他们愿意访问,原则上以下每个人都可以获得有关用户浏览的哪些信息?

由于您的问题是关于基于 TLS 的 DNS,因此我不会讨论基于 SSL 的 HTTP。

DNS 通常以明文形式通过网络传输,可以看到的信息是:

  • 源 IP(用户)
  • 目标 IP(DNS 服务器)
  • 查询(例如 www.example.com)
  • 响应(例如 93.184.216.34)

通过使用基于 TLS 的 DNS,外部人员只能看到以下信息:

  • 源 IP(用户)
  • 目标 IP(DNS 服务器)

这绝对有助于保护隐私。另外,请记住,这有助于 MITM 攻击,因为为了建立 TLS 会话,您需要交换证书,从而能够验证服务器的身份。

网站

每次您访问他们的网站时,他们都可以访问您的所有信息。您的历史记录将在他们的网络服务器日志中,并会显示您的 IP 地址(除非您使用 VPN)。

DNS 提供商

他们将看到您查询的所有内容并记录下来,如果他们再次保留与您的 IP 相关的日志(除非您运行 VPN)。

用户的 ISP

他们将无法看到您正在执行的查询,但他们可以看到您要去的网站,但由于 HTTPS 而看不到您在它们上所做的事情。他们可能能够通过您的流量的目标 IP 地址和/或 TLS 客户端握手中的服务器名称来告诉站点。同样,如果您使用 VPN,他们将看不到任何一个。

窃听者

与用户的 ISP 相同。

如果有的话,这些各方中的哪一方可以获得足够的信息来将用户的浏览与真实世界的身份或位置联系起来?

没有任何一方能够做出这样的决定。为了弄清楚这一点,更有可能是有人从多个来源获取日志。

这与通过标准(非 TLS)DNS 访问同一个(HTTPS)网站有何不同?

老实说,我觉得不会有太大区别,因为在 HTTPS 中,嗅探器可以看到您的目标 IP,而且大多数时候服务器名称是在 TLS 握手中指定的。

希望能回答你的问题!