近日,Cloudflare在官方博客宣布支持一項新提議的DNS標準——Oblivious DNS。該標準由Cloudflare、Apple和Fastly三家公司的工程師共同撰寫,能夠將IP地址(創建)與查詢分開,從而確保沒有一個實體可以同時看到兩者(從而獲取用戶隱私)。
在過去的三十多年中,DNS這一互聯網基礎技術已經對每天使用互聯網的數十億人構成了隱私和安全威脅。Cloudflare、Apple和內容交付網絡Fastly引入了一種新穎的方法來修復此問題,該技術可以防止服務提供商和網絡窺探看到最終用戶訪問或向其發送電子郵件的地址。
上述三家公司的工程師共同設計了Oblivious DNS,這是對當前DNS域名系統的重大更改。其中兩家公司正在與互聯網工程任務組(IETF)合作,希望推動其成為行業標準。
ODoH目前的主要代理合作伙伴
Oblivious DNS的縮寫是ODoH,是對DoH(DNS over HTTPS)的改進,目前仍處于應用的早期階段。
對于ODoH,首批代理合作伙伴之一,SURF的技術產品經理Joost van Dijk是這樣評價的:“我們正在與Cloudflare合作,以通過ODoH實現更好的用戶隱私。遷移到ODoH是一個真正的范式轉變,用戶的隱私或IP地址沒有暴露給任何提供者,從而實現了真正的隱私安全。遷移到ODoH不僅是一種范式轉變,而且還強調了隱私對任何用戶的重要性,尤其是在2020年。這與我們對隱私的核心關注和信念產生了共鳴?!?/p>
DNS的工作方式
當有人訪問某網站(xxx.com)時,瀏覽器必須首先獲取托管服務器使用的IP地址(例如3.128.236.93)。瀏覽器會聯系一個DNS解析器,該解析器通常由ISP或Google的8.8.8.8或Cloudflare的1.1.1.1之類的服務來操作。
但是,DNS存在兩個先天的關鍵缺陷。
首先,DNS查詢及其返回的響應未加密。這樣一來,任何人都可以查看連接以監視用戶正在訪問的站點。更糟糕的是,具有此功能的人也可能會篡改響應,以便用戶訪問偽裝(或釣魚)網站,而不是正牌網站。
為了解決此問題,Cloudflare和其他地方的工程師開發了DoH(DNS over HTTPS)和DoT(DNS over TLS)。這兩種協議都對DNS查詢進行加密,從而使發送方和接收方之間的人無法查看或篡改流量。但業界對DoH和DoT褒貶不一,許多人仍然對其持懷疑態度,主要是因為只有少數提供商支持這種協議,這意味著少數幾個提供商有可能記錄潛在的數十億人的互聯網使用情況。
這也引出了DNS的第二個主要缺陷。即使部署了DoH或DoT,其加密并不能阻止DNS提供商同時看到查詢請求和發出請求的計算機IP地址,這使DNS服務商可以建立地址查詢者的全面檔案。如前所述,當DoH或DoT提供商的數量很少時,隱私泄露風險仍然更大。
ODoH旨在解決第二個缺陷。作為IETF正在開發的新協議,ODoH通過添加一層公共密鑰加密,并且在最終用戶和DoH服務器之間放置一個網絡代理,以確保只有該用戶才能同時訪問DNS請求信息以及發送和接收該信息的個人IP地址。如下圖所示:
Oblivious DNS的運作機制
Cloudflare研究人員Tanya Verma和Sudheesh Singanamalla在介紹Obdovious DoH的博客文章(https://blog.cloudflare.com/oblivious-dns/)中寫道:整個過程從客戶端使用HPKE加密對目標的查詢開始??蛻舳送ㄟ^DNS獲取目標的公鑰,并將其捆綁到HTTPS資源記錄中并由DNSSEC保護。當此密鑰的TTL過期時,客戶端會根據需要請求密鑰的新副本(就像該記錄的TTL過期時對A/AAAA記錄的要求一樣)。使用目標的經DNSSEC驗證的公共密鑰可確保只有目標可以解密查詢并加密響應(回復)。
客戶端通過HTTPS連接將這些加密的查詢傳輸到代理,代理再將查詢轉發到指定目標。然后目標解密該查詢,通過將查詢發送到遞歸解析器(例如1.1.1.1)來生成響應,然后將響應加密到客戶端。來自客戶端的加密查詢包含封裝的密鑰材料,目標可從中獲得響應所需的對稱加密密鑰。
然后將目標的響應發送回代理,最后轉發給客戶端。盡管這些DNS消息是通過兩個單獨的HTTPS連接(客戶端代理和代理目標)傳輸的,但所有這些通信都經過端到端加密,因此所有通信都是經過身份驗證的機密信息。
正在進行的工作
工程師們仍在評估為DNS添加代理和加密的性能成本。但是,早期結果看上去前景不錯。在DoH和ODoH的對比測試中,99%的ODoH查詢/響應的代理開銷不到1毫秒,Cloudflare在其官方博客中提供了有關ODoH性能的更詳細的討論。
到目前為止,ODoH仍在進行中。在Cloudflare的大力支持下,Apple和Fastly的貢獻以及Firefox和其他公司的關注使ODoH值得認真對待。同時,由于缺少Google、Microsoft和其他巨頭的支持,ODoH還有很長的路要走。
總而言之,今天的DNS仍然非常脆弱。時間已經來到2020年,DNS這個互聯網最基礎的技術機制之一并未得到普遍加密,這簡直令人抓狂。批評者抵制DoH和DoT,原因是擔心它會犧牲隱私權來換取安全性。如果ODoH可以更有效地保護隱私,贏得“民意”,并且在此過程中不會破壞互聯網,那將是值得期待的一次DNS變革。
參考資料
Improving DNS Privacy with Oblivious DoH in 1.1.1.1
https://blog.cloudflare.com/oblivious-dns/