跳至主要內容

DNS over TLS (DoT) 深度解析:它如何守護你的上網隱私?

當你點擊一個連結時,即使該網站使用了 HTTPS 加密,你的網路服務供應商(ISP)依然能在幾毫秒內知道你想去哪裡,這全是因為傳統 DNS 查詢是以明文傳送的。

每當我們在瀏覽器輸入網址,背後都需要進行一次電話簿般的查詢。這個過程就是網域名稱系統(DNS)。如果你想重溫這個系統的基本運作,可以先看看DNS 的運作原理

然而,這個在 1983 年就設計好的系統,最初完全沒有考慮到安全防護。在預設情況下,不論是你的 ISP、路旁的公共 Wi-Fi 業者,還是潛伏在同一個網路下的惡意攻擊者,都能輕易看見你發出的每一個 DNS 請求。

為了解決這個長達數十年的隱私漏洞,工程師們開發了兩種主要的加密技術:DNS over TLS (DoT) 與 DNS over HTTPS (DoH)。今天我們就來聊聊居功厥偉的 DNS over TLS (DoT),看看它是如何默默在底層守護你的隱私,以及它與 DoH 到底有何不同。

什麼是 DNS over TLS (DoT)?

簡單來說,DNS over TLS (DoT) 是一種將原本「赤裸裸」的 DNS 查詢,塞進安全傳輸層協定(TLS)隧道中的技術。TLS 就是保護我們平時瀏覽網頁(HTTPS)的那層加密防護,現在它被借過來保護 DNS 查詢。

在網際網路工程任務組(IETF)於 2016 年 5 月發布的 RFC 7858 標準文件中,正式定義了 DoT。它的運作方式非常專一:

  • 專用連接埠:DoT 使用專門的 TCP 連接埠 853。
  • 單一目的:這個連接埠只處理 DNS 加密流量,不夾帶其他任何網頁資訊。
  • 連線建立:當你的裝置想要查詢網址時,會先與支援 DoT 的伺服器在連接埠 853 建立 TLS 握手,確認對方身分並交換金鑰,隨後所有的查詢與回應都會在這個加密管道中進行。

這種設計帶來了極高的安全性。因為流量被加密了,任何中間人都無法窺探你正在存取哪些網域。這不僅能防範隱私外洩,更能防止駭客篡改 DNS 回應,避免你被引導到釣魚網站。

不過,這種「專線專用」的特性,也帶來了硬幣的另一面。因為它走的是專屬的通道,在某些網路環境下,它會面臨不同的命運,這就必須提到它的最大對手。

當 DoT 遇上 DoH:兩大加密陣營的對決

在討論加密 DNS 時,你一定會同時聽到 DNS over HTTPS (DoH)。雖然這兩者都使用 TLS 加密,但它們的設計哲學和實作路徑截然不同。

IETF 在 2018 年 10 月推出了 RFC 8484,也就是 DoH 的技術標準。相較於 DoT 使用專用的 853 連接埠,DoH 選擇了一條完全不同的路:它將 DNS 查詢包裝成一般的 HTTPS 網頁流量,並透過標準的連接埠 443 傳送。

這細微的差別,在實際應用上產生了巨大的影響:

1. 隱藏性與偽裝能力

DoH 的最大優勢在於「隱形」。因為它使用連接埠 443(這也是全球所有安全網頁流量使用的連接埠),在網路管理員或 ISP 的眼裡,DoH 流量看起來與一般的網頁瀏覽、影片串流或線上購物毫無二致。

相反地,DoT 使用專用的連接埠 853。這意味著網路管理員雖然無法看到你查詢了哪些網站,但他們可以輕易地看出「這個裝置正在使用 DoT 加密服務」。

2. 防火牆阻擋難易度

由於 DoT 的流量特徵非常明顯(全部擠在連接埠 853),如果某個學校、企業或國家的網路想要進行嚴格管制,他們只需要在防火牆上直接封鎖連接埠 853。這樣一來,你的 DoT 就會立刻失效,迫使系統降級回不安全的明文 DNS,或是直接斷網。

但如果要封鎖 DoH,事情就麻煩多了。因為封鎖連接埠 443 等同於封鎖了整個網際網路——你將無法登入網路銀行、無法使用 Google、也無法觀看 Netflix。因此,在極端受限的網路環境中,DoH 的穿透力遠高於 DoT。

3. 控制權歸屬

這是一個常被忽略卻非常深奧的議題。DoT 通常是在作業系統層級(如 Android 9+ 或 iOS)進行設定,這代表你整台裝置的所有應用程式,都會遵循同一個安全規則。

而 DoH 則深受瀏覽器開發商(如 Google Chrome、Mozilla Firefox)的喜愛。瀏覽器可以直接在內部啟用 DoH,繞過作業系統的設定。這雖然方便,卻也引起了網路管理者的擔憂,因為這代表個別應用程式可以輕易繞過企業內部的網路安全監控。

了解了這兩者的技術本質後,我們就能更客觀地評估在不同的生活情境下,究竟該選擇哪一套方案。

效能與隱私的拉鋸戰

許多人在選擇加密方案時,最擔心的就是「網路會不會變慢?」。畢竟,多了加密握手的步驟,理論上會增加延遲。

令人驚訝的是,在實際量測中,DoT 與 DoH 的效能表現與傳統明文 DNS 相比,差距微乎其微。這得益於現代伺服器普遍支援的 TLS 會話重用(TLS Session Resumption)技術。一旦你的裝置與 DNS 伺服器(例如 Cloudflare 的 1.1.1.1 或 Google 的 8.8.8.8)建立了首次連線,後續的查詢就不需要每次都重新進行繁複的密鑰交換。

如果硬要將 DoT 與 DoH 進行效能對決,DoT 通常會稍微勝出一些。

原因在於 DoH 多了一層 HTTP 協定的包裝(Headers、MIME 格式等),這增加了數據包的體積。而 DoT 則是直接將原始的 DNS 數據塞進 TLS,結構更為精簡。對於講求極致效率與低開銷的系統底層來說,DoT 顯得更加乾淨俐落。

當然,不管你選擇哪一種加密方式,最重要的前提是你的查詢不能在途中漏聯。如果你想知道自己的加密設定是否真的發揮作用,可以參考這篇關於DNS 洩漏的深入探討,確保你的真實 IP 與查詢要求沒有在無意間裸奔。

我們該如何選擇?

既然兩者各有優缺點,我們在日常生活中該如何取捨?這裡有一個簡單的決策指南:

  • 如果你在設定行動裝置(如 Android 手機):強烈建議使用 DoT。Android 系統自帶的「私人 DNS」功能就是採用 DoT 技術。你只需要在設定中輸入像 one.one.one.one 這樣的 DoT 主機名,整台手機所有的 App 就會自動獲得加密保護,既省電又安全。
  • 如果你身處嚴格管制的網路環境:例如某些企業內部網路、學校宿舍,或是某些實施網路審查的地區,DoH 是你的首選。因為它能完美融入常規網頁流量中,避免被管理員一刀切地封鎖。
  • 如果你注重系統架構的純粹性:你希望在作業系統或路由器層級解決所有問題,不希望各個瀏覽器「各吹各的號」,那麼選擇支援 DoT 的路由器或系統防護軟體會是更優雅的解決方案。

在保障網路隱私的這條路上,加密 DNS 只是第一步。雖然它成功讓 ISP 無法得知你造訪的網域名稱,但當你真正連線到目標伺服器時,你的 IP 位址依然會暴露在對方的伺服器日誌中。