敖 麗,劉 璟*,姚紹文,武 楠
(1.云南大學(xué) 軟件學(xué)院,昆明650500; 2.云南大學(xué) 信息學(xué)院,昆明650500)
(*通信作者電子郵箱liujing@ynu.edu.cn)
組密鑰更新作為組播安全研究中的關(guān)鍵,用于解決成員動態(tài)變化(加入或離開)時,組控制器(Group Controller,GC)如何高效和安全地分發(fā)一個新的組密鑰(Group Key,GK)給合法用戶的問題,并保證密鑰更新過程中的前向安全性和后向安全性[1]。在有狀態(tài)的組密鑰更新協(xié)議[2-4]中,大多數(shù)協(xié)議是基于邏輯密鑰分層(Logical Key Hierarchy,LKH)協(xié)議發(fā)展而來的。最早的LKH協(xié)議是由Wong等[5]和Wallner等[6]分別提出。文獻[7]中證明了LKH協(xié)議在抗完全合謀攻擊時,通信開銷的下界是O(log n),n為組規(guī)模大小。所以,不折中安全性和其他性能(存儲開銷、密鑰更新效率),使通信開銷低于O(log n)是不可能的??购现\攻擊主要針對組密鑰管理中安全威脅提出的系統(tǒng)需求[8]。在一些高度敏感的數(shù)據(jù)中,抗完全合謀攻擊是一種較強的安全性要求,但是,在一些資源受限(無線傳感器網(wǎng)絡(luò)[9-10])或者商業(yè)應(yīng)用(付費電視[11]、即付即看(Pay Per View,PPV)[12])場景中,對安全性要求相對較弱,而對通信開銷更為敏感,組成員頻繁的加入(離開),會給GC帶來巨大的通信開銷,所以,為了節(jié)省通信開銷,這些應(yīng)用場景中的用戶愿意容忍一定級別的安全性,通過犧牲抗合謀攻擊能力來降低通信開銷。
基于此,F(xiàn)an等[11]提出了一種混合的組密鑰更新協(xié)議(Hybrid Structuring Of Receivers,HySOR)。HySOR 協(xié)議在LORE(Linear Ordering Of Receivers)協(xié)議的基礎(chǔ)上結(jié)合LKH協(xié)議,實現(xiàn)了通信開銷和抗合謀攻擊之間的權(quán)衡。但是,LORE是基于雙哈希鏈設(shè)計的協(xié)議,HySOR協(xié)議的計算復(fù)雜度隨著組規(guī)模n呈線性變化。在文獻[13]中,利用多密鑰分發(fā)(Multicast Key Distribution,MKD)協(xié)議和LKH協(xié)議構(gòu)成的混合方案中,MKD仍然是基于雙哈希鏈的協(xié)議。Liu等[14]基于“子集-覆蓋”框架提出了排外子集覆蓋框架(Exclusive Complete Subtree,ECS),在此框架上,構(gòu)造一個混合的無狀態(tài)組密鑰更新協(xié)議,該協(xié)議適合于資源受限或者商業(yè)應(yīng)用場景。
本文在文獻[14]的基礎(chǔ)上,針對有狀態(tài)的組播通信,設(shè)計并實現(xiàn)了一種混合的組密鑰更新協(xié)議(Hybrid Stateful Exclusive Complete Subtree,H-SECS)。H-SECS協(xié)議是基于LKH協(xié)議和有狀態(tài)的完全排外子樹(Stateful Exclusive Complete Subtree,SECS)協(xié)議設(shè)計的,可以在 LKH協(xié)議和SECS協(xié)議之間進行調(diào)整,達到抗合謀攻擊能力和通信開銷之間的權(quán)衡。H-SECS協(xié)議的一個極端是LKH協(xié)議,具有完全抗合謀攻擊的特點;另外一個極端是SECS協(xié)議,具有常量通信開銷但是只能抵抗一個用戶攻擊。本文對H-SECS協(xié)議的抗合謀攻擊能力、通信開銷進行了仿真實驗分析,結(jié)果證明了H-SECS協(xié)議的通信開銷和抗合謀攻擊能力可以在LKH與SECS之間進行調(diào)控。
Liu 等[14]基于排外密鑰[15-16]設(shè)計了 SECS 協(xié)議。SECS是一種有狀態(tài)的組密鑰更新協(xié)議,通信開銷為O(1),但是只能抵抗單用戶攻擊。SECS協(xié)議主要包括兩個算法:個人密鑰分配算法和組密鑰更新算法。
個人密鑰分配算法滿足正確性和密鑰的不可區(qū)分性,所以用3個偽隨機生成器(Pseudo-Random Number Generator,PRNG)[17](GL,GR,GM) 來生成密鑰。根據(jù)組播中 n個成員組成的集合 U={u1,u2,…,un},經(jīng)過(GL,GR,GM) 自頂向下生成一棵平衡二叉樹。二叉樹的葉子節(jié)點與成員u直接相連。在平衡二叉樹中,密鑰的分配如下:任意中間節(jié)點i,有一個種子節(jié)點S。則S2i=GL(Si)代表i節(jié)點的左孩子(2i)的種子;S2i+1=GR(Si)代表 i節(jié)點的右孩子(2i+1)的種子;Ki=GM(Si)代表i節(jié)點的排外密鑰。將二叉樹中從葉子節(jié)點回溯到根節(jié)點所經(jīng)過路徑上的排外密鑰稱為路徑密鑰。成員u的排外密鑰集為u的路徑密鑰的集合;用Iu表示GC為u分配的個人密鑰集,則Iu是所有路徑密鑰上的兄弟密鑰。根據(jù)排外密鑰的定義,u不能計算出它的路徑密鑰,但是,u可以推導(dǎo)出這棵密鑰二叉樹上其余的密鑰。
定義t時刻合法成員的集合為St(StU),撤銷者集合Rt(Rt=USt)。S(t+1)表示(t+1)時刻成員動態(tài)變化后的集合;GKt表示當前的組密鑰;GK(t+1)表示更新過的組密鑰;“”表示“組播”;EK(text)表示用密鑰K加密 text。對于SECS協(xié)議,成員的加入(離開),組密鑰都需要進行更新。
1)成員加入。當成員u'在t時刻加入集合U時,有兩種方案。第一種方案是GC通過安全渠道給合法用戶廣播密文塊,即:GCS(t+1):EGKt(GK(t+1)),只有知道GKt的用戶可以對密文塊進行解密,得到GK(t+1)。本文為了保證信息的機密性,采用了哈希函數(shù)的消息認證碼(Hash-based Message Authentication Code,HMAC)函數(shù)[18],使得用于組通信的密鑰和用于加密的密鑰不是同一個密鑰,本文后面提到的GK是已經(jīng)處理過,用于加密的GK。第二種方案是通過一個公開的單向哈希函數(shù)(SHA-1)[19]來更新 GK(t+1),合法成員在收到GC廣播的更新消息時,直接通過哈希函數(shù)計算出新的組密鑰GK(t+1)。
2)成員離開。假設(shè)t時刻離開的成員集合是L={i1,i2,…,im},GC首先計算出離開成員的排外密鑰{Ki1,Ki2,…,Kim},然后將這些排外密鑰和GKt異或后作為會話密鑰來加密GK(t+1),GC將密文廣播給合法成員,密文結(jié)構(gòu)如下:
用C表示密文塊,DK(C)表示用K來解密密文塊C。當用戶 u∈ S(t+1)接收到更新消息〈i1,i2,…,im,C〉,根據(jù)排外密鑰的定義,u根據(jù)密鑰集Iu中推導(dǎo)出排外密鑰Kij;所有的排外密鑰進行異或運算:Ki1⊕Ki2⊕…⊕Kim⊕GKt計算出新的會話密鑰。最后解密得到組密鑰 GK(t+1),解密結(jié)構(gòu)如下:
結(jié)合LKH協(xié)議抗完全合謀攻擊的特點和SECS協(xié)議具有常量通信開銷的優(yōu)勢,設(shè)計并實現(xiàn)了一種混合的組密鑰管理協(xié)議(H-SECS)。該協(xié)議的密鑰管理是一個兩層的樹型結(jié)構(gòu),為了描述方便,第一層稱為LKH協(xié)議樹;第二層稱為子組樹(Division Tree,DT),DT沿用SECS協(xié)議樹的設(shè)計規(guī)則。HSECS協(xié)議可以分為成員初始化、成員加入和成員離開3個階段。表1列出H-SECS協(xié)議中用到的部分符號。
表1 H-SECS協(xié)議中符號說明Tab.1 Symbol definition of H-SECS protocol
假設(shè)n個成員建立組通信。首先,GC建立一棵LKH協(xié)議樹,包含d個葉子節(jié)點,樹中每個節(jié)點對應(yīng)一個密鑰,樹的葉子節(jié)點與子組一一對應(yīng)。然后,在每個子組里建立一棵SECS協(xié)議樹,簡稱DT。DT中包含m(m=n/d)個葉子節(jié)點,其中,如果n不能整除d,則前幾個子組里DT的葉子節(jié)點為m,最后一個子組葉子節(jié)點不足m。DT中每個葉子節(jié)點與組成員一一對應(yīng)。在建樹的過程中,采用哈夫曼編碼為樹的每個節(jié)點進行編號,規(guī)定從根節(jié)點開始,左分支為0,右分支為1,根節(jié)點的編號為0。對于DT中的每個成員,在葉子節(jié)點編號的前面加上子組號Di(Division),其中Di的數(shù)值范圍是0~ 232-1。
由于H-SECS協(xié)議的密鑰管理是一個兩層的樹型結(jié)構(gòu),所以,在DT中的每個成員存儲兩組密鑰:一組是所在子組對應(yīng)的LKH協(xié)議樹上的輔助密鑰;另外一組是成員對應(yīng)的DT中的私人密鑰。輔助密鑰是子組Di對應(yīng)的LKH協(xié)議樹上葉子節(jié)點到根節(jié)點路徑上所有節(jié)點對應(yīng)的密鑰;私人密鑰是成員u所對應(yīng)的葉子節(jié)點到DTi樹上根節(jié)點路徑上所有節(jié)點對應(yīng)的兄弟節(jié)點的密鑰,其中,LKH協(xié)議樹中根節(jié)點的密鑰為GK,組通信中所有合法成員共享GK。如圖1所示,H-SECS結(jié)構(gòu)圖中共有15 個成員。分為5 個子組:D0、D1、D2、D3、D4;每個子組中包含一棵 DT,分別為 DT0、DT1、DT2、DT3、DT4;DT的葉子節(jié)點對應(yīng)3個成員 u1、u2、u3。組密鑰GK是K1。u2D1表示D1子組中的u2用戶,它的ID號是1|001,第一位的1代表子組號,后面是成員對應(yīng)的葉子節(jié)點的編號。u2D1用戶有兩組密鑰:一組是 LKH 協(xié)議樹上的輔助密鑰 {K1,K2,K4,K9},輔助密鑰被該D1子組里成員共享;一組是對應(yīng)的私人密鑰{SK3,SK4}。
圖1 H-SECS結(jié)構(gòu)示例圖Fig.1 Schematic of H-SECS protocol
加入組播的成員有兩種:一種是新加入組播中的成員;另一種是由于網(wǎng)絡(luò)故障或者其他原因被撤銷的成員,重新請求加入組播通信。新成員請求加入組通信時,步驟如下:
1)GC為加入成員在整個密鑰樹中分配對應(yīng)位置。
重新請求加入組播通信的成員,GC為這個成員分配到以前的節(jié)點位置,并且將節(jié)點對應(yīng)的身份、私有密鑰、輔助密鑰分配給該成員。如果子組有成員加入,那么這個子組變?yōu)榛钴S的子組;否則,稱為不活躍的子組。對于新加入組播的成員,為了使通信開銷小并且提高抗合謀攻擊能力,GC隨機選擇LKH協(xié)議樹中葉子節(jié)點對應(yīng)的子組Di時,有以下兩種情況:
①如果選擇的Di是對應(yīng)的LKH協(xié)議樹中最小深度的葉子節(jié)點,則將這個葉子節(jié)點分裂成兩個節(jié)點并且新創(chuàng)建一個子組,子組中包含一棵DTi樹。其中,左孩子節(jié)點與Di相連,右孩子節(jié)點與新創(chuàng)建的DTi樹相連。將新成員插入到這個新的子樹DTi中,并且將插入成員所在的子組標記為活躍的子組。
②如果選擇的Di對應(yīng)的不是LKH協(xié)議樹中最小深度的節(jié)點,為了保證子組中對應(yīng)的DTi樹平衡,GC從所選子組中對應(yīng)DTi樹中深度最小的葉子節(jié)點中隨機選擇一個葉子節(jié)點,將這個葉子節(jié)點進行分裂,左邊的節(jié)點與原來的成員相關(guān)聯(lián),右邊的節(jié)點對應(yīng)的是新插入成員的位置。如果選擇到的Di為不活躍的子組,由于新成員的加入,子組Di變成活躍子組。圖2是在圖1中加入一個成員,GC選擇到D3子組后HSECS結(jié)構(gòu)圖對應(yīng)的LKH協(xié)議樹變化。此時,D5子組被標記為活躍的子組,D5子組下面對應(yīng)DT5樹,DT5樹只有一個節(jié)點,這個節(jié)點與新插入的成員對應(yīng)。
2)GC生成GKt+1并且廣播密鑰更新消息。
假設(shè)t時刻要求加入組播通信的節(jié)點集合用J表示,St+1(St+1=St∪J)表示加入成員后合法成員的集合。為了保證后向安全性,需要更新加入成員所影響的節(jié)點密鑰并且分發(fā)私人密鑰給加入的新成員。
圖2 加入子組D5后LKH協(xié)議樹變化Fig.2 LKH tree view of joining subgroup D5
組密鑰更新步驟如下:
①為活躍子組生成密文塊。為了保證信息的機密性,GC需要為活躍子組中的成員分發(fā)兩種密文塊:邏輯密文塊和SECS對應(yīng)的密文塊。
發(fā)送邏輯密文塊 GC首先統(tǒng)計每個活躍子組對應(yīng)的輔助密鑰,然后使用活躍子組對應(yīng)的LKH協(xié)議樹中兒子節(jié)點加密父節(jié)點的方式生成密鑰加密密鑰(Key Encryption Key,KEK);最后,將加密節(jié)點的身份ID、被加密節(jié)點的身份ID和對應(yīng)的KEK封裝成邏輯密文塊(Logical Key Hierarchy Cipher Text Block,LKHCB)發(fā)送給組播中合法成員。
發(fā)送SECS協(xié)議對應(yīng)的密文塊 GC使用以前的組密鑰GK來加密活躍子組對應(yīng)的LKH協(xié)議樹上的葉子節(jié)點密鑰,即:EGK(Ki),然后將EGK(Ki)發(fā)給合法成員。在圖2中,活躍的子組為D5,對應(yīng)LKH協(xié)議樹上所影響節(jié)點的密鑰是{K1,K3,K6},本文用{K1',K3',K6'} 表示已經(jīng)更新過的密鑰。則密鑰的更新產(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'為更新過后的組密鑰GK(t+1)。GC將邏輯密文塊信息和SECS對應(yīng)的密文信息封裝成密文(Cipher Text,CT),發(fā)送給活躍子組中合法成員。密文結(jié)構(gòu)如下:
②為不活躍子組生成密文塊。對于不活躍子組中的成員,GC發(fā)送的密文遵循SECS協(xié)議成員加入的密文更新規(guī)則。GC使用以前的組密鑰GK來加密更新過的組密鑰,即:EGK(GK(t+1)),然后將EGK(GK(t+1))發(fā)給不活躍子組中成員。
3)成員解密密文更新消息。
組播里合法成員到密文CT。對于非活躍組里的成員,利用其知道的GK,直接解密出GK(t+1)。對于活躍子組的成員,根據(jù)其所知的GK,解密出對應(yīng)的LKH協(xié)議樹葉子節(jié)點更新過的密鑰,依次根據(jù)接收到的密文塊解密出GK(t+1)。假設(shè)在圖2中,成員解密,則解密信息如下:根據(jù)GK密鑰K10;根據(jù)K10,解密密文塊 LKHCB2,獲取 K6';根據(jù) K6',解密 LKHCB3,獲取 K3';根據(jù) K3'解密 LKHCB6,獲取到 GK(t+1),即 K1'。
假設(shè)t時刻離開的成員用集合L={i1,i2,…,im}表示。為了保證前向安全性,需要更新離開成員所影響的H-SECS結(jié)構(gòu)樹中的密鑰。如果成員離開時,則更新處理步驟如下:
1)根據(jù)退出成員的ID定位到退出成員所在子組里的位置,刪除DTi樹中代表該成員的葉子節(jié)點,并且將這個節(jié)點標記為不可用的節(jié)點,由于成員的離開,這個子組變成不活躍的子組。如果DTi樹中的所有葉子節(jié)點都為不可用的節(jié)點,則刪除LKH協(xié)議樹中代表DTi組的葉子節(jié)點。GC對LKH協(xié)議樹進行調(diào)整,使LKH協(xié)議樹保持最優(yōu)狀態(tài)。圖3所示是圖1中LKH協(xié)議樹刪除組D1后調(diào)整后的圖。
圖3 刪除組D1后LKH協(xié)議樹圖Fig.3 LKH protocol tree after deleting subgroup D1
2)成員退出密鑰更新可以分為兩個步驟:
更新子組對應(yīng)LKH協(xié)議樹上影響節(jié)點的密鑰,過程遵循LKH協(xié)議的密鑰更新過程。更新退出成員所在DTi樹上密鑰,這個過程遵循SECS密鑰更新規(guī)則,步驟如下:
①建立 Steiner樹[13]。對 (UL) 建立 Steiner樹,用ST(UL)代表Steiner樹。假設(shè)圖4中是某個子組中離開成員集為L={u1,u2,u3},ST(UL)樹是由虛線相連的節(jié)點組成;
②查找覆蓋子樹。對比活躍的DTi樹和ST(UL)樹,覆蓋子樹為當前組的DTi樹除去當前組的ST(UL),即DTi-ST(UL)。圖4中覆蓋子樹由實線相連的節(jié)點組成。
③更新與分發(fā)密鑰樹中相關(guān)節(jié)點的密鑰。覆蓋子樹所對應(yīng)的排外密鑰與組密鑰異或后形成會話密鑰,用會話密鑰來加密DTi樹中對應(yīng)LKH協(xié)議樹的葉子節(jié)點Kω。將排外密鑰的ID,加密形成的密文封裝成密文塊(Division Cipher Text Block,DCB),其結(jié)構(gòu)如下:
將活躍子組形成的密文塊DCB和對應(yīng)的子組號Di以及形成的邏輯密文塊封裝成密文(Division Cipher Text,DCT)。GC將DCT發(fā)給組播通信中合法成員。
圖4 子組里的完全排外子樹圖Fig.4 Complete exclusion subtree in the subgroup
3)組成員解密密文更新消息。
組播里合法成員接收到密文DCT。對于活躍子組里的成員,組成員根據(jù)LKH協(xié)議樹的密鑰檢索出密文塊,獲取相關(guān)的密鑰,最終解密出GK(t+1)。而對于不活躍子組里的合法成員,解密GK(t+1)有以下兩個步驟:首先對DCB解密,根據(jù)排外密鑰的定義,對于每個ij(j=1,2,…,m),u可以從個人密鑰集Iu中推導(dǎo)出Skij,根據(jù)這些Skij計算出DCB的會話密鑰,即Sk1⊕Sk2⊕…⊕Skm⊕GKt;然后解密出對應(yīng)LKH協(xié)議樹上新更新過的葉子節(jié)點的密鑰 Kω,解密結(jié)構(gòu)為:DSk1⊕Sk2⊕…⊕Skm⊕GKt(C); 最后對邏輯密文塊解密,根據(jù) LKH 協(xié)議樹的解密規(guī)則來依次解密。最終,獲取到組密鑰GK(t+1)。
對于SECS協(xié)議,兩個惡意的撤銷用戶可能就會破壞組的前向安全性,而在H-SECS協(xié)議中,k個合謀者成功攻破組密鑰的條件是當且僅當k個合謀者中至少有兩個合謀者被分在同一個子組中。用Pk表示k個合謀者中至少有兩個合謀者被分配在同一個子組中的概率,根據(jù)文獻[11]有式(1):
其中:n是組規(guī)模,d是子組數(shù)目。在給定n和k時,Pk隨著d的增大單調(diào)遞減,即:d越大,至少有兩個合謀者被分配在同一個子組中的概率Pk就越小。在組規(guī)模一定時,d越大,安全性越好,但是d的增大,會導(dǎo)致帶寬的增大。本文提出的H-SECS方案中,用戶可以根據(jù)不同的安全性要求,調(diào)整d的大小,在合謀攻擊和通信開銷之間進行一個最優(yōu)化的權(quán)衡:當d=1時,H-SECS協(xié)議變成SECS協(xié)議,此時每個成員加入(離開)的通信開銷是O(1),但是只能抵抗一個用戶攻擊;當d=n時,H-SECS協(xié)議變成LKH協(xié)議,此時每個成員加入(離開)的通信開銷是O(log n)。
在Microsoft Visual Studio 2013環(huán)境下,利用OpenSSL(版本號:1.0.1t)加密庫中的高級加密標準128位(Advanced Encryption Standard-128 bit,AES-128)和安全散列算法256位(Secure Hash Algorithm-256 bit,SHA-256)來對 H-SECS 方案進行仿真。在H-SECS協(xié)議中,成員的加入(離開)時,組密鑰更新是影響通信開銷的主要因素;而對于抗合謀攻擊能力則是由子組數(shù)目決定;首先,對子組數(shù)目和Pk之間變化進行仿真;然后,在加入(離開)成員不同時,對LKH、SECS、H-SECS三種協(xié)議的通信開銷進行仿真實驗。
在仿真實驗中,參數(shù)的配置k=5;n=32768;P5代表5個合謀者至少有兩個合謀者被分在同一個子組中的概率。P5=0代表完全抗合謀攻擊;P5=1代表只能抵抗單用戶攻擊。圖5是子組數(shù)目d與P5之間的關(guān)系圖,可以看出當子組d逐漸增大時,H-SEC協(xié)議的抗合謀攻擊能力逐漸增強。當d=n時,H-SECS協(xié)議是完全抗合謀攻擊的,此時,H-SECS協(xié)議變成LKH協(xié)議。當d=1時,H-SECS協(xié)議變成SECS協(xié)議,安全性最弱。
測試加入(離開)成員不同時,LKH、SECS和H-SECS三種方案的通信開銷。為了更好地體現(xiàn)成員變化的隨機性,對于加入(離開)成員數(shù)目不同時,本文均進行20次計算,然后取算數(shù)平均值作為最終的測試結(jié)果。測試中的Pk、d、k、n如2.4節(jié)所述。測試參數(shù)配置如表2所示:其中P5=0.147 6(d=64,m=512) 和 P5=0.0094(d=1024,m=32) 代表H-SECS協(xié)議的兩個中間點。成員加入測試的結(jié)果如圖6所示,成員離開測試的結(jié)果如圖7所示。
圖5 H-SECS協(xié)議中P5與子組的關(guān)系Fig.5 Relationship between P5and subgroups in H-SECS protocol
表2 測試參數(shù)配置說明Tab.2 Test parameter configuration instruction
圖6 三種協(xié)議中成員加入通信開銷的對比Fig.6 Communication overhead comparision of three protocols when users join
圖7 三種協(xié)議中成員離開通信開銷的對比Fig.7 Communication overhead comparision of three protocols when users depart
由圖可以看出,無論是成員加入還是成員離開,LKH協(xié)議的通信開銷最大,而SECS協(xié)議的通信開銷最小。對于H-SEC協(xié)議的通信開銷可以隨著子組數(shù)目d在SECS協(xié)議和LKH協(xié)議之間進行調(diào)控,即:可以在O(1)和O(log n)之間進行調(diào)控。
仿真實驗中,子組數(shù)目d越大,H-SEC協(xié)議抗合謀攻擊的能力就越強,通信開銷就越接近LKH方案的通信開銷;而子組數(shù)目d越小,H-SEC協(xié)議抗合謀攻擊能力就越弱,通信開銷就越接近SECS方案的通信開銷。所以,根據(jù)不同應(yīng)用場景的安全級別,H-SEC協(xié)議可以通過設(shè)置子組的數(shù)目,將抗合謀攻擊能力在SECS協(xié)議和LKH協(xié)議之間進行調(diào)整,最終達到抗合謀攻擊能力和通信開銷之間的權(quán)衡。
本文基于SECS協(xié)議和LKH協(xié)議提出并實現(xiàn)了一種有狀態(tài)的組密鑰更新協(xié)議(H-SECS)。從理論分析和仿真結(jié)果中可以看出該協(xié)議的通信開銷可以在LKH協(xié)議和SECS協(xié)議之間進行調(diào)整。因為在頻繁組密鑰更新的場景中,LKH協(xié)議所產(chǎn)生的通信開銷也是不容小覷的,所以在權(quán)衡安全性的條件下,H-SECS協(xié)議可以在抗合謀攻擊能力和通信開銷上作出最優(yōu)的權(quán)衡,實現(xiàn)通信開銷在SECS協(xié)議和LKH協(xié)議通信開銷之間的調(diào)整。