基本內容
最初該項目由美國海軍研究實驗室(US Naval Research Laboratory)贊助。2004年的後期,Tor成為電子前哨基金會(Electronic Frontier Foundation,EFF)的一個項目。2005年後期,EFF不再贊助Tor項目,但他們繼續維持Tor的官方網站。
Tor專門防範流量過濾、嗅探分析,讓用戶免受其害。Tor在由“onion routers”(洋蔥)組成的表層網(overlay network)上進行通信,可以實現匿名對外連線、匿名隱藏服務。
瀏覽器包
Tor瀏覽器包是一個免費的計算機應用程式,可以下載和使用,以避免網際網路過濾。它可用來禁止一個網際網路用戶的IP位址,允許匿名瀏覽。Tor瀏覽器包是提供包括漢語在內的多國語言界面。Tor用戶在本機運行一個洋蔥代理伺服器(onion proxy),這個代理周期性地與其他Tor交流,從而在Tor網路中構成虛電路(virtual circuit)。Tor是在5層協定棧中的套用層進行加密(也就是按照'onion'的模式)。而它之所以被稱為onion,是因為它的結構就跟洋蔥相同,只能看出它的外表,而想要看到核心,就必須把它層層的剝開。即每個路由器間的傳輸都經過對等密鑰(symmetric key)來加密,形成有層次的結構。它中間所經過的各節點,都好像洋蔥的一層皮,把客戶端包在裡面,算是保護信息來源的一種方式,這樣在洋蔥路由器之間可以保持通訊安全。同時對於客戶端,洋蔥代理伺服器又作為SOCKS接口。一些應用程式就可以將Tor作為代理伺服器,網路通訊就可以通過Tor的虛擬環路來進行。
進入Tor網路後,加密信息在路由器間層層傳遞,最後到達“出口節點”(exit node),明文數據從這個節點直接發往原來的目的地。對於目的地主機而言,是從“出口節點”發來信息。要注意的是明文信息即使在Tor網路中是加密的,離開Tor後仍然是明文的。維基解密創始人便聲稱其公開的某些檔案是截獲於Tor的出口節點。
由於在TCP數據流的級別通訊,Tor顯得卓然獨立於其他匿名網路。通過使用Tor,一般的應用程式都可以實現匿名,比如IRC、即時通訊,以及瀏覽網頁。瀏覽網頁時,Tor常常與Privoxy或Polipo等聯合使用,Privoxy、Polipo是開源代理伺服器,可以在套用層增加保護隱私。
由於Tor可以匿名進行TCP傳輸,這就導致了被濫用的可能。路由器存放有一個“出口政策”(exit policy),內有各種地址、連線埠的組合規定,通過這個來區別哪些傳輸可以通過這個節點而離開Tor網路,這樣就可能防範許多濫用的可能。潛在的濫用包括:
P2P:拋開合法性不談,如果通過Tor網路來進行大量數據的傳輸,這就有些不禮貌了,畢竟洋蔥路由器是由志願者,花費自己的頻寬創建起來的。
E-mail:匿名的SMTP很容易導致垃圾郵件的產生,一般Tor節點的“出口政策”,都拒絕對外連線到連線埠25(smtp的連線埠)。
蓄意破壞:由於不會被識破,用戶有時會利用Tor來對協作網站進行破壞,這導致許多的網站,決定部分限制對Tor的通訊。
Tor不僅可以提供客戶端的匿名訪問,Tor還可以提供伺服器的匿名。通過使用Tor網路,用戶可以維護位置不可知的伺服器。當然如果要訪問這個隱蔽的服務,客戶端也得安裝Tor。
通過Tor指定的頂級域名(Top Level Domain,TLD).onion,可以訪問其隱藏的服務。Tor網路可以識別自己的TLD,並自動路由到隱藏的服務。然後,隱藏的服務將請求交由標準的伺服器軟體進行處理,這個伺服器軟體應該預先進行配置,從而只偵聽非公開的接口。如果這個服務還可以通過公共的網際網路來訪問,那也會受到相關連的攻擊,這樣就沒有真正的隱藏起來。
Tor隱藏服務有個另外的好處,由於不需要公開的IP位址,服務就可以躲在防火牆和NAT背後。
Tor在中國大陸被許多人用於突破防火長城,這主要是因為中國大陸禁止了大量的海外網站和伺服器。Tor會自動檢測節點是否可達目標地址。如果返回錯誤無法到達,它會自動更換節點。相應地,這種技術也可以用在中國境外模擬中國境內的節點,以訪問一些境外無法訪問的內容。
而防火長城對於Tor一直沒有很好的解決方法。現行比較有效的方法是對未使用SSL(HTTPS)加密的連線進行特徵檢測並重置連線,或對已知節點和網橋進行IP位址禁止,也有在中國境內創建Tor的虛假節點以對通過其傳輸的數據進行最大限度的審查。
作為反制,有部分大陸網民自發在中國境內建起網橋,幫助中國境內未能連線上Tor網路的用戶連線。
使用網橋
2009年9月以後的一段時間內,使用的Tor的0.2.1.19版本,並不使用網橋的情況之下無法創建Tor的連線。然而使用的Tor的穩定版0.2.1.20,仍能夠創建Tor的連線,突破網路封鎖且不需要勾選“ISP阻擋了對Tor網路的連線”的選項,即使用網橋。從理論上來說,在使用網橋的情況下,Tor的總能創建連線,而不被封鎖,因為網橋是可以動態更新的。2010年6月3日前後的一段時間內,使用Tor的0.2.1.26版本,在使用Bridges的情況之下,創建Tor的連線也相當的困難,顯示的信息是“創建Tor迴路failed”,這說明防火長城成功偵測並截斷了Tor的連線。但Tor的連線一旦創建後切斷並不容易,所以Tor一旦成功創建連線後就無法被防火長城干擾。同年8月前後至今,Tor又可以連線上。據全球網際網路自由聯盟上的用戶說,只要加一次網橋,接下來就可以輕鬆連上Tor網路。
但在2011年1月之後,據大陸的網民反映Tor即使更換了網橋也無法正常連線上,但事實上這是網橋已經被禁止的結果。對於長期頻繁使用和連線Tor的用戶來說,由於Tor會快取節點路由信息,所以只要這些節點或網橋沒被封鎖,他們照樣能正常使用Tor。
自2011年10月後,當中國的一個Tor客戶端與美國的網橋中繼創建連線,一個中國的數據探針會在15分鐘周期內嘗試與Tor進行SSL協商和重協商,但目的不是創建TCP連線。12月後這種行為停止。