一種適用于異構(gòu)傳感器網(wǎng)絡(luò)的組密鑰管理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種適用于無線傳感器網(wǎng)絡(luò)組密鑰管理方法,屬于無線傳感器網(wǎng)絡(luò)技 術(shù)和網(wǎng)絡(luò)信息安全交叉技術(shù)應(yīng)用領(lǐng)域。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(WSN, wireless sensor networks)因其廣闊的應(yīng)用前景而越來 越受到人們的關(guān)注,但由于其受限的資源、無安全保障的工作環(huán)境和低成本要求等原因,安 全性問題一直是學(xué)術(shù)界研宄的熱點(diǎn)。隨著WSN的快速發(fā)展,其應(yīng)用范圍也越來越廣泛。目 前,在軍事和人們的日常生活中已經(jīng)缺少不了 WSN的存在。在WSN中,除了點(diǎn)對點(diǎn)單播通信 夕卜,還需要進(jìn)行多播通信,但是多播通信具有信道開放的特點(diǎn),與單播通信相比更容易遭受 到惡意節(jié)點(diǎn)的攻擊,所以安全多播問題已經(jīng)成為制約WSN發(fā)展的關(guān)鍵問題之一。
[0003] 雖然目前對傳感器網(wǎng)絡(luò)組密鑰管理的研宄已經(jīng)在一定程度上實(shí)現(xiàn)了安全多播通 信,但是它們或者沒有充分考了到無線傳感器網(wǎng)絡(luò)的動(dòng)態(tài)變化(例如由于傳感器節(jié)點(diǎn)的資 源有限,節(jié)點(diǎn)的能耗耗盡導(dǎo)致其必須退出網(wǎng)絡(luò),舊節(jié)點(diǎn)的退出必須有新節(jié)點(diǎn)的加入來維持 網(wǎng)絡(luò)的運(yùn)行,這樣一個(gè)過程勢必導(dǎo)致網(wǎng)絡(luò)發(fā)生動(dòng)態(tài)變化),使得整個(gè)方案中組密鑰更新的代 價(jià)過大,甚至沒有組密鑰更新機(jī)制;部分組密鑰管理方案中雖有組密鑰更新機(jī)制但是并沒 有實(shí)現(xiàn)入網(wǎng)節(jié)點(diǎn)和組長之間的相互鑒別,也沒有實(shí)現(xiàn)組成員節(jié)點(diǎn)對組長下發(fā)的密鑰更新命 令進(jìn)行合法性認(rèn)證,所以組密鑰管理機(jī)制存在著一定的安全隱患。
【發(fā)明內(nèi)容】
[0004] 針對以上現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種簡單有效的組密鑰管理 方法實(shí)現(xiàn)組內(nèi)成員和組長之間的相互認(rèn)證、不僅節(jié)約了每個(gè)節(jié)點(diǎn)的存儲空間,而且降低了 整個(gè)網(wǎng)絡(luò)密鑰管理開銷,同時(shí)保證了整個(gè)網(wǎng)絡(luò)的前向安全性和后向安全性的適用于異構(gòu)傳 感器網(wǎng)絡(luò)的組密鑰管理方法,本發(fā)明的技術(shù)方案如下:一種適用于異構(gòu)傳感器網(wǎng)絡(luò)的組密 鑰管理方法,其包括以下步驟:
[0005] 101、系統(tǒng)初始化配置步驟,具體包括:
[0006] A1、節(jié)點(diǎn)在部署到網(wǎng)絡(luò)之前,由基站為每個(gè)節(jié)點(diǎn)預(yù)先加載配置密鑰PSK,參數(shù)產(chǎn)生 算法G、編碼算法CH和累加器函數(shù)f ;
[0007] A2、步驟Al的節(jié)點(diǎn)部署結(jié)束后,部署在網(wǎng)絡(luò)中的組長節(jié)點(diǎn)隨機(jī)選定安全參數(shù)k,運(yùn) 行G算法產(chǎn)生一組輔助參數(shù)Ap= (X m p,q),其中Xtl表示一個(gè)隨機(jī)正整數(shù),p和q分別表示 兩個(gè)大素?cái)?shù),輔助參數(shù)\用來構(gòu)建該組的累加器f (X(l,y) = x/modn ;
[0008] 102、完成步驟101的系統(tǒng)初始化配置步驟后,進(jìn)行組密鑰建立步驟,具體包括:
[0009] B1、入網(wǎng)前,組成員和組長通過同或鑒別機(jī)制完成雙方之間的鑒別;
[0010] B2、組長根據(jù)自身組長地址IDnianagw和合法組內(nèi)成員節(jié)點(diǎn)i的組內(nèi)成員地址IDiraibw i,利用編碼算法CH,為自己和組內(nèi)成員進(jìn)行身份編碼;
[0011] B3、組長利用輔助參數(shù)Ap和累加器算法f為組內(nèi)成員節(jié)點(diǎn)i計(jì)算證人
[0012] Wnrembwi,并將組成員節(jié)點(diǎn)的證人以密文的形式單播發(fā)送給對應(yīng)的組內(nèi)成員節(jié)
[0013] 點(diǎn) i ;
[0014] B4、組內(nèi)成員節(jié)點(diǎn)i收到消息后,首先對消息完整性校驗(yàn)碼MAC進(jìn)行校驗(yàn),校驗(yàn)通 過則利用預(yù)配置密鑰PSK解密消息,獲得W MbOT i;
[0015] B5、組成員節(jié)點(diǎn)i結(jié)合證人和自身編碼,利用累加器算法f計(jì)算組密鑰VMbOT_ i f (W member-i ' ymember-i)。
[0016] 103、當(dāng)完成步驟102的組密鑰建立步驟后,進(jìn)行組密鑰更新,具體包括以下三種 情況:
[0017] C1、定時(shí)組密鑰更新;假設(shè)在第k個(gè)會話期到達(dá)定時(shí)組密鑰更新,組長產(chǎn)生兩個(gè)隨 機(jī)數(shù)化和η 2,構(gòu)造并廣播定時(shí)組密鑰更新命令M2,該命令的格式為M2= (n i,n2, N1) I IMC2, 其中N1= f(W_gOT_k, n) ,MAC2= MAC(n n2, N1,);組內(nèi)成員節(jié)點(diǎn)收到消息仏時(shí),首先對MAC2 進(jìn)行校驗(yàn),若校驗(yàn)失敗則丟棄該消息,若校驗(yàn)成功則計(jì)算HN1, ymanagOT)是否等于f(VMbOT_ k,Il1),若相等則完成對組長的命令的鑒別,然后進(jìn)行證人更新和組密鑰更新,反之則丟棄該 消息。
[0018] C2、新節(jié)點(diǎn)加入時(shí)組密鑰更新;新節(jié)點(diǎn)加入時(shí),組長和新節(jié)點(diǎn)之間首先采用同或鑒 別方式進(jìn)行鑒別;鑒別成功后,組長依據(jù)新節(jié)點(diǎn)的1〇_為其產(chǎn)生編碼值y n";組長依據(jù)新節(jié) 點(diǎn)編碼值yneJS行組密鑰更新,同時(shí)構(gòu)造消息M 3,并加密消息M3發(fā)送給新成員節(jié)點(diǎn),消息M 3 的格式為:Epks (Vmanagerk) I |MAC3,其中 MAC3=MAC(EPKS (Vmanagerk));組長產(chǎn)生隨機(jī)數(shù) n3,計(jì)算 N3 =以評_^1;,113);組長構(gòu)造廣播消息%,廣播消息仏的格式為仏=(7_,11 3為)||嫩(;,其 中MAC4= MAC(y new,n3, N3);新成員節(jié)點(diǎn)收到消息M3后首先完成MAC 3的校驗(yàn),檢驗(yàn)通過后解 密數(shù)據(jù)獲得V_age〇t,然后進(jìn)行組密鑰計(jì)算;舊成員節(jié)點(diǎn)收到廣播消息仏后,首先完成MAC 4 的校驗(yàn),檢驗(yàn)成功計(jì)算f (N3, y_agJ和f (Vmratoj5, n3),判斷兩者是否相等,若相等則完成對 組長的鑒別,然后進(jìn)行組密鑰更新,反之則丟棄該消息;
[0019] C3、舊節(jié)點(diǎn)撤銷時(shí)組密鑰更新;組長發(fā)現(xiàn)舊節(jié)點(diǎn)退出網(wǎng)絡(luò)時(shí),依據(jù)撤銷節(jié)點(diǎn)的 編碼值ym和自身編碼值y _agOT利用EG⑶算法產(chǎn)生參數(shù)值α和β,即EG⑶(y _agOT,ym) =α ymamgCT+β Yu= 1,產(chǎn)生兩個(gè)參數(shù)α和β ;組長依據(jù)參數(shù)α、β和撤除節(jié)點(diǎn)的編碼 y-計(jì)算y m X (α ym_gCT+ β y-),然后進(jìn)行組密鑰更新和證人更新,即v_gCT k+1 = f (V _agOT_ k,y-χ (α Ynianager+ β y-)),w隱eber k+1 = f (w 隱eber k,Y111 x (a Ynieniber+ β yj);組長隨機(jī)產(chǎn)生隨 機(jī)值n4,計(jì)算N4 = f (W _gOT_k, n4);組長構(gòu)造廣播消息M5,廣播消息M5的格式為:M 5 = (n4| In4I |ym) I IMAC5,其中MAC5= MAC(n 4| In4I Iym);節(jié)點(diǎn)收到消息仏后,首先進(jìn)行驗(yàn)證消息 是否來自于合法組長,若驗(yàn)證失敗,則丟棄該消息,反之驗(yàn)證成功,則利用EGCD算法計(jì)算參 數(shù)"和fW ;組內(nèi)成員節(jié)點(diǎn)依據(jù)參ymento+fW ym)進(jìn)行組密鑰更新和證 人,保證撤銷的節(jié)點(diǎn)無法獲得此次更新后組密鑰和證人。
[0020] 進(jìn)一步的,步驟B5中組內(nèi)成員節(jié)點(diǎn)根據(jù)初始化信息利用累加器函數(shù)f建立初始組 密鑰的步驟包括:
[0021] [1]組內(nèi)成員計(jì)算消息鑒別碼MAC/ =MAC(EPKS (Wmento i