亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        對(duì)一種混合結(jié)構(gòu)洋蔥路由方案的密碼學(xué)分析

        2013-09-18 02:41:34李龍海付少鋒蘇銳丹車向泉
        通信學(xué)報(bào) 2013年4期

        李龍海,付少鋒,蘇銳丹,車向泉

        (西安電子科技大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710071)

        1 引言

        隨著 Internet應(yīng)用范圍的不斷擴(kuò)大和信息量的爆炸性增長(zhǎng),對(duì)用戶隱私性的保護(hù)已經(jīng)成為一個(gè)至關(guān)重要的問(wèn)題。在很多應(yīng)用中,隱私不僅意味著通信內(nèi)容的秘密性,而且意味著不能泄漏“誰(shuí)和誰(shuí)”、“在什么時(shí)間”、“通信量大小”等通信上下文信息。匿名通信技術(shù)主要研究如何隱藏消息發(fā)送者和接收者的身份以及通信雙方的對(duì)應(yīng)關(guān)系,即如何實(shí)現(xiàn)發(fā)送者匿名性、接收者匿名性和不可關(guān)聯(lián)性。該技術(shù)被廣泛應(yīng)用在匿名電子郵件、匿名Web瀏覽、電子商務(wù)、電子選舉等對(duì)隱私保護(hù)要求較高的Internet應(yīng)用系統(tǒng)中。

        匿名通信技術(shù)的研究可以追溯到 1981年Chaum發(fā)表的開創(chuàng)性論文[1],其中,提出了混合網(wǎng)絡(luò)(Mix-net)的概念。目前已提出的大多數(shù)匿名通信系統(tǒng)都是基于 Mix-net思想設(shè)計(jì)的。一個(gè) Mix-net包含若干個(gè)Mix服務(wù)器。發(fā)送者的消息首先被多層加密形成類似于“洋蔥”的結(jié)構(gòu),然后經(jīng)過(guò)多個(gè)Mix服務(wù)器的轉(zhuǎn)發(fā)傳遞給接收者。每個(gè)Mix服務(wù)器對(duì)收到的報(bào)文進(jìn)行單層解密并轉(zhuǎn)發(fā)給下一個(gè)Mix服務(wù)器。接收者最終獲得消息的明文。根據(jù)轉(zhuǎn)發(fā)路徑構(gòu)成方式的不同,Mix-net可以分為固定路由和自由路由2種。自由路由式Mix-net中的發(fā)送者隨機(jī)選取若干個(gè)Mix服務(wù)器構(gòu)成轉(zhuǎn)發(fā)路徑,并將這些服務(wù)器的網(wǎng)絡(luò)地址依次封裝在洋蔥報(bào)文的各個(gè)層中,最內(nèi)層是接收者的地址和消息明文。發(fā)送者首先將報(bào)文發(fā)送給第一個(gè)Mix服務(wù)器。該服務(wù)器對(duì)收到的報(bào)文進(jìn)行單層解密之后即可獲得第二個(gè)Mix服務(wù)器的網(wǎng)絡(luò)地址,并繼續(xù)將解密后的報(bào)文發(fā)送給下一個(gè)服務(wù)器。依此類推,直至最終的接收者。該轉(zhuǎn)發(fā)過(guò)程類似于剝洋蔥的過(guò)程,因此也被稱為“洋蔥路由”系統(tǒng)。其中,每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)僅知道自己上一跳和下一跳的地址。只要轉(zhuǎn)發(fā)路徑中有一個(gè)以上的節(jié)點(diǎn)是誠(chéng)實(shí)的(不泄露自己上一跳和下一跳的地址),攻擊者就無(wú)法將所截獲消息的發(fā)送者和接收者關(guān)聯(lián)到一起。

        重放攻擊是一種針對(duì)洋蔥路由系統(tǒng)的十分有效的攻擊。攻擊者將截獲的洋蔥報(bào)文復(fù)制多次發(fā)送給目標(biāo)Mix服務(wù)器,則在該服務(wù)器的某個(gè)輸出鏈路上必然出現(xiàn)多個(gè)內(nèi)容重復(fù)的報(bào)文。攻擊者由此可追蹤該報(bào)文的流動(dòng)方向,直至接收者。早期的洋蔥路由系統(tǒng)一般采用檢查重復(fù)輸入并丟棄的方法對(duì)抗重放攻擊[2],其缺點(diǎn)是需要緩存大量的歷史數(shù)據(jù),并且每個(gè)輸入都要與緩存數(shù)據(jù)比對(duì),造成報(bào)文處理時(shí)間的逐漸增長(zhǎng)。另外一些系統(tǒng)采用了定期更換密鑰[3]、加入時(shí)間戳[4]等方法,但分別存在密鑰管理復(fù)雜、需要嚴(yán)格時(shí)間同步等問(wèn)題。2004年Gomulkiewicz等提出了一種新型的基于通用重加密(URE, universal re-encryption)算法[5]的洋蔥路由方案URE-Onion[6]。URE-Onion服務(wù)器對(duì)收到的報(bào)文除了進(jìn)行部分解密,還要實(shí)施隨機(jī)化重加密。該方法能夠保證重復(fù)的報(bào)文輸入同一Mix服務(wù)器之后輸出也是不同的,使得攻擊者無(wú)法繼續(xù)追蹤下去,因此不再需要緩存歷史記錄。但不久Danezis等提出了一種針對(duì) URE-Onion的繞路攻擊(detour attack)[7]表明該方案存在嚴(yán)重安全漏洞。隨后Klonowski等對(duì)URE-Onion進(jìn)行了改進(jìn)[8],利用為每個(gè)服務(wù)器分配雙重密鑰的方法阻止攻擊者隨意修改轉(zhuǎn)發(fā)路徑,使其無(wú)法實(shí)施繞路攻擊。然而,Borisov等在文獻(xiàn)[9, 10]中又給出了針對(duì)URE-Onion改進(jìn)方案的多種攻擊,并分別提出了基于上下文敏感加密(context sensitive encryption)和基于標(biāo)簽加密(tag-based encryption)的2種改進(jìn)方法。陸天波等也指出了基本的通用重加密算法對(duì)于選擇密文攻擊的脆弱性,并設(shè)計(jì)了基于ElGamal算法重加密特性的匿名系統(tǒng)WGRe[11]。

        URE-Onion及其多種改進(jìn)方案雖然能夠抵御重放攻擊,但由于完全基于非對(duì)稱加密算法,效率都很低。如果匿名轉(zhuǎn)發(fā)路徑長(zhǎng)度為λ,則每個(gè)服務(wù)器收到報(bào)文之后都要進(jìn)行 O(λ)次大素?cái)?shù)群上的指數(shù)運(yùn)算,并且長(zhǎng)度為O(λ)的報(bào)文中只有1/λ被真正用于加密用戶消息,而其他的部分都被用來(lái)加密路由信息。針對(duì)上述缺點(diǎn),時(shí)金橋等[12]設(shè)計(jì)了一種混合結(jié)構(gòu)洋蔥報(bào)文機(jī)制 HS-Onion。該設(shè)計(jì)僅用 URE算法加密路由信息部分,而消息正文部分采用更高效的對(duì)稱加密算法加密,因此在傳送長(zhǎng)消息時(shí)具有很大的優(yōu)勢(shì)。該方案的另一個(gè)創(chuàng)新點(diǎn)是采用了2種代數(shù)結(jié)構(gòu)不同的公鑰加密算法對(duì)路由信息部分進(jìn)行雙層加密,以實(shí)現(xiàn)對(duì)報(bào)文的完整性保護(hù)進(jìn)而防止攻擊者修改路由并實(shí)施繞路攻擊。

        本文發(fā)現(xiàn)時(shí)金橋等提出的洋蔥路由方案[12]存在的安全漏洞,主要表現(xiàn)在報(bào)文結(jié)構(gòu)具有可展性(malleability),攻擊者可以改變洋蔥消息的路由或在其中嵌入標(biāo)簽以追蹤消息路由。由于沒(méi)有對(duì)惡意行為的調(diào)查機(jī)制,Mix服務(wù)器很容易被攻擊者用作解密預(yù)言機(jī)(decryption oracle)以獲取有利信息。本文展示了基于這些安全漏洞的 3種不同的攻擊方法,這些攻擊都能夠?qū)⑾⒌陌l(fā)送者和接收者以不可忽略的概率關(guān)聯(lián)到一起。最后本文給出了針對(duì)原方案的修正方法,并對(duì)修正后系統(tǒng)的安全性和效率進(jìn)行了討論。

        2 HS-Onion方案回顧

        2.1 通用重加密算法

        ElGamal算法是一種具有同態(tài)特性的概率性公鑰加密算法。在已知接收者公鑰的條件下任何人都可以對(duì)ElGamal密文進(jìn)行重加密(re-encryption),重加密得到的密文與原密文對(duì)應(yīng)相同的明文。在不知道私鑰的情況下,攻擊者能夠?qū)⒅丶用芮昂蟮?個(gè)密文匹配到一起的難度等同于解 Diffie-Hellman Decision問(wèn)題。

        通用重加密算法(URE)[5]是對(duì) ElGamal算法的改進(jìn)。在不知道接收者公鑰的情況下,URE密文也可以被重加密。該算法的詳細(xì)描述如下。

        系統(tǒng)建立 構(gòu)造q階循環(huán)群G,滿足q為素?cái)?shù),且在群G上離散對(duì)數(shù)及Diffie-Hellman Decision問(wèn)題難解。隨機(jī)選取G的一個(gè)生成元g。最后將G和g作為公共參數(shù)向所有用戶公布。

        密鑰生成 Alice任取 x ∈Zq作為其私鑰,計(jì)算y = gx作為其公鑰。

        加密 設(shè)明文為m,為構(gòu)造針對(duì)Alice的密文,Bob任取 k0,k1∈Zq,然后計(jì)算四元組作為輸出。

        下文中用符號(hào)UREx(m)表示關(guān)于消息m的URE密文,解密密鑰為x。由于URE是概率性加密算法,所以UREx(m)實(shí)際表示對(duì)應(yīng)m的密文集合中的某一個(gè)成員。

        可以用多個(gè)用戶的公鑰對(duì)同一消息 m進(jìn)行多層URE加密。令xi表示用戶Si的私鑰,yi為對(duì)應(yīng)的公鑰,則表示密文。

        顯然,經(jīng)過(guò)S1部分解密后得到的密文可表示為

        2.2 URE-Onion方案

        基于URE的洋蔥路由方案[6,8]主要利用了URE的2個(gè)特性:1)在不知道接收者公鑰的情況下也可以對(duì)URE密文進(jìn)行重加密;2)可利用多個(gè)接收者的公鑰對(duì)同一消息m進(jìn)行多層加密,每個(gè)接收者可以對(duì)密文進(jìn)行部分解密以去除相應(yīng)的加密層(類似于剝洋蔥)。這些方案的基本思想為:設(shè)接收者為Sλ+1,匿名消息發(fā)送者首先構(gòu)造一條到達(dá)目的主機(jī)的匿名路徑其中,為中間Mix服務(wù)器。發(fā)送者構(gòu)造如下格式的洋蔥報(bào)文:該報(bào)文由 λ+1個(gè)URE密文塊組成,前λ塊保存了路由信息,最后一塊保存了消息m。發(fā)送者將這λ+1個(gè)密文塊的順序隨機(jī)打亂,然后發(fā)送給 S1。匿名路徑上第個(gè)服務(wù)器Sj收到報(bào)文后進(jìn)行如下操作。

        1) 部分解密。利用自己的私鑰xj將報(bào)文中每一個(gè)密文塊進(jìn)行部分解密,正常情況下必有一個(gè)密文塊解密結(jié)果為可識(shí)別的Mix服務(wù)器地址Sj+1,即Sj的下一跳路由地址。該密文塊在下一步被重加密之前被Sj替換成隨機(jī)數(shù)。

        2) 重加密。Sj生成新的隨機(jī)因子并對(duì)報(bào)文中的每個(gè)密文塊進(jìn)行重加密,最后將重加密結(jié)果發(fā)送給Sj+1。

        以為S1例,S1對(duì)輸入報(bào)文解密后獲得下一跳路由地址S2,再進(jìn)行隨機(jī)數(shù)替換和重加密操作獲得輸出報(bào)文 :該報(bào)文經(jīng)過(guò)的處理和轉(zhuǎn)發(fā)最后到達(dá)接收者Sλ+1時(shí)具有如下格式:{random, random, …, random, U RExλ+1(m)}。Sλ+1利用私鑰xλ+1將各個(gè)密文塊解密,只有最后一塊解密結(jié)果為消息m,其他為⊥。

        在上述URE-Onion方案中,每個(gè)中間Mix服務(wù)器僅知道自己的上一跳和下一跳的地址,只要轉(zhuǎn)發(fā)路徑中有一個(gè)以上的節(jié)點(diǎn)是誠(chéng)實(shí)的,就可以實(shí)現(xiàn)發(fā)送者和接收者之間的不可關(guān)聯(lián)性。由于 Sj每次都生成新的隨機(jī)因子對(duì)報(bào)文進(jìn)行URE重加密,之后再輸出,因此相同的報(bào)文輸入同一服務(wù)器之后的輸出也是不同的。這是該方案能抵御重放攻擊的關(guān)鍵所在。

        2.3 HS-Onion方案

        2.3.1 符號(hào)與假設(shè)

        由于URE-Onion方案存在效率和安全性問(wèn)題,文獻(xiàn)[12]提出了基于混合結(jié)構(gòu)報(bào)文的改進(jìn)方案HS-Onion。其主要?jiǎng)?chuàng)新點(diǎn)是在報(bào)文格式設(shè)計(jì)上引入對(duì)稱加密機(jī)制,提高了報(bào)文處理效率,并且在不同密文塊之間引入鏈?zhǔn)郊用?,使得攻擊者無(wú)法隨意篡改密文塊,因此避免了針對(duì)原方案的繞路攻擊[7]。現(xiàn)將該方案所定義的相關(guān)符號(hào)及攻擊者模型總結(jié)如下。

        相關(guān)符號(hào) HS-Onion系統(tǒng)由N個(gè)Mix服務(wù)器構(gòu)成,分別用符號(hào)S0, S1,…,SN-1表示。每臺(tái)服務(wù)器既充當(dāng)用戶,又為其他節(jié)點(diǎn)提供匿名轉(zhuǎn)發(fā)服務(wù)。任意服務(wù)器 Si生成 2 對(duì)密鑰—(yi, xi)和(yi′,xi′),并發(fā)布公鑰部分。其中, yi= gxi為URE公鑰, yi′為另一種具有CCA安全性的非對(duì)稱加密算法E的公鑰。Ex′(m )表示利用該非對(duì)稱加密算法對(duì)消息 m加密所生成的密文,解密密鑰為x′。H表示一個(gè)偽隨機(jī)數(shù)生成器,以輸入?yún)?shù)r為種子生成偽隨機(jī)數(shù)H(r)。ek(m)表示利用對(duì)稱加密算法對(duì) m加密所生成的密文,解密密鑰為k。tag和tag′為2個(gè)約定好的標(biāo)記字符串,如果Mix服務(wù)器對(duì)某個(gè)密文塊的解密結(jié)果以tag或tag′作為前綴,則表明該密文塊解密成功。

        攻擊者模型 HS-Onion方案假設(shè)攻擊者能夠監(jiān)聽所有網(wǎng)絡(luò)鏈路并且能夠控制部分Mix服務(wù)器,即采用了全局攻擊者模型。

        2.3.2 HS-Onion機(jī)制描述

        設(shè)匿名消息發(fā)送者為S0,接收者為Sλ+1。發(fā)送者從Mix服務(wù)器集合中任選λ個(gè)構(gòu)成匿名轉(zhuǎn)發(fā)路徑中的節(jié)點(diǎn),不妨設(shè)這些節(jié)點(diǎn)為。

        洋蔥報(bào)文結(jié)構(gòu) 為匿名發(fā)送消息 m,S0構(gòu)造一個(gè)包含λ+3個(gè)密文塊的洋蔥報(bào)文P。為方便表示,定義函數(shù)其中,為S0選取的長(zhǎng)度合適的隨機(jī)數(shù)。當(dāng)s=t時(shí),定義。報(bào)文P的具體格式如下:

        該報(bào)文中前λ塊用于加密路由信息,第λ+1塊包含了對(duì)稱加密密鑰k,第λ+3塊包含了用密鑰k加密的消息m。第λ+2塊的作用見(jiàn)下面“路由協(xié)議”的5)。

        路由協(xié)議 S0將上述報(bào)文的前λ+1塊的順序打亂,然后發(fā)送給 S1。匿名路徑上第個(gè)服務(wù)器Sj收到報(bào)文后進(jìn)行如下操作。

        1) 利用私鑰xj對(duì)前λ+2塊密文進(jìn)行部分解密,正常情況下會(huì)從其中的一個(gè)密文塊中得到稱該塊為屬于服務(wù)器Sj的密文塊Bj。

        2) 利用私鑰 x ′j解密獲得下一跳路由地址Sj+1及隨機(jī)數(shù)Rj。

        3) 用Rj作為解密密鑰對(duì)除Bj之外的前λ+2塊密文進(jìn)行部分解密。

        4) 隨機(jī)生成種子rj,計(jì)算偽隨機(jī)串H(rj)并與第λ+ 3 塊進(jìn)行異或,因此,最后一個(gè)密文塊等于

        6) 將前λ+2塊密文進(jìn)行重加密。

        7) 將前λ+1個(gè)密文塊的順序隨機(jī)打亂,最后將報(bào)文發(fā)送給下一跳Mix服務(wù)器Sj+1。

        接收者的處理 Sλ+1收到報(bào)文之后用私鑰xλ+1對(duì)前λ+1塊密文進(jìn)行解密,正常情況下會(huì)從其中的一個(gè)塊中得到,從其他塊中得到 λ個(gè)隨機(jī)種子用x′j解密Ex′λ+1( k )獲得對(duì)稱密鑰k。利用k及很容易對(duì)最后一個(gè)密文塊進(jìn)行解密獲得消息m。

        本節(jié)將首先描述HS-Onion方案的2個(gè)主要安全漏洞,然后展示基于這些漏洞的4種攻擊方法。其中,解密預(yù)言機(jī)攻擊用作其他攻擊的基本手段,而另外3種攻擊的目標(biāo)是破壞HS-Onion的基本安全屬性——通信雙方的不可關(guān)聯(lián)性,即以不可忽略的概率將所截獲報(bào)文的發(fā)送者和接收者匹配到一起。

        3.1 HS-Onion的安全漏洞

        下面所展示的攻擊主要利用了 HS-Onion方案的2個(gè)安全性漏洞。

        1) 報(bào)文中包含路由信息的URE密文塊具有可展性。攻擊者在不知道明文m和私鑰x的情況下,可以利用生成關(guān)于消息m′的有效密文,即令實(shí)際上,2.3.2節(jié)HS-Onion路由協(xié)議的5)也利用了該特性。同理,攻擊者還可以由生成密文UREx(Rm)=,其中,R為攻擊者者選定的值。攻擊者可以利用該特性在報(bào)文中嵌入標(biāo)簽以追蹤報(bào)文的路由。

        2) HS-Onion的Mix服務(wù)器對(duì)輸入報(bào)文進(jìn)行解密之前沒(méi)有對(duì)其效性做任何驗(yàn)證,并且解密結(jié)束后發(fā)現(xiàn)非法報(bào)文也沒(méi)有相應(yīng)的反向追蹤機(jī)制,因此,誠(chéng)實(shí)服務(wù)器很容易被攻擊者用作解密預(yù)言機(jī)以獲取有利信息。

        3 對(duì)HS-Onion的攻擊

        3.2 解密預(yù)言機(jī)

        假設(shè)惡意服務(wù)器 Sa截獲到的報(bào)文中含有密文URExb(m′),則Sa可以通過(guò)如下攻擊方法把誠(chéng)實(shí)服務(wù)器Sb用作解密預(yù)言機(jī),將解密獲得m′。

        Step1 Sa任取隨機(jī)數(shù)R′,并用作為公鑰對(duì) U RExb(m′)進(jìn)行加密,即將其轉(zhuǎn)化為密文,其中,xa為Sa的私鑰。

        Step2 Sa任取隨機(jī)數(shù)并構(gòu)造包含 λ+3個(gè)塊的報(bào)文,最后,Sa將該報(bào)文發(fā)送給Sb。

        Step3 根據(jù)HS-Onion路由協(xié)議,Sb接收到該報(bào)文之后首先用私鑰xb對(duì)其進(jìn)行解密,則必然從第一塊中得到,再用 xb′解密后得到下一跳路由地址Sa和隨機(jī)數(shù)R′。之后Sb按照2.3.2節(jié)協(xié)議規(guī)定步驟對(duì)該報(bào)文進(jìn)行處理,并將處理后的報(bào)文重新發(fā)回給Sa。當(dāng)然,為了避免Sb的懷疑也可以通過(guò)修改報(bào)文下一跳地址令Sb將報(bào)文發(fā)往Sa的同謀者。

        Step4 上述報(bào)文回到服務(wù)器Sa時(shí)具有如下格式:(前λ+1個(gè)密文塊的順序可能是被打亂的)。Sa利用私鑰 xa對(duì)前 λ+1塊密文進(jìn)行解密可得到即便這些解密結(jié)果的順序是隨機(jī)的,Sa也能從中識(shí)別出m′,因?yàn)槎?/p>

        是Sa已知的值。

        3.3 數(shù)據(jù)指紋追蹤攻擊

        3.3.1 前提條件

        實(shí)施“數(shù)據(jù)指紋追蹤攻擊”要求攻擊者能夠監(jiān)聽系統(tǒng)的所有鏈路,并且控制了匿名轉(zhuǎn)發(fā)路徑中的最后一個(gè)節(jié)點(diǎn)。HS-Onion定義的全局攻擊者模型完全可以滿足這些條件。

        另外,對(duì)于基于 Internet的匿名通信系統(tǒng),要求攻擊者能監(jiān)聽系統(tǒng)所有鏈路是很難滿足的,因此,一般采用更實(shí)際的局部攻擊者模型,即假定攻擊者能夠控制系統(tǒng)的部分服務(wù)器,并且只能夠監(jiān)聽惡意服務(wù)器自己的輸入和輸出鏈路。如果采用局部攻擊者模型,“數(shù)據(jù)指紋追蹤攻擊”則要求攻擊者能夠控制匿名轉(zhuǎn)發(fā)路徑中的第一個(gè)和最后一個(gè)節(jié)點(diǎn)。

        3.3.2 攻擊過(guò)程

        該攻擊的基本思想是攻擊者記錄每個(gè)發(fā)送者輸出報(bào)文的數(shù)據(jù)指紋(因?yàn)楣粽呖梢员O(jiān)聽網(wǎng)絡(luò)的所有鏈路),然后由匿名轉(zhuǎn)發(fā)路徑中的最后一個(gè)節(jié)點(diǎn)利用協(xié)議漏洞提取每個(gè)轉(zhuǎn)發(fā)報(bào)文的指紋,如果發(fā)現(xiàn)與此前記錄的某個(gè)指紋相等,那么就能將發(fā)送者和接收者匹配到一起。

        設(shè)發(fā)送者為S0,接收者為Sλ+1,匿名轉(zhuǎn)發(fā)路徑由節(jié)點(diǎn)為構(gòu)成且Sλ為惡意服務(wù)器。S0構(gòu)造關(guān)于消息m的報(bào)文P,其格式如式(1)所示,然后發(fā)送給S1。攻擊者利用如下的攻擊過(guò)程將發(fā)送者S0、接收者Sλ+1和報(bào)文P關(guān)聯(lián)到一起。

        Step1 攻擊者計(jì)算報(bào)文 P的最后一個(gè)密文塊ek(m)的數(shù)據(jù)指紋,即散列值 SHA1(ek(m)),并記錄二元組(S0, SHA1(ek(m)))。

        上述記錄報(bào)文指紋的工作也可由惡意節(jié)點(diǎn) S1完成。值得注意的是,S1此時(shí)無(wú)法確定自己是否為第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),因?yàn)槠淝膀?qū)S0既可能是源節(jié)點(diǎn)也可能是中間轉(zhuǎn)發(fā)節(jié)點(diǎn)。直到攻擊完成時(shí),尾節(jié)點(diǎn)Sλ獲得路徑相關(guān)信息才能驗(yàn)證S1是否為首節(jié)點(diǎn)。

        Step2 攻擊者控制的惡意服務(wù)器Sλ每接收到一個(gè)報(bào)文P′,首先按照原協(xié)議規(guī)定對(duì)其解密獲得下一跳服務(wù)器地址Sλ+1,然后判斷自己是否為匿名路徑的最后一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),具體采取的方法是將Sλ+1用作解密預(yù)言機(jī)將報(bào)文中第λ+2塊密文進(jìn)行解密。如果解密結(jié)果為1,則證明自己為路徑尾節(jié)點(diǎn)。

        下面解釋這樣做的原因。根據(jù) HS-Onion路由協(xié)議,如果Sλ是關(guān)于報(bào)文P′的最后一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),則P′經(jīng)過(guò)Sλ處理之后必然具有如下形式:

        因此,如果第λ+2塊密文URExλ+1(1)解密為1,則Sλ必為最后一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)。

        Step3 如果發(fā)現(xiàn)自己是最后一個(gè)節(jié)點(diǎn),則Sλ利用Sλ+1的解密預(yù)言機(jī)服務(wù)將式(2)所示報(bào)文的前λ+1個(gè)密文解密,獲得由隨機(jī)種子r1, r2,…,rλ和密文很容易計(jì)算出ek(m)及指紋SHA1(ek(m))。

        Step4 Sλ從Step1中記錄的二元組集合中找到(S0, SHA1(ek(m)))就可以將報(bào)文P、P′以及發(fā)送者S0、接收者1λS+關(guān)聯(lián)到一起。λS在Step3中得到了λ個(gè)tag′的事實(shí)也說(shuō)明S0與λS之間的路徑長(zhǎng)度為λ,并且S1確實(shí)為第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)。

        3.3.3 分析

        設(shè)構(gòu)成系統(tǒng)的N個(gè)Mix服務(wù)器中被攻擊者控制的惡意服務(wù)器所占百分比為δ,并且構(gòu)成轉(zhuǎn)發(fā)路徑的節(jié)點(diǎn)是發(fā)送者從全體服務(wù)器集合中隨機(jī)選取的,那么在全局攻擊者模型下,上述攻擊能夠成功匹配發(fā)送者和接收者的概率為δ。在局部攻擊者模型下,該攻擊要求轉(zhuǎn)發(fā)路徑的首節(jié)點(diǎn)和尾節(jié)點(diǎn)都是惡意的,因此,攻擊成功的概率為2δ。

        3.4 標(biāo)簽追蹤攻擊

        3.4.1 前提條件

        實(shí)施“標(biāo)簽追蹤攻擊”要求攻擊者能夠控制匿名轉(zhuǎn)發(fā)路徑的第一個(gè)節(jié)點(diǎn)和最后一個(gè)節(jié)點(diǎn)。該攻擊在全局攻擊者模型和局部攻擊者模型下都適用。

        3.4.2 攻擊過(guò)程

        標(biāo)簽追蹤攻擊的基本思想是由處于匿名轉(zhuǎn)發(fā)路徑上游的惡意節(jié)點(diǎn)Sa利用URE算法的可展性在報(bào)文中嵌入“標(biāo)簽”。處于下游的另一惡意節(jié)點(diǎn) Sb如果在收到的報(bào)文中發(fā)現(xiàn)了相同的標(biāo)簽則可以判斷自己與Sa處于同一轉(zhuǎn)發(fā)路徑。如果Sa、Sb恰為該路徑的首尾節(jié)點(diǎn),則該攻擊成功地將發(fā)送者和接收者匹配到一起。

        設(shè)發(fā)送者為S0,接收者為1λS+,匿名轉(zhuǎn)發(fā)路徑由S1, S2,…,λS構(gòu)成,且S1、λS為惡意服務(wù)器。S0將消息m包裝成洋蔥報(bào)文P,然后發(fā)送給S1,P的格式如式(1)所示。基于上述假設(shè),標(biāo)簽追蹤攻擊的具體攻擊過(guò)程如下。

        Step1 S1接收到報(bào)文 P后,首先按原協(xié)議規(guī)定對(duì)其進(jìn)行解密和再加密,獲得下一跳路由地址S2及如下格式的報(bào)文P′:

        其中,前λ+1塊密文的順序是隨機(jī)的。S1從P′的前λ+ 1 個(gè)密文中除外)任取一塊,不妨設(shè)該塊為并在其中嵌入能唯一標(biāo)識(shí)S1的標(biāo)簽θ1∈G,即將其替換為。之后,S1將加入標(biāo)簽的報(bào)文發(fā)送給S2。

        Step2 惡意服務(wù)器Sλ每接收到一個(gè)報(bào)文P′,首先用私鑰xλ進(jìn)行解密,如果在前λ+1個(gè)密文中發(fā)現(xiàn)某個(gè)解密結(jié)果具有形式則可以認(rèn)定自己與上游的S1處于同一轉(zhuǎn)發(fā)路徑。

        在上述攻擊中,雖然S1、Sλ還需借助其他手段確定自己是否為首尾節(jié)點(diǎn),但處于S1與Sλ之間的其他Mix服務(wù)器的路由隱藏作用被完全抵消,這為關(guān)聯(lián)發(fā)送者和接收者提供了幫助。

        3.4.3 分析

        在Step1中,S1從報(bào)文P′中任取了一個(gè)密文塊并猜測(cè)該塊是關(guān)于某個(gè)下游惡意節(jié)點(diǎn)的路由信息塊。如果猜測(cè)失敗,則該報(bào)文到達(dá)某個(gè)誠(chéng)實(shí)節(jié)點(diǎn)時(shí)會(huì)被解釋為非法報(bào)文而丟棄,但 HS-Onion并沒(méi)有反向追蹤機(jī)制,S1不用擔(dān)心受到懲罰。因此,為了提高成功率,S1可以將P′復(fù)制λ份,然后在每一份中任取一個(gè)不同的密文塊嵌入標(biāo)簽,并將這些復(fù)制報(bào)文都發(fā)送給下一個(gè)服務(wù)器。處于下游的惡意節(jié)點(diǎn)識(shí)別出標(biāo)簽后,還可以繼續(xù)嵌入自己的標(biāo)簽,以方便更下游的惡意節(jié)點(diǎn)識(shí)別。以此類推,報(bào)文P轉(zhuǎn)發(fā)路徑上的多個(gè)惡意節(jié)點(diǎn)可以利用標(biāo)簽追蹤攻擊確定它們?cè)诼窂街械南鄬?duì)位置和上下游關(guān)系。下面的定理給出了系統(tǒng)中所有節(jié)點(diǎn)協(xié)作,并利用這種更復(fù)雜的標(biāo)簽追蹤攻擊能準(zhǔn)確關(guān)聯(lián)特定消息發(fā)送者和接收者的概率。

        定理1 假設(shè)Sa、Sb利用標(biāo)簽追蹤攻擊確定它們分別為同一路徑中最上游和最下游的惡意節(jié)點(diǎn),系統(tǒng)中惡意節(jié)點(diǎn)所占百分比為δ,轉(zhuǎn)發(fā)路徑采用固定長(zhǎng)度λ。如果直接猜測(cè)Sa的前驅(qū)和Sb的后繼分別為發(fā)送者和接收者,則猜測(cè)正確的概率為

        證明 已知整個(gè)轉(zhuǎn)發(fā)路徑中存在一個(gè)惡意節(jié)點(diǎn) Sa,首先嵌入標(biāo)簽,而 Sb是路徑中最后一個(gè)追蹤到標(biāo)簽的惡意節(jié)點(diǎn)。該事件發(fā)生的概率等同于長(zhǎng)為λ的路徑(不包括發(fā)送者和接收者)中包含2個(gè)及2個(gè)以上惡意節(jié)點(diǎn)的概率,即,其中,(1 - δ )λ和 λ δ(1 - δ )λ-1分別為“不包含任何惡意節(jié)點(diǎn)”和“僅包含一個(gè)惡意節(jié)點(diǎn)”的概率。如果直接猜測(cè) Sa的前驅(qū)節(jié)點(diǎn)和 Sb的后繼節(jié)點(diǎn)分別為發(fā)送者和接收者,則存在一定的誤差,因?yàn)?Sa和 Sb未必是轉(zhuǎn)發(fā)路徑的第一個(gè)節(jié)點(diǎn)和最后一個(gè)節(jié)點(diǎn)。

        轉(zhuǎn)發(fā)路徑首、尾節(jié)點(diǎn)都是惡意節(jié)點(diǎn)的概率為δ2,因此在存在2個(gè)惡意節(jié)點(diǎn)并利用標(biāo)簽追蹤攻擊確定它們分別為最上游和最下游的惡意節(jié)點(diǎn)的條件下,它們的前驅(qū)節(jié)點(diǎn)和后繼節(jié)點(diǎn)分別為發(fā)送者和接收者的概率為

        3.5 猜測(cè)接收者攻擊

        3.5.1 前提條件

        猜測(cè)接收者攻擊僅要求攻擊者能夠控制匿名轉(zhuǎn)發(fā)路徑的第一個(gè)節(jié)點(diǎn),該攻擊同時(shí)適用于全局攻擊者模型和局部攻擊者模型。

        3.5.2 攻擊過(guò)程

        該攻擊的基本思想是攻擊者隨機(jī)猜測(cè)報(bào)文接收者的地址,然后利用誠(chéng)實(shí)Mix服務(wù)器的無(wú)意識(shí)轉(zhuǎn)發(fā)服務(wù)和解密預(yù)言機(jī)服務(wù)驗(yàn)證猜測(cè)是否正確。如此反復(fù)猜測(cè)直到找出真正的接收者。

        設(shè)發(fā)送者為S0,接收者為Sλ+1,轉(zhuǎn)發(fā)路徑由S1,S2, …,Sλ構(gòu)成,且S1為惡意服務(wù)器。S0發(fā)送報(bào)文P到S1,P的格式如式(1)所示。猜測(cè)接收者攻擊的具體攻擊過(guò)程如下。

        Step1 S1接收到報(bào)文 P后首先對(duì)其進(jìn)行解密和再加密,獲得下一跳路由地址S2及如式(3)所示的報(bào)文P′。S1將P′保存以備后面重復(fù)實(shí)施猜測(cè)攻擊。

        注意此時(shí)S1并不能確定自己為第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)。Step2 S1做2個(gè)猜測(cè):1)P的接收者為St;2)從P′的前λ+1個(gè)密文中除外)任取一塊,不妨設(shè)為并假定該塊是關(guān)于St的密文。

        基于以上猜測(cè) S1對(duì)P′做如下修改:1)利用 URE算法的可展性,根據(jù) Bj構(gòu)造密文 U REK(2,j)(tag||,并用該密文替換Bj;2)將第λ+2個(gè)密文塊 U REK(2,λ+1)(1)替換為)將UREK(2,λ+1)( tag′||r1)替換為

        最后,S1將修改過(guò)的P′發(fā)送給S2。

        Step3 經(jīng)過(guò)一段時(shí)間,如果 S1從某個(gè)服務(wù)器Sλ+1接收到報(bào)文P′,并且利用私鑰 x1將其解密后具有形式:,則證明Sλ+1是接收者。將P′解密獲得λ+1個(gè)tag′的事實(shí)也證明S1是第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),并且其前驅(qū)S0是發(fā)送者。至此,HS-Onion方案的不可關(guān)聯(lián)性被完全破壞。

        如果 S1長(zhǎng)時(shí)間內(nèi)沒(méi)有收到任何符合上述條件的報(bào)文,則說(shuō)明Step2的2個(gè)猜測(cè)中至少有一個(gè)是錯(cuò)的。S1重新猜測(cè)接收者地址和相應(yīng)密文塊 Bj并重復(fù)上述攻擊直至找到接收者。

        實(shí)際上,上述攻擊經(jīng)過(guò)修改后可以用于確定構(gòu)成匿名路徑的任意節(jié)點(diǎn)。

        3.5.3 分析

        首先分析3.5.2節(jié)攻擊的原理。在Step2中如果S1猜測(cè)正確,即那么Step2中經(jīng)過(guò)修改的P′必然具有如下形式:

        這相當(dāng)于將匿名路徑延長(zhǎng)了一個(gè)節(jié)點(diǎn),S1作為終點(diǎn),Sλ+1被當(dāng)作最后一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)。由于報(bào)文中不含路徑長(zhǎng)度信息,因此這些修改不會(huì)被其他轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)現(xiàn)。

        如果 S1猜測(cè)錯(cuò)誤,則P′在轉(zhuǎn)發(fā)過(guò)程中會(huì)被某個(gè)誠(chéng)實(shí)節(jié)點(diǎn)視為非法報(bào)文而丟棄,但由于沒(méi)有反向追蹤機(jī)制,S1不用擔(dān)心受到懲罰。

        下面分析“猜測(cè)接收者攻擊”的代價(jià)。假設(shè)系統(tǒng)包含N個(gè)Mix服務(wù)器,轉(zhuǎn)發(fā)路徑采用固定長(zhǎng)度λ,則S1最多需要進(jìn)行 λ(N - 2 )次猜測(cè)驗(yàn)證過(guò)程。在N不算太大時(shí),該攻擊是非常有效的。為了縮短攻擊時(shí)間,S1還可以將多個(gè)猜測(cè)驗(yàn)證過(guò)程并行進(jìn)行,但需要在P′中針對(duì)不同的猜測(cè)加入不同的標(biāo)記,具體過(guò)程就不再詳細(xì)敘述了。

        4 對(duì)HS-Onion的修正

        4.1 兩點(diǎn)修正

        為了避免所提的3種攻擊,在此提出對(duì)HS-Onion方案的兩點(diǎn)修正措施。在原協(xié)議框架下,很難完全消除 URE算法的可展性,因?yàn)樵撎匦允菆?bào)文能夠被隨機(jī)化重加密和中間轉(zhuǎn)發(fā)節(jié)點(diǎn)能夠?qū)⒆约旱膶?duì)稱密鑰ri添加到報(bào)文的關(guān)鍵。因此,這些修正的主要目的是提高攻擊者隨意篡改報(bào)文的代價(jià),盡量避免關(guān)鍵節(jié)點(diǎn)為攻擊者提供解密預(yù)言機(jī)服務(wù)器。

        修正 1 限制 Mix服務(wù)器只提供匿名轉(zhuǎn)發(fā)服務(wù),本身不作為通信用戶。類似于被廣泛使用的洋蔥路由系統(tǒng)Tor[13],修正后HS-Onion由匿名路由核心網(wǎng)絡(luò)和外圍用戶群構(gòu)成。N個(gè)Mix服務(wù)器構(gòu)成核心網(wǎng)絡(luò)。發(fā)送者和接收者都屬于外圍用戶群,它們利用核心網(wǎng)能夠隱藏路由的轉(zhuǎn)發(fā)服務(wù)來(lái)實(shí)現(xiàn)匿名通信。在全局攻擊者模型下,匿名集合由同一時(shí)刻接入核心網(wǎng)的所有用戶構(gòu)成。

        修正 2 增加對(duì)惡意節(jié)點(diǎn)的反向追蹤機(jī)制。誠(chéng)實(shí)Mix服務(wù)器在發(fā)現(xiàn)某個(gè)報(bào)文非法之后可以啟動(dòng)反向追蹤機(jī)制,沿匿名路徑回溯查找制造非法報(bào)文的源頭。在調(diào)查過(guò)程中,從發(fā)現(xiàn)非法報(bào)文的節(jié)點(diǎn)Sj開始,沿路徑逆向依次要求其前驅(qū)節(jié)點(diǎn)Sj-1, Sj-2,…提交證據(jù)證明自己正確處理了被追蹤報(bào)文,直至找到惡意節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)的證明過(guò)程不能破壞其他報(bào)文的匿名性。目前已知的幾種URE洋蔥路由方案[6,8~10]都采用了基于零知識(shí)證明技術(shù)的反向追蹤機(jī)制,使得Mix服務(wù)器可以在不公開密鑰xi的條件下證明自己合法地處理了報(bào)文。由于HS-Onion采用了2種代數(shù)結(jié)構(gòu)不同的公鑰算法,所以直接采用該方法較為困難。在此筆者設(shè)計(jì)了公開部分解密密鑰和零知識(shí)證明相結(jié)合的證明方法。

        證明 修正協(xié)議要求Mix服務(wù)器為每個(gè)輸出報(bào)文增加數(shù)字簽名之后再轉(zhuǎn)發(fā)給下一個(gè)服務(wù)器,這樣可以防止惡意節(jié)點(diǎn)對(duì)自己的攻擊行為進(jìn)行抵賴。設(shè)服務(wù)器 Sj從前驅(qū)節(jié)點(diǎn) Sj-1接收到的報(bào)文,經(jīng)過(guò)解密和再加密處理后轉(zhuǎn)發(fā)給下一級(jí)的報(bào)文為用符號(hào)ZK{x∶A(x)}表示關(guān)于秘密x的零知識(shí)證明,A(x)是一個(gè)關(guān)于x的斷言,該證明能夠在不暴露x的條件下證明斷言A(x)取真。下文的證明中x在A(x)中都以離散指數(shù)形式存在,構(gòu)造該類證明主要用到基于離散對(duì)數(shù)的零知識(shí)證明技術(shù),具體構(gòu)造方法可以參考文獻(xiàn)[14]。

        Sj證明自己正確處理了報(bào)文Pj-1的具體過(guò)程如下。

        1) Sj公布如下內(nèi)容:私鑰jx′,下一跳地址Sj+1,Rj,rj,Pj-1中屬于 Sj的密文塊 Bu,j-1,Pj中屬于 Sj的密文塊 Bv,j以及由 Pj-1生成 Pj時(shí)所使用的所有URE再加密隨機(jī)參數(shù)。

        2) 為證明 x ′j、Sj+1和 Rj的合法性,Sj公布

        4) 為證明 Bv,j和 rj的合法性,Sj公布密文并證明Bλ′+2,j經(jīng)過(guò)URE再加密可以生成Bλ+2,j,且密文經(jīng)過(guò)再加密可以生成Bv,j。

        5) 針對(duì)Bλ+3,j的合法性,Sj需要證明成立。

        在證明過(guò)程中,Sj只公開了私鑰 x′j而沒(méi)有公開 xj,因此并不會(huì)對(duì)Sj過(guò)去轉(zhuǎn)發(fā)報(bào)文的匿名性造成影響。

        4.2 分析

        4.2.1 安全性

        下面具體分析修正措施對(duì)本文所提3種攻擊的防范作用。

        1) 關(guān)于數(shù)據(jù)指紋追蹤攻擊。經(jīng)過(guò)修正1之后,接收者Sλ+1不再提供匿名轉(zhuǎn)發(fā)服務(wù),因此在數(shù)據(jù)指紋追蹤攻擊中惡意節(jié)點(diǎn)Sλ無(wú)法利用Sλ+1的解密預(yù)言機(jī)服務(wù)獲得ek(m)及其數(shù)據(jù)指紋。但僅有修正1是不夠的,攻擊者可以采用由轉(zhuǎn)發(fā)路徑首尾節(jié)點(diǎn) S1和Sλ合謀實(shí)施的指紋追蹤方法:作為第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的惡意服務(wù)器S1從報(bào)文P的前λ+1個(gè)密文中任取一個(gè)并猜測(cè)它是屬于Sλ的密文S1由構(gòu)造,并將第λ+2塊密文替換成。如果S1猜測(cè)正確,則在該報(bào)文到達(dá)惡意節(jié)點(diǎn)Sλ時(shí),Sλ仍然可以從中獲得ek(m),從而將S1和Sλ關(guān)聯(lián)到一起,S1的前驅(qū)和Sλ的后繼作為發(fā)送者和接收者也被關(guān)聯(lián)到一起。和改進(jìn)之前比,指紋追蹤攻擊必須依賴于隨機(jī)猜測(cè)。如果猜測(cè)錯(cuò)誤,則攻擊者將被反向調(diào)查機(jī)制捕獲。

        設(shè)系統(tǒng)中惡意節(jié)點(diǎn)所占百分比為δ,轉(zhuǎn)發(fā)路徑采用固定長(zhǎng)度λ,下面的定理描述了在局部攻擊者模型下修正方案抵抗指紋追蹤攻擊的能力。

        定理 2 修正方案中攻擊者利用數(shù)據(jù)指紋追蹤攻擊能成功關(guān)聯(lián)發(fā)送者和接收者的概率為δ2/λ,而攻擊者被捕獲的概率為1-δ。

        證明 基于隨機(jī)猜測(cè)的指紋追蹤攻擊能夠成功的條件是:① 路徑首尾節(jié)點(diǎn)S1和Sλ都是惡意節(jié)點(diǎn);② S1能夠猜中對(duì)應(yīng)Sλ的密文塊。這2個(gè)條件成立的概率分別為 δ2和1/λ,并且它們?yōu)橄嗷オ?dú)立的隨機(jī)事件,因此,攻擊能夠成功的概率為δ2/λ。

        在攻擊中,S1從前λ+1個(gè)密文塊中隨機(jī)選擇了并將第λ+2個(gè)密文塊替換成在該報(bào)文到達(dá)節(jié)點(diǎn)Sj時(shí),Sj將發(fā)現(xiàn)第λ+2個(gè)密文的解密結(jié)果為1,因此很容易發(fā)現(xiàn)該報(bào)文為非法報(bào)文。如果Sj為誠(chéng)實(shí)節(jié)點(diǎn),將會(huì)觸發(fā)反向調(diào)查過(guò)程,惡意節(jié)點(diǎn)S1必然被捕獲。如果Sj為惡意節(jié)點(diǎn),只會(huì)將該非法報(bào)文簡(jiǎn)單丟棄。因此,S1是否被捕獲決定于它隨機(jī)選擇的密文Bj所對(duì)應(yīng)節(jié)點(diǎn)Sj是否為惡意節(jié)點(diǎn)。因?yàn)闃?gòu)成轉(zhuǎn)發(fā)路徑的節(jié)點(diǎn)是發(fā)送者從全體服務(wù)器集合中隨機(jī)選取的,所以Sj為惡意節(jié)點(diǎn)的概率為δ,而S1被捕獲的概率為1-δ。

        2) 關(guān)于標(biāo)簽追蹤攻擊。在修正方案中,標(biāo)簽追蹤攻擊也必須由轉(zhuǎn)發(fā)路徑的首尾節(jié)點(diǎn)合謀實(shí)施,即由第一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)嵌入標(biāo)簽,由最后一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)從流經(jīng)報(bào)文中提取標(biāo)簽。另外,標(biāo)簽追蹤攻擊也依賴于隨機(jī)猜測(cè)。如果猜測(cè)錯(cuò)誤,則攻擊者將被反向調(diào)查機(jī)制捕獲。定理3描述了在局部攻擊者模型下修正方案抵抗標(biāo)簽追蹤攻擊的能力。

        定理 3 修正方案中攻擊者利用標(biāo)簽追蹤攻擊能成功關(guān)聯(lián)發(fā)送者和接收者的概率為δ2/λ,而攻擊者被捕獲的概率為1-δ。

        證明 標(biāo)簽追蹤攻擊成功的條件是:1) 路徑首尾節(jié)點(diǎn)S1和Sλ都是惡意節(jié)點(diǎn);2) S1嵌入標(biāo)簽的密文塊恰好對(duì)應(yīng)節(jié)點(diǎn)Sλ。這2個(gè)條件能夠成立的概率分別為 δ2和1/λ,因此,攻擊能夠成功的概率為δ2/λ。如果與嵌入標(biāo)簽的密文塊相對(duì)應(yīng)的節(jié)點(diǎn)Sj為誠(chéng)實(shí)節(jié)點(diǎn),則S1必然被反向調(diào)查機(jī)制捕獲。如果Sj為惡意節(jié)點(diǎn),則只會(huì)將該非法報(bào)文簡(jiǎn)單丟棄。因此,S1是否被捕獲決定于它隨機(jī)選擇的密文Bj所對(duì)應(yīng)節(jié)點(diǎn)Sj是否為惡意節(jié)點(diǎn),即S1被捕獲的概率為1-δ。

        3) 關(guān)于猜測(cè)接收者攻擊。修正1使得攻擊者無(wú)法再利用接收者Sλ+1的匿名轉(zhuǎn)發(fā)服務(wù)驗(yàn)證自己對(duì)接收者的猜測(cè),但攻擊者可以利用類似的攻擊思想猜測(cè)和驗(yàn)證構(gòu)成轉(zhuǎn)發(fā)路徑的各個(gè)中間節(jié)點(diǎn)。這樣做同樣存在隨機(jī)猜測(cè)過(guò)程,即需要攻擊者隨機(jī)選擇密文塊Bj,并將其篡改為如果Bj對(duì)應(yīng)的節(jié)點(diǎn)Sj是誠(chéng)實(shí)的,攻擊者制造的非法報(bào)文將會(huì)被發(fā)現(xiàn),因此,攻擊者被捕獲的概率同樣為1-δ。

        由以上分析可以看出,對(duì)原方案的兩點(diǎn)修正雖然無(wú)法完全消除Mix服務(wù)器的解密預(yù)言機(jī)漏洞,但在很大程度上提高了攻擊者篡改密文和利用解密預(yù)言機(jī)的代價(jià)。在典型的 Internet分布式匿名系統(tǒng)中,一般認(rèn)為惡意節(jié)點(diǎn)所占比例δ的上限為0.2[15]。在該條件下,根據(jù)定理2和定理3的結(jié)論,惡意節(jié)點(diǎn)在實(shí)施3種攻擊時(shí)被捕獲的概率不低于1-δ,即80%。為了進(jìn)一步提高反向追蹤對(duì)攻擊的抑制作用,還可以采用制定嚴(yán)厲懲罰措施等非技術(shù)性手段。

        4.2.2 效率

        在正常情況下,每收到一個(gè)報(bào)文,修正方案中的Mix服務(wù)器除了需要進(jìn)行原協(xié)議規(guī)定的2λ+3次URE解密、λ+2次URE再加密操作以及一次公鑰算法E的解密操作之外,只需額外進(jìn)行一次數(shù)字簽名操作,因此服務(wù)器運(yùn)算量增加很小。

        在發(fā)現(xiàn)有非法報(bào)文的異常情況下,該報(bào)文轉(zhuǎn)發(fā)路徑上的部分節(jié)點(diǎn)時(shí)被迫參與反向追蹤過(guò)程。每個(gè)相關(guān)節(jié)點(diǎn)為構(gòu)造自己的合法性證明,需要進(jìn)行3(λ+2)次群G上的指數(shù)運(yùn)算,而驗(yàn)證該證明則需要進(jìn)行10λ+24次指數(shù)運(yùn)算和一次公鑰算法E的解密操作。在異常情況下,最大的額外開銷在于每個(gè)參與調(diào)查的服務(wù)器都要更換密鑰,并向系統(tǒng)其他節(jié)點(diǎn)廣播新密鑰。因此,為了防止頻繁攻擊行為對(duì)性能的影響,可以采用加重懲罰力度的方法來(lái)降低服務(wù)器作弊的概率。

        另外,為了能夠在反向追蹤中證明自己在上一級(jí)輸出報(bào)文基礎(chǔ)上做了正確的處理,每個(gè)服務(wù)器還需對(duì)包含數(shù)字簽名的輸入報(bào)文進(jìn)行緩存。如果要求誠(chéng)實(shí)服務(wù)器發(fā)現(xiàn)非法報(bào)文后必須立即啟動(dòng)反向追蹤機(jī)制,那么Mix服務(wù)器只需緩存較短時(shí)間段內(nèi)收到的報(bào)文,因此修正方案中緩存數(shù)據(jù)量較小,并且不需要將輸入與緩存數(shù)據(jù)進(jìn)行比對(duì)以檢查是否有重復(fù)報(bào)文。與傳統(tǒng)的基于緩存法對(duì)抗重放攻擊的洋蔥路由系統(tǒng)相比,基于HS-Onion仍然具有很大優(yōu)勢(shì)。

        5 結(jié)束語(yǔ)

        基于通用重加密算法的洋蔥路由系統(tǒng)能夠有效抵御重放攻擊,但存在嚴(yán)重的效率問(wèn)題。為此,時(shí)金橋等提出了一種綜合利用通用重加密和對(duì)稱加密算法的混合結(jié)構(gòu)洋蔥路由方案HS-Onion,降低了傳輸長(zhǎng)消息時(shí)的計(jì)算復(fù)雜度。本文指出了HS-Onion方案的2處安全漏洞,并展示了3種能夠完全破壞發(fā)送者和接收者不可關(guān)聯(lián)性的攻擊方法。這些攻擊采用了與匿名通信系統(tǒng)中一些典型攻擊類似的思想,如關(guān)系攻擊[16]、路徑猜測(cè)攻擊[9]、分組計(jì)數(shù)器攻擊[17]等,因此,對(duì)分析其他匿名通信系統(tǒng)的安全性具有一定的借鑒作用。近年來(lái)出現(xiàn)了很多針對(duì)匿名通信系統(tǒng)的關(guān)聯(lián)攻擊[15,18,19],它們主要面向基于虛電路的低延時(shí)匿名通信系統(tǒng)(如Tor[13]),并且大都采用了基于時(shí)域或頻域的通信流量統(tǒng)計(jì)分析。與這些攻擊方法相比,本文的攻擊直接利用了 HS-Onion方案的密碼學(xué)漏洞,不需要連續(xù)緩存多個(gè)報(bào)文進(jìn)行綜合分析,因此要準(zhǔn)確和高效得多。本文另一貢獻(xiàn)是給出了針對(duì) HS-Onion方案的修正方法。這些修正以較小的代價(jià)在很大程度上降低了攻擊者篡改密文和利用解密預(yù)言機(jī)獲得有利信息的概率。

        HS-Onion及此前的所有基于通用重加密的洋蔥路由方案都采用了啟發(fā)式的安全性分析方法,而其中很多方案在提出后不久即被攻破,該事實(shí)表明在嚴(yán)格定義的模型下給出形式化安全性證明是十分必要的。這也是大多數(shù)匿名通信系統(tǒng)在進(jìn)行安全性分析時(shí)所遇到的問(wèn)題。因此,下一步的工作應(yīng)該包括為混合結(jié)構(gòu)洋蔥路由系統(tǒng)建立能夠正確反映系統(tǒng)安全屬性及敵手攻擊能力的安全模型,并在該模型下對(duì)方案的安全性進(jìn)行證明。

        [1] CHAUM D. Untraceable electronic mail, return addresses, and digital pseudonyms[J]. Communications of the ACM, 1981, 24(2)∶84-88.

        [2] MOLLER U, COTTRELL L, PALFRADER P. Mixmaster protocol-version 2[EB/OL]. http∶//www.eskimo.com/rowdenw/crypt/Mix/draft-moeller-mixmaster2-protocol-00.txt, 2003.

        [3] DANEZIS G, DINGLEDINE R, MATHEWSON N. Mixminion∶ design of a type III anonymous remailer protocol[A]. Proceedings of the 2003 IEEE Symposium on Security and Privacy[C]. Oakland, California, USA, 2003.2-15.

        [4] KESDOGAN D, EGNER J, BUSCHKES R. Stop-and-go MIXes∶providing probabilistic anonymity in an open system[A]. Proceedings of Information Hiding Workshop (IH 1998)[C]. Portland, Oregon,USA, 1998.83-89.

        [5] GOLLE P, JAKOBSSON M, JUELS A. Universal re-encryption for mixnets[A]. Proceedings of the 2004 RSA Conference, Cryptographer’s Track[C]. San Francisco, USA, 2004.163-178.

        [6] GOMULKIEWICZ M, KLONOWSKI M. Onions based on universal reencryption anonymous communication immune against repetitive attack[A]. International Workshop on Information Security Applications(WISA04)[C]. Jeju Island, Korea, 2004. 400-410.

        [7] DANEZIS G. Breaking four mix-related schemes based on universal re-encryption[A]. Proceedings of Information Security Conference 2006(ISC 2006)[C]. Samos, Greece, 2006.46-59.

        [8] KLONOWISKI M, KUTYLOWSKI M, LAUKS A. Repelling detour attack against onions with re-encryption[A]. Proceedings of International Conference on Applied Cryptography and Network Security 2008 (ACNS 2008)[C]. New York, USA, 2008. 296-308.

        [9] BORISOV N, KLONOWISKI M, MIROSLAW K. Attacking and repairing the improved ModOnions protocol[A]. Proceedings of the 12th International Conference on Information Security and Cryptology[C]. Seoul, Korea, 2009. 258-273.

        [10] BORISOV N, KLONOWISKI M, MIROSLAW K. Attacking and repairing the improved ModOnions protocol-tagging approach[J]. KSII Transactions on Internet and Information Systems, 2010, 4(3)∶ 380-399.

        [11] 陸天波, 秦寶山, 李洋. 重加密匿名通道WGRe[J]. 通信學(xué)報(bào), 2009,30(4)∶66-73.LU T B, QIN B S, LI Y. WGRe∶ a re-encryption anonymous tunnel[J].Journal on Communications, 2009, 30(4)∶66-73.

        [12] 時(shí)金橋, 方濱興, 郭莉. 抵御MIX重放攻擊的混合結(jié)構(gòu)消息報(bào)文機(jī)制[J]. 通信學(xué)報(bào), 2009, 30(3)∶21-26.SHI J Q, FANG B X, GUO L. Hybrid-structured onion scheme against replay attack of MIX[J]. Journal on Communications, 2009, 30(3)∶21-26.

        [13] DINGLEDINE R, MATHEWSON N, SYVERSON P. Tor∶ the second-generation onion router[A]. Proceedings of the 13th USENIX Security Symposium[C]. San Antonio, USA, 2004. 303-320.

        [14] CAMENISCH J, STADKER M. Efficient group signature schemes for large groups[A]. Proceedings of Crypto’97[C]. Santa Barbara, California, USA, 1997. 410-424.

        [15] WANG Q Y, MITTAL P, BORISOV N. In search of an anonymous and secure lookup∶ attacks on structured peer-to-peer anonymous communication systems[A]. Proceedings of the ACM CCS 2010[C]. Chicago,Illinois, USA, 2010. 308-318.

        [16] PFITZMANN B. Breaking efficient anonymous channel[A]. Proceedings of Eurocrypt'94[C]. Perugia, Italy, 1994. 332-340.

        [17] LING Z, LUO J Z, YU W. A novel cell counter based attack against tor[A]. Proceedings of the ACM CCS 2009[C]. Chicago, Illinois, USA,2009. 578-589.

        [18] ZHU Y, FU X W, RICCARDO B, et al. Analysis of flow-correlation attacks in anonymity network[J]. International Journal of Security and Networks, 2007, 2(1)∶137-153.

        [19] STEFAN S, SEBASTIAN C. Using linkability information to attack mix-based anonymity services[A]. Proceedings of 9th International Symposium on Privacy Enhancing Technologies[C]. Seattle, WA,USA, 2009. 94-107.

        国产婷婷色一区二区三区在线| 少妇呻吟一区二区三区| 开心激情视频亚洲老熟女| 人妻少妇乱子伦无码视频专区| 精品久久亚洲中文无码| 国产乱子伦视频一区二区三区| 亚洲中文乱码在线视频| 在线无码中文字幕一区| 国内老熟妇对白xxxxhd| 亚洲女同成av人片在线观看 | 亚洲AV无码专区一级婬片毛片| 女优av福利在线观看| 中国老熟女露脸老女人| 无码尹人久久相蕉无码| 成人区视频| 色婷婷一区二区三区四| 四虎永久在线精品免费一区二区 | 亚洲综合日韩一二三区| 把女邻居弄到潮喷的性经历| 成人免费xxxxx在线视频| 色噜噜精品一区二区三区| 一级r片内射视频播放免费| 中国农村熟妇性视频| 欧美日韩国产成人综合在线影院| 国产精品国产三级农村妇女| 欧洲成人一区二区三区| 色偷偷av亚洲男人的天堂| 老熟女一区二区免费| 亚洲自拍偷拍一区二区三区| 亚洲妇女自偷自偷图片| 久久国产偷| 国产91大片在线观看| 欧美精品欧美人与动人物牲交| 亚洲色无码播放| 国产一区二区三区最新视频| 成人一区二区人妻少妇| 一本一道波多野结衣av中文| 女的把腿张开男的猛戳出浆| 日本国产一区二区在线观看| 无码人妻aⅴ一区二区三区| 自拍偷自拍亚洲精品播放|