国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

抗合謀攻擊能力可調(diào)的有狀態(tài)組密鑰更新協(xié)議

2018-07-25 07:41姚紹文
計(jì)算機(jī)應(yīng)用 2018年5期
關(guān)鍵詞:合謀密文解密

敖 麗,劉 璟*,姚紹文,武 楠

(1.云南大學(xué) 軟件學(xué)院,昆明650500; 2.云南大學(xué) 信息學(xué)院,昆明650500)

(*通信作者電子郵箱liujing@ynu.edu.cn)

0 引言

組密鑰更新作為組播安全研究中的關(guān)鍵,用于解決成員動(dòng)態(tài)變化(加入或離開(kāi))時(shí),組控制器(Group Controller,GC)如何高效和安全地分發(fā)一個(gè)新的組密鑰(Group Key,GK)給合法用戶的問(wèn)題,并保證密鑰更新過(guò)程中的前向安全性和后向安全性[1]。在有狀態(tài)的組密鑰更新協(xié)議[2-4]中,大多數(shù)協(xié)議是基于邏輯密鑰分層(Logical Key Hierarchy,LKH)協(xié)議發(fā)展而來(lái)的。最早的LKH協(xié)議是由Wong等[5]和Wallner等[6]分別提出。文獻(xiàn)[7]中證明了LKH協(xié)議在抗完全合謀攻擊時(shí),通信開(kāi)銷的下界是O(log n),n為組規(guī)模大小。所以,不折中安全性和其他性能(存儲(chǔ)開(kāi)銷、密鑰更新效率),使通信開(kāi)銷低于O(log n)是不可能的??购现\攻擊主要針對(duì)組密鑰管理中安全威脅提出的系統(tǒng)需求[8]。在一些高度敏感的數(shù)據(jù)中,抗完全合謀攻擊是一種較強(qiáng)的安全性要求,但是,在一些資源受限(無(wú)線傳感器網(wǎng)絡(luò)[9-10])或者商業(yè)應(yīng)用(付費(fèi)電視[11]、即付即看(Pay Per View,PPV)[12])場(chǎng)景中,對(duì)安全性要求相對(duì)較弱,而對(duì)通信開(kāi)銷更為敏感,組成員頻繁的加入(離開(kāi)),會(huì)給GC帶來(lái)巨大的通信開(kāi)銷,所以,為了節(jié)省通信開(kāi)銷,這些應(yīng)用場(chǎng)景中的用戶愿意容忍一定級(jí)別的安全性,通過(guò)犧牲抗合謀攻擊能力來(lái)降低通信開(kāi)銷。

基于此,F(xiàn)an等[11]提出了一種混合的組密鑰更新協(xié)議(Hybrid Structuring Of Receivers,HySOR)。HySOR 協(xié)議在LORE(Linear Ordering Of Receivers)協(xié)議的基礎(chǔ)上結(jié)合LKH協(xié)議,實(shí)現(xiàn)了通信開(kāi)銷和抗合謀攻擊之間的權(quán)衡。但是,LORE是基于雙哈希鏈設(shè)計(jì)的協(xié)議,HySOR協(xié)議的計(jì)算復(fù)雜度隨著組規(guī)模n呈線性變化。在文獻(xiàn)[13]中,利用多密鑰分發(fā)(Multicast Key Distribution,MKD)協(xié)議和LKH協(xié)議構(gòu)成的混合方案中,MKD仍然是基于雙哈希鏈的協(xié)議。Liu等[14]基于“子集-覆蓋”框架提出了排外子集覆蓋框架(Exclusive Complete Subtree,ECS),在此框架上,構(gòu)造一個(gè)混合的無(wú)狀態(tài)組密鑰更新協(xié)議,該協(xié)議適合于資源受限或者商業(yè)應(yīng)用場(chǎng)景。

