
在整个Internet的存在中,开放性一直是其定义特征之一,并且当今的大多数流量仍在未经加密的情况下进行传输。 尽管自1994年以来就存在HTTPS协议,但对HTML页面和相关内容的大多数请求都是以纯文本形式进行的,并且以相同的方式返回响应。
但是,有时需要安全性和/或机密性。 尽管Internet流量的加密已在诸如在线银行和购物等领域广泛普及,但是许多Internet协议中的保密性问题尚未得到如此迅速的解决。 特别是,在查询站点的IP地址以获取主机时,DNS查询几乎总是以明文形式传输,即使在建立连接后使用HTTPS的情况下,所有计算机和提供商也可以确定要访问的站点。
对于DNS查询也必须加密的想法并不新鲜,并且最早的尝试是在2000年代进行的-DNSCrypt,基于TLS的DNS(DoT)等。 Mozilla,Google和其他大型互联网公司正在推广一种加密DNS查询的新方法:基于
HTTPS的DNS (DoH)。
DoH不仅加密DNS查询,还将其传输到“常规” Web服务器,而不是DNS服务器,因此DNS流量无法与常规HTTPS区分开。 这个硬币有两个侧面。 此过程可以保护DNS查询本身,例如DNSCrypt或DoT,也使大型公司的安全服务人员无法跟踪
DNS欺骗 ,并将对关键网络功能的责任从OS转移到应用程序。 而且,它也丝毫无助地隐藏您刚刚请求的网站的IP地址-毕竟,您还是要访问它。
与DoT相比,DoH集中了您在多家公司中访问过的站点的信息:今天是Cloudflare,它承诺将在24小时内删除您的数据;而Google是Google,它打算保存和货币化您计划做的所有事情的所有细节。
DNS和隐私是重要的主题,因此让我们深入研究细节。
DNS服务器和信任
域名系统的概念可以追溯到
ARPANET ,当时每个ARPANET节点上的唯一文本文件(名称为HOSTS.TXT)都包含连接到ARPANET的系统名称及其数字地址之间的所有对应关系。 当您自己补充此文件时,很容易验证它是否正确。 随着网络的发展,无法维护这些文件的中央和本地副本。 到1980年代初,已经开始尝试为此过程创建自动化系统。
第一个名称服务器(Berkeley Internet名称域名服务器或BIND)是由一群来自加利福尼亚大学伯克利分校的学生于1984年根据RFC 882和RFC 883编写的。到1987年,DNS标准被多次修订,导致RFC 1034和RFC 1035出现。从那以后,基本上没有改变。

