陳海紅,李軍義
1.湖南永州職業(yè)技術(shù)學(xué)院 計算機(jī)系,湖南 永州 425000 2.湖南大學(xué) 信息科學(xué)與工程學(xué)院,長沙 410082
新的基于身份認(rèn)證的群密鑰協(xié)商協(xié)議
陳海紅1,李軍義2
1.湖南永州職業(yè)技術(shù)學(xué)院 計算機(jī)系,湖南 永州 425000 2.湖南大學(xué) 信息科學(xué)與工程學(xué)院,長沙 410082
群密鑰協(xié)商(GKA)協(xié)議在構(gòu)建安全多播信道中扮演著主要角色。由于公鑰管理的簡潔性和高效性,基于身份的認(rèn)證群密鑰協(xié)商協(xié)議密碼系統(tǒng)近年來成為熱門研究方向。提出了一個基于Weil對和完全三叉樹結(jié)構(gòu)的群密鑰協(xié)商協(xié)議,同時提出了成員加入和離開子協(xié)議。對新方案的安全性進(jìn)行了分析,結(jié)果顯示,新方案可以抵抗常見的攻擊。在性能方面,新方案在參與者較多時有較明顯的計算優(yōu)勢。
群密鑰協(xié)商;基于身份的認(rèn)證;Weil對;三叉樹
密鑰建立協(xié)議可以幫助一組參與者通過公開、不安全的網(wǎng)絡(luò)交換信息來生成一個會話密鑰。該密鑰能夠用來實現(xiàn)參與者的安全目標(biāo),例如認(rèn)證、保密和數(shù)據(jù)完整。生成會話密鑰的方法有兩種:密鑰分發(fā)和密鑰協(xié)商。密鑰分發(fā)需要一個群控制者來持有群組中所有參與者的信息。如果群控制者被攻擊,那么群組密鑰生成即告失敗。該方法的優(yōu)勢在于:由于群成員可以隨時加入或者離開群組,群控制者在這種情況下有明顯的存在價值。相反的,密鑰協(xié)商不需要群控制者,群中的所有參與者通過密鑰協(xié)商生成會話密鑰。由于會話密鑰包含了所有參與者的信息,因此任何一個參與者都無法控制或者預(yù)測會話密鑰。
第一個密鑰協(xié)商協(xié)議是由Diffie與Hellman在文獻(xiàn)[1]中提出的。Diffie-Hellman協(xié)議能夠保證兩個參與者之間的通信安全。但是沒有對參與者身份進(jìn)行認(rèn)證,因此容易遭到“中間人攻擊”。1986年,Matsumoto、Takahima和Imai[2]擴(kuò)展了Diffie-Hellman協(xié)議,提出了三個雙方認(rèn)證密鑰協(xié)商協(xié)議:MTI/A0、MTI/B0和MTI/C0。這些協(xié)議能夠通過巧妙的消息傳遞而不需要簽名,為通信雙方產(chǎn)生能夠抵抗被動攻擊者攻擊的雙向認(rèn)證的會話密鑰。Joux[3]利用Weil對實現(xiàn)了三方的密鑰協(xié)商協(xié)議。當(dāng)有三個參與者想要協(xié)商一個公共的會話密鑰時,協(xié)議中每個參與者只需要傳送一條消息。但是,Joux提出的協(xié)議也無法認(rèn)證參與者,而且同樣容易遭到“中間人攻擊”。
以上兩種密鑰協(xié)商技術(shù)都能夠重復(fù)步驟為動態(tài)的群組建立會話密鑰。然而,如果群成員較多或者協(xié)議的通信代價非常昂貴,上述方法的效率則會降低。因此,許多動態(tài)群密鑰協(xié)商協(xié)議為增加和離開的群成員而設(shè)計高效的操作[4-6]。例如,Sherman在文獻(xiàn)[7]中首次提出了將單向的函數(shù)樹(OFTs)用來計算密鑰樹。在該方案中,密鑰是從葉子節(jié)點到根節(jié)點來進(jìn)行計算的。另外,滿足一些特殊性質(zhì)的任意兩個參與方的密鑰協(xié)商協(xié)議都能夠通過使用單向函數(shù)樹擴(kuò)展成為n個參與方的密鑰協(xié)商協(xié)議。
Reddy和Nalla[8]利用單向函數(shù)樹設(shè)計了首個基于身份的群密鑰協(xié)商協(xié)議,同時將兩方認(rèn)證的密鑰協(xié)商協(xié)議擴(kuò)展為可認(rèn)證的群密鑰協(xié)商協(xié)議。Shiau等人[9]的協(xié)議同樣使用密鑰樹結(jié)構(gòu)。但是該方案使用完全二叉樹結(jié)構(gòu),也就是說樹中的每一個節(jié)點代表一個參與者。Barua等人[10]將Joux等人[3]提出的基礎(chǔ)協(xié)議成為多方協(xié)議。在他們的協(xié)議中樹的葉子節(jié)點表示個體參與者并且每一個內(nèi)部節(jié)點分別與以該節(jié)點為根節(jié)點的子樹相對應(yīng)的參與者集合匹配。但是該協(xié)議同樣沒有認(rèn)證。Dutta等人在文獻(xiàn)[11]中利用多方簽名實現(xiàn)了該協(xié)議的認(rèn)證性。
本文提出了一種新的基于Weil對的群密鑰協(xié)商協(xié)議。本協(xié)議利用基于身份的認(rèn)證和完全三叉樹結(jié)構(gòu),使得樹中的每一個節(jié)點代表群中的一個參與者。如果一些參與者想要加入或者離開群,不需要群中的所有參與者重新更新他們的計算來獲取密鑰,因此這適合于動態(tài)變化的環(huán)境。
本文組織如下:第2章介紹一些概念和假設(shè)。第3章提出新協(xié)議。隨后的兩章進(jìn)行安全性分析和性能分析。最后一章為本文結(jié)論。
假設(shè)G1是一個階為素數(shù)q的加法群,G2是一個階為素數(shù)q的乘法群。P是G1的生成元。假設(shè)離散對數(shù)問題(DLP)在群G1和G2中是難解的。e是兩個群上的雙線性映射e:G1×G1→G2,這一雙線性映射滿足下面的性質(zhì)。
(1)雙線性:對于所有 P,Q∈G1和 a,b∈Z*q,有e(aP,bQ)=e(P,Q)ab成立。
(2)非退化性:如果 P是 G1的生成元,那么e(P,P)≠1。
(3)可計算性:存在有效的算法計算e(P,Q),其中P,Q∈G1。
為了使用雙線性映射來實現(xiàn)協(xié)議,給出以下問題和假設(shè)[12]:
(1)G1中的HDH(Hash Decisional Diffie-Hellman)問題:給定(P,aP,bP,c)和哈希函數(shù) H1:G1→Z*q,判定等式c=H1(abP)modq是否成立。
HDH假設(shè):不存在多項式時間算法解決G1中的HDH問題。
(2)BDH(Bilinear Diffie-Hellman)問題:給定(P,aP,bP,cP),計算 e(P,P)abc。
BDH假設(shè):不存在多項式時間算法解決BDH問題。
(3)DHBDH(Decisional Hash Bilinear Diffie-Hellman)問題:給定(P,aP,bP,cP,d)和一個哈希函數(shù) H2:G2→Z*q,判定等式d=H2(e(P,P)abc)modq是否成立。
DHBDH假設(shè):不存在多項式時間算法解決DHBDH問題。
新協(xié)議分為三個階段:初始化階段、密鑰協(xié)商階段和成員變更階段。為了實現(xiàn)基于身份的認(rèn)證,初始化階段時每名參與者需要在KGC(Key Generation Center,密鑰生成中心)中注冊。
本小節(jié)描述每個參與者如何在KGC中注冊。在KGC中注冊結(jié)束后每名成員能夠執(zhí)行下一階段來計算群會話密鑰。為了達(dá)到這個目的,首先由KGC選擇隨機(jī)數(shù) s∈RZ*q,然后計算并公開 Ppub=sP作為公鑰。KGC秘密的保存s作為其主密鑰。每名參與者的身份和其長期公鑰分別是IDi∈{0,1}*和Qi=H(IDi)。每一個參與者將會使用Qi通過安全信道在KGC中進(jìn)行注冊:
步驟1參與者Ui發(fā)送Qi給KGC。
步驟2 KGC計算參與者Ui的長期私鑰Si=sQi,并將Si發(fā)送給Ui。
協(xié)議的公共參數(shù)為:(G1,G2,e,q,P,Ppub,H,H1,H2,H3),其中H3:G1×G1→Z*q是安全Hash函數(shù)。
本小節(jié)定義被授權(quán)的參與者如何共同合作來計算公共的會話密鑰。本協(xié)議中密鑰協(xié)商過程保留了基于完全三叉樹的結(jié)構(gòu)。樹中的每一個節(jié)點都代表一個參與者,如圖1所示的例子中有16個參與者。
圖1 由16個參與者組成的群表示的一個完全三叉樹
假設(shè)一個群中有n名參與者,每一名參與者Ui(i∈{1,2,…,n})都有他們自己的長期公鑰/私鑰(Qi/Si)。在每一輪新的協(xié)議中,參與者將會選擇隨機(jī)數(shù)ai作為臨時私鑰。在完全三叉樹中有四類節(jié)點:葉子節(jié)點,只有一個左子節(jié)點的內(nèi)部節(jié)點,有兩個子節(jié)點(男孩和女孩)的內(nèi)部節(jié)點以及第四類節(jié)點是有三個子節(jié)點的內(nèi)部節(jié)點。
類型1節(jié)點為葉子節(jié)點(3i>n)。
1.1 令ti=ai。
1.2 參與者Ui發(fā)送ti?P給他的(她的)父節(jié)點以及他的(她的)兄妹節(jié)點(兄弟或者姐妹)。
類型2節(jié)點只有一個子節(jié)點(3i-l=n)。
2.2 參與者Ui發(fā)送消息(Pi,,Ti)給參與者U3i-1,其 中 Pi=aiP,以 及 Ti=H3(Pi,+aiPpub。參與者U3i-1發(fā)送消息(P3i-1,T3i-1)給參與者Ui,其中P3i-1=a3i-1P以及T3i-1=H1(P3i-1)S3i-1+a3i-1Ppub。
2.3 參與者Ui驗證下面的等式e(T3i-1,P)=e(H1(P3i-1)Q3i-1+P3i-1,Ppub)并且參與者U3i-1驗證下面的等式 e(Ti,P)=e(H3(Pi,+Pi,Ppub)。
2.4 如果2.3中的等式成立,那么Ui計算 Ki=e(P3i-1,并且 U3i-1計算 K3i-1=e(Pi,。注意K3i-1=e(P,P)=Ki。
2.5 如果i=1,那么會話密鑰就是Ki,否則參與者Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給他的父節(jié)點、兄妹節(jié)點和群中兄妹節(jié)點的子節(jié)點。
類型3該節(jié)點有兩個子節(jié)點(3i=n)。這種情況下,三個參與者Ui、U3i和U3i-1簡單地執(zhí)行三方一輪的密鑰交換。
3.1 參與者Ui發(fā)送消息(Pi,Ti)給參與者U3i和U3i-1。參與者U3i-1發(fā)送消息(P3i-1,T3i-1)給參與者Ui和U3i。最后,參與者U3i發(fā)送消息給參與者Ui和U3i-1,其中一般的Pk=akP并且Tk=H1(Pk)Sk+akPpub,(k=i,3i-1,3i)。
3.2 這一步驟中一般的每一個參與者Uk驗證從其他兩個參與者那里收到的消息(PA,TA),(PB,TB)是否滿足下面的等式:e(TA+TB,P)=e(H1(PA)QA+H1(PB)QB+PA+PB,Ppub)。
3.3 如果步驟3.2中的等式成立,那么:
(1)Ui計算 Ki=e(P3i,P3i-1)ai=e(P,P)aia3ia3i-1。
(2)U3i-1計算 K3i-1=e(P3i,Pi)a3i-1=e(P,P)aia3ia3i-1。
(3)U3i計算 K3i=e(Pi,P3i-1)a3i=e(P,P)aia3ia3i-1。
顯然Ki=K3i=K3i-1。
3.4 如果i=1,那么會話密鑰是Ki,否則參與者Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給他的父親節(jié)點、兄妹節(jié)點和群中的兄妹的子節(jié)點。
類型4該節(jié)點有三個子節(jié)點。
之前解釋過的類型(類型1、類型2和類型3)都類似于Hwang等人提出協(xié)議中的完全三叉樹類型(本文中使用不同的等式用來認(rèn)證,該認(rèn)證需要兩個對,然而他們的認(rèn)證需要三個對)。
這一類型是本文的主要貢獻(xiàn)之一,完全三叉樹的密鑰協(xié)商階段重要部分描述如下:
4.1 每一個參與者選擇ak∈RZq*然后計算Pk=akP和T=H1(Pk)S+aPpub。
(1)Ui發(fā)送消息 (Pi,Ti)給參與者 U3i-1,U3i和U3i+1。
(2)U3i-1發(fā)送消息(P3i-1,T3i-1)給參與者Ui,U3i和U3i+1。
(3)U3i發(fā)送消息 (P3i,T3i)給參與者Ui,U3i-1和U3i+1。
(4)U3i+1發(fā)送消息(P3i+1,T3i+1)給參與者Ui,U3i和U3i-1。
4.2 每一個參與者驗證前一步驟中收到的消息。
(1)一般的,參與者Uk通過下面的等式驗證收到的消息(PA,TA),(PB,TB),(PC,TC):
(2)注意每一個參與者都要同時驗證其他三個參與者。
4.3 如果對于參與者Ui和U3i關(guān)系式(1)驗證成立,那么
(1)Ui分別計算并發(fā)送消息(Pi,3i+1,),(Pi,3i-1,和 (Pi,3i-1,給參與者 U3i-1,U3i和U3i+1。
(2)U3i同樣計算并發(fā)送消息 (P3i,3i-1,給參與者Ui。
(3)一般的,Pi,j=aiPj以及=H1(Pi,j)Si+aiPpub。
4.4 一般的,每一個參與者Uk通過下面的等式驗證收到的消息 (Pi,j,:
4.5 最后,如果等式(2)成立,每一個參與者計算如下密鑰:
很明顯,所有計算的密鑰全部相等,也就是說Ki=K3i=K3i-1=K3i+1。
4.6 如果i=1也就是說參與者抵達(dá)了樹的根節(jié)點并且會話密鑰為 Ki,否則Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給群中他的父節(jié)點,兄妹節(jié)點以及兄妹節(jié)點的子節(jié)點。
每一名參與者執(zhí)行以上過程,直到抵達(dá)根節(jié)點,因此群中的所有參與者可以獲得公共的會話密鑰Ki。
通信過程中參與者可能想要加入或者離開群組都是有可能的。為了安全考慮,那些在加入群之前和離開群之后的參與者必須不能獲取群中發(fā)送的消息。因此,必須為那些想要加入或者離開群組的參與者執(zhí)行一些操作。
3.3.1 加入子協(xié)議
假設(shè)在任意參與者加入群組之前群中有n個參與者。新來的參與者在完全三叉樹中被安放在第n+1個節(jié)點的位置。為了加入群組,該參與者將執(zhí)行下面的步驟:
(1)參與者U1將包含了群參與者數(shù)目和所有參與者公鑰的群組信息發(fā)送給第n+1個參與者。
(2)參與者Un+1選擇隨機(jī)數(shù)an+1∈RZ*q作為臨時的私鑰,然后計算并廣播Pn+1=an+1P和簽名Tn+1=H1(Pn+1)an+1+an+1Ppub。
當(dāng)參與者Un+1加入到有n個參與者的群組中時,在原始的群組中,參與者的數(shù)量有三種可能的模式。
模式1n=0mod3或者n=3K。
這時,在參與者Un+1加入群組后最后一個父節(jié)點有三個子節(jié)點,見圖2。
圖2 新增的第16個參與者
令i=n/3,Ui是新來參與者Un+1的父節(jié)點。在這種類型中Ui具有三個子節(jié)點并且會話密鑰的計算過程類似于類型4中的密鑰協(xié)商節(jié)點。這種情況下,Un+1扮演類型4中U3i+1的角色。在類型4的最后:
Ui計算 Ki=e(P3i,3i-1,Pn+1)ai。
U3i-1計算 K3i-1=e(Pi,n+1,P3i)a3i-1。
U3i計算 K3i=e(Pi,3i-1,Pn+1)a3i。
Un+1計算Kn+1=e(Pi,3i-1,P3i)an+1。
顯然,Ki=K3i=K3i-1=Kn+1=e(P,P)aia3ia3i-1an+1。如果i=1,那么會話密鑰就是Ki,否則Ui設(shè)置ti=H2(ki)并廣播Pi=tiP給群中他的父節(jié)點,兄妹節(jié)點和兄妹節(jié)點的子節(jié)點。然后他繼續(xù)執(zhí)行密鑰協(xié)商節(jié)點直到抵達(dá)根節(jié)點。
模式2n=1mod3或者n=3k+1
在參與者Un+1加入群組之后,最后一個父節(jié)點只有一個子節(jié)點(見圖3)。令i=(n+2)/3,那么Ui是新來參與者Un+1的父親節(jié)點,此時Ui只有Un+1作為他的子節(jié)點。與類型2中的密鑰協(xié)商節(jié)點類似。
圖3 新增的第14個參與者
(1)參與者Ui選擇另外一個額外的隨機(jī)數(shù)并計算 Pi=aiP,和 Ti=H3(Pi,+aiPpub,然后發(fā)送消息 (Pi,Ti)給參與者Un+1。
(2)參與者Un+1同樣計算 Pn+1=an+1P和Tn+1=H1(Pn+1)Sn+1+an+1Ppub,然后發(fā)送消息(Pn+1,Tn+1)給參與者Ui。
(3)與類型2中的步驟2.3一樣,Ui和Un+1同時驗證他們收到的消息。如果驗證成功,那么Ui計算Ki=e(Pn+1,以及 Un+1計算 Kn+1=e(Pi,。注意 Kn+1=e(P,=Ki。
如果i=1那么會話密鑰就是Ki,否則參與者Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給群中他的父節(jié)點,兄妹節(jié)點和兄妹節(jié)點的子節(jié)點,然后繼續(xù)密鑰協(xié)商階段直到抵達(dá)根節(jié)點。
模式3n=2mod3或者n=3K-1
這就表示當(dāng)參與者Un+1加入群組之后,三叉樹的最后一個父節(jié)點有兩個子節(jié)點(見圖4)。
圖4 新增的第15個參與者
令i=(n+1)/3,Ui是新來參與者Un+1的父親節(jié)點。這種類型下Ui有兩個子節(jié)點,其計算會話密鑰的過程就與類型3中密鑰協(xié)商過程類似,在執(zhí)行步驟3.1和3.2之后:
Ui計算 Ki=e(Pn+1,P3i-1)ai=e(P,P)aian+1a3i-1。
U3i-1計算 K3i-1=e(Pn+1,Pi)a3i-1=e(P,P)aian+1a3i-1。
Un+1計算 Kn+1=e(Pi,P3i-1)an+1=e(P,P)aian+1a3i-1。
顯然,Ki=Kn+1=K3i-1。如果i=1,那么會話密鑰就是 Ki,否則Ui設(shè)置ti=H2(Ki)并發(fā)送 Pi=tiP給他在群中其他的父節(jié)點、兄妹節(jié)點和兄妹節(jié)點的子節(jié)點。隨后繼續(xù)進(jìn)行密鑰協(xié)商,直到抵達(dá)根節(jié)點。
為了更新會話密鑰,在從第n+1個節(jié)點到第一個(根)節(jié)點的路徑上的每一個節(jié)點所保存的每一個會話密鑰Ki都會被改變。至此,加入?yún)f(xié)議的所有三種類型都已介紹,會話密鑰K5,K2和后續(xù)的K1都會被改變。圖5顯示了當(dāng)參與者U16加入群組后這些改變的路徑。
圖5 U16加入后 K5,K2和 K1值將被改變
3.3.2 離開子協(xié)議
假設(shè)原來群組中有n個參與者,令離開的參與者為Ul,那么更換Un和Ul的位置,隨后刪除參與者Ul并更新會話密鑰。根據(jù)Ul的位置,有如下三種模式。
模式1l=n
這種模式中,離開的參與者是三叉樹的最后一個節(jié)點。協(xié)議可以直接刪除最后一個節(jié)點Un,然后生成一個新的公共會話密鑰。
(1)如果n=3k+1,令i=(n+2)/3。這種類型中,當(dāng)Un離開群組后,Ui擁有兩個子節(jié)點。Ui選擇一個新的隨機(jī)數(shù)作為臨時秘密密鑰并執(zhí)行類型3中密鑰協(xié)商階段的相同操作。
① Ui計算和,然后發(fā)送消息給參與者 U3i-1和 U3i,最后計算 Ki=
② U3i-1驗證完消息后計算 K3i-1=e(P3i,
③ U3i同樣驗證消息后計算 K3i=e(P3i-1,
④如果i=1,那么會話密鑰就是Ki,否則Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給群中他的父節(jié)點、兄妹節(jié)點和兄妹節(jié)點的子節(jié)點,然后繼續(xù)執(zhí)行密鑰協(xié)商階段直到抵達(dá)根節(jié)點。
(2)如果n=3K,令i=n/3。在這種類型中當(dāng)Un離開群組后,Ui只有一個子節(jié)點,并與類型2中的密鑰協(xié)商階段一樣重新選擇另外一個額外的隨機(jī)數(shù)。
① Ui計 算和aiPpub并發(fā)送消息給參與者U3n-1。
②U3n-1同樣發(fā)送消息(P3n-1,T3n-1)給參與者Ui,其中P3n-1=a3n-1P以及T3n-1=H1(P3n-1)S3n-1+a3n-1Ppub。
③Ui和U3n-1像類型2中的步驟2.3一樣驗證他們收到的消息。如果驗證關(guān)系成立,那么Ui計算Ki=計 算其中
④如果i=1,那么會話密鑰就是Ki,否則Ui設(shè)置ti=H2(Ki)并發(fā)送Pi=tiP給群中他的父親節(jié)點、兄妹節(jié)點和兄妹節(jié)點的子節(jié)點,然后繼續(xù)執(zhí)行密鑰協(xié)商階段直到抵達(dá)根節(jié)點。
(3)如果n=3k-1,令i=(n+1)/3。這種類型中當(dāng)參與者Un離開群組后,Ui沒有任何子節(jié)點,因此他選擇一個新的隨機(jī)數(shù)作為他的臨時密鑰并以替換ti,然后發(fā)送和最后 Ui更新Ki并隨后繼續(xù)密鑰協(xié)商階段直到抵達(dá)根節(jié)點。
模式2l=1
該模式離開參與者的位置是在三叉樹的根節(jié)點。因此,協(xié)議刪除根節(jié)點U1并用最后的一個節(jié)點Un替代,然后執(zhí)行已經(jīng)解釋過的模式1中的離開子協(xié)議以生成一個新的公共密鑰。圖6顯示了一個原先有16個參與者的群組中U1離開群的例子。
圖6 節(jié)點16代替第1個離開節(jié)點
模式3l∈{2,3,…,n-1}
該模式中協(xié)議用Un(三叉樹中的最后一個節(jié)點)替換Ul,并繼續(xù)模式1中的離開子協(xié)議來生成一個新的公共會話密鑰。
新協(xié)議可以抵抗未知密鑰共享攻擊、密鑰泄露偽裝攻擊和密鑰控制攻擊,還具有可認(rèn)證性和前向安全性。本章將重點分析這些安全屬性。
(1)未知密鑰安全性
未知密鑰安全是指如果一個會話密鑰已經(jīng)被泄露,那么當(dāng)前協(xié)議的運行不應(yīng)該受到安全影響。假設(shè)群中有四個參與者U1,U2,U3和U4,而之前的會話密鑰是
如果攻擊者想要提取指定的臨時密鑰(例如a1),那么他(她)必須解決G2中的BDHP問題,而該問題卻是難解的。同樣,會話密鑰取決于密鑰協(xié)商中每次運行參與者所選擇的隨機(jī)數(shù),所以會話密鑰每次都是不同的。
(2)身份認(rèn)證性
(隱式的)密鑰認(rèn)證需要每個合法的協(xié)議參與者必須確保除了合法參與者之外沒有其他成員能夠建立群會話密鑰。在協(xié)議中,每個參與者利用他的/她的長期密鑰對生成消息進(jìn)行簽名,因此所有參與者一旦收到從其他人那里的消息,首先驗證消息,然后執(zhí)行協(xié)議步驟。因此參與者當(dāng)前只能被合法的參與者執(zhí)行并建立群會話密鑰。
(3)前向安全性
前向安全是指如果參與者的長期密鑰被泄露,那么之前會話密鑰的安全性不應(yīng)該受到影響。在提出的協(xié)議中,長期密鑰只用作認(rèn)證,協(xié)議并不使用參與者的長期密鑰計算公共的會話密鑰。因此很明顯本文協(xié)議滿足前向安全性。
(4)密鑰泄露偽裝攻擊的抵抗性
該安全性質(zhì)防止攻擊者獲取某參與者的長期密鑰后偽裝成為其他參與者。長期密鑰通常是被用來簽名或者解密的密鑰,所以長期密鑰主要被用來認(rèn)證的目的,而不是實際的群密鑰計算。因此不需要考慮該安全攻擊。
(5)密鑰控制
密鑰控制是指群中的任何合法參與者都不能決定或者影響會話密鑰的值。本文協(xié)議中公共的會話密鑰取決于群中所有參與者的合作,因此沒有人能控制或者預(yù)先決定會話密鑰。
除了安全性,協(xié)議的效率也是影響協(xié)議能否面向工業(yè)應(yīng)用的一個重要衡量指標(biāo)。從協(xié)議的輪數(shù)、傳遞信息的總數(shù)和對運算的總數(shù)三個方面對協(xié)議性能進(jìn)行分析。
由于文獻(xiàn)[8]和文獻(xiàn)[11]都使用了密鑰樹結(jié)構(gòu)。由于文獻(xiàn)[11]中提出的協(xié)議中每一個參與者都代表葉子節(jié)點,同樣他/她也需要持有從葉子節(jié)點到根節(jié)點的秘密值。文獻(xiàn)[11]使用三叉樹結(jié)構(gòu)而文獻(xiàn)[8]使用了完全二叉樹結(jié)構(gòu),樹中的每一個節(jié)點代表一個參與者。新協(xié)議使用了完全三叉樹結(jié)構(gòu),同樣樹中的每一個節(jié)點代表一個參與者。相反,與文獻(xiàn)[11]中的協(xié)議相比,新協(xié)議是基于參與者的身份,因此本章不討論PKI使用代價。
為了計算全部對運算的數(shù)量,將所有葉子節(jié)點上的對運算和內(nèi)部節(jié)點上的對運算的個數(shù)相加。為了計算會話密鑰,葉子節(jié)點將會繼續(xù)執(zhí)行3.2節(jié)中(根據(jù)其類型)說明的計算步驟直到抵達(dá)樹的根節(jié)點。因此,樹的葉子節(jié)點代表的參與者應(yīng)該重復(fù)計算R(n)次,其中R(n)表示協(xié)議執(zhí)行的輪數(shù),并且葉子節(jié)點上面有個葉子,但是應(yīng)該注意會有不在最后一層上面的葉子節(jié)點(例如 R(n)),并且他們可能會在[R(n)-1]層,因此他們會重復(fù)比R(n)層上的葉子節(jié)點少一輪的計算。那么應(yīng)該從中減去他們的數(shù)量,并且可以檢查最后一層上有個葉子節(jié)點。對于內(nèi)部節(jié)點,在每一層l上面,有3l個參與者。他們中的每一個都要重復(fù)l+1次3.2節(jié)中說明的步驟直到獲得會話密鑰,因此從第0層到第R(n)-1層共計最后3.2節(jié)中說明的步驟共需要重復(fù)執(zhí)行次,并且為了獲得步驟3.2中的公共密鑰Ki,需要4個對預(yù)算來認(rèn)證消息以及一次對運算計算Ki。因此應(yīng)該將上面的式子乘以5。顯然,當(dāng)參與者數(shù)量較多時,新方案的計算優(yōu)勢比較明顯。
為了計算參與者傳送的消息數(shù)量總數(shù),每個內(nèi)部節(jié)點都會發(fā)送9個消息,每個葉子節(jié)點都會發(fā)送4個消息,分別通過內(nèi)部節(jié)點的總數(shù)9與葉子節(jié)點的總數(shù)4相乘,再分別把他們相加,能夠發(fā)現(xiàn)B(n)最多≤5(n-1)。本文協(xié)議比文獻(xiàn)[11]的協(xié)議在通信消耗上面更有優(yōu)勢。
表1對文獻(xiàn)[8]、文獻(xiàn)[11]和本文方案進(jìn)行了詳細(xì)對比,如上述分析,新方案在參與者較多時有比較明顯的計算優(yōu)勢。
本文提出一種利用對運算實現(xiàn)的基于身份的認(rèn)證群密鑰協(xié)商協(xié)議。在本協(xié)議中,每一名參與者能夠通過基于身份的認(rèn)證結(jié)構(gòu)驗證收到的消息。協(xié)議不需要驗證參與者的公鑰證書。還研究了參與者如何進(jìn)入或者離開群組。這表明本文協(xié)議適合存在成員變化的組織。
表1 計算和通信負(fù)擔(dān)對比
[1]Diffie W,Hellman M E.New directions in cryptography[J].IEEE Transactions on Information Theory,1976,22(6):644-654.
[2]Matsumoto T,Takashima Y,Imai H.On seeking smart public-key-distribution systems[J].The Transactions of the IEICE,1986,69(2):99-106.
[3]Joux A.A one round protocol for tripartite Diffie-Hellman[J].Journal of Cryptology,2004,17(4):263-276.
[4]李明.新的適用于WSN網(wǎng)絡(luò)的雙方認(rèn)證密鑰協(xié)商協(xié)議[J].計算機(jī)工程與應(yīng)用,2016,52(3):100-102.
[5]錢琦鋒,程春玲.WSN中基于非雙線性對的無證書群組密鑰協(xié)商協(xié)議[J].計算機(jī)科學(xué),2015,35(7):186-190.
[6]袁思敏,馬傳貴,相生奇.非平衡網(wǎng)絡(luò)環(huán)境下基于身份的組密鑰交換協(xié)議[J].計算機(jī)科學(xué),2015,35(5):1399-1405.
[7]Sherman A T,Mcgrew D A.Key establishment in large dynamic groups using one-way function trees[J].IEEE Transactions on Software Engineering,2003,29(5):444-458.
[8]Reddy K C,Nalla D.Identity based authenticated group key agreement protocol[C]//International Conference on Cryptology:Progress in Cryptology,2002:215-233.
[9]Shiau S H,Hwang R J,Lin M F.Key agreement protocol based on Weil pairing[C]//International Conference on Advanced Information Networking and Applications,2005,1:597-602.
[10]Barua R,Dutta R,Sarkar P.Extending Joux’s protocol to multi party key agreement(Extended Abstract)[J].Lecture Notes in Computer Science,2003:205-217.
[11]Dutta R,Barua R,Sarkar P.Provably secure authenticated tree based group key agreement[J].Lecture Notes in Computer Science,2004,3269:92-104.
[12]陳虹,鄭艷艷,肖振久.無雙線性對無證書兩方跨域認(rèn)證密鑰協(xié)商協(xié)議[J].計算機(jī)工程與應(yīng)用,2015,51(7):74-79.
CHEN Haihong1,LI Junyi2
1.Department of Computer,Yongzhou Vocational Technology College,Yongzhou,Hunan 425000,China 2.College of Computer Science and Electronic Engineering,Hunan University,Changshan 410082,China
Novel ID-based group authenticated key agreement scheme.Computer Engineering and Applications,2017,53(21):103-109.
Group Key Agreement(GKA)protocol plays a key role in the construction of secure multicast channels.Because of the simplicity and efficiency of public key management,the ID-based Authenticated Group Key Agreement Protocol(AGKA)cryptosystem has become a hot research direction in recent years.This paper proposes a new Weil pairing and completely trigeminal tree based group key agreement protocol,designs the participants join-and-leave pre-protocol.Security analysis and performance analysis show that the new scheme satisfies all known security requirements.Compared with the existing schemes,the new scheme has obvious advantages in terms of performance.
Group Key Agreement(GKA);ID-based authentication;Weil pairing;trigeminal tree
A
TP309
10.3778/j.issn.1002-8331.1605-0280
湖南省教育廳課題項目(No.13C971)。
陳海紅(1982—),女,講師,主要研究領(lǐng)域為多媒體制作,安全協(xié)議設(shè)計,RFID安全;李軍義(1970—),男,博士,副教授,研究方向:軟件工程,信息安全。
2016-05-19
2016-08-24
1002-8331(2017)21-0103-07
CNKI網(wǎng)絡(luò)優(yōu)先出版:2017-02-10,http://www.cnki.net/kcms/detail/11.2127.TP.20170210.0810.014.html