趙 蕙,王良民,申屠浩,黃 磊,倪曉鈴
1(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013)
2(江蘇省工業網絡安全技術重點實驗室(江蘇大學),江蘇 鎮江 212013)
互聯網用戶的隱私數據越來越容易受到各種商業或其他用途的掠奪,用戶數據可能面臨廣泛的監控,可能被商業公司收集和出售,可能由于網絡攻擊而泄露[1].面對通信網絡中存在的重大隱私風險,僅僅通過消息加密提供內容的機密性是遠遠不夠的,通過流量追蹤技術,攻擊者可以揭示流量發送者和接收者之間的通信聯系等大量信息[2],例如誰發送了信息、誰接收了信息、誰在與誰通信、何時通信、通信頻率等.保護網絡空間隱私的愿望推動了匿名通信系統的設計,使得用戶可以在使用互聯網服務時,隱藏通信終端主機的身份和通信關系等隱私敏感信息.近年來,匿名通信系統已從小范圍部署發展成為數百萬人使用的大眾市場軟件[3],Tor、I2P、Freenet、ZeroNet 等都是被廣泛使用的匿名通信系統[4].
隨著網絡匿名通信系統設計的迅速發展,對匿名系統進行有效的評估也需要開展更廣泛和深入的研究.針對網絡匿名通信系統的研究工作在部署成本、路由性能、擁塞控制、可伸縮性和安全性等方面不斷改進[1,5],這些方面也是匿名系統評估的主要角度,安全性是其中關鍵性的指標.一個匿名通信系統可以從匿名性、抗跟蹤性、抗封鎖性、抗竊聽性、魯棒性和可用性等不同角度進行評價[6],其中,對匿名通信系統所能提供的匿名程度的量化,即匿名度量,是對這類系統進行度量的重點和關鍵.因此,如何對不同的匿名通信系統所能提供的匿名性的程度進行評估和量化,是一個重要的研究問題,是匿名領域新的研究焦點.對匿名通信系統的用戶而言,匿名度量的結果表明系統面對各種攻擊場景能為用戶提供多少匿名性:估計過高,用戶可能會被置于無法預測和接受的風險之中;估計過低,會導致用戶在不必要的情況下放棄使用系統.對匿名通信系統的開發者而言,匿名度量可對不同匿名需求下設計和改進匿名通信系統提供客觀和科學的依據,也有利于對不同的匿名通信系統進行對比.但是如何權衡與比較自己研究的新系統和新機制,成為一個比較困擾匿名系統研究工作的難題.當前,研究匿名機制的文獻有很多,但卻缺乏統一的匿名機制模型和攻擊模型.本文的綜述內容主要是面對有關匿名機制的研究者,通過全面介紹匿名度量方法,為進行匿名設計的研究者在選擇合適的匿名度量方法方面提供一點線索,進一步地,使研究者能夠根據所設計的匿名機制,適當改進和拓展匿名度量方法.
匿名度量是隱私度量[7]在匿名通信領域中的研究.IEEE 術語標準辭典[8]給出:度量是對一個系統、組件或過程具有的某種給定屬性的度的定量測量.本文給出一個匿名度量研究的通用框架,如圖1 所示.

Fig.1 A general framework for anonymous metrics research圖1 匿名度量研究的通用框架
網絡匿名系統的參與實體包括用戶、攻擊者、匿名網絡基礎設施提供者.用戶實體,例如需要保護機密或敏感業務采購模式的商業公司、需要隱藏身份的記者、犯罪檢舉者、病人等敏感社會團體以及瀏覽敏感信息的普通用戶等;攻擊者實體,例如商業黑客、網絡供應商、網絡審查和執法機構等;匿名基礎設施提供者,例如匿名系統的維護或提供匿名節點的志愿者.用戶使用網絡產生的網絡通信中的原始數據,包括消息的內容和用于消息路由的元數據.攻擊者捕獲到消息的內容可能會分析出用戶的身份信息、瀏覽興趣、生活習慣和聊天內容.攻擊者捕獲到消息的元數據可以分析出包括源地址、目的地址、消息長度等,進而推斷用戶的身份、通信雙方的地理位置和通信關系.
網絡中的原始消息由匿名基礎設備提供者使用匿名技術處理后成為匿名消息,消息的內容可以通過數據加密算法和數據隱私技術來保護隱私,消息的元數據可以通過加密、隧道、隨機化等匿名通信技術來實現隱藏.匿名通信技術的有效性依賴于加密的方法、匿名用戶的數量、消息路由的機制、敵手的知識和能力以及網絡環境等.匿名后的數據可能被網絡中的攻擊者觀察和分析,攻擊者再結合挖掘到的公共信息和用戶資料,構成背景知識,從而有可能推測和還原出原始數據.擁有的背景知識越多,對匿名數據成功去匿名化的可能性越大.匿名度量方法依賴于不同類型的輸入來計算度量值,經過匿名技術處理的可觀察數據和攻擊者的背景知識,都可以是匿名度量的輸入數據,輸入數據的可用性和適當的假設決定了是否可以在給定的場景中使用度量.根據不同指標計算出的能夠量化匿名強度的數值,推動不同匿名技術之間的分析和對比,促進匿名技術的進一步發展.
已有一些文獻[3,9-13]較全面和系統地回顧了匿名度量的研究工作,但仍可以從不同角度開展具體而深入的比較和分析工作.本文首先尋找匿名度量的發展脈絡和特點,按照時間線回顧基于多種理論和方法的匿名度量標準,梳理后得到如圖2 所示的研究發展歷程.將匿名度量研究領域的發展歷程劃分為非正式定義階段、信息論方法廣泛應用階段、多種度量輸出的新方法階段;然后按照提出的匿名度量發展歷程的3 個階段組織內容,圍繞對匿名性的度量領域中關鍵的研究工作,進一步闡述在這條時間線上推動該領域進展的重要研究工作,結合匿名通信攻擊技術,分析與對比不同的匿名度量方法;最后,針對目前新興網絡匿名通信系統帶來的機遇與挑戰,探討和展望匿名度量進一步的研究方向.

Fig.2 Evolution of anonymity metric research圖2 網絡匿名度量研究的發展歷程
本文第1 節從匿名術語的定義開始,介紹基于匿名集和基于概率的匿名度量方法等匿名度量領域的開創性工作.第2 節圍繞信息論的方法,分析香農熵、歸一化香農熵、最小熵、雷尼熵、條件熵、相對熵等多種方法對匿名性的度量.第3 節討論對發送方和接收方關聯性進行度量的方法.第4 節從攻擊者成功的概率、設計者和攻擊者之間的博弈、時間、觀測值和真實結果之間的誤差、不可區分性和k匿名等多個角度介紹衡量匿名程度的方法.第5 節對多種匿名機制、攻擊技術和度量方法進行比較和分析.第6 節討論信息熵方法在新興網絡匿名通信系統中的應用和Tor 的度量實踐,展望匿名度量方法的組合.第7 節總結全文.
1981 年,Chaum 提出不可追蹤郵件問題和Mix 解決方法[14],這是匿名領域的開創性工作.對匿名系統提供的匿名性進行量化,從一開始就是重要的挑戰.本節從匿名的定義開始,討論基于匿名集和基于概率的度量方法,使用的符號見表1.

Table 1 Notation and abbreviation description表1 符號和縮略語說明
研究匿名技術的學者對該領域頻繁使用的術語有各自的定義和理解,直到2001 年,Pfitzmann 和Hansen 給出匿名性、不可關聯性、不可觀察性、假名等標準化經典定義[15],這些定義已被大多數匿名文獻所采用,圖3描繪了4 個非形式化定義在匿名通信網絡中的通信環境和通信實體表示.

