《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 移動(dòng)環(huán)境IP組播密鑰管理的研究

移動(dòng)環(huán)境IP組播密鑰管理的研究

2008-08-21
作者:張海波1,2, 周賢偉1,

  摘 要: 研究了移動(dòng)環(huán)境IP組播" title="組播">組播密鑰管理" title="密鑰管理">密鑰管理協(xié)議,,通過(guò)對(duì)幾個(gè)目前有影響的協(xié)議進(jìn)行分析和討論,,指出它們的特點(diǎn)和不足,對(duì)研究移動(dòng)環(huán)境IP組播密鑰管理具有指導(dǎo)意義,。
  關(guān)鍵詞: IP組播 移動(dòng)IP 組密鑰管理


  隨著移動(dòng)IP技術(shù)的發(fā)展,,IP組播系統(tǒng)需要?jiǎng)討B(tài)的組播源或組播接收者的加入,現(xiàn)有的組播協(xié)議如DVMRP,、PIM-DM等基于靜態(tài)組播" title="靜態(tài)組播">靜態(tài)組播源和主機(jī)的協(xié)議都需要進(jìn)行擴(kuò)展[1],。移動(dòng)環(huán)境IP組播密鑰管理除了要解決靜態(tài)組播要解決的如:機(jī)密性、完整性,、認(rèn)證,、同謀破解等網(wǎng)絡(luò)安全基本問(wèn)題以外,還要解決前向加密,、后向加密,、密鑰生成計(jì)算量、密鑰發(fā)布占用帶寬,、密鑰發(fā)布延遲,、健壯性、可靠性,、抵制攻擊,、協(xié)議獨(dú)立等問(wèn)題[2~3]。近幾年來(lái)有很多組播協(xié)議被相繼提出,,同時(shí)為了更加安全地通信,,也提出了一些基于移動(dòng)IP的組播密鑰管理協(xié)議。
  本文就目前存在的移動(dòng)IP組播密鑰協(xié)議進(jìn)行研究,,分析各個(gè)協(xié)議的優(yōu)缺點(diǎn),,并對(duì)以后移動(dòng)IP組播密鑰管理的發(fā)展發(fā)表自己的看法。
1 基于樹(shù)形的密鑰管理協(xié)議
  在這種密鑰管理拓?fù)浣Y(jié)構(gòu)中,,密鑰被分成兩種,,一種是組會(huì)話密鑰(group session key),用來(lái)加密組成員之間的信息交換,;另一種是組輔助密鑰(group auxiliary key)用來(lái)有效地分發(fā)和更新組會(huì)話密鑰,。
  下面對(duì)幾種基于樹(shù)形的密鑰管理協(xié)議進(jìn)行介紹和分析。
1.1 簡(jiǎn)單密鑰分發(fā)協(xié)議
  由H. Hugh等提出[4],,在這種協(xié)議中,,簡(jiǎn)單密鑰分發(fā)協(xié)議中心是組控制器GC(Group Controller),GC和每一個(gè)成員分別分享一個(gè)密鑰kC,i并負(fù)責(zé)分發(fā)給Mi,,組成員共享組密鑰KG,,當(dāng)一個(gè)新的成員MN+1 加入時(shí),GC分配MN+1共享密鑰kC,N+1,,然后GC需要把新的組密鑰kG′用舊的組密鑰KG加密并且組播給M1,、M2,、…、MN,;用kC,N+1加密單播給MN+1,。但是當(dāng)一個(gè)成員離開(kāi)時(shí),就不能用舊的組密鑰來(lái)加密新的組密鑰,,因?yàn)殡x開(kāi)者知道舊密鑰,,這時(shí)GC只能用與留下成員的共享密鑰分別加密新的組密鑰單播給相應(yīng)的成員。很顯然,這種方式在組規(guī)模比較大的情況下,,成本是很昂貴的,,需要N次加密和發(fā)送N次更新消息。
