Oblivious DNS over HTTPS (ODoH):嘗試改善 DNS 隱私

已發表: 2020-12-14

域名系統或 DNS 是互聯網上存在的所有不同網站的分散式命名系統。 它是互聯網的重要組成部分之一,已經存在了三十多年。 在此期間,該系統一直受到批評,並提出了有效的論據,就其實施及其帶來的隱私問題提出了質疑。 因此,已經有一些嘗試來解決這些問題。

Oblivious DNS over HTTPS (ODoH)

一個這樣的提議——也是最近的一個——是引入 DNS over HTTPS (DoH) 協議,該協議承諾通過以加密方式傳輸 DNS 通信來保護它。 雖然 DoH 在理論上看起來很有希望並設法解決了 DNS 的一個問題,但它無意中帶來了另一個問題。 為了解決這個問題,我們現在有了另一個名為 Oblivious DNS over HTTPS (ODoH) 的協議,它由 Cloudflare、Apple 和 Fastly 共同開發。 Oblivious DoH 基本上是 DoH 協議的擴展,它將 DNS 查詢與(用戶的)IP 地址分離,以防止 DNS 解析器知道用戶訪問的站點——有點 [稍後會詳細介紹]。

ODoH 的目的是將關於誰在進行查詢和查詢是什麼的信息分開,”Cloudflare 的研究主管 Nick Sullivan 在博客中說。

目錄

HTTPS(或 ODoH)上的無意識 DNS

在直接了解 ODoH 是什麼之前,讓我們首先了解什麼是 DNS,然後是 DNS over HTTPS,以及兩者帶來的限制。

DNS(域名系統)

域名系統或 DNS 是一個分散的系統,用於保存互聯網上所有網站的記錄。 您可以將其視為電話號碼的存儲庫(或電話目錄),其中包含電話訂戶及其相應電話號碼的列表。

DNS working
圖片:總正常運行時間

在 Internet 方面,DNS 是建立系統的關鍵參與者,該系統使您只需輸入其域名即可訪問網站,而無需您記住其關聯的 IP(Internet 協議)地址。 因此,您可以在地址字段中輸入 techpp.com 來查看此站點,而無需記住其 IP 地址,該地址可能類似於 103.24.1.167 [不是我們的 IP]。 你看,它是在你的設備和你試圖訪問的網站之間建立連接所需的 IP 地址。 但由於 IP 地址不像域名那樣容易記住,因此需要 DNS 解析器將域名解析為相關的 IP 地址並返回所請求的網頁。

DNS問題

儘管 DNS 簡化了互聯網訪問,但它確實存在一些缺點——其中最大的缺點是缺乏隱私(和安全性),這會給用戶數據帶來風險,並使其暴露在 ISP 的查看或某些人的竊聽中互聯網上的壞人。 這可能是因為 DNS 通信(DNS 請求/查詢和響應)是未加密的,這意味著它以純文本形式發生,因此可以被中間的任何人(在用戶和 ISP 之間)截獲.

DoH(基於 HTTPS 的 DNS)

正如最初提到的,DNS over HTTPS (DoH) 協議已經被引入來解決這個(安全)DNS 問題。 基本上,該協議所做的是,它不是讓 DNS 通信(在 DoH 客戶端和基於 DoH 的解析器之間)以純文本形式進行,而是使用加密來保護通信。 通過這樣做,它設法保護用戶對互聯網的訪問,並在一定程度上降低了中間人攻擊的風險。

DNS over HTTPS (DoH) working

DoH 的問題

雖然 DoH 解決了通過 DNS 進行未加密通信的問題,但它引發了隱私問題——讓 DNS 服務提供商完全控制您的網絡數據。 因為,由於 DNS 提供商充當您和您訪問的網站之間的中間人,它保存著您的 IP 地址和 DNS 消息的記錄。 在某種程度上,這引發了兩個擔憂。 第一,它讓一個實體可以訪問您的網絡數據——允許解析器將您的所有查詢與您的 IP 地址鏈接,第二,由於第一個問題,它使通信容易出現單點故障(攻擊) .