DNS结构的基础是其树结构,其中节点和叶子分为多个区域。 DNS根区域是上层,由十三个组成正式根DNS服务器的根服务器群集组成。 任何新的DNS服务器(由提供商或公司筹集)都从这些主服务器中的至少一个接收DNS记录。
每个后续的DNS区域都会向名称系统添加另一个域。 通常,每个国家/地区都维护自己的域名,与国家/地区无关的.org或.com域名将单独提供。 通过DNS查询主机名的过程是从域名(例如.com)开始,然后是名称(例如google),然后是可能的子域。 如果尚未缓存数据,则可能需要通过DNS区域进行几次转换以解决请求。
DNSSEC:向DNS系统添加信任
在继续对DNS查询进行加密之前,您需要确保我们可以信任DNS服务器。 这种需求在1990年代变得显而易见,并导致了DNS安全标准(DNSSEC),RFC 2353和修订后的RFC 4033(DNSSEC-bis)的首次运营扩展。
2006年互联网地图DNSSEC通过使用公用密钥对DNS查询记录进行签名来工作。 DNS记录的真实性可以通过DNS根区域的公钥来确认,在这种情况下,该根域是受信任的第三方。 域所有者生成其密钥,并由区域操作员签名并添加到DNS。
尽管DNSSEC使您可以相对确信来自DNS服务器的答案是真实的,但此协议必须包含在操作系统中。 不幸的是,很少有操作系统实施DNS服务,而不仅仅是执行“了解DNSSEC”功能,也就是说,它们实际上并没有确认DNS响应。 因此,今天您不能确定从DNS收到的答案是真实的。
卫生部的问题
假设您正在使用DNSSEC。 您已准备好加密消息,以增加数据传输的隐私性。 可能有很多原因使DNS查询保密而不会被窥探。 最无辜的是绕过公司和提供者的筛选器,禁止跟踪Internet习惯,等等。 在更严重的威胁中,有一些企图避免政府对互联网表达政治观点的迫害。 自然,DNS查询的加密不允许人们监视这些查询,但是结果,DNS的安全性更大的问题以及所有其他通信协议都被忽略了。
这里的主要竞争对手是使用TLS的DoT和使用HTTPS的DoH。 两者之间最明显的区别是端口:DoT在专用的TCP端口853上运行,而DoH在端口443上与其他HTTPS流量混合。这具有使DNS查询与其他流量无法区分的有争议的优势,这使得网络运营商(私人和公司)无法使用),这就是DNS架构师之一Paul Vixie去年
在Twitter上
宣布的安全自己的网络。
第二个主要区别是,如果DoT仅通过TLS发送DNS查询,则DoH本质上是基于TLS的基于HTTP的DNS,需要其自己的媒体类型应用程序/ dns消息,并使事情变得更加复杂。 将DoH与现有协议混合会导致每个DNS查询和响应都通过HTTPS堆栈。 这对于嵌入式应用来说是一场噩梦,并且与几乎所有现有类型的设备都不兼容。
DoT还有另一个优势-该协议已经实施,并且比DoH存在的时间长得多,Cloudflare,Google和本地Internet提供商等公司都在使用它。 BIND之类的标准服务器软件立即使用DoT。 在Android Pie OS(版本9)上,如果所选的DNS服务器支持DoT
,则默认情况下将
使用 TLS上的DNS。
如果DoT已经推出,为什么要切换到DoH? 如果诸如Firefox之类的非标准应用程序绕过基于DoT的系统DNS,并通过DoH使用其自己的域名检索系统,那么从安全角度来看,这种情况将变得非常困难。 现在正在发生的将DNS转移到单个应用程序的过程似乎向后退了一步。 您知道每个应用程序使用哪种DNS方法吗? 您是否知道它将该过程与端口443上的TCP流量混合在一起?
加密不会干扰监听
两家大型公司Cloudflare和Mozilla代表HTTPS上的DNS,后者甚至发布了一个
漂亮的小漫画 ,试图解释DoH方案。 毫不奇怪,他们根本没有提到DNSSEC(即使在RFC 8484中被称为“关键”),而是提供了一个称为Trusted Recursive Resolver(TRR)的东西,它实质上表示“使用受信任的建议”。 “ DNS服务器”,Mozilla表示Cloudflare。
除了DoH,他们还提到了QNAME最小化标准(
RFC 7816 ),该标准应
减少 DNS服务器发送
的非关键信息的数量 。 同时,此标准不以任何方式依赖DoH,并且无需任何DNS加密即可工作。 与DNSSEC一样,通过DNS标准的发展可以增强安全性和隐私性。
最有趣的部分包含在“ TRR + DoH无法解决什么”部分中? 正如许多专家所说,DNS加密不会阻止监听。 以非常秘密的方式收到的对IP地址的任何后续请求仍将清晰可见。 一样,他们会知道您已经访问了Facebook.com或持不同政见者的网站。 DNS或Internet流量的加密不会隐藏对网络(如Internet)的运行至关重要的信息。
未来的互联网会成为单点故障吗?
Mozilla提供解决IP侦听问题的方法很简单,只需指出使用Cloud并不是问题。 较少的服务(Cloudflare,Azure,AWS等)上悬挂的网站和内容分发网络(CDN)越多,则单个IP地址的意义就越小-您只需要相信所选的IP地址即可您的云服务将不会窃取您的数据,并且不会一天。
今年6月24日,服务大幅下降,当时Verizon提供商的配置错误使Cloudflare,Amazon,Linode和许多其他服务器在一天中的大多数时间内不可用。 今年7月2日
,Cloudflare下跌了大约半小时,并且许多依赖它的服务的网站也纷纷
倒下 。
巧合的是,微软的Office365云服务当天也放置了几个小时,这就是为什么许多用户无法使用其服务的原因。 劳动节之前的周末[美国国定假日在9月的第一个星期一/ AWS US-East-1数据中心的电源故障导致存储在其中的TB级客户数据被
铜制水槽覆盖 。 显然,集中化Internet的好处仍然存在一些缺点。
旧歌以新方式
令人惊讶的是,在整个有关隐私和跟踪的讨论中都没有提到虚拟专用网(VPN)。 他们只需将您的PC或其他连接到Internet的设备移动到Internet的连接点,即可解决数据加密和DNS查询,隐藏IP地址等问题。 独裁政权内的持不同政见者数十年来一直使用VPN来规避互联网审查。 包括Tor之类的特殊功能的VPN是互联网自由的关键因素。
Tor如何工作如果您在DoH这样的方案中信任像Cloudflare这样的大型商业公司,那么找到不存储或出售您的数据的受信任VPN提供商将很容易。 而且Opera浏览器通常具有免费的内置代理支持,这提供了
许多VPN好处 。
最后,我们可以说DoH确认了它的首字母缩写,这很糟糕地表明DoT已经做得很好[“ Doh!” -惊叹号,指示完美动作的愚蠢性,尤其是一个人自己的/大约。 翻译]。 我们需要更加关注DNSSEC的无处不在的实现,以及DoT和最小化QNAME。 而且,如果您关心真正的隐私,则需要使用VPN。