DNS over HTTPS
互聯網安全協議 |
---|
密鑰管理 |
應用層 |
域名系統 |
網絡層 |
此條目翻譯品質不佳。 |
此條目可參照英語維基百科相應條目來擴充。 |
DNS over HTTPS(縮寫:DoH)是域名系統的安全協議,以HTTPS協議完成DNS解析來保護網絡主機的隱私,能避免傳統DNS協議中用戶的DNS解析請求被竊聽或者修改(例如中間人攻擊)的情況。[1]
DoH由IETF支持(見 RFC 8484 (頁面存檔備份,存於網際網路檔案館))。
Google及Mozilla基金會正在測試此協議,提高網絡安全性。[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/2和HTTPS,並支持有線格式DNS響應數據,如現有UDP響應中所返回的,在具有MIME類型application/dns-message
的HTTPS有效負載中。[5][6]如果使用HTTP/2,服務器也可以使用HTTP/2服務器推送來發送它預期客戶端可能提前發現有用的值。[7]
傳統的DNS協議形成於互聯網早期,直接基於UDP或TCP協議,且彼時未慮及現代安全性的需要,未利用密碼學等手段進行加密或驗證。因而,其無法抵禦現代互聯網常見的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],包括:
- AdGuard
- 阿里雲公共 DNS
- Cloudflare
- DNSPod Public DNS
- Google Public DNS
- OpenDNS
- QUAD9 DNS
- 台灣網路資訊中心(Quad 101)
詳見公共域名解析服務
軟件
[編輯]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。
參考資料
[編輯]- ^ 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.0 2.1 DNS-over-HTTPS | Public DNS | Google Developers. Google Developers. [2018-03-21]. (原始內容存檔於2018-03-20) (英語).
- ^ Cimpanu, Catalin. Mozilla Is Testing "DNS over HTTPS" Support in Firefox. BleepingComputer. 2018-03-20 [2018-03-21]. (原始內容存檔於2018-03-20) (美國英語).
- ^ Improving DNS Privacy in Firefox – Firefox Nightly News. Firefox Nightly News. [2018-09-05]. (原始內容存檔於2018-09-02) (美國英語).
- ^ IETF protects privacy and helps net neutrality with DNS over HTTPS. The Register. 2017-12-14. (原始內容存檔於2017-12-14) (英語).
- ^ DNS Queries over HTTPS (DoH). (原始內容存檔於2018-12-12) (英語).
- ^ 7.0 7.1 DNS Queries over HTTPS (DoH). (原始內容存檔於2021-04-30).
- ^ DNS over HTTPS Implementations. 2018-04-27 [2018-04-27]. (原始內容存檔於2018-04-02) (美國英語).
- ^ DNS Security and Privacy. 2018-04-27 [2018-03-27]. (原始內容存檔於2020-11-09) (美國英語).
- ^ AdGuard. Known DNS Providers. AdGuard. (原始內容存檔於2022-03-04) (英語).
- ^ 陳曉莉. iOS 14與macOS 11將新增對DoT與DoH的支援. iThome. [2021-09-16]. (原始內容存檔於2021-01-18).
- ^ tojens. Windows will improve user privacy with DNS over HTTPS. Microsoft Tech Community. [2019-11-22]. (原始內容存檔於2021-04-29).