什么是DNS?为什么它需要TLS或HTTPS加密?

DNS over TLS和DNS over HTTPS听起来像是同一个事物的不同说法。但它们实际上完成的是同样的事情——加密DNS请求,但是有一个很大的区别:它们使用的端口。对于听起来如此简单的事情,却存在着两种看法完全不同的阵营,而每一方对哪一个更好都有着根深蒂固的信念,尽管这似乎很愚蠢,但却是很危险的。一方是社会意识更强的,更加以用户为导向的,他们的主要兴趣点是隐私和人权。而另一方则更为务实,其中甚至包括一个DNS架构师,他认为,网络管理员需要能够看到和分析DNS活动。

有很多东西需要解释,但这是值得深入研究的,以便让你能够更好地看出DNS与TLS(DoT)和DNS over HTTPS(DoH)之间的区别,以及为什么这一讨论是十分重要的。

什么是DNS?为什么它需要TLS或HTTPS

DNS代表的是域名系统。最好也是最老套的比喻,就是电话簿。当大多数人在网上冲浪时,他们不会输入实际的IP地址——而是输入统一资源定位器(URL)。DNS服务器之后会获取该URL并找到它解析到的IP地址。

如果你想要知道你正在访问的网站的IP地址,这在Windows和Mac上是很容易实现的。Windows用户只需要在搜索栏中输入“cmd”打开命令提示符,然后输入:ping anydomain.com

对苹果用户来说,这也是很简单的。在Mac的搜索栏中,键入“网络实用程序(Network Utility)”,然后点击打开它。然后导航到Traceroute选项卡,并在跟踪字段中输入域名。


什么是DNS?为什么它需要TLS或HTTPS加密?_第1张图片

一直以来,DNS请求都是通过UDP或TCP协议进行的——这意味着它们是以明文形式发送的。

正如我们将要讨论的,这可能是个问题。

我们为什么需要加密DNS请求?

如果你生活在美国、英国或澳大利亚,你会很容易认为你享有的权利和自由是理所当然的。从更广泛的范围来看,我们对隐私的关注是微不足道的。约5000万脸书用户的数据遭到了泄露。

尽管这非常令人讨厌,但我们会嘲笑它是第一世界问题。尽管存在一些可怕的异常情况,但对我们大多数人来说,最糟糕的是身份盗窃。这可不是闹着玩的,但它也不是会对你的生命或自由构成威胁的事。除了儿童色情和毒品,在美国、英国和大部分西方国家,没有什么东西是你不能接触的。

对世界其他地区来说,情况更是如此。中国的互联网是出了名的受限制(谷歌目前正在开发一个经过秘密审查的搜索引擎)。俄罗斯、朝鲜、伊朗、沙特阿拉伯——仅举几个大国的例子——是数十个限制本国公民使用互联网的国家之一。

自由之家(Freedom House)的数据显示,全世界只有不到四分之一的互联网用户生活在互联网被定义为是自由的国家。自由地访问互联网是人的权利,而不是可以讨价还价的事情。36%的互联网用户生活在互联网完全受限的国家,另有28%生活在互联网部分受限的国家。


什么是DNS?为什么它需要TLS或HTTPS加密?_第2张图片

没有人认为DNS请求不应该被加密,争论的焦点是如何最好地做到这一点。

那么,DNS over TLS和DNS over HTTPS的区别是什么?

虽然这两种标准都对DNS请求进行了加密,但是DNS over TLS相对于DNS over HTTPS有一些重要的区别。IETF将DNS over HTTPS定义为了RFC 8484,将DNS over TLS定义为了RFC 7858和RFC 8310。

通过TLS加密和身份验证,DNS over TLS使用了TCP作为基本的连接协议。而DNS over HTTPS则使用的是HTTPS和HTTP/2进行连接。

这是一个重要的区别,因为它会影响使用的端口。DNS over TLS有自己的端口853。DNS over HTTPS则使用的是端口443,这是标准的HTTPS流量端口。

虽然拥有专用的端口听起来像是一种优势,但在某些情况下,实际上恰恰相反。尽管DNS over HTTPS可以隐藏在加密流量中,但是DNS over TLS请求全都来自一个唯一的端口,任何网络级别的人都可以很容易地看到它们,甚至可以阻止它们。

当然,请求本身——它的内容或响应——是加密的。所以你不知道被请求的是什么,但是它们知道你在使用DNS over TLS。至少这会引起怀疑。这就有点像在美国拿第五名一样。它只会让人觉得你隐藏了什么东西,在很多国家,这对你来说不是一个好事情。

以上,是为大家分享的“什么是DNS?为什么它需要TLS或HTTPS加密?”的全部内容,如果用户遇到的问题不能解决,可通过wosign官网客服寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持,免除后顾之忧。

你可能感兴趣的:(什么是DNS?为什么它需要TLS或HTTPS加密?)