王培東,董修崗
(哈爾濱理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150080)
無線傳感器網(wǎng)絡(luò) WSN(Wireless Sensor Network)通常被部署在野外,尤其是在軍事上的應(yīng)用,節(jié)點面臨著各種各樣的攻擊,很容易被俘獲,導(dǎo)致其所包含的機密信息可能完全曝露給攻擊者。由此可見,WSN的通信安全問題是一個具有挑戰(zhàn)性的課題。
近年來,關(guān)于無線傳感器網(wǎng)絡(luò)安全的研究已經(jīng)取得很大的成果[1],在密鑰管理方面更為突出。例如,隨機密鑰預(yù)分布模型(E-G)[2]、在E-G模型基礎(chǔ)上的隨機密鑰對模型[3]以及 Blundo等人在有限域 F(q)上提出的基于對稱二元多項式隨機密鑰預(yù)分配方案[4],但都存在一些不足,有待改進。本文在分簇管理密鑰和多項式密鑰管理研究的基礎(chǔ)上,提出了一種新的密鑰方案。
Blundo等提出的基于對稱二元多項式計算的密鑰預(yù)分配管理方案為網(wǎng)絡(luò)中的任意兩個節(jié)點生成密鑰對。該方案的基本思想是:首先由基站在有限域F(q)生成一個對稱二元多項式:
其中,aij在足夠大范圍內(nèi)取值,以便滿足密鑰選取,f必須滿足對稱性,即 f(x,y)=f(y,x)。 把整個無線傳感器網(wǎng)絡(luò)分成若干簇,每個簇由一個簇頭和若干普通節(jié)點組成,節(jié)點通過感知周邊環(huán)境獲得信息并傳遞給簇頭,簇頭再把這些數(shù)據(jù)傳遞給基站。
本文提出的密鑰管理方案結(jié)合了基于多項式的密鑰預(yù)分配方案和基于分簇管理的隨機預(yù)分配方案,在密鑰生成過程中采取二元多項式的形式并在二元多項式中添加一個距離參數(shù),生成一種新的有效的密鑰管理方案。
在基站生成密鑰池前,基站首先向全網(wǎng)發(fā)一個洪泛廣播,得到全網(wǎng)節(jié)點的個數(shù)和節(jié)點地理位置,基站根據(jù)這些地理位置信息把整個通信區(qū)域劃分成M個小區(qū)域,每個區(qū)域為一簇。每個簇內(nèi)節(jié)點個數(shù)分別為N1,N2…NM,每個簇中選取較強的一個節(jié)點作為簇頭,并假設(shè)簇頭和基站的距離為dn,則二元多項式重新定義為:
基站通過一次洪泛廣播把整個網(wǎng)絡(luò)的節(jié)點分成M個簇,并選舉出簇頭節(jié)點,同時基站產(chǎn)生一個大的密鑰池。簇頭節(jié)點獲取密鑰的步驟如下:基站向節(jié)點隨機地從密鑰池中取得大量密鑰直接放入到節(jié)點存儲數(shù)據(jù)的區(qū)域,然后每個簇的簇頭節(jié)點向本區(qū)域內(nèi)的普通節(jié)點發(fā)出帶有到基站距離dn信息的洪泛廣播;區(qū)域內(nèi)普通節(jié)點接收到本次廣播,與存儲在自身節(jié)點通信數(shù)據(jù)區(qū)域初始密鑰環(huán)上的二元t次多項式相比較;節(jié)點把自身二元t次多項式中不帶有本域內(nèi)簇頭節(jié)點距離dn的密鑰從初始密鑰環(huán)上丟掉,然后,把剩余的密鑰組成新的密鑰環(huán)并將其存儲于節(jié)點密鑰存儲區(qū)域。
區(qū)域內(nèi)每個節(jié)點向本區(qū)域內(nèi)鄰居節(jié)點發(fā)出要求建立通信信道的廣播,廣播節(jié)點自身密鑰環(huán)上的密鑰。鄰居節(jié)點接收到廣播后,比照自身節(jié)點上是否有相同的密鑰,如果有,則建立通信,該密鑰就為初始可信通信信道上的共享密鑰;如果密鑰環(huán)上沒有相同的密鑰,則轉(zhuǎn)發(fā)該信息向自身的鄰居節(jié)點,鄰居節(jié)點采取同樣的方式查詢,直到發(fā)現(xiàn)并成功建立可信通信信道;若該信息在本區(qū)域內(nèi)都轉(zhuǎn)發(fā)完仍沒有解密成功,則舍棄掉該信息,孤立發(fā)出此項通信信息的節(jié)點,把該節(jié)點劃分為惡意節(jié)點。本區(qū)域內(nèi)節(jié)點密鑰發(fā)現(xiàn)階段完成,建立可信區(qū)域通信網(wǎng)絡(luò),簇頭節(jié)點由于存儲的密鑰環(huán)肯定在基站密鑰環(huán)上存在,則簇頭節(jié)點和基站建立可信的通信信道。
以區(qū)域內(nèi)已經(jīng)建立通信的3個節(jié)點A、B、C為例。
這3個節(jié)點均可以采集信息或者轉(zhuǎn)發(fā)其他節(jié)點采集的信息。若節(jié)點A采集到或者接收到信息X,則取信息X的前N位Xn存入節(jié)點A的密鑰存儲區(qū)域,然后對信息X加密發(fā)送到節(jié)點B。節(jié)點B啟用自身定時器并解密得到信息X,同樣,取信息X的前N位即Xn存入節(jié)點B的密鑰存儲區(qū)域,作為標(biāo)示節(jié)點A的當(dāng)前狀態(tài)。節(jié)點A繼續(xù)接收并收集新的信息Y,節(jié)點A取上次存儲的Xn和Y加密并發(fā)送到節(jié)點B。節(jié)點B接收到密文后首先檢查通信時間是否在規(guī)定的時間內(nèi),如果不在規(guī)定時間內(nèi),則拋棄此密文并認為節(jié)點A已壞,不再接收節(jié)點A的信息;若通信時間在規(guī)定時間內(nèi),則節(jié)點B解密此信息,并取解密后消息的前N位與已存入節(jié)點B的Xn對比,若相同,則接收該信息并對該信息做上述循環(huán),否則,舍棄該信息并認為節(jié)點A為惡意節(jié)點,不再接收節(jié)點A的信息,完成密鑰更新。
本方案在MATLAB 7.0上進行仿真驗證,規(guī)定在100×100矩陣里隨機布置節(jié)點。表1給出了相關(guān)符號所代表的含義。
表1 符號約定
本文提出的新方案的安全性分析主要是分析其抗捕獲的能力,而分析一種對稱密鑰建立方案的抗捕獲性,主要是分析當(dāng)網(wǎng)絡(luò)中有部分節(jié)點被捕獲時,其他非被捕獲節(jié)點之間鏈路的安全性是否受到影響。本密鑰管理方案每一個特定區(qū)域內(nèi)的形式為:
其中,dn在特定區(qū)域內(nèi)的值是一定的。要求保證每個aij完全不同且對節(jié)點都完全保密,每個節(jié)點中至少存儲一個二元t次多項式,保存由本節(jié)點計算后的一元t次多項式 f(ID,y),通過廣播得到鄰居節(jié)點的 ID′,將由多項式計算獲得的 f(ID,ID′)作為兩個節(jié)點之間通信密鑰。由于本方案首先作了分簇管理,簇內(nèi)每個節(jié)點存儲的二元t次多項式都是不相同的,并且t的取值為所有簇中節(jié)點個數(shù)最多的簇中節(jié)點的個數(shù)。假設(shè)敵方捕獲節(jié)點時一直捕獲的是節(jié)點最多簇,只有捕獲該簇內(nèi)所有節(jié)點才有可能把該簇內(nèi)的節(jié)點密鑰破解,但是也只會影響本簇內(nèi)的節(jié)點,并不會影響其他簇內(nèi)節(jié)點的安全通信;若捕獲節(jié)點不是節(jié)點最多的簇,即使敵方把本簇內(nèi)所有節(jié)點捕獲,也不會破解該二元t次多項式。
節(jié)點如果在相同的區(qū)域內(nèi)能夠保留的都是具有一定相同特征的密鑰,則這片區(qū)域內(nèi)的網(wǎng)絡(luò)連通性增強,密鑰發(fā)現(xiàn)概率提高。本文提出的密鑰管理方案在進行密鑰的存儲時,首先盡可能多地選取密鑰,然后在每個簇內(nèi)對密鑰進行篩選,只選擇其中具有某一簇內(nèi)特征的密鑰,從而提高了相鄰節(jié)點發(fā)現(xiàn)彼此密鑰的概率。
圖1為3種方案在MATLAB上的仿真對比圖,設(shè)計比較參數(shù)為:N=1 000,n=10,fd=3,Nd,j=4, 取距離參數(shù)dn=4。
在密鑰分配中本文已經(jīng)分析到,初次選過密鑰以后,根據(jù)距離參數(shù)的需要,對節(jié)點存儲在數(shù)據(jù)區(qū)的密鑰進行甄別選取,把不符合規(guī)定的密鑰將從節(jié)點中直接刪除,通過該方式降低了密鑰占用節(jié)點的存儲空間。
假設(shè)鄰居節(jié)點個數(shù)相同的情況下,3種密鑰管理方案占用內(nèi)存仿真對比圖如圖2所示。設(shè)計比較參數(shù)為:令 N=1 000,n=10,fd=3,Nd,j=4,Kd,j=32。
在一個無線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)的發(fā)送、接收和融合3部分所消耗的能量占據(jù)了節(jié)點消耗總能量的90%以上,減少任何一部分的能量消耗對整個網(wǎng)絡(luò)來說都有很大的改進。在節(jié)點進行通信期間,減少通信次數(shù)和數(shù)據(jù)融合次數(shù)可以減少能量消耗,因此本方案加入密鑰更新機制,在密鑰的更新過程中密鑰參與運算,通過字符的截取和追加來進行密鑰更新,即利用上一次通信的內(nèi)容作為下一次通信的密鑰,不需要進行復(fù)雜運算并且減少了數(shù)據(jù)融合的次數(shù),從而達到了節(jié)省節(jié)點能量的目的。
本文結(jié)合分簇管理密鑰方案和多項式密鑰管理方案,提出了一種新的安全、高效的無線傳感器網(wǎng)絡(luò)密鑰管理方案。與以前方案相比,本方案在節(jié)省存儲空間和降低能源消耗的同時,提高了網(wǎng)絡(luò)的連通性和節(jié)點發(fā)現(xiàn)率。性能分析和仿真結(jié)果顯示,基于分簇的WSN多項式隨機密鑰管理方案在滿足安全需求的前提下,能為WSN高效地建立節(jié)點間密鑰對和基站密鑰,并在提高了網(wǎng)絡(luò)通信概率的同時減小了密鑰占用內(nèi)存的問題。
[1]CHOI S, SARANGAN V, TROST S.Key management in wireless sensor networks with internetwork sensor roaming[C].Proceedings of the 33rd IEEE Conference on Local Computer Networks.Montreal, Quebec,Canada:[s.n.], 2008: 328-335.
[2]RIAZ R, ALI A, KIM KH, et al.Secure dynamic key management for sensor networks[C].Proceedings of the Innovations in Information Technology, Dubai: IEEE Press,2006.1-5.
[3]楊順,李喬良.分層無線傳感器網(wǎng)絡(luò)密鑰管理研究[J].微計算機信息,2010,26(10-3):57-59.
[4]肖德貴,楊金,羅娟.基于多項式和分組的無線傳感器網(wǎng)絡(luò)密鑰管理方案[J].計算機應(yīng)用研究,2009,26(2):680-682.