1.2 利用密鑰圖表的組密鑰管理協(xié)議
  C. K. Wong等提出了利用密鑰圖表的密鑰管理協(xié)議(Group Key Management Using Key Graphs)[5],,這個(gè)協(xié)議通過(guò)密鑰圖表表示子組的安全方案" title="安全方案">安全方案,。該協(xié)議定義了三種策略對(duì)成員加入/退出時(shí)更新密鑰的消息進(jìn)行分組,分別是面向用戶(user-oriented),、面向密鑰(key-oriented)和面向組(group-oriented),。
  首先需要定義以下概念:一個(gè)安全的組可以用三元組(U,K,,R)表示,。U是有限非空的組成員集合,K是有限非空的密鑰集合,,RU×K表示成員和密鑰的二元關(guān)系,。有兩個(gè)函數(shù)表示如下:keyset(Mi)={k|(Mi,k)∈R},表示一組被Mi持有的密鑰,,并且keyset(Φ)=Φ;userset(k)={Mi|(Mi,k)∈R},表示一組持有密鑰k的成員,。拓?fù)鋱D如圖1所示。


  (1) 面向用戶
  在面向用戶方式中,,GC把Mi的新密鑰Kinew作為單個(gè)密鑰更新消息并利用輔助密鑰加密后發(fā)送給Mi,,輔助密鑰被用來(lái)加密是由于它被最大" title="最大">最大的成員集合(Umax)共享,U={Mj∣Kjnew=Kinew and Ij(keyset(Mj)-keyset(x))≠Φ, j=1,…,,N},當(dāng)x=Φ時(shí)表示有成員加入,,x是退出發(fā)生時(shí)離開(kāi)組的那個(gè)成員,。利用“最大”組的目的是為了最小化加密成本,減少流量開(kāi)銷,,更新密鑰的消息通過(guò)組播發(fā)出,,這些消息只能被持有正確輔助密鑰的成員解密。

  (2)面向密鑰
  對(duì)于一個(gè)組來(lái)說(shuō),,一旦加入或離開(kāi)發(fā)生,,一系列決定性的密鑰更新相應(yīng)地發(fā)生了,。在面向密鑰方式中,每一個(gè)更新密鑰消息包含一個(gè)單一的新密鑰,。為最小化加密成本,,GC將選擇一個(gè)輔助密鑰去加密一個(gè)密鑰更新消息,更新盡可能多的持有這個(gè)輔助密鑰的成員,。

  (3)面向組
  在這種方式中,,GC試圖允許一個(gè)密鑰更新消息包含與新密鑰盡可能一樣多的新密鑰。新密鑰被適當(dāng)?shù)淖咏M密鑰加密,,這樣做的目的是盡量把加密的成本降到最低,。

  相對(duì)于SKDC方式,該方法加密成本大大降低,。全組維持密鑰的所有數(shù)目為n=N-,,每一個(gè)成員持有的密鑰數(shù)量為h=logdN+1,h是密鑰樹(shù)的高度,,d是層數(shù),,N是組成員數(shù)目。GC需要維持O(N)個(gè)密鑰,,每一個(gè)成員存儲(chǔ)O(logdN)個(gè)密鑰,。與SKDC相比,這種方法的復(fù)雜性無(wú)論在加密還是密鑰更新消息時(shí),,成本與成員數(shù)目N是成比例的,;同時(shí),面向組充分提高了密鑰分發(fā)和管理的可伸縮性,。