本文在文獻(xiàn)[14]的基礎(chǔ)上,針對(duì)有狀態(tài)的組播通信,設(shè)計(jì)并實(shí)現(xiàn)了一種混合的組密鑰更新協(xié)議(Hybrid Stateful Exclusive Complete Subtree,H-SECS)。H-SECS協(xié)議是基于LKH協(xié)議和有狀態(tài)的完全排外子樹(shù)(Stateful Exclusive Complete Subtree,SECS)協(xié)議設(shè)計(jì)的,可以在 LKH協(xié)議和SECS協(xié)議之間進(jìn)行調(diào)整,達(dá)到抗合謀攻擊能力和通信開(kāi)銷之間的權(quán)衡。H-SECS協(xié)議的一個(gè)極端是LKH協(xié)議,具有完全抗合謀攻擊的特點(diǎn);另外一個(gè)極端是SECS協(xié)議,具有常量通信開(kāi)銷但是只能抵抗一個(gè)用戶攻擊。本文對(duì)H-SECS協(xié)議的抗合謀攻擊能力、通信開(kāi)銷進(jìn)行了仿真實(shí)驗(yàn)分析,結(jié)果證明了H-SECS協(xié)議的通信開(kāi)銷和抗合謀攻擊能力可以在LKH與SECS之間進(jìn)行調(diào)控。

1 SECS協(xié)議

Liu 等[14]基于排外密鑰[15-16]設(shè)計(jì)了 SECS 協(xié)議。SECS是一種有狀態(tài)的組密鑰更新協(xié)議,通信開(kāi)銷為O(1),但是只能抵抗單用戶攻擊。SECS協(xié)議主要包括兩個(gè)算法:個(gè)人密鑰分配算法和組密鑰更新算法。

1.1 個(gè)人密鑰分配算法

個(gè)人密鑰分配算法滿足正確性和密鑰的不可區(qū)分性,所以用3個(gè)偽隨機(jī)生成器(Pseudo-Random Number Generator,PRNG)[17](GL,GR,GM) 來(lái)生成密鑰。根據(jù)組播中 n個(gè)成員組成的集合 U={u1,u2,…,un},經(jīng)過(guò)(GL,GR,GM) 自頂向下生成一棵平衡二叉樹(shù)。二叉樹(shù)的葉子節(jié)點(diǎn)與成員u直接相連。在平衡二叉樹(shù)中,密鑰的分配如下:任意中間節(jié)點(diǎn)i,有一個(gè)種子節(jié)點(diǎn)S。則S2i=GL(Si)代表i節(jié)點(diǎn)的左孩子(2i)的種子;S2i+1=GR(Si)代表 i節(jié)點(diǎn)的右孩子(2i+1)的種子;Ki=GM(Si)代表i節(jié)點(diǎn)的排外密鑰。將二叉樹(shù)中從葉子節(jié)點(diǎn)回溯到根節(jié)點(diǎn)所經(jīng)過(guò)路徑上的排外密鑰稱為路徑密鑰。成員u的排外密鑰集為u的路徑密鑰的集合;用Iu表示GC為u分配的個(gè)人密鑰集,則Iu是所有路徑密鑰上的兄弟密鑰。根據(jù)排外密鑰的定義,u不能計(jì)算出它的路徑密鑰,但是,u可以推導(dǎo)出這棵密鑰二叉樹(shù)上其余的密鑰。

1.2 組密鑰更新算法

定義t時(shí)刻合法成員的集合為St(StU),撤銷者集合Rt(Rt=USt)。S(t+1)表示(t+1)時(shí)刻成員動(dòng)態(tài)變化后的集合;GKt表示當(dāng)前的組密鑰;GK(t+1)表示更新過(guò)的組密鑰;“”表示“組播”;EK(text)表示用密鑰K加密 text。對(duì)于SECS協(xié)議,成員的加入(離開(kāi)),組密鑰都需要進(jìn)行更新。

1)成員加入。當(dāng)成員u'在t時(shí)刻加入集合U時(shí),有兩種方案。第一種方案是GC通過(guò)安全渠道給合法用戶廣播密文塊,即:GCS(t+1):EGKt(GK(t+1)),只有知道GKt的用戶可以對(duì)密文塊進(jìn)行解密,得到GK(t+1)。本文為了保證信息的機(jī)密性,采用了哈希函數(shù)的消息認(rèn)證碼(Hash-based Message Authentication Code,HMAC)函數(shù)[18],使得用于組通信的密鑰和用于加密的密鑰不是同一個(gè)密鑰,本文后面提到的GK是已經(jīng)處理過(guò),用于加密的GK。第二種方案是通過(guò)一個(gè)公開(kāi)的單向哈希函數(shù)(SHA-1)[19]來(lái)更新 GK(t+1),合法成員在收到GC廣播的更新消息時(shí),直接通過(guò)哈希函數(shù)計(jì)算出新的組密鑰GK(t+1)。

