Tor 是一款可以讓你在網路上匿名的軟體,它讓監視你的人無法知道你真實的去向。Tor 還能與現有的許多應用程式做結合,如:IM 軟體、browser 及一些 TCP 的應用。
簡單的來說,Tor 是一種由虛擬通道組成的網路,Tor client 端可以隨機的選取 Tor 網路上的 node 來建立起一條虛擬的路徑,並經由這條虛擬的通道抵達目的端。或是你也可以自願成為 Tor 網路上的一個 node。
我們可以藉由以下幾張圖來說明 Tor 的動作原理:
1.
首先,Alice 是一台 Tor 的 client 端,他透過一個目錄伺服器 Dave 取得了一份 Tor 的 node 清單,裡面的內容將有助於 Alice 找尋正在 Tor 網路上的節點,以建立虛擬路徑。Alice 與 Dave 之間的連線是未加密的傳輸(紅色虛線代表未加密)。
2.
再者,Alice 將隨機挑選一條路徑連往目的端 Bob 處。這條虛擬的路徑,也稱做是 virtual circuit,則是圖中綠色實線(傳輸過程是加密的)所串接起來的電腦。在傳輸的過程中,每經過一個 node,就會做一次加/解密的動作,就像是洋蔥(onion)的樣子,一層一層的被包裹住。在目的端 Bob 電腦的前一個 node,又稱做是 exit node。對 Bob 而言,他會以為這個 exit node 才是它的 source 端,而這一段(紅色虛線)傳輸過程中是沒有加密的。
3.
當 Alice 想要到另一個目的地 Jane 時,這時會再重新決定一條虛擬的路徑,如上圖綠色實線處。由於目的端無法得知真實的來源端,故又稱做匿名網路。
若想安裝 Tor 來玩玩看,這裡並不多介紹,請參考『手把手教你使用Tor--新手入门--Tor的安装』、『在 MS Windows 上运行 Tor 客户端』。
在 2008 年的四月,Tor 獲得了 NLnet Foundation 的兩項獎項:
The first is to improve the performance of hidden services. The second is to make Tor work better for low bandwidth clients
相關網頁與得獎詳細資訊可以點選這裡。
如果你還不能夠清楚的了解 Tor 的作用,我在這裡舉個實用的例子:
有某個投票網站,限定在兩個小時內同一個 IP 不能投票兩次,但如果你公司的網路全都在 NAT 底下,對外只有一個 public IP,那麼兩個小時內只能有一位公司的同仁可以投票。這時如果你利用 Tor 網路裡變換身份的功能,那麼,由於你的 exit node 是隨機決定的,所以投票網站也會辨識到不同的 public IP,於是在兩個小時內就可以利用同一台裝有 Tor client 端的電腦不斷的投票。
當然,Tor 並不是可以完全的在 Internet 上匿名,還是有一些風險在的,使用前請先閱讀 our list of warnings 及 Tor(anonymity network) - Wikipedia。