Tor 網路:洋蔥路由的實際運作原理

14 最小閱讀量隱私網路

Tor 是有史以來最成功的匿名網路。 200 萬日常用戶、7000 名志工中繼以及任何商業 VPN 都無法比擬的威脅模型。它也比撥號慢,經常被誤解,並且不會拯救自己。這是誠實的解釋者。

完整的文章正文以英文提供如下。

Tor 的來源

洋蔥路由概念是 1990 年代中期由數學家 Paul Syverson 與電腦科學家 Michael G. Reed 和 David Goldschlag 在美國海軍研究實驗室開發的。最初的目標是保護美國情報通信。該技術在成為實用網路之前幾年就已作為學術概念發布。

Tor 實作本身於 2002 年 9 月 20 日推出,由 Roger Dingledine 和 Nick Mathewson 與 Syverson 合作建構。 Tor Project, Inc. 是一家麻薩諸塞州 501(c)(3) 非營利組織,成立於 2006 年。根據最新的公共資金揭露,該計畫大約 80% 的年度預算來自美國政府,包括國務院、廣播理事會和國家科學基金會。其餘部分來自 EFF 支援、私人捐款者以及 Google 和 Reddit 等企業贊助商。

Tor 電路的工作原理

當您的 Tor 用戶端連接到網站時,它會透過三個隨機選擇的志願者中繼路由流量:

  1. Guard(入口)中繼:看到您的真實 IP 位址,但看不到您看不到您的目的地。相同的少數守衛一次重複使用數週,以限制暴露於稱為前身攻擊的一類攻擊。
  2. 中間中繼:既看不到您的IP,也看不到您的目的地,只能看到上一跳和下一跳。
  3. 退出中繼:看到您的目的地(以及任何未加密的內容),但看不到您的真實IP - 僅中間中繼的IP。

在每一跳,客戶端都會剝去一層加密,就像剝洋蔥一樣。沒有任何一個中繼站知道足夠的資訊來將您連接到目的地。這是使 Tor 比 VPN 更強大的基本屬性:即使任何一個中繼受到損害或有敵意,您的匿名性也會保留。

目錄權限系統

Tor 維護九個目錄權限伺服器,它們每小時對網路共識進行投票 - 哪些中繼是好的,哪些是壞的,哪些可以退出,每個可以處理多少流量。這些機構的 IP 位址被硬編碼到每個 Tor 用戶端。新客戶端在啟動時下載最新的共識。

這是一個已知的結構性弱點:九個權威機構中的五個的妥協可能會改變共識,以透過攻擊者控制的中繼引導流量。 Tor 專案在地理和組織上分配權限以減輕風險,但集中是不可避免的。

退出節點 - 威脅模型變得細緻入微

Tor 不會加密退出中繼和目標伺服器之間的流量。如果您的目的地是 HTTPS,則出口只能看到您正在與該網域通訊 — 內容透過 TLS 進行端對端加密。如果您的目標是純文字 HTTP,則退出可以讀取、記錄和修改所有內容。

存在有記錄的惡意退出案例。研究人員發現,出口節點會在純文字網站上捕獲使用者名稱和密碼,修改 HTTP 回應中的比特幣地址以重定向支付,以及透過針對不強制執行 HSTS 的網站的 SSL 剝離攻擊來剝離 HTTPS。 Tor 瀏覽器預設啟用僅 HTTPS 模式,專門用於防禦這種情況。

退出節點行為的另一個後果:許多網站要麼完全阻止 Tor 退出,要麼以額外的懷疑態度對待它們(驗證碼、帳戶驗證、支付摩擦)。 Cloudflare 在向 Tor 流量提供驗證碼牆方面有著悠久的歷史。

洋蔥服務 (.onion)

洋蔥服務是只能透過 Tor 存取的伺服器。這個位址以 .onion 結尾,看起來像一長串 base32 字元。用戶端與伺服器皆透過三個中繼路由,在交會點相遇 — 兩端都不會獲知對方的 IP 位址。