2)成員離開(kāi)。假設(shè)t時(shí)刻離開(kāi)的成員集合是L={i1,i2,…,im},GC首先計(jì)算出離開(kāi)成員的排外密鑰{Ki1,Ki2,…,Kim},然后將這些排外密鑰和GKt異或后作為會(huì)話密鑰來(lái)加密GK(t+1),GC將密文廣播給合法成員,密文結(jié)構(gòu)如下:

用C表示密文塊,DK(C)表示用K來(lái)解密密文塊C。當(dāng)用戶 u∈ S(t+1)接收到更新消息〈i1,i2,…,im,C〉,根據(jù)排外密鑰的定義,u根據(jù)密鑰集Iu中推導(dǎo)出排外密鑰Kij;所有的排外密鑰進(jìn)行異或運(yùn)算:Ki1⊕Ki2⊕…⊕Kim⊕GKt計(jì)算出新的會(huì)話密鑰。最后解密得到組密鑰 GK(t+1),解密結(jié)構(gòu)如下:

2 H-SECS協(xié)議

結(jié)合LKH協(xié)議抗完全合謀攻擊的特點(diǎn)和SECS協(xié)議具有常量通信開(kāi)銷的優(yōu)勢(shì),設(shè)計(jì)并實(shí)現(xiàn)了一種混合的組密鑰管理協(xié)議(H-SECS)。該協(xié)議的密鑰管理是一個(gè)兩層的樹(shù)型結(jié)構(gòu),為了描述方便,第一層稱為L(zhǎng)KH協(xié)議樹(shù);第二層稱為子組樹(shù)(Division Tree,DT),DT沿用SECS協(xié)議樹(shù)的設(shè)計(jì)規(guī)則。HSECS協(xié)議可以分為成員初始化、成員加入和成員離開(kāi)3個(gè)階段。表1列出H-SECS協(xié)議中用到的部分符號(hào)。

表1 H-SECS協(xié)議中符號(hào)說(shuō)明Tab.1 Symbol definition of H-SECS protocol

2.1 成員初始化

假設(shè)n個(gè)成員建立組通信。首先,GC建立一棵LKH協(xié)議樹(shù),包含d個(gè)葉子節(jié)點(diǎn),樹(shù)中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)密鑰,樹(shù)的葉子節(jié)點(diǎn)與子組一一對(duì)應(yīng)。然后,在每個(gè)子組里建立一棵SECS協(xié)議樹(shù),簡(jiǎn)稱DT。DT中包含m(m=n/d)個(gè)葉子節(jié)點(diǎn),其中,如果n不能整除d,則前幾個(gè)子組里DT的葉子節(jié)點(diǎn)為m,最后一個(gè)子組葉子節(jié)點(diǎn)不足m。DT中每個(gè)葉子節(jié)點(diǎn)與組成員一一對(duì)應(yīng)。在建樹(shù)的過(guò)程中,采用哈夫曼編碼為樹(shù)的每個(gè)節(jié)點(diǎn)進(jìn)行編號(hào),規(guī)定從根節(jié)點(diǎn)開(kāi)始,左分支為0,右分支為1,根節(jié)點(diǎn)的編號(hào)為0。對(duì)于DT中的每個(gè)成員,在葉子節(jié)點(diǎn)編號(hào)的前面加上子組號(hào)Di(Division),其中Di的數(shù)值范圍是0~ 232-1。

