王猛 徐平鴿 顧維娜淮北煤炭師范學院計算機科學與技術學院 安徽 235000
Ad hoc網絡是由一組帶有無線收發器的無線節點或移動終端相互協作形成的一種新型網絡,它獨立于固定的基礎設施,采用分布式技術管理,可以做到快速配置和自組織網絡。由于其具有有限的資源、多跳的通信和動態的網絡拓撲結構等特點,將會受到更多的安全威脅。所以在無線Ad hoc網絡中,必須利用密碼學理論與技術來有效地防范潛在的攻擊,而密碼理論與技術在實際使用中的安全性,則主要依賴于密鑰管理的安全性。一般來講,根據Ad hoc網絡自身的特點,一般要求節點的密鑰能動態生成且不依賴任何固定的第三方(TTP),并確保密鑰在傳輸中的安全,同時具有較小的計算量、存儲量和通信量。
早在1984年,第一個公鑰密碼系統RSA的合作發明者之一Shamir為了簡化傳統的PKI公鑰體系架構中CA對各用戶證書的管理,首次提出了基于身份的密碼學(IBC)的思想,其基本的想法就是將用戶的身份與其公鑰捆綁在一起,用戶的身份信息即為用戶的公鑰。但是基于身份的加密算法(IBE)長期都沒有得到有效的解決方法。2001年,Boneh和Franklin通過使用一個定義在橢圓曲線上的雙線性映射,提出了一個非常實用的IBE方案,并且給出了嚴格的安全性證明。在基于身份的密碼體制中,任何人都可以根據用戶的身份計算出他的公鑰,而私鑰則是有可信的中心生成的,這種密碼體制的優點在于:①獲取公鑰只需要很少的計算量和通訊量;②不使用證書;③可以通過在公鑰中增加時間戳來完成公鑰的撤銷。所以,基于身份的密碼體制在資源有限的Ad hoc網絡中使用具有一定的優勢。
組密鑰是所有組內成員之間相互協作,共同生成一個組密鑰,組外的成員不能計算出該密鑰,用以對組內節點間數據傳遞進行加密、解密和認證等操作,以滿足數據機密性和完整性等安全需求。
本文提出 Ad hoc網絡中一種新的基于身份的組密鑰管理方案,該方案的安全性建立在橢圓曲線上雙線性對的求解難題,并且結合組密鑰的最新研究成果,方案所需的開銷更小,安全性和效率更高,輪數少,算法簡單。
雙線性對最初是用于密碼攻擊,被認為是對密碼體系不利的,比如用Weil對的MOV攻擊將超奇異橢圓曲線或超橢圓曲線上的離散對數問題歸約為有限域上的離散對數問題,這使得超橢圓曲線不能作為密碼體系。但是,近年來發現了雙線性對在密碼學上的積極作用,2000年Joux做出其突破性的工作,他提出了一個基于超奇異橢圓曲線上的雙線性對的基于身份的Deffie-Hellman密鑰協商協議。此后雙線性對的許多應用相繼被給出,其中最值得注意的有兩個:一個是Boneh和Franklin的基于雙線性對的基于身份的密碼方案,這是第一個高效且可證明安全的基于身份的密碼方案;另一個是Boneh、Lynn和Shacham提出的基于雙線性對的簽名方案,這個方案是簽名最短的簽名方案。雙線性的定義如下:
設G1和G1分別是階數為素數q的加法群和乘法群,P為G1的一個生成元。假設G1和G1這兩個群中的離散對數問題都是困難問題。雙線性映射e:G1×G1→G2具有如下特征:
(1) 雙線性:對于所有的 P,Q,,R∈G1和所有的 a,b∈,