ODoH 協議及其工作原理

由 Cloudflare、Apple 和 Fastly 共同開發的最新協議 ODoH,旨在解決 DoH 協議的中心化問題。 為此,Cloudflare 建議新系統將 IP 地址與 DNS 查詢分開,這樣除了用戶之外,沒有任何一個實體可以同時查看這兩條信息。

ODoH 通過實施兩項更改來解決這個問題。 它在客戶端(用戶)和 DoH 服務器之間添加了一層公鑰加密和網絡代理。 通過這樣做,它聲稱保證只有用戶可以同時訪問 DNS 消息和 IP 地址。

ODoH working

簡而言之,ODoH 就像是 DoH 協議的擴展,旨在實現以下目標:

一世。 通過代理引導請求以刪除客戶端地址,防止 DoH 解析器知道哪個客戶端請求了哪些域名,

ii. 防止代理知道查詢和響應的內容,並通過分層加密連接來防止解析器知道客戶端的地址。

使用 ODoH 的消息流

要了解 ODoH 的消息流,請考慮上圖,其中代理服務器位於客戶端和目標之間。 如您所見,當客戶端請求查詢(例如 example.com)時,代理服務器也是如此,然後代理服務器將其轉發給目標。 目標接收此查詢,對其進行解密,並通過將請求發送到(遞歸)解析器來生成響應。 在返回的路上,目標對響應進行加密並將其轉發到代理服務器,然後代理服務器隨後將其發送回客戶端。 最後,客戶端解密響應並以針對其請求的查詢的響應結束。

在此設置中,客戶端和代理以及代理和目標之間的通信通過 HTTPS 進行,這增加了通信的安全性。 不僅如此,通過 HTTPS 連接(客戶端代理和代理目標)進行的整個 DNS 通信都是端到端加密的,因此代理無法訪問消息的內容。 然而,話雖如此,雖然這種方法同時兼顧了用戶隱私和安全性,但保證一切都按建議運行歸結為最終條件——代理和目標服務器不勾結。 因此,該公司建議“只要不存在共謀,攻擊者只有在代理和目標都受到威脅的情況下才能成功。”

根據 Cloudflare 的博客,以下是加密和代理保證的內容:

一世。 目標只能看到查詢和代理的 IP 地址。

ii. 代理無法查看 DNS 消息,無法識別、讀取或修改客戶端發送的查詢或目標返回的答案。

iii. 只有預期的目標才能讀取查詢的內容並產生響應。

ODoH 可用性

Oblivious DNS over HTTPS (ODoH) 目前只是一個提議的協議,需要得到 IETF(互聯網工程任務組)的批准,然後才能在網絡上採用。 儘管 Cloudflare 表示,到目前為止,它已經讓 PCCW、SURF 和 Equinix 等公司作為其代理合作夥伴來幫助啟動該協議,並增加了在其 1.1.1.1 DNS 服務上接受 ODoH 請求的能力,事情的真相是,除非網絡瀏覽器本機添加對該協議的支持,否則您無法使用它。 因為,該協議仍處於開發階段,並且正在測試不同代理、延遲級別和目標的性能。 作為一個原因,立即仲裁ODoH的命運可能不是明智之舉。

根據可用的信息和數據,該協議似乎對 DNS 的未來充滿希望——當然,它設法在不影響性能的情況下實現了它所承諾的那種隱私。 由於現在很明顯,負責在互聯網運行中發揮關鍵作用的 DNS 仍然存在隱私和安全問題。 儘管最近增加了承諾增加 DNS 安全性的 DoH 協議,但由於它引發的隱私問題,採用似乎仍然遙遙無期。

但是,如果 ODoH 能夠在隱私和性能方面實現其聲稱,那麼它與 DoH 的結合,在協同工作的同時,可以解決 DNS 的隱私和安全問題。 反過來,讓它比現在更加私密和安全。