由于H-SECS協(xié)議的密鑰管理是一個(gè)兩層的樹(shù)型結(jié)構(gòu),所以,在DT中的每個(gè)成員存儲(chǔ)兩組密鑰:一組是所在子組對(duì)應(yīng)的LKH協(xié)議樹(shù)上的輔助密鑰;另外一組是成員對(duì)應(yīng)的DT中的私人密鑰。輔助密鑰是子組Di對(duì)應(yīng)的LKH協(xié)議樹(shù)上葉子節(jié)點(diǎn)到根節(jié)點(diǎn)路徑上所有節(jié)點(diǎn)對(duì)應(yīng)的密鑰;私人密鑰是成員u所對(duì)應(yīng)的葉子節(jié)點(diǎn)到DTi樹(shù)上根節(jié)點(diǎn)路徑上所有節(jié)點(diǎn)對(duì)應(yīng)的兄弟節(jié)點(diǎn)的密鑰,其中,LKH協(xié)議樹(shù)中根節(jié)點(diǎn)的密鑰為GK,組通信中所有合法成員共享GK。如圖1所示,H-SECS結(jié)構(gòu)圖中共有15 個(gè)成員。分為5 個(gè)子組:D0、D1、D2、D3、D4;每個(gè)子組中包含一棵 DT,分別為 DT0、DT1、DT2、DT3、DT4;DT的葉子節(jié)點(diǎn)對(duì)應(yīng)3個(gè)成員 u1、u2、u3。組密鑰GK是K1。u2D1表示D1子組中的u2用戶,它的ID號(hào)是1|001,第一位的1代表子組號(hào),后面是成員對(duì)應(yīng)的葉子節(jié)點(diǎn)的編號(hào)。u2D1用戶有兩組密鑰:一組是 LKH 協(xié)議樹(shù)上的輔助密鑰 {K1,K2,K4,K9},輔助密鑰被該D1子組里成員共享;一組是對(duì)應(yīng)的私人密鑰{SK3,SK4}。

圖1 H-SECS結(jié)構(gòu)示例圖Fig.1 Schematic of H-SECS protocol

2.2 成員加入

加入組播的成員有兩種:一種是新加入組播中的成員;另一種是由于網(wǎng)絡(luò)故障或者其他原因被撤銷的成員,重新請(qǐng)求加入組播通信。新成員請(qǐng)求加入組通信時(shí),步驟如下:

1)GC為加入成員在整個(gè)密鑰樹(shù)中分配對(duì)應(yīng)位置。

重新請(qǐng)求加入組播通信的成員,GC為這個(gè)成員分配到以前的節(jié)點(diǎn)位置,并且將節(jié)點(diǎn)對(duì)應(yīng)的身份、私有密鑰、輔助密鑰分配給該成員。如果子組有成員加入,那么這個(gè)子組變?yōu)榛钴S的子組;否則,稱為不活躍的子組。對(duì)于新加入組播的成員,為了使通信開(kāi)銷小并且提高抗合謀攻擊能力,GC隨機(jī)選擇LKH協(xié)議樹(shù)中葉子節(jié)點(diǎn)對(duì)應(yīng)的子組Di時(shí),有以下兩種情況:

①如果選擇的Di是對(duì)應(yīng)的LKH協(xié)議樹(shù)中最小深度的葉子節(jié)點(diǎn),則將這個(gè)葉子節(jié)點(diǎn)分裂成兩個(gè)節(jié)點(diǎn)并且新創(chuàng)建一個(gè)子組,子組中包含一棵DTi樹(shù)。其中,左孩子節(jié)點(diǎn)與Di相連,右孩子節(jié)點(diǎn)與新創(chuàng)建的DTi樹(shù)相連。將新成員插入到這個(gè)新的子樹(shù)DTi中,并且將插入成員所在的子組標(biāo)記為活躍的子組。

②如果選擇的Di對(duì)應(yīng)的不是LKH協(xié)議樹(shù)中最小深度的節(jié)點(diǎn),為了保證子組中對(duì)應(yīng)的DTi樹(shù)平衡,GC從所選子組中對(duì)應(yīng)DTi樹(shù)中深度最小的葉子節(jié)點(diǎn)中隨機(jī)選擇一個(gè)葉子節(jié)點(diǎn),將這個(gè)葉子節(jié)點(diǎn)進(jìn)行分裂,左邊的節(jié)點(diǎn)與原來(lái)的成員相關(guān)聯(lián),右邊的節(jié)點(diǎn)對(duì)應(yīng)的是新插入成員的位置。如果選擇到的Di為不活躍的子組,由于新成員的加入,子組Di變成活躍子組。圖2是在圖1中加入一個(gè)成員,GC選擇到D3子組后HSECS結(jié)構(gòu)圖對(duì)應(yīng)的LKH協(xié)議樹(shù)變化。此時(shí),D5子組被標(biāo)記為活躍的子組,D5子組下面對(duì)應(yīng)DT5樹(shù),DT5樹(shù)只有一個(gè)節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)與新插入的成員對(duì)應(yīng)。

