陳 歡 ,蘇馬婧 ,王學(xué)賓 ,宋 棟
(1.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京 100083;2.中國科學(xué)院信息工程研究所,北京 100083)
匿名即通過一些方法實(shí)現(xiàn)隱蔽個人身份或者是個人特征信息。匿名作為網(wǎng)絡(luò)中一種特性,在現(xiàn)實(shí)生活中具有廣泛而實(shí)際的需求。利用現(xiàn)代加密方法,如公私鑰加密、電子簽名和密鑰協(xié)商等能夠很好地保障傳統(tǒng)意義上的信息安全四要素:機(jī)密性、完整性、可用性和真實(shí)性。但是,面對用戶日益增加的對個人隱私保護(hù)的需求,傳統(tǒng)的密碼技術(shù)并不能有效解決用戶諸如網(wǎng)絡(luò)通信地址的匿名性問題,匿名通信系統(tǒng)的出現(xiàn)很好地解決了上述問題?;ヂ?lián)網(wǎng)中的匿名是指,將通信雙方的身份、網(wǎng)絡(luò)地址等敏感信息通過一定的技術(shù)手段處理,使得網(wǎng)絡(luò)中的惡意第三方無法有效識別通信雙方的身份和網(wǎng)絡(luò)特征信息。匿名通信系統(tǒng),是指在現(xiàn)有的網(wǎng)絡(luò)上采取諸如網(wǎng)絡(luò)編碼、通信加密、路由轉(zhuǎn)發(fā)和鏈路混淆等多種技術(shù),實(shí)現(xiàn)隱藏通信實(shí)體之間關(guān)系和通信內(nèi)容的通信系統(tǒng)。
在匿名通信系統(tǒng)快速發(fā)展的同時,針對匿名通信的威脅也層出不窮,根據(jù)攻擊原理可具體分為兩個大類:流量攻擊和基于匿名通信協(xié)議本身弱點(diǎn)的攻擊技術(shù)。前者主要是主動和被動攻擊等,后者有網(wǎng)橋發(fā)現(xiàn)和重放攻擊等。
此外,由于匿名通信可以實(shí)現(xiàn)自身信息隱藏,防止安全部門的追蹤管理,從而逃避犯罪,因此如何確保匿名通信系統(tǒng)的可信性,防止其被惡意使用者濫用,也是當(dāng)下互聯(lián)網(wǎng)監(jiān)管部門的重點(diǎn)關(guān)注方向。
目前已經(jīng)有一些研究人員對匿名通信系統(tǒng)進(jìn)行了大量研究[1-3]。鑒于此,為了深入理解匿名通信技術(shù)的功能結(jié)構(gòu)、技術(shù)原理、部署機(jī)制、安全威脅等一系列問題,對其研究方向進(jìn)行總體把握,對匿名通信系統(tǒng)進(jìn)行綜述具有重要意義。
本文首先闡述了匿名相關(guān)概念,給出了匿名通信系統(tǒng)定義及其含義,按照時間發(fā)展順序系統(tǒng)地梳理了匿名通信系統(tǒng)發(fā)展至今的歷程,并按照匿名通信系統(tǒng)在網(wǎng)絡(luò)中工作的不同層次對其分類介紹,并進(jìn)一步分析了匿名通信系統(tǒng)的工作原理、面臨的威脅挑戰(zhàn)以及應(yīng)對方法;最后對匿名通信系統(tǒng)未來的發(fā)展進(jìn)行了展望。
文獻(xiàn)[1]中定義匿名通信為:一種通過采用數(shù)據(jù)轉(zhuǎn)發(fā)、內(nèi)容加密、流量混淆等措施來隱藏通信內(nèi)容及關(guān)系的隱私保護(hù)技術(shù)。進(jìn)一步地,將進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的由多跳加密代理節(jié)點(diǎn)組成的系統(tǒng)稱之為匿名通信系統(tǒng)。
文獻(xiàn)[2]中定義匿名通信系統(tǒng)為:一種建立在應(yīng)用層之上,結(jié)合利用數(shù)據(jù)轉(zhuǎn)發(fā)、內(nèi)容加密、流量混淆等多種隱私保護(hù)技術(shù)來隱藏通信實(shí)體關(guān)系和內(nèi)容的覆蓋網(wǎng)絡(luò)。
本文對匿名通信系統(tǒng)定義為:一種運(yùn)行在應(yīng)用層或者是網(wǎng)絡(luò)層,綜合運(yùn)用密碼、路徑加密、流量混淆和鏈路控制等一系列技術(shù),實(shí)現(xiàn)鏈路中通信雙方身份和數(shù)據(jù)等隱私信息不被第三方惡意攻擊者所獲悉的隱蔽通信系統(tǒng)。匿名通信系統(tǒng)應(yīng)當(dāng)有效地保障通信實(shí)體雙方的身份等特征信息在有限的實(shí)體集中不可識別;在多次的通信過程中實(shí)體沒有固定的身份信息;執(zhí)行具體操作的實(shí)體和執(zhí)行動作之間不具備關(guān)聯(lián)性,達(dá)到抵御網(wǎng)絡(luò)中惡意攻擊攻擊者基于觀測到的有限信息從發(fā)送和接收兩個事件集合中分辨特定事件企圖的作用。
匿名通信系統(tǒng)起源于20 世紀(jì)80 年代,歷經(jīng)40 年演化,圖1 展示了匿名通信系統(tǒng)發(fā)展歷程中的重要事件節(jié)點(diǎn),期間出現(xiàn)了以Mix、Tor、LAP 和Hornet 等為代表的多種類型的系統(tǒng)。
1981 年CHAUM D L 提出Mix[4],Mix 是一種由用戶節(jié)點(diǎn)和提供轉(zhuǎn)發(fā)服務(wù)的多個Mix 節(jié)點(diǎn)組成的鏈路混合網(wǎng)絡(luò),實(shí)現(xiàn)了最初的簡單的匿名。匿名通信系統(tǒng)在此之后也得以開始被廣泛研究發(fā)展并進(jìn)一步投入到互聯(lián)網(wǎng)隱私通信使用之中。
圖1 匿名通信系統(tǒng)發(fā)展歷程
1995 年,美國海軍實(shí)驗(yàn)室(NRL)的David Goldschlag、Mike Reed 和Paul Syverson 創(chuàng)造和部署了Tor(洋蔥路由)的原型,用于防止在網(wǎng)絡(luò)建立時泄露通信雙方的信息。之后在1997 年交由美國國防高等研究計(jì)劃署進(jìn)行進(jìn)一步開發(fā)。
1996 年,CULCU C 等提出的Babel[5]引入了Mix 路徑,通過延遲批量消息來抵御流量分析攻擊。
1998 年由AT&T 實(shí)驗(yàn)室提出的一種面向Web 訪問的一種匿名通信系——Crowds[6]。Crowds 采用重路由機(jī)制,即通信數(shù)據(jù)通過多個節(jié)點(diǎn)組成的重路由路徑到達(dá)接收方,以達(dá)到匿名的效果。
2001 年DINGLEDINE R 等提出基于信譽(yù)系統(tǒng)的Mix節(jié)點(diǎn)選擇技術(shù)[7],提高了Mix 網(wǎng)絡(luò)的可靠性和效率。
2002 年DINGLEDINE R 在之前的基礎(chǔ)上又提出了具有分布式信任的Mix 級聯(lián)協(xié)議[8],主要是通過信譽(yù)度重新排列Mix 級聯(lián),進(jìn)一步提高協(xié)議在具體使用過程中的可靠性。同年,Roger Dingledine 開始參與Paul Syverson在NRL 的洋蔥路由項(xiàng)目工作。為了區(qū)分NRL 的這個原始的工作和在其他地方出現(xiàn)的洋蔥路由工作,Roger 把這個項(xiàng)目叫做Tor,Tor 之后經(jīng)歷了三代的發(fā)展已成為目前網(wǎng)絡(luò)上使用最為廣泛的匿名通信系統(tǒng)。2002 年FREEDMAN M J 等首次提到一種旨在消除流量分析攻擊的對等匿名通信系統(tǒng)——Tarzan[9]。Tarzan 融合了Mix思想和P2P 技術(shù),使用Chord 查找算法選擇中間節(jié)點(diǎn)并建立IP 隧道。
2003 年DANEZIS G 提出結(jié)合“Mix 級聯(lián)模型”和“自由路由”的受限路由Mix 網(wǎng)絡(luò)[10],以保證消息的匿名性。COTTRELL L 等人提出Mixmaster 協(xié)議[11],在每個數(shù)據(jù)包末尾添加隨機(jī)數(shù)據(jù),將消息轉(zhuǎn)化加密為統(tǒng)一大小,保證所有發(fā)送者的路由信息相同。DANEZIS G 等人提出Mixminion 協(xié)議[12],部署了一組冗余和同步的目錄服務(wù)器系統(tǒng),為電子郵件消息提供發(fā)送人和接收人匿名。
之后的十余年,這種基于覆蓋層的匿名通信系統(tǒng)的發(fā)展一直處于在原有系統(tǒng)的基礎(chǔ)上進(jìn)行改良和增補(bǔ)。例如通過加入可信計(jì)算[13]、網(wǎng)絡(luò)編碼[14]、SDN 網(wǎng)絡(luò)[15]等方式來抵御花樣繁雜的攻擊和監(jiān)管。但是此類系統(tǒng)無一例外地面臨著拓展性較弱和性能限制方面的問題。隨著互聯(lián)網(wǎng)架構(gòu)的進(jìn)一步發(fā)展,研究人員得以利用下一代互聯(lián)網(wǎng)架構(gòu)來設(shè)計(jì)基于網(wǎng)絡(luò)層的匿名通信協(xié)議,這種協(xié)議可以成為網(wǎng)絡(luò)中默認(rèn)路由架構(gòu)的一部分,利用源選擇的路由體系結(jié)構(gòu)實(shí)現(xiàn)高度拓展且高效的匿名路由。網(wǎng)絡(luò)層的匿名通信系統(tǒng)主要是借助新的互聯(lián)網(wǎng)架構(gòu)中的新型路由技術(shù)(pathlet routing/segment routing 等),使得路由器等網(wǎng)絡(luò)基礎(chǔ)設(shè)施參與建立匿名通信系統(tǒng),并協(xié)助轉(zhuǎn)發(fā)匿名流量。與前述的覆蓋層匿名通信系統(tǒng)間接隱藏分組頭的匿名通信方法不同,網(wǎng)絡(luò)層匿名通信系統(tǒng)在網(wǎng)絡(luò)層直接隱藏信息的分組頭,在理論上認(rèn)為有更快的傳輸速度和更高的拓展性。
2012 年由HSIAO H T 提出了LAP[16],在網(wǎng)絡(luò)層實(shí)現(xiàn)的輕量級匿名通信協(xié)議,可以雙向匿名通信,具有低延伸性和寬松的攻擊者模型兩個特點(diǎn)。之后的Dovetail[17]是在LAP 的基礎(chǔ)上進(jìn)行了改進(jìn),使用中間節(jié)點(diǎn)進(jìn)行隱藏目的地。
2015 年CHEN C 等提出的Horne[18]是一種處于網(wǎng)絡(luò)層的匿名通信協(xié)議。
2017 年CHEN C 等提出的PHI[19]解決了LAP 和Dovetail 中存在的問題,同時保持了兩者的高效性。這種協(xié)議提出了一種隱藏路徑信息的有效包頭格式和一種新的可與當(dāng)前及未來互聯(lián)網(wǎng)架構(gòu)兼容的后退路徑建立方法。
2018 年CHEN C 提出了TARANET[20],一種可拓展的、高速率且抗流量分析的匿名通信協(xié)議。TARANET 可以直接內(nèi)置于現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)之中,可以實(shí)現(xiàn)短路經(jīng)和高吞吐量。
綜上,研究人員不斷提出改進(jìn)匿名通信體系結(jié)構(gòu),迭代系統(tǒng)版本,提升系統(tǒng)性能和匿名性。同時,針對匿名網(wǎng)絡(luò)的攻擊和對抗攻擊的方法也在不斷提升。
近年來發(fā)展的新型匿名通信協(xié)議運(yùn)行于網(wǎng)絡(luò)層,以LAP 為代表的輕量級匿名通信協(xié)議主要是通過隱藏通信過程中數(shù)據(jù)包包頭內(nèi)的轉(zhuǎn)發(fā)信息來有效地實(shí)現(xiàn)防止惡意攻擊者,這種輕型的匿名通信協(xié)議避免了對數(shù)據(jù)包有效載荷進(jìn)行加密,有效地降低了通信對資源的消耗。以Hornet 為代表的網(wǎng)絡(luò)層洋蔥路由協(xié)議在輕量級匿名通信協(xié)議的基礎(chǔ)上提供了對數(shù)據(jù)包載荷的保護(hù),其原理是一種由數(shù)據(jù)包來攜帶加密狀態(tài)的洋蔥路由協(xié)議的數(shù)據(jù)包格式,即,將通信的會話狀態(tài)卸載到終端主機(jī),并將它們自己的狀態(tài)嵌入數(shù)據(jù)包以便中間節(jié)點(diǎn)在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中可以提取自己的狀態(tài)進(jìn)行轉(zhuǎn)發(fā)操作。
按照通信系統(tǒng)構(gòu)建所依賴的環(huán)境和運(yùn)行機(jī)制,可以將匿名通信系統(tǒng)分為覆蓋層匿名通信系統(tǒng)和網(wǎng)絡(luò)層匿名通信協(xié)議兩大類,見圖2。其中覆蓋層的匿名通信系統(tǒng)以Mix 和Tor 為主要代表,基于網(wǎng)絡(luò)層的匿名通信協(xié)議以LAP 和Hronet 為代表。覆蓋層匿名通信系統(tǒng)和網(wǎng)絡(luò)層匿名通信協(xié)議在可拓展性、時延、吞吐量、安全和匿名性以及部署規(guī)模等方面的對比如表1 所示。下面分別對這幾種典型的匿名通信系統(tǒng)進(jìn)行介紹。
圖2 匿名通信系統(tǒng)分類圖
表1 兩種不同類型匿名通信系統(tǒng)比較
2.1.1 Mix
Mix 是一種利用多個節(jié)點(diǎn)進(jìn)行多級路徑轉(zhuǎn)發(fā)消息的通信網(wǎng)絡(luò),該網(wǎng)絡(luò)可以對通信雙方身份和通信消息實(shí)現(xiàn)一定程度的保護(hù)。在實(shí)際使用過程中,發(fā)送者可以選擇N 個連續(xù)的目標(biāo)進(jìn)行數(shù)據(jù)傳輸,其中只有一個是真正的接收者,如圖3 所示。網(wǎng)絡(luò)竊聽者在一段鏈路中獲取真正接收者的概率為1/N,并且在實(shí)際傳輸過程中中間節(jié)點(diǎn)可以采用重新排序、延遲或者是填充手段使得竊聽者成功的概率更低。
圖3 Mix 網(wǎng)絡(luò)結(jié)構(gòu)圖
實(shí)現(xiàn)上述的匿名通信需要滿足以下兩個條件:(1)網(wǎng)絡(luò)中各目標(biāo)可以可靠地完成工作并且彼此之間有安全通道;(2)中間節(jié)點(diǎn)知曉所有的路徑。
Mix 利用多個轉(zhuǎn)發(fā)節(jié)點(diǎn)的方法來實(shí)現(xiàn)對信息準(zhǔn)確傳輸路徑的模糊,從而達(dá)到使得網(wǎng)絡(luò)竊聽者無法輕易獲知通信雙發(fā)的關(guān)聯(lián)信息的目的,實(shí)現(xiàn)一定程度的匿名性。
Mix 網(wǎng)絡(luò)在實(shí)際的測試和使用過程中存在一些問題,基于RSA 的混合消息格式不但會占用大量資源,同時也被證明該機(jī)制在標(biāo)記攻擊中存在脆弱性[21]。
2.1.2 洋蔥路由Tor
(1)第一代洋蔥路由
將NRL 最早部署的Tor 稱之為第一代洋蔥路由。該系統(tǒng)通過多次混淆消息、層層加解密達(dá)到隱蔽網(wǎng)絡(luò)路徑結(jié)構(gòu),對抗路徑跟蹤和流量分析等攻擊行為。其工作原理如圖4 所示。
圖4 洋蔥路由示意圖
該系統(tǒng)也存在著一些技術(shù)上的缺陷:①代理路由器的潛在威脅。在代理路由器被攻陷的情況下,傳輸層的IP 和端口信息將暴露。②加解密帶來時延和額外開銷。通信鏈路路由之間數(shù)據(jù)采用公鑰密碼機(jī)制加解密,當(dāng)通信路徑過長時,會導(dǎo)致中間節(jié)點(diǎn)路由加解密資源消耗過大,造成整個路徑通信時延過長。③節(jié)點(diǎn)數(shù)據(jù)庫信息冗余。所有的節(jié)點(diǎn)必須存儲公私鑰、認(rèn)證碼和可信標(biāo)識等信息在數(shù)據(jù)庫中,當(dāng)節(jié)點(diǎn)數(shù)量過大時,數(shù)據(jù)庫的維護(hù)和管理將消耗更多資源,導(dǎo)致系統(tǒng)拓展性較差。
(2)第二代洋蔥路由
第二代洋蔥路由使用了實(shí)時混合技術(shù),即通過通信鏈路上的路由器對一定時間內(nèi)的通信數(shù)據(jù)消息進(jìn)行重新排序,以此使系統(tǒng)抵抗被動流量攻擊。同時第二代洋蔥路由系統(tǒng)還通過允許客戶端加入且僅服務(wù)于選定的客戶端來提高系統(tǒng)的靈活性。
(3)第三代洋蔥路由
第三代洋蔥路由,即Tor,是目前使用最為廣泛的匿名通信系統(tǒng),在全球范圍內(nèi)大規(guī)模部署。相比于前代洋蔥路由,Tor 做了以下幾點(diǎn)改進(jìn):
①Tor 放棄了實(shí)時混合和重新對分組數(shù)據(jù)進(jìn)行排序的操作。這些機(jī)制在后來的試驗(yàn)和實(shí)際使用中證明并不能有效地抵御流量分析攻擊,并且會帶來高昂的延遲和帶寬開銷。
②Tor 采用了目錄服務(wù)器來存儲鏈路相關(guān)信息,維護(hù)網(wǎng)絡(luò)拓?fù)浜吐酚勺C書。使得通信發(fā)起者可以根據(jù)自己需要獨(dú)立從目錄服務(wù)器中選擇通信用到的節(jié)點(diǎn)。
③Tor 客戶端以迭代方式設(shè)置通信鏈路,該機(jī)制使用Diffe-Hellman 密鑰交換機(jī)制與鏈路上的洋蔥路由進(jìn)行對稱密鑰的協(xié)商。
Tor 將數(shù)據(jù)打包成512 B 大小的單元,每個單元在節(jié)點(diǎn)傳輸之前都要按照之前協(xié)商的密鑰進(jìn)行加密,依次是:出口節(jié)點(diǎn)、中間節(jié)點(diǎn)和入口節(jié)點(diǎn)。在消息傳輸時,各個中間節(jié)點(diǎn)使用自己的密鑰將單元解密,得到下一跳信息后傳給下一個節(jié)點(diǎn),直到最終節(jié)點(diǎn)進(jìn)行消息還原并傳給接收者。
在數(shù)據(jù)的傳輸過程中,每個路由僅知道與其通信的前驅(qū)和后繼路由器信息,通過網(wǎng)絡(luò)傳輸鏈路上的有限信息實(shí)現(xiàn)匿名。在網(wǎng)絡(luò)鏈路中的每一跳,根據(jù)信息流的方向逐層對信息進(jìn)行加密或者是解密。中間節(jié)點(diǎn)不能夠讀取到單元的具體內(nèi)容,單元的外觀總是在經(jīng)過中繼節(jié)點(diǎn)時不斷變化,使得不能通過網(wǎng)絡(luò)信息流觀察到通信雙方之間的聯(lián)系。
2.1.3 LAP 及其改進(jìn)
LAP 是最早出現(xiàn)的網(wǎng)絡(luò)層輕量級匿名通信協(xié)議,具有較低的延伸匿名和較為寬松的攻擊模型。
LAP 實(shí)現(xiàn)了對匿名消息的發(fā)起者信息匿名和地理位置的保護(hù),對于消息接收者,協(xié)議使用約會節(jié)點(diǎn)的方式使其匿名性得以保護(hù)。LAP 與目前的網(wǎng)絡(luò)相互適應(yīng),同時也可與未來網(wǎng)絡(luò)架構(gòu)兼容。
LAP 網(wǎng)絡(luò)拓?fù)淠P腿鐖D5 所示。
圖5 LAP 網(wǎng)絡(luò)拓?fù)淠P?/p>
LAP 協(xié)議的機(jī)制是通過模糊終端主機(jī)在網(wǎng)絡(luò)中的拓?fù)湮恢脕碓鰪?qiáng)系統(tǒng)的匿名性。該協(xié)議中每個數(shù)據(jù)包都包含了加密的數(shù)據(jù)包包頭,包頭中包含了路由信息。
假設(shè)通信雙方分別是Bob 和Alice。通信連接的建立始于Bob 向Alice 發(fā)送的空數(shù)據(jù)包??諗?shù)據(jù)包中包含了Alice 的地址信息,網(wǎng)絡(luò)中的每個AS(Autonomous System)都知道目的地址,從而每個AS 都可以獨(dú)立自主的決定轉(zhuǎn)發(fā)數(shù)據(jù)包的路徑。
在LAP 協(xié)議中,每個AS 都持有本地密鑰。在圖5 所示的傳輸過程中,位于第一跳的AS6 首先使用自己的本地密鑰K6,對轉(zhuǎn)發(fā)消息(Bob 建立鏈接使用的空數(shù)據(jù)包,即AS 對的路由決策)進(jìn)行加密,之后AS6 會將加密的路徑信息添加到數(shù)據(jù)包包頭中,路徑上的其他AS 也會執(zhí)行相同的操作,具體過程見圖6。AS9 完成操作后,所有的加密信息都包含在數(shù)據(jù)包包頭之中。在正式通信的過程中,每個AS 只需用自己的密鑰進(jìn)行解密即可得到轉(zhuǎn)發(fā)信息來轉(zhuǎn)發(fā)數(shù)據(jù)包。
Dovetail 是在LAP 基礎(chǔ)上改進(jìn)的一種協(xié)議。LAP 存在單一節(jié)點(diǎn)同時知曉源和目的地址,會產(chǎn)生匿名通信信息泄露的風(fēng)險。Dovetail 采用間接節(jié)點(diǎn)隱藏目的地的機(jī)制,具體是Dovetail 會隨機(jī)選擇三個第三方節(jié)點(diǎn)作為通信網(wǎng)絡(luò)的輔助節(jié)點(diǎn)。
PHI 在前述的LAP 和Dovetail 的基礎(chǔ)上進(jìn)一步增強(qiáng)了協(xié)議的匿名性。其使用了三種新的技術(shù):
(1)將節(jié)點(diǎn)狀態(tài)以偽隨機(jī)的順序放置在數(shù)據(jù)包頭中,實(shí)現(xiàn)節(jié)點(diǎn)位置信息隱藏。具體見圖7。
(2)使用back-off 路徑構(gòu)造方法。
(3)加密綁定有效負(fù)載以防止會話劫持攻擊。
PHI 在同等級別的資源開銷下具有比Dovetail 更強(qiáng)的匿名性。并且PHI 可以與傳統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)兼容。同時,PHI 克服了現(xiàn)有已識別的輕量級匿名通信系統(tǒng)攻擊。
2.1.4 Hornet
Hornet 是一種利用下一代Internet 體系結(jié)構(gòu)設(shè)計(jì)的高效可拓展匿名通信系統(tǒng)。其設(shè)計(jì)初衷是以盡可能少的資源開銷完成可靠的、高速率的匿名通信,并且能夠向下兼容底層網(wǎng)絡(luò),具有很強(qiáng)的拓展性。相比于輕量級匿名通信協(xié)議,以Hornet 為代表的匿名通信協(xié)議在之前的基礎(chǔ)上增加了對數(shù)據(jù)包載荷的保護(hù)。其原理是一種由數(shù)據(jù)包來攜帶加密狀態(tài)的洋蔥路由協(xié)議的數(shù)據(jù)包格式,即,將通信的會話狀態(tài)卸載到終端主機(jī),并將它們自己的狀態(tài)嵌入數(shù)據(jù)包以便中間節(jié)點(diǎn)在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中可以提取自己的狀態(tài)進(jìn)行轉(zhuǎn)發(fā)操作。
匿名通信系統(tǒng)繁雜多樣,對于各種匿名通信系統(tǒng)或協(xié)議在同一尺度標(biāo)準(zhǔn)進(jìn)行分析評價具有重要意義,不僅利于使用者增強(qiáng)通信隱私保護(hù),還利于匿名通信系統(tǒng)更加規(guī)范化的發(fā)展。研究人員提出了一系列針對匿名通信系統(tǒng)的評價指標(biāo)和評價方法。
PFITZMANN A 等在文獻(xiàn)[22]中提出了不可觀測性概念。此后在各種相關(guān)文獻(xiàn)中常以不可觀測性作為匿名通信系統(tǒng)評價的重要指標(biāo)。
REITER M K 等在文獻(xiàn)[23]中提出采用1-p 來度量匿名通信系統(tǒng)匿名度。其中p 表示攻擊者可以從匿名集合中識別當(dāng)前通信用戶的概率。因此1-p 可以作為衡量同一匿名集合中不同對象之間可被攻擊者識別的程度。
DIAZ C 等在文獻(xiàn)[24]中提出了一種匿名通信系統(tǒng)匿名性的評價方法。該方法基于香農(nóng)熵,比較全面地考慮了匿名集合大小以及攻擊者對匿名集中不同元素之間的可識別狀態(tài)的概率分布,因此在攻擊者獲取匿名集合中相關(guān)信息時能夠有效地評估新狀態(tài)下的匿名性。
HAMEL A 等人在文獻(xiàn)[25]中從一種全新的角度衡量匿名系統(tǒng)性能。通過對攻擊者能力進(jìn)行分析,將之與系統(tǒng)帶寬進(jìn)行等價代換。通過攻擊程度與帶寬的轉(zhuǎn)換,可以在一定帶寬資源的統(tǒng)一前提下對攻擊給匿名通信系統(tǒng)產(chǎn)生的影響進(jìn)行評估。該方法側(cè)重于關(guān)心匿名通信系統(tǒng)的性能。
圖6 包頭中加密路徑形成過程
圖7 PHI 中段位置隨機(jī)化過程
譚慶豐等在文獻(xiàn)[26]中提出針對匿名通信系統(tǒng)全方位不可觀測性評價,并提出基于相對熵的方法對不可觀測性進(jìn)行度量。文中給出不可觀測性定義:
(1)匿名性。即通信系統(tǒng)主體在匿名集合中的不可識別的狀態(tài)。
(2)不可檢測性。即從網(wǎng)絡(luò)竊聽者或者是攻擊者的角度不能有效識別其感興趣的通信主體。
(3)不可觀測性。即指網(wǎng)絡(luò)攻擊者感興趣的通信客體在任何其他相同類型的通信客體集合中不可區(qū)分的狀態(tài)。其主要有兩層含義:通信主體的匿名性和通信客體的不可檢測性。
以d 表示系統(tǒng)的不可觀測性,d 的取值范圍在[0,1],取值越小表明不可觀測性屬性越好。
本文認(rèn)為需要從兩個方面對匿名通信系統(tǒng)進(jìn)行評價。一方面是系統(tǒng)的性能特性,這包括系統(tǒng)的兼容性、可拓展性、通信時延和通信效率等,這些特性是影響系統(tǒng)能夠大規(guī)模部署和廣泛使用的一個重要因素;另一方面是系統(tǒng)的安全特性,主要包括通信雙方的不可觀測性和通信內(nèi)容的不可還原性,這些特性是系統(tǒng)匿名性的重要保障因素。以上兩方面緊密結(jié)合才能形成一個性能優(yōu)良、安全可靠的匿名通信系統(tǒng)。因使用場景的不同,對兩者的實(shí)際要求會存在一定程度的偏向,因此對匿名通信系統(tǒng)的評價應(yīng)該在實(shí)際使用場景和兩者之間進(jìn)行合理平衡。
對匿名通信系統(tǒng)的攻擊主要是通過一系列技術(shù)手段,達(dá)到發(fā)現(xiàn)通信流量、關(guān)聯(lián)通信鏈路、關(guān)聯(lián)通信雙方具體身份進(jìn)而還原通信內(nèi)容的目的??偨Y(jié)起來,對匿名通信系統(tǒng)典型的攻擊手段主要有流量分析攻擊和監(jiān)聽,下面將分別對兩類攻擊方法進(jìn)行介紹。
流量分析攻擊是指攻擊者控制匿名通信系統(tǒng)(網(wǎng)絡(luò))的入口和出口節(jié)點(diǎn),對通信雙方進(jìn)行流量識別,運(yùn)用統(tǒng)計(jì)及相關(guān)性方法關(guān)聯(lián)通信實(shí)體、識別匿名通信用戶的身份等信息。流量分析攻擊可分為兩種:被動式及主動式。被動流量分析攻擊的攻擊者先會從一端網(wǎng)絡(luò)找出一段流量的特征,然后在另一端網(wǎng)絡(luò)查找該特征,主動流量分析攻擊的攻擊者會在一端網(wǎng)絡(luò)依據(jù)特定模式修改數(shù)據(jù)包,然后在另一端查找符合該模式的數(shù)據(jù)包。
攻擊者可以籍此把兩端的流量聯(lián)系起來,使其去匿名化。即使在數(shù)據(jù)包上加入定時噪聲,也有攻擊手段能夠抗衡[27]。
3.1.1 被動流量分析攻擊
(1)流量動態(tài)匹配
攻擊者在兩個觀測點(diǎn)監(jiān)測流量(包括監(jiān)測同一節(jié)點(diǎn)的進(jìn)出口流量),來嘗試通過搜索匹配觀測點(diǎn)之間的流量相似性來判斷觀測點(diǎn)觀測到的數(shù)據(jù)是否屬于同一流量[28-29]。
(2)模板攻擊
攻擊者通過匿名通信系統(tǒng)訪問已知Web 站點(diǎn)或是其他Web 服務(wù)端,構(gòu)建出訪問這些Web 的流量模式(模板)數(shù)據(jù)庫。在竊聽通信流量時,攻擊者將觀測到的流量和數(shù)據(jù)庫中的模式進(jìn)行對比,若匹配成功則可以以較大概率猜測出客戶端訪問的Web 站點(diǎn)或者是Web 服務(wù)端[30-31]。
(3)網(wǎng)絡(luò)統(tǒng)計(jì)關(guān)聯(lián)
這種攻擊方式是攻擊者監(jiān)測網(wǎng)絡(luò)不同部分的特征并將其與目標(biāo)匿名流的特征進(jìn)行比較。例如將目標(biāo)雙向流的RTT 與測得的到大量網(wǎng)絡(luò)地址的RTT 進(jìn)行比較,在目標(biāo)流的RTT 與被監(jiān)測網(wǎng)絡(luò)之一的RTT 有強(qiáng)關(guān)聯(lián)的情況下可以判斷目標(biāo)主機(jī)的可能網(wǎng)絡(luò)位置。同樣的,通過記錄單向流(隨時間變化)的吞吐量,之后再與各個網(wǎng)絡(luò)位置的吞吐量進(jìn)行比較,敵手可以對目標(biāo)主機(jī)的位置進(jìn)行最終定位。
3.1.2 主動流量攻擊
主動流量攻擊使用和被動流量分析攻擊相似的技術(shù),但主動流量攻擊還涉及攻擊者對目標(biāo)的流量操縱。
(1)動態(tài)流量修改
修改動態(tài)流量,在數(shù)據(jù)包中添加水印(或標(biāo)簽),攻擊者可以監(jiān)測到流量流向,這種攻擊稱之為流水印。另一種相似的攻擊稱之為流指紋,攻擊者將多位信息編碼插入動態(tài)流量中,之后再將編碼的信息在同一網(wǎng)絡(luò)的另一個節(jié)點(diǎn)解碼用以識別具體網(wǎng)絡(luò)。
(2)擁塞攻擊
動態(tài)流量修改的前提是攻擊者需要控制盡可能多的節(jié)點(diǎn),擁塞攻擊與其類似。但是攻擊者僅需操縱單個可控節(jié)點(diǎn)流量,造成網(wǎng)絡(luò)中其他節(jié)點(diǎn)擁塞或是網(wǎng)絡(luò)波動。之后觀察這些網(wǎng)絡(luò)異常是否影響到了目標(biāo),如是,則說明被監(jiān)測目標(biāo)的流量遍歷了發(fā)生網(wǎng)絡(luò)流量波動的節(jié)點(diǎn)。
(3)指紋識別
通過對網(wǎng)站指紋進(jìn)行研究,可以發(fā)起網(wǎng)站指紋攻擊,破解用戶所訪問的隱藏服務(wù)[32]。政府級別的強(qiáng)制監(jiān)管可以和企業(yè)合作,要求ISP 在傳輸過程中復(fù)制用戶的流量動態(tài)并且通過安全通道將其轉(zhuǎn)發(fā),也可以將監(jiān)控設(shè)備架設(shè)在主干網(wǎng)等位置,保證擁有更快的應(yīng)對速度,再利用數(shù)據(jù)分析工具篩選流量,識別Tor 用戶。
3.2.1 出口節(jié)點(diǎn)攻擊
可以通過運(yùn)行和監(jiān)聽Tor 出口節(jié)點(diǎn),截獲電子郵箱賬號的用戶名和密碼[33]。Tor 不能加密出口節(jié)點(diǎn)到目標(biāo)服務(wù)器之間流量,所以導(dǎo)致任一的出口節(jié)點(diǎn)皆有能力截獲通過該節(jié)點(diǎn)且沒有經(jīng)過TLS 或SSL 進(jìn)行端到端加密的流量。通過對截獲的流量進(jìn)行分析,攻擊者可以在實(shí)際數(shù)據(jù)和協(xié)議數(shù)據(jù)中找到源端的相關(guān)信息[34]。文獻(xiàn)[35-36]提出一種威脅Tor 通信網(wǎng)絡(luò)的方法,作者宣稱可以達(dá)到解密通信的效果。
3.2.2 自治域系統(tǒng)監(jiān)聽
若客戶至入口中繼和出口中繼至目標(biāo)地址這兩段網(wǎng)絡(luò)路徑在同一個自治域之中,則該自治域的管理者可以經(jīng)過統(tǒng)計(jì),獲知入口路段和出口路段之間的關(guān)系,并且能推斷出數(shù)據(jù)包的具體流向。
3.3.1 流量偽裝
流量偽裝技術(shù)(例如協(xié)議混淆、流量變種等)是應(yīng)對流量分析的常用對抗手段。主要思想是將一種流量的特征偽裝成為另一種流量,以此降低基于流特征分析的準(zhǔn)確性。在匿名通信系統(tǒng)中,通過多次轉(zhuǎn)發(fā)和改變報(bào)文的樣式消除報(bào)文之間的對應(yīng)關(guān)系,為通信的發(fā)送者和接收者提供可靠地隱私保護(hù)。文獻(xiàn)[37]中WRIGHT C V 提出一種可以實(shí)時改變數(shù)據(jù)分組的凸優(yōu)化方法,該方法可以將一種流量的分組大小分布偽裝成另外一種流量的分組大小分布,經(jīng)變換之后的流量可以有效地規(guī)避流量分器的識別。此外比較典型的是文獻(xiàn)[38-40]提出的SkypeMorph、StepTorus 和CensorSpoofer,分別將Tor 流量偽裝成Skype 視頻流量、HTTP 流量和基于SIP 的VOIP 協(xié)議。
3.3.2 Tor 傳輸層插件
Tor 為了應(yīng)對安全威脅,先后部署了obfs、Meek 和FTE等基于傳輸層的插件來支持協(xié)議混淆和協(xié)議偽裝。
(1)obfs 混淆代理
為了有效抵抗深度包監(jiān)測技術(shù),Tor 的obfs 由此而生。obfs 先后經(jīng)歷了四個版本,分別是obfs、obfs2[41]、obfs3[42]和obfs4[43]。obfs2 采用分組密碼加密方式對通信數(shù)據(jù)進(jìn)行加密,擦除Tor 流量相關(guān)標(biāo)識,有效實(shí)現(xiàn)混淆。obfs3 使用Diffie-Hellman 協(xié)議交換確認(rèn)通信雙方的密鑰,但是此種方法在雙方密鑰交換階段缺乏對網(wǎng)橋身份的驗(yàn)證,存在中間人攻擊風(fēng)險。obfs4 利用BridgeDB 實(shí)現(xiàn)基于網(wǎng)橋身份驗(yàn)證的密鑰交換,客戶端通過BridgeDB 查詢可用的節(jié)點(diǎn),并獲取其相關(guān)信息(IP 地址、節(jié)點(diǎn)ID 和公鑰信息),三個同時驗(yàn)證成功,才能通過obfs4 建立通信鏈接。此種方法,既能有效地混淆Tor 流量,又可防止中間人攻擊。
(2)Meek
Meek[44]是一種前置域匿名通道構(gòu)建技術(shù)。Meek-client把真正傳輸?shù)腡or 數(shù)據(jù)封裝在HTTP POST 載荷之中,將目標(biāo)網(wǎng)橋地址寫入HTTP HOST 載荷。加密后的HTTP HOST 相關(guān)內(nèi)容無法被監(jiān)管者發(fā)現(xiàn)。前置域服務(wù)器接收到數(shù)據(jù)之后,根據(jù)實(shí)際載荷字段信息將數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)橋節(jié)點(diǎn),在節(jié)點(diǎn)運(yùn)行的Meek-server 對HTTP 報(bào)頭進(jìn)行處理后將封裝好的Tor 流量發(fā)送至下一個中繼節(jié)點(diǎn)。Meek 現(xiàn)依賴于Google、Amazon 和Azure 等大型服務(wù)提供商的前置域名服務(wù)器。通過這種方法,造成Tor 客戶端在訪問正常往網(wǎng)站的假象,從而規(guī)避針對Tor 的流量監(jiān)控。
(3)FTE
Format-Transforming Encryption[45]在2013 年被提出。通過拓展傳統(tǒng)的對稱加密,將密文轉(zhuǎn)換為指定的傳輸格式。依據(jù)用戶輸入的正則表達(dá)式,輸出具有一定協(xié)議格式的數(shù)據(jù)流量。其中用戶輸入的正則表達(dá)式,可以從DPI 系統(tǒng)源碼中提取亦或是通過應(yīng)用層流量自動學(xué)習(xí)得到。依此,使得基于正則表達(dá)式的DPI 技術(shù)會將處理后的流量誤識別為用戶選定的協(xié)議流量,實(shí)現(xiàn)規(guī)避審查。特別的,在Tor 中,常使用HTTP 正則表達(dá)式將Tor流量轉(zhuǎn)換為HTTP 協(xié)議,實(shí)現(xiàn)流量偽裝。
匿名通信技術(shù)作為互聯(lián)網(wǎng)發(fā)展過程中對匿名性保證的關(guān)鍵技術(shù),自其提出以來便一直是相關(guān)領(lǐng)域的研究熱點(diǎn),經(jīng)歷了從最簡單的Mix 網(wǎng)絡(luò)到實(shí)用性較強(qiáng)的Tor,從最初的覆蓋層匿名通信系統(tǒng)逐漸發(fā)展出適應(yīng)未來互聯(lián)網(wǎng)架構(gòu)的網(wǎng)絡(luò)層匿名通信協(xié)議。這一方面得益于在目前互聯(lián)網(wǎng)大環(huán)境下網(wǎng)絡(luò)中的匿名性作為公民的一項(xiàng)基本權(quán)利愈加受到各方面的挑戰(zhàn),公眾對個人隱私的保護(hù)越來越重視。另一方面得益于匿名通信在商業(yè)領(lǐng)域的廣泛使用。
未來匿名通信的發(fā)展主要還是沿著兩條主線發(fā)展,一種是公開化網(wǎng)絡(luò),即采用無中心化的P2P 方式,是Tor思想的延續(xù);另一種則是私有化部署和自建的匿名通信系統(tǒng),主要目標(biāo)是為了實(shí)現(xiàn)隱私保護(hù)或受保護(hù)目標(biāo)的防護(hù)(例如用于采集瀕危動物信息的數(shù)據(jù)傳輸?shù)?。