Fig.3 Schematic diagram of anonymous communication圖3 匿名通信網絡示意圖
匿名是借助其他實體的行為來隱藏自己的行為,匿名性(anonymity)被定義為一個通信實體在一個具有相同特性的匿名集中的不可識別性.系統中所有可能參與者的集合是攻擊者無法區分的匿名集,是實現匿名的基礎.進一步細化匿名集,可能是特定消息發送方的集合稱為發送方匿名集,可能是發送方特定消息的收件人的集合稱為接收方匿名集,兩個匿名集可以是相同的,可以是重疊的,也可以是不相交的,可能隨時間而發生變化.如圖3(a)所示,系統中的用戶為{A,B,C,X,Y,Z},其中,用戶C和Z被攻擊者攻陷或控制,有效的發送方匿名集為{A,B},接收方匿名集為{X,Y}.
不可關聯性(unlinkability)表示攻擊者無法判斷通信行為之間的相關性.如圖3(b)所示,對一個規模為2 的發送方匿名集{A,B},攻擊者不能判斷兩條消息是不是同一個發送者發送,消息由同一個發送者發出的概率是1/2.假設兩條消息由不同的發送者發出,攻擊者無法關聯特定消息的發送方和接收方,即無法區分{A→X,B→Y}和{A→Y,B→X}.
不可觀察性(unobservability)表示攻擊者無法區分出系統中的消息與隨機噪聲,不知道有沒有消息發送,不知道有沒有消息接收,不知道有沒有發生消息的交換.如圖3(c)所示,意味著攻擊者無法區分{A→},{A?},{B→},{B?},{→X},{?X},{→Y},{?Y}.
使用假名(pesudonymity)標識對象的身份,是實現匿名的一種方法.如圖3(d)所示,假設攻擊者捕獲到通信對{u→s},也不能直接掌握使用身份u和s的真正用戶A和Y.不過,隨著在系統中交換信息次數的增加和通信時間的增長,假名與真實身份的映射關系會慢慢變得容易分析,假名與真實身份并不必須是一對一映射.也有研究提出使用假名組,用假名集合與身份集合對應,使假名與對象之間具有不可關聯性.
除了匿名性,系統的不可關聯性、不可觀察性和使用假名也隱含反映了系統能夠提供的匿名保護,也可以作為度量匿名通信系統的指標.
相比Pfitzmann 和Hansen 在文獻[15]中對匿名的概念給出的非形式化的經典定義,基于數學基礎,對匿名性、不可鏈接性等隱私目標進行定義、建模和驗證的工作也較早(1996 年)就已開始.匿名的形式化研究有的側重于用準確的語義來定義匿名性,有的側重于建模和驗證匿名系統.對匿名概念的形式化定義對匿名屬性的表達和分析更加清晰和準確,并致力于嚴格證明匿名協議承諾的安全性,從而更好地量化匿名程度,有利于不同系統之間的比較.我們在第4.7 節展示了面向匿名性、不可關聯性等隱私概念開展的形式化定義工作.
根據匿名的定義,特定消息的發送或接收的實體肯定在該匿名集內.文獻[16]提出,可以用匿名集的大小來反映系統所能夠提供的匿名性:最壞情況下,匿名集為1,意味著無法提供匿名保護;最好情況下,匿名集的大小即網絡大小,意味著網絡中任何用戶都可能是特定消息的發送或接收方.文獻[10]對匿名度的定義見公式(1):

其中,N為匿名集中的用戶數,可以理解為敵人對匿名性的攻擊相當于在猜測一個二進制序列,該序列的長度是對匿名集的大小取以2 為底的對數.從定義上看,匿名的程度取決于用戶的數量:隨著集合大小的增加,匿名的程度也會增加.當N=1 時,匿名度為0,此時,匿名集中只有一個用戶,系統無法提供匿名性;當N=2 時,匿名度為1,此時,匿名集中有兩個用戶,相當于猜測1 個二進制位的概率,攻擊者有50%的機會猜中;當N=64 時,匿名度為6,相當于猜測一個長度為6 的二進制序列.
最理想情況下,匿名通信系統中所有用戶被攻擊者識別的概率呈均勻分布,即每個用戶作為特定消息的發送者或接收者的概率是相等的,匿名度隨集合大小的增加而增加,如圖4 所示.

Fig.4 Use ASS to compare two uniform systems圖4 使用匿名集大小比較均勻分布的兩個系統
實際情況中,攻擊者可以根據自己掌握的資源和知識,通過流量分析、泛洪攻擊等手段,對發送方或接收方做出猜測.這種情況下,個別發送者或接收者被攻擊者識別的概率增加,使得系統的匿名性降低.例如,兩個系統具有同樣大小的匿名集N=3,系統1 呈現均勻分布,如圖5(a)所示;系統2 中的一個節點相較其他節點,被攻擊者猜測為有更高的概率,是消息發送方,如圖5(b)所示.這兩種系統的匿名程度事實上有明顯差別,但是僅基于匿名集的度量方法無法區別這種情況.

Fig.5 Examples of the systems with different distribution圖5 均勻分布系統和非均勻分布系統
因此,基于匿名集表示匿名程度盡管復雜性低、通用性高,但是由于這種方法僅依賴于系統中的用戶數量,沒有考慮攻擊者可能根據先驗知識獲得的匿名集中每個成員成為潛在目標的概率信息,因此無法區分匿名集大小相同的不同匿名系統.
考慮到概率分布的不均勻性,假設攻擊者對系統中每一個節點分配一個概率,Pri(Pri≠0,∑i∈ASPri=1)表示攻擊者識別消息的發送方或接收方的概率.文獻[17]從用戶角度單獨考慮匿名性,從絕對隱私到可證明暴露,提出6 級匿名,見公式(2):

圖6 以不同概率分布的匿名系統為例,描繪了6 級匿名.

Fig.6 Six levels of anonymity圖6 6 級匿名性劃分
對于圖6 所示匿名集的大小相同但概率分布不同的兩個系統,這種匿名度劃分方法可以得到不同的度量值.圖6(a)所示對應“無可置疑”,圖6(b)所示對應“可能無辜”,判斷出圖6(a)所示對應著一個匿名性更高的系統.由于考慮到分布的不均勻性,基于概率的方法產生了可區分的度量.
但是,因為不考慮匿名集基數,這種方法并不總能正確地區分出匿名程度.圖7(a)所示對應均勻分布的系統,獲得“無可置疑”,但匿名集合很小;圖7(b)所示對應的系統由于有一個用戶的概率稍高于其他用戶,獲得“可能目標”等級,但匿名集合大得多.

Fig.7 Distinguish incorrectly without cardinality圖7 缺乏匿名集基數
盡管均勻分布應該具有更好的匿名性,但是如果匿名集太小,即使系統什么信息也不泄露,攻擊者成功識別用戶所花費的代價可能也比匿名集大的非均勻分布系統要小得多,攻擊者更容易識別,攻陷的成功率更高.因此,這個結果不能反映真正的事實.單獨使用匿名集大小或者通信系統中實體被識別的概率來衡量匿名程度存在明顯的缺陷,但是它們卻非常必要和適合作為度量的輸入與其他方法相結合,例如可應用于基于信息論的度量方法中.
既要考慮匿名集的大小,又要考慮到分布的不均勻性,以及攻擊者對網絡匿名通信的大多數攻擊都能夠得到關于相互通信實體的身份的概率信息,因此,當信息理論匿名度量[18,19]被提出之后,即得到了廣泛的應用.熵具有很好的統計特性,這些度量方法基于熵,反映了敵手相對于給定消息的發送方或接收方的不確定性.基于信息熵的度量方法對匿名度量的研究有重要的意義,并發展出很多分支.
用信息熵表示系統的匿名程度,見公式(3):