2)GC生成GKt+1并且廣播密鑰更新消息。

假設(shè)t時(shí)刻要求加入組播通信的節(jié)點(diǎn)集合用J表示,St+1(St+1=St∪J)表示加入成員后合法成員的集合。為了保證后向安全性,需要更新加入成員所影響的節(jié)點(diǎn)密鑰并且分發(fā)私人密鑰給加入的新成員。

圖2 加入子組D5后LKH協(xié)議樹(shù)變化Fig.2 LKH tree view of joining subgroup D5

組密鑰更新步驟如下:

①為活躍子組生成密文塊。為了保證信息的機(jī)密性,GC需要為活躍子組中的成員分發(fā)兩種密文塊:邏輯密文塊和SECS對(duì)應(yīng)的密文塊。

發(fā)送邏輯密文塊 GC首先統(tǒng)計(jì)每個(gè)活躍子組對(duì)應(yīng)的輔助密鑰,然后使用活躍子組對(duì)應(yīng)的LKH協(xié)議樹(shù)中兒子節(jié)點(diǎn)加密父節(jié)點(diǎn)的方式生成密鑰加密密鑰(Key Encryption Key,KEK);最后,將加密節(jié)點(diǎn)的身份ID、被加密節(jié)點(diǎn)的身份ID和對(duì)應(yīng)的KEK封裝成邏輯密文塊(Logical Key Hierarchy Cipher Text Block,LKHCB)發(fā)送給組播中合法成員。

