專利名稱:一種基于MIPv6的安全組播方法及步驟的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信網(wǎng)絡(luò)安全領(lǐng)域,涉及一種應(yīng)用于移動(dòng)通信網(wǎng)絡(luò)中基于MIPv6的安 全組播方法。
組播技術(shù)是一種針對(duì)多點(diǎn)傳輸和多方協(xié)作應(yīng)用的通信模型。是指發(fā)送方僅傳輸一 份數(shù)據(jù),通過讓網(wǎng)路元素(如組播路由器和交換機(jī))給接收方復(fù)制所需份數(shù)的數(shù)據(jù), 然后把數(shù)據(jù)包適當(dāng)?shù)霓D(zhuǎn)發(fā)到所有用戶。組播的優(yōu)勢(shì)在于既能降低發(fā)送方的計(jì)算負(fù)荷,
也能降低網(wǎng)上數(shù)據(jù)的份數(shù),從而高效地利用網(wǎng)絡(luò)資源。目前已經(jīng)有很多的應(yīng)用衛(wèi)星
電視轉(zhuǎn)播、軟件在線分發(fā)與升級(jí)、股市行情流、Web超高速緩沖存儲(chǔ)、MFTP、 IP電視 遠(yuǎn)程及視頻會(huì)議、多媒體會(huì)議、視頻點(diǎn)播、多方網(wǎng)絡(luò)游戲、計(jì)算機(jī)協(xié)同工作都需要1 到多或者多到多的組播通信技術(shù)。
然而,組播的安全問題卻阻礙了組播技術(shù)的廣泛使用。IRTF的SMuG和IETF的MSEC 認(rèn)為安全組播數(shù)據(jù)處理、密鑰素材管理和組播安全策略是組播安全的三個(gè)方面。目 前的研究主要集中于安全組播數(shù)據(jù)處理和密鑰素材管理,其中安全組播數(shù)據(jù)處理主要 是使用加密和認(rèn)證技術(shù),而密鑰素材管理則主要有集中式、分布式和分擔(dān)式的方法。
雖然明確了組播數(shù)據(jù)處理的方法,但是目前的研究只是關(guān)注了加密和認(rèn)證技術(shù), 卻沒有具體說明在實(shí)際的網(wǎng)絡(luò)中怎么完成加密和認(rèn)證。而密鑰素材管理的三種方式各 有優(yōu)劣,要根據(jù)使用的實(shí)際情況加以抉擇,還有和上面同樣的問題就是,不管使用何 種密鑰管理方式,如何將研究的管理模型應(yīng)用于實(shí)際網(wǎng)絡(luò)也并不明確。
而IPv6和移動(dòng)網(wǎng)絡(luò)的發(fā)展是網(wǎng)絡(luò)通信的必然趨勢(shì)。如何設(shè)計(jì)能夠滿足符合移動(dòng) IPv6的應(yīng)用要求的安全組播的數(shù)據(jù)處理和組播密鑰管理技術(shù)是組播安全領(lǐng)域的目標(biāo)之
目甜的研究或者只關(guān)注認(rèn)證和加密算法本身,或者只從邏輯上說明怎樣高效的完 成組密鑰管理,或者是只適用于固定網(wǎng)絡(luò)或者IPv4環(huán)境下。為了組播技術(shù)能夠在下一 代網(wǎng)絡(luò)環(huán)境中得到充分的應(yīng)用,迫切需要設(shè)計(jì)一種滿足移動(dòng)IPv6環(huán)境下的組播安全技術(shù)。
發(fā)明內(nèi)容
6本發(fā)明的目的是在移動(dòng)IPv6下,提供一種可行的安全組播的整體方案,并從通信 機(jī)制上說明該方案的可行性;在此基礎(chǔ)上提出一種動(dòng)態(tài)分層的組播密鑰管理技術(shù),并 給出了這種模型下的一種組播加密方法、GC/KS (組控制器/密鑰服務(wù)器)、組播組和組
播源組成。
本發(fā)明的目的是這樣實(shí)現(xiàn)的, 一種基于MIPv6的安全組播方法及歩驟,其特征在
于它包括CA (認(rèn)證中心)1、組成員2、組播源3以及GCKS4;
其中,CA (認(rèn)證中心)1用于對(duì)組成員和組播源以及GCKS的認(rèn)證并分發(fā)證書; GCKS4用于對(duì)組成員2進(jìn)行接入注冊(cè)認(rèn)證、密鑰更新消息的分發(fā),用于向接入路由
器轉(zhuǎn)發(fā)組成員2的信息列表;用于與組播源進(jìn)行SA (安全關(guān)聯(lián))協(xié)商;用于GCKS間協(xié)
商構(gòu)建組密鑰;
組播源3用于通過中間路由器向組成員2發(fā)送組播數(shù)據(jù)包; 組成員2用于獲得組播數(shù)據(jù)包。
所述的CA中心采用PKI公鑰基礎(chǔ)設(shè)施的CA部署方法;分發(fā)證書的格式采用基于 X. 509格式。
所述的GCKS中用于與組播源進(jìn)行SA (安全關(guān)聯(lián))協(xié)商包括使用的加密算法,加密 密鑰,以及SA的參數(shù)如{源機(jī)目的*,卬/}等,并由GCKS指定印/ 。
所述的GCKS完成對(duì)組成員的接入注冊(cè)認(rèn)證后,是向接入路由器發(fā)送組成員列表。
所述的接入路由器可以是多個(gè)。
一種基于MIPv6的安全組播步驟,其步驟包括
a) 首先CA中心對(duì)GCKS進(jìn)行認(rèn)證并分發(fā)證書;
b) CA中心對(duì)潛在組成員和組播源認(rèn)證并分發(fā)證書;
c) 接入路由器發(fā)送MU)(組播路由偵聽)消息;
cJ)潛在組成員向GCKS發(fā)送注冊(cè)請(qǐng)求消息,表明要加入組播組;
e) GCKS向潛在組成員發(fā)送注冊(cè)請(qǐng)求應(yīng)答消息,使?jié)撛诮M成員成為組成員;
f) GCKS向組成員組播組密鑰&,;
g) GCKS向組成員申請(qǐng)加入的Router發(fā)送可信的成員列表;
h) 接入路由器發(fā)送MLD應(yīng)答確定潛在組成員加入組播組;
i) GCKS和組播源協(xié)商建立SA (安全關(guān)聯(lián));
j)組播源用加密組播數(shù)據(jù)通過接入路由器向組播組轉(zhuǎn)發(fā)組播數(shù)據(jù)。所述的歩驟a) 、 b)中,GCKS和成員獲得證書可以是實(shí)時(shí)通信時(shí)完成,也可以在 空閑時(shí)事先完成;所述的歩驟b)中,包含歩驟a)中的GCKS信息;所述歩驟d)中,可以 由b)中的GCKS信息來確定該向那些GCKS提出申請(qǐng);所述的歩驟d) 、 e)是在GCKS和成員 都獲得在CA中心的證書的情況下進(jìn)行的相互認(rèn)證;所述的歩驟f)、 g)沒有明顯的先后 順序,甚至可以同時(shí)完成。
所述的安全組播歩驟還包括經(jīng)CA中心認(rèn)證的潛在組成員加入和組成員離開。
所述的潛在組成員加入歩驟包括
a) 獲得證書的潛在組成員向GCKS申請(qǐng)要求加入一個(gè)組播組,使其成為組成員;
b) 組成員向GCKS發(fā)送附,,GCKS重新計(jì)算/(x)-(]"](x —i/0;m,)) + ^呼)modg,其
中包括上層的GCKS協(xié)商構(gòu)建新的組密鑰; .
c) GCKS和組播源協(xié)商建立新的SA,并包含新的組密鑰;
d) 〔;CKS向接入路由器更新組成員列表;
e) 組播源向組成員發(fā)送組播數(shù)據(jù)。 所述的成員離開歩驟是
a) GCKS重新計(jì)算/(x) = (]"](x-//(r,,》+ ^。 p)mod《,其中包括上層的GCKS協(xié)商 構(gòu)建新的組密鑰;
b) GCKS和組播源協(xié)商建立新的SA,并包含新的組密鑰;
c) GCKS向接入路由器更新組成員列表;
d) 組播源向組成員發(fā)送組播數(shù)據(jù)。
所述的組密鑰、 ,通過如下方法管理,首先由網(wǎng)絡(luò)的狀況確定GCKS是否分為底層
實(shí)的GCKS和上層虛擬的GCKS,當(dāng)網(wǎng)絡(luò)的狀況確定GCKS分為底層實(shí)的GCKS和上層虛擬的 GCKS時(shí),上層虛擬的GCKS間的組密鑰協(xié)商和與組播源進(jìn)行SA的協(xié)商由底層實(shí)的GCKS完 成;上層虛擬的GCKS建成完全二叉樹;當(dāng)網(wǎng)絡(luò)的狀況確定不需要構(gòu)建上層虛擬的GCKS 時(shí),則由底層實(shí)的GCKS完成與組播源進(jìn)行SA的協(xié)商。
所述的網(wǎng)絡(luò)的狀況是按照地域或者組播地址的邏輯劃分或者安全等級(jí)或者是上述 三者的結(jié)合來規(guī)定。
所述的組密鑰、,"構(gòu)建方法是 a)組成員向GCKS發(fā)送構(gòu)建子組密鑰的密鑰材料m,,對(duì)應(yīng)的GCKS構(gòu)建
8/W = (ET" — H(C附,》+ 、,")mod"勺形式來包含組密鑰、呻;
b) GCKS間來構(gòu)建組密鑰;
c) 底層的GCKS在獲得b)中構(gòu)建好的組密鑰后,作為a)中的&^,并將r、和
/(x) = (J]"-^^附,))+V"》mod《發(fā)給組成員。 所述歩驟A中,是按照如下方法進(jìn)行的 al.通過GCKS認(rèn)證的組成員向GCKS發(fā)送一個(gè)隨機(jī)數(shù)m,, GCKS用組內(nèi)的所有的成員
的w,并選擇隨機(jī)數(shù)r、構(gòu)建/(x) - (]"[(x — w,)) + 、 ,)mod《形式的包含組
密鑰的多項(xiàng)式,其中,把r、向組成員組播(或廣播);而/^,來自歩驟b中構(gòu)
建的組密鑰;
a2.當(dāng)有成員加入時(shí),如7l/,+,加入組播組,則GCKS選擇新的。并重新構(gòu)建
/ W = ((x — //(r、,,+,))]"]& — H(r)) + ^'")modg '其中'r s是由GCKS重新 選取的,并且向新的組內(nèi)成員組播(或廣播),而、,p來自下述歩驟b的重新 協(xié)商構(gòu)建;
a3.當(dāng)有成員離丌,如A^離開,則GCKS構(gòu)建新的不包含MJ言息的
/W = (n(x —孖0"'、附,》+ ^,)mod^其中,r",是由GCKS重新選取的'并 向組內(nèi)成員組播(或廣播),而&:,則來自于下述步驟b)中重新協(xié)商構(gòu)建的。
所述密鑰構(gòu)建的歩驟b中是按照如下方法進(jìn)行的
當(dāng)?shù)讓拥臎]有兄弟節(jié)點(diǎn)時(shí),GCKS,直接將自己作為自己的父節(jié)點(diǎn)來完成和 對(duì)應(yīng)兄弟節(jié)點(diǎn)的協(xié)商;當(dāng)沒有兄弟節(jié)點(diǎn)并且作為根節(jié)點(diǎn)時(shí),隨機(jī)選擇s, (& e (1,2,1))并計(jì)算&, =//0,尸)作為組密鑰;
當(dāng)?shù)讓拥腉C《S,存在兄弟節(jié)點(diǎn)時(shí),GCKS,先用自己從CA中心獲得的證書對(duì)對(duì)方進(jìn) 行認(rèn)證,認(rèn)證通過,則完成GCXS;隨機(jī)選擇Ae(l,2,…,g-l),并計(jì)算A戶,尸是階數(shù) 為g的有限域上的某一橢圓曲線加法群G,中的一點(diǎn),兄弟節(jié)點(diǎn)間交換^,P并計(jì)算二者之 間的共享密鑰,計(jì)算方式采用基于橢圓曲線的雙線性方法進(jìn),即
9~2 = T/0(、iV,/》=//(e(戶,尸)、"'、'2),其中i/滿足//: G2 ~>《是一個(gè)使用SHA-1或者
MD5的散列函數(shù),Z:是《上的一個(gè)有限域,G2是滿足映射e:G,x^4G2的雙線性映射 的階數(shù)為g的有限域上某一橢圓曲線乘法群;上層的GCXS;(表示GCXS,間協(xié)商的上
層GCKS)間協(xié)商構(gòu)建其上層的GCKS時(shí),選擇^-、e《,按照同樣的方式完成,直到
到達(dá)頂層的中心GCKS,產(chǎn)生^哪=H(e(^i5,5/)) = //(e(尸,尸廣"。
所述密鑰構(gòu)建的歩驟C包括在GCKS向組成員發(fā)送包含組密鑰的信息時(shí),同時(shí)發(fā)送 GCKS構(gòu)建的/0) =-丑(r、m,)) + & ,)modg時(shí)所使用的當(dāng)前的rv ,組成員在獲得
當(dāng)前r、后計(jì)算出ff(r、m,)才能計(jì)算獲得組密鑰。
本發(fā)明具有如下優(yōu)點(diǎn)
1. 本發(fā)明由于從實(shí)際的網(wǎng)絡(luò)部署考慮,給出了可行的安全組播部署方案,給出了 fe播通信建立的初始過程,使安全組播技術(shù)能夠用于實(shí)際的組播應(yīng)用成為可能。
2. 本發(fā)明山于在初始時(shí)使用了基于CA中心的證書的認(rèn)證機(jī)制,在加入具體組播組 時(shí)使用了用GCKS對(duì)組成員再進(jìn)行一次接入認(rèn)證,在加密算法上使用了安全高效的適合 移動(dòng)設(shè)備應(yīng)用的密鑰構(gòu)建算法,提高了組播通信的安全性。
3. 本發(fā)明由于限制了子組成員數(shù)目,并在密鑰管理層隨機(jī)選擇GCKS完成上層GCKS 功能,還分離了GCKS和路由器的功能,能夠很好的避免單點(diǎn)失效問題,并且在一定程 度上減小了DoS (拒絕服務(wù))攻擊的可能。
4. 本發(fā)明使用GCKS作為組播組的代理與組播源進(jìn)行協(xié)商,由GCKS決定SA參數(shù)印i, 解決了在組播通信中何如進(jìn)行SA協(xié)商的問題。
5. 本發(fā)明山于使用了動(dòng)態(tài)分層的密鑰管理算法,使組播管理效率得到的明顯的提咼。
6. 本發(fā)明由于使用了一種新的加密算法,結(jié)合組播通信建立過程中包括的組成員 的加入和離開的情形,在子組內(nèi)使用基于多項(xiàng)式的散列函數(shù)的實(shí)時(shí)變化的加密方法; 在GCKS層先是使用GCKS的證書對(duì)對(duì)方進(jìn)行認(rèn)證,之后使用了基于橢圓曲線雙線性的密 胡生成算法生成密鑰并使用基于SHA-1或MD5的消息摘要算法生成組密鑰,使整個(gè)系統(tǒng)的安全性很高,做到了甜向保密和后向保密,甚至是完全的密鑰獨(dú)立性。而且在計(jì)算 量和通信量上有一個(gè)很好的折中,使這種方法適合移動(dòng)組播通信設(shè)備的應(yīng)用。
為了使本發(fā)明的目的、特征和優(yōu)點(diǎn)能更明顯易懂,下面結(jié)合附圖實(shí)施對(duì)本發(fā)明實(shí) 施方式作詳細(xì)說。
圖1是本發(fā)明實(shí)施例原理示意圖2是本發(fā)明的組播通信的建立過程圖3是本發(fā)明的處理成員加入過程圖4是本發(fā)明的處理成員離開過程圖5是本發(fā)明的密鑰管理模型圖。
圖中l(wèi)、 CA (認(rèn)證中心);2、組成員;3、組播源;4、 GCKS。
具體實(shí)施例方式
參照?qǐng)Di,本發(fā)明包括4個(gè)部分,即CA中心1, GCKS4 (組控制器/密鑰服務(wù)器)、 組成員(組播組)2和組播源3。其中,CA (認(rèn)證中心)1用于對(duì)組成員和組播源以及 GCKS的認(rèn)證并分發(fā)證書;GCKS4用于對(duì)組成員2進(jìn)行接入注冊(cè)認(rèn)證、密鑰更新消息的 分發(fā),用于向接入路由器轉(zhuǎn)發(fā)組成員2的信息列表;用于與組播源進(jìn)行SA (安全關(guān)聯(lián)) 協(xié)商;用于GCKS間協(xié)商構(gòu)建組密鑰;組播源3用于通過中間路由器向組成員2發(fā)送組 播數(shù)據(jù)包;組成員2用于獲得組播數(shù)據(jù)包。
從圖1中可以看出,CA中心對(duì)組播源、GCKS和組成員進(jìn)行認(rèn)證并分發(fā)證書采用PKI 公鑰基礎(chǔ)設(shè)施的CA部署方法,證書的格式采用通用的基于1 509格式,在簽名算法和 用戶的公鑰算法中包含某一大素?cái)?shù)q(不小于128位)、橢圓曲線上的q階加法群G。 橢圓曲線上的q階乘法群(52 、 e : G, xG, — G2的雙線性映射、: G2 — 的使用SHA-1 或MD5的散列函數(shù);其它信息如ID等和一般的L509—樣。而組播源在向組成員發(fā)送 數(shù)據(jù)時(shí),使用的SA (安全關(guān)聯(lián))是和組對(duì)應(yīng)的GCKS協(xié)商的;GCKS負(fù)責(zé)組成員的注冊(cè), 向組成員發(fā)送密鑰更新消息以及構(gòu)建組密鑰;組播源可以是組外成員,也可以是組內(nèi) 成員。
本發(fā)明也可通過安全組播通信方式分為三個(gè)部分,分別是通信模塊、密鑰管理模塊和認(rèn)證模塊。其中I是IP組播模塊,粗實(shí)線表示組播數(shù)據(jù)的傳輸路徑;II表示組密 鑰管理部分。細(xì)實(shí)線表示組GCKS與組成員的協(xié)商及其對(duì)組成員的管理,點(diǎn)劃線是指 GCKS間可能存在的密鑰協(xié)商。 一個(gè)GCKS4下可能對(duì)應(yīng)多個(gè)路由器;III是認(rèn)證模塊。
其中,組播模塊是指IP組播通信部分,組播源發(fā)送組播數(shù)據(jù),并由中間路由器(或 者交換機(jī))轉(zhuǎn)發(fā)數(shù)據(jù)包,直至組播數(shù)據(jù)發(fā)向要求的組成員(接受者)2;密鑰管理模塊 由(;CKS來完成,負(fù)責(zé)對(duì)組成員2的接入認(rèn)證,更新密鑰的發(fā)送,以及協(xié)商構(gòu)建組密鑰 (iT:細(xì)的內(nèi)容在下面說明);認(rèn)證模塊(CA中心),負(fù)責(zé)向組成員2發(fā)放證書以證明GCKS 4 (組控制器/密鑰服務(wù)器)、組成員(組播組)2和組播源3的合法性。關(guān)于認(rèn)證的方 式采用現(xiàn)有的CA認(rèn)證方式完成,本發(fā)明不作過多說明。
參照?qǐng)D2, 一種基于MIPv6的安全組播歩驟分為10個(gè)步驟,這10個(gè)歩驟并不是每 一歩代表一條信息,而是要完成的內(nèi)容,其中的雙向箭頭表示一個(gè)雙向的交互過程, 而單向箭頭是一個(gè)單向的信息發(fā)送過程具體的IO個(gè)歩驟是
如歩驟201表示GCKS和CA中心的交互GCKS必須在CA中心處獲得證書,以便在 下述的歩驟205中證明自己是合法的GCKS,以防止GCKS欺騙;
如歩驟202所示,組成員在成為組播組的成員之前,也必須和CA中心進(jìn)行交互, 以成為潛在的組成員,也就是,只有完成這一歩的操作,任一組成員才具備加入組播 組的資格。其中,在組成員獲得證書中,包含GCKS的信息,即成員可以在CA中心確 定由那些GCKS可以完成對(duì)自己的再次加入認(rèn)證;
歩驟203是在一個(gè)范圍內(nèi)的組播路由器發(fā)送MLD (組播路由偵聽)或者相關(guān)信息, 以讓潛在的組成員可以加入到組播組中;
歩驟204、 205、 206表示潛在的組成員在必須和GCKS進(jìn)行相互認(rèn)證才能保證潛在 組成員成為真正的組成員,并向組成員發(fā)送包含組播密鑰的信息;其中步驟205還表 示GCKS向組成員確認(rèn)時(shí),GCKS用在CA中心獲得的證書來證明自己的合法性;
歩驟207、 208表示GCKS還需要負(fù)責(zé)完成向接入路由器發(fā)送組成員的列表,以讓 接入路由器明確信息該發(fā)向那些組成員,接入路由器在收到組成員列表后向組成員發(fā) 送一個(gè)確認(rèn)消息,以讓組成員確認(rèn)可以收到組播數(shù)據(jù)并且不會(huì)重復(fù)向GCKS要求加入組 播組;
歩驟209、 210表示,GCKS和組播源協(xié)商建立組播源到該組播組的SA,這個(gè)SA的 協(xié)商和單播的SA協(xié)商類似,只是這個(gè)SA使用的目的地址是組地址,在所有的安全相 關(guān)信息協(xié)商好以后,組播源就可以完成向組播組轉(zhuǎn)發(fā)數(shù)據(jù),數(shù)據(jù)的加密密鑰是使用GCKS
12層協(xié)商的組密鑰。
安全組播歩驟包括經(jīng)CA中心認(rèn)證的潛在組成員加入和組成員離開。圖3給出了潛在
組成員加入歩驟
歩驟30]完成CA中心對(duì)任一成員認(rèn)證并分發(fā)證書;
歩驟302、歩驟303完成獲得證書的潛在組成員向GCKS申請(qǐng)要求加入一個(gè)組播組, 使其成為組成員;完成組成員MnCT向GCKS發(fā)送m,, GCKS重新計(jì)算
/(x) = (["f(x-//(^m,》+ 、")mod《,其中包括上層的GCKS協(xié)商構(gòu)建新的組密鑰;
歩驟304完成GCKS向接入路由器更新組成員列表; 歩驟305完成接入路由器向組成員發(fā)送組播數(shù)據(jù); 虛線表示GCKS下的當(dāng)前組成員。 參照?qǐng)D4,成員離開歩驟是 歩驟401完成組成員Mleave離丌組播組;
歩驟402完成GCKS向接入路由器更新組成員列表,GCKS重新計(jì)算
= (x-i^;m,》+ ^,)mod《,其中包括上層的GCKS協(xié)商構(gòu)建新的組密鑰;
歩驟403完成接入路由器向組成員發(fā)送組播數(shù)據(jù); 虛線表示GCKS下的當(dāng)甜組成員。
本發(fā)明使用的動(dòng)態(tài)分層的組播密鑰管理模型圖如圖5所示,實(shí)線部分是切實(shí)存在 的組成員和底層GCKS,組成員如M1、 M2、 Mn,底層GCKS如GCKS_1 、 GCKS—2 。上層 的GCKS和虛線是指虛擬GCKS和可能的協(xié)商構(gòu)建中心GCKS邏輯。上層的GCKS如GCKS12、 GCLS12、 GCKS〗2、 (;CKS34、 GCKS14、 GCKS58、 GCKS18。 SG1、 SG2表示子組。首先由網(wǎng) 絡(luò)的狀況確定GCKS是否分為底層實(shí)的GCKS和上層虛擬的GCKS,當(dāng)網(wǎng)絡(luò)的狀況確定GCKS 分為底層實(shí)的GCKS和上層虛擬的GCKS時(shí),上層虛擬的GCKS間的組密鑰協(xié)商和與組播 源進(jìn)行SA的協(xié)商由底層實(shí)的GCKS完成;上層虛擬的GCKS建成完全二叉樹;當(dāng)網(wǎng)絡(luò)的 狀況確定不需要構(gòu)建上層虛擬的GCKS時(shí),則由底層實(shí)的GCKS完成與組播源進(jìn)行SA的 協(xié)商;網(wǎng)絡(luò)的狀況是按照地域或者組播地址的邏輯劃分或者安全等級(jí)或者是上述三者 的結(jié)合來規(guī)定。
在上層是夠構(gòu)建中心GCKS我們做如下規(guī)定當(dāng)在一定的范圍,比如一個(gè)省內(nèi)或是 一個(gè)無線網(wǎng)絡(luò)范圍內(nèi)或是一個(gè)網(wǎng)段之內(nèi),安全級(jí)別相同時(shí),就使用相同的邏輯地址(比 如組ID),并構(gòu)建中心GCKS來完成組播數(shù)據(jù)的轉(zhuǎn)發(fā);否則,不構(gòu)建中心的GCKS,并由
13各個(gè)GCKS作為根節(jié)點(diǎn)來完成和組播源的協(xié)商以及組密鑰的構(gòu)建分發(fā)等任務(wù)。 本發(fā)明構(gòu)建密鑰的詳細(xì)過程是-
i、潛在組成員在向GCKS要求加入某一組播組時(shí),必須進(jìn)行協(xié)商。協(xié)商完畢后, 潛在組成員M,成為合法的組成員。M,隨機(jī)的選取m,并將m,傳給相應(yīng)的GCKS。 GCKS在
獲得m,后計(jì)算//(C)并構(gòu)建/0c) = (f|(x-//0;m,)) + 、,)modg 。其中,是GCKS
隨機(jī)選擇的一個(gè)整數(shù),其含義是每當(dāng)有成員變動(dòng)時(shí)(需要新的組密鑰),GCKS產(chǎn)生一 個(gè)隨機(jī)數(shù)r、并用新的r、構(gòu)建包含組密鑰的多項(xiàng)式,同時(shí),GCKS向其組成員廣播r、;相
應(yīng)的,成員在獲得GCKS廣播過來的/;后,產(chǎn)生//(~ 0才能解密新的包含組密鑰的多
項(xiàng)式/(x)。 //是一散列函數(shù)散列函數(shù),其形式在下面說明。&,,由GCKS層間構(gòu)建,
具體過程參見下述的2、 3歩。 2、 GCKS層協(xié)商構(gòu)建組密鑰
在GCKS層,按照組密鑰管理的要求,根據(jù)網(wǎng)絡(luò)狀況盡可能的構(gòu)建完全二叉樹。密 鑰的構(gòu)建分為如下兩種情況來完成
a.當(dāng)GCX ,沒有兄弟節(jié)點(diǎn)時(shí),GC尺S,直接將自己作為自己的父節(jié)點(diǎn)來完成和對(duì)應(yīng)
兄弟節(jié)點(diǎn)的協(xié)商;當(dāng)沒有兄弟節(jié)點(diǎn)并且作為根節(jié)點(diǎn)時(shí),隨機(jī)選擇、(^£(1,2,...,9-1))
并計(jì)算<TOUP = H(^,P)作為組密鑰;
b.當(dāng)存在兄弟節(jié)點(diǎn)時(shí),先用自己從CA中心獲得的證書對(duì)對(duì)方進(jìn)行
認(rèn)證,認(rèn)證通過,則完成GCXS,隨機(jī)選擇《e(1,2,...,《-1),并計(jì)算^P, P是階數(shù)為 《的有限域上的某一橢圓曲線加法群G,中的一點(diǎn),兄弟節(jié)點(diǎn)間交換s,P并計(jì)算二者之間 的共享密鑰,計(jì)算方式采用基于橢圓曲線的雙線性方法進(jìn)行[7],即 、2 = //(e",尸,\尸))=//(e(戶,i7)v。),其中//滿足: G2 —《是一個(gè)使用SHA-1或者 MD5的散列函數(shù),《是《上的一個(gè)有限域,《是滿足映射2:^><^~>《的雙線性映射 的階數(shù)為g的有限域上某一橢圓曲線乘法群。上層的GCKSy (表示GCKS,間協(xié)商的上
層GCKS)間協(xié)商構(gòu)建其上層的GCKS時(shí),選擇^-^eZ:,按照同樣的方式完成,直到到達(dá)頂層的中心GCKS ,產(chǎn)生、,=^(e(s,尸,、戶))=//(e(尸,尸廣;)。 3、 GCKS用甜兩歩的函數(shù)和組密鑰來構(gòu)建組密鑰的分發(fā)函數(shù), GCM,獲得組密鑰、"后,把、"作為/(" = (n(x — "(C》+ Umod《中的
發(fā)給組成員,組成員代入自己的i/(r、m,)就可以獲得組密鑰y^,。
下面,我們舉例簡要說明本密鑰構(gòu)建及分發(fā)思想如圖5所示,組播組包含8個(gè)子 組(即8個(gè)GCKS)并協(xié)商構(gòu)建了中心GC《S18 。
如圖5所示,底層GCKS用組成員的信息來構(gòu)建包含組密鑰的函數(shù),以GCXS,為例。
設(shè)組內(nèi)成員為M,,當(dāng)有新的成員M2進(jìn)入時(shí),GCKS 構(gòu)建
= //(r^^Xx-^c^O + Umod^每當(dāng)有新成員加入時(shí),都完成類似的
操作;某一時(shí)刻,函數(shù)形式為/("-(]"[(x-F(r、m,》+ 、,.,)modg,成員M,離開(j 可以是1、2、…n中的任何一個(gè)),則GCKS構(gòu)建/(x)-([7(x-/f"m,) + ^,)mod《,
并把r、'和上述函數(shù)一并發(fā)給組成員,其中、,p來自上層的GCKS層協(xié)商構(gòu)建。
在協(xié)商構(gòu)建組密鑰區(qū),按照上述歩驟2, GC^^和GC尺&之間,GO^向GCX^發(fā)
送,向發(fā)送,雙方均計(jì)算yt12 = ifOO,尸,^尸))=),而 虛擬GCKS區(qū),GCXS12選擇512 - 、 e《,GCXS34選擇& = &4 e《,然后分別計(jì)算^尸
和6'34P并將計(jì)算結(jié)果傳給其兄弟節(jié)點(diǎn),雙方均計(jì)算
&4 =//(*12/^34尸))=/^(尸,。^)。 一直按照這種方式完成,直至到達(dá)根節(jié)點(diǎn)時(shí)產(chǎn)生 的密鑰即為組密鑰。如圖5所示的例子中的組密鑰則為
最后,GCXS,向組成員組播包含組密鑰的信息,整個(gè)密鑰構(gòu)建及分發(fā)完成。
權(quán)利要求
1、一種基于MIPv6的安全組播方法,其特征在于它包括認(rèn)證中心1、組成員2、組播源3以及GCKS4;其中,認(rèn)證中心1用于對(duì)組成員和組播源以及GCKS的認(rèn)證并分發(fā)證書;GCKS4用于對(duì)組成員2進(jìn)行接入注冊(cè)認(rèn)證、密鑰更新消息的分發(fā),用于向接入路由器轉(zhuǎn)發(fā)組成員2的信息列表;用于與組播源進(jìn)行安全關(guān)聯(lián)協(xié)商;用于GCKS間協(xié)商構(gòu)建組密鑰;組播源3用于通過中間路由器向組成員2發(fā)送組播數(shù)據(jù)包;組成員2用于獲得組播數(shù)據(jù)包。
2、 根據(jù)權(quán)利要求l所述的一種基于MIPv6的安全組播方法,其特征在于所述的 CA中心采用PKI公鑰基礎(chǔ)設(shè)施的CA部署方法;分發(fā)證書的格式采用基于X. 509格式; 所述的GCKS中用于與組播源進(jìn)行安全關(guān)聯(lián)協(xié)商包括使用的加密算法,加密密鑰,以及SA的參數(shù)如{源*,目的*,,并由GCKS指定—。
3、 根據(jù)權(quán)利要求l所述的一種基于MIPv6的安全組播方法,其特征在于所述的 GCKS完成對(duì)組成員的接入注冊(cè)認(rèn)證后,是向接入路由器發(fā)送組成員列表。
4、 根據(jù)權(quán)利要求l所述的一種基于MIPv6的安全組播方法,其特征在于所述的 接入路bl」器可以是多個(gè)。
5、 一種基于MIPv6的安全組播歩驟,其步驟包括A. 首先CA中心對(duì)GCKS進(jìn)行認(rèn)證并分發(fā)證書;B. CA中心對(duì)潛在組成員和組播源認(rèn)證并分發(fā)證書;C. 接入路由器發(fā)送組播路由偵聽消息;D. 潛在組成員向GCKS發(fā)送注冊(cè)請(qǐng)求消息,表明要加入組播組;E. GCKS向潛在組成員發(fā)送注冊(cè)請(qǐng)求應(yīng)答消息,使?jié)撛诮M成員成為組成員;F. GCKS向組成員組播組密鑰^ ,;G. (;CKS向組成員申請(qǐng)加入的Router發(fā)送可信的成員列表;H. 接入路由器發(fā)送MLD應(yīng)答確定潛在組成員加入組播組;I. GCKS和組播源協(xié)商建立安全關(guān)聯(lián);J.組播源用加密組播數(shù)據(jù)通過接入路由器向組播組轉(zhuǎn)發(fā)組播數(shù)據(jù)。
6、 根據(jù)權(quán)利要求5所述的一種基于MIPv6的安全組播步驟,其特征是所述的步驟 A、 B中,GCKS和成員獲得證書可以是實(shí)時(shí)通信時(shí)完成,也可以在空閑時(shí)事先完成;所 述的歩驟B中,包含歩驟A中的GCKS信息;所述步驟D中,可以由B中的GCKS信息來確定 該向那些GCKS提出申請(qǐng);所述的歩驟D、 E是在GCKS和成員都獲得在CA中心的證書的情 況下進(jìn)行的相互認(rèn)證;所述的步驟F、 G沒有明顯的先后順序,甚至可以同時(shí)完成。
7、 根據(jù)權(quán)利要求5所述的一種基于MIPv6的安全組播步驟,其特征是所述的安全 組播歩驟還包括經(jīng)CA中心認(rèn)證的潛在組成員加入和組成員離開;潛在組成員加入步驟包括a) 獲得證書的潛在組成員向GCKS申請(qǐng)要求加入一個(gè)組播組,使其成為組成員;b) 組成員向GCKS發(fā)送m,, GCKS重新計(jì)算/(xXf](x-/f(c)) + 、,)mod《,其中包括上層的GCKS協(xié)商構(gòu)建新的組密鑰;c) GCKS和組播源協(xié)商建立新的SA,并包含新的組密鑰;d) GCKS向接入路由器更新組成員列表;e) 組播源向組成員發(fā)送組播數(shù)據(jù);組成員離丌歩驟是a) GCKS重新計(jì)算/(x) = (P](x-//".m,+ )mod《,其中包括上層的GCKS協(xié)商構(gòu)建新的組密鑰;b) GCKS和組播源協(xié)商建立新的SA,并包含新的組密鑰;c) GCKS向接入路由器更新組成員列表;d) 組播源向組成員發(fā)送組播數(shù)據(jù)。
8、 根據(jù)權(quán)利要求5所述的一種基于MIPv6的安全組播步驟,其特征是所述的組密 鑰、^通過如下方法管理,首先由網(wǎng)絡(luò)的狀況確定GCKS是否分為底層實(shí)的GCKS和上層虛擬的GCKS,當(dāng)網(wǎng)絡(luò)的狀況確定GCKS分為底層實(shí)的GCKS和上層虛擬的GCKS時(shí),上層虛 擬的GCKS間的組密鑰協(xié)商和與組播源進(jìn)行SA的協(xié)商由底層實(shí)的GCKS完成;上層虛擬的 GCKS建成完全二叉樹;當(dāng)網(wǎng)絡(luò)的狀況確定不需要構(gòu)建上層虛擬的GCKS時(shí),則由底層實(shí) 的GCKS完成與組播源進(jìn)行SA的協(xié)商;網(wǎng)絡(luò)的狀況是按照地域或者組播地址的邏輯劃分 或者安全等級(jí)或者是上述三者的結(jié)合來規(guī)定。
9、根據(jù)權(quán)利要求5所述的一種基于MIPv6的安全組播歩驟,其特征是所述的組密 鑰、 , 構(gòu)建方法是a) 組成員向(;CKS發(fā)送構(gòu)建子組密鑰的密鑰材料m,,對(duì)應(yīng)的GCKS構(gòu)建<formula>formula see original document page 4</formula>的形式來包含組密鑰、,;b) GCKS問來構(gòu)建組密鑰;c) 底&的GCKS在獲得b)中構(gòu)建好的組密鑰后,作為a)中的、",并將r、和<formula>formula see original document page 4</formula>發(fā)給組成員。
10、根據(jù)權(quán)利要求5所述的一種基于MIPv6的安全組播步驟,其特征是所述步驟A 中,是按照如下方法進(jìn)行的al.通過GCKS認(rèn)證的組成員向GCKS發(fā)送一個(gè)隨機(jī)數(shù)m,, GCKS用組內(nèi)的所有的成員的w,并選擇隨機(jī)數(shù)rv構(gòu)建<formula>formula see original document page 4</formula>形式的包含組密鑰的多項(xiàng)式,其中,把r、向組成員組播(或廣播);而yt,^來自步驟b中構(gòu)建的組密鑰;a2.當(dāng)有成員加入時(shí),如M,+,加入組播組,則GCKS選擇新的。并重新構(gòu)建<formula>formula see original document page 4</formula>其中,。是由GCKS重新選取的,并且向新的組內(nèi)成員組播(或廣播),而^,,,,來自下述歩驟13的重新協(xié)商構(gòu)建;a3.當(dāng)有成員離開,如il^離開,則GCKS構(gòu)建新的不包含A^信息的<formula>formula see original document page 4</formula>其中,/、.是由GCKS重新選取的,并向組內(nèi)成員組播(或廣播),而f^則來自于下述歩驟b中重新協(xié)商構(gòu)建的; 所述密鑰構(gòu)建的歩驟b)中是按照如下方法進(jìn)行的 當(dāng)?shù)讓拥腉C《S,沒有兄弟節(jié)點(diǎn)時(shí),直接將自己作為自己的父節(jié)點(diǎn)來完成和對(duì)應(yīng)兄弟節(jié)點(diǎn)的協(xié)商;當(dāng)沒有兄弟節(jié)點(diǎn)并且作為根節(jié)點(diǎn)時(shí),隨機(jī)選擇《(a e (1,2,...,9-1))并計(jì)算&,, =//(^尸)作為組密鑰;當(dāng)?shù)讓拥腉C《S,存在兄弟節(jié)點(diǎn)時(shí),GCX《先用自己從CA中心獲得的證書對(duì)對(duì)方進(jìn) 行認(rèn)證,認(rèn)證通過,則完成GC^S,隨機(jī)選擇^e(l,2,…,g-l),并計(jì)算s,P, P是階數(shù) 為《的有限域上的某一橢圓曲線加法群G,中的一點(diǎn),兄弟節(jié)點(diǎn)間交換^,尸并計(jì)算二者之 間的共享密鑰,計(jì)算方式采用基于橢圓曲線的雙線性方法進(jìn),即 、2 = //(e(、尸,^i5》=//(e(AP)v。),其中//滿足7/ : G2 ~> Z:是一個(gè)使用SHA-1或者M(jìn)D5的散列函數(shù),《是滿足映射e:G,xG,—《的雙線性映射的階數(shù)為《的有限域上某 一橢圓曲線乘法群;上層的GCX^ (表示GC^S,間協(xié)商的上層GCKS)間協(xié)商構(gòu)建其上層的GCKS時(shí),選擇's',, =、e《,按照同樣的方式完成,直到到達(dá)頂層的中心GCKS,產(chǎn)生、,=//(^/^,尸))=//(<尸,尸)、'勺;所述密鑰構(gòu)建的歩驟C包括在GCKS向組成員發(fā)送包含組密鑰的信息時(shí),同時(shí)發(fā)送 GCKS構(gòu)建的/(x)二(^[(x —7f(c》+ Umod《時(shí)所使用的當(dāng)前的/;,組成員在獲得當(dāng)前r、后計(jì)算出//化m,)才能計(jì)算獲得組密鑰。
全文摘要
本發(fā)明屬于通信網(wǎng)絡(luò)安全領(lǐng)域,涉及一種應(yīng)用于移動(dòng)通信網(wǎng)絡(luò)中基于MIPv6的安全組播方法,其特征在于它包括認(rèn)證中心1、組成員2、組播源3以及GCKS4;其中,認(rèn)證中心1用于對(duì)組成員和組播源以及GCKS的認(rèn)證并分發(fā)證書;GCKS4用于對(duì)組成員2進(jìn)行接入注冊(cè)認(rèn)證、密鑰更新消息的分發(fā),用于向接入路由器轉(zhuǎn)發(fā)組成員2的信息列表;用于與組播源進(jìn)行安全關(guān)聯(lián)協(xié)商;用于GCKS間協(xié)商構(gòu)建組密鑰;組播源3用于通過中間路由器向組成員2發(fā)送組播數(shù)據(jù)包;組成員2用于獲得組播數(shù)據(jù)包。使安全組播技術(shù)能夠用于實(shí)際的組播應(yīng)用成為可能,提高了組播通信的安全性,分離了GCKS和路由器的功能,能夠很好的避免單點(diǎn)失效問題,使組播管理效率得到的明顯的提高。
文檔編號(hào)H04L12/18GK101588235SQ200910021030
公開日2009年11月25日 申請(qǐng)日期2009年1月23日 優(yōu)先權(quán)日2009年1月23日
發(fā)明者劉彥明, 李小平, 凡 楊, 董慶寬, 黎劍兵 申請(qǐng)人:西安電子科技大學(xué)