趙 蕙,王良民,申屠浩,黃 磊,倪曉鈴
1(江蘇大學(xué) 計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)
2(江蘇省工業(yè)網(wǎng)絡(luò)安全技術(shù)重點(diǎn)實(shí)驗(yàn)室(江蘇大學(xué)),江蘇 鎮(zhèn)江 212013)
互聯(lián)網(wǎng)用戶的隱私數(shù)據(jù)越來(lái)越容易受到各種商業(yè)或其他用途的掠奪,用戶數(shù)據(jù)可能面臨廣泛的監(jiān)控,可能被商業(yè)公司收集和出售,可能由于網(wǎng)絡(luò)攻擊而泄露[1].面對(duì)通信網(wǎng)絡(luò)中存在的重大隱私風(fēng)險(xiǎn),僅僅通過(guò)消息加密提供內(nèi)容的機(jī)密性是遠(yuǎn)遠(yuǎn)不夠的,通過(guò)流量追蹤技術(shù),攻擊者可以揭示流量發(fā)送者和接收者之間的通信聯(lián)系等大量信息[2],例如誰(shuí)發(fā)送了信息、誰(shuí)接收了信息、誰(shuí)在與誰(shuí)通信、何時(shí)通信、通信頻率等.保護(hù)網(wǎng)絡(luò)空間隱私的愿望推動(dòng)了匿名通信系統(tǒng)的設(shè)計(jì),使得用戶可以在使用互聯(lián)網(wǎng)服務(wù)時(shí),隱藏通信終端主機(jī)的身份和通信關(guān)系等隱私敏感信息.近年來(lái),匿名通信系統(tǒng)已從小范圍部署發(fā)展成為數(shù)百萬(wàn)人使用的大眾市場(chǎng)軟件[3],Tor、I2P、Freenet、ZeroNet 等都是被廣泛使用的匿名通信系統(tǒng)[4].
隨著網(wǎng)絡(luò)匿名通信系統(tǒng)設(shè)計(jì)的迅速發(fā)展,對(duì)匿名系統(tǒng)進(jìn)行有效的評(píng)估也需要開(kāi)展更廣泛和深入的研究.針對(duì)網(wǎng)絡(luò)匿名通信系統(tǒng)的研究工作在部署成本、路由性能、擁塞控制、可伸縮性和安全性等方面不斷改進(jìn)[1,5],這些方面也是匿名系統(tǒng)評(píng)估的主要角度,安全性是其中關(guān)鍵性的指標(biāo).一個(gè)匿名通信系統(tǒng)可以從匿名性、抗跟蹤性、抗封鎖性、抗竊聽(tīng)性、魯棒性和可用性等不同角度進(jìn)行評(píng)價(jià)[6],其中,對(duì)匿名通信系統(tǒng)所能提供的匿名程度的量化,即匿名度量,是對(duì)這類系統(tǒng)進(jìn)行度量的重點(diǎn)和關(guān)鍵.因此,如何對(duì)不同的匿名通信系統(tǒng)所能提供的匿名性的程度進(jìn)行評(píng)估和量化,是一個(gè)重要的研究問(wèn)題,是匿名領(lǐng)域新的研究焦點(diǎn).對(duì)匿名通信系統(tǒng)的用戶而言,匿名度量的結(jié)果表明系統(tǒng)面對(duì)各種攻擊場(chǎng)景能為用戶提供多少匿名性:估計(jì)過(guò)高,用戶可能會(huì)被置于無(wú)法預(yù)測(cè)和接受的風(fēng)險(xiǎn)之中;估計(jì)過(guò)低,會(huì)導(dǎo)致用戶在不必要的情況下放棄使用系統(tǒng).對(duì)匿名通信系統(tǒng)的開(kāi)發(fā)者而言,匿名度量可對(duì)不同匿名需求下設(shè)計(jì)和改進(jìn)匿名通信系統(tǒng)提供客觀和科學(xué)的依據(jù),也有利于對(duì)不同的匿名通信系統(tǒng)進(jìn)行對(duì)比.但是如何權(quán)衡與比較自己研究的新系統(tǒng)和新機(jī)制,成為一個(gè)比較困擾匿名系統(tǒng)研究工作的難題.當(dāng)前,研究匿名機(jī)制的文獻(xiàn)有很多,但卻缺乏統(tǒng)一的匿名機(jī)制模型和攻擊模型.本文的綜述內(nèi)容主要是面對(duì)有關(guān)匿名機(jī)制的研究者,通過(guò)全面介紹匿名度量方法,為進(jìn)行匿名設(shè)計(jì)的研究者在選擇合適的匿名度量方法方面提供一點(diǎn)線索,進(jìn)一步地,使研究者能夠根據(jù)所設(shè)計(jì)的匿名機(jī)制,適當(dāng)改進(jìn)和拓展匿名度量方法.
匿名度量是隱私度量[7]在匿名通信領(lǐng)域中的研究.IEEE 術(shù)語(yǔ)標(biāo)準(zhǔn)辭典[8]給出:度量是對(duì)一個(gè)系統(tǒng)、組件或過(guò)程具有的某種給定屬性的度的定量測(cè)量.本文給出一個(gè)匿名度量研究的通用框架,如圖1 所示.
Fig.1 A general framework for anonymous metrics research圖1 匿名度量研究的通用框架
網(wǎng)絡(luò)匿名系統(tǒng)的參與實(shí)體包括用戶、攻擊者、匿名網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供者.用戶實(shí)體,例如需要保護(hù)機(jī)密或敏感業(yè)務(wù)采購(gòu)模式的商業(yè)公司、需要隱藏身份的記者、犯罪檢舉者、病人等敏感社會(huì)團(tuán)體以及瀏覽敏感信息的普通用戶等;攻擊者實(shí)體,例如商業(yè)黑客、網(wǎng)絡(luò)供應(yīng)商、網(wǎng)絡(luò)審查和執(zhí)法機(jī)構(gòu)等;匿名基礎(chǔ)設(shè)施提供者,例如匿名系統(tǒng)的維護(hù)或提供匿名節(jié)點(diǎn)的志愿者.用戶使用網(wǎng)絡(luò)產(chǎn)生的網(wǎng)絡(luò)通信中的原始數(shù)據(jù),包括消息的內(nèi)容和用于消息路由的元數(shù)據(jù).攻擊者捕獲到消息的內(nèi)容可能會(huì)分析出用戶的身份信息、瀏覽興趣、生活習(xí)慣和聊天內(nèi)容.攻擊者捕獲到消息的元數(shù)據(jù)可以分析出包括源地址、目的地址、消息長(zhǎng)度等,進(jìn)而推斷用戶的身份、通信雙方的地理位置和通信關(guān)系.
網(wǎng)絡(luò)中的原始消息由匿名基礎(chǔ)設(shè)備提供者使用匿名技術(shù)處理后成為匿名消息,消息的內(nèi)容可以通過(guò)數(shù)據(jù)加密算法和數(shù)據(jù)隱私技術(shù)來(lái)保護(hù)隱私,消息的元數(shù)據(jù)可以通過(guò)加密、隧道、隨機(jī)化等匿名通信技術(shù)來(lái)實(shí)現(xiàn)隱藏.匿名通信技術(shù)的有效性依賴于加密的方法、匿名用戶的數(shù)量、消息路由的機(jī)制、敵手的知識(shí)和能力以及網(wǎng)絡(luò)環(huán)境等.匿名后的數(shù)據(jù)可能被網(wǎng)絡(luò)中的攻擊者觀察和分析,攻擊者再結(jié)合挖掘到的公共信息和用戶資料,構(gòu)成背景知識(shí),從而有可能推測(cè)和還原出原始數(shù)據(jù).擁有的背景知識(shí)越多,對(duì)匿名數(shù)據(jù)成功去匿名化的可能性越大.匿名度量方法依賴于不同類型的輸入來(lái)計(jì)算度量值,經(jīng)過(guò)匿名技術(shù)處理的可觀察數(shù)據(jù)和攻擊者的背景知識(shí),都可以是匿名度量的輸入數(shù)據(jù),輸入數(shù)據(jù)的可用性和適當(dāng)?shù)募僭O(shè)決定了是否可以在給定的場(chǎng)景中使用度量.根據(jù)不同指標(biāo)計(jì)算出的能夠量化匿名強(qiáng)度的數(shù)值,推動(dòng)不同匿名技術(shù)之間的分析和對(duì)比,促進(jìn)匿名技術(shù)的進(jìn)一步發(fā)展.
已有一些文獻(xiàn)[3,9-13]較全面和系統(tǒng)地回顧了匿名度量的研究工作,但仍可以從不同角度開(kāi)展具體而深入的比較和分析工作.本文首先尋找匿名度量的發(fā)展脈絡(luò)和特點(diǎn),按照時(shí)間線回顧基于多種理論和方法的匿名度量標(biāo)準(zhǔn),梳理后得到如圖2 所示的研究發(fā)展歷程.將匿名度量研究領(lǐng)域的發(fā)展歷程劃分為非正式定義階段、信息論方法廣泛應(yīng)用階段、多種度量輸出的新方法階段;然后按照提出的匿名度量發(fā)展歷程的3 個(gè)階段組織內(nèi)容,圍繞對(duì)匿名性的度量領(lǐng)域中關(guān)鍵的研究工作,進(jìn)一步闡述在這條時(shí)間線上推動(dòng)該領(lǐng)域進(jìn)展的重要研究工作,結(jié)合匿名通信攻擊技術(shù),分析與對(duì)比不同的匿名度量方法;最后,針對(duì)目前新興網(wǎng)絡(luò)匿名通信系統(tǒng)帶來(lái)的機(jī)遇與挑戰(zhàn),探討和展望匿名度量進(jìn)一步的研究方向.
Fig.2 Evolution of anonymity metric research圖2 網(wǎng)絡(luò)匿名度量研究的發(fā)展歷程
本文第1 節(jié)從匿名術(shù)語(yǔ)的定義開(kāi)始,介紹基于匿名集和基于概率的匿名度量方法等匿名度量領(lǐng)域的開(kāi)創(chuàng)性工作.第2 節(jié)圍繞信息論的方法,分析香農(nóng)熵、歸一化香農(nóng)熵、最小熵、雷尼熵、條件熵、相對(duì)熵等多種方法對(duì)匿名性的度量.第3 節(jié)討論對(duì)發(fā)送方和接收方關(guān)聯(lián)性進(jìn)行度量的方法.第4 節(jié)從攻擊者成功的概率、設(shè)計(jì)者和攻擊者之間的博弈、時(shí)間、觀測(cè)值和真實(shí)結(jié)果之間的誤差、不可區(qū)分性和k匿名等多個(gè)角度介紹衡量匿名程度的方法.第5 節(jié)對(duì)多種匿名機(jī)制、攻擊技術(shù)和度量方法進(jìn)行比較和分析.第6 節(jié)討論信息熵方法在新興網(wǎng)絡(luò)匿名通信系統(tǒng)中的應(yīng)用和Tor 的度量實(shí)踐,展望匿名度量方法的組合.第7 節(jié)總結(jié)全文.
1981 年,Chaum 提出不可追蹤?quán)]件問(wèn)題和Mix 解決方法[14],這是匿名領(lǐng)域的開(kāi)創(chuàng)性工作.對(duì)匿名系統(tǒng)提供的匿名性進(jìn)行量化,從一開(kāi)始就是重要的挑戰(zhàn).本節(jié)從匿名的定義開(kāi)始,討論基于匿名集和基于概率的度量方法,使用的符號(hào)見(jiàn)表1.
Table 1 Notation and abbreviation description表1 符號(hào)和縮略語(yǔ)說(shuō)明
研究匿名技術(shù)的學(xué)者對(duì)該領(lǐng)域頻繁使用的術(shù)語(yǔ)有各自的定義和理解,直到2001 年,Pfitzmann 和Hansen 給出匿名性、不可關(guān)聯(lián)性、不可觀察性、假名等標(biāo)準(zhǔn)化經(jīng)典定義[15],這些定義已被大多數(shù)匿名文獻(xiàn)所采用,圖3描繪了4 個(gè)非形式化定義在匿名通信網(wǎng)絡(luò)中的通信環(huán)境和通信實(shí)體表示.
Fig.3 Schematic diagram of anonymous communication圖3 匿名通信網(wǎng)絡(luò)示意圖
匿名是借助其他實(shí)體的行為來(lái)隱藏自己的行為,匿名性(anonymity)被定義為一個(gè)通信實(shí)體在一個(gè)具有相同特性的匿名集中的不可識(shí)別性.系統(tǒng)中所有可能參與者的集合是攻擊者無(wú)法區(qū)分的匿名集,是實(shí)現(xiàn)匿名的基礎(chǔ).進(jìn)一步細(xì)化匿名集,可能是特定消息發(fā)送方的集合稱為發(fā)送方匿名集,可能是發(fā)送方特定消息的收件人的集合稱為接收方匿名集,兩個(gè)匿名集可以是相同的,可以是重疊的,也可以是不相交的,可能隨時(shí)間而發(fā)生變化.如圖3(a)所示,系統(tǒng)中的用戶為{A,B,C,X,Y,Z},其中,用戶C和Z被攻擊者攻陷或控制,有效的發(fā)送方匿名集為{A,B},接收方匿名集為{X,Y}.
不可關(guān)聯(lián)性(unlinkability)表示攻擊者無(wú)法判斷通信行為之間的相關(guān)性.如圖3(b)所示,對(duì)一個(gè)規(guī)模為2 的發(fā)送方匿名集{A,B},攻擊者不能判斷兩條消息是不是同一個(gè)發(fā)送者發(fā)送,消息由同一個(gè)發(fā)送者發(fā)出的概率是1/2.假設(shè)兩條消息由不同的發(fā)送者發(fā)出,攻擊者無(wú)法關(guān)聯(lián)特定消息的發(fā)送方和接收方,即無(wú)法區(qū)分{A→X,B→Y}和{A→Y,B→X}.
不可觀察性(unobservability)表示攻擊者無(wú)法區(qū)分出系統(tǒng)中的消息與隨機(jī)噪聲,不知道有沒(méi)有消息發(fā)送,不知道有沒(méi)有消息接收,不知道有沒(méi)有發(fā)生消息的交換.如圖3(c)所示,意味著攻擊者無(wú)法區(qū)分{A→},{A?},{B→},{B?},{→X},{?X},{→Y},{?Y}.
使用假名(pesudonymity)標(biāo)識(shí)對(duì)象的身份,是實(shí)現(xiàn)匿名的一種方法.如圖3(d)所示,假設(shè)攻擊者捕獲到通信對(duì){u→s},也不能直接掌握使用身份u和s的真正用戶A和Y.不過(guò),隨著在系統(tǒng)中交換信息次數(shù)的增加和通信時(shí)間的增長(zhǎng),假名與真實(shí)身份的映射關(guān)系會(huì)慢慢變得容易分析,假名與真實(shí)身份并不必須是一對(duì)一映射.也有研究提出使用假名組,用假名集合與身份集合對(duì)應(yīng),使假名與對(duì)象之間具有不可關(guān)聯(lián)性.
除了匿名性,系統(tǒng)的不可關(guān)聯(lián)性、不可觀察性和使用假名也隱含反映了系統(tǒng)能夠提供的匿名保護(hù),也可以作為度量匿名通信系統(tǒng)的指標(biāo).
相比Pfitzmann 和Hansen 在文獻(xiàn)[15]中對(duì)匿名的概念給出的非形式化的經(jīng)典定義,基于數(shù)學(xué)基礎(chǔ),對(duì)匿名性、不可鏈接性等隱私目標(biāo)進(jìn)行定義、建模和驗(yàn)證的工作也較早(1996 年)就已開(kāi)始.匿名的形式化研究有的側(cè)重于用準(zhǔn)確的語(yǔ)義來(lái)定義匿名性,有的側(cè)重于建模和驗(yàn)證匿名系統(tǒng).對(duì)匿名概念的形式化定義對(duì)匿名屬性的表達(dá)和分析更加清晰和準(zhǔn)確,并致力于嚴(yán)格證明匿名協(xié)議承諾的安全性,從而更好地量化匿名程度,有利于不同系統(tǒng)之間的比較.我們?cè)诘?.7 節(jié)展示了面向匿名性、不可關(guān)聯(lián)性等隱私概念開(kāi)展的形式化定義工作.
根據(jù)匿名的定義,特定消息的發(fā)送或接收的實(shí)體肯定在該匿名集內(nèi).文獻(xiàn)[16]提出,可以用匿名集的大小來(lái)反映系統(tǒng)所能夠提供的匿名性:最壞情況下,匿名集為1,意味著無(wú)法提供匿名保護(hù);最好情況下,匿名集的大小即網(wǎng)絡(luò)大小,意味著網(wǎng)絡(luò)中任何用戶都可能是特定消息的發(fā)送或接收方.文獻(xiàn)[10]對(duì)匿名度的定義見(jiàn)公式(1):
其中,N為匿名集中的用戶數(shù),可以理解為敵人對(duì)匿名性的攻擊相當(dāng)于在猜測(cè)一個(gè)二進(jìn)制序列,該序列的長(zhǎng)度是對(duì)匿名集的大小取以2 為底的對(duì)數(shù).從定義上看,匿名的程度取決于用戶的數(shù)量:隨著集合大小的增加,匿名的程度也會(huì)增加.當(dāng)N=1 時(shí),匿名度為0,此時(shí),匿名集中只有一個(gè)用戶,系統(tǒng)無(wú)法提供匿名性;當(dāng)N=2 時(shí),匿名度為1,此時(shí),匿名集中有兩個(gè)用戶,相當(dāng)于猜測(cè)1 個(gè)二進(jìn)制位的概率,攻擊者有50%的機(jī)會(huì)猜中;當(dāng)N=64 時(shí),匿名度為6,相當(dāng)于猜測(cè)一個(gè)長(zhǎng)度為6 的二進(jìn)制序列.
最理想情況下,匿名通信系統(tǒng)中所有用戶被攻擊者識(shí)別的概率呈均勻分布,即每個(gè)用戶作為特定消息的發(fā)送者或接收者的概率是相等的,匿名度隨集合大小的增加而增加,如圖4 所示.
Fig.4 Use ASS to compare two uniform systems圖4 使用匿名集大小比較均勻分布的兩個(gè)系統(tǒng)
實(shí)際情況中,攻擊者可以根據(jù)自己掌握的資源和知識(shí),通過(guò)流量分析、泛洪攻擊等手段,對(duì)發(fā)送方或接收方做出猜測(cè).這種情況下,個(gè)別發(fā)送者或接收者被攻擊者識(shí)別的概率增加,使得系統(tǒng)的匿名性降低.例如,兩個(gè)系統(tǒng)具有同樣大小的匿名集N=3,系統(tǒng)1 呈現(xiàn)均勻分布,如圖5(a)所示;系統(tǒng)2 中的一個(gè)節(jié)點(diǎn)相較其他節(jié)點(diǎn),被攻擊者猜測(cè)為有更高的概率,是消息發(fā)送方,如圖5(b)所示.這兩種系統(tǒng)的匿名程度事實(shí)上有明顯差別,但是僅基于匿名集的度量方法無(wú)法區(qū)別這種情況.
Fig.5 Examples of the systems with different distribution圖5 均勻分布系統(tǒng)和非均勻分布系統(tǒng)
因此,基于匿名集表示匿名程度盡管復(fù)雜性低、通用性高,但是由于這種方法僅依賴于系統(tǒng)中的用戶數(shù)量,沒(méi)有考慮攻擊者可能根據(jù)先驗(yàn)知識(shí)獲得的匿名集中每個(gè)成員成為潛在目標(biāo)的概率信息,因此無(wú)法區(qū)分匿名集大小相同的不同匿名系統(tǒng).
考慮到概率分布的不均勻性,假設(shè)攻擊者對(duì)系統(tǒng)中每一個(gè)節(jié)點(diǎn)分配一個(gè)概率,Pri(Pri≠0,∑i∈ASPri=1)表示攻擊者識(shí)別消息的發(fā)送方或接收方的概率.文獻(xiàn)[17]從用戶角度單獨(dú)考慮匿名性,從絕對(duì)隱私到可證明暴露,提出6 級(jí)匿名,見(jiàn)公式(2):
圖6 以不同概率分布的匿名系統(tǒng)為例,描繪了6 級(jí)匿名.
Fig.6 Six levels of anonymity圖6 6 級(jí)匿名性劃分
對(duì)于圖6 所示匿名集的大小相同但概率分布不同的兩個(gè)系統(tǒng),這種匿名度劃分方法可以得到不同的度量值.圖6(a)所示對(duì)應(yīng)“無(wú)可置疑”,圖6(b)所示對(duì)應(yīng)“可能無(wú)辜”,判斷出圖6(a)所示對(duì)應(yīng)著一個(gè)匿名性更高的系統(tǒng).由于考慮到分布的不均勻性,基于概率的方法產(chǎn)生了可區(qū)分的度量.
但是,因?yàn)椴豢紤]匿名集基數(shù),這種方法并不總能正確地區(qū)分出匿名程度.圖7(a)所示對(duì)應(yīng)均勻分布的系統(tǒng),獲得“無(wú)可置疑”,但匿名集合很小;圖7(b)所示對(duì)應(yīng)的系統(tǒng)由于有一個(gè)用戶的概率稍高于其他用戶,獲得“可能目標(biāo)”等級(jí),但匿名集合大得多.
Fig.7 Distinguish incorrectly without cardinality圖7 缺乏匿名集基數(shù)
盡管均勻分布應(yīng)該具有更好的匿名性,但是如果匿名集太小,即使系統(tǒng)什么信息也不泄露,攻擊者成功識(shí)別用戶所花費(fèi)的代價(jià)可能也比匿名集大的非均勻分布系統(tǒng)要小得多,攻擊者更容易識(shí)別,攻陷的成功率更高.因此,這個(gè)結(jié)果不能反映真正的事實(shí).單獨(dú)使用匿名集大小或者通信系統(tǒng)中實(shí)體被識(shí)別的概率來(lái)衡量匿名程度存在明顯的缺陷,但是它們卻非常必要和適合作為度量的輸入與其他方法相結(jié)合,例如可應(yīng)用于基于信息論的度量方法中.
既要考慮匿名集的大小,又要考慮到分布的不均勻性,以及攻擊者對(duì)網(wǎng)絡(luò)匿名通信的大多數(shù)攻擊都能夠得到關(guān)于相互通信實(shí)體的身份的概率信息,因此,當(dāng)信息理論匿名度量[18,19]被提出之后,即得到了廣泛的應(yīng)用.熵具有很好的統(tǒng)計(jì)特性,這些度量方法基于熵,反映了敵手相對(duì)于給定消息的發(fā)送方或接收方的不確定性.基于信息熵的度量方法對(duì)匿名度量的研究有重要的意義,并發(fā)展出很多分支.
用信息熵表示系統(tǒng)的匿名程度,見(jiàn)公式(3):
攻擊者可能會(huì)猜測(cè)匿名集中的哪個(gè)成員發(fā)生了什么樣的特定操作,例如誰(shuí)發(fā)送了特定的消息、誰(shuí)訪問(wèn)了特定的位置,然后攻擊者給匿名集中的每一個(gè)成員估計(jì)一個(gè)概率p(x),以表明該目標(biāo)用戶發(fā)生特定操作的可能性.例如:攻擊者關(guān)心的是消息的發(fā)送者,那么p(x)就表示目標(biāo)用戶是真正發(fā)送者的概率.對(duì)p(x)的估計(jì),可以基于貝葉斯推理、隨機(jī)猜測(cè)、先驗(yàn)知識(shí)或多種方法的組合,所有成員的概率之和為1.以發(fā)送方匿名為例,熵可以直觀解釋為消息發(fā)送者匿名集有效大小的對(duì)數(shù).例如,熵為6 的潛在發(fā)送方的分布可以解釋為:發(fā)送方與26-1=63 個(gè)其他發(fā)送方?jīng)]有區(qū)別.
用基于香農(nóng)熵的方法量化圖7 所示的兩個(gè)匿名系統(tǒng).圖7(a)所示為獲得的匿名程度為ADENT=log23≈1.58,圖7(b)所示為ADENT=-(1×0.1×log20.1+19×(0.9/1.9)×log2(0.9/1.9))≈4.29,相比單純使用概率方法無(wú)法正確區(qū)分匿名度,信息熵的度量方法得到了較為合理的、能夠區(qū)分匿名度的量化結(jié)果.
下面給出一個(gè)香農(nóng)熵受異常值影響的例子.考慮100 個(gè)潛在接收方的分布,除了一個(gè)接收方概率為0.109 以外,剩余所有潛在接收方的可能性呈均勻分布,概率為0.009,系統(tǒng)的熵值高達(dá)6.40,接近理論最大值log2100≈6.64.因此,假如攻擊者能夠高概率地識(shí)別出目標(biāo),剩余大量低概率的成員如果呈均勻分布,則仍然可以導(dǎo)致高熵值,從而表明高匿名度,但此時(shí),熵計(jì)算的結(jié)果并不符合實(shí)際情況.
再如,兩個(gè)系統(tǒng)匿名程度不同,但熵值相同,如圖8 所示.
? 圖8(b)中一個(gè)節(jié)點(diǎn)被攻擊者識(shí)別的概率為0.5,其余節(jié)點(diǎn)呈均勻分布,匿名集大小為101:
兩個(gè)系統(tǒng)熵值相同,然而圖8(b)所示匿名程度事實(shí)上低于圖8(a).
Fig.8 Different anonymity degree with same entropy圖8 相同的熵值,不同的匿名程度
文獻(xiàn)[19]進(jìn)一步對(duì)香農(nóng)熵做了規(guī)格化的工作,見(jiàn)公式(4),使得表達(dá)匿名程度的值被限制在[0,1]的范圍內(nèi):
用歸一化熵可以區(qū)分圖8 所示場(chǎng)景中的兩個(gè)系統(tǒng),圖8(a)為ADNENT=4.32/log220=1,圖8(b)為ADNENT=4.32/log2101≈0.65,得出不同的歸一化熵,從而區(qū)分出不同的匿名程度.但在圖9 所示的場(chǎng)景中,兩個(gè)系統(tǒng)的匿名集大小相同、概率分布不同,兩個(gè)系統(tǒng)的熵都為3.12,歸一化熵都為0.72.顯然,無(wú)論是熵或歸一化熵,都無(wú)法區(qū)分這兩個(gè)系統(tǒng).
Fig.9 Systems with same entropy and normalized entropy圖9 熵相同,歸一化熵相同
信息熵的概念提供了隨機(jī)變量不確定性的度量,考慮的是特定用戶的平均情況.針對(duì)有著非常薄弱環(huán)節(jié)的匿名系統(tǒng),例如有一個(gè)用戶被識(shí)別的概率特別高,攻擊者可以通過(guò)攻擊該用戶對(duì)系統(tǒng)去匿名化.因此,有文獻(xiàn)[11,28]提出用最小熵來(lái)計(jì)算局部匿名性,從而表示系統(tǒng)最壞的情況,量化出用戶可以獲得的最小安全,見(jiàn)公式(5):
圖9 場(chǎng)景中,可以用最小熵來(lái)區(qū)分兩個(gè)系統(tǒng)能夠提供的最小安全,計(jì)算得到的最小熵分別為1 和2.54.從考慮系統(tǒng)最壞情況來(lái)看,圖9(b)對(duì)應(yīng)著一個(gè)更好的系統(tǒng).直觀來(lái)看,如果攻擊者資源有限,只能針對(duì)一個(gè)可能的發(fā)送者進(jìn)行分析,如圖9(a)和圖9(b)所示系統(tǒng)的識(shí)別成功率分別為50%和17.2%.除基本香農(nóng)信息熵外,還有其他,如雷尼熵[21]、條件熵[20]、相對(duì)熵[22]等匿名度量方法.
雷尼熵是熵的一般化形式,見(jiàn)如公式(6):
它引入一個(gè)額外的參數(shù),香農(nóng)熵是當(dāng)參數(shù)為1 時(shí)的特例;最大熵是雷尼熵當(dāng)參數(shù)為0 時(shí)的特例,此時(shí)的熵值僅取決于用戶的數(shù)量,因此是最好的情況,代表了用戶理想的匿名性;最小熵是雷尼熵當(dāng)參數(shù)為∞時(shí)的特例,這是一個(gè)最糟糕的情況,此時(shí)的熵值僅取決于攻擊者認(rèn)為概率最高的用戶.對(duì)于香農(nóng)熵?zé)o法區(qū)分的系統(tǒng),通過(guò)調(diào)整參數(shù)α,雷尼熵可以獲得有區(qū)分度的結(jié)果,如圖10 所示.
Fig.10 Different anonymity degree with Rényi entropy圖10 不同參數(shù)α 的雷尼熵下區(qū)分系統(tǒng)匿名程度
考慮攻擊者往往結(jié)合背景知識(shí)進(jìn)行分析,文獻(xiàn)[29]研究用不同路徑選擇策略下發(fā)送方被攻擊者識(shí)別的概率,以此來(lái)表示不同的路徑長(zhǎng)度和不同的路徑拓?fù)涞嚷窂竭x擇策略對(duì)發(fā)送方匿名的影響.該文討論了在攻擊者掌握一定信息量的條件下,如何利用攻擊者算法和消除規(guī)則(見(jiàn)第3.2 節(jié)),用條件概率和全概率公式計(jì)算發(fā)送方被識(shí)別的概率,其中,X表示隨機(jī)變量,s表示真正的發(fā)送方,F=ω表示攻擊者收集到的信息.基于被動(dòng)攻擊模型,攻擊者部署若干惡意節(jié)點(diǎn)在消息的重路由路徑上,惡意節(jié)點(diǎn)收集所有通過(guò)節(jié)點(diǎn)的消息,發(fā)現(xiàn)和報(bào)告自己的前驅(qū)、后繼以及消息到達(dá)的時(shí)間.最后對(duì)求得的條件概率計(jì)算其信息熵的值,見(jiàn)公式(7):
文獻(xiàn)[20]指出:對(duì)上述計(jì)算條件概率熵值的方法不同于條件熵,條件概率的熵是攻擊者根據(jù)特定的觀察計(jì)算不確定性,條件熵計(jì)算的是攻擊者得到的所有可能的熵之間的加權(quán)平均值.條件熵表達(dá)式見(jiàn)如公式(8):
其中,隨機(jī)變量X表示真實(shí)的分布,Y描述的是攻擊者的觀察結(jié)果.隨機(jī)變量X的條件熵衡量的是:如果根據(jù)攻擊者獲得的隨機(jī)變量Y的特定值,需要多少信息來(lái)描述隨機(jī)變量X.
相對(duì)熵(KL 散度DKL)測(cè)量?jī)蓚€(gè)概率分布之間的距離,給出透露給攻擊者的概率信息的數(shù)量,表明攻擊者的估計(jì)與事實(shí)有多遠(yuǎn).隨機(jī)變量X表示真實(shí)的分布,隨機(jī)變量Y表示攻擊者的估計(jì),Y可能是攻擊者的估計(jì)值,也可能是攻擊者的觀測(cè)值,見(jiàn)公式(9):
文獻(xiàn)[30]提出一種基于相對(duì)熵的不可觀測(cè)性度量方法,從攻擊者的威脅模型出發(fā),將匿名通信系統(tǒng)的輸入、輸出狀態(tài)映射到一個(gè)交互式圖靈機(jī),并在此基礎(chǔ)上提出一個(gè)基于相對(duì)熵的不可觀測(cè)性度量框架,用于度量匿名通信系統(tǒng)的不可觀測(cè)程度,并給出對(duì)Tor 匿名通信系統(tǒng)的傳輸層插件Meek 和Bridge 度量的實(shí)例.
表2 匯總了以上提到的匿名方法在各場(chǎng)景下的量化結(jié)果,并用符號(hào)?與?說(shuō)明是否能夠正確區(qū)分當(dāng)前場(chǎng)景下系統(tǒng)的匿名程度.
Table 2 Comparinging different anonymity metrics in different distribution scenes表2 不同場(chǎng)景下的匿名度量比較
Table 2 Comparinging different anonymity metrics in different distribution scenes (Continued)表2 不同場(chǎng)景下的匿名度量比較(續(xù))
表2 中,D1 表示系統(tǒng)1 的概率分布,D2 表示系統(tǒng)2 的概率分布.系統(tǒng)有3 種可能的分布,見(jiàn)公式(10),以下我們稱為分布1、分布2 和分布3:
其中,N表示系統(tǒng)匿名集的大小.分布1 表示系統(tǒng)中N個(gè)用戶之間的概率分布是均勻的,概率為1/N.分布2 表示系統(tǒng)中有1 個(gè)用戶可能是真實(shí)發(fā)送方的概率為1/pa,其他用戶的概率分布是均勻的,概率為(1-pa)/(N-1).分布3表示匿名集為N的系統(tǒng)中,有2 個(gè)子匿名集,真實(shí)發(fā)送方在這兩個(gè)子匿名集中的概率分別為pb和1-pb,另一個(gè)每個(gè)子匿名集內(nèi)部是均勻分布的,有k個(gè)用戶屬于概率為pb的子匿名集,每一個(gè)用戶的概率為pb/k,其他用戶同屬于另一個(gè)子匿名集,每一個(gè)用戶的概率為(1-pb)/(N-k).
兩個(gè)系統(tǒng)在5 個(gè)不同的場(chǎng)景下,比較各自的匿名程度.場(chǎng)景1 設(shè)置為將兩個(gè)都屬于均勻分布但匿名集大小不同的系統(tǒng)進(jìn)行比較,其中,系統(tǒng)1 的匿名集大小為3,系統(tǒng)2 的匿名集大小為20.兩個(gè)系統(tǒng)都屬于分布1.場(chǎng)景2~場(chǎng)景4 中系統(tǒng)1 屬于分布1,系統(tǒng)2 屬于分布2.場(chǎng)景5 中,系統(tǒng)1 屬于分布1,系統(tǒng)2 屬于分布3.場(chǎng)景2 設(shè)置為兩個(gè)匿名集大小相同(都為3)但概率分布不同的系統(tǒng)進(jìn)行比較.場(chǎng)景3 設(shè)置為兩個(gè)匿名集大小不同(3 和20)、分布也不相同的系統(tǒng)進(jìn)行比較.場(chǎng)景4 設(shè)置為兩個(gè)匿名集顯著不同(20 和101)、分布也不相同的系統(tǒng)進(jìn)行比較,其中一個(gè)系統(tǒng)有明顯的薄弱點(diǎn).場(chǎng)景5 設(shè)置為兩個(gè)匿名集大小相同(都為20)的系統(tǒng)進(jìn)行比較,其中,系統(tǒng)1 有1 個(gè)極薄弱點(diǎn),系統(tǒng)2 有多個(gè)薄弱點(diǎn).
表2 根據(jù)匿名度早期文獻(xiàn)中的方法,設(shè)計(jì)場(chǎng)景1 到場(chǎng)景5 的變化來(lái)描述一條不同研究之間可能存在的逐漸遞進(jìn)或互為補(bǔ)充的邏輯線索:匿名集的方式可以區(qū)分場(chǎng)景1,但無(wú)法區(qū)分場(chǎng)景2;6 級(jí)匿名可以區(qū)分場(chǎng)景2,但無(wú)法區(qū)分場(chǎng)景3;熵可以區(qū)分場(chǎng)景3,但無(wú)法區(qū)分場(chǎng)景4;歸一化熵可以區(qū)分場(chǎng)景4,但無(wú)法區(qū)分場(chǎng)景5;最小熵可以區(qū)分場(chǎng)景5,但它將所有用戶之間的最小匿名度作為整個(gè)系統(tǒng)的匿名度,暴露了最薄弱環(huán)節(jié),卻可能無(wú)法捕獲整個(gè)系統(tǒng)行為.雷尼熵作為一種一般化形式,可以調(diào)整參數(shù)α的值在不同的場(chǎng)景下獲得有區(qū)分度的結(jié)果.表2 中結(jié)果的計(jì)算方法可以在第2.1 節(jié)~第2.4 節(jié)找到.不同方法的組合使用,可對(duì)系統(tǒng)的匿名程度給出更完整的表示.例如,熵與最小熵的綜合使用,能夠幫助反映出系統(tǒng)的平均情況和最壞情況.
盡管計(jì)算出熵值有利于系統(tǒng)之間的比較,但是熵易受異常值影響,并不總能提供正確的匿名性.有文獻(xiàn)[31,32]認(rèn)為:即使是熵值明顯不同的系統(tǒng),熵的絕對(duì)值本質(zhì)上并未傳達(dá)太多比較的意義.熵表示一種全局度量,只和它使用的估計(jì)概率一樣好.熵回答了系統(tǒng)有多無(wú)序,但無(wú)法衡量攻擊的效果,不能說(shuō)明攻擊者的估計(jì)是否準(zhǔn)確,也不表示攻擊者需要花費(fèi)多少計(jì)算或帶寬資源才能成功.作為一種全局度量,它也不能度量特定用戶.
考慮兩種匿名系統(tǒng),一個(gè)是呈均勻分布的理想系統(tǒng),另一個(gè)是非理想系統(tǒng),其中有一個(gè)節(jié)點(diǎn)有較高概率,其余節(jié)點(diǎn)均勻分布,用戶的概率分布如公式(10)所示的分布1 和分布2.令n1和n2分別表示兩個(gè)系統(tǒng)的匿名集大小,根據(jù)熵的計(jì)算公式,如果想達(dá)到相同的熵,只需要求解滿足公式(11)的匿名集關(guān)系:
例如:當(dāng)pa取0.5 時(shí),只要滿足,兩個(gè)系統(tǒng)就可以獲得相同的熵值.表3 給出了具體的計(jì)算結(jié)果.因此,通過(guò)構(gòu)造匿名系統(tǒng)的分布,非理想系統(tǒng)可以達(dá)到任意高的熵值.
Table 3 Scenes with the same entropy表3 不同分布,相同熵
歸一化熵也有相似的缺點(diǎn)[11].考慮兩種匿名系統(tǒng),用戶的概率分布如公式(10)中的分布2 和分布3.令n2和n3分別表示兩個(gè)系統(tǒng)的匿名集大小,k表示系統(tǒng)2 其中一個(gè)子匿名集的大小,表示根據(jù)熵的計(jì)算公式,如果想達(dá)到相同的歸一化熵,只需求解匿名集和概率關(guān)系,具體的求解方法見(jiàn)公式(12):
為了簡(jiǎn)化計(jì)算,對(duì)公式(12)中的參數(shù)取n2=n3,pa=0.5 進(jìn)行求解,可以得到表4 所示的計(jì)算結(jié)果.
Table 4 Scenes with the same normalized entropy表4 不同分布,相同歸一化熵
信息熵是一種通用性較強(qiáng)的方法,許多研究工作利用熵作為工具對(duì)系統(tǒng)的匿名性進(jìn)行量化計(jì)算,從不同對(duì)象的角度,我們還可以看到基于熵對(duì)關(guān)聯(lián)性進(jìn)行的度量(見(jiàn)第3.1 節(jié))以及對(duì)匿名系統(tǒng)路徑匿名和不可觀察性的量化(見(jiàn)第6.1 節(jié)).
匿名度量中,發(fā)送方(接收方)匿名保證敵人難以確定給定消息的來(lái)源,在較多文獻(xiàn)中得到闡述.對(duì)許多實(shí)際的應(yīng)用而言,關(guān)系匿名確保攻擊者對(duì)于誰(shuí)與誰(shuí)正在通信無(wú)法追蹤,因此,關(guān)系匿名是匿名通信系統(tǒng)需要的重要特性.事實(shí)上,除了消息的發(fā)送方和接收方實(shí)體之間的關(guān)聯(lián)外,系統(tǒng)中任意項(xiàng)的關(guān)聯(lián)性都是可以測(cè)量的.
文獻(xiàn)[23]對(duì)不可關(guān)聯(lián)性(unlinkability)的概念進(jìn)行了形式化描述,令M={m1,m2,…,mn}是給定系統(tǒng)中項(xiàng)目的集合,用~r(M)表示在集合M上的等價(jià)關(guān)聯(lián),這個(gè)關(guān)聯(lián)把M劃分成k個(gè)等價(jià)類M1,M2,…,Mk,1≤k≤n,對(duì)于?i,j∈{1,…,k},i≠j:Mi∩Mj=?,M1∪…∪Mk=M,如圖11(a)所示的簡(jiǎn)單的系統(tǒng)模型,描述了一個(gè)集合內(nèi)項(xiàng)目的關(guān)聯(lián)性,根據(jù)消息是否屬于相同的發(fā)送者分成若干等價(jià)類,屬于相同等價(jià)類的消息之間是關(guān)聯(lián)的,表示為(mi~r(M)mj);否則不關(guān)聯(lián),表示為(mir(M)mj).
然后,該模型被擴(kuò)展到表示集合之間的不可關(guān)聯(lián)性,如圖11(b)所示,對(duì)于用戶集合U={u1,u2,…,un},消息集合M={m1,m2,…,mn},用(ui~r(U,M)mj)表示用戶ui發(fā)送了消息mj.
Fig.11 Modeling unlinkability in equivalence圖11 利用等價(jià)類概念表示關(guān)聯(lián)性
對(duì)于隨機(jī)變量X,P(X=(mi~r(M)mj)表示對(duì)于給定的兩個(gè)項(xiàng)目mi和mj,X取值為(mi~r(M)mj)的概率,P(X=(mir(M)mj)表示mi與mj不相關(guān)的概率,滿足?mi,mj∈M,P(mi~r(M)mj)+P(mir(M)mj)=1.
可以使用兩個(gè)項(xiàng)目的不可關(guān)聯(lián)性來(lái)表示對(duì)匿名性的影響.對(duì)系統(tǒng)提供的(i,j)不可關(guān)聯(lián)性程度,利用信息論方法,設(shè)H(i,j):=H(X);對(duì)匿名集的成員之間的通信關(guān)系分配概率和計(jì)算熵值,見(jiàn)公式(13):
文獻(xiàn)[28]討論mix 匿名網(wǎng)絡(luò)中,關(guān)系匿名(relationship anonymity)的定義和計(jì)算方法.如圖12 所示,考慮一個(gè)有N個(gè)發(fā)送者S1,…,SN和H個(gè)目的地D1,…,DH的mix 網(wǎng)絡(luò).第i個(gè)發(fā)送者Si可能正與第j個(gè)目的地Dj通信,其中,1≤i≤N,1≤j≤H,因?yàn)椴煌陌l(fā)送者可能發(fā)送不同數(shù)量的消息,假設(shè)每個(gè)發(fā)送方Si發(fā)送ni條消息msgi1,…,msgini,對(duì)于1≤k≤ni,每條消息msgik都有一個(gè)目的地Dj.定義[1...H]是潛在目的地的概率分布,[j]為攻擊者觀察mix 網(wǎng)絡(luò)后得到的第i個(gè)發(fā)送者Si發(fā)出的第ik條消息msgik,到達(dá)第j個(gè)目的地Dj的后驗(yàn)概率,利用熵和目的地概率分布,通過(guò)計(jì)算針對(duì)給定一條消息目的地的隨機(jī)性,來(lái)表示匿名程度,見(jiàn)如公式(14):
由于系統(tǒng)可能存在最壞情況,比如其中一個(gè)目的地的可能性遠(yuǎn)遠(yuǎn)大于其他目的地,因此,文獻(xiàn)[28]也提出用最小熵來(lái)描述最可能的目的地.
盡管分析的匿名對(duì)象不同,但這里對(duì)發(fā)送方和接收方的關(guān)聯(lián)性進(jìn)行度量也使用了基于熵值的方法,因此也存在與熵方法同樣的局限性.
Fig.12 Relationship anonymity in mix network圖12 Mix 系統(tǒng)中的關(guān)系匿名性
文獻(xiàn)[33]提出一種基于矩陣積和式的度量方法,同時(shí)考慮匿名通信系統(tǒng)中所有傳入和傳出的消息,揭示匿名系統(tǒng)中發(fā)送者和接收者之間的整體通信模式.如圖13(a)所示的匿名通信系統(tǒng)中有4 條消息,它們來(lái)自輸入集合S={si}和輸出集合T={tj},表示這些消息在si時(shí)刻進(jìn)入匿名網(wǎng)絡(luò),在tj時(shí)刻離開(kāi).定義一張二分圖G(V1,V2,E),表示輸入消息和輸出消息的關(guān)聯(lián),其中,V1=S,V2=T,E代表所有可能的(si,tj)映射的邊的集合.設(shè)定在這個(gè)實(shí)時(shí)匿名通信系統(tǒng)中,消息mi延遲是有最小時(shí)間和最大時(shí)間的邊界,表示為Δmin≤Δi≤Δmax,例如,Δmin=1,Δmax=4,對(duì)于任意的si和tj,只要滿足Δmin≤tj-si≤Δmax,就可以在二分圖中用一條邊來(lái)表示它們的關(guān)聯(lián).例如:對(duì)于在s1時(shí)刻進(jìn)入系統(tǒng)的消息,只有可能在t1或者t2時(shí)刻離開(kāi)系統(tǒng),因?yàn)閠3和t4時(shí)刻不再滿足延遲時(shí)間邊界,從而就可以在二分圖中,相應(yīng)地畫出邊,構(gòu)造出的二分圖如圖13(b)所示.接下來(lái),圖G可以用它的鄰接A來(lái)表示,其中,如果連接si和tj的邊存在于G中,則aij為1;不存在,則為0.進(jìn)而將圖G表達(dá)成n×n的(0,1)鄰接矩陣A,n=|V1|=|V2|,如圖13(c)所示.
Fig.13 Combinatorial approach to measure relationship between inputs and outputs圖13 用矩陣積和式表示關(guān)聯(lián)性
假設(shè)在匿名系統(tǒng)中,輸入和輸出之間存在一對(duì)一的關(guān)系,即每個(gè)發(fā)送方和接收方只發(fā)送或接收一條消息.如果在G中只有一個(gè)兩兩完美匹配是可能的,那么一個(gè)全局攻擊者就可以唯一地識(shí)別輸入和輸出之間的關(guān)系,因此,系統(tǒng)提供的匿名性為0.當(dāng)可能存在的完美匹配的數(shù)量增加時(shí),攻擊者的不確定性也隨之增加.為了度量這種不確定性,需要對(duì)G中可能的完全匹配數(shù)進(jìn)行計(jì)數(shù),這相當(dāng)于計(jì)算鄰接矩陣A的積和式per(A),即圖G中頂點(diǎn)集合{V1}與{V2}之間兩兩完美匹配的數(shù)量,與計(jì)算矩陣A的積和式per(A)是等價(jià)的.于是,關(guān)聯(lián)性問(wèn)題的計(jì)算轉(zhuǎn)化成為對(duì)矩陣A積和式的計(jì)算問(wèn)題.
攻擊者對(duì)每個(gè)通信關(guān)聯(lián)的估計(jì)概率是p(x)=1/Per(A),有研究者將匿名程度定義為公式(15):
對(duì)于一個(gè)n×n的(0,1)矩陣來(lái)說(shuō),根據(jù)給定的最小時(shí)間和最大時(shí)間Δmin≤Δi≤Δmax,矩陣的積和式的范圍1≤Per(A)≤n!.當(dāng)系統(tǒng)中只有一對(duì)發(fā)送方、接收方時(shí),存在最小值、最大值是一個(gè)全排列數(shù)為n!的完全匹配的情況.此時(shí),A相當(dāng)于一個(gè)全1 的方陣,矩陣的積和式為n!.
相比基于匿名集或基于熵的度量方法側(cè)重從單個(gè)用戶或單條消息的角度度量系統(tǒng)的匿名性,基于矩陣積和式的度量方法同時(shí)考慮了匿名通信系統(tǒng)中傳入的消息和傳出的消息,計(jì)算發(fā)送者和接收者之間的關(guān)聯(lián)所需要的信息量,從而提示匿名系統(tǒng)中發(fā)送者和接收者之間的整體通信模式,對(duì)系統(tǒng)匿名程度有補(bǔ)充表達(dá)的作用.文獻(xiàn)[34]指出:這種方法不能應(yīng)對(duì)當(dāng)系統(tǒng)的發(fā)送方和接收方進(jìn)行通信的消息數(shù)超過(guò)1 條時(shí)的場(chǎng)景,應(yīng)研究能夠滿足任意數(shù)量的消息的更通用的方法.
匿名度量的不同輸入因素,例如,匿名集合的大小、攻擊者的不同攻擊方法獲得的先驗(yàn)知識(shí)、匿名系統(tǒng)各自不同的屬性特點(diǎn),都對(duì)匿名度量的輸出有直接的影響.基于概率的度量方法輸出攻擊者成功的概率,作為衡量匿名度的指標(biāo).基于信息熵的度量方法輸出系統(tǒng)的不確定性作為衡量匿名度的指標(biāo),隨著匿名度量研究的發(fā)展,更多的指標(biāo)被提出以用來(lái)衡量系統(tǒng)的匿名程度.
用攻擊者成功的概率來(lái)度量匿名,是站在攻擊者的角度看待匿名系統(tǒng)的評(píng)估,本文第1.3 節(jié)中提到的6 級(jí)匿名方法也可以歸于這一類中.對(duì)于輸出攻擊者成功概率或者輸出攻擊者在大量嘗試中成功的百分比[6]的度量,依賴于攻擊者的攻擊模型.需要考慮特定的攻擊者,即擁有更多資源或先驗(yàn)知識(shí)的強(qiáng)大的攻擊者,也許能夠更成功地對(duì)匿名系統(tǒng)去匿名化.因此,能夠應(yīng)對(duì)更強(qiáng)大的攻擊模型的匿名系統(tǒng),可以提供更強(qiáng)的匿名保障.
在經(jīng)典的Dolev-Yao 模型中,攻擊者可以竊聽(tīng)、阻止和截獲所有經(jīng)過(guò)網(wǎng)絡(luò)的消息;可以存儲(chǔ)所獲得或自身創(chuàng)造的消息;可以根據(jù)存儲(chǔ)的消息偽造并發(fā)送該消息;可以作為合法的主體參與協(xié)議的運(yùn)行.在匿名通信環(huán)境下,攻擊者感興趣的是哪些通信正在發(fā)生、誰(shuí)在發(fā)送消息、誰(shuí)在接收消息、通信模式怎樣,甚至破壞和操縱通信.表5 從能力、視野、靈活性、參與性、先驗(yàn)知識(shí)和資源這6 個(gè)方面給出了不同的攻擊者屬性,一個(gè)攻擊者可能同時(shí)具有多個(gè)屬性.攻擊者的目標(biāo)、特征和知識(shí)是什么,這些都是度量可能需要考慮的因素.
根據(jù)不同的應(yīng)用場(chǎng)景,成功有不同的定義方式.在匿名通信系統(tǒng)中,當(dāng)攻擊者能夠識(shí)別消息的發(fā)送方或接收方時(shí),當(dāng)攻擊者從可能的通信目標(biāo)中識(shí)別出若干個(gè)時(shí),當(dāng)攻擊者能夠使用節(jié)點(diǎn)、帶寬等給定數(shù)量的資源攻陷通信路徑時(shí)[35],都可以稱為成功.例如,在Tor 中,當(dāng)攻擊者控制用戶洋蔥路由路徑上的所有中繼時(shí),若發(fā)生路徑變節(jié),則攻擊成功.
文獻(xiàn)[36]在一部分節(jié)點(diǎn)被攻陷的情況下,用條件概率、全概率公式討論在不同路徑選擇策略(固定長(zhǎng)度路徑和可變長(zhǎng)度路由)和不同路徑拓?fù)?簡(jiǎn)單路徑無(wú)環(huán)路和復(fù)雜路徑有環(huán)路)的情況下,當(dāng)敵人掌握一定信息量,利用攻擊者算法和消除規(guī)則,對(duì)發(fā)送方成功被識(shí)別的概率進(jìn)行分析,如圖14 所示.得出的與直覺(jué)不同的結(jié)論是:隨著路徑長(zhǎng)度的增大,發(fā)送方被發(fā)現(xiàn)的概率并不總是下降.這是因?yàn)?當(dāng)路徑長(zhǎng)度增大時(shí),路徑中選擇到惡意節(jié)點(diǎn)的可能性也可能增加,攻擊者將獲得更多、更好的路徑相關(guān)信息,從而提高了識(shí)別的概率.
Table 5 Attacker propertities表5 攻擊者屬性
Fig.14 Adversary algorithm to identify sender圖14 攻擊者識(shí)別消息發(fā)送方算法
使用對(duì)手的成功概率來(lái)量化隱私的指標(biāo),表明了對(duì)手在任何一次嘗試中成功的可能性,或者他們?cè)诖罅繃L試后成功的頻率.攻擊者成功概率的度量可以表示為公式(16):
當(dāng)攻擊者做出有效識(shí)別的概率高于閾值τ時(shí),攻擊成功.低成功率表示高匿名度.
專注于匿名通信技術(shù)的研究?jī)A向于使用熵、不可區(qū)分性等指標(biāo),關(guān)注匿名技術(shù)的有效性.專注于匿名系統(tǒng)攻擊的研究工作傾向于使用基于時(shí)間、成功概率的指標(biāo),關(guān)注于敵手能否攻擊成功.正如我們之前在第2.7 節(jié)討論熵方法時(shí)提到的:當(dāng)從更多角度去評(píng)估匿名系統(tǒng)時(shí),會(huì)有更全面的結(jié)果.“攻擊”和“防御”視角都是合理的選擇,匿名系統(tǒng)抵制攻擊的能力也能反映出匿名程度的強(qiáng)弱.
博弈論方法適用于一個(gè)用戶的行為影響其他用戶匿名的場(chǎng)景,為了考慮這種相互之間匿名性的依賴關(guān)系,從博弈論角度度量一個(gè)用戶的行為對(duì)另一個(gè)用戶的匿名性所造成的后果是值得探討的方法.文獻(xiàn)[25]從博弈論角度研究匿名網(wǎng)絡(luò)設(shè)計(jì)者與攻擊者之間的相互作用,討論匿名性最大化問(wèn)題,將優(yōu)化匿名性問(wèn)題描述為匿名系統(tǒng)設(shè)計(jì)者與攻擊者之間的零和博弈.攻擊者的目標(biāo)是選擇系統(tǒng)中節(jié)點(diǎn)的一組子集進(jìn)行監(jiān)控,使得路由的匿名性最小化,匿名通信系統(tǒng)設(shè)計(jì)者的任務(wù)是通過(guò)選擇系統(tǒng)中節(jié)點(diǎn)的一組子集,生成獨(dú)立傳輸路由,以規(guī)避流量檢測(cè),使得路由的匿名性最大化.
基于時(shí)間的度量側(cè)重于將時(shí)間作為攻擊者為了攻陷用戶的隱私需要花費(fèi)的資源,隨著時(shí)間的推移,匿名通信系統(tǒng)提供的匿名性可能會(huì)降低[37].度量攻擊者成功之前的時(shí)間,是假設(shè)系統(tǒng)匿名性最終會(huì)失效,計(jì)算攻擊者被混淆無(wú)法正確追蹤之前的時(shí)間[38],是假設(shè)系統(tǒng)匿名性最終將得到保證.
最普遍的是度量攻擊者成功之前的時(shí)間.文獻(xiàn)[37]假設(shè):對(duì)于擁有一組勾結(jié)節(jié)點(diǎn)的攻擊者,當(dāng)一個(gè)特定的發(fā)起者持續(xù)地與一個(gè)特定的響應(yīng)者通過(guò)路徑重組進(jìn)行通信,并且攻擊者可以在傳輸?shù)臄?shù)據(jù)包中獲得能夠唯一標(biāo)識(shí)重復(fù)連接的會(huì)話標(biāo)識(shí)信息時(shí),則匿名通信協(xié)議會(huì)受到攻擊從而降低匿名性.該文給出了Crowd、Onion Router、Mix-net、DC-net 這4 種匿名協(xié)議在面對(duì)所描述的攻擊時(shí)能夠保持匿名的時(shí)間上限,結(jié)果顯示:隨著時(shí)間的推移,足夠多的攻擊者能夠收集到足夠多的信息,因此攻擊者識(shí)別特定會(huì)話發(fā)起者的概率增加,從而破壞發(fā)送方匿名.
攻擊者的目標(biāo)通常不僅僅是在某一時(shí)刻破壞隱私,而且是隨著時(shí)間的推移,跟蹤攻擊目標(biāo)的位置.文獻(xiàn)[39]用最大跟蹤時(shí)間來(lái)衡量攻擊者的跟蹤能力,最大跟蹤時(shí)間定義為攻擊目標(biāo)u的匿名集大小保持為1 的累計(jì)時(shí)間,見(jiàn)公式(17):
這個(gè)指標(biāo)假定攻擊者必須完全確定,即匿名集的大小必須為1,才能成功.現(xiàn)實(shí)中,如果攻擊目標(biāo)的匿名集中只有少量用戶,攻擊者也可能有能力繼續(xù)追蹤.
文獻(xiàn)[24]提出延遲攻擊,攻擊者可以利用Tor 中通過(guò)連接延遲泄露的信息,在多次重復(fù)連接后,推斷出客戶端的位置.最近的研究提出了Tempes 度量方法[40],證明隨著時(shí)間的推移,系統(tǒng)匿名性有可能顯著退化;并展示了客戶端移動(dòng)性、使用模式和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)隨時(shí)間的變化對(duì)Tor 匿名性的影響.延遲攻擊與Tempest 攻擊如果同時(shí)使用,將會(huì)增強(qiáng)攻擊者去匿名化匿名系統(tǒng)用戶的能力.
基于誤差的度量方法,輸出攻擊者在估計(jì)時(shí)所犯的錯(cuò)誤的量化值.在統(tǒng)計(jì)參數(shù)估計(jì)中,使均方誤差最小化是共同的目標(biāo),作為匿名性的度量,均方誤差描述了攻擊者的觀測(cè)值y與真實(shí)結(jié)果x之間的誤差,表示為公式(18):
文獻(xiàn)[26]提出了一種基于最小二乘法的分析方法,該方法允許描述對(duì)手在用戶行為、匿名提供者行為和虛擬策略方面的分析誤差.針對(duì)特定mix 網(wǎng)絡(luò)的特定情況,論述了如何在給定如匿名性等隱私目標(biāo)的情況下,使用性能分析來(lái)設(shè)計(jì)最優(yōu)的策略以保護(hù)該目標(biāo).文獻(xiàn)[41]提出了網(wǎng)站指紋攻擊防御的安全界限,利用實(shí)踐中估計(jì)的誤差來(lái)評(píng)估所獲得的隱私保障.
源于數(shù)據(jù)隱私領(lǐng)域的差分隱私[42]保護(hù)技術(shù),在匿名通信領(lǐng)域也可以找到應(yīng)用.基于差分隱私表示匿名程度的方法輸出評(píng)估目標(biāo)的不可區(qū)分性,例如攻擊者是否能夠區(qū)分消息的發(fā)送者或接收者,表示為公式(19):
如果一種隨機(jī)化算法A作用于兩個(gè)相鄰數(shù)據(jù)集D1和D2得到的結(jié)果O小于ε,則稱該隨機(jī)化算法滿足ε-差分隱私.Pr 表示隱私信息泄露的風(fēng)險(xiǎn);不同的ε值表示不同的隱私保護(hù)強(qiáng)度,ε越小,隱私信息泄露的風(fēng)險(xiǎn)越低,隱私保護(hù)強(qiáng)度越高,匿名程度越高.
文獻(xiàn)[27]提出了基于差分隱私的嚴(yán)格形式化方法來(lái)量化Tor 面對(duì)結(jié)構(gòu)攻擊時(shí)所能提供的匿名性,例如攻擊者能夠破壞Tor 節(jié)點(diǎn),從而執(zhí)行竊聽(tīng)攻擊,以消除Tor 用戶的匿名性,為Tor 以及其他路徑選擇算法(例如DistribuTor、SelekTOR 和LASTor)建立了針對(duì)各種結(jié)構(gòu)攻擊最壞情況時(shí)的匿名邊界,產(chǎn)生了第1 個(gè)嚴(yán)格的針對(duì)不同路徑選擇算法的匿名比較.其他,例如流量分析抵制系統(tǒng)Vuvuzela[43]和Stadium[44]、以保護(hù)用戶隱私為目標(biāo)的Tor 網(wǎng)絡(luò)測(cè)量系統(tǒng)PrivCount[45],都采用了差分隱私的思想來(lái)精確證明系統(tǒng)的隱私保障.
匿名度量屬于隱私度量中針對(duì)匿名性問(wèn)題的研究,一些隱私度量方法盡管起源于其他領(lǐng)域,也在匿名性度量中得到了應(yīng)用,例如數(shù)據(jù)隱私[46,47]度量.以數(shù)據(jù)庫(kù)隱私領(lǐng)域?yàn)槔?k匿名的概念與匿名通信領(lǐng)域中匿名集的語(yǔ)義相似,k匿名模型是數(shù)據(jù)隱私領(lǐng)域大多數(shù)匿名模型的基礎(chǔ),通過(guò)保證數(shù)據(jù)表中任何一條記錄的準(zhǔn)標(biāo)識(shí)符都和至少k-1 條記錄相同,切斷準(zhǔn)標(biāo)識(shí)符值和敏感屬性值的一一對(duì)應(yīng)關(guān)系[48].文獻(xiàn)[49]引入了發(fā)送方k匿名和接收方k匿名的概念,發(fā)送方k匿名保證攻擊者試圖確定消息的發(fā)送方時(shí),只能將搜索范圍縮小到有k個(gè)用戶的組中;接收方k匿名與此類似,將可能的接收方縮小到大小為k的組中.k匿名的方法可以表示為公式(20):
當(dāng)數(shù)據(jù)表中記錄的條目數(shù)或者通信系統(tǒng)中匿名集的大小滿足≥k的最小要求時(shí),則保持匿名性,低于最小值( 文獻(xiàn)[50]基于貝葉斯推理進(jìn)行匿名原始數(shù)據(jù)的推斷,通過(guò)比較構(gòu)建原始數(shù)據(jù)二叉樹圖和推斷數(shù)據(jù)二叉樹圖之間的差異,來(lái)衡量信息泄露的風(fēng)險(xiǎn).源于網(wǎng)絡(luò)通信領(lǐng)域的隱私度量方法也在其他隱私保護(hù)領(lǐng)域得到了應(yīng)用,例如,文獻(xiàn)[51]以云數(shù)據(jù)為研究對(duì)象,討論了信息熵、集對(duì)理論、差分隱私等隱私保護(hù)度量方法. 形式化方法已經(jīng)以不同程度和不同方式應(yīng)用于計(jì)算系統(tǒng)生命周期的各個(gè)階段[52],使用形式化方法驗(yàn)證身份認(rèn)證相關(guān)的安全協(xié)議已成為標(biāo)準(zhǔn)實(shí)踐.隨著隱私保護(hù)得到越來(lái)越多的關(guān)注,隱私安全目標(biāo)的形式化方法也變得不可或缺.我們選出7 篇高質(zhì)量文獻(xiàn)[53-59],展示了針對(duì)或應(yīng)用于洋蔥路由協(xié)議的形式化方法,并在表6 中突出體現(xiàn)了不同文獻(xiàn)在形式化的對(duì)象、具體方法等方面的區(qū)別.選擇這幾篇文獻(xiàn)是因?yàn)檠笫[路由協(xié)議作為成功的匿名通信協(xié)議,以Tor 系統(tǒng)的形式,被數(shù)以百萬(wàn)的用戶用來(lái)保護(hù)他們的安全和隱私.與實(shí)用的設(shè)計(jì)相比,這一領(lǐng)域的理論研究相對(duì)年輕,針對(duì)其隱私屬性形式化分析方面的研究較為有限,相信未來(lái)會(huì)有更多的研究工作. Table 6 Comparsion of the formal methods for anonymity表6 匿名形式化方法比較 文獻(xiàn)[53]采用進(jìn)程代數(shù)的方法,提出匿名性的形式化定義,通過(guò)分析洋蔥路由協(xié)議進(jìn)行驗(yàn)證,得出定性的結(jié)論,未進(jìn)行定量的研究.文獻(xiàn)[54]從認(rèn)知邏輯的角度,除了給出匿名性的定義外,還對(duì)不可關(guān)聯(lián)性進(jìn)行了形式化定義,通過(guò)分析洋蔥路由和Crowd 協(xié)議進(jìn)行了驗(yàn)證.文獻(xiàn)[55]給出了洋蔥路由協(xié)議的IO 自動(dòng)機(jī)模型,描述在可能定義下保證匿名性和不可鏈接性的情況.文獻(xiàn)[56]使用UC(universally composable)框架,提出了匿名通信黑盒模型,加入概率分析方法,抽象出洋蔥路由的基本屬性,量化敵手利用用戶的概率行為的知識(shí)來(lái)識(shí)別用戶所能獲得的收益.文獻(xiàn)[57]針對(duì)其他框架都不能對(duì)流量相關(guān)時(shí)序攻擊進(jìn)行建模,提出了時(shí)間敏感的UC 框架TUC.該框架在異步通信模型中集成了時(shí)間概念,針對(duì)存在能夠發(fā)起與流量相關(guān)的定時(shí)攻擊的時(shí)間敏感攻擊者的場(chǎng)景,對(duì)所提供的匿名性進(jìn)行嚴(yán)格的證明,并面向Tor 提出了一種新的網(wǎng)絡(luò)指紋攻擊防御策略.文獻(xiàn)[58]提出一個(gè)與UC 框架兼容的通用框架AnoA,用于定義、分析和量化匿名協(xié)議的匿名性,結(jié)合框架提出了基于差分隱私的發(fā)送方匿名、發(fā)送方不可關(guān)聯(lián)、接收方匿名和關(guān)系匿名等匿名概念;通過(guò)對(duì)Tor 網(wǎng)絡(luò)的實(shí)例分析,驗(yàn)證了當(dāng)前Tor 的固有缺陷;針被動(dòng)攻擊模型,以定量的方法給出了匿名保證.文獻(xiàn)[59]在基于AnoA 通用框架的基礎(chǔ)上加以擴(kuò)展,提出一個(gè)使用嚴(yán)格證明邊界來(lái)評(píng)估Tor 的匿名性的框架MATor,評(píng)估考慮到Tor 的實(shí)際路徑選擇算法、Tor 共識(shí)數(shù)據(jù)、用戶的偏好以及網(wǎng)絡(luò)狀態(tài)的影響,從而解決了實(shí)際部署Tor 的實(shí)時(shí)現(xiàn)實(shí)特征對(duì)用戶匿名性的影響. 匿名度量與匿名系統(tǒng)本身機(jī)制和攻擊模型有很大的關(guān)系,匿名機(jī)制自身的結(jié)構(gòu)可能導(dǎo)致攻擊模型出現(xiàn)差異,而攻擊者采用的攻擊方式也可以導(dǎo)致匿名度量方式出現(xiàn)差異,因此,本節(jié)在分析匿名攻擊方式的基礎(chǔ)上分析和比較不同的匿名度量方法.由于Tor 是匿名通信網(wǎng)絡(luò)中實(shí)際上應(yīng)用得最廣泛的研究平臺(tái),本節(jié)主要以基于Onion Router/Tor 匿名系統(tǒng)面臨的去匿名化攻擊為背景,綜合文獻(xiàn)[1,2,4,24,60-62]介紹了匿名攻擊技術(shù),并給出可用的分類,見(jiàn)表7. Table 7 Attack and defense on anonymous communication表7 匿名通信系統(tǒng)的攻擊和防御 表8 按照本文的階段劃分小結(jié)面向匿名通信系統(tǒng)的典型匿名度量的方法、主要特點(diǎn)和文獻(xiàn)信息.我們對(duì)攻擊技術(shù)和度量方法所做歸類的邊界并不是嚴(yán)格的,歸類并不意味著它不能用于其他領(lǐng)域,不同歸類中的攻擊方法和匿名度量方法可能會(huì)有交叉.以度量方法為例:相同的度量方法可能出現(xiàn)在不同的研究領(lǐng)域中,不同輸出的匿名度量結(jié)果也可能使用同樣的基本理論.例如,PrivCount[45]使用了差分隱私的度量方法,但它也是針對(duì)Tor 實(shí)際部署系統(tǒng)的度量.我們的歸類思路主要考慮從匿名技術(shù)設(shè)計(jì)的角度出發(fā),基于該方法首次提出時(shí)面向的背景進(jìn)行歸類整理. 表格中度量的通用性高中低的標(biāo)注,根據(jù)該度量方法是否可以跨多個(gè)領(lǐng)域使用進(jìn)行判斷.標(biāo)注為High 的度量方法理論上可以在不同的研究隱私保護(hù)領(lǐng)域使用;標(biāo)注為Medium 的度量方法在實(shí)用性和理論性之間獲取平衡;標(biāo)注為L(zhǎng)ow 的度量方法盡管實(shí)用和有效,但僅依賴于特定匿名協(xié)議.表格中對(duì)每種度量方法標(biāo)注的應(yīng)用是根據(jù)提出該方法的文獻(xiàn)中面向的匿名系統(tǒng)或協(xié)議,該方法在其他研究中也可能有不同的應(yīng)用. Table 8 Anonymity metrics summary表8 匿名度量方法 Table 8 Anonymity metrics summary (Continued)表8 匿名度量方法(續(xù)) 新的匿名通信系統(tǒng)的設(shè)計(jì)迅速發(fā)展,例如:抵制流量分析的Aqua[71]、Herd[72]、Loopix[65]系統(tǒng);基于概率轉(zhuǎn)發(fā)路由的AnonPubSub[73]系統(tǒng);針對(duì)審查抵制的Front-domain[74]、Marionette[75]、自由瀑布[76]系統(tǒng);基于重加密的 cMix[77]系統(tǒng);基于 Ad-hoc 和無(wú)線傳感網(wǎng)的匿名協(xié)議[78,79];將匿名作為網(wǎng)絡(luò)層基礎(chǔ)設(shè)施提供服務(wù)的HORNET[80]、TARANET[81]系統(tǒng);面向未來(lái)軟件定義網(wǎng)絡(luò)(software defined networks,簡(jiǎn)稱SDN)架構(gòu)的匿名系統(tǒng)iTAP[82]、Mimic[83]系統(tǒng);以及面向點(diǎn)對(duì)點(diǎn)短信應(yīng)用的Vuvuzela[51]系統(tǒng)和匿名文件分享Riffle[84]系統(tǒng)等.隨著新的網(wǎng)絡(luò)匿名通信系統(tǒng)出現(xiàn),能夠評(píng)估和比較系統(tǒng)向用戶提供的隱私變得越來(lái)越重要,匿名性的度量面臨新的挑戰(zhàn). 6.1.1 基于熵度量應(yīng)用于新興匿名系統(tǒng) 基于信息論的度量方法對(duì)匿名度量有重要的研究意義,并得到了廣泛的應(yīng)用.隨著匿名系統(tǒng)的迅速發(fā)展,基于熵的方法也被用于度量新興匿名網(wǎng)絡(luò)的隱私安全目標(biāo),除了發(fā)送方匿名的安全目標(biāo)外,也被用于測(cè)量匿名網(wǎng)絡(luò)中其他方面的不確定性,例如,路徑選擇的隨機(jī)性等,在未來(lái)的匿名度量研究中具有廣泛的應(yīng)用前景. 文獻(xiàn)[64]面向延遲容忍網(wǎng)絡(luò)(delay tolerant network,簡(jiǎn)稱DTN)場(chǎng)景,在分組洋蔥路由的基礎(chǔ)上提出多復(fù)本轉(zhuǎn)發(fā)方法.應(yīng)用基本香農(nóng)熵的方法,討論該文所提方案的安全性.由于分組洋蔥路由的特點(diǎn),區(qū)別于原洋蔥路由方案,該文對(duì)分組洋蔥結(jié)構(gòu)下路由選擇、發(fā)送方以及接收方被攻擊者推測(cè)出的概率進(jìn)行計(jì)算,利用基本的信息熵,衡量了系統(tǒng)的路徑匿名度、發(fā)送方匿名度和接收方匿名度. 圖15 描述了分組洋蔥路由結(jié)構(gòu),發(fā)送方vs、接收方vd、洋蔥節(jié)點(diǎn)被分為{R1,R2,…,Rk}組,圖中k=3,每個(gè)分組中有g(shù)個(gè)洋蔥路由節(jié)點(diǎn),ri,j是洋蔥組Ri中的第j個(gè)節(jié)點(diǎn),轉(zhuǎn)發(fā)消息時(shí),vs可以將消息發(fā)送到R1組中的任何節(jié)點(diǎn)r1,j,Ri-1組中的節(jié)點(diǎn)可以將消息轉(zhuǎn)發(fā)到Ri中的任何節(jié)點(diǎn),最后一組的節(jié)點(diǎn)把消息轉(zhuǎn)發(fā)給vd. Fig.15 Group onion routing for delay tolerant networks圖15 面向延遲容忍網(wǎng)絡(luò)的分組洋蔥路由 針對(duì)DTN 的不穩(wěn)定連接特性,多復(fù)本轉(zhuǎn)發(fā)方案可以保證消息的可到達(dá)率.將每一條消息復(fù)制為L(zhǎng)個(gè)復(fù)本,從發(fā)送方離開(kāi),送給第1 組中的L個(gè)節(jié)點(diǎn);然后,這L個(gè)節(jié)點(diǎn)發(fā)送給下一組中的L個(gè)節(jié)點(diǎn).以此類推,直到接收方收到消息.在這種分組轉(zhuǎn)發(fā)協(xié)議下,分析得出基于熵的路徑匿名度的計(jì)算方法,見(jiàn)公式(21): 其中,n表示網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量,η表示兩個(gè)節(jié)點(diǎn)之間的跳數(shù),g是每個(gè)洋蔥組中節(jié)點(diǎn)的數(shù)量,co是路徑上被攻擊者攻陷的節(jié)點(diǎn)數(shù)量. 文獻(xiàn)[65]提出的Loopix 低延遲匿名通信系統(tǒng)由客戶端、提供方和分層mix 節(jié)點(diǎn)構(gòu)成,如圖16 所示.利用覆蓋流量和消息延遲,提供雙向的第三方發(fā)送方匿名、接收方匿名和不可觀察性匿名,通過(guò)生成客戶端覆蓋循環(huán)、客戶端覆蓋丟棄、mix 節(jié)點(diǎn)覆蓋循環(huán)這3 種覆蓋流量來(lái)抵制攻擊者的流量分析,并利用信息熵分析與計(jì)算系統(tǒng)中消息的熵在不同延時(shí)參數(shù)和不同流量率參數(shù)下的變化. Fig.16 Low latency anonymous communication system Loopix圖16 低延遲匿名通信系統(tǒng)Loopix Loopix 系統(tǒng)中,mix 節(jié)點(diǎn)接收和輸出的信息流建模為泊松過(guò)程,mix 中消息的平均數(shù)量滿足λ/μ泊松分布.攻擊者對(duì)mix 節(jié)點(diǎn)的輸入和輸出消息進(jìn)行觀察,推斷mix 池中有k條消息,在任何消息離開(kāi)之間,能觀察到又有l(wèi)條消息到達(dá)mix,繼續(xù)推斷mix 池中混合了k+l條消息.然后,攻擊者嘗試通過(guò)對(duì)一條輸出消息m的觀察,來(lái)關(guān)聯(lián)mix 節(jié)點(diǎn)池中的k+l條消息,增量計(jì)算每條輸出消息的熵.用mix 節(jié)點(diǎn)輸出的消息與過(guò)去輸入消息之間關(guān)聯(lián)分布的熵Ht作為系統(tǒng)的匿名度量,通過(guò)l的大小、前一時(shí)刻消息的熵Ht-1以及自上次發(fā)送消息以來(lái)接收到的消息k的數(shù)量計(jì)算Ht的值,如公式(22): 區(qū)塊鏈作為解決數(shù)據(jù)隱私安全問(wèn)題的重要手段,被越來(lái)越多的應(yīng)用所使用[66].針對(duì)區(qū)塊鏈應(yīng)用中的隱私保護(hù)問(wèn)題,研究當(dāng)前主流加密代幣使用的隱私保護(hù)策略,包括對(duì)發(fā)送方、接收方和內(nèi)容進(jìn)行匿名處理等環(huán)節(jié).加密貨幣的每個(gè)用戶的行為都會(huì)影響其他用戶的匿名性,匿名程度是評(píng)估區(qū)塊鏈隱私安全目標(biāo)的有效指標(biāo),信息熵評(píng)估應(yīng)用于區(qū)塊鏈系統(tǒng)具有一定的應(yīng)用前景. 6.1.2 Tor 實(shí)踐中的度量 Tor 項(xiàng)目組在匿名領(lǐng)域開(kāi)展著前沿的研究工作,Tor 也是目前最流行和最大的已部署匿名網(wǎng)絡(luò),由數(shù)千個(gè)志愿者運(yùn)行的中繼和數(shù)百萬(wàn)用戶組成.Tor Metrics 官網(wǎng)[85]可以查看到從公共Tor 網(wǎng)絡(luò)和Tor 項(xiàng)目基礎(chǔ)設(shè)施收集的統(tǒng)計(jì)數(shù)據(jù),截止到2020 年11 月,Tor 隱藏服務(wù)站點(diǎn)超過(guò)20 萬(wàn),中繼節(jié)點(diǎn)超過(guò)7 千個(gè),連接用戶數(shù)約400 萬(wàn).如果想更好地理解Tor 網(wǎng)絡(luò)對(duì)觀察或操作部分網(wǎng)絡(luò)的攻擊者提供了多少匿名性,需要數(shù)據(jù)來(lái)監(jiān)視、理解和改進(jìn)網(wǎng)絡(luò),需要數(shù)據(jù)來(lái)檢測(cè)可能的審查事件或?qū)W(wǎng)絡(luò)的攻擊.但是,隱私保護(hù)是Tor 網(wǎng)絡(luò)的目標(biāo),因此不容易與廣泛的數(shù)據(jù)收集相結(jié)合,在保護(hù)隱私的前提下,進(jìn)行數(shù)據(jù)采集和匿名度量.針對(duì)實(shí)際部署匿名系統(tǒng)Tor 和針對(duì)Tor 的改進(jìn)工作,也提出了不少新穎而有針對(duì)性的度量方法[67-69,86,87]. 文獻(xiàn)[35]對(duì)Tor 的路徑選擇算法進(jìn)行了分析,包括當(dāng)前使用的路徑選擇算法和提出的改進(jìn)方案.分析的目的是找出在選擇Tor 節(jié)點(diǎn)構(gòu)建匿名電路的方案中,哪一種更安全.該文基于從部署的Tor 網(wǎng)絡(luò)收集的數(shù)據(jù)模型,討論不同路由算法下的攻陷率,以反映系統(tǒng)的匿名性和性能.在惡意節(jié)點(diǎn)擁有100MB/s 帶寬資源預(yù)算的前提下,結(jié)果表明:盡管均勻路由選擇方案具有較高的熵值,但是當(dāng)攻擊者擁有大量低帶寬惡意節(jié)點(diǎn)時(shí),會(huì)導(dǎo)致80%的匿名路徑被破壞.帶寬加權(quán)路由選擇方案則具有較好的安全性,因?yàn)闊o(wú)論攻擊者如何分配資源,造成的破壞都不會(huì)超過(guò)匿名路徑的20%. Tor 的隱私目標(biāo),會(huì)使得常用的度量方法無(wú)效或產(chǎn)生隱私泄漏風(fēng)險(xiǎn).文獻(xiàn)[45]提出PrivCount——一種以用戶隱私為主要目標(biāo)的Tor 網(wǎng)絡(luò)測(cè)量系統(tǒng),可以安全地聚合跨Tor 中繼節(jié)點(diǎn)的測(cè)量值,并隨著時(shí)間的推移產(chǎn)生不同的隱私輸出.為了提供Tor 用戶和流量的準(zhǔn)確模型,PrivCount 對(duì)Tor 進(jìn)行了有充分廣度和深度的測(cè)量.結(jié)果表明:針對(duì)給定時(shí)間內(nèi)71 萬(wàn)用戶連接,只有55 萬(wàn)的活躍用戶,Web 流量占據(jù)Tor 的數(shù)據(jù)字節(jié)的91%;而且中繼節(jié)點(diǎn)連接策略的嚴(yán)格程度,顯著影響著它們所轉(zhuǎn)發(fā)的應(yīng)用程序數(shù)據(jù)的類型. Tor Metrics 網(wǎng)站[76]可查詢到關(guān)于用戶、中繼節(jié)點(diǎn)、流量等可視化數(shù)據(jù),可直觀了解Tor 網(wǎng)絡(luò)的情況,具體見(jiàn)表9. Table 9 View visualizations of statistics collected from the public Tor network and from Tor project infrastructure表9 Tor Metrics 提供可視化統(tǒng)計(jì)數(shù)據(jù),數(shù)據(jù)從公共Tor 網(wǎng)絡(luò)和Tor 項(xiàng)目基礎(chǔ)設(shè)施收集 圖17 顯示了數(shù)據(jù)是如何通過(guò)Tor Metrics 提供的服務(wù),收集、歸檔、分析和呈現(xiàn)給用戶的. Fig.17 How data is collected,archived,analyzed,and presented to users by Tor Metrics圖17 Tor Metric 對(duì)數(shù)據(jù)收集、歸檔、分析和呈現(xiàn)給用戶的過(guò)程 Tor 的中繼和橋收集關(guān)于其使用情況的匯總統(tǒng)計(jì)信息,例如每個(gè)國(guó)家的帶寬和連接的客戶端.源聚合用于保護(hù)Tor 用戶的隱私,因此IP 地址被丟棄,只報(bào)告從本地?cái)?shù)據(jù)庫(kù)映射到國(guó)家IP 地址范圍的國(guó)家信息,這些統(tǒng)計(jì)數(shù)據(jù)定期發(fā)送給目錄管理機(jī)構(gòu).Concensus health 包含當(dāng)前共識(shí)文件的統(tǒng)計(jì)信息和投票,以方便調(diào)試目錄共識(shí)過(guò)程.CollecTor 從目錄權(quán)威機(jī)構(gòu)下載最新的服務(wù)器描述符、包含聚合統(tǒng)計(jì)信息的額外信息描述符和共識(shí)意見(jiàn)文檔,并將它們歸檔.這個(gè)歸檔文件是公共的,大多數(shù)服務(wù)使用metrics-lib 解析描述符,可以使用metrics-lib Java 庫(kù)解析歸檔文件的內(nèi)容來(lái)執(zhí)行數(shù)據(jù)分析.為了提供對(duì)存檔的歷史數(shù)據(jù)的可視化訪問(wèn),Tor Metrics 網(wǎng)站包含許多可定制的圖表,用于顯示用戶、流量、中繼、橋和應(yīng)用程序下載等統(tǒng)計(jì)數(shù)據(jù),這些統(tǒng)計(jì)數(shù)據(jù)在請(qǐng)求的時(shí)間段內(nèi),經(jīng)過(guò)過(guò)濾,到達(dá)特定的國(guó)家.ExoneraTor 維護(hù)一個(gè)Tor 網(wǎng)絡(luò)內(nèi)IP 地址的數(shù)據(jù)庫(kù),回答在給定的IP 地址上是否有Tor 中繼在給定的日期運(yùn)行的問(wèn)題,ExoneraTor 可以為每個(gè)中繼存儲(chǔ)多個(gè)IP 地址,并且能夠存儲(chǔ)中繼是否允許將Tor流量傳輸?shù)介_(kāi)放的Internet 的屬性.為了提供對(duì)公共Tor 網(wǎng)絡(luò)當(dāng)前信息的方便訪問(wèn),Onionoo 通過(guò)HTTP 提供JSON 文檔,對(duì)于需要顯示中繼信息、歷史帶寬、正常運(yùn)行時(shí)間和共識(shí)權(quán)重信息的應(yīng)用程序可以使用該協(xié)議.中繼搜索就是這樣一個(gè)應(yīng)用程序的例子,中繼操作人員、監(jiān)視網(wǎng)絡(luò)健康狀況的人員和使用Tor 網(wǎng)絡(luò)的軟件開(kāi)發(fā)人員都可以使用中繼搜索.另一個(gè)應(yīng)用程序的例子是metrics-bot,它定期地向Twitter 等社交網(wǎng)絡(luò)發(fā)布快照,包括國(guó)家統(tǒng)計(jì)數(shù)據(jù)和繪制已知中繼的世界地圖. 6.2.1 匿名度量組合方法 近年來(lái),匿名通信系統(tǒng)出現(xiàn)了一些新的技術(shù),例如,規(guī)避審查的隱蔽接入技術(shù)[73]、利用SDN 構(gòu)建匿名隧道[82]、組合ISP 服務(wù)構(gòu)建匿名域[88]等.一個(gè)單獨(dú)的度量標(biāo)準(zhǔn)不可能涵蓋隱私的整個(gè)概念,因此,更完整的隱私評(píng)估可以考慮通過(guò)使用來(lái)自不同輸出類別的度量組合獲得.針對(duì)新興的匿名技術(shù)和未來(lái)的網(wǎng)絡(luò)環(huán)境,對(duì)匿名度量方法進(jìn)行擴(kuò)展和組合[89],以適應(yīng)新的匿名通信系統(tǒng),也是具有一定應(yīng)用前景的研究方向. 對(duì)于采用組合方法提供匿名性保證的系統(tǒng),度量方法也應(yīng)該考慮組合的可能.歸一化是一種組合方法,例如歸一化熵、歸一化條件熵等,是用一種指標(biāo)對(duì)另一種指標(biāo)進(jìn)行標(biāo)準(zhǔn)化.幾種指標(biāo)的線性加權(quán),按照各目標(biāo)的重要性賦予相應(yīng)的權(quán)系數(shù),對(duì)其線性組合進(jìn)行多目標(biāo)優(yōu)化求解,尋找度量的評(píng)價(jià)函數(shù),也是一種組合方法.多個(gè)不同實(shí)體的相同度量值如何組合、同一個(gè)實(shí)體的不同度量值如何組合、經(jīng)過(guò)組合的度量方法是否擴(kuò)大了應(yīng)用的范圍、是否能夠應(yīng)用于新的系統(tǒng),都是值得研究的問(wèn)題.文獻(xiàn)[70]使用標(biāo)準(zhǔn)熵、猜測(cè)熵以及經(jīng)驗(yàn)度量這3 個(gè)匿名指標(biāo)綜合評(píng)估系統(tǒng)的匿名性.經(jīng)過(guò)組合的度量方法,如果能夠保留這些度量方法的優(yōu)點(diǎn),同時(shí)減少它們的缺點(diǎn),就能形成新的有效的度量,從而應(yīng)用于新的匿名系統(tǒng). 6.2.2 通用度量模型和評(píng)估系統(tǒng) 在匿名的形式化研究工作中,提出了一些通用的匿名框架.文獻(xiàn)[63]比較了不同匿名框架,例如AnoA 框架、Hevia 框架、Bohli 框架、Gelernter 等的概念定義,提出了一個(gè)完整的層次結(jié)構(gòu),對(duì)概念進(jìn)行了統(tǒng)一的定義和一致性研究.因?yàn)椴煌芯恐g命名方式的差異、匿名性概念強(qiáng)弱的差異等,阻礙了對(duì)不同匿名目標(biāo)的理解和比較,阻礙了匿名通信系統(tǒng)的比較和改進(jìn),這方面的工作也是本領(lǐng)域未來(lái)需要研究的方向. 匿名度量的目標(biāo)是對(duì)匿名系統(tǒng)所能提供的匿名程度進(jìn)行量化,度量的結(jié)果表明:系統(tǒng)在面對(duì)各種攻擊場(chǎng)景時(shí),能為用戶提供多少匿名性,有助于匿名系統(tǒng)的對(duì)比,也可以為不同匿名需求下設(shè)計(jì)和改進(jìn)匿名系統(tǒng)提供建議.量化方法的選擇與攻擊者的不同攻擊方法、與匿名系統(tǒng)各自不同的屬性特點(diǎn)有直接的關(guān)系.有的度量方法較為直觀,有些度量方法在概念上就較為困難.正是由于度量方法如此多樣和復(fù)雜,對(duì)它們的正確選擇和應(yīng)用就極具挑戰(zhàn)性.匿名系統(tǒng)研究者難以找到合適的方法評(píng)估自己的創(chuàng)新研究,而系統(tǒng)評(píng)估研究者并不清楚匿名系統(tǒng)研究者面臨的困難.為了促進(jìn)研究者選用合適的方法進(jìn)行匿名系統(tǒng)的比較和改進(jìn),同時(shí)把這個(gè)問(wèn)題暴露在從事信息系統(tǒng)評(píng)估的研究者面前,建立一個(gè)匿名系統(tǒng)的研究者和系統(tǒng)評(píng)估的研究者之間彼此了解的橋梁,逐步克服當(dāng)前不同的匿名度量機(jī)制之間進(jìn)行定量比較的困難等目標(biāo),本文對(duì)通信系統(tǒng)中匿名性度量的研究歷程和發(fā)展現(xiàn)狀進(jìn)行了綜述.針對(duì)匿名通信系統(tǒng),力圖梳理和構(gòu)建出一個(gè)較為清晰的度量研究的概貌,并強(qiáng)調(diào)了度量在研究上的重要性,給進(jìn)一步的研究提供一點(diǎn)參考.匿名度量研究開(kāi)始的初期階段,形成了匿名性定義的共識(shí),使用基于匿名集大小和基于概率分析的方法來(lái)度量匿名性.接著,信息論在匿名度量領(lǐng)域得到了廣泛應(yīng)用,我們針對(duì)不同場(chǎng)景對(duì)基于信息論的熵度量方法進(jìn)行了具體的分析和比較.隨著匿名度量研究的進(jìn)一步發(fā)展,表達(dá)匿名程度的度量指標(biāo)也越來(lái)越多樣,關(guān)聯(lián)性、時(shí)間和不可區(qū)分性等多種指標(biāo)被提了出來(lái),作為度量的輸出來(lái)衡量系統(tǒng)的匿名程度.從綜述可以看出,并沒(méi)有一種既實(shí)用又準(zhǔn)確的匿名度量方法能夠滿足所有匿名通信系統(tǒng)的需要.近年來(lái),網(wǎng)絡(luò)匿名通信系統(tǒng)得到了迅速的發(fā)展,匿名度量有助于增強(qiáng)數(shù)字世界中用戶的隱私保護(hù).信息熵等已有的成熟度量方法在新興匿名系統(tǒng)中的應(yīng)用,現(xiàn)實(shí)中已經(jīng)廣泛部署的匿名通信系統(tǒng)的匿名性度量,以及通過(guò)對(duì)度量方法的擴(kuò)展或組合形成新的度量方法以適應(yīng)特定新場(chǎng)景的匿名需求,都是有應(yīng)用前景的研究方向.由于匿名目標(biāo)的具體定義往往針對(duì)特定的用例而特別加以創(chuàng)建,命名和形式化通常是不兼容、不一致的,使得不同匿名度量機(jī)制之間的定量比較具有一定的難度,也阻礙了匿名系統(tǒng)的比較和改進(jìn).因此,對(duì)匿名系統(tǒng)、攻擊模型和度量方法這3 個(gè)方面進(jìn)行統(tǒng)一的模型抽象,未來(lái)值得進(jìn)一步研究與探索.4.7 基于形式化的可證明性度量
5 分析與比較
6 挑戰(zhàn)和發(fā)展
6.1 基于具體系統(tǒng)的具體挑戰(zhàn)
6.2 發(fā) 展
7 結(jié)論