1.3 布爾函數(shù)最小化技術(shù)組密鑰管理協(xié)議
  布爾函數(shù)最小化技術(shù)BFMT(Boolean Function Minimization Techniques)由Chang等提出[6],。該方法為每一個(gè)用戶定義一個(gè)用戶ID,這個(gè)UID由n比特的二進(jìn)制字符串組成,,一個(gè)用戶的密鑰系列整個(gè)由它的UID決定,。既然任何兩個(gè)用戶必須持有至少一比特不同的UID,當(dāng)它們中一個(gè)離開(kāi)組播組時(shí),,其他的用戶可以通過(guò)收到離開(kāi)用戶不持有的密鑰加密密鑰更新消息,。
  全組維持n個(gè)輔助密鑰對(duì):ki,(i=0,,…,,n-1),每個(gè)密鑰對(duì)對(duì)應(yīng)UID中的一個(gè)比特,。除了組會(huì)話密鑰kG以外,,每個(gè)密鑰還被分配n個(gè)密鑰,例如,成員Mj持有密鑰ki,,如果它的UID的第i個(gè)比特是“1”,,或者它持有ki;如果它的UID的第i個(gè)比特是“0”,,一個(gè)UID和對(duì)應(yīng)的密鑰分配表示如圖2所示,。


  組會(huì)話密鑰kG在根節(jié)點(diǎn)處,輔助密鑰ki作為內(nèi)部節(jié)點(diǎn)的密鑰,,而成員Mj是它的葉子,。圖2中每一個(gè)成員都有一個(gè)UID,例如成員M5的UID是“101”,,表明它擁有輔助密鑰k2,、和k0,另外還有每個(gè)成員都共享的密鑰kG,,每一個(gè)成員的密鑰由它到根的路徑表示,。
  一般情況下,每個(gè)成員的離開(kāi)都導(dǎo)致kG和輔助密鑰的更新,,所以離開(kāi)的成員不能解密以后的通信內(nèi)容,。利用定量的方法,組的變化定量,、密鑰更新過(guò)程根據(jù)指定的時(shí)間超時(shí)進(jìn)行,,這個(gè)過(guò)程被稱為一個(gè)“巡回”(round)。對(duì)于第r個(gè)“巡回”,,組會(huì)話密鑰表示為kG(r),,輔助密鑰表示為ki(r)和(r)。
  (1)刪除單個(gè)成員
  在第r個(gè)“巡回”,,有一個(gè)成員離開(kāi)時(shí),,為了更新密鑰kG(r),GC計(jì)算新的會(huì)話密鑰kG(r+1),。新的密鑰利用與離開(kāi)成員“互補(bǔ)”的密鑰加密,。如在圖3中,假如M5離開(kāi)組,,“互補(bǔ)”密鑰是,,那么kG(r+1)就可以使用這三個(gè)密鑰加密并組播給所有的組成員。由于M5不知道這些密鑰中的任何一個(gè),,所以它不能解密組播的更新密鑰信息而得到新的會(huì)話密鑰,。另一方面,任何一個(gè)成員,,它的UID至少有一個(gè)比特與M5不同,因此持有的keyset(Mj)使得∩keyset(Mj)≠Φ,其中j≠5,。這樣就確保了其他的任何一個(gè)成員至少能解密一個(gè)密鑰更新的數(shù)據(jù)塊,。
  為了保證離開(kāi)的成員不能利用它的輔助密鑰解密以后的會(huì)話密鑰更新,輔助密鑰利用單向hash函數(shù)f進(jìn)行更新:ki(r+1)=f(ki(r),kG(r+1)),。


  (2)刪除多個(gè)成員
  為了最小化密鑰更新消息加密的成本,,最值得做的是定時(shí)地成批刪除組成員。在圖2中,,不失一般性,,假設(shè)M0和M4離開(kāi)組,沒(méi)有定量的情況下,,一共需要2×3=6個(gè)消息需要發(fā)出,,因?yàn)樵趦奢喼忻看味夹枰褂?個(gè)輔助密鑰用來(lái)加密發(fā)送的消息。在成批刪除時(shí),,利用布爾算法計(jì)算M0和M4都擁有的輔助密鑰S,,在這個(gè)例子中,,,所以S={k1,k0}=,。那么利用S加密新的會(huì)話密鑰可以確保任何一個(gè)離開(kāi)的成員不能算出新的會(huì)話密鑰kG(r+1),而所有剩余的成員可以正確計(jì)算出來(lái),。
  當(dāng)M0和M4離開(kāi)時(shí),,可以借助布爾函數(shù)最小化技術(shù)計(jì)算S,相應(yīng)的布爾成員函數(shù)和它的最小化成員函數(shù)Karnaugh圖被表示出來(lái),。
  這個(gè)方法具有以下特點(diǎn):第一,, 采用了最普通的二進(jìn)制算法,所以很容易理解,;簡(jiǎn)化了密鑰更新產(chǎn)生和分發(fā)算法,,僅僅計(jì)算離開(kāi)成員互補(bǔ)密鑰S,密鑰更新組播消息僅僅一次,;對(duì)于加密成本,,最大成本是O(n)=O(logN),n是輔助密鑰對(duì)的數(shù)目,,所以用n比特代替所有N個(gè)用戶已經(jīng)足夠了,。第二,它提出了定量更新密鑰的思想,,從布爾算法中找到了最小化技術(shù),,有效解決了最少成員加密問(wèn)題。但是,,它還沒(méi)有提供一個(gè)滿意的方式去控制高成本,,這種成本和組規(guī)模N成比例,,O(N)復(fù)雜性可能嚴(yán)重地影響這種方法的可伸縮性。