攻擊者可能會猜測匿名集中的哪個成員發生了什么樣的特定操作,例如誰發送了特定的消息、誰訪問了特定的位置,然后攻擊者給匿名集中的每一個成員估計一個概率p(x),以表明該目標用戶發生特定操作的可能性.例如:攻擊者關心的是消息的發送者,那么p(x)就表示目標用戶是真正發送者的概率.對p(x)的估計,可以基于貝葉斯推理、隨機猜測、先驗知識或多種方法的組合,所有成員的概率之和為1.以發送方匿名為例,熵可以直觀解釋為消息發送者匿名集有效大小的對數.例如,熵為6 的潛在發送方的分布可以解釋為:發送方與26-1=63 個其他發送方沒有區別.
用基于香農熵的方法量化圖7 所示的兩個匿名系統.圖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,相比單純使用概率方法無法正確區分匿名度,信息熵的度量方法得到了較為合理的、能夠區分匿名度的量化結果.
下面給出一個香農熵受異常值影響的例子.考慮100 個潛在接收方的分布,除了一個接收方概率為0.109 以外,剩余所有潛在接收方的可能性呈均勻分布,概率為0.009,系統的熵值高達6.40,接近理論最大值log2100≈6.64.因此,假如攻擊者能夠高概率地識別出目標,剩余大量低概率的成員如果呈均勻分布,則仍然可以導致高熵值,從而表明高匿名度,但此時,熵計算的結果并不符合實際情況.
再如,兩個系統匿名程度不同,但熵值相同,如圖8 所示.
? 圖8(b)中一個節點被攻擊者識別的概率為0.5,其余節點呈均勻分布,匿名集大小為101:

兩個系統熵值相同,然而圖8(b)所示匿名程度事實上低于圖8(a).

Fig.8 Different anonymity degree with same entropy圖8 相同的熵值,不同的匿名程度
文獻[19]進一步對香農熵做了規格化的工作,見公式(4),使得表達匿名程度的值被限制在[0,1]的范圍內:

用歸一化熵可以區分圖8 所示場景中的兩個系統,圖8(a)為ADNENT=4.32/log220=1,圖8(b)為ADNENT=4.32/log2101≈0.65,得出不同的歸一化熵,從而區分出不同的匿名程度.但在圖9 所示的場景中,兩個系統的匿名集大小相同、概率分布不同,兩個系統的熵都為3.12,歸一化熵都為0.72.顯然,無論是熵或歸一化熵,都無法區分這兩個系統.

Fig.9 Systems with same entropy and normalized entropy圖9 熵相同,歸一化熵相同
信息熵的概念提供了隨機變量不確定性的度量,考慮的是特定用戶的平均情況.針對有著非常薄弱環節的匿名系統,例如有一個用戶被識別的概率特別高,攻擊者可以通過攻擊該用戶對系統去匿名化.因此,有文獻[11,28]提出用最小熵來計算局部匿名性,從而表示系統最壞的情況,量化出用戶可以獲得的最小安全,見公式(5):

圖9 場景中,可以用最小熵來區分兩個系統能夠提供的最小安全,計算得到的最小熵分別為1 和2.54.從考慮系統最壞情況來看,圖9(b)對應著一個更好的系統.直觀來看,如果攻擊者資源有限,只能針對一個可能的發送者進行分析,如圖9(a)和圖9(b)所示系統的識別成功率分別為50%和17.2%.除基本香農信息熵外,還有其他,如雷尼熵[21]、條件熵[20]、相對熵[22]等匿名度量方法.
雷尼熵是熵的一般化形式,見如公式(6):

它引入一個額外的參數,香農熵是當參數為1 時的特例;最大熵是雷尼熵當參數為0 時的特例,此時的熵值僅取決于用戶的數量,因此是最好的情況,代表了用戶理想的匿名性;最小熵是雷尼熵當參數為∞時的特例,這是一個最糟糕的情況,此時的熵值僅取決于攻擊者認為概率最高的用戶.對于香農熵無法區分的系統,通過調整參數α,雷尼熵可以獲得有區分度的結果,如圖10 所示.

Fig.10 Different anonymity degree with Rényi entropy圖10 不同參數α 的雷尼熵下區分系統匿名程度
考慮攻擊者往往結合背景知識進行分析,文獻[29]研究用不同路徑選擇策略下發送方被攻擊者識別的概率,以此來表示不同的路徑長度和不同的路徑拓撲等路徑選擇策略對發送方匿名的影響.該文討論了在攻擊者掌握一定信息量的條件下,如何利用攻擊者算法和消除規則(見第3.2 節),用條件概率和全概率公式計算發送方被識別的概率,其中,X表示隨機變量,s表示真正的發送方,F=ω表示攻擊者收集到的信息.基于被動攻擊模型,攻擊者部署若干惡意節點在消息的重路由路徑上,惡意節點收集所有通過節點的消息,發現和報告自己的前驅、后繼以及消息到達的時間.最后對求得的條件概率計算其信息熵的值,見公式(7):

文獻[20]指出:對上述計算條件概率熵值的方法不同于條件熵,條件概率的熵是攻擊者根據特定的觀察計算不確定性,條件熵計算的是攻擊者得到的所有可能的熵之間的加權平均值.條件熵表達式見如公式(8):

其中,隨機變量X表示真實的分布,Y描述的是攻擊者的觀察結果.隨機變量X的條件熵衡量的是:如果根據攻擊者獲得的隨機變量Y的特定值,需要多少信息來描述隨機變量X.
相對熵(KL 散度DKL)測量兩個概率分布之間的距離,給出透露給攻擊者的概率信息的數量,表明攻擊者的估計與事實有多遠.隨機變量X表示真實的分布,隨機變量Y表示攻擊者的估計,Y可能是攻擊者的估計值,也可能是攻擊者的觀測值,見公式(9):

文獻[30]提出一種基于相對熵的不可觀測性度量方法,從攻擊者的威脅模型出發,將匿名通信系統的輸入、輸出狀態映射到一個交互式圖靈機,并在此基礎上提出一個基于相對熵的不可觀測性度量框架,用于度量匿名通信系統的不可觀測程度,并給出對Tor 匿名通信系統的傳輸層插件Meek 和Bridge 度量的實例.
表2 匯總了以上提到的匿名方法在各場景下的量化結果,并用符號?與?說明是否能夠正確區分當前場景下系統的匿名程度.

Table 2 Comparinging different anonymity metrics in different distribution scenes表2 不同場景下的匿名度量比較

Table 2 Comparinging different anonymity metrics in different distribution scenes (Continued)表2 不同場景下的匿名度量比較(續)
表2 中,D1 表示系統1 的概率分布,D2 表示系統2 的概率分布.系統有3 種可能的分布,見公式(10),以下我們稱為分布1、分布2 和分布3:

