您好,登錄后才能下訂單哦!
P2P與匿名通信技術介紹
P2P與匿名通信技術似乎密不可分,但是兩者到底是什么關系,相信很多人都似是而非。本文分別對P2P、匿名通信技術進行了闡述和分類介紹,對兩者之間的關系進行了澄清;梳理了當前在用的一些P2P網絡和匿名通信產品。
一、P2P技術
(一)P2P介紹
P2P是一種分布式網絡,網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡連接能力、打印機等),這些共享資源需要由網絡提供服務和內容,能被其它對等節點(Peer)直接訪問而無需經過中間實體。在此網絡中的參與者既是資源(服務和內容)提供者(Server),又是資源(服務和內容)獲取者(Client)。P2P打破了傳統的Client/Server (C/S)模式,在網絡中的每個結點的地位都是對等的。每個結點既充當服務器,為其他結點提供服務,同時也享用其他結點提供的服務。P2P與C/S模式的對比如下圖所示:
圖 1 C/S模式
圖 2 P2P模式
(二)P2P網絡結構
P2P系統一般要構造一個非集中式的拓撲結構,在構造過程中需要解決系統中所包含的大量結點如何命名、組織以及確定結點的加入/離開方式、出錯恢復等問題。
根據拓撲結構的關系可以將P2P研究分為4種形式:中心化拓撲(Centralized Topology);全分布式非結構化拓撲(Decentralized Unstructured Topology);全分布式結構化拓撲(Decentralized Structured Topology,也稱作DHT網絡)和半分布式拓撲(Partially Decentralized Topology)。
1. 中心化拓撲
中心化拓撲最大的優點是維護簡單發現效率高。由于資源的發現依賴中心化的目錄系統,發現算法靈活高效并能夠實現復雜查詢。最大的問題與傳統客戶機/服務器結構類似,容易造成單點故障,訪問的“熱點”現象和法律等相關問題,這是第一代P2P網絡采用的結構模式,經典案例就是著名的MP3共享軟件Napster。
Napster是最早出現的P2P系統之一,并在短期內迅速成長起來。Napster實質上并非是純粹的P2P系統,它通過一個中央服務器保存所有Napster用戶上傳的音樂文件索引和存放位置的信息。當某個用戶需要某個音樂文件時,首先連接到Napster服務器,在服務器進行檢索,并由服務器返回存有該文件的用戶信息;再由請求者直接連到文件的所有者傳輸文件。
2. 全分布非結構化
全分布非結構化網絡在重疊網絡(overlay)采用了隨機圖的組織方式,結點度數服從"Power-law"規律,從而能夠較快發現目的結點,面對網絡的動態變化體現了較好的容錯能力,因此具有較好的可用性。同時可以支持復雜查詢,如帶有規則表達式的多關鍵詞查詢,模糊查詢等,最典型的案例是Gnutella。Gnutella是一個P2P文件共享系統,它和Napster最大的區別在于Gnutella是純粹的P2P系統,沒有索引服務器,它采用了基于完全隨機圖的洪泛(Flooding)發現和隨機轉發(Random Walker)機制。為了控制搜索消息的傳輸,通過TTL (Time To Live)的減值來實現。
3. 全分布式結構化拓撲
在DHT技術中,網絡結點按照一定的方式分配一個唯一結點標識符(Node ID) ,資源對象通過散列運算產生一個唯一的資源標識符(Object ID) ,且該資源將存儲在結點ID與之相等或者相近的結點上。需要查找該資源時,采用同樣的方法可定位到存儲該資源的結點。因此,Chord的主要貢獻是提出了一個分布式查找協議,該協議可將指定的關鍵字(Key) 映射到對應的結點(Node) 。從算法來看,Chord是相容散列算法的變體。MIT的GRID和RON項目則提出了在分布式廣域網中實施查找資源的系統框架。
DHT類結構最大的問題是DHT的維護機制較為復雜,尤其是結點頻繁加入退出造成的網絡波動(Churn)會極大增加DHT的維護代價。DHT所面臨的另外一個問題是DHT僅支持精確關鍵詞匹配查詢,無法支持內容/語義等復雜查詢。
4. 半分布式結構
(有的文獻稱作 Hybrid Structure)吸取了中心化結構和全分布式非結構化拓撲的優點,選擇性能較高(處理、存儲、帶寬等方面性能)的結點作為超級點(英文文獻中多稱作:SuperNodes, Hubs),在各個超級點上存儲了系統中其他部分結點的信息,發現算法僅在超級點之間轉發,超級點再將查詢請求轉發給適當的葉子結點。半分布式結構也是一個層次式結構,超級點之間構成一個高速轉發層,超級點和所負責的普通結點構成若干層次。最典型的案例就是KaZaa。
(三)P2P與匿名性
P2P的核心思想是所有參與用戶之間直接共享資源。平常大家所說的P2P網絡沒有服務器,指的是沒有資源服務器(也可以說所有節點都是服務器),但是用于管理的服務器還是有的,像上述的中心化拓撲和半分布式都有典型的管理服務器。此外,P2P使兩個點之間直接通信,鏈路上的監聽者是可以知道通信雙方的身份的,發送方和接收方也知道彼此的身份,因此P2P網絡本身并不具備匿名性,如Tox、RetroShare、Scayl等。
二、匿名通信技術
(一)匿名通信介紹
匿名通信技術是指通過一定的方法將數據流中的通信關系加以隱藏,使竊聽者無從直接獲知或推知雙方的通信關系和通信的一方。根據所要隱藏的信息不同,可將匿名保護形式主要分成三種類型:發起者匿名,保護通信發起者的身份信息;接受者匿名,保護通信中接受者的身份信息;發起者/接受者的不可連接性則是通過某種技術使通信中的信息間接地到達對方,使發送者和接受者無法被關聯起來。當通信具有發送者匿名或接受者匿名情況下,肯定有發送者/接受者的不可連續性,但具有發送者/接受者的不可連接性并不一定有發送者匿名或接收者匿名,比如有些情況下發送者和接收者相互知道對方身份,但他們之間的通信關系并不一定被其他成員知道,即有發送者/接收者不可連接。
(二)基于廣播/多播的匿名通信
基于廣播/多播的匿名通信的核心思想是:在系統運行的每個周期,每個參與者包括發送者都向系統中每個成員廣播一個報文。通過在接收到的所有報文上施以運算,每個參與成員能夠計算出所要廣播的消息內容,而無法推斷出發送者的身份。 通過這種廣播方式,也可以很容易實現發送者匿名。如果發送者只希望將消息發送給某個特定成員,并且對其他成員屏蔽接收者的身份,即實現接收者匿名,可以通過非對稱加密的方式,用該成員的公鑰對報文進行加密。
但是上述方式存在嚴重缺陷:一是廣播引起信道沖突;二是報文數量過多。每次報文發送中都需要每個成員的參與,將導致效率和健壯性方面的問題。因此,純粹基于廣播/多播的匿名通信得應用并不多,DC-Nets為其典型應用,其他的如K-AMT(K-ANoNymous Message TraNsmissionN)則在DC-Net基礎上進行了優化;Herbivore則將DC-Nets與Mix技術進行了結合。
(三)基于單代理技術的匿名通信
代理服務器技術在普通網絡中有著大量的應用,同樣可用于解決匿名中的實際問題。例如在客戶機和服務器之間加入一個代理,客戶機與服務器之間的全部通信經過代理轉發,則服務器所能觀察到的將是代理而非客戶機。對服務器而言,客戶機達到了發送者匿名。Anon.penet.fi(也稱Penet)是第一個嚴格意義上提供匿名服務的實用系統,用于在電子郵件傳輸中提供發送者一名服務;ANoNymizer提供匿名的Web訪問服務;LPWA(LuceNt PersoNalized Web Assistant)是LuceNt推出的個性化Web助手,可提供發送者匿名。
雖然但代理技術簡單易用,但是信任、信息過于集中,一旦代理被攻陷,系統中所有信息都將暴露。
(四)基于Mix的匿名通信
Chaum Mix的基本思想是通過使用中間節點來變換和混雜來自多個用戶的消息,使竊聽者無法確定輸入消息和輸出消息的對應關系,從而無法跟蹤某條消息的傳輸路徑,發現“誰跟誰通訊”的事實。一個MIX節點是指對消息進行存儲轉發的一臺計算機,如圖1所示。它接收來自不同源的定長消息,并對消息進行加密變換,然后轉發。如果消息通過網絡中由多個節點構成的MIX路徑進行傳輸,則只要其中一個MIX是可信的,就可以提供足夠的匿名保護。用戶在發送消息之前必須確定一條MIX路徑,并獲得該路徑上所有MIX節點的RSA公鑰,隨后構造如下消息:
M0=K0(R0,M)
M1=K1(R1,M0,A0)
M2=K2(R2,M1,A1)
....
Mn=Kn(Rn,Mn-1,An-1)
用戶最終構造出消息Mn,Mn發送至第一個節點N,N節點用自己的私鑰解密得到Mn-1,然后發送給節點N-1,N-1節點用自己的私鑰解密數據得到Mn-2,以此類推,最后的節點M0得到用戶發送的消息M。可以看出,在沒有掌握MIX節點密鑰的情況下,是無法跟蹤通信路徑的。同時,為了隱蔽輸入輸出消息的時序對應關系,節點還維護了一個消息緩沖池,并僅在緩沖池滿時亂序輸出消息。
除了發送者可以匿名地向接受者發送消息之外,Chaum還提出了一個方案可以使接受者可以匿名地應答。發送者首先選擇一條回路,然后采用前面的方法構造一個匿名應答地址消息,該消息的消息體部分是空的。然后把該消息放入其他消息的消息體中傳給接收者。接收者解密該消息后,按照消息體中的回路信息進行應答。
基于Mix的匿名,容易受到出口節點漏洞***,因為出口節點解密后將得到原始消息;此外,要滿足用戶的匿名需求,網絡需大量專用于提供匿名的主機,而且只有在大量用戶加入到匿名系統中的情況下用戶才能獲得隱私保護,這不僅增加了配置的話費,而且也不實用。因此,從發布至今,幾乎每個商業隱私保護項目,如Freedom、SafeWeb都以失敗告終。
(五)基于P2P的匿名通信
在匿名通信中引入P2P技術,可以解決單代理系統信任、流量過于集中,Mix系統服務方投入過大、管理復雜的問題。其基本思想是:將信任和資源分布,而非集中,由于沒有任何集中的目標,能更好地防止審計。基于P2P的匿名通信大多融合了Mix的思想,以達到匿名的目的,如Crowds、Hordes、JAP、Tarzan、MorphMix等;少數則采用了廣播/多播技術,如P5(Peer-to-Peer Personal Privacy Protocal)通過一個樹狀結構,形成一個匿名廣播信道,每個參與者可以根據匿名和實時通信需求確定加入點。
三、匿名性消息服務
目前,網絡上常見的用于通信的消息服務如表1所示。其中Bitmessage、TorChat均提供了發送者和接收者匿名,兩者的匿名性均采用了Mix的思想,至于哪個匿名性更好,尚無定論。此外,Bitmessage要求進行工作量證明,速度相對較慢。
表 1 常見消息服務對比
不可靠 | P2P | 開源 | 工作量證明 | 發送者匿名 | 接收者匿名 | 移動版本 | 應用程序或者Web | 附件支持 | 分布式 | 離線消息 | |
Bitmessage | Yes | Yes | MIT | Yes | Yes | Yes | Beta, requires server | Application | 220KB | Yes | Up to 28 days |
Standard Email | No | No | Depends | No | No | No | Yes | Both | Yes | No | Yes |
Email + GPG | Yes | No | Depends | No | No | No | Yes | Both | Yes | No | Yes |
XMPP + OTR | Yes | No | GPL V2.1 | No | No | No | Yes | Application | No OTR, not trustless | No | Yes |
TorChat | Yes | Yes | GPL | No | Yes | Yes | No | Application | Yes | No | Queued |
Skype | No | No | No | No | No | No | Yes | Application | Yes | No | Yes |
Tox | Yes | Yes | GPL | No | No | No | Yes | Application | Yes | Yes | Queued |
Scayl | No | Yes | No | No | No | No | Alpha | Application | Yes | ||
I2P Bote | Yes | Yes | GPL V3 | No | Yes | Yes | Yes | Application | Yes | Yes | Up to 100 days |
CryptoCat | No | No | GPL | No | No | No | Yes | Both | No | No | No |
IRC | No | No | Yes | No | No | No | Yes | Both | No | Yes | Depends |
SMS | No | No | No | No | No | No | Yes | Application | Yes | No | Yes |
RetroShare | No | Yes | No | No | No | Yes | |||||
Freenet + Frost | Yes | Yes | GPL | No | Yes | Yes | No | Application | Yes | Yes | |
Freenet + FMS | No | Yes | No | No | Yes | No | Application | No | Yes | ||
Freenet + Freemail 0.2 | No | Yes | GPL | No | No | No | No | Application | Yes | Yes | |
Freenet + FLIP | Yes | Yes | No | No | No | No | Application | No | Yes | ||
EMP | Yes | Yes | BSD | No | Yes | No | Yes | Application | No | Yes | Up to 30 days |
四、小結
P2P和匿名通信技術具有很多應用場景,其中,P2P技術本身沒有匿名性的特性,而匿名通信技術需要P2P技術進行去中心化,實現信任和風險的分散,進而提升匿名性。目前,Bitmessage和TorChat都是P2P和匿名通信技術融合的產物,能夠實現發送方、接收方的匿名。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。