洋蔥路由(與其他目前實務上常見的各種低延遲匿名通訊系統設計一樣)的連線中,當惡意人士恰好能夠同時監聽同一條連線通道的起點與終點兩端之流量時,匿名保護機制就會完全破功。
舉例來說,當有個惡意人士掌控了您的洋蔥路由入口節點,並且又同時監聽您所造訪的目的網站的狀況下。
針對這樣的情境,目前在學術研究上還沒有找到任何低延遲的通訊系統設計,可以有效防堵惡意人士在同一條連線流量的兩端進行時差匹配分析攻擊。
那我們該怎麼辦呢?
在此假設惡意人士已經掌控並且監聽C個中繼節點。
並假設網路上總共有N個中繼節點。
If you select new entry and exit relays each time you use the network, the attacker will be able to correlate all traffic you send with probability around (c/n)^2.
然而行為特徵分析對於絕大多數使用者來說,跟被全程追蹤監控是一樣糟糕的情況,同樣來說,被攻擊者盯上一次與時常被攻擊者盯上也是同樣危險的。
因此,若使用者每次都隨機挑選入口及出口節點的話,那就幾乎沒有機會可以逃出這種攻擊者的行為特徵分析涵蓋範圍了。
而解決方式就是在「入口護衛節點」身上:每個洋蔥路由客戶端程式只會隨機挑選出少數幾個中繼節點作為入口節點,並且固定只使用這幾個節點作為迴路的第一站。
如果這幾個中繼節點不是被惡意人士所掌控的話,那攻擊者就完全沒有成功的機會,因此使用者也就能繼續保持安全狀態。
即使是這幾個中繼節點是被攻擊者所掌控的話,雖然他能藉此竊聽到使用者的大部分網路連線流量,但是要實際做行為特徵分析的話,成功機率也不會比前一個情境還要高。
因此,相較於前一情境中,使用者完全沒有脫逃攻擊者的行為特徵分析,在現在這樣的設計架構裡,使用者至少還有逃脫的機會(機率為(n-c)/n級數)。
關於更多詳細容您可以參閱匿名通訊協定之降級分析或針對匿名通訊被動式歷程記錄攻擊之防禦策略,尤其是這篇位置隱藏型伺服器。
且當某些惡意人士企圖利用少量洋蔥路由節點來收集所有洋蔥路由使用者的IP位址時,限縮您的入口節點數量也同時發揮抵禦效果。
(儘管說這種攻擊方式無法得知使用者的網路連線目的站台,但光是取得使用者實際位址清單,在某種程度上就可能造成為害。)
然而,這項功能的效果必須要等到我們正式佈署「目錄護衛節點」機制後,才能夠較為完善。