第一個規範於 2003 年發布,並於 2004 年部署。目前的 v3 標準使用更長的位址(56 個字元)來增強加密安全性。舊的 v2 標準已於 2021 年被棄用,並從 Tor 的後續版本中完全刪除。如果您今天看到共享 16 個字元的 .onion 位址,則該位址已損壞。

<包括《衛報》、《紐約客》、ProPublica 和 The Intercept 在內的主要新聞機構與 SecureDrop 一起運行洋蔥服務,以便舉報人可以匿名提交文件。 BBC、Facebook、紐約時報和 DuckDuckGo 都維護著官方的洋蔥鏡像。 Onion 服務不僅適用於暗網。

Tor Browser

Tor Browser 是使用 Tor 進行瀏覽的支援方式。它是 Mozilla Firefox ESR 的分支,帶有一組精選的隱私擴充功能:TorButton、TorLauncher、NoScript 和 Tor 代理程式。 Steven J. Murdoch 建構了第一個版本,於 2008 年 1 月發布。

瀏覽器自動刪除會話端的 cookie 和歷史記錄,使用標準化的使用者代理程式和螢幕大小字串來擊敗瀏覽器指紋識別,並允許您調整具有三個位置的全域安全滑桿:

  • Standard:一切啟用。最佳使用者體驗,最弱的匿名性。
  • Safer:在非 HTTPS 網站上停用 JavaScript,停用某些字型和數學符號。
  • Safest:到處停用 JavaScript,停用大多數多媒體。

如果您的威脅模型足夠嚴重,以至於您正在使用 Tor,將滑桿設定為最安全,並接受損壞的網站作為開展業務的成本。

Pluggable 傳輸和橋接

Tor 的預設協定很容易被識別,這就是為什麼幾個政府完全阻止它的原因。解決方法是 pluggable Transports - 將 Tor 流量偽裝成其他東西的小包裝器:

  • obfs4:使 Tor 流量看起來像隨機位元組流,沒有可識別的握手。
  • meek:隧道 Tor使用網域前端,透過 HTTPS 連接至 Microsoft Azure 或 Amazon CloudFront 等大型 CDN 網域。
  • snowflake:使用普通志工運作的 WebRTC 對等點作為臨時入口點,使得透過 IP 進行阻止不可行。

Pluggable 傳輸與 bridges 配對 —未列出的入口點中繼不會出現在公共目錄中,因此無法透過簡單的 IP 枚舉來阻止。

已知的攻擊

流量相關性

Tor 的建構並不是為了防止可以同時觀察網路兩端的攻擊者。如果對手觀察您進入守衛的流量並觀察離開出口的流量,他們可以將時間和資料包大小關聯起來,以確認您是源頭。這是眾所周知的,並且被認為是一種結構性限制。目前還沒有大規模使用這種方法的記錄案例,但有針對性的調查表明它對特定嫌疑人有效。

2014 年中繼早期攻擊

2014 年 7 月,Tor 專案揭露,一組惡意中繼(相當於防護能力的 6.4%)已經運作了數月,試圖對洋蔥服務使用者進行去匿名化。中繼修改特定流量以實現客戶端防護和洋蔥服務請求之間的關聯。繼電器被拆除;該研究最終被歸因於進行未經同意的安全研究的大學研究所。

「匿名行動」和「魚雷行動」

2014 年「匿名行動」導致 17 名暗市業者在國際上被捕。確切的機制從未公開披露,但 Tor 項目的官方立場是,這是傳統的警察工作(目標的操作安全失敗),而不是對 Tor 的根本性破壞。魚雷行動(2011-2012)透過 Firefox 漏洞瞄準 Tor 瀏覽器 - Flash 漏洞將用戶的真實 IP 發送給 FBI,識別出至少 25 個美國用戶。史諾登洩密事件中揭露的 EgotisticalGiraffe 漏洞利用了類似的 Firefox 漏洞。

Tor 與 VPN