發(fā)送SECS協(xié)議對(duì)應(yīng)的密文塊 GC使用以前的組密鑰GK來(lái)加密活躍子組對(duì)應(yīng)的LKH協(xié)議樹(shù)上的葉子節(jié)點(diǎn)密鑰,即:EGK(Ki),然后將EGK(Ki)發(fā)給合法成員。在圖2中,活躍的子組為D5,對(duì)應(yīng)LKH協(xié)議樹(shù)上所影響節(jié)點(diǎn)的密鑰是{K1,K3,K6},本文用{K1',K3',K6'} 表示已經(jīng)更新過(guò)的密鑰。則密鑰的更新產(chǎn)生密文塊LKHCB為:

LKHCB1={0100,010,EK6(K6')}

LKHCB2={0101,010,EK10(K6')}

LKHCB3={010,01,EK6'(K3')}

LKHCB4={011,01,EK7(K3')}

LKHCB5={00,0,EK2(K1')}

LKHCB6={01,0,EK3'(K1')}

K1'為更新過(guò)后的組密鑰GK(t+1)。GC將邏輯密文塊信息和SECS對(duì)應(yīng)的密文信息封裝成密文(Cipher Text,CT),發(fā)送給活躍子組中合法成員。密文結(jié)構(gòu)如下:

②為不活躍子組生成密文塊。對(duì)于不活躍子組中的成員,GC發(fā)送的密文遵循SECS協(xié)議成員加入的密文更新規(guī)則。GC使用以前的組密鑰GK來(lái)加密更新過(guò)的組密鑰,即:EGK(GK(t+1)),然后將EGK(GK(t+1))發(fā)給不活躍子組中成員。

3)成員解密密文更新消息。

組播里合法成員到密文CT。對(duì)于非活躍組里的成員,利用其知道的GK,直接解密出GK(t+1)。對(duì)于活躍子組的成員,根據(jù)其所知的GK,解密出對(duì)應(yīng)的LKH協(xié)議樹(shù)葉子節(jié)點(diǎn)更新過(guò)的密鑰,依次根據(jù)接收到的密文塊解密出GK(t+1)。假設(shè)在圖2中,成員解密,則解密信息如下:根據(jù)GK密鑰K10;根據(jù)K10,解密密文塊 LKHCB2,獲取 K6';根據(jù) K6',解密 LKHCB3,獲取 K3';根據(jù) K3'解密 LKHCB6,獲取到 GK(t+1),即 K1'。

2.3 成員離開(kāi)

假設(shè)t時(shí)刻離開(kāi)的成員用集合L={i1,i2,…,im}表示。為了保證前向安全性,需要更新離開(kāi)成員所影響的H-SECS結(jié)構(gòu)樹(shù)中的密鑰。如果成員離開(kāi)時(shí),則更新處理步驟如下:

1)根據(jù)退出成員的ID定位到退出成員所在子組里的位置,刪除DTi樹(shù)中代表該成員的葉子節(jié)點(diǎn),并且將這個(gè)節(jié)點(diǎn)標(biāo)記為不可用的節(jié)點(diǎn),由于成員的離開(kāi),這個(gè)子組變成不活躍的子組。如果DTi樹(shù)中的所有葉子節(jié)點(diǎn)都為不可用的節(jié)點(diǎn),則刪除LKH協(xié)議樹(shù)中代表DTi組的葉子節(jié)點(diǎn)。GC對(duì)LKH協(xié)議樹(shù)進(jìn)行調(diào)整,使LKH協(xié)議樹(shù)保持最優(yōu)狀態(tài)。圖3所示是圖1中LKH協(xié)議樹(shù)刪除組D1后調(diào)整后的圖。

圖3 刪除組D1后LKH協(xié)議樹(shù)圖Fig.3 LKH protocol tree after deleting subgroup D1

2)成員退出密鑰更新可以分為兩個(gè)步驟:

更新子組對(duì)應(yīng)LKH協(xié)議樹(shù)上影響節(jié)點(diǎn)的密鑰,過(guò)程遵循LKH協(xié)議的密鑰更新過(guò)程。更新退出成員所在DTi樹(shù)上密鑰,這個(gè)過(guò)程遵循SECS密鑰更新規(guī)則,步驟如下:

①建立 Steiner樹(shù)[13]。對(duì) (UL) 建立 Steiner樹(shù),用ST(UL)代表Steiner樹(shù)。假設(shè)圖4中是某個(gè)子組中離開(kāi)成員集為L(zhǎng)={u1,u2,u3},ST(UL)樹(shù)是由虛線相連的節(jié)點(diǎn)組成;

②查找覆蓋子樹(shù)。對(duì)比活躍的DTi樹(shù)和ST(UL)樹(shù),覆蓋子樹(shù)為當(dāng)前組的DTi樹(shù)除去當(dāng)前組的ST(UL),即DTi-ST(UL)。圖4中覆蓋子樹(shù)由實(shí)線相連的節(jié)點(diǎn)組成。

③更新與分發(fā)密鑰樹(shù)中相關(guān)節(jié)點(diǎn)的密鑰。覆蓋子樹(shù)所對(duì)應(yīng)的排外密鑰與組密鑰異或后形成會(huì)話密鑰,用會(huì)話密鑰來(lái)加密DTi樹(shù)中對(duì)應(yīng)LKH協(xié)議樹(shù)的葉子節(jié)點(diǎn)Kω。將排外密鑰的ID,加密形成的密文封裝成密文塊(Division Cipher Text Block,DCB),其結(jié)構(gòu)如下:

將活躍子組形成的密文塊DCB和對(duì)應(yīng)的子組號(hào)Di以及形成的邏輯密文塊封裝成密文(Division Cipher Text,DCT)。GC將DCT發(fā)給組播通信中合法成員。

圖4 子組里的完全排外子樹(shù)圖Fig.4 Complete exclusion subtree in the subgroup

3)組成員解密密文更新消息。

組播里合法成員接收到密文DCT。對(duì)于活躍子組里的成員,組成員根據(jù)LKH協(xié)議樹(shù)的密鑰檢索出密文塊,獲取相關(guān)的密鑰,最終解密出GK(t+1)。而對(duì)于不活躍子組里的合法成員,解密GK(t+1)有以下兩個(gè)步驟:首先對(duì)DCB解密,根據(jù)排外密鑰的定義,對(duì)于每個(gè)ij(j=1,2,…,m),u可以從個(gè)人密鑰集Iu中推導(dǎo)出Skij,根據(jù)這些Skij計(jì)算出DCB的會(huì)話密鑰,即Sk1⊕Sk2⊕…⊕Skm⊕GKt;然后解密出對(duì)應(yīng)LKH協(xié)議樹(shù)上新更新過(guò)的葉子節(jié)點(diǎn)的密鑰 Kω,解密結(jié)構(gòu)為:DSk1⊕Sk2⊕…⊕Skm⊕GKt(C); 最后對(duì)邏輯密文塊解密,根據(jù) LKH 協(xié)議樹(shù)的解密規(guī)則來(lái)依次解密。最終,獲取到組密鑰GK(t+1)。

2.4 抗合謀攻擊能力分析

對(duì)于SECS協(xié)議,兩個(gè)惡意的撤銷用戶可能就會(huì)破壞組的前向安全性,而在H-SECS協(xié)議中,k個(gè)合謀者成功攻破組密鑰的條件是當(dāng)且僅當(dāng)k個(gè)合謀者中至少有兩個(gè)合謀者被分在同一個(gè)子組中。用Pk表示k個(gè)合謀者中至少有兩個(gè)合謀者被分配在同一個(gè)子組中的概率,根據(jù)文獻(xiàn)[11]有式(1):

其中:n是組規(guī)模,d是子組數(shù)目。在給定n和k時(shí),Pk隨著d的增大單調(diào)遞減,即:d越大,至少有兩個(gè)合謀者被分配在同一個(gè)子組中的概率Pk就越小。在組規(guī)模一定時(shí),d越大,安全性越好,但是d的增大,會(huì)導(dǎo)致帶寬的增大。本文提出的H-SECS方案中,用戶可以根據(jù)不同的安全性要求,調(diào)整d的大小,在合謀攻擊和通信開(kāi)銷之間進(jìn)行一個(gè)最優(yōu)化的權(quán)衡:當(dāng)d=1時(shí),H-SECS協(xié)議變成SECS協(xié)議,此時(shí)每個(gè)成員加入(離開(kāi))的通信開(kāi)銷是O(1),但是只能抵抗一個(gè)用戶攻擊;當(dāng)d=n時(shí),H-SECS協(xié)議變成LKH協(xié)議,此時(shí)每個(gè)成員加入(離開(kāi))的通信開(kāi)銷是O(log n)。

3 性能仿真實(shí)驗(yàn)

在Microsoft Visual Studio 2013環(huán)境下,利用OpenSSL(版本號(hào):1.0.1t)加密庫(kù)中的高級(jí)加密標(biāo)準(zhǔn)128位(Advanced Encryption Standard-128 bit,AES-128)和安全散列算法256位(Secure Hash Algorithm-256 bit,SHA-256)來(lái)對(duì) H-SECS 方案進(jìn)行仿真。在H-SECS協(xié)議中,成員的加入(離開(kāi))時(shí),組密鑰更新是影響通信開(kāi)銷的主要因素;而對(duì)于抗合謀攻擊能力則是由子組數(shù)目決定;首先,對(duì)子組數(shù)目和Pk之間變化進(jìn)行仿真;然后,在加入(離開(kāi))成員不同時(shí),對(duì)LKH、SECS、H-SECS三種協(xié)議的通信開(kāi)銷進(jìn)行仿真實(shí)驗(yàn)。

在仿真實(shí)驗(yàn)中,參數(shù)的配置k=5;n=32768;P5代表5個(gè)合謀者至少有兩個(gè)合謀者被分在同一個(gè)子組中的概率。P5=0代表完全抗合謀攻擊;P5=1代表只能抵抗單用戶攻擊。圖5是子組數(shù)目d與P5之間的關(guān)系圖,可以看出當(dāng)子組d逐漸增大時(shí),H-SEC協(xié)議的抗合謀攻擊能力逐漸增強(qiáng)。當(dāng)d=n時(shí),H-SECS協(xié)議是完全抗合謀攻擊的,此時(shí),H-SECS協(xié)議變成LKH協(xié)議。當(dāng)d=1時(shí),H-SECS協(xié)議變成SECS協(xié)議,安全性最弱。

測(cè)試加入(離開(kāi))成員不同時(shí),LKH、SECS和H-SECS三種方案的通信開(kāi)銷。為了更好地體現(xiàn)成員變化的隨機(jī)性,對(duì)于加入(離開(kāi))成員數(shù)目不同時(shí),本文均進(jìn)行20次計(jì)算,然后取算數(shù)平均值作為最終的測(cè)試結(jié)果。測(cè)試中的Pk、d、k、n如2.4節(jié)所述。測(cè)試參數(shù)配置如表2所示:其中P5=0.147 6(d=64,m=512) 和 P5=0.0094(d=1024,m=32) 代表H-SECS協(xié)議的兩個(gè)中間點(diǎn)。成員加入測(cè)試的結(jié)果如圖6所示,成員離開(kāi)測(cè)試的結(jié)果如圖7所示。

圖5 H-SECS協(xié)議中P5與子組的關(guān)系Fig.5 Relationship between P5and subgroups in H-SECS protocol

表2 測(cè)試參數(shù)配置說(shuō)明Tab.2 Test parameter configuration instruction

圖6 三種協(xié)議中成員加入通信開(kāi)銷的對(duì)比Fig.6 Communication overhead comparision of three protocols when users join

圖7 三種協(xié)議中成員離開(kāi)通信開(kāi)銷的對(duì)比Fig.7 Communication overhead comparision of three protocols when users depart

由圖可以看出,無(wú)論是成員加入還是成員離開(kāi),LKH協(xié)議的通信開(kāi)銷最大,而SECS協(xié)議的通信開(kāi)銷最小。對(duì)于H-SEC協(xié)議的通信開(kāi)銷可以隨著子組數(shù)目d在SECS協(xié)議和LKH協(xié)議之間進(jìn)行調(diào)控,即:可以在O(1)和O(log n)之間進(jìn)行調(diào)控。

仿真實(shí)驗(yàn)中,子組數(shù)目d越大,H-SEC協(xié)議抗合謀攻擊的能力就越強(qiáng),通信開(kāi)銷就越接近LKH方案的通信開(kāi)銷;而子組數(shù)目d越小,H-SEC協(xié)議抗合謀攻擊能力就越弱,通信開(kāi)銷就越接近SECS方案的通信開(kāi)銷。所以,根據(jù)不同應(yīng)用場(chǎng)景的安全級(jí)別,H-SEC協(xié)議可以通過(guò)設(shè)置子組的數(shù)目,將抗合謀攻擊能力在SECS協(xié)議和LKH協(xié)議之間進(jìn)行調(diào)整,最終達(dá)到抗合謀攻擊能力和通信開(kāi)銷之間的權(quán)衡。

4 結(jié)語(yǔ)

本文基于SECS協(xié)議和LKH協(xié)議提出并實(shí)現(xiàn)了一種有狀態(tài)的組密鑰更新協(xié)議(H-SECS)。從理論分析和仿真結(jié)果中可以看出該協(xié)議的通信開(kāi)銷可以在LKH協(xié)議和SECS協(xié)議之間進(jìn)行調(diào)整。因?yàn)樵陬l繁組密鑰更新的場(chǎng)景中,LKH協(xié)議所產(chǎn)生的通信開(kāi)銷也是不容小覷的,所以在權(quán)衡安全性的條件下,H-SECS協(xié)議可以在抗合謀攻擊能力和通信開(kāi)銷上作出最優(yōu)的權(quán)衡,實(shí)現(xiàn)通信開(kāi)銷在SECS協(xié)議和LKH協(xié)議通信開(kāi)銷之間的調(diào)整。

猜你喜歡
合謀密文解密
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
炫詞解密
支持多跳的多策略屬性基全同態(tài)短密文加密方案
解密“一包三改”
密鑰共享下跨用戶密文數(shù)據(jù)去重挖掘方法*
炫詞解密
炫詞解密
注冊(cè)會(huì)計(jì)師與被審計(jì)單位合謀行為的治理
注冊(cè)會(huì)計(jì)師與被審計(jì)對(duì)象合謀的成因探析