其中,N表示系統匿名集的大小.分布1 表示系統中N個用戶之間的概率分布是均勻的,概率為1/N.分布2 表示系統中有1 個用戶可能是真實發送方的概率為1/pa,其他用戶的概率分布是均勻的,概率為(1-pa)/(N-1).分布3表示匿名集為N的系統中,有2 個子匿名集,真實發送方在這兩個子匿名集中的概率分別為pb和1-pb,另一個每個子匿名集內部是均勻分布的,有k個用戶屬于概率為pb的子匿名集,每一個用戶的概率為pb/k,其他用戶同屬于另一個子匿名集,每一個用戶的概率為(1-pb)/(N-k).
兩個系統在5 個不同的場景下,比較各自的匿名程度.場景1 設置為將兩個都屬于均勻分布但匿名集大小不同的系統進行比較,其中,系統1 的匿名集大小為3,系統2 的匿名集大小為20.兩個系統都屬于分布1.場景2~場景4 中系統1 屬于分布1,系統2 屬于分布2.場景5 中,系統1 屬于分布1,系統2 屬于分布3.場景2 設置為兩個匿名集大小相同(都為3)但概率分布不同的系統進行比較.場景3 設置為兩個匿名集大小不同(3 和20)、分布也不相同的系統進行比較.場景4 設置為兩個匿名集顯著不同(20 和101)、分布也不相同的系統進行比較,其中一個系統有明顯的薄弱點.場景5 設置為兩個匿名集大小相同(都為20)的系統進行比較,其中,系統1 有1 個極薄弱點,系統2 有多個薄弱點.
表2 根據匿名度早期文獻中的方法,設計場景1 到場景5 的變化來描述一條不同研究之間可能存在的逐漸遞進或互為補充的邏輯線索:匿名集的方式可以區分場景1,但無法區分場景2;6 級匿名可以區分場景2,但無法區分場景3;熵可以區分場景3,但無法區分場景4;歸一化熵可以區分場景4,但無法區分場景5;最小熵可以區分場景5,但它將所有用戶之間的最小匿名度作為整個系統的匿名度,暴露了最薄弱環節,卻可能無法捕獲整個系統行為.雷尼熵作為一種一般化形式,可以調整參數α的值在不同的場景下獲得有區分度的結果.表2 中結果的計算方法可以在第2.1 節~第2.4 節找到.不同方法的組合使用,可對系統的匿名程度給出更完整的表示.例如,熵與最小熵的綜合使用,能夠幫助反映出系統的平均情況和最壞情況.
盡管計算出熵值有利于系統之間的比較,但是熵易受異常值影響,并不總能提供正確的匿名性.有文獻[31,32]認為:即使是熵值明顯不同的系統,熵的絕對值本質上并未傳達太多比較的意義.熵表示一種全局度量,只和它使用的估計概率一樣好.熵回答了系統有多無序,但無法衡量攻擊的效果,不能說明攻擊者的估計是否準確,也不表示攻擊者需要花費多少計算或帶寬資源才能成功.作為一種全局度量,它也不能度量特定用戶.
考慮兩種匿名系統,一個是呈均勻分布的理想系統,另一個是非理想系統,其中有一個節點有較高概率,其余節點均勻分布,用戶的概率分布如公式(10)所示的分布1 和分布2.令n1和n2分別表示兩個系統的匿名集大小,根據熵的計算公式,如果想達到相同的熵,只需要求解滿足公式(11)的匿名集關系:

例如:當pa取0.5 時,只要滿足,兩個系統就可以獲得相同的熵值.表3 給出了具體的計算結果.因此,通過構造匿名系統的分布,非理想系統可以達到任意高的熵值.

Table 3 Scenes with the same entropy表3 不同分布,相同熵
歸一化熵也有相似的缺點[11].考慮兩種匿名系統,用戶的概率分布如公式(10)中的分布2 和分布3.令n2和n3分別表示兩個系統的匿名集大小,k表示系統2 其中一個子匿名集的大小,表示根據熵的計算公式,如果想達到相同的歸一化熵,只需求解匿名集和概率關系,具體的求解方法見公式(12):

為了簡化計算,對公式(12)中的參數取n2=n3,pa=0.5 進行求解,可以得到表4 所示的計算結果.

Table 4 Scenes with the same normalized entropy表4 不同分布,相同歸一化熵
信息熵是一種通用性較強的方法,許多研究工作利用熵作為工具對系統的匿名性進行量化計算,從不同對象的角度,我們還可以看到基于熵對關聯性進行的度量(見第3.1 節)以及對匿名系統路徑匿名和不可觀察性的量化(見第6.1 節).
匿名度量中,發送方(接收方)匿名保證敵人難以確定給定消息的來源,在較多文獻中得到闡述.對許多實際的應用而言,關系匿名確保攻擊者對于誰與誰正在通信無法追蹤,因此,關系匿名是匿名通信系統需要的重要特性.事實上,除了消息的發送方和接收方實體之間的關聯外,系統中任意項的關聯性都是可以測量的.
文獻[23]對不可關聯性(unlinkability)的概念進行了形式化描述,令M={m1,m2,…,mn}是給定系統中項目的集合,用~r(M)表示在集合M上的等價關聯,這個關聯把M劃分成k個等價類M1,M2,…,Mk,1≤k≤n,對于?i,j∈{1,…,k},i≠j:Mi∩Mj=?,M1∪…∪Mk=M,如圖11(a)所示的簡單的系統模型,描述了一個集合內項目的關聯性,根據消息是否屬于相同的發送者分成若干等價類,屬于相同等價類的消息之間是關聯的,表示為(mi~r(M)mj);否則不關聯,表示為(mir(M)mj).
然后,該模型被擴展到表示集合之間的不可關聯性,如圖11(b)所示,對于用戶集合U={u1,u2,…,un},消息集合M={m1,m2,…,mn},用(ui~r(U,M)mj)表示用戶ui發送了消息mj.