VPN 和 Tor 解決不同的問題。 VPN 可以隱藏您所在網路的流量,讓您看起來像是在另一個國家。即使每個中繼都可疑,Tor 電路也會使您無法連結到目的地,代價是速度慢 5-10 倍。大多數時候對大多數人來說,VPN 是正確的工具。對於舉報、存取洋蔥服務或在高威脅環境中操作,Tor 是正確的工具。有時兩者都在 Tor-over-VPN 配置中。請參閱我們的 full Tor 與 VPN 比較 以了解詳細資訊。

Tails:僅 Tor 的作業系統

2024 年 9 月,Tails 專案合併到 Tor 專案。 Tails 是一個基於 Debian 的即時作業系統,從 USB 驅動器啟動,透過 Tor 路由所有流量,並且不會在主機上留下任何痕跡。它是嚴重對抗性威脅模型的建議作業系統——處理洩漏文件的記者、受到監視的活動人士、處理不受信任程式碼的安全研究人員。

Tor 合法嗎?

Y 在大多數國家/地區都是合法的。 Tor 本身是開源軟體,在美國、英國、歐盟、加拿大、澳洲或南美洲和非洲的大部分地區使用它並不違法。多個國家積極阻止(中國、伊朗、俄羅斯、白俄羅斯);數量較少使得使用它本身成為一個監管問題。透過 Tor 進行非法行為仍然是非法的。 FBI 本身已在法庭文件中正式承認 Tor 的「已知合法用途」。

NSA 的觀點

A 2012 年 NSA 題為“Tor Stinks”的演講(在斯諾登洩密事件中披露)承認:“我們永遠無法始終對所有 Tor 用戶進行去匿名化。” NSA 內部文件將 Tor 描述為“高安全、低延遲互聯網之王。給定來源,你就可以接受。

常見問題

Tor 非法嗎?
Tor 本身在大多數國家(包括美國、英國、歐盟、加拿大和澳洲)都是合法的,並被記者、研究人員、活動人士和注重隱私的普通用戶使用。一些國家(中國、伊朗、俄羅斯、白俄羅斯)積極阻止它,並在那裡使用它可能會引起注意,但本身很少是非法的。透過 Tor 進行非法行為仍然是非法的。
Tor 可以追蹤嗎?
Tor 的設計確保任何一個中繼都無法取消您的匿名性。在實踐中,資金充足的攻擊者已經利用入口和出口之間的流量關聯來對特定目標進行去匿名化,但這需要監視網路的大部分或在電路中運行兩個中繼。對於典型的隱私問題來說,它實際上是無法追蹤的。
Tor 與 VPN 相比有多慢?
在 1 Gbps 連線上,WireGuard VPN 可提供 800+ Mbps 的速度,而 Tor 通常可提供 5-30 Mbps 的速度,並會增加 200-800 毫秒的延遲。緩慢的原因在於三跳電路以及所有頻寬都是自願提供的。這不是設計上的缺陷──而是更強的匿名性所付出的代價。
洋蔥服務和暗網是一回事嗎?
洋蔥服務(只能透過 Tor 訪問的 .onion 網站)是為大多數人們所說的「暗網」提供支援的技術,但它們並非專門用於此目的。 《紐約時報》、BBC、Facebook、DuckDuckGo 和主要新聞機構都運行官方洋蔥服務以實現合法訪問。 .onion 頂級域是 IETF 標準 (RFC 7686) 的一部分,並為此目的而保留。
我應該運行 Tor 中繼還是退出節點?
運行中間中繼的風險很低,並且對網路有幫助——它既看不到起點也看不到目的地。運行出口節點的風險實際上更高,因為出口 IP 會被歸咎於通過它們的任何流量;如果非法內容通過您的 IP 存在,即使您沒有看到或發起該內容,您也可能會面臨法律麻煩。大學、ISP 和 EFF 的大部分退出都是出於這個原因。如果您可以透過具有適當法律安排的穩定託管帳戶來做到這一點,則網路需要更多出口。
Tor 網路解釋:洋蔥路由實際上是如何運作的以及它不能保護您免受什麼威脅 | VPN大師專業版