跳至內容

DNS over HTTPS

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
DNS over HTTPS
網路傳輸協定
目的將DNS封裝於HTTPS中以提升隱私保護與安全性
發布於2018年10月,​6年前​(2018-10
OSI層級應用層
RFCRFC 8484

DNS over HTTPS(縮寫:DoH)是一種經由HTTPS協定進行的遠端域名系統(DNS)解析協定。該方法旨在防止網路中間人[1]對DNS資料進行的竊聽和操縱,利用HTTPS協定加密DoH客戶端和DoH伺服器(遞迴解析器)之間的資料,以提高使用者的隱私和安全性。DNS的查詢和回應會隱於其他HTTPS流量中。[2]

在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] (英語).