楊云,李凌燕,魏慶征
(揚(yáng)州大學(xué)信息工程學(xué)院,江蘇 揚(yáng)州 225127)
Tor是一個(gè)基于電路的低延遲覆蓋網(wǎng)絡(luò),提供匿名和隱藏服務(wù),它是當(dāng)今時(shí)代部署最多、應(yīng)用廣泛的匿名通信系統(tǒng)[1-2]。它的用戶數(shù)十萬(wàn),如軍事、情報(bào)機(jī)構(gòu)、記者等以及超過(guò)75個(gè)國(guó)家的6 011個(gè)繼電器提供在線匿名和隱私保護(hù)。
I2P是一個(gè)基于分組的高延遲匿名重疊網(wǎng)絡(luò)。它在通信方之間構(gòu)建虛擬網(wǎng)絡(luò),保護(hù)通信不被其他人(如互聯(lián)網(wǎng)服務(wù)提供商)進(jìn)行調(diào)查和檢查[3-4]。I2P的用戶通常是記者、活動(dòng)家、舉報(bào)人以及普通用戶。沒(méi)有網(wǎng)絡(luò)可以“完全匿名”,I2P旨在使攻擊越來(lái)越難以登錄。隨著網(wǎng)絡(luò)規(guī)模擴(kuò)大,其匿名性將變得更強(qiáng),I2P用戶可以控制匿名和延遲之間的權(quán)衡。
I2P是在借鑒了Tor的許多開(kāi)發(fā)理念、網(wǎng)絡(luò)技術(shù)的基礎(chǔ)上開(kāi)發(fā)的,網(wǎng)絡(luò)Tor和I2P之間的理念區(qū)別關(guān)鍵在于:I2P試圖將現(xiàn)有的互聯(lián)網(wǎng)服務(wù)轉(zhuǎn)移到I2P網(wǎng)絡(luò),并在框架內(nèi)提供服務(wù)實(shí)現(xiàn),而Tor則允許匿名訪問(wèn)分別實(shí)施和操作外部互聯(lián)網(wǎng)服務(wù)。網(wǎng)絡(luò)Tor和I2P之間的關(guān)鍵技術(shù)差異在于:消息流置換了細(xì)胞、單向隧道置換了雙向電路、分組交換變換為電路交換、基于性能的對(duì)等體選擇代替了基于帶寬的對(duì)等體選擇、分布式架構(gòu)代替了集中式框架等。
在技術(shù)方面,I2P在許多方面類似于Tor,但它的開(kāi)發(fā)人員經(jīng)常使用稍微不同的術(shù)語(yǔ)表示幾乎相同的功能。表1提供了Tor和I2P之間使用的不同術(shù)語(yǔ)之間的映射[5]。
表1 Tor與I2P比較:使用術(shù)語(yǔ)
表2~表4是基于Tor和I2P的特征構(gòu)建的,分別從認(rèn)知度、性能、開(kāi)發(fā)技術(shù)3個(gè)方面,比較了匿名網(wǎng)絡(luò)Tor和I2P。
表2 Tor和I2P比較:認(rèn)知度
1) SOCKS/I2P API:Tor使用 Socket Secure(SOCKS)接口,因此SOCKS能夠感知應(yīng)用程序,可以很容易地指向 Tor軟件[6],這表明采用 SOCKS的應(yīng)用程序無(wú)須任何更改,可以直接使用。另外,I2P是一個(gè)中間件,提供應(yīng)用程序可用于通過(guò)網(wǎng)絡(luò)進(jìn)行通信的API,這意味著應(yīng)用程序需要進(jìn)行復(fù)雜的調(diào)整。SOCKS與I2P API極大地改變了構(gòu)建使用 I2P或 Tor網(wǎng)絡(luò)、通過(guò) Internet進(jìn)行匿名通信的應(yīng)用程序的工作量和能力。SOCKS接口只能通過(guò)TCP傳輸消息,而I2P可以在UDP和TCP之間進(jìn)行選擇,這可使I2P在使用某些應(yīng)用程序時(shí)提供更好的性能。
2) 可用的應(yīng)用程序:I2P和Tor都具有廣泛的應(yīng)用程序,而大多數(shù)I2P應(yīng)用程序?qū)iT(mén)用于訪問(wèn)I2P網(wǎng)絡(luò)內(nèi)的服務(wù)(例外的是Susimail/2IpMail能夠從公共Internet發(fā)送和接收郵件)。另外,由于Tor使用SOCKS接口,Tor能夠與使用SOCKS代理配置的任何應(yīng)用程序一起使用(如常用的Web瀏覽器)[7-8]。
表3 Tor和I2P比較:性能
表4 Tor和I2P比較:開(kāi)發(fā)技術(shù)
3) 消息安全性和匿名性:兩個(gè)網(wǎng)絡(luò)都具有各種加密層,從由OR(onion routers)或I2P對(duì)等體維護(hù)的 TLS連接提供的傳輸層加密開(kāi)始,I2P還具有額外的隧道加密功能。通過(guò)網(wǎng)絡(luò)發(fā)送的消息是洋蔥或加密的大蒜,這意味著從用戶到隧道或電路的連接始終是加密的。只要在網(wǎng)絡(luò)內(nèi)部進(jìn)行交互,I2P中的消息也是端到端加密的。但在 Tor的情況下,無(wú)法保證端到端加密,這取決于所使用的傳輸層協(xié)議[9]。
4) 性能:使用I2P或Tor訪問(wèn)公共互聯(lián)網(wǎng)時(shí)的延遲和帶寬作為評(píng)價(jià)指標(biāo),測(cè)量發(fā)現(xiàn):I2P能夠在發(fā)出簡(jiǎn)單的HTTP-GET請(qǐng)求時(shí)獲得更好的結(jié)果,但Tor在訪問(wèn)整個(gè)網(wǎng)頁(yè)和下載文件方面提供了明顯更好的結(jié)果。在 50%的情況下,Tor能夠在不到16.99 s時(shí)間內(nèi)檢索整個(gè)網(wǎng)頁(yè),而50%的I2P請(qǐng)求需要花費(fèi)103.19 s。在下載速度方面,Tor能夠提供51.62 kB/s的平均速度,而I2P的平均速度為12.91 kB/s[10]。
5) 可擴(kuò)展性:增加參與匿名網(wǎng)絡(luò)的客戶端數(shù)量直接影響Tor和I2P,匿名設(shè)置量變得更大,網(wǎng)絡(luò)流量增加并可能導(dǎo)致?lián)砣葐?wèn)題。對(duì)于Tor可能需要增加用于構(gòu)建電路的路由器數(shù)量,從而增加延遲并減少可用帶寬。增加OR的數(shù)量會(huì)產(chǎn)生另一個(gè)問(wèn)題,即不斷增長(zhǎng)的目錄。在I2P的情況下,假設(shè)加入網(wǎng)絡(luò)的新對(duì)等體能夠提供足夠的容量和帶寬,它們也可以是用于構(gòu)建隧道的對(duì)等體。因此,不太可能出現(xiàn)擁塞,但如果足夠數(shù)量的客戶端尋求訪問(wèn)I2P網(wǎng)絡(luò)之外的服務(wù),則需要提供更多的外部代理。
6) 用法:I2P提供多種應(yīng)用程序,專為 I2P網(wǎng)絡(luò)內(nèi)的通信而設(shè)計(jì),所以它的代理很少。而Tor則設(shè)計(jì)用于在網(wǎng)絡(luò)外部的路由流量,與I2P相比具有更多的退出節(jié)點(diǎn)。
Tor與I2P都構(gòu)建了匿名服務(wù),如表5和表6所示,但I(xiàn)2P現(xiàn)有的應(yīng)用包括絕大部分典型的因特網(wǎng)應(yīng)用,如匿名Web瀏覽、匿名Web hosting、匿名博客、匿名聊天、匿名文件傳輸、匿名文件共享、匿名E-mail、匿名新聞組和其他一些正在開(kāi)發(fā)的應(yīng)用。但Tor提供的隱藏服務(wù)在外置服務(wù)器上,而I2P提供的隱藏服務(wù)在內(nèi)置服務(wù)器上。雖然Tor有隱藏服務(wù)而I2P有退出節(jié)點(diǎn),但Tor的規(guī)范用法是訪問(wèn)外部服務(wù),而I2P規(guī)范用法是訪問(wèn)內(nèi)部服務(wù)[11-12]。
表5 Tor匿名服務(wù)的構(gòu)建
由于Tor與I2P在開(kāi)發(fā)理念上不完全相同,因此兩個(gè)網(wǎng)絡(luò)在一些網(wǎng)絡(luò)關(guān)鍵技術(shù)上存在差異[13],表7列出了Tor與I2P在關(guān)鍵技術(shù)上的差異,這直接影響了網(wǎng)絡(luò)的功能與性能。
表6 I2P匿名服務(wù)的構(gòu)建
表7 Tor和I2P比較:關(guān)鍵技術(shù)
1) Tor工作流程
Tor網(wǎng)絡(luò)工作流程如圖1所示。
2) I2P工作流程
I2P網(wǎng)絡(luò)工作流程如圖2所示。
由圖1、圖2的工作流程對(duì)比可以看出,Tor網(wǎng)絡(luò)工作依賴于集中式控制的目錄服務(wù)器,而I2P網(wǎng)絡(luò)工作依賴于分布式控制的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)NetDB,I2P網(wǎng)絡(luò)的可靠性比Tor網(wǎng)絡(luò)高。
Tor是通過(guò)“電路”雙向傳遞消息的,即入站和出站消息是同一條電路,如圖3所示;而I2P是通過(guò)“隧道”單向傳遞消息,即入站和出站消息是不同的兩條隧道,并且這兩條隧道每隔10 min重新建立,如圖 4所示。Tor的出站端點(diǎn)是公開(kāi)的、未隱藏,而I2P的出站端點(diǎn)被隱藏。
圖1 Tor網(wǎng)絡(luò)工作流程
圖2 I2P網(wǎng)絡(luò)工作流程
圖3 Tor的電路
圖4 I2P的隧道
I2P的隧道具有多樣性特點(diǎn)[14]:入站隧道和出站隧道、探索隧道和客戶端隧道。從客戶端到服務(wù)器的路由分為兩個(gè)隧道:由客戶端控制的出站隧道和由服務(wù)器控制的入站隧道,這兩條隧道之間是直接連接的,即出站隧道的出站端點(diǎn)直接連接到入站隧道的入站網(wǎng)關(guān)。隧道通過(guò)將目標(biāo)的入站網(wǎng)關(guān)和出站端點(diǎn)與目標(biāo)路由器分開(kāi)來(lái)提供匿名性。
探測(cè)性隧道通常是低帶寬的,并且由路由器本身使用,包括構(gòu)建和測(cè)試其他隧道、發(fā)送網(wǎng)絡(luò)數(shù)據(jù)庫(kù)(NetDB)查詢以及構(gòu)建客戶端隧道??蛻舳怂淼劳ǔJ歉邘挼?,用于所有用戶客戶端和服務(wù)器流量,包括訪問(wèn)內(nèi)部I2P網(wǎng)絡(luò)目標(biāo)或“隱藏服務(wù)”,如Eepsites,與外部網(wǎng)關(guān)的連接(Inproxies和 Outproxies)以及其他用途。
Tor是基于帶寬的對(duì)等體(Peers)選擇,I2P是基于性能的對(duì)等體選擇[15-16]。對(duì)等體選擇的目的是快速地構(gòu)建電路或隧道。
1) Tor:基于帶寬的對(duì)等體選擇
Tor的目錄服務(wù)器使用有源帶寬探測(cè)來(lái)測(cè)量和記錄每個(gè)OR(onion router)能夠提供的帶寬,如果沒(méi)有針對(duì)此特定OR的探測(cè)數(shù)據(jù),Tor還必須依賴各自發(fā)布的帶寬值。帶寬信息用于以加權(quán)概率方式選擇中間路由器和出口路由器。
Tor客戶端使用路徑選擇算法來(lái)選擇用于構(gòu)建電路的OR,只要測(cè)量值可用就優(yōu)先采用。Tor中的所有其他OR都選擇時(shí)的概率與其帶寬成正比,這意味著僅考慮帶寬,而忽略其他屬性(如OR的實(shí)際位置)。
2) I2P:基于性能的對(duì)等體選擇
I2P客戶端依賴于先前監(jiān)控的性能值和網(wǎng)絡(luò)的當(dāng)前狀態(tài),不使用有效帶寬探測(cè)。 I2P節(jié)點(diǎn)選擇算法還能夠非??焖俚貙?duì)失敗的對(duì)等體和網(wǎng)絡(luò)拓?fù)渲械钠渌兓龀龇磻?yīng),通過(guò)不斷分析和排名性能來(lái)選擇對(duì)等體,而不是信任所聲稱的容量。
表8 Tor目錄
性能指標(biāo)主要為速度、容量。
速度定義:通過(guò)該對(duì)等體在1 min內(nèi)測(cè)量的最快3個(gè)隧道帶寬的平均值。
容量定義:在一段時(shí)間內(nèi)通過(guò)對(duì)等體成功隧道構(gòu)建的數(shù)量,令r(t)是在一定時(shí)間段t內(nèi)的成功構(gòu)建數(shù),則容量
如果在給定時(shí)間段內(nèi)沒(méi)有成功構(gòu)建,則該值為零,即永遠(yuǎn)不會(huì)發(fā)送構(gòu)建請(qǐng)求,僅用于構(gòu)建評(píng)級(jí)。評(píng)級(jí)還包括每次增加少量的“增長(zhǎng)因子”,以便定期嘗試通過(guò)新對(duì)等體構(gòu)建。
每個(gè)時(shí)間t的當(dāng)前容量計(jì)算r(t)為
1) Tor目錄
在Tor源代碼或/ config.c中有許多默認(rèn)目錄。
這些目錄權(quán)限由Tor項(xiàng)目的成員和受信任的外部個(gè)人/組運(yùn)行。
2) I2P NetDB
Tor通過(guò)連接目錄服務(wù)器得知所有中繼、進(jìn)入/退出節(jié)點(diǎn)的存在,I2P通過(guò)本地網(wǎng)絡(luò)數(shù)據(jù)庫(kù)NetDB得知其他節(jié)點(diǎn)的存在,NetDB通過(guò)Kad算法在連接其他節(jié)點(diǎn)時(shí)獲悉更多節(jié)點(diǎn)的存在。
I2P NetDB是一個(gè)分布式網(wǎng)絡(luò)數(shù)據(jù)庫(kù),主要提供路由器聯(lián)系信息和目標(biāo)聯(lián)系信息, 每一條數(shù)據(jù)都由適當(dāng)?shù)囊环胶灻?,并由使用或存?chǔ)它的任何人進(jìn)行驗(yàn)證。
NetDB由RouterInfos、LeaseSet這兩個(gè)數(shù)據(jù)結(jié)構(gòu)組成,RouterInfo存儲(chǔ)有關(guān)特定I2P路由器的信息以及如何聯(lián)系它,包括路由器標(biāo)識(shí)符(route ID)、連接方式(UDP+port)、發(fā)布時(shí)間(release time)、密鑰(非對(duì)稱加密)等。LeaseSet存儲(chǔ)特定目的地的信息,包括入站網(wǎng)關(guān)ID、服務(wù)、密鑰(對(duì)稱加密)。
圖5和圖6分別表示NetDB中的RouterInfo路由器聯(lián)系信息用于構(gòu)建隧道、LeaseSet租約集用于連接出站和入站隧道。
圖7說(shuō)明了FloodFill NetDB的工作原理,用戶節(jié)點(diǎn)在客戶端下的NetDB目錄下的RouterInfo文件中進(jìn)行查找,找到一個(gè)FloodFill NetDB下的Peer1。然后FloodFill可以使用深度優(yōu)先或廣度優(yōu)先進(jìn)行遍歷,Peer1告知在FloodFill NetDB內(nèi)所有它已知的Peer。
圖5 RouterInfo用于構(gòu)建隧道
圖6 LeaseSet用于連接出站和入站隧道
圖7 FloodFill NetDB工作原理
表9說(shuō)明了NetDB的物理視圖,它是由行鍵(256 bit的摘要)、時(shí)間戳、節(jié)點(diǎn)ID(160 bit)、連接方式(IP地址+UDP端口號(hào))、傳輸密鑰(256 bit的對(duì)稱密碼)、入站網(wǎng)關(guān)ID、I2P匿名服務(wù)和大蒜密鑰等構(gòu)成。
由圖8和圖9對(duì)比可知,Tor和I2P網(wǎng)絡(luò)有相似之處和不同之處。這兩個(gè)匿名服務(wù)的共同目標(biāo)是通過(guò)使用多層加密,將流量中繼到多個(gè)站點(diǎn)來(lái)提供匿名性,多層加密用于強(qiáng)化和拒絕用戶與其消息之間的鏈接。Tor主要致力于為用戶提供匿名訪問(wèn)網(wǎng)絡(luò)以外的網(wǎng)站,而I2P提供匿名訪問(wèn)在I2P網(wǎng)絡(luò)本身內(nèi)私下托管的網(wǎng)站。與此同時(shí),Tor還在Tor網(wǎng)絡(luò)中托管了網(wǎng)站(隱藏服務(wù)),而 I2P支持訪問(wèn)Internet上托管的網(wǎng)站,但不支持使用外部代理訪問(wèn)I2P網(wǎng)絡(luò)。就用于中繼流量的路徑而言,Tor網(wǎng)絡(luò)和I2P網(wǎng)絡(luò)上的路徑發(fā)生變化并且不固定,用戶保持連接到一個(gè)路徑(電路隧道級(jí)聯(lián))的持續(xù)時(shí)間根據(jù)匿名系統(tǒng)的不同而不同,兩種匿名服務(wù)的路由技術(shù)和路徑選擇也不同。
如圖10所示,Tor協(xié)議中的協(xié)議數(shù)據(jù)交換使用固定長(zhǎng)度的Cell,流量在網(wǎng)絡(luò)中以固定大小的單元進(jìn)行傳輸,每個(gè)單元是包含頭和有效載荷的12 byte數(shù)據(jù)。頭包括一個(gè)線路標(biāo)識(shí)符(這個(gè)單元使用哪條線路)和一個(gè)指令(指明將要對(duì)這個(gè)單元的數(shù)據(jù)做什么)。中繼單元在有效載荷數(shù)據(jù)之前有額外的頭(中繼頭),包含一個(gè)stream ID、一個(gè)端到端的校驗(yàn)和、中繼負(fù)載的長(zhǎng)度和一個(gè)中繼命令。
表9 NetDB物理視圖
圖8 洋蔥路由
圖9 大蒜路由
圖10 Tor網(wǎng)絡(luò)的Cell 結(jié)構(gòu)
在圖11中,I2P網(wǎng)絡(luò)內(nèi)的信息以I2NP(I2P網(wǎng)絡(luò)協(xié)議)消息的形式交換,主要由傳送指令和有效載荷組成,由于大小限制,它可以包含整個(gè)消息或僅包含部分消息。為了防止定時(shí)攻擊,收集特定路由器的多個(gè)消息并將其組合成隧道消息。此消息包含該路由器的ID,用于加密有效負(fù)載的IV和有效負(fù)載本身,其中包含校驗(yàn)和、填充以及路由器收集的消息,格式為“交付說(shuō)明”消息)和I2NP本身(稱為“Clove”)。
圖11 I2P網(wǎng)絡(luò)的message結(jié)構(gòu)
同一個(gè)連接中的指令與數(shù)據(jù),在Tor中沿著通過(guò)TCP建立的電路(Ciruit)流動(dòng)至目的節(jié)點(diǎn),而在I2P中,連接被消息機(jī)制(Message)打散為數(shù)據(jù)分組,經(jīng)由不同的TCP或UDP隧道(Tunnel)交叉?zhèn)鬏敽螅诮邮辗街亟M為數(shù)據(jù)流,即I2P基于包(分組)切換而Tor基于電路切換。因此,Tor經(jīng)常應(yīng)對(duì)高擁塞導(dǎo)致高延遲,而在I2P中,分組交換導(dǎo)致一些隱式負(fù)載平衡,并有助于避免擁塞和服務(wù)中斷。這對(duì)于大型文件傳輸尤為重要,因此I2P更適合此類用途[17]。
I2P網(wǎng)絡(luò)中的所有對(duì)等體經(jīng)常發(fā)送消息(端到端和網(wǎng)絡(luò)維護(hù)消息),端到端消息沿其路徑改變大小和數(shù)據(jù),路由器間通信既加密又流式傳輸(使兩個(gè)1 024 byte的消息與一個(gè)2 048 byte的消息無(wú)法區(qū)分),所以外部攻擊者也無(wú)法訪問(wèn)消息。
在圖12和圖13中,msg:message表示消息、Inf:Infos表示信息或數(shù)據(jù)、Enc:Encryption表示加密。
在洋蔥路由中,Tor目錄服務(wù)器隨機(jī)分配給客戶端C 3個(gè)節(jié)點(diǎn):入口節(jié)點(diǎn)n1、中繼節(jié)點(diǎn)n2和出口節(jié)點(diǎn)n3,客戶端、n1、n2、n3互相經(jīng)過(guò)密鑰協(xié)商得到3個(gè)公鑰:Enc n1、Enc n2、Enc n3,對(duì)消息msg進(jìn)行三層加密,傳遞給n1,n1用自己的私鑰解密后再傳遞給n2,n2用自己的私鑰解密后再傳遞給n3,由n3將信息msg最終傳遞給Web網(wǎng)站或服務(wù)器W。
大蒜路由中的消息是“大蒜消息”,它是由多個(gè)消息或流數(shù)據(jù)捆綁而成。在大蒜路由中,I2P的NetDB根據(jù) DHT算法隨機(jī)分配給客戶端 S兩個(gè)或3個(gè)節(jié)點(diǎn):輸出網(wǎng)關(guān)n1、中繼節(jié)點(diǎn)n2和輸入網(wǎng)關(guān) R(或 X),客戶端、n1、n2、R(或X)互相經(jīng)過(guò)密鑰協(xié)商得到3個(gè)公鑰:Enc n1、Enc n2、Enc R(或Enc X),對(duì)消息msg進(jìn)行三層加密,傳遞給n1,n1用自己的私鑰解密后再傳遞給n2,n2用自己的私鑰解密后再傳遞給R或X,由R或X將信息 msg最終傳遞給Web網(wǎng)站或服務(wù)器W。
圖12 洋蔥路由中的消息加密
圖13 大蒜路由中的消息加密
由于 Tor網(wǎng)絡(luò)中的節(jié)點(diǎn)間(除出口節(jié)點(diǎn)與服務(wù)器)使用TLS進(jìn)行加密連接構(gòu)建電路,TLS用于防止可能的攻擊者修改數(shù)據(jù),冒充洋蔥路由器,提高網(wǎng)絡(luò)效率和安全。Tor使用 SOCKS接口與Internet進(jìn)行交互,提高用戶的匿名性。但 TLS、SOCKS都是基于 TCP的,所以 Tor的中繼之間使用TCP連接,并且多個(gè)TCP流可以共享一個(gè)虛電路,每個(gè)OR都使用TLS連接到其他的OR。
而在I2P網(wǎng)絡(luò)中,節(jié)點(diǎn)間全部使用TLS進(jìn)行加密連接構(gòu)建隧道,節(jié)點(diǎn)發(fā)現(xiàn)使用 Kademlia的XOR距離算法。TLS、Kademlia分別基于 TCP和UDP,所以I2P的路由之間既使用TCP連接又使用UDP進(jìn)行數(shù)據(jù)傳輸。I2P的傳輸連接是兩個(gè)對(duì)等傳輸協(xié)議NTCP和SSU,NTCP是基于NIO的TCP,SSU是安全半可靠的UDP(它的主要目的是通過(guò)隧道安全地傳輸 I2NP消息,僅加密 UDP功能)。I2P同時(shí)使用TCP和UDP傳輸,對(duì)于某些深度包檢測(cè)(DPI)設(shè)備來(lái)說(shuō),UDP可能更難以跟蹤。
威脅模型分析 (thread modeling)是尋找系統(tǒng)潛在威脅以建立對(duì)抗的策略,以建立安全的系統(tǒng)。Tor項(xiàng)目沒(méi)有指定明確的威脅模型,僅僅討論常見(jiàn)的攻擊和針對(duì)它們的現(xiàn)有防御措施。I2P指定了明確的威脅模型,并且針對(duì)這些威脅建立了對(duì)抗策略[18-19]。綜合Tor和I2P的攻擊類型和威脅模型,表10對(duì)Tor和I2P的威脅類型進(jìn)行了比較,比較表明,I2P的安全性設(shè)計(jì)高于Tor。
Tor是目前最受歡迎和最常用的系統(tǒng),但I(xiàn)2P是一個(gè)快速增長(zhǎng)的競(jìng)爭(zhēng)對(duì)手。Tor致力于提供高速匿名互聯(lián)網(wǎng)外包,而I2P本身則致力于提供分散的彈性網(wǎng)絡(luò)。這兩個(gè)系統(tǒng)都在不斷更新,以提高性能并提供更好的匿名性,同時(shí)防止惡意攻擊。
兩個(gè)網(wǎng)絡(luò)的關(guān)鍵區(qū)別在于它們?cè)诠?jié)點(diǎn)選擇和客戶端節(jié)點(diǎn)參與方面設(shè)置、使用其虛擬連接的方式。另一個(gè)重要的區(qū)別是,雖然Tor是為退出流量而設(shè)計(jì)的,但I(xiàn)2P尋求在網(wǎng)絡(luò)內(nèi)部提供服務(wù),以便為服務(wù)提供商和用戶提供更強(qiáng)的匿名性。
比較研究表明,確定Tor / I2P這兩個(gè)系統(tǒng)在性能和匿名性方面哪個(gè)提供了更好的服務(wù),與其應(yīng)用領(lǐng)域密切相關(guān):在瀏覽公共網(wǎng)絡(luò)時(shí),Tor能夠提供更好的性能,而I2P幾乎無(wú)法使用。另外,與 Tor在與網(wǎng)絡(luò)內(nèi)的服務(wù)或用戶交互時(shí)相比,I2P提供了更強(qiáng)的匿名性和更好的性能??傊?,無(wú)論使用哪種系統(tǒng),只能在性能和匿名性之間進(jìn)行權(quán)衡。
表10 Tor與I2P比較:威脅類型