(2) 非退化性:存在P,Q∈G1,滿足e(P,Q)≠ 1;
(3) 可計算性:對所有的 P,Q∈G1,e(P,Q)可以在多項式時間有效計算出來。
當q是個素數時,G1中任意一個元素P都是生成元,由非退化性和雙線性,e(P,P)也是G2中的生成元。
我們可以在具有以上性質的群 G1上,定義如下的密碼問題:
(1) 離散對數問題(DLP):給定P,aP,計算a∈Zq。
(2) 計算Diffie-Hellman問題(CDHP):給定P,aP,bP,計算abP。
(3) 決策Diffie-Hellman問題(DDHP):給定P,aP,bP,cP,判斷是否c=abmodq。
(4) Gap Diffie-Hellman問題(GDHP):在群 G1中,當DDHP計算容易,但 CDHP計算困難時,稱群 G1為 Gap Diffie-Hellman群。
組密鑰管理是指組內成員共同協商生成、分發和更新組密鑰。其基本任務是:為合法的組內成員分配和維護密鑰,實現組播通信時秘密信息在合法組成員間共享,而非組成員無法知道該秘密信息。同時,利用組密鑰對組播內容進行加密,確保得到的通信數據的節點是組內成員,從而在確保數據機密性的同時達到一定程度上的數據源認證。
第一個組密鑰協商協議是ING協議,之后,學者們提出了許許多多的組密鑰協商協議,下面簡單介紹一下Du的倆輪密鑰協商協議。
2003年,Du等人講橢圓曲線密碼體制應用于BD協議,改進并使之適用于基于身份的加密體系中。Du等人方案的安全性建立在橢圓曲線雙線性對以及 BDH假設之下,其過程可以簡單表述如下:
首先,系統建立雙線性對以及 BDH假設的環境,發布參 數{G1,G2,p,P,Ppub,H,H1}。 設 定 節 點IDi的 公 鑰 為Qi=H1(IDi),其私鑰為 Si=sQi。然后各個節點執行如下步驟:
(1) 節點IDi,1≤i≤n,選擇密鑰Ni∈Zq,計算并廣播zi=NiP,Ti=H(zi)Si+NiPpub。
(2) 節點IDi驗證然后廣播
(3) 每個節點IDi計算回話密鑰:
最終每個節點都將得到相同的會話密鑰K=e(P,P)(N1N2+N2N3+,…Nn N1)s。
和BD協議相比,Du的協議采用了橢圓曲線密碼體制以及雙線性配對,每個節點只需進行常數次雙線性配對和橢圓曲線計算,有效降低了計算量。其次,由于與基于身份的加密體制的結合,使之更加適用于Ad hoc網絡和更具有安全性。
假設Ad hoc網絡中有K個用戶,即U1,U2,…,UK,其身份IDi用M1,M2,…,Mk來表示,并且假設節點已經有了自己的公私鑰。隨機根據路由最優、節點權重最大和跳數最少的原則選擇產生一個組首,記為Mn。我們可以設Gi=H(Mi)為節點i的公鑰。
(1) 系統初始化時,每一個組內成員隨機選擇一個隨機數ri∈,并且計算以下四個參數:
(2) 其他組成員收到每個節點的廣播后,對收到的數據及其簽名進行驗證,


(3) 組首節點nM 驗證每個節點計算的ki是否相等,如果相等,則ki為系統初始時的組密鑰。
如果上述等式成立,則根據如下方法計算ki。
當組外的成員Mk+1加入群組之前,需要首先根據自己的ID產生公私鑰對和簽名,并且向組內廣播自己的信息和身份IDk+1,組內的Mn發起組密鑰的更新。k+1個組內成員重復系統建立時的運算,最后由 Mn計算和收集驗證組密鑰 ki:

成員離開群組后,首先根據規則在剩余的組成員集合中選擇合適的成員為組首節點Mn,然后由組首節點發起組密鑰的更新運算。運算步驟和2.2節加入節點時類似,只是最后一步需要稍微變化:

(1) 密鑰的安全性:本方案中的組密鑰每次更新時,都隨機選擇一個數 ri∈,協商生成新密鑰,因此一次會話密鑰的泄露并不會影響到其他的密鑰。
(2) 前向安全性:離開群組的節點不能繼續參與組播,而根據以往的密鑰協商信息不能計算出新的組密鑰,即無法利用它所知道的密鑰解密后續的加密數據。
(3) 后向安全性:新成員加入群組后,新加入的成員無法用其新獲得密鑰解密之前的秘密數據。
本方案和Du方案相比,在性能上如表1所示。

表1 性能分析
由表可知,本方案較之Du的方案節點的雙線性配對運算相同,但生成組密鑰時只需要一輪運算,且每個節點只要組播一次,即組播次數為n次,綜上,該方案的總體性能良好。
本文提出了一種新的基于身份的Ad hoc網絡中組密鑰管理方案,包括系統建立時的初始化、節點加入時的組密鑰更新和節點離開時的組密鑰更新等三個操作。和現有的密鑰管理相比,它提供更高的安全性,同時保證更好的運行效率,利用基于身份的密碼體制可以減少系統的計算、存儲和通信開銷,因此,本方案比較適合于Ad hoc網絡環境中。
[1] A.Shamir.Identity-based Cryptosystems and Signatures Schemes.CRYPTO 1984.
[2] D Boneh, M Franklin. Identity-based Encryption from the Weil pairing [A]. Proc of Crypto 2001[C],LNCS 2139,Springer-Verlag.2001.
[3] 況曉輝,胡華平,盧錫城.移動自組網絡組密鑰管理框架[J].計算機研究與發展.2004.
[4] 徐倩,張福泰,劉志高.無線Ad Hoc網絡中基于身份的密鑰管理方案[J].南京師范大學學報.2006.
[5] 張金穎,鄧子健.基于身份的密鑰協商方案[J].信息安全與通信保密.2007.
[6] 郭現峰.TTS組密鑰協商協議的安全性分析與改進[J].計算機工程與應用.2008.
[7] 王育民,劉建偉.通訊網絡的安全理論與技術[M].西安電子科技大學出版社.1999.