朱海水,孟慶玉
(永城職業(yè)學(xué)院,河南 永城 476600)
工程與應(yīng)用 doi:10.3969/j.issn.1673-5692.2016.05.017
基于圓錐曲線密碼的雙簇頭WSNs密鑰管理
朱海水,孟慶玉
(永城職業(yè)學(xué)院,河南 永城 476600)
密鑰安全與節(jié)點(diǎn)能量受限是無線傳感器網(wǎng)絡(luò)密鑰管理中要同時(shí)考慮的問題。為有效改善節(jié)點(diǎn)密鑰存儲(chǔ)開銷和通信能耗開銷,通過結(jié)合圓錐曲線密碼和單向散列函數(shù),給出一種基于圓錐曲線密碼的雙簇頭無線傳感器網(wǎng)絡(luò)密鑰管理方案。該方案中主簇頭節(jié)點(diǎn)負(fù)責(zé)安全收集和簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)傳輸,副簇頭節(jié)點(diǎn)則負(fù)責(zé)簇內(nèi)密鑰管理工作。由性能分析結(jié)果可知:該方案能保證節(jié)點(diǎn)的高連同率與強(qiáng)抗捕獲性,較低的存儲(chǔ)開銷與通信能耗開銷,以及良好的可擴(kuò)展性,可較好地應(yīng)用在實(shí)際的無線傳感器網(wǎng)絡(luò)環(huán)境中。
密鑰安全與節(jié)點(diǎn)能量受限是無線傳感器網(wǎng)絡(luò)密鑰管理中要同時(shí)考慮的問題。為有效改善節(jié)點(diǎn)密鑰存儲(chǔ)開銷和通信能耗開銷,通過結(jié)合圓錐曲線密碼和單向散列函數(shù),給出一種基于圓錐曲線密碼的雙簇頭無線傳感器網(wǎng)絡(luò)密鑰管理方案。該方案中主簇頭節(jié)點(diǎn)負(fù)責(zé)安全收集和簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)傳輸,副簇頭節(jié)點(diǎn)則負(fù)責(zé)簇內(nèi)密鑰管理工作。由性能分析結(jié)果可知:該方案能保證節(jié)點(diǎn)的高連同率與強(qiáng)抗捕獲性,較低的存儲(chǔ)開銷與通信能耗開銷,以及良好的可擴(kuò)展性,可較好地應(yīng)用在實(shí)際的無線傳感器網(wǎng)絡(luò)環(huán)境中。
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSNs)需先隨機(jī)在對(duì)象區(qū)域內(nèi)投撒大量的微型傳感器節(jié)點(diǎn),再應(yīng)用無線通信技術(shù)組成基于多跳路由的自組織網(wǎng)絡(luò),同時(shí)結(jié)合微電子、計(jì)算機(jī)及傳感器技術(shù)等[1],主要作用是協(xié)作感知、采集以及處理部署區(qū)域內(nèi)監(jiān)測(cè)對(duì)象的數(shù)據(jù)信息,然后傳送給基站,其被廣泛應(yīng)用在國防軍事、醫(yī)療衛(wèi)生、交通管理和環(huán)境監(jiān)測(cè)中,具有巨大的軍事及商業(yè)價(jià)值。由于無線傳感器網(wǎng)絡(luò)一般都部署在無人監(jiān)管、敵方陣營或其它環(huán)境惡劣等不適宜人勘探的區(qū)域,所以網(wǎng)絡(luò)節(jié)點(diǎn)易遭竊聽、捕獲、篡改、重放等攻擊[2-3]。而無線傳感器網(wǎng)絡(luò)在能量、帶寬、通信能力、計(jì)算處理能力、存儲(chǔ)空間等資源受限,使得已有的成熟密碼方案無法很好地直接應(yīng)用于網(wǎng)絡(luò),所以密碼安全的問題特別是密鑰管理問題目前已經(jīng)變成無線傳感器網(wǎng)絡(luò)中的熱點(diǎn)與難點(diǎn)問題[4]。在無線傳感器網(wǎng)絡(luò)中采用非對(duì)稱加密算法將需要大量的資源和能量開銷,目前在無線傳感器網(wǎng)絡(luò)中一般都是采用基于身份的公鑰系統(tǒng)進(jìn)行密鑰管理。文獻(xiàn)[5]給出了一種應(yīng)用于無線傳感器網(wǎng)絡(luò)的改進(jìn)RSA算法,通過利用中國剩余定理和蒙哥馬利算法,有效減少了運(yùn)算和存儲(chǔ)開銷并提高了節(jié)點(diǎn)壽命,但其資源和能量消耗仍較大。文獻(xiàn)[6]給出了一種基于ECC的無線傳感器網(wǎng)絡(luò)密鑰管理協(xié)議,由于ECC體制的密鑰短、計(jì)算速度快使得節(jié)點(diǎn)的資源和能量消耗有效降低,提升了網(wǎng)絡(luò)工作周期。而文中給出的基于圓錐曲線密碼的雙簇頭無線傳感器網(wǎng)絡(luò)密鑰管理方案( key management scheme of Dual Cluster Heads for wireless sensor networks based on Conic Curve Cryptography, DCHC3)在基于身份的公鑰密碼算法的基礎(chǔ)上,通過結(jié)合圓錐曲線和雙簇頭無線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的優(yōu)點(diǎn),進(jìn)一步有效地降低了節(jié)點(diǎn)的能量和資源消耗,并且保證了網(wǎng)絡(luò)的高安全性。這是因?yàn)椋环矫鎴A錐曲線在求逆、求階以及求點(diǎn)倍數(shù)等運(yùn)算中都比較容易,且用整數(shù)的標(biāo)準(zhǔn)二進(jìn)制(NAF)表示時(shí)存在快速計(jì)算群元整數(shù)倍的方法,因此在每個(gè)傳感器節(jié)點(diǎn)中采用圓錐曲線加密體系進(jìn)行加/解密比橢圓曲線密碼體系更加高效,并且圓錐曲線加密體系具有密鑰長(zhǎng)度更短、處理速度更快、所需存儲(chǔ)空間更小、抗攻擊能力更強(qiáng)等優(yōu)點(diǎn),將其應(yīng)用于無線傳感器網(wǎng)絡(luò)中不僅能夠提供高安全性,而且可以進(jìn)一步降低節(jié)點(diǎn)的資源和能量消耗;另一方面網(wǎng)絡(luò)采用雙簇頭的拓?fù)浣Y(jié)構(gòu)形式,能夠有效避免單個(gè)簇頭因能量消耗過快而過早失效,主簇頭(Main Cluster Head, MCH)節(jié)點(diǎn)負(fù)責(zé)安全收集以及簇成員節(jié)點(diǎn)采集數(shù)據(jù)的傳輸,副簇頭(Assistant Cluster Head, ACH)節(jié)點(diǎn)負(fù)責(zé)簇內(nèi)節(jié)點(diǎn)的密鑰管理,從而可以有效均衡網(wǎng)絡(luò)能耗同時(shí)延長(zhǎng)網(wǎng)絡(luò)壽命,達(dá)到兼顧密鑰安全與均衡能耗的目的。所給DCHC3方案能夠有效實(shí)現(xiàn)密鑰的生成與分發(fā)、節(jié)點(diǎn)的動(dòng)態(tài)加入和退出、密鑰更新與回收、建立通信等,在連通率、抗捕獲性、可擴(kuò)展性、能耗開銷及存儲(chǔ)開銷等方面有較好的性能,可很好地應(yīng)用在無線傳感器網(wǎng)絡(luò)中。
假設(shè)網(wǎng)絡(luò)由N個(gè)節(jié)點(diǎn)組成,被隨機(jī)播撒在長(zhǎng)為u、寬為v的矩形區(qū)域中,分成n個(gè)簇,每個(gè)簇包含主簇頭和副簇頭,且最多有M個(gè)節(jié)點(diǎn)。同時(shí)綜合考慮成本和安全性等因素,采用包括基站、Sink節(jié)點(diǎn)、普通節(jié)點(diǎn)等不同性能節(jié)點(diǎn),如圖1所示,且具有如下性質(zhì):
(1)網(wǎng)絡(luò)中的節(jié)點(diǎn)時(shí)間均同步,且部署后位置不變;
(2)網(wǎng)絡(luò)中的節(jié)點(diǎn)均同構(gòu),且都被賦予唯一的身份標(biāo)識(shí)ID;
(3)網(wǎng)絡(luò)中的節(jié)點(diǎn)都能準(zhǔn)確獲知自身位置和當(dāng)前時(shí)間,也均可定向發(fā)送消息或是傳輸數(shù)據(jù),同時(shí)可根據(jù)消息強(qiáng)度大小近似地估算出節(jié)點(diǎn)之間的距離,并且也能根據(jù)節(jié)點(diǎn)之間的距離來調(diào)整其發(fā)射功率大小;
(4)網(wǎng)絡(luò)在初始化參數(shù)階段不會(huì)被攻擊,全部節(jié)點(diǎn)均能抵抗一定的外部攻擊,且在部署前后的短時(shí)間內(nèi)均為安全的;
(5)網(wǎng)絡(luò)中僅有一個(gè)基站BS,且其位置固定,在存儲(chǔ)空間、計(jì)算能力、能量等方面沒有限制,可視為絕對(duì)安全可信,主要負(fù)責(zé)管理全網(wǎng)絡(luò)所有節(jié)點(diǎn)的數(shù)據(jù)傳輸以及與外網(wǎng)通信;
(6)網(wǎng)絡(luò)中Sink節(jié)點(diǎn)具有能量高、處理速度快、通信能力強(qiáng)、存儲(chǔ)空間大等特點(diǎn),且擁有可判別其它節(jié)點(diǎn)狀態(tài)(如是否被捕獲、當(dāng)前能量狀態(tài)等)的監(jiān)測(cè)機(jī)制;
(7)網(wǎng)絡(luò)中普通節(jié)點(diǎn)的能量、計(jì)算能力、存儲(chǔ)空間等均受限,只負(fù)責(zé)數(shù)據(jù)采集和傳輸,且節(jié)點(diǎn)間一般不隨意通信;
(8)網(wǎng)絡(luò)中簇頭均在Sink節(jié)點(diǎn)中選擇,主簇頭的功能主要是收集、融合及轉(zhuǎn)發(fā)簇內(nèi)節(jié)點(diǎn)感知的數(shù)據(jù),以及同基站或是其它簇頭之間的通信;副簇頭的功能主要是簇內(nèi)節(jié)點(diǎn)的管理(如發(fā)起簇頭選舉、簇內(nèi)密鑰更新等),以及同基站之間的緊急通信。
圖1 網(wǎng)絡(luò)模型圖
2.1 初始化參數(shù)
節(jié)點(diǎn)被部署之前,BS可先通過密鑰生成中心PKG來完成參數(shù)的初始化,其步驟如下:
(3)根據(jù)私鑰種子矩陣XPR生成對(duì)應(yīng)的公鑰種子矩陣XPK,其中yij=xijQ,1≤i≤m,1≤j≤n,(在第1節(jié)網(wǎng)絡(luò)模型假設(shè)的性質(zhì)4和5中,由于初始化參數(shù)階段是在基站BS中完成的,而一個(gè)無線傳感器網(wǎng)絡(luò)中僅有一個(gè)基站,且被視為是絕對(duì)安全可信的,所以在初始化參數(shù)階段可認(rèn)為是安全的。);
(5)基站存儲(chǔ)參數(shù)(C,Q,p,q,H1,H2,XPR,XPK),并將參數(shù)(C,Q,p,q,H2)存儲(chǔ)到各個(gè)傳感器節(jié)點(diǎn)中用于節(jié)點(diǎn)加/解密進(jìn)行安全通信。
2.2 預(yù)分發(fā)密鑰種子對(duì)
在初始化參數(shù)之后,BS給所有節(jié)點(diǎn)都分配一個(gè)唯一身份標(biāo)識(shí)ID∈{0,1}*,并且創(chuàng)建一個(gè)ID鏈表用于存儲(chǔ)節(jié)點(diǎn)的ID,然后依照ID信息生成節(jié)點(diǎn)種子密鑰對(duì)。
(2)在私鑰種子的矩陣XPR中選擇節(jié)點(diǎn)的私鑰種子SeedXID={xa11,…xaii,…xann},xaii為XPR中對(duì)應(yīng)的第ai行i列的值;
(3)在公鑰種子的矩陣YPK中選擇節(jié)點(diǎn)的公鑰種子SeedYID={ya11,…yaij,…yann},yaii為YPK中對(duì)應(yīng)的第aj行j列的值;
2.3 生成密鑰對(duì)
基站根據(jù)節(jié)點(diǎn)的位置及Sink節(jié)點(diǎn)的數(shù)目等情況,將監(jiān)測(cè)區(qū)域劃分成若干個(gè)簇,然后在各簇中的Sink節(jié)點(diǎn)中選舉簇頭,并將簇頭的ID存儲(chǔ)到簇頭鏈表中,同時(shí)使用自身的私鑰加密簇頭的ID之后在整個(gè)網(wǎng)絡(luò)中進(jìn)行廣播。簇中的全部Sink節(jié)點(diǎn)在收到BS的廣播消息之后,利用基站公鑰解密該廣播消息并驗(yàn)證其自身是否被選為簇頭,如果是則修改自身的類型標(biāo)識(shí),否則不需修改。則某節(jié)點(diǎn)A生成其自身公私密鑰對(duì)的步驟如下:
(1)A使用GPS模塊獲取自身的位置信息LA與當(dāng)前時(shí)間TA,同時(shí)生成密鑰參數(shù)KPA={TPA‖LA‖TA},TPA為A的類型標(biāo)識(shí),包含主簇頭、副簇頭、Sink節(jié)點(diǎn)以及簇成員節(jié)點(diǎn);
(2)計(jì)算密鑰參數(shù)散列值H2(KPA)=kpA1…kpAi…kpAn,其中kpAi是H2(KPA)的第i比特;
2.4 節(jié)點(diǎn)加/解密
假設(shè)普通節(jié)點(diǎn)A需要與MCH按圓錐曲線密碼進(jìn)行安全通信,發(fā)送信息為MS,則:
(1)A將信息MS編碼成圓錐曲線C上一個(gè)明文點(diǎn)P,然后計(jì)算H1(IDMCH‖IDA)=h;
(2)A將明文點(diǎn)P加密成圓錐曲線C上加密點(diǎn)C=P+h·PKMCH,并發(fā)送給MCH;
(4)MCH解碼P后獲得MS,并向A回復(fù)消息收到的通知。
2.5 建簇與節(jié)點(diǎn)注冊(cè)
(1)ACH首先廣播消息PublicACH-1={TK1,IDACH,PKACH,T1},其中TK1是ACH的聲明信息,IDACH為ACH的身份標(biāo)識(shí),PKACH為ACH的公鑰,T1表示當(dāng)前時(shí)刻;
(2)A比較所接收的廣播消息強(qiáng)度,并選擇響應(yīng)消息強(qiáng)度最大的副簇頭節(jié)點(diǎn),并發(fā)送申請(qǐng)加入該簇的消息RequestA=PKACH(TK2‖TPA‖IDA‖PKA‖STA‖T2);
(3)ACH收到A的入簇申請(qǐng)后,首先檢驗(yàn)是否滿足條件T2-T1<ΔT,其中ΔT是ACH接受范圍的延時(shí)時(shí)長(zhǎng)。如果滿足上述條件,則將A的信息存儲(chǔ)到節(jié)點(diǎn)注冊(cè)信息鏈表中,并把A的信任度級(jí)別設(shè)為最高;如果不滿足上述條件,則向A發(fā)送歡迎入簇的消息,同時(shí)降低A的信任度級(jí)別。A收到ACH的消息之后即可再次申請(qǐng)入簇,ACH若接受其此次申請(qǐng),則將A的信息存儲(chǔ)到節(jié)點(diǎn)注冊(cè)信息鏈表中,否則忽略該申請(qǐng)并將A加入黑名單,同時(shí)在簇內(nèi)廣播A的ID,簇內(nèi)其余節(jié)點(diǎn)將不再同A進(jìn)行通信;
(4)ACH在收到某個(gè)Sink節(jié)點(diǎn)申請(qǐng)成為主簇頭的消息之后,則會(huì)隨即向BS發(fā)送驗(yàn)證申請(qǐng)RequestACH-1=PKBS(TK3‖IDACH‖PKACH‖IDACH‖PKMCH‖T3);
(5)BS解密ACH發(fā)送的驗(yàn)證申請(qǐng),并在簇頭鏈表中找到TK3中簇對(duì)應(yīng)的預(yù)分配主副簇頭的ID。若驗(yàn)證成功,BS則將主副簇頭的公鑰存儲(chǔ)到簇頭鏈表中,同時(shí)向ACH回復(fù)驗(yàn)證的結(jié)果ResultBS-1=PKACH(TK4‖IDBS‖T4);否則,忽略ACH的驗(yàn)證申請(qǐng),同時(shí)向ACH發(fā)送警告消息;
(6)ACH解密BS發(fā)的信息后先驗(yàn)證基站的ID和TK4,若驗(yàn)證通過則在簇內(nèi)廣播信息PublicACH-2={TK5,IDMCH,PKMCH,T5};若BS驗(yàn)證結(jié)果表明該Sink節(jié)點(diǎn)并不是預(yù)先設(shè)置的主簇頭,則ACH把該Sink節(jié)點(diǎn)加到黑名單中并廣播其ID信息,而簇內(nèi)其余節(jié)點(diǎn)也不會(huì)再與該Sink節(jié)點(diǎn)進(jìn)行通信,同時(shí)ACH將重新進(jìn)行主簇頭的選舉;
(7)ACH把簇中的節(jié)點(diǎn)注冊(cè)信息鏈表加密后分別發(fā)給MCH與BS,此時(shí)則完成了節(jié)點(diǎn)注冊(cè)與建簇。然后ACH將休眠,但會(huì)不定期地監(jiān)測(cè)簇內(nèi)各節(jié)點(diǎn)的狀態(tài),并更新節(jié)點(diǎn)的狀態(tài)。
2.6 簇頭更新
(1)網(wǎng)絡(luò)經(jīng)過一段的時(shí)間運(yùn)行之后,BS依照同各個(gè)簇頭的通信狀態(tài)來判斷各簇頭當(dāng)前運(yùn)行的狀態(tài),如果發(fā)現(xiàn)簇頭異常,BS則向該簇ACH發(fā)送簇頭更新消息OrderBS=PKACH(TK6‖IDBS‖T6);
(2)ACH解密后首先驗(yàn)證IDBS,然后根據(jù)TK6啟動(dòng)簇頭更新,通過比較簇內(nèi)所有Sink節(jié)點(diǎn)的位置、信任度及剩余能量等信息,在綜合分析后選舉出新的主副簇頭,同時(shí)向BS發(fā)送結(jié)果ResultACH=PKBS(TK7‖IDACH‖IDNew-ACH‖IDNew-MCH‖T7);
(3)BS解密ResultACH并同時(shí)驗(yàn)證選舉出的新的主副簇頭信息。如若驗(yàn)證成功則向ACH回復(fù)驗(yàn)證的結(jié)果ResultBS-2=PKACH(TK8‖IDBS‖T8),同時(shí)更新該簇所存儲(chǔ)的簇頭鏈表,如若沒有驗(yàn)證成功,BS則將直接指定簇頭;
(4)ACH接收到BS發(fā)送的驗(yàn)證結(jié)果之后,即可在簇內(nèi)廣播簇頭更新結(jié)果的消息PublicACH-3={TK9,IDACH,IDNew-ACH,IDNew-MCH,T9},簇內(nèi)各節(jié)點(diǎn)在接收到ACH廣播的簇頭更新的消息之后,首先要檢驗(yàn)消息的魯棒性,驗(yàn)證之后則存儲(chǔ)兩個(gè)新簇頭的ID,然后新的副簇頭便可啟動(dòng)密鑰更新。如果BS檢測(cè)到副簇頭存在異常,則令主簇頭代替副簇頭并立即啟動(dòng)簇頭更新,如果主副簇頭都失效,此時(shí)BS需重新指定副簇頭,并再次啟動(dòng)簇頭選舉及節(jié)點(diǎn)注冊(cè)。
2.7 更新簇內(nèi)密鑰
ACH根據(jù)監(jiān)測(cè)結(jié)果對(duì)簇內(nèi)狀態(tài)進(jìn)行判段,如果檢測(cè)到簇內(nèi)的節(jié)點(diǎn)狀態(tài)變化比較大,則能判定該網(wǎng)絡(luò)已經(jīng)不再是安全的,此時(shí)則需要啟動(dòng)簇內(nèi)密鑰更新。
(1)ACH要先完成其自身的密鑰更新,再向簇內(nèi)其余節(jié)點(diǎn)發(fā)送更新密鑰的指令OrderACH={TK10,IDACH,PKNew-ACH,T10},該指令應(yīng)包含ACH的新公鑰PKNew-ACH;
(2)節(jié)點(diǎn)A接收更新密鑰的指令OrderACH后,先將密鑰參數(shù)KPA={TPA‖LA‖TA}中的TA替換,再按公私鑰對(duì)生成流程獲取新的公私鑰對(duì),然后回復(fù)ACH并發(fā)送密鑰更新完畢信息ResultA=PKACH(TK11‖IDA‖PKA‖STA‖T11);
(3)ACH驗(yàn)證A的ID和T11-T10<ΔT,其中ΔT是ACH可以接受的密鑰更新的延時(shí)時(shí)長(zhǎng)。如果通過驗(yàn)證,ACH在節(jié)點(diǎn)注冊(cè)信息鏈表中更新A的公鑰及狀態(tài)。如果沒有通過驗(yàn)證,則A可能已被捕獲并將其加入黑名單,同時(shí)在簇內(nèi)廣播A的ID,簇內(nèi)節(jié)點(diǎn)不再與A通信;
(5)ACH將節(jié)點(diǎn)注冊(cè)信息鏈表和黑名單鏈表加密后分別發(fā)送給MCH和BS,然后ACH進(jìn)入休眠但保持對(duì)簇內(nèi)各節(jié)點(diǎn)的監(jiān)測(cè)。
2.8 新節(jié)點(diǎn)加入/舊節(jié)點(diǎn)退出
網(wǎng)絡(luò)中距離基站越近的節(jié)點(diǎn),因其需轉(zhuǎn)發(fā)的數(shù)據(jù)量相對(duì)比較多,使得易造成某些節(jié)點(diǎn)能耗過快甚至是過早死亡的情況,從而會(huì)出現(xiàn)因節(jié)點(diǎn)失效而退出網(wǎng)絡(luò)的情形。所以BS需要不定期地向簇內(nèi)加入新的節(jié)點(diǎn)以維持網(wǎng)絡(luò)的正常運(yùn)行。
(1)如果新節(jié)點(diǎn)B加入網(wǎng)絡(luò),BS首先需為其分配一個(gè)唯一的身份標(biāo)識(shí)IDB,然后初始化對(duì)應(yīng)的系統(tǒng)參數(shù),將公私鑰種子對(duì)(PRB,PKB)、節(jié)點(diǎn)驗(yàn)證信息TKB及該簇副簇頭IDACH等信息存入節(jié)點(diǎn)中。B在生成公私鑰對(duì)(PRB,PKB)后,等待該簇的ACH探測(cè),ACH探測(cè)到B后即向其發(fā)送HelloACH=(TK13,IDACH,PKACH,T13);
(2)B收到ACH發(fā)送的HelloACH消息之后,需先檢驗(yàn)IDACH是否真實(shí),接著B使用ACH的公鑰來加密自身的節(jié)點(diǎn)信息,然后隨即向ACH發(fā)送其申請(qǐng)入簇的消息RequestB=PKACH(TK14‖TPB‖IDB‖PKB‖STB‖T14);
(3)ACH收到B的入簇申請(qǐng)信息RequestB后,即向BS發(fā)送驗(yàn)證B的申請(qǐng)消息RequestACH-2=PKBS(TK15‖IDACH‖IDB‖TKB‖T15);
(4)BS解密RequestACH-2并驗(yàn)證ACH和B的身份標(biāo)識(shí)IDACH和IDB及信息TKB。若驗(yàn)證都通過則BS更新節(jié)點(diǎn)注冊(cè)信息鏈表,并回復(fù)ACH驗(yàn)證結(jié)果ResultBS-3=PKACH(TK16‖IDBS‖T16);
(5)ACH在解密ResultBS-3完成之后,則把B添加到節(jié)點(diǎn)注冊(cè)信息鏈表中,同時(shí)記錄對(duì)應(yīng)的節(jié)點(diǎn)狀態(tài)相關(guān)信息,并給B發(fā)送歡迎入簇的消息WelcomeACH=PKB(TK17‖IDACH‖T17),同時(shí)啟動(dòng)簇內(nèi)節(jié)點(diǎn)密鑰更新,然后ACH將更新后的簇內(nèi)節(jié)點(diǎn)注冊(cè)信息鏈表進(jìn)行加密之后發(fā)給MCH以及BS,從而完成了新節(jié)點(diǎn)的加入。若是新加入節(jié)點(diǎn)的類型是Sink節(jié)點(diǎn),ACH此時(shí)則需要發(fā)起新一輪的簇頭更新;
(6)網(wǎng)絡(luò)工作一段時(shí)間過后,其中有一些工作頻率比較高的節(jié)點(diǎn)就很可能會(huì)遭受能量耗盡、剩余能量低于閾值或者被捕獲等有關(guān)情況,這類節(jié)點(diǎn)將會(huì)因無法進(jìn)行正常工作而被退出網(wǎng)絡(luò)。若是普通傳感器節(jié)點(diǎn),ACH會(huì)先將該節(jié)點(diǎn)添加到黑名單中,同時(shí)刪除該節(jié)點(diǎn)在注冊(cè)信息鏈表中的相應(yīng)信息并廣播其ID,而且還要重新啟動(dòng)簇內(nèi)節(jié)點(diǎn)的密鑰更新程序,簇內(nèi)其余節(jié)點(diǎn)也將會(huì)不再與之通信。如果是MCH,ACH也是直接將其加入黑名單,簇內(nèi)普通節(jié)點(diǎn)不再與其進(jìn)行通信同時(shí)啟動(dòng)簇頭更新。若是BS監(jiān)測(cè)出ACH存在異常狀況,則將直接在該簇內(nèi)廣播廢除當(dāng)前ACH的消息,并由MCH啟動(dòng)簇頭更新。
2.9 簇內(nèi)及簇間通信
簇內(nèi)的各節(jié)點(diǎn)均存儲(chǔ)本簇MCH與ACH的公鑰,而簇頭中存儲(chǔ)了所有節(jié)點(diǎn)的注冊(cè)信息鏈表,因而簇頭與節(jié)點(diǎn)之間能夠使用對(duì)方的公鑰加密用以實(shí)現(xiàn)簇內(nèi)的安全通信以及數(shù)據(jù)傳輸。盡管簇內(nèi)成員節(jié)點(diǎn)間不能隨意進(jìn)行相互通信,但在特殊情況下節(jié)點(diǎn)可向ACH發(fā)送與鄰近Sink節(jié)點(diǎn)建立通信的申請(qǐng)。
(2)ACH先驗(yàn)證IDC和IDD,再用C的公鑰加密D的公鑰發(fā)給C,即PKC(TK19‖IDACH‖IDD‖PKD‖T19),同理用D的公鑰加密C的公鑰發(fā)給D,即PKD(TK20‖IDACH‖IDC‖PKC‖T20)。節(jié)點(diǎn)C、D分別對(duì)接收的消息解密后,即可使用對(duì)方的公鑰來進(jìn)行安全通信,但在簇內(nèi)節(jié)點(diǎn)的密鑰更新后需重新申請(qǐng);
網(wǎng)絡(luò)中只有在不同的主簇頭之間才能進(jìn)行數(shù)據(jù)傳輸,尤其是距離BS比較遠(yuǎn)的簇,主簇頭在收集以及融合全簇各節(jié)點(diǎn)所感知的數(shù)據(jù)信息之后,需經(jīng)過多跳路由才能傳輸?shù)竭_(dá)BS。
(3)假設(shè)離BS較遠(yuǎn)的MCH1探測(cè)到MCH2處在最優(yōu)路徑上,則MCH1向BS發(fā)送與MCH2建立安全通信的申請(qǐng)消息RequestMCH1=PKBS(TK21‖IDMCH1‖IDMCH2‖T21);
(4)BS解密RequestMCH1并驗(yàn)證兩主簇頭的IDMCH1和IDMCH2。若驗(yàn)證通過,則BS分別發(fā)送同意MCH1和MCH2建立安全通信的消息,即BS→MCH1:PKMCH1(TK22‖IDACH‖IDMCH2‖PKMCH2‖T22)以及BS→MCH2:PKMCH2(TK23‖IDACH‖IDMCH1‖PKMCH1‖T23)。若驗(yàn)證未通過,則BS降低MCH1的信任度并拒絕其申請(qǐng),同時(shí)向ACH1發(fā)送驗(yàn)證結(jié)果消息。如若已建立了安全通信的其中一方中簇內(nèi)的簇頭重新選舉或是密鑰更新時(shí),則BS在簇頭鏈表中添加該簇新選舉的簇頭信息,并加密其信息發(fā)送到安全通信另一方的主簇頭,而且此時(shí)需要保持通信連接的持續(xù)。
為驗(yàn)證所給DCHC3方案,以下從抗捕獲性、可擴(kuò)展性、連通性、存儲(chǔ)開銷和能耗開銷五個(gè)方面分別與E&G方案[8]和TIDS方案[9]進(jìn)行性能分析比較。
3.1 抗捕獲性
3.2 可擴(kuò)展性
無線傳感器網(wǎng)絡(luò)運(yùn)行一段時(shí)間過后,一些工作頻率較高的節(jié)點(diǎn)很容易能量耗盡或是被捕獲,此時(shí)失效的節(jié)點(diǎn)將會(huì)退出網(wǎng)絡(luò),為了保證網(wǎng)絡(luò)正常工作和穩(wěn)定則需要有新節(jié)點(diǎn)的加入到網(wǎng)絡(luò)中,所以無線傳感器網(wǎng)絡(luò)的密鑰管理方案要能支持節(jié)點(diǎn)的動(dòng)態(tài)加入或退出。所給DCHC3的方案中網(wǎng)絡(luò)各簇均為雙簇頭的拓?fù)浣Y(jié)構(gòu),其中副簇頭的主要工作是負(fù)責(zé)在單簇頭結(jié)構(gòu)中的簇頭對(duì)其各成員節(jié)點(diǎn)的管理。如果網(wǎng)絡(luò)中發(fā)生節(jié)點(diǎn)失效或是被捕獲等情況,副簇頭會(huì)對(duì)該節(jié)點(diǎn)進(jìn)行檢測(cè)并且隔離,同時(shí)添加到黑名單中,而且要在簇內(nèi)廣播該節(jié)點(diǎn)的ID,在此后的簇內(nèi)通信過程中,簇內(nèi)其余成員節(jié)點(diǎn)將不再與該節(jié)點(diǎn)通信,最后副簇頭啟動(dòng)密鑰更新,從而確保了各節(jié)點(diǎn)的后向安全性。如果檢測(cè)簇頭存在異常情況(如能量耗盡或被捕獲),此時(shí)則需在簇內(nèi)啟動(dòng)簇頭選舉程序,重新選舉出該簇的新簇頭,同時(shí)需要BS將會(huì)對(duì)最終結(jié)果進(jìn)行判定,從而確保了各簇簇頭選舉的合法性以及安全性。此外,BS也可根據(jù)網(wǎng)絡(luò)當(dāng)前狀態(tài),對(duì)那些節(jié)點(diǎn)失效較多或是節(jié)點(diǎn)數(shù)目較少的簇動(dòng)態(tài)地加入新的節(jié)點(diǎn),以確保網(wǎng)絡(luò)能夠正常穩(wěn)定地運(yùn)行。如果副簇頭接到新節(jié)點(diǎn)的入簇申請(qǐng),則向BS發(fā)送對(duì)新節(jié)點(diǎn)的驗(yàn)證申請(qǐng),并啟動(dòng)簇內(nèi)的節(jié)點(diǎn)密鑰更新,從而確保了節(jié)點(diǎn)的前向安全性。同時(shí),DCHC3方案采用了圓錐曲線密碼體制,普通節(jié)點(diǎn)中僅存儲(chǔ)自身的公私鑰對(duì)以及兩個(gè)簇頭的公鑰,因此在網(wǎng)絡(luò)某個(gè)簇中無論是新節(jié)點(diǎn)的加入或是舊節(jié)點(diǎn)的退出,均不會(huì)對(duì)其它簇內(nèi)節(jié)點(diǎn)存儲(chǔ)的密鑰數(shù)產(chǎn)生影響,可見所給方案具有良好的節(jié)點(diǎn)可擴(kuò)展性。
3.3 連通性
安全連通率的主要是指在網(wǎng)絡(luò)某個(gè)簇中各個(gè)傳感器節(jié)點(diǎn)之間至少可以互相建立起一個(gè)通信密鑰的概率大小,它是密鑰管理方案中的一個(gè)非常重要的評(píng)價(jià)指標(biāo)之一[10]。其中,E&G方案的連通率近似為:
由上式可以看出,E&G方案的連通率小于1,為了提高E&G方案中節(jié)點(diǎn)之間可以共享的密鑰的概率,需要把k/N的比值變大。也就是說,隨著密鑰池內(nèi)生成的密鑰總數(shù)量N增加或是保持不變,單個(gè)節(jié)點(diǎn)中所要預(yù)存的密鑰數(shù)k將總是增大的。DCHC3采用的是圓錐曲線密碼,節(jié)點(diǎn)間建立共享密鑰只需要知道對(duì)方的身份ID以及公鑰即可,經(jīng)過簇頭協(xié)調(diào)之后則可實(shí)現(xiàn)簇內(nèi)所有節(jié)點(diǎn)均能全部互相連通,從而可使其安全連通率達(dá)到1,能夠較好地提升整個(gè)網(wǎng)絡(luò)運(yùn)行效率。下面圖2給出了在不同密鑰總數(shù)下,隨著預(yù)存儲(chǔ)密鑰數(shù)增加所給DCHC3與E&G、TIDS的連通率比較。
圖2 密鑰管理方案的安全連通率比較
3.4 存儲(chǔ)開銷
假定網(wǎng)中每個(gè)簇內(nèi)最多包含M個(gè)節(jié)點(diǎn),DCHC3方案在密鑰對(duì)生成之前,基站的PKG預(yù)先完成了大部分的計(jì)算工作[11],所以各階段需存儲(chǔ)的密鑰信息就變少了。其中,簇頭需存儲(chǔ)簇內(nèi)所有成員節(jié)點(diǎn)的ID及公鑰,而簇成員節(jié)點(diǎn)僅需存儲(chǔ)其自身的ID、公私鑰對(duì)以及種子密鑰對(duì),因此預(yù)存密鑰信息的總數(shù)為R=2(M-1)+2·3M=8M-2,平均單個(gè)節(jié)點(diǎn)要存儲(chǔ)8個(gè)密鑰信息,同時(shí)也不會(huì)因?yàn)榇刂泄?jié)點(diǎn)數(shù)目的變化而改變所需存儲(chǔ)的密鑰個(gè)數(shù)。對(duì)于E&G方案,假如一個(gè)節(jié)點(diǎn)所需預(yù)存的密鑰個(gè)數(shù)是k,則各簇存儲(chǔ)的密鑰數(shù)為kM個(gè);對(duì)于TIDS方案,每個(gè)簇存儲(chǔ)的密鑰數(shù)為10M個(gè),則E&G方案、TIDS方案與DCHC3方案密鑰數(shù)量比為η=kM∶10M∶8M-2≈k∶10∶8,也即是說隨網(wǎng)絡(luò)規(guī)模的增大,為確保有較高的連通率,密鑰池將會(huì)增大,而各節(jié)點(diǎn)存儲(chǔ)的密鑰數(shù)k同時(shí)將變大,則這三種方案所需存儲(chǔ)密鑰數(shù)的比值η也將會(huì)增大。橢圓曲線密碼算法160比特安全強(qiáng)度的密鑰與1024比特的RSA公鑰算法以及64比特的對(duì)稱算法相當(dāng),而圓錐曲線加密算法比橢圓曲線密碼算法可以節(jié)約近1/4的計(jì)算量[12],則三種方案的實(shí)際密鑰總存儲(chǔ)空間比為ρ=64k∶10·1024∶8·160·3/4=k∶160:15。所以相較于E&G和TIDS,DCHC3在密鑰信息存儲(chǔ)開銷上具有優(yōu)勢(shì)。下面圖3給出在不同密鑰總數(shù)下,隨著單個(gè)節(jié)點(diǎn)預(yù)存儲(chǔ)密鑰數(shù)增加,DCHC3與E&G、TIDS的存儲(chǔ)開銷比較。
圖3 密鑰管理方案的密鑰存儲(chǔ)開銷比較
3.5 通信能耗
圖4 密鑰管理方案的通信能耗比較
已有的各類密鑰管理方案中,密鑰更新過程所產(chǎn)生的通信消耗一般與網(wǎng)絡(luò)規(guī)模有關(guān)。如果網(wǎng)絡(luò)中存在w個(gè)節(jié)點(diǎn)具有PKG功能(其中門限閾值為q,且q 所給DCHC3方案的預(yù)分配密鑰種子對(duì)始終保持不變,且密鑰生成的過程主要是在基站中進(jìn)行,使得密鑰生成時(shí)所需的能耗大幅降低。而密鑰更新僅需節(jié)點(diǎn)自身更新當(dāng)前時(shí)間,不需與簇頭通信即可完成,降低了所需的通信能耗。由于單個(gè)節(jié)點(diǎn)不需預(yù)先存儲(chǔ)簇中所有節(jié)點(diǎn)的公鑰,而是僅需在通信前向副簇頭申請(qǐng)通信,再由副簇頭統(tǒng)一負(fù)責(zé)協(xié)調(diào),分發(fā)需要通信的節(jié)點(diǎn)之間的身份標(biāo)識(shí)和公鑰給對(duì)方,減輕了節(jié)點(diǎn)的存儲(chǔ)開銷。而應(yīng)用圓錐曲線密碼同時(shí)也能改進(jìn)傳統(tǒng)的對(duì)稱密鑰預(yù)分發(fā)密鑰管理方案連通性差、存儲(chǔ)空間大及擴(kuò)展性差等缺陷。雙簇頭的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)能減少簇頭的能耗,增加簇頭生命周期。如果某個(gè)簇頭失效或是被捕獲,另一個(gè)簇頭則會(huì)啟動(dòng)簇頭選舉及密鑰更新,既能夠使簇內(nèi)數(shù)據(jù)傳輸更加有效,也能夠使簇頭在被俘之后簇內(nèi)其余節(jié)點(diǎn)也可免遭安全風(fēng)險(xiǎn)。同時(shí),副簇頭還具有對(duì)節(jié)點(diǎn)的狀態(tài)進(jìn)行監(jiān)測(cè)的功能,能夠及時(shí)獲知節(jié)點(diǎn)當(dāng)前的狀態(tài),從而可以更好地完成對(duì)簇頭的更新,使得網(wǎng)絡(luò)各簇能夠更加安全穩(wěn)定,并且可以使網(wǎng)絡(luò)的工作壽命更長(zhǎng)久。 [1] 郭萍, 張宏, 傅德勝, 等.一種混合輕量型無線傳感器網(wǎng)絡(luò)公鑰密碼方案[J].計(jì)算機(jī)科學(xué),2012,39(1):69-72. [2] 葉苗, 王宇平.一種新的容忍惡意節(jié)點(diǎn)攻擊的無線傳感器網(wǎng)絡(luò)安全定位方法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(3):532-545. [3] Doraipandian M, Rajapackiyam E, Neelamegam P, et al.An efficient and hybrid key management scheme for three tier wireless sensor networks using LU matrix[J].Communications in Computer and Information Science, 2011, 192(3):111-121. [4] 宓小土, 高峰, 章白瑜, 等.無線傳感器網(wǎng)絡(luò)安全性問題[J].解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,12(1):42-47. [5] 杜治國, 胡大輝.改進(jìn)的RSA算法在無線傳感器網(wǎng)絡(luò)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2012,32(6):1609-1612. [6] 危蓉, 趙德正.基于身份的無線傳感器網(wǎng)絡(luò)層簇式密鑰管理方案[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2015,48 (4):580-583. [7] 溫濤, 張永, 郭權(quán),等.WSN中基于圓錐曲線組合密鑰的對(duì)等認(rèn)證[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,32(3):348-351. [8] ZHANG Jun-qi, Varadharajan V.Wireless sensor network key management survey and taxonomy[J].Journal of Network and Computer Applications,2010,33(2):63-65. [9] 柳亞男, 王箭, 杜賀.無線傳感器網(wǎng)絡(luò)門限密鑰共享模型[J].電子與信息學(xué)報(bào),2011,33 (8):1913-1918. [10]Eschenauer L, Gligor V.A key management scheme for distributed sensor networks[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security.New York:ACM Press,2002,41-47. [11]Deng H, Agrawal D P.TIDS:Threshold and identity-based security scheme for wireless ad hoc networks[J].Ad Hoc Networks,2004,2(3):291-307. [12]孫琦, 朱文余, 王標(biāo).環(huán)Zn上圓錐曲線和公鑰密碼協(xié)議[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,42 (3):471-478. 朱海水(1980—),男,河南人,講師,主要研究方向?yàn)橛?jì)算機(jī)應(yīng)用; E-mail:89717384@qq.com 孟慶玉(1980—),男,河南人,講師,主要研究方向?yàn)槎嗝襟w技術(shù)。 Key Management Scheme of Dual Cluster Heads for WSNs Based on Conic Curve Cryptography ZHU Hai-shui,MENG Qing-yu (Yongcheng Vocational Collage, Henan Yongcheng 476600, China) The security of key and the limited energy of nodes should be considered in key management of wireless sensor networks simultaneity.In order to improve the consumption of key storage and communication energy, a key management scheme of dual cluster heads for WSNs based on conic curve cryptography was proposed by combining conic curve cryptography and Hash functions.The main cluster heads were responsible for safely collecting and transmitting the data information, and the assistant cluster heads take charge of the key management of the nodes.Performance analysis results demonstrate that the novel scheme could ensure the high connectivity rates, the strong anti-capture ability, the low key storage consumption, the low communication energy consumption and the fine extendibility.Thus the novel scheme could be used the actual environment of wireless sensor networks. wireless sensor network; key management; conic curve cryptography; dual cluster heads 2016-05-01 2016-08-30 河南省科技廳發(fā)展計(jì)劃(142102110088) :A 1673-5692(2016)05-554-084 結(jié) 語