Fig.11 Modeling unlinkability in equivalence圖11 利用等價類概念表示關聯性
對于隨機變量X,P(X=(mi~r(M)mj)表示對于給定的兩個項目mi和mj,X取值為(mi~r(M)mj)的概率,P(X=(mir(M)mj)表示mi與mj不相關的概率,滿足?mi,mj∈M,P(mi~r(M)mj)+P(mir(M)mj)=1.
可以使用兩個項目的不可關聯性來表示對匿名性的影響.對系統提供的(i,j)不可關聯性程度,利用信息論方法,設H(i,j):=H(X);對匿名集的成員之間的通信關系分配概率和計算熵值,見公式(13):

文獻[28]討論mix 匿名網絡中,關系匿名(relationship anonymity)的定義和計算方法.如圖12 所示,考慮一個有N個發送者S1,…,SN和H個目的地D1,…,DH的mix 網絡.第i個發送者Si可能正與第j個目的地Dj通信,其中,1≤i≤N,1≤j≤H,因為不同的發送者可能發送不同數量的消息,假設每個發送方Si發送ni條消息msgi1,…,msgini,對于1≤k≤ni,每條消息msgik都有一個目的地Dj.定義[1...H]是潛在目的地的概率分布,[j]為攻擊者觀察mix 網絡后得到的第i個發送者Si發出的第ik條消息msgik,到達第j個目的地Dj的后驗概率,利用熵和目的地概率分布,通過計算針對給定一條消息目的地的隨機性,來表示匿名程度,見如公式(14):

由于系統可能存在最壞情況,比如其中一個目的地的可能性遠遠大于其他目的地,因此,文獻[28]也提出用最小熵來描述最可能的目的地.
盡管分析的匿名對象不同,但這里對發送方和接收方的關聯性進行度量也使用了基于熵值的方法,因此也存在與熵方法同樣的局限性.

Fig.12 Relationship anonymity in mix network圖12 Mix 系統中的關系匿名性
文獻[33]提出一種基于矩陣積和式的度量方法,同時考慮匿名通信系統中所有傳入和傳出的消息,揭示匿名系統中發送者和接收者之間的整體通信模式.如圖13(a)所示的匿名通信系統中有4 條消息,它們來自輸入集合S={si}和輸出集合T={tj},表示這些消息在si時刻進入匿名網絡,在tj時刻離開.定義一張二分圖G(V1,V2,E),表示輸入消息和輸出消息的關聯,其中,V1=S,V2=T,E代表所有可能的(si,tj)映射的邊的集合.設定在這個實時匿名通信系統中,消息mi延遲是有最小時間和最大時間的邊界,表示為Δmin≤Δi≤Δmax,例如,Δmin=1,Δmax=4,對于任意的si和tj,只要滿足Δmin≤tj-si≤Δmax,就可以在二分圖中用一條邊來表示它們的關聯.例如:對于在s1時刻進入系統的消息,只有可能在t1或者t2時刻離開系統,因為t3和t4時刻不再滿足延遲時間邊界,從而就可以在二分圖中,相應地畫出邊,構造出的二分圖如圖13(b)所示.接下來,圖G可以用它的鄰接A來表示,其中,如果連接si和tj的邊存在于G中,則aij為1;不存在,則為0.進而將圖G表達成n×n的(0,1)鄰接矩陣A,n=|V1|=|V2|,如圖13(c)所示.

Fig.13 Combinatorial approach to measure relationship between inputs and outputs圖13 用矩陣積和式表示關聯性
假設在匿名系統中,輸入和輸出之間存在一對一的關系,即每個發送方和接收方只發送或接收一條消息.如果在G中只有一個兩兩完美匹配是可能的,那么一個全局攻擊者就可以唯一地識別輸入和輸出之間的關系,因此,系統提供的匿名性為0.當可能存在的完美匹配的數量增加時,攻擊者的不確定性也隨之增加.為了度量這種不確定性,需要對G中可能的完全匹配數進行計數,這相當于計算鄰接矩陣A的積和式per(A),即圖G中頂點集合{V1}與{V2}之間兩兩完美匹配的數量,與計算矩陣A的積和式per(A)是等價的.于是,關聯性問題的計算轉化成為對矩陣A積和式的計算問題.
攻擊者對每個通信關聯的估計概率是p(x)=1/Per(A),有研究者將匿名程度定義為公式(15):

對于一個n×n的(0,1)矩陣來說,根據給定的最小時間和最大時間Δmin≤Δi≤Δmax,矩陣的積和式的范圍1≤Per(A)≤n!.當系統中只有一對發送方、接收方時,存在最小值、最大值是一個全排列數為n!的完全匹配的情況.此時,A相當于一個全1 的方陣,矩陣的積和式為n!.
相比基于匿名集或基于熵的度量方法側重從單個用戶或單條消息的角度度量系統的匿名性,基于矩陣積和式的度量方法同時考慮了匿名通信系統中傳入的消息和傳出的消息,計算發送者和接收者之間的關聯所需要的信息量,從而提示匿名系統中發送者和接收者之間的整體通信模式,對系統匿名程度有補充表達的作用.文獻[34]指出:這種方法不能應對當系統的發送方和接收方進行通信的消息數超過1 條時的場景,應研究能夠滿足任意數量的消息的更通用的方法.
匿名度量的不同輸入因素,例如,匿名集合的大小、攻擊者的不同攻擊方法獲得的先驗知識、匿名系統各自不同的屬性特點,都對匿名度量的輸出有直接的影響.基于概率的度量方法輸出攻擊者成功的概率,作為衡量匿名度的指標.基于信息熵的度量方法輸出系統的不確定性作為衡量匿名度的指標,隨著匿名度量研究的發展,更多的指標被提出以用來衡量系統的匿名程度.
用攻擊者成功的概率來度量匿名,是站在攻擊者的角度看待匿名系統的評估,本文第1.3 節中提到的6 級匿名方法也可以歸于這一類中.對于輸出攻擊者成功概率或者輸出攻擊者在大量嘗試中成功的百分比[6]的度量,依賴于攻擊者的攻擊模型.需要考慮特定的攻擊者,即擁有更多資源或先驗知識的強大的攻擊者,也許能夠更成功地對匿名系統去匿名化.因此,能夠應對更強大的攻擊模型的匿名系統,可以提供更強的匿名保障.
在經典的Dolev-Yao 模型中,攻擊者可以竊聽、阻止和截獲所有經過網絡的消息;可以存儲所獲得或自身創造的消息;可以根據存儲的消息偽造并發送該消息;可以作為合法的主體參與協議的運行.在匿名通信環境下,攻擊者感興趣的是哪些通信正在發生、誰在發送消息、誰在接收消息、通信模式怎樣,甚至破壞和操縱通信.表5 從能力、視野、靈活性、參與性、先驗知識和資源這6 個方面給出了不同的攻擊者屬性,一個攻擊者可能同時具有多個屬性.攻擊者的目標、特征和知識是什么,這些都是度量可能需要考慮的因素.
根據不同的應用場景,成功有不同的定義方式.在匿名通信系統中,當攻擊者能夠識別消息的發送方或接收方時,當攻擊者從可能的通信目標中識別出若干個時,當攻擊者能夠使用節點、帶寬等給定數量的資源攻陷通信路徑時[35],都可以稱為成功.例如,在Tor 中,當攻擊者控制用戶洋蔥路由路徑上的所有中繼時,若發生路徑變節,則攻擊成功.
文獻[36]在一部分節點被攻陷的情況下,用條件概率、全概率公式討論在不同路徑選擇策略(固定長度路徑和可變長度路由)和不同路徑拓撲(簡單路徑無環路和復雜路徑有環路)的情況下,當敵人掌握一定信息量,利用攻擊者算法和消除規則,對發送方成功被識別的概率進行分析,如圖14 所示.得出的與直覺不同的結論是:隨著路徑長度的增大,發送方被發現的概率并不總是下降.這是因為,當路徑長度增大時,路徑中選擇到惡意節點的可能性也可能增加,攻擊者將獲得更多、更好的路徑相關信息,從而提高了識別的概率.

Table 5 Attacker propertities表5 攻擊者屬性

Fig.14 Adversary algorithm to identify sender圖14 攻擊者識別消息發送方算法
使用對手的成功概率來量化隱私的指標,表明了對手在任何一次嘗試中成功的可能性,或者他們在大量嘗試后成功的頻率.攻擊者成功概率的度量可以表示為公式(16):

當攻擊者做出有效識別的概率高于閾值τ時,攻擊成功.低成功率表示高匿名度.
專注于匿名通信技術的研究傾向于使用熵、不可區分性等指標,關注匿名技術的有效性.專注于匿名系統攻擊的研究工作傾向于使用基于時間、成功概率的指標,關注于敵手能否攻擊成功.正如我們之前在第2.7 節討論熵方法時提到的:當從更多角度去評估匿名系統時,會有更全面的結果.“攻擊”和“防御”視角都是合理的選擇,匿名系統抵制攻擊的能力也能反映出匿名程度的強弱.
博弈論方法適用于一個用戶的行為影響其他用戶匿名的場景,為了考慮這種相互之間匿名性的依賴關系,從博弈論角度度量一個用戶的行為對另一個用戶的匿名性所造成的后果是值得探討的方法.文獻[25]從博弈論角度研究匿名網絡設計者與攻擊者之間的相互作用,討論匿名性最大化問題,將優化匿名性問題描述為匿名系統設計者與攻擊者之間的零和博弈.攻擊者的目標是選擇系統中節點的一組子集進行監控,使得路由的匿名性最小化,匿名通信系統設計者的任務是通過選擇系統中節點的一組子集,生成獨立傳輸路由,以規避流量檢測,使得路由的匿名性最大化.
基于時間的度量側重于將時間作為攻擊者為了攻陷用戶的隱私需要花費的資源,隨著時間的推移,匿名通信系統提供的匿名性可能會降低[37].度量攻擊者成功之前的時間,是假設系統匿名性最終會失效,計算攻擊者被混淆無法正確追蹤之前的時間[38],是假設系統匿名性最終將得到保證.
最普遍的是度量攻擊者成功之前的時間.文獻[37]假設:對于擁有一組勾結節點的攻擊者,當一個特定的發起者持續地與一個特定的響應者通過路徑重組進行通信,并且攻擊者可以在傳輸的數據包中獲得能夠唯一標識重復連接的會話標識信息時,則匿名通信協議會受到攻擊從而降低匿名性.該文給出了Crowd、Onion Router、Mix-net、DC-net 這4 種匿名協議在面對所描述的攻擊時能夠保持匿名的時間上限,結果顯示:隨著時間的推移,足夠多的攻擊者能夠收集到足夠多的信息,因此攻擊者識別特定會話發起者的概率增加,從而破壞發送方匿名.
攻擊者的目標通常不僅僅是在某一時刻破壞隱私,而且是隨著時間的推移,跟蹤攻擊目標的位置.文獻[39]用最大跟蹤時間來衡量攻擊者的跟蹤能力,最大跟蹤時間定義為攻擊目標u的匿名集大小保持為1 的累計時間,見公式(17):

這個指標假定攻擊者必須完全確定,即匿名集的大小必須為1,才能成功.現實中,如果攻擊目標的匿名集中只有少量用戶,攻擊者也可能有能力繼續追蹤.
文獻[24]提出延遲攻擊,攻擊者可以利用Tor 中通過連接延遲泄露的信息,在多次重復連接后,推斷出客戶端的位置.最近的研究提出了Tempes 度量方法[40],證明隨著時間的推移,系統匿名性有可能顯著退化;并展示了客戶端移動性、使用模式和網絡拓撲結構隨時間的變化對Tor 匿名性的影響.延遲攻擊與Tempest 攻擊如果同時使用,將會增強攻擊者去匿名化匿名系統用戶的能力.
基于誤差的度量方法,輸出攻擊者在估計時所犯的錯誤的量化值.在統計參數估計中,使均方誤差最小化是共同的目標,作為匿名性的度量,均方誤差描述了攻擊者的觀測值y與真實結果x之間的誤差,表示為公式(18):

文獻[26]提出了一種基于最小二乘法的分析方法,該方法允許描述對手在用戶行為、匿名提供者行為和虛擬策略方面的分析誤差.針對特定mix 網絡的特定情況,論述了如何在給定如匿名性等隱私目標的情況下,使用性能分析來設計最優的策略以保護該目標.文獻[41]提出了網站指紋攻擊防御的安全界限,利用實踐中估計的誤差來評估所獲得的隱私保障.
源于數據隱私領域的差分隱私[42]保護技術,在匿名通信領域也可以找到應用.基于差分隱私表示匿名程度的方法輸出評估目標的不可區分性,例如攻擊者是否能夠區分消息的發送者或接收者,表示為公式(19):

如果一種隨機化算法A作用于兩個相鄰數據集D1和D2得到的結果O小于ε,則稱該隨機化算法滿足ε-差分隱私.Pr 表示隱私信息泄露的風險;不同的ε值表示不同的隱私保護強度,ε越小,隱私信息泄露的風險越低,隱私保護強度越高,匿名程度越高.
文獻[27]提出了基于差分隱私的嚴格形式化方法來量化Tor 面對結構攻擊時所能提供的匿名性,例如攻擊者能夠破壞Tor 節點,從而執行竊聽攻擊,以消除Tor 用戶的匿名性,為Tor 以及其他路徑選擇算法(例如DistribuTor、SelekTOR 和LASTor)建立了針對各種結構攻擊最壞情況時的匿名邊界,產生了第1 個嚴格的針對不同路徑選擇算法的匿名比較.其他,例如流量分析抵制系統Vuvuzela[43]和Stadium[44]、以保護用戶隱私為目標的Tor 網絡測量系統PrivCount[45],都采用了差分隱私的思想來精確證明系統的隱私保障.
匿名度量屬于隱私度量中針對匿名性問題的研究,一些隱私度量方法盡管起源于其他領域,也在匿名性度量中得到了應用,例如數據隱私[46,47]度量.以數據庫隱私領域為例,k匿名的概念與匿名通信領域中匿名集的語義相似,k匿名模型是數據隱私領域大多數匿名模型的基礎,通過保證數據表中任何一條記錄的準標識符都和至少k-1 條記錄相同,切斷準標識符值和敏感屬性值的一一對應關系[48].文獻[49]引入了發送方k匿名和接收方k匿名的概念,發送方k匿名保證攻擊者試圖確定消息的發送方時,只能將搜索范圍縮小到有k個用戶的組中;接收方k匿名與此類似,將可能的接收方縮小到大小為k的組中.k匿名的方法可以表示為公式(20):

當數據表中記錄的條目數或者通信系統中匿名集的大小滿足≥k的最小要求時,則保持匿名性,低于最小值( 文獻[50]基于貝葉斯推理進行匿名原始數據的推斷,通過比較構建原始數據二叉樹圖和推斷數據二叉樹圖之間的差異,來衡量信息泄露的風險.源于網絡通信領域的隱私度量方法也在其他隱私保護領域得到了應用,例如,文獻[51]以云數據為研究對象,討論了信息熵、集對理論、差分隱私等隱私保護度量方法. 形式化方法已經以不同程度和不同方式應用于計算系統生命周期的各個階段[52],使用形式化方法驗證身份認證相關的安全協議已成為標準實踐.隨著隱私保護得到越來越多的關注,隱私安全目標的形式化方法也變得不可或缺.我們選出7 篇高質量文獻[53-59],展示了針對或應用于洋蔥路由協議的形式化方法,并在表6 中突出體現了不同文獻在形式化的對象、具體方法等方面的區別.選擇這幾篇文獻是因為洋蔥路由協議作為成功的匿名通信協議,以Tor 系統的形式,被數以百萬的用戶用來保護他們的安全和隱私.與實用的設計相比,這一領域的理論研究相對年輕,針對其隱私屬性形式化分析方面的研究較為有限,相信未來會有更多的研究工作. Table 6 Comparsion of the formal methods for anonymity表6 匿名形式化方法比較 文獻[53]采用進程代數的方法,提出匿名性的形式化定義,通過分析洋蔥路由協議進行驗證,得出定性的結論,未進行定量的研究.文獻[54]從認知邏輯的角度,除了給出匿名性的定義外,還對不可關聯性進行了形式化定義,通過分析洋蔥路由和Crowd 協議進行了驗證.文獻[55]給出了洋蔥路由協議的IO 自動機模型,描述在可能定義下保證匿名性和不可鏈接性的情況.文獻[56]使用UC(universally composable)框架,提出了匿名通信黑盒模型,加入概率分析方法,抽象出洋蔥路由的基本屬性,量化敵手利用用戶的概率行為的知識來識別用戶所能獲得的收益.文獻[57]針對其他框架都不能對流量相關時序攻擊進行建模,提出了時間敏感的UC 框架TUC.該框架在異步通信模型中集成了時間概念,針對存在能夠發起與流量相關的定時攻擊的時間敏感攻擊者的場景,對所提供的匿名性進行嚴格的證明,并面向Tor 提出了一種新的網絡指紋攻擊防御策略.文獻[58]提出一個與UC 框架兼容的通用框架AnoA,用于定義、分析和量化匿名協議的匿名性,結合框架提出了基于差分隱私的發送方匿名、發送方不可關聯、接收方匿名和關系匿名等匿名概念;通過對Tor 網絡的實例分析,驗證了當前Tor 的固有缺陷;針被動攻擊模型,以定量的方法給出了匿名保證.文獻[59]在基于AnoA 通用框架的基礎上加以擴展,提出一個使用嚴格證明邊界來評估Tor 的匿名性的框架MATor,評估考慮到Tor 的實際路徑選擇算法、Tor 共識數據、用戶的偏好以及網絡狀態的影響,從而解決了實際部署Tor 的實時現實特征對用戶匿名性的影響. 匿名度量與匿名系統本身機制和攻擊模型有很大的關系,匿名機制自身的結構可能導致攻擊模型出現差異,而攻擊者采用的攻擊方式也可以導致匿名度量方式出現差異,因此,本節在分析匿名攻擊方式的基礎上分析和比較不同的匿名度量方法.由于Tor 是匿名通信網絡中實際上應用得最廣泛的研究平臺,本節主要以基于Onion Router/Tor 匿名系統面臨的去匿名化攻擊為背景,綜合文獻[1,2,4,24,60-62]介紹了匿名攻擊技術,并給出可用的分類,見表7. Table 7 Attack and defense on anonymous communication表7 匿名通信系統的攻擊和防御 表8 按照本文的階段劃分小結面向匿名通信系統的典型匿名度量的方法、主要特點和文獻信息.我們對攻擊技術和度量方法所做歸類的邊界并不是嚴格的,歸類并不意味著它不能用于其他領域,不同歸類中的攻擊方法和匿名度量方法可能會有交叉.以度量方法為例:相同的度量方法可能出現在不同的研究領域中,不同輸出的匿名度量結果也可能使用同樣的基本理論.例如,PrivCount[45]使用了差分隱私的度量方法,但它也是針對Tor 實際部署系統的度量.我們的歸類思路主要考慮從匿名技術設計的角度出發,基于該方法首次提出時面向的背景進行歸類整理. 表格中度量的通用性高中低的標注,根據該度量方法是否可以跨多個領域使用進行判斷.標注為High 的度量方法理論上可以在不同的研究隱私保護領域使用;標注為Medium 的度量方法在實用性和理論性之間獲取平衡;標注為Low 的度量方法盡管實用和有效,但僅依賴于特定匿名協議.表格中對每種度量方法標注的應用是根據提出該方法的文獻中面向的匿名系統或協議,該方法在其他研究中也可能有不同的應用. Table 8 Anonymity metrics summary表8 匿名度量方法 Table 8 Anonymity metrics summary (Continued)表8 匿名度量方法(續) 新的匿名通信系統的設計迅速發展,例如:抵制流量分析的Aqua[71]、Herd[72]、Loopix[65]系統;基于概率轉發路由的AnonPubSub[73]系統;針對審查抵制的Front-domain[74]、Marionette[75]、自由瀑布[76]系統;基于重加密的 cMix[77]系統;基于 Ad-hoc 和無線傳感網的匿名協議[78,79];將匿名作為網絡層基礎設施提供服務的HORNET[80]、TARANET[81]系統;面向未來軟件定義網絡(software defined networks,簡稱SDN)架構的匿名系統iTAP[82]、Mimic[83]系統;以及面向點對點短信應用的Vuvuzela[51]系統和匿名文件分享Riffle[84]系統等.隨著新的網絡匿名通信系統出現,能夠評估和比較系統向用戶提供的隱私變得越來越重要,匿名性的度量面臨新的挑戰. 6.1.1 基于熵度量應用于新興匿名系統 基于信息論的度量方法對匿名度量有重要的研究意義,并得到了廣泛的應用.隨著匿名系統的迅速發展,基于熵的方法也被用于度量新興匿名網絡的隱私安全目標,除了發送方匿名的安全目標外,也被用于測量匿名網絡中其他方面的不確定性,例如,路徑選擇的隨機性等,在未來的匿名度量研究中具有廣泛的應用前景. 文獻[64]面向延遲容忍網絡(delay tolerant network,簡稱DTN)場景,在分組洋蔥路由的基礎上提出多復本轉發方法.應用基本香農熵的方法,討論該文所提方案的安全性.由于分組洋蔥路由的特點,區別于原洋蔥路由方案,該文對分組洋蔥結構下路由選擇、發送方以及接收方被攻擊者推測出的概率進行計算,利用基本的信息熵,衡量了系統的路徑匿名度、發送方匿名度和接收方匿名度. 圖15 描述了分組洋蔥路由結構,發送方vs、接收方vd、洋蔥節點被分為{R1,R2,…,Rk}組,圖中k=3,每個分組中有g個洋蔥路由節點,ri,j是洋蔥組Ri中的第j個節點,轉發消息時,vs可以將消息發送到R1組中的任何節點r1,j,Ri-1組中的節點可以將消息轉發到Ri中的任何節點,最后一組的節點把消息轉發給vd. Fig.15 Group onion routing for delay tolerant networks圖15 面向延遲容忍網絡的分組洋蔥路由 針對DTN 的不穩定連接特性,多復本轉發方案可以保證消息的可到達率.將每一條消息復制為L個復本,從發送方離開,送給第1 組中的L個節點;然后,這L個節點發送給下一組中的L個節點.以此類推,直到接收方收到消息.在這種分組轉發協議下,分析得出基于熵的路徑匿名度的計算方法,見公式(21): 其中,n表示網絡中節點的數量,η表示兩個節點之間的跳數,g是每個洋蔥組中節點的數量,co是路徑上被攻擊者攻陷的節點數量. 文獻[65]提出的Loopix 低延遲匿名通信系統由客戶端、提供方和分層mix 節點構成,如圖16 所示.利用覆蓋流量和消息延遲,提供雙向的第三方發送方匿名、接收方匿名和不可觀察性匿名,通過生成客戶端覆蓋循環、客戶端覆蓋丟棄、mix 節點覆蓋循環這3 種覆蓋流量來抵制攻擊者的流量分析,并利用信息熵分析與計算系統中消息的熵在不同延時參數和不同流量率參數下的變化. Fig.16 Low latency anonymous communication system Loopix圖16 低延遲匿名通信系統Loopix Loopix 系統中,mix 節點接收和輸出的信息流建模為泊松過程,mix 中消息的平均數量滿足λ/μ泊松分布.攻擊者對mix 節點的輸入和輸出消息進行觀察,推斷mix 池中有k條消息,在任何消息離開之間,能觀察到又有l條消息到達mix,繼續推斷mix 池中混合了k+l條消息.然后,攻擊者嘗試通過對一條輸出消息m的觀察,來關聯mix 節點池中的k+l條消息,增量計算每條輸出消息的熵.用mix 節點輸出的消息與過去輸入消息之間關聯分布的熵Ht作為系統的匿名度量,通過l的大小、前一時刻消息的熵Ht-1以及自上次發送消息以來接收到的消息k的數量計算Ht的值,如公式(22): 區塊鏈作為解決數據隱私安全問題的重要手段,被越來越多的應用所使用[66].針對區塊鏈應用中的隱私保護問題,研究當前主流加密代幣使用的隱私保護策略,包括對發送方、接收方和內容進行匿名處理等環節.加密貨幣的每個用戶的行為都會影響其他用戶的匿名性,匿名程度是評估區塊鏈隱私安全目標的有效指標,信息熵評估應用于區塊鏈系統具有一定的應用前景. 6.1.2 Tor 實踐中的度量 Tor 項目組在匿名領域開展著前沿的研究工作,Tor 也是目前最流行和最大的已部署匿名網絡,由數千個志愿者運行的中繼和數百萬用戶組成.Tor Metrics 官網[85]可以查看到從公共Tor 網絡和Tor 項目基礎設施收集的統計數據,截止到2020 年11 月,Tor 隱藏服務站點超過20 萬,中繼節點超過7 千個,連接用戶數約400 萬.如果想更好地理解Tor 網絡對觀察或操作部分網絡的攻擊者提供了多少匿名性,需要數據來監視、理解和改進網絡,需要數據來檢測可能的審查事件或對網絡的攻擊.但是,隱私保護是Tor 網絡的目標,因此不容易與廣泛的數據收集相結合,在保護隱私的前提下,進行數據采集和匿名度量.針對實際部署匿名系統Tor 和針對Tor 的改進工作,也提出了不少新穎而有針對性的度量方法[67-69,86,87]. 文獻[35]對Tor 的路徑選擇算法進行了分析,包括當前使用的路徑選擇算法和提出的改進方案.分析的目的是找出在選擇Tor 節點構建匿名電路的方案中,哪一種更安全.該文基于從部署的Tor 網絡收集的數據模型,討論不同路由算法下的攻陷率,以反映系統的匿名性和性能.在惡意節點擁有100MB/s 帶寬資源預算的前提下,結果表明:盡管均勻路由選擇方案具有較高的熵值,但是當攻擊者擁有大量低帶寬惡意節點時,會導致80%的匿名路徑被破壞.帶寬加權路由選擇方案則具有較好的安全性,因為無論攻擊者如何分配資源,造成的破壞都不會超過匿名路徑的20%. Tor 的隱私目標,會使得常用的度量方法無效或產生隱私泄漏風險.文獻[45]提出PrivCount——一種以用戶隱私為主要目標的Tor 網絡測量系統,可以安全地聚合跨Tor 中繼節點的測量值,并隨著時間的推移產生不同的隱私輸出.為了提供Tor 用戶和流量的準確模型,PrivCount 對Tor 進行了有充分廣度和深度的測量.結果表明:針對給定時間內71 萬用戶連接,只有55 萬的活躍用戶,Web 流量占據Tor 的數據字節的91%;而且中繼節點連接策略的嚴格程度,顯著影響著它們所轉發的應用程序數據的類型. Tor Metrics 網站[76]可查詢到關于用戶、中繼節點、流量等可視化數據,可直觀了解Tor 網絡的情況,具體見表9. Table 9 View visualizations of statistics collected from the public Tor network and from Tor project infrastructure表9 Tor Metrics 提供可視化統計數據,數據從公共Tor 網絡和Tor 項目基礎設施收集 圖17 顯示了數據是如何通過Tor Metrics 提供的服務,收集、歸檔、分析和呈現給用戶的. Fig.17 How data is collected,archived,analyzed,and presented to users by Tor Metrics圖17 Tor Metric 對數據收集、歸檔、分析和呈現給用戶的過程 Tor 的中繼和橋收集關于其使用情況的匯總統計信息,例如每個國家的帶寬和連接的客戶端.源聚合用于保護Tor 用戶的隱私,因此IP 地址被丟棄,只報告從本地數據庫映射到國家IP 地址范圍的國家信息,這些統計數據定期發送給目錄管理機構.Concensus health 包含當前共識文件的統計信息和投票,以方便調試目錄共識過程.CollecTor 從目錄權威機構下載最新的服務器描述符、包含聚合統計信息的額外信息描述符和共識意見文檔,并將它們歸檔.這個歸檔文件是公共的,大多數服務使用metrics-lib 解析描述符,可以使用metrics-lib Java 庫解析歸檔文件的內容來執行數據分析.為了提供對存檔的歷史數據的可視化訪問,Tor Metrics 網站包含許多可定制的圖表,用于顯示用戶、流量、中繼、橋和應用程序下載等統計數據,這些統計數據在請求的時間段內,經過過濾,到達特定的國家.ExoneraTor 維護一個Tor 網絡內IP 地址的數據庫,回答在給定的IP 地址上是否有Tor 中繼在給定的日期運行的問題,ExoneraTor 可以為每個中繼存儲多個IP 地址,并且能夠存儲中繼是否允許將Tor流量傳輸到開放的Internet 的屬性.為了提供對公共Tor 網絡當前信息的方便訪問,Onionoo 通過HTTP 提供JSON 文檔,對于需要顯示中繼信息、歷史帶寬、正常運行時間和共識權重信息的應用程序可以使用該協議.中繼搜索就是這樣一個應用程序的例子,中繼操作人員、監視網絡健康狀況的人員和使用Tor 網絡的軟件開發人員都可以使用中繼搜索.另一個應用程序的例子是metrics-bot,它定期地向Twitter 等社交網絡發布快照,包括國家統計數據和繪制已知中繼的世界地圖. 6.2.1 匿名度量組合方法 近年來,匿名通信系統出現了一些新的技術,例如,規避審查的隱蔽接入技術[73]、利用SDN 構建匿名隧道[82]、組合ISP 服務構建匿名域[88]等.一個單獨的度量標準不可能涵蓋隱私的整個概念,因此,更完整的隱私評估可以考慮通過使用來自不同輸出類別的度量組合獲得.針對新興的匿名技術和未來的網絡環境,對匿名度量方法進行擴展和組合[89],以適應新的匿名通信系統,也是具有一定應用前景的研究方向. 對于采用組合方法提供匿名性保證的系統,度量方法也應該考慮組合的可能.歸一化是一種組合方法,例如歸一化熵、歸一化條件熵等,是用一種指標對另一種指標進行標準化.幾種指標的線性加權,按照各目標的重要性賦予相應的權系數,對其線性組合進行多目標優化求解,尋找度量的評價函數,也是一種組合方法.多個不同實體的相同度量值如何組合、同一個實體的不同度量值如何組合、經過組合的度量方法是否擴大了應用的范圍、是否能夠應用于新的系統,都是值得研究的問題.文獻[70]使用標準熵、猜測熵以及經驗度量這3 個匿名指標綜合評估系統的匿名性.經過組合的度量方法,如果能夠保留這些度量方法的優點,同時減少它們的缺點,就能形成新的有效的度量,從而應用于新的匿名系統. 6.2.2 通用度量模型和評估系統 在匿名的形式化研究工作中,提出了一些通用的匿名框架.文獻[63]比較了不同匿名框架,例如AnoA 框架、Hevia 框架、Bohli 框架、Gelernter 等的概念定義,提出了一個完整的層次結構,對概念進行了統一的定義和一致性研究.因為不同研究之間命名方式的差異、匿名性概念強弱的差異等,阻礙了對不同匿名目標的理解和比較,阻礙了匿名通信系統的比較和改進,這方面的工作也是本領域未來需要研究的方向. 匿名度量的目標是對匿名系統所能提供的匿名程度進行量化,度量的結果表明:系統在面對各種攻擊場景時,能為用戶提供多少匿名性,有助于匿名系統的對比,也可以為不同匿名需求下設計和改進匿名系統提供建議.量化方法的選擇與攻擊者的不同攻擊方法、與匿名系統各自不同的屬性特點有直接的關系.有的度量方法較為直觀,有些度量方法在概念上就較為困難.正是由于度量方法如此多樣和復雜,對它們的正確選擇和應用就極具挑戰性.匿名系統研究者難以找到合適的方法評估自己的創新研究,而系統評估研究者并不清楚匿名系統研究者面臨的困難.為了促進研究者選用合適的方法進行匿名系統的比較和改進,同時把這個問題暴露在從事信息系統評估的研究者面前,建立一個匿名系統的研究者和系統評估的研究者之間彼此了解的橋梁,逐步克服當前不同的匿名度量機制之間進行定量比較的困難等目標,本文對通信系統中匿名性度量的研究歷程和發展現狀進行了綜述.針對匿名通信系統,力圖梳理和構建出一個較為清晰的度量研究的概貌,并強調了度量在研究上的重要性,給進一步的研究提供一點參考.匿名度量研究開始的初期階段,形成了匿名性定義的共識,使用基于匿名集大小和基于概率分析的方法來度量匿名性.接著,信息論在匿名度量領域得到了廣泛應用,我們針對不同場景對基于信息論的熵度量方法進行了具體的分析和比較.隨著匿名度量研究的進一步發展,表達匿名程度的度量指標也越來越多樣,關聯性、時間和不可區分性等多種指標被提了出來,作為度量的輸出來衡量系統的匿名程度.從綜述可以看出,并沒有一種既實用又準確的匿名度量方法能夠滿足所有匿名通信系統的需要.近年來,網絡匿名通信系統得到了迅速的發展,匿名度量有助于增強數字世界中用戶的隱私保護.信息熵等已有的成熟度量方法在新興匿名系統中的應用,現實中已經廣泛部署的匿名通信系統的匿名性度量,以及通過對度量方法的擴展或組合形成新的度量方法以適應特定新場景的匿名需求,都是有應用前景的研究方向.由于匿名目標的具體定義往往針對特定的用例而特別加以創建,命名和形式化通常是不兼容、不一致的,使得不同匿名度量機制之間的定量比較具有一定的難度,也阻礙了匿名系統的比較和改進.因此,對匿名系統、攻擊模型和度量方法這3 個方面進行統一的模型抽象,未來值得進一步研究與探索.4.7 基于形式化的可證明性度量

5 分析與比較



6 挑戰和發展
6.1 基于具體系統的具體挑戰






6.2 發 展
7 結論