VPN 保護
在常規的 VPN 設置中,您的所有互聯網流量都是由VPN 提供商操作的 通過單一服務器隧道。這實際上意味著:
- 加密: 您的流量是在您的設備和 VPN 服務器之間加密的。 防止本地竊聽器(如ISP或公共Wi-Fi運營商)看到您做什麼。
- 匿名化(部分): 您的IP地址被外部世界掩蓋,替換為 VPN 服務器。
傳統的VPN的脆弱性
然而,有一個重要的告誡:VPN 服務器本身變成了一個強大的監視點。它看到您的真正IP地址以及您的流量的最終目的地。即使連接被加密,VPN 提供商也可以跟蹤您訪問的每個網站和時間。您基本上交換了您的 ISP 信任,信任您的 VPN 提供商。
在大多數真實世界的情況下,例如網絡瀏覽,VPN 隧道內的數據都是在應用程序層使用 HTTPS 加密的。這意味著當VPN 提供商可以看到您連接到哪個服務器(例如) IP地址,甚至域名,通過 DNS 或 TLS 元數據),無法讀取您通信的實際內容, 例如您查看的網頁或您提交的表單數據。但供應商仍然保留了連接 [metadata](/blog/what-is-metadata的可見性,就像目標IP一樣, 可用來描述用户活動的域名(有些情況下)、流量和計時信息。
為什麼有兩個希望?輸入多節點VPN
為了緩解這種集中化問題,通常稱為分散的 VPNs (dVPNs), 路由流量通過兩個單獨的服務器:一個入口節點和一個退出節點。核心思想是,沒有一個服務器能夠將您的身份鏈接到您的活動:
- 條目節點 (或網關) 看到您的 IP 地址,但不看到您的網絡流量的最終目的地。
- 退出節點 看到最終目的地的 IP地址,但不知道您是誰。
如果這兩個節點是由獨立的、不串通的實體管理的,這種分離的信任模式就會大大增加隱私。但這是一個大的"如果"。例如,如果一個公司或實體同時運行進出服務器, 他們可以連接並重建您整個活動的軌跡。這就使我們回到了上面原始的中央信任問題 。
Wire護盾:設計一個 2 節點VPN 的四種方法
讓我們探索使用 [WireGuard](/blog/what-is-wireguard-vpn來構建一個雙節點VPN 的不同方式,這個快速、現代的VPN 協議以其簡潔性和性能而聞名。每種方法都有不同的隱私影響。
1. 單個WireGuard隧道到退出節點
該項目是如何工作的
客户端直接創建一個帶有退出節點的Wire護衞隧道。條目節點只是轉發了隧道加密數據包,而不進行任何加密或解密。客户端與條目節點的連接可以使用任何傳輸協議,例如: QUIC, TCP, 甚至一個模糊的隧道,取決於系統支持什麼。
對隱私的影響
由條目節點轉發的流量在客户端和退出之間的無線衞隊隧道內加密, 條目節點無法訪問流量或目的IP。由於客户端和退出節點之間沒有直接連接,退出節點不瞭解客户端的IP地址。
然而,值得注意的是,在客户與退出節點之間建立的無線衞隊隧道需要交換公用鑰匙。這意味著退出節點知道客户端的公鑰,並且因為WireGuard 密鑰是默認的, 退出節點原則上可以跟蹤並關聯客户端在多個會話中的活動,即使IP地址有變化。雖然密鑰旋轉可以減少這個風險,但它不是由Wire護衞自動處理的。因此,退出節點可以將客户端的身份與流量的最終目的地連接起來。因此,這種設置有可能使客户端的長期剖析成為可能。
2. 單個WireGuard隧道到條目節點
該項目是如何工作的
客户端用入口節點建立一個無線保真隧道,解密流量並通過正常渠道將其轉發到出口節點。進出節點之間的連接可以使用任何運輸協議, 但它不是與客户端建立的WireGuard 隧道的一部分。
對隱私的影響
由於WireGuard隧道在條目節點終止,條目節點可以看到客户端的 IP 地址和預定目的地。雖然退出節點只看到來自入口節點的流量,不能將它鏈接到原客户端, 條目節點可以訪問客户端的身份和目的地, 允許節點關聯用户是誰和他們去哪裡。如果您的目標是無法連接到客户端身份和目的地,這個模型失敗,因為條目節點在對話的兩端都有可見性。因此,從隱私角度來看,這並不比傳統的VPN更好。
3. 鏈結的Wire護衞隧道(條目節點重加密)
該項目是如何工作的
客户端使用條目節點建立了一個WireGuard隧道。入口節點解密客户端的流量,然後將其重新加密到一個新的 WireGuard 隧道的退出節點。退出節點解密此第二道隧道,並將流量轉到最終目的地。
這個設計涉及兩個單獨的Wire護衞隧道:
- 從客户端到條目節點
- 從入口節點到退出節點的一個
客户端只參與第一個隧道。第二種完全由出入境點管理。
對隱私的影響
由於客户端的Wire保護隧道在條目節點中終止,條目節點在用户的身份和活動中具有完全可見性。它看到客户端的真實IP地址和已解密的流量內容,包括目標IP和任何未加密的數據。這意味著**條目節點可以在傳遞之前檢查、登錄或修改流量。
另一方面,退出節點從單獨的 WireGuard 隧道里的入口節點接收流量。它不知道原客户端的IP地址,但可以看到目標IP和任何純文本內容。這種方法通過使用兩個節點而部分地改進了單個節點的虛擬網絡, 但條目節點在客户端的身份和目的地中仍然有可見性。只有退出節點無法瞭解流量的來源。而且,沒有應用程序層加密(例如HTTPS),通信內容也會暴露在這兩個節點上。
4. 嵌套的Wire護衞隧道(NymVPN隧道隧道方式)
該項目是如何工作的
在這個設置中,客户端建立了兩個嵌套的WireGuard隧道:一個是出口節點的內部隧道,另一個是進入節點的外部隧道。內部隧道首先創建並封裝實際流量;外部隧道然後將這個內部隧道包圍。
流量先加密到退出節點,然後再加密進入節點。入口節點解密只能將外部WireGuard隧道並將內部的 WireGuard隧道轉發到離境節點上,後者仍然是完全加密的。退出節點然後解密內層並將流量轉到最終目的地。
隱私影響
這是NymVPN快速模式使用的方法,它利用嵌套WireGuard隧道來保持用户與其目的地之間的不可連接性。所以讓我們看看它是如何工作的。
因為條目節點只解密了外部WireGuard隧道,它無法訪問流量的內容或目的IP。它知道客户的 IP 地址,因為它直接與客户端建立外部隧道, 但它只能看到用於退出節點的內核Wire護衞隧道。它無法檢查、修改或瞭解任何目的地。
同時,退出節點,解密內置WireGuard隧道,並查看最終目的IP和解密流量。然而,它只從條目節點接收數據包,並且在客户端的原始IP地址或身份中沒有可見性。
這種嚴格的信息分離意味著任何一個節點都無法將來源(客户端IP)與目的地(服務器IP)聯繫起來。條目節點知道用户是誰,但不知道他們在哪裡。出口節點知道流量在哪裡,但不知道它來自誰。只要這兩個節點是獨立操作的,不分享日誌或元數據。 這種設置確保用户的身份和他們在線活動之間存在著強大的無法連接性。即使某個節點受到損害,它也不能獨自完全匿名用户。
就像一個連接到退出節點的WireGuard隧道一樣,客户必須將其公用鑰匙與退出節點交換。因此,除非客户定期輪換其密鑰,否則出口節點可以將客户的Wire護衞身份與他們的在線活動聯繫起來。
然而,在單一隧道退出安裝,如果不使用額外的運輸加密的話。 一個能夠監測客户端和條目節點之間的聯繫的網絡觀察家, 和進出節點之間的聯繫可以將流量模式聯繫起來,並可能將客户與特定的出口節點聯繫起來。這削弱了不可連接性,增加了通過交通分析進行定性分析的風險。
結論:VPN 設計事項
"Decentralization 常常在VPN 營銷中被扔掉, 但真正的隱私收益來自系統的設計,而不是它們所稱的系統。 2 節點連接VPN 設置可以有意義地更好地保護隱私,但只有在下列情況下才能做到:
- 進出節點由獨立的、不串通的當事方運行
- 協議和隧道設計防止交通檢查和關聯性
如果您正在評估某項 去中心化 VPN 解決方案 或考慮架設一套,請謹記:去中心化不僅僅是擁有更多節點,更在於以一種讓任何單一實體都無法拼湊出您網絡生活全貌的方式來分散信任。