1.4 單向函數(shù)樹(shù)的組密鑰管理協(xié)議
  單向函數(shù)樹(shù)OWFT(One-Way Function Trees)由McGrew 等提出[7],,這種方法在組成員變化時(shí)基于單向函數(shù)樹(shù)來(lái)建立組會(huì)話密鑰,。
  在這個(gè)方法里,GC維持著二叉樹(shù),,所有的組成員在葉子節(jié)點(diǎn)上,,但葉子不一定都是成員,每一個(gè)節(jié)點(diǎn)x (包括葉子)有兩個(gè)關(guān)聯(lián)的密鑰:一個(gè)unblinded 節(jié)點(diǎn)密鑰kx和一個(gè)blinded節(jié)點(diǎn)密鑰k′x,,它們由著名的單向函數(shù)g和一個(gè)“混合” 函數(shù)f計(jì)算得到:kx=f(g(kleft(x)),g(kright(x)))=f(k′left(x),k′right(x)),, 式中l(wèi)eft(x)和right(x)表示x的左邊和右邊子節(jié)點(diǎn)。根據(jù)這個(gè)規(guī)則,,借助于節(jié)點(diǎn)的unblinded 密鑰和其兄弟節(jié)點(diǎn)的blinded密鑰得出其父節(jié)點(diǎn)的unblinded密鑰,。
  密鑰更新說(shuō)明如下:
  (1)添加一個(gè)成員
  當(dāng)一個(gè)成員Mnew加入時(shí),GC做的就是挑選一個(gè)葉子節(jié)點(diǎn)x,,用擁有兩個(gè)節(jié)點(diǎn)的一個(gè)新的內(nèi)部節(jié)點(diǎn)x′代替,,其中一個(gè)子節(jié)點(diǎn)是x本身,另一個(gè)是新加入的Mnew,如圖3所示,。受影響的節(jié)點(diǎn)子組用灰色表示,,因此,那些灰色節(jié)點(diǎn)的unblinded密鑰需要更新以實(shí)現(xiàn)后向保密,。
  為了計(jì)算新的組會(huì)話密鑰,,存儲(chǔ)舊版本blinded密鑰的節(jié)點(diǎn)應(yīng)該被通知更新它們的新版本。例如,,節(jié)點(diǎn)y應(yīng)該得到節(jié)點(diǎn)z的最新blinded密鑰k′z,,需要得到密鑰k′z的節(jié)點(diǎn)集合是Sz={u,v,y,M0,M1,M2,M3},包括z的兄弟節(jié)點(diǎn)u和u的所有派生節(jié)點(diǎn),。這個(gè)新的blinded 密鑰k′z被u的unblinded密鑰ku加密后包含在一個(gè)密鑰更新消息中組播給Sz,。
  (2)刪除一個(gè)成員
  圖3表示當(dāng)一個(gè)成員Mnew離開(kāi)時(shí),節(jié)點(diǎn)x′被刪除并被節(jié)點(diǎn)x代替,,所有從節(jié)點(diǎn)x到根r的密鑰被更新,。同樣,當(dāng)一個(gè)成員加入時(shí),,最新的blind密鑰被安全地傳輸給那些存儲(chǔ)舊版本密鑰的節(jié)點(diǎn),。
  OWFT最新穎之處是提高了密鑰管理的可伸縮性,因?yàn)樗ㄟ^(guò)維護(hù)一個(gè)單向函數(shù)樹(shù)和每個(gè)成員獨(dú)立計(jì)算組密鑰把會(huì)話密鑰直接傳送出去,,更新密鑰消息的數(shù)量和加密復(fù)雜性取決于需要更新blinded密鑰子組的數(shù)量,。既然blinded密鑰更新的最大數(shù)量是h(樹(shù)的高度),那么密鑰更新組播消息和加密成本一樣都是O(h)=O(logN),。McGrew等給出系統(tǒng)存儲(chǔ)的密鑰數(shù)量為O(N),,每個(gè)成員存儲(chǔ)的密鑰數(shù)量為O(logN),。
  但是,GC不得不維持2N-1個(gè)子組成員的信息,,因?yàn)槊恳粋€(gè)樹(shù)中的節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)包含它自己和由它所派生節(jié)點(diǎn)的子組,,價(jià)值不高并強(qiáng)加給GC的工作影響這個(gè)算法應(yīng)用在大規(guī)模組時(shí)的可伸縮性。
  以上三個(gè)樹(shù)形的密鑰管理協(xié)議比較如表1所示,。


