跳至內容

DNS over HTTPS

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

DNS over HTTPS(縮寫:DoH)是域名系統的安全協定,以HTTPS協定完成DNS解析來保護網路主機的隱私,能避免傳統DNS協定中使用者的DNS解析請求被竊聽或者修改(例如中間人攻擊)的情況。[1]

DoH由IETF支援(見 RFC 8484頁面存檔備份,存於網際網路檔案館))。

GoogleMozilla基金會正在測試此協定,提高網路安全性。[2][3]2018年9月5日,Mozilla基金會發布的Firefox 62正式版加入了這項功能,但需要使用者手動開啟。[4]

特性

[編輯]

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

基於HTTPS的DNS是尚在提議階段的標準,由IETF以RFC 8484(2018年10月)發布。它使用HTTP/2HTTPS,並支援有線格式DNS回應資料,如現有UDP回應中所返回的,在具有MIME類型application/dns-message的HTTPS有效負載中。[5][6]如果使用HTTP/2,伺服器也可以使用HTTP/2伺服器推播來傳送它預期客戶端可能提前發現有用的值。[7]

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

實施方案

[編輯]

DNS over HTTPS用於DNS解析器的遞迴DNS解析。解析器(DoH客戶端)必須能夠訪問代管查詢端點的DoH伺服器。[7]基於HTTPS的DNS缺乏作業系統的本機支援。因此,希望使用它的使用者必須安裝附加軟體。三種使用場景很常見:

  • 在應用程式中使用DoH實現:某些瀏覽器具有內建的DoH實現,因此可以繞過作業系統的DNS功能來執行查詢。缺點是應用程式可能無法通過錯誤組態或缺乏對DoH的支援來通知使用者是否跳過DoH查詢。
  • 在本地網路中的名稱伺服器上安裝DoH代理:在此方案中,客戶端系統繼續使用傳統(埠53或853)DNS來查詢本地網路中的名稱伺服器,然後通過到達來通過DoH收集必要的回覆 網際網路中的DoH伺服器。 此方法對終端使用者是透明的。
  • 在本地系統上安裝DoH代理:在此方案中,作業系統組態為查詢本地執行的DoH代理。與前面提到的方法相反,需要在希望使用DoH的每個系統上安裝代理,這可能需要在更大的環境中付出很多努力。
  • 為作業系統安裝DoH解析外掛程式。

在所有這些方案中,DoH客戶端不直接查詢任何權威名稱伺服器。相反,客戶端依賴於使用傳統(埠53或853)查詢的DoH伺服器來最終到達權威伺服器。因此,DoH不具備端到端加密協定的資格,只有逐跳加密且僅在始終使用DNS over TLS時才有資格。

支援

[編輯]

公共DNS

[編輯]

DNS over HTTPS 功能已由部分公共 DNS 支援[8][9][10],包括:

詳見公共域名解析服務

軟體

[編輯]

Edge、Firefox、Chrome瀏覽器均支援DoH。

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

2019年11月17日,一篇在微軟官方部落格釋出的博文宣布,Windows 將支援 DNS over HTTPS(DoH),以加密 DNS 流量保護使用者隱私。[12]

Windows 11支援DoH。

參考資料

[編輯]
  1. ^ Chirgwin, Richard. IETF protects privacy and helps net neutrality with DNS over HTTPS. The Register. 14 Dec 2017 [2018-03-21]. (原始內容存檔於2017-12-14) (英語). 
  2. ^ 2.0 2.1 DNS-over-HTTPS  |  Public DNS | Google Developers. Google Developers. [2018-03-21]. (原始內容存檔於2018-03-20) (英語). 
  3. ^ Cimpanu, Catalin. Mozilla Is Testing "DNS over HTTPS" Support in Firefox. BleepingComputer. 2018-03-20 [2018-03-21]. (原始內容存檔於2018-03-20) (美國英語). 
  4. ^ Improving DNS Privacy in Firefox – Firefox Nightly News. Firefox Nightly News. [2018-09-05]. (原始內容存檔於2018-09-02) (美國英語). 
  5. ^ IETF protects privacy and helps net neutrality with DNS over HTTPS. The Register. 2017-12-14. (原始內容存檔於2017-12-14) (英語). 
  6. ^ DNS Queries over HTTPS (DoH). (原始內容存檔於2018-12-12) (英語). 
  7. ^ 7.0 7.1 DNS Queries over HTTPS (DoH). (原始內容存檔於2021-04-30). 
  8. ^ DNS over HTTPS Implementations. 2018-04-27 [2018-04-27]. (原始內容存檔於2018-04-02) (美國英語). 
  9. ^ DNS Security and Privacy. 2018-04-27 [2018-03-27]. (原始內容存檔於2020-11-09) (美國英語). 
  10. ^ AdGuard. Known DNS Providers. AdGuard. (原始內容存檔於2022-03-04) (英語). 
  11. ^ 陳曉莉. iOS 14與macOS 11將新增對DoT與DoH的支援. iThome. [2021-09-16]. (原始內容存檔於2021-01-18). 
  12. ^ tojens. Windows will improve user privacy with DNS over HTTPS. Microsoft Tech Community. [2019-11-22]. (原始內容存檔於2021-04-29).