DoT

DoH与DoT:DNS查询的隐形斗篷

前言:互联网的“电话簿”与它的“公开秘密” #

我们每打开一个网站,看似简单的操作背后,都离不开一个核心服务的支撑——域名系统(DNS)。你可以将DNS比作互联网的“电话簿”,它负责将我们易于记忆的域名(如feige301.com)翻译成机器可识别的IP地址(如192.0.2.1),从而引导我们的设备找到正确的服务器。没有DNS,互联网将寸步难行。

然而,这个至关重要的“电话簿”服务,长期以来却存在一个“公开的秘密”:传统的DNS查询是未经加密的。这就好比你每次查电话号码,都要通过一张明信片发送请求,所有人都能看到你查询了什么号码,以及谁回复了你。这种明文传输的特性,使得DNS查询极易受到各种形式的监听、篡改和劫持。

在复杂的网络环境中,这种脆弱性导致了一系列困扰网站管理员和用户的难题:

  • 域名污染(Domain Pollution):恶意或非恶意的中间设备,通过篡改DNS响应,将用户导向错误的IP地址,导致网站无法访问或被劫持到钓鱼页面。
  • ISP劫持(ISP Hijacking):某些运营商或网络服务提供商,出于各种目的(如插入广告、限制访问),在DNS层面篡改用户的查询结果,影响用户体验和网站的正常运营。
  • 区域性网络封锁(Regional Network Blocking):在特定网络区域内,通过对传统DNS查询的识别和干预,阻止用户访问某些域名,造成连通性障碍。

这些问题不仅损害了用户的上网体验,也给网站运营者带来了巨大的挑战:流量无故流失、用户信任度下降、安全风险增加,甚至直接影响商业利益。在这样的背景下,寻找一种能够保护DNS查询隐私和完整性的技术方案,成为了网络安全领域的重要议题。这正是我们今天要深入探讨的DoT(DNS over TLS)和DoH(DNS over HTTPS)技术诞生的核心驱动力。它们旨在为DNS查询披上一层“隐形斗篷”,使其在复杂的网络环境中能够安全、私密地穿梭。

传统DNS:明文传输的“软肋” #

在深入了解DoT和DoH之前,我们有必要回顾一下传统的DNS工作方式。当你在浏览器中输入一个域名时,你的操作系统会首先向本地配置的DNS服务器(通常是你的路由器或网络服务提供商提供的服务器)发送一个DNS查询请求。这个请求通常使用UDP协议,通过53端口进行传输。

整个查询过程是明文的,这意味着在你的设备和DNS服务器之间的任何“中间设备”——例如你家里的路由器、你所在局域网的流量网关,甚至是某地区运营商的DPI(深度包检测)设备——都能够轻松地读取你的DNS查询内容(你访问了哪个域名)和DNS服务器的响应(这个域名对应的IP地址)。

这种明文传输的特性,虽然在互联网早期提供了高效便捷的服务,但在当今对隐私和安全日益重视的时代,却成为了一个明显的“软肋”:

  1. 隐私泄露风险:你的上网行为轨迹,通过DNS查询记录一览无余。第三方可以根据这些记录分析你的兴趣、习惯,甚至用于精准广告投放或更敏感的数据收集。
  2. 篡改与劫持威胁:由于缺乏加密和身份验证机制,恶意的“中间设备”可以轻易地拦截你的DNS查询,并返回一个伪造的IP地址。这会导致用户访问错误的网站(例如钓鱼网站),或者被重定向到非预期的页面。这就是“域名污染”和“ISP劫持”的常见技术实现方式之一。
  3. 内容过滤与审查:在某些“局部局域网环境”中,流量网关或DPI设备可以识别并过滤特定的DNS查询,从而阻止用户访问某些域名。这种基于DNS的过滤机制,是实现“区域性网络封锁”的一种有效且成本较低的手段。

对于网站管理员和运维人员而言,这意味着即使他们的网站服务器本身配置安全,也可能因为DNS层面的问题导致用户无法访问。解决这一“软肋”,成为了网络安全演进的必然趋势。

隐私与完整性的追求:DoT与DoH的崛起 #

为了应对传统DNS的这些安全与隐私挑战,互联网工程任务组(IETF)相继推出了两种加密DNS查询的新协议:DoT(DNS over TLS)和DoH(DNS over HTTPS)。它们的核心目标都是为DNS查询提供加密保护,确保查询内容不被窃听,响应结果不被篡改。

DoT(DNS over TLS):加密的直连通道 #

DoT,即DNS over TLS,顾名思义,它将DNS查询封装在TLS(传输层安全协议)之上。TLS是当前互联网上广泛用于加密通信的协议,例如我们访问HTTPS网站时,就是通过TLS来保障数据安全的。

工作原理: DoT协议将传统的DNS查询数据包(通常是UDP 53端口)放入一个TLS加密隧道中,并通过TCP 853端口进行传输。这意味着你的DNS查询不再是明文的,而是经过加密的,只有你的设备和DoT服务器能够解密并读取内容。

优点:

  • 加密保护:防止“中间设备”监听你的DNS查询内容,保护用户隐私。
  • 身份验证:TLS协议提供了服务器身份验证机制,可以确保你连接的是合法的DoT服务器,而非伪造的恶意服务器,从而有效抵御DNS劫持。
  • 数据完整性:加密同时保障了数据传输的完整性,防止DNS响应被篡改。

局限性: 尽管DoT提供了强大的安全保障,但它也有其特点:

  • 专用端口:DoT使用专用的853端口。这意味着“中间设备”仍然可以通过识别这个端口来判断正在进行的是DNS查询,即使内容被加密,它们也知道这是一次DNS请求。在某些严格的“局部局域网环境”中,如果853端口被直接阻断,DoT服务将无法使用。
  • 流量特征:虽然内容加密,但DoT的流量模式和握手过程仍可能与其他HTTPS流量有所区别,理论上仍有可能被高级的DPI设备识别并进行针对性干预。

你可以将DoT想象成一个专为电话簿查询设计的加密信封,你把查询请求装进去,通过一个私密的邮递员(TLS)送到电话局。虽然邮递员知道你在查电话簿,但不知道具体查了谁,也无法篡改回复。

DoH(DNS over HTTPS):隐形斗篷下的秘密通信 #

DoH,即DNS over HTTPS,是另一种更具“隐蔽性”的加密DNS查询方式。它将DNS查询封装在标准的HTTPS(超文本传输安全协议)请求中,并通过TCP 443端口进行传输。

工作原理: DoH巧妙地将DNS查询伪装成普通的网页浏览请求。当你的设备发起一个DoH查询时,它实际上是向一个支持DoH的HTTPS服务器发送一个HTTPS GET或POST请求,而这个请求的URL或请求体中包含了DNS查询的信息。服务器收到请求后,解析出DNS查询,执行解析,然后将结果封装在HTTPS响应中返回。

**核心优势:**混淆与隐蔽

...