2 其他密鑰管理協(xié)議
  除了以上提到的幾個(gè)密鑰管理協(xié)議,其他的還有很多,。Iolus協(xié)議是一個(gè)分布式等級(jí)樹(shù)的典型方法,、W. Waldogel等提出的LKH+(logical key hierarchy)協(xié)議、A. Perrig 等提出了ELK協(xié)議,、S.Rafaeli等提出的EHBT(efficient hierarchical binary tree)協(xié)議等,。
  本文比較了一些協(xié)議的優(yōu)點(diǎn)和不足,代表了目前這個(gè)研究領(lǐng)域的研究成果,。目前還沒(méi)有一個(gè)公認(rèn)的都能接受的合適的協(xié)議,。關(guān)于組播密鑰管理最主要的問(wèn)題是可伸縮性,有些協(xié)議利用分等級(jí)的方法有較好的可伸縮性,,是這個(gè)領(lǐng)域以后發(fā)展的一個(gè)重要方向,。
參考文獻(xiàn)
1 孫利民. 移動(dòng)IP技術(shù)[M].北京:電子工業(yè)出版社,2003:202~230
2 徐明偉.組播密鑰管理的研究進(jìn)展[J].軟件學(xué)報(bào),,2004;15(1):141~150
3 C.Boyd,A.Mathuria. Key Establishment Protocols for Secure Mobile Communications:A Selective Survey. Information Security and Privacy, LNCS 1438, Springer Verlag,1998:344~355
4 Harney Hugh, Carl Muckenhirn, Thomas Rivers. Group Key Management Protocol Architecture, Request for comments(RFC) 2093, Internet Engineering Task Force,March 1997
5 C. K. Wong, M. Gouda.Secure Group Communications Using Key Graphs. S. S. Lam, Department of Computer Sciences,University of Texas at Austin, Technical Report 97~23,July 28, 1997
6 I. Chang, R. Engel, D. Kanlur, D. Pendarakis,etc. Key Management for Secure Internet Multicast using Boolean Function Minimization Techniques. IEEE Infocomm,,1999
7 David A. McGrew, Alan T. Sherman. Key establishment in large dynamic groups using one-way function trees.Technical Report 0755,TIS Labs at Network Associates, Inc.,Glenwood, MD, May 1998(收稿日期:2005-02-21)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。