DNS over HTTPS(缩写:DoH)是一种经由HTTPS协议进行的远程域名系统(DNS)解析协议。该方法旨在防止网络中间人[1]对DNS数据进行的窃听和操纵,利用HTTPS协议加密DoH客户端和DoH服务器(递归解析器)之间的数据,以提高用户的隐私和安全性。DNS的查询和响应会隐于其他HTTPS流量中。[2]

DNS over HTTPS
网络传输协议
目的将DNS封装于HTTPS中以提升隐私保护与安全性
发布于2018年10月,​7年前​(2018-10
OSI层级应用层
RFCRFC 8484

在2018年3月,GoogleMozilla基金會就开始测试基于HTTPS的DNS版本。[3][4]2018年9月5日,Mozilla基金会发布的Firefox 62正式版加入了这项功能,但需要用户手动开启。[5]2020年2月,Firefox为美国用户默认切换到DNS over HTTPS。[6]2020年5月,Chrome的默认解析切至DNS over HTTPS。[7]

特性

编辑

DNS over HTTPS利用HTTP協議的GET命令发出經由JSON等編碼的DNS解析請求。[3]較於傳統的DNS協議,此處的HTTP協議通訊處於具有加密作用的SSL/TLS協議(兩者統稱作HTTPS)的保護之下。但是,由於HTTPS本身需要經由多次數據來回傳遞才能完成協議初始化,其域名解析耗時較原DNS協議會顯著增加。

DoH作为一个提议阶段的标准,由IETFRFC 8484(2018年10月)发布。其使用HTTPS,并支持“有线格式”(英語:wire format)DNS响应数据,如现有的UDP响应中所返回的数据一样,在具有MIME类型application/dns-message的HTTPS有效负载中。[1][8]: §4.1 承载其的HTTP层可以是任何版本的HTTP协议,但HTTP/2是“推荐”的最低版本。[8]: §5.2 若使用HTTP/2,服务器还可以使用HTTP/2服务器推送来预先发送其预计可为其客户端所用的值。[8]: §5.3 

尽管IETF已将RFC 8484作为提议的标准发布,并且各大公司正在对其进行实验,DoH还是一项进行中的工作。[9][10]

傳統的DNS協議形成於互聯網早期,直接基於UDPTCP協議,且彼時未慮及現代安全性的需要,未利用密碼學等手段進行加密或驗證。因而,其無法抵禦現代互聯網常見的DNS投毒污染等攻擊手段或監聽。雖然後來的DNSSEC方案通過電子簽名進行驗證,強化了DNS的安全性,並能夠抵禦DNS投毒污染等篡改通訊的手段,但其對於中間網絡設備進行的監聽仍然沒有抵禦能力(隨後,監聽者可以通過獲取的通訊數據知曉用戶訪問了哪一域名,而域名往往與具體的網站相關聯)。此外,DNSSEC的起效要求現有的大量DNS解析服務的提供商(常爲互聯網服務供應商或第三方大型互聯網機構)對已有的DNS服務器進行大範圍修改等問題,其推進進程並不理想。而對於DNS over HTTPS,在正確部署服務端並妥善配置客戶端的前提下,互聯網服務供應商或其它中間網路設備無法解密(亦即無法獲知請求的實際內容)或者篡改已經加密的HTTPS通訊,故其能夠有效保護互聯網使用者的安全及隱私;另一方面,其基於已經成熟並已廣泛部署的HTTPS協議,客戶端進行利用較爲方便。

实施方案

编辑

DNS over HTTPS用于DNS解析器的递归DNS解析。解析器(DoH客户端)必须能够访问托管查询端点的DoH服务器。[8]基于HTTPS的DNS缺乏操作系统的本机支持。因此,希望使用它的用户必须安装附加软件。三种使用场景很常见:

  • 在应用程序中使用DoH实现:某些浏览器具有内置的DoH实现,因此可以绕过操作系统的DNS功能来执行查询。缺点是应用程序可能无法通过错误配置或缺乏对DoH的支持来通知用户是否跳过DoH查询。
  • 在本地网络中的名称服务器上安装DoH代理:在此方案中,客户端系统继续使用传统(端口53或853)DNS来查询本地网络中的名称服务器,然后通过到达来通过DoH收集必要的回复 互联网中的DoH服务器。 此方法对最终用户是透明的。
  • 在本地系统上安装DoH代理:在此方案中,操作系统配置为查询本地运行的DoH代理。与前面提到的方法相反,需要在希望使用DoH的每个系统上安装代理,这可能需要在更大的环境中付出很多努力。

支持

编辑

公共DNS

编辑

DNS over HTTPS功能已由部分公共DNS支持[11][12][13],包括但不限:

软件

编辑

Edge、Firefox、Chrome浏览器均支持DoH。

操作系统

编辑

苹果

编辑

2020年6月,蘋果在WWDC大會宣布iOS 14與macOS 11新增對加密DNS的支援,包括DNS over HTTPS(DoH)與DNS over TLS(DoT)。[14]

微软Windows

编辑

2019年11月17日,一篇在微软官方博客释出的博文宣布,Windows将支持DNS over HTTPS(DoH),以加密DNS流量保护用户隐私。[15]

Windows 11支持DoH。

Android

编辑

Android 11及更高版本支持DNS over HTTP/3(DoH3),拥有快速稳健的响应。[16]

参考资料

编辑
  1. ^ 1.0 1.1 Chirgwin, Richard. IETF protects privacy and helps net neutrality with DNS over HTTPS. The Register. 14 Dec 2017 [2018-03-21]. (原始内容存档于14 December 2017) (英语). 
  2. ^ DNS over HTTPS · Cloudflare 1.1.1.1 docs. Cloudflare Docs. 2024-01-17 [2024-02-21] (英语). 
  3. ^ 3.0 3.1 DNS-over-HTTPS | Public DNS | Google Developers. Google Developers. [2018-03-21]. (原始内容存档于2018-03-20) (英语).  – Google provides two endpoints: one for its 2018 JSON API, one for an RFC 8484 API.
  4. ^ Cimpanu, Catalin. Mozilla Is Testing "DNS over HTTPS" Support in Firefox. BleepingComputer. 2018-03-20 [2018-03-21]. (原始内容存档于2018-03-20) (美国英语). 
  5. ^ Improving DNS Privacy in Firefox – Firefox Nightly News. Firefox Nightly News. [2018-09-05]. (原始内容存档于2018-09-02) (美国英语). 
  6. ^ "A long-overdue technological shift toward online privacy": Firefox encrypts domain names. Google to follow.. What's New in Publishing | Digital Publishing News. 2020-02-26 [2020-02-26]. (原始内容存档于2020-02-26) (美国英语). 
  7. ^ Google Makes DNS Over HTTPS Default in Chrome. Decipher. 2020-05-20 [2024-03-29] (英语). 
  8. ^ 8.0 8.1 8.2 8.3 Hoffman, P; McManus, P. RFC 8484 - DNS Queries over HTTPS. datatracker.ietf.org. [2018-05-20]. (原始内容存档于2018-12-12) (英语). 
  9. ^ Experimenting with same-provider DNS-over-HTTPS upgrade. Chromium Blog. [2019-09-13]. (原始内容存档于2019-09-12) (英语). 
  10. ^ Deckelmann, Selena. What's next in making Encrypted DNS-over-HTTPS the Default. Future Releases. 6 September 2019 [2019-09-13]. (原始内容存档于2019-09-14) (美国英语). 
  11. ^ DNS over HTTPS Implementations. 2018-04-27 [2018-04-27]. (原始内容存档于2018-04-02) (美国英语). 
  12. ^ DNS Security and Privacy. 2018-04-27 [2018-03-27]. (原始内容存档于2020-11-09) (美国英语). 
  13. ^ AdGuard. Known DNS Providers. AdGuard. (原始内容存档于2022-03-04) (英语). 
  14. ^ 陳曉莉. iOS 14與macOS 11將新增對DoT與DoH的支援. iThome. [2021-09-16]. (原始内容存档于2021-01-18). 
  15. ^ tojens. Windows will improve user privacy with DNS over HTTPS. Microsoft Tech Community. [2019-11-22]. (原始内容存档于2021-04-29). 
  16. ^ DNS-over-HTTP/3 in Android. Google Online Security Blog. [2025-03-24] (英语). 

📚 Artikel Terkait di Wikipedia

DNS over TLS

TLS的支持。BIND用户也可以通过stunnel代理提供DNS over TLS服务。2020年6月,蘋果在WWDC大會宣布iOS 14與macOS 11新增對加密DNS的支援,包括 DNS over HTTPS(DoH)與 DNS over TLS(DoT)。 DNS over HTTPS DNSCrypt Duane,

域名系统

DNS 有效负载。DoT 服务器侦听 TCP 端口 853。RFC 7858 指定可以支持机会加密和认证加密,但没有强制服务器或客户端认证。 互联网工程任务组的 RFC 9250 描述了 DNS over QUIC。 2018 年引入了 DNS 查询传输的竞争标准,通过 HTTPS 隧道传输

公共域名解析服务

和支持非营利社区。个别服务商开始提供安全DNS查询传输服务,如DNS over HTTPS(DoH)和DNS over TLS(DoT)。 How to Change Your Default DNS to Google DNS for Fast Internet Speeds. TechWorm

OpenDNS

FamilyShield DNS 解析服务器地址: 2620:119:35::123 2620:119:53::123 以下为 OpenDNS 的免费 DNS over HTTPS 解析服务器地址:[2] (页面存档备份,存于互联网档案馆) OpenDNS: https://dns.opendns.com/dns-query

DNSCrypt

Yandex則在其自家的瀏覽器產品上內建了自有的DNSCrypt客户端支援。 Curve25519 DNSCurve DNS over HTTPS(DoH) DNS over TLS(DoT) 域名系统安全扩展(DNSSEC) 椭圆曲线密码学 [dnscrypt]写了一个 dnscrypt 的服务器端代理

DOH

DOH可能有以下意思: DNS over HTTPS 多哈国际机场的IATA代码

Quad9

递归名称服务器。这些地址使用任播路由到最近的可用服务器。Quad9支持经由端口53、9953的经典非加密DNS解析、端口853的DNS over TLS、端口443的DNS over HTTPS以及端口8443的DNSCrypt。 1.1.1.1 8.8.8.8 响应策略区(英语:Response

DNS证书颁发机构授权

DNS证书颁发机构授权(英語:DNS Certification Authority Authorization,简称:CAA)是一种互联网安全政策机制,允许域名持有人指定可以为其域签发证书的证书颁发机构。该政策凭借一个新的域名系统资源记录“CAA”来实现。 这一标准由计算机科学家菲利普·哈勒姆-贝克(英语:Phillip