范志英,王傳有,古稀林
(1.中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041;2.中國(guó)人民解放軍32180部隊(duì),北京 100072)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由大量傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線多跳方式進(jìn)行通信的自組織網(wǎng)絡(luò)。網(wǎng)絡(luò)中各節(jié)點(diǎn)通過(guò)協(xié)作感知來(lái)采集用戶需要的信息,并將采集的信息通過(guò)多跳方式傳輸給數(shù)據(jù)匯聚中心進(jìn)行分析處理。無(wú)線傳感器網(wǎng)絡(luò)由于良好的自適應(yīng)性,被廣泛用于軍事戰(zhàn)場(chǎng)、遠(yuǎn)程醫(yī)療以及智能家居等行業(yè)。但是,由于工作環(huán)境的特殊性和采集信息的敏感性,安全問(wèn)題是無(wú)線傳感器網(wǎng)絡(luò)面臨的巨大挑戰(zhàn)。密鑰管理作為信息安全的基礎(chǔ),已經(jīng)成為當(dāng)前傳感器網(wǎng)絡(luò)中最重要的研究課題之一,吸引了國(guó)內(nèi)外大量學(xué)者的關(guān)注與研究。
由于傳感器節(jié)點(diǎn)能量供應(yīng)非常有限且節(jié)點(diǎn)信息傳輸?shù)哪芰块_銷遠(yuǎn)大于計(jì)算的能量開銷[1-2],根據(jù)二元對(duì)稱多項(xiàng)式的特點(diǎn),本文設(shè)計(jì)了一個(gè)適用于無(wú)線傳感器網(wǎng)絡(luò)無(wú)需交互的密鑰動(dòng)態(tài)管理方案(Symmetric Polynomial Dynamic Key Management,PDKM)。在PDKM方案中,利用二元對(duì)稱多項(xiàng)式的特點(diǎn),各節(jié)點(diǎn)在無(wú)需額外信息交互的前提下,均可與其他節(jié)點(diǎn)建立配對(duì)密鑰。配對(duì)密鑰具有全連通性。同時(shí),設(shè)計(jì)節(jié)點(diǎn)的密鑰更新方案和對(duì)被俘獲的惡意節(jié)點(diǎn)進(jìn)行刪除方案等,以保障網(wǎng)絡(luò)安全有效工作。該密鑰更新方案同時(shí)具有前向和后向安全性,并以所建立的配對(duì)密鑰為基礎(chǔ),分別為各節(jié)點(diǎn)生成了廣播通信所需要的廣播密鑰。
Eschenauer和Gligor首先提出了隨機(jī)密鑰預(yù)分配方案(E-G方案)[3]。該方案在以下幾個(gè)方面滿足無(wú)線傳感器網(wǎng)絡(luò)密鑰管理要求:(1)每個(gè)節(jié)點(diǎn)存儲(chǔ)較少的密鑰就可建立較高的安全連通率;(2)密鑰分配時(shí)不需要任何先驗(yàn)信息;(3)部署后節(jié)點(diǎn)間的配對(duì)密鑰建立分布式進(jìn)行,無(wú)需匯聚節(jié)點(diǎn)干預(yù),但節(jié)點(diǎn)間直接連通率和抗攻擊能力成反比,網(wǎng)絡(luò)連通率越高,網(wǎng)絡(luò)的抗攻擊能力越差。
結(jié)合E-G方案與二元對(duì)稱多項(xiàng)式的性質(zhì),Liu提出了基于二元對(duì)稱多項(xiàng)式的隨機(jī)密鑰預(yù)分配方案[4], 相對(duì)于E-G方案來(lái)說(shuō),建立配對(duì)密鑰過(guò)程相對(duì)簡(jiǎn)單,直接用節(jié)點(diǎn)的ID進(jìn)行計(jì)算即可,但同樣存在連通率與抗俘獲性相悖以及無(wú)法進(jìn)行更新等問(wèn)題。
(1)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都擁有唯一且確定的ID。
(2)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)與匯聚節(jié)點(diǎn)存在一跳或多跳鏈路。
(3)匯聚節(jié)點(diǎn)為計(jì)算能力、存儲(chǔ)容量、能量供應(yīng)等較強(qiáng)的節(jié)點(diǎn),且存放于安全區(qū)域,在協(xié)議設(shè)計(jì)中不考慮匯聚節(jié)點(diǎn)的安全、計(jì)算能力及能量供應(yīng)。
(4)網(wǎng)絡(luò)中節(jié)點(diǎn)均可以預(yù)置一些信息,這些信息只能被使用不可被獲取。也就是說(shuō),即便節(jié)點(diǎn)被俘獲,這些信息也不能被讀取,如工商銀行的USB KEY[5]。
為了方便闡述密鑰管理方案,表1給出了本文所用的一些符號(hào)定義。
表1 方案描述符號(hào)表
定義1 二元t次對(duì)稱多項(xiàng)式對(duì)于定義在有限域Fq(q是一個(gè)素?cái)?shù))的二元t次多項(xiàng)式f(x,y),若多項(xiàng)式f(x,y)恒滿足f(x,y)=f(y,x),則稱此二元t次多項(xiàng)式f(x,y)為二元t次對(duì)稱多項(xiàng)式[6]。
對(duì)于任意二元t次對(duì)稱多項(xiàng)式,均具有以下兩個(gè)性質(zhì):
(1)對(duì)于有限域Fq內(nèi)的變量a、b,恒存在f(a,b)=f(b,a)。
(2)至少獲得t個(gè)f(a,y)(其中a為有限域Fq內(nèi)一已知數(shù)),才可能計(jì)算得到二元t次對(duì)稱多項(xiàng)式f(x,y)[7]。
定義2 配對(duì)密鑰多項(xiàng)式 節(jié)點(diǎn)SNi用來(lái)計(jì)算與網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)間的配對(duì)密鑰的一元多項(xiàng)式稱為節(jié)點(diǎn)SNi的配對(duì)密鑰多項(xiàng)式。
本方案主要包括配對(duì)密鑰多項(xiàng)式的分配、配對(duì)密鑰多項(xiàng)式的更新、新節(jié)點(diǎn)的加入、指定節(jié)點(diǎn)的刪除以及基于已建立的配對(duì)密鑰的節(jié)點(diǎn)廣播密鑰的動(dòng)態(tài)管理。
配對(duì)密鑰是整個(gè)網(wǎng)絡(luò)安全通信的基礎(chǔ),本方案主要使用對(duì)稱多項(xiàng)式來(lái)生成配對(duì)密鑰。節(jié)點(diǎn)配對(duì)密鑰多項(xiàng)式的分配主要分兩個(gè)階段進(jìn)行:預(yù)置信息階段與配對(duì)密鑰多項(xiàng)式生成階段,如圖1所示。預(yù)置信息階段在節(jié)點(diǎn)部署前進(jìn)行,而配對(duì)密鑰多項(xiàng)式生成階段則在節(jié)點(diǎn)部署完成后進(jìn)行。當(dāng)各節(jié)點(diǎn)生成配對(duì)密鑰多項(xiàng)式后,可利用此多項(xiàng)式與網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)建立配對(duì)密鑰。
圖1 配對(duì)密鑰多項(xiàng)式分配流程
3.1.1 預(yù)置信息階段
節(jié)點(diǎn)部署前,需要為節(jié)點(diǎn)預(yù)置拓?fù)淇刂?、密鑰管理等所需要的信息。此處討論的預(yù)置信息階段主要是指為各節(jié)點(diǎn)生成及預(yù)置密鑰管理所需的一些信息。
首先,匯聚節(jié)點(diǎn)隨機(jī)生成2個(gè)t′次一元多項(xiàng)式p1(x)(如式(2)所示),并為網(wǎng)絡(luò)中的各節(jié)點(diǎn)分別生成唯一的ID。其中,多項(xiàng)式p1(x)、p2(y)均對(duì)外保密,且多項(xiàng)式次數(shù)t′與整個(gè)網(wǎng)絡(luò)的安全性有關(guān)。隨著多項(xiàng)式次數(shù)t′的增加,整個(gè)網(wǎng)絡(luò)的安全性也隨之增加,同時(shí)各節(jié)點(diǎn)的計(jì)算、通信開銷也隨之增加,用戶可以根據(jù)需求選擇合適的多項(xiàng)式次數(shù)t′。
其次,利用生成的多項(xiàng)式p1(x)、p2(y),分別為各個(gè)感知節(jié)點(diǎn)生成預(yù)置信息p1(n1)、p2(n1),并將此預(yù)置信息預(yù)置于相應(yīng)感知節(jié)點(diǎn)中。其中,n1為相應(yīng)感知節(jié)點(diǎn)的ID。同時(shí),各個(gè)節(jié)點(diǎn)生成的預(yù)置信息均對(duì)外界以及其他節(jié)點(diǎn)保密。另外,匯聚節(jié)點(diǎn)保存的多項(xiàng)式p1(x)、p2(y)對(duì)外保密。為各個(gè)節(jié)點(diǎn)采用類似ICBC USB KEY技術(shù)進(jìn)行信息預(yù)置,即預(yù)置的信息只能被各節(jié)點(diǎn)使用,即使節(jié)點(diǎn)被俘獲,預(yù)置信息也不會(huì)被外界所獲取[2]。
3.1.2 配對(duì)密鑰多項(xiàng)式生成階段
當(dāng)傳感器網(wǎng)絡(luò)部署完成后,感知節(jié)點(diǎn)需要根據(jù)匯聚節(jié)點(diǎn)的廣播信息生成配對(duì)密鑰多項(xiàng)式。配對(duì)密鑰多項(xiàng)式分配過(guò)程如下。
(1)匯聚節(jié)點(diǎn)隨機(jī)生成一個(gè)關(guān)于變量x、y的二元t次對(duì)稱多項(xiàng)式f(x,y),并對(duì)生成的多項(xiàng)式f(x,y)以及預(yù)置的多項(xiàng)式p1(x)、p2(y)進(jìn)行乘法運(yùn)算,得到一個(gè)新的二元多項(xiàng)式p′(x,y),并向所管轄區(qū)域內(nèi)的所有感知節(jié)點(diǎn)廣播多項(xiàng)式p′(x,y)。其中,SIDRN為生成廣播信息的匯聚節(jié)點(diǎn)的ID。
(2)當(dāng)節(jié)點(diǎn)SNi接收到匯聚節(jié)點(diǎn)SNj的廣播信息后,使用其ID作為變量x的值,代入多項(xiàng)式p′(x,y)中進(jìn)行計(jì)算,得到一個(gè)關(guān)于變量y的一元多項(xiàng)式p′(IDSNi,y)。節(jié)點(diǎn)SNi根據(jù)多項(xiàng)式p′(IDSNi,y)及預(yù)置的p1(IDSNi)、p2(IDSNi),計(jì)算自己的配對(duì)密鑰多項(xiàng)式fkSNi(y),同時(shí)節(jié)點(diǎn)SNi向其鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)中繼節(jié)點(diǎn)的廣播信息。
當(dāng)節(jié)點(diǎn)根據(jù)廣播信息計(jì)算出自己的配對(duì)密鑰多項(xiàng)式fkID(y)后,無(wú)需進(jìn)行信息交互,便可與其他節(jié)點(diǎn)建立配對(duì)密鑰。例如:存在節(jié)點(diǎn)SNi、SNj,其配對(duì)密鑰多項(xiàng)式分別為fkSNi(y)、fkSNj(y),則節(jié)點(diǎn)SNi與節(jié)點(diǎn)SNj可以利用已建立的配對(duì)密鑰多項(xiàng)式及對(duì)方節(jié)點(diǎn)的ID,計(jì)們配對(duì)密鑰fkSNi(IDSNj)。同理,節(jié)點(diǎn)SNi可以與匯聚節(jié)點(diǎn)SNj建立配對(duì)密鑰,為fkSNi(SIDRN)。
各節(jié)點(diǎn)使用二元對(duì)稱多項(xiàng)式生成的配對(duì)密鑰屬于確定性密鑰,在使用過(guò)程中不發(fā)生變化,且二元t′次對(duì)稱多項(xiàng)式只能提供t′級(jí)的安全性——即同一區(qū)域中t′個(gè)配對(duì)密鑰多項(xiàng)式被俘獲后,此配對(duì)密鑰多項(xiàng)式可能被計(jì)算出來(lái)。因此,隨著網(wǎng)絡(luò)工作的進(jìn)行,節(jié)點(diǎn)間的配對(duì)密鑰可能會(huì)被攻擊者獲知。為了使網(wǎng)絡(luò)能夠長(zhǎng)期安全工作,必須更新各節(jié)點(diǎn)的密鑰。節(jié)點(diǎn)間的配對(duì)密鑰由配對(duì)密鑰多項(xiàng)式和ID共同產(chǎn)生,而節(jié)點(diǎn)的ID是不可變的,因此只有通過(guò)更新網(wǎng)絡(luò)中各節(jié)點(diǎn)的配對(duì)密鑰多項(xiàng)式來(lái)實(shí)現(xiàn)對(duì)節(jié)點(diǎn)間密鑰的更新。本密鑰管理方案采用定期更新的方法更新節(jié)點(diǎn)的配對(duì)密鑰多項(xiàng)式。更新過(guò)程分為兩個(gè)階段,節(jié)點(diǎn)部署前的預(yù)處理階段與節(jié)點(diǎn)部署后的分布式更新階段。配對(duì)密鑰多項(xiàng)式的更新流程如圖2所示。
圖2 配對(duì)密鑰多項(xiàng)式更新流程
3.2.1 預(yù)處理階段
此階段工作主要在節(jié)點(diǎn)部署前進(jìn)行。
首先,匯聚節(jié)點(diǎn)隨機(jī)生成若干組多項(xiàng)式:
隨著網(wǎng)絡(luò)工作時(shí)間的進(jìn)推移,匯聚節(jié)點(diǎn)會(huì)根據(jù)需求生成更多的多項(xiàng)式組,生成的多項(xiàng)式組對(duì)外界和各節(jié)點(diǎn)均保密。
其次,服務(wù)器采用類似工商銀行USB KEY方式(即預(yù)置的信息只可使用,不可讀取),為每個(gè)中繼節(jié)點(diǎn)順序預(yù)置lr/t個(gè)隨機(jī)生成的多項(xiàng)式組和最小組號(hào),組號(hào)從0開始依次累加。其中,lr為中繼節(jié)點(diǎn)預(yù)計(jì)最長(zhǎng)工作時(shí)間,t為進(jìn)行更新的時(shí)間間隔;同時(shí),服務(wù)器為每個(gè)感知節(jié)點(diǎn)使用相同于中繼節(jié)點(diǎn)的方式預(yù)置ls/t組多項(xiàng)式值,其中l(wèi)s為感知節(jié)點(diǎn)預(yù)計(jì)最長(zhǎng)工作時(shí)間。多項(xiàng)式值組為按照順序生成的多項(xiàng)式組以節(jié)點(diǎn)ID為變量值,計(jì)算得到:
并為每個(gè)感知節(jié)點(diǎn)預(yù)置多項(xiàng)式值組的最小組號(hào),組號(hào)從0開始,依次累加。
3.2.2 分布式更新階段
中繼節(jié)點(diǎn)每隔時(shí)間段t,便對(duì)其管轄區(qū)域內(nèi)感知節(jié)點(diǎn)的配對(duì)密鑰多項(xiàng)式進(jìn)行更新,其中更新時(shí)間間隔t取決于網(wǎng)絡(luò)安全性的需求和網(wǎng)絡(luò)受攻擊的強(qiáng)度。隨著時(shí)間段t的減小,網(wǎng)絡(luò)安全性增強(qiáng),同時(shí)更新開銷,如通信開銷、能量消耗、節(jié)點(diǎn)存儲(chǔ)開銷等也會(huì)隨之增大。整個(gè)分布式更新過(guò)程主要分為兩步完成。
(1)匯聚節(jié)點(diǎn)隨機(jī)生成二元對(duì)稱多項(xiàng)式f(x,y),并根據(jù)更新輪次號(hào)i,選擇相應(yīng)的多項(xiàng)式組{pi,1(x),pi,2(y)},通過(guò)乘法計(jì)算得到多項(xiàng)式p′(x,y),并向節(jié)點(diǎn)廣播此更新信息。
(2)節(jié)點(diǎn)SN收到廣播消息后,根據(jù)更新輪次找到相應(yīng)的預(yù)置信息{pi,1(IDSN)·pi,2(IDSN)},計(jì)算自己的配對(duì)密鑰多項(xiàng)式fkSN(y),同時(shí)向其鄰居轉(zhuǎn)播匯聚節(jié)點(diǎn)的廣播信息。
(3)當(dāng)所有節(jié)點(diǎn)均完成以上操作時(shí),更新完成。
工作中,部分節(jié)點(diǎn)可能會(huì)被攻擊者惡意俘獲,并對(duì)節(jié)點(diǎn)進(jìn)行再編程后重新部署到監(jiān)測(cè)區(qū)域,使其成為內(nèi)部惡意節(jié)點(diǎn)。通過(guò)定時(shí)更新可以防止整個(gè)密鑰管理系統(tǒng)被破解,但無(wú)法刪除網(wǎng)絡(luò)中被俘獲節(jié)點(diǎn)后的惡意節(jié)點(diǎn)。因此,為了整個(gè)網(wǎng)絡(luò)能夠正常、安全、有效工作,必須刪除這些被俘獲節(jié)點(diǎn)。在已經(jīng)建立的配對(duì)密鑰基礎(chǔ)上,設(shè)計(jì)惡意節(jié)點(diǎn)的刪除方案,以保障網(wǎng)絡(luò)的正常工作。整個(gè)刪除過(guò)程由中繼節(jié)點(diǎn)與管轄區(qū)內(nèi)的感知節(jié)點(diǎn)協(xié)同合作實(shí)現(xiàn)。節(jié)點(diǎn)刪除主要分三個(gè)階段完成:初始化階段、中繼節(jié)點(diǎn)廣播階段以及配對(duì)密鑰多項(xiàng)式的建立,過(guò)程如圖3所示。
圖3 節(jié)點(diǎn)刪除過(guò)程
3.3.1 初始化階段
當(dāng)匯聚節(jié)點(diǎn)檢測(cè)到被俘獲節(jié)點(diǎn)的數(shù)目超過(guò)閾值nre時(shí),便進(jìn)入節(jié)點(diǎn)刪除初始化階段。假定一組需要?jiǎng)h除的節(jié)點(diǎn)組R為{c1,…,cn}。首先,匯聚節(jié)點(diǎn)隨機(jī)產(chǎn)生2個(gè)二元t次對(duì)稱多項(xiàng)式f1(x,y)、f2(x,y);其次,根據(jù)當(dāng)前更新輪次號(hào)i,找到節(jié)點(diǎn)內(nèi)預(yù)置的多項(xiàng)式pi,1(x)、pi,2(y);中繼節(jié)點(diǎn)生成多項(xiàng)式g1(x)、g2(y)分 別為:
且{IDc1,…,IDcn}為節(jié)點(diǎn)組R內(nèi)各節(jié)點(diǎn)的ID,隨后進(jìn)入廣播階段。
3.3.2 廣播階段
匯聚節(jié)點(diǎn)向網(wǎng)絡(luò)中其他節(jié)點(diǎn)發(fā)送廣播刪除命令,從而刪除區(qū)域內(nèi)需要?jiǎng)h除的節(jié)點(diǎn)。其中,SIDRN為中繼節(jié)點(diǎn)RN的感知層ID,且有:
3.3.3 配對(duì)密鑰多項(xiàng)式建立階段
當(dāng)非刪除的節(jié)點(diǎn)UN收到匯聚節(jié)點(diǎn)廣播的節(jié)點(diǎn)刪除命令后,向鄰居節(jié)點(diǎn)轉(zhuǎn)播中繼節(jié)點(diǎn)的節(jié)點(diǎn)刪除命令。同時(shí),節(jié)點(diǎn)UN通過(guò)匯聚節(jié)點(diǎn)的刪除命令計(jì)算自己的配對(duì)密鑰多項(xiàng)式,過(guò)程如下。
首先,計(jì)算多項(xiàng)式值p1′(IDUN,y)與p2′(IDUN,y):
該感知節(jié)點(diǎn)UN的配對(duì)密鑰多項(xiàng)式為:
普通節(jié)點(diǎn)可以通過(guò)上述多項(xiàng)式計(jì)算與同區(qū)域內(nèi)其他節(jié)點(diǎn)的配對(duì)密鑰。但是,對(duì)于已刪除的節(jié)點(diǎn),由于其ID代入多項(xiàng)式g1(x)、g2(y)結(jié)果均為0,因此無(wú)法計(jì)算原同區(qū)域內(nèi)節(jié)點(diǎn)間的配對(duì)密鑰,從而實(shí)現(xiàn)對(duì)區(qū)域內(nèi)指定節(jié)點(diǎn)的刪除。
傳感器節(jié)點(diǎn)經(jīng)常需要向其鄰居節(jié)點(diǎn)廣播信息以及與特定的組成員進(jìn)行通信。雖然這些應(yīng)用可以通過(guò)與各鄰居間的配對(duì)密鑰一一完成,但會(huì)造成節(jié)點(diǎn)能量、通信信道以及時(shí)間上的浪費(fèi)。因此,為感知節(jié)點(diǎn)建立廣播密鑰十分必要。本文在已經(jīng)建立的配對(duì)密鑰基礎(chǔ)上,設(shè)計(jì)節(jié)點(diǎn)組廣播密鑰的建立及動(dòng)態(tài)管理方案。
鄰居節(jié)點(diǎn)間廣播密鑰的建立:當(dāng)節(jié)點(diǎn)完成配對(duì)密鑰多項(xiàng)式的分配后,便進(jìn)入廣播密鑰的建立階段。在分配配對(duì)密鑰多項(xiàng)式的過(guò)程中,網(wǎng)絡(luò)中任意節(jié)點(diǎn)Ne可以保存其鄰居節(jié)點(diǎn)ID到表NEINr中。廣播密鑰建立流程如下:
(1)首先節(jié)點(diǎn)Ne隨機(jī)生成正整數(shù)n和與其所有鄰居節(jié)點(diǎn)的配對(duì)密鑰{KNr&N1,…,KNr&Ni}。
(2)節(jié)點(diǎn)Ne對(duì)與其鄰居節(jié)點(diǎn)的配對(duì)密鑰分別求哈希值{h(KNr&N1),…,h(KNr&Ni)}。
(3)計(jì)算鄰居節(jié)點(diǎn)廣播密鑰BKr=n⊕ h(KNr&N1)⊕…⊕h(KNr&Ni)。
(4)分別為每個(gè)鄰居節(jié)點(diǎn)計(jì)算BKj′|j=1,…,i值。其中,BKj′=BKr⊕h(KNr&Nj),并向鄰居發(fā)送廣播密鑰建立請(qǐng)求信息。
(5)當(dāng)鄰居節(jié)點(diǎn)收到節(jié)點(diǎn)Ne的廣播密鑰建立請(qǐng)求后,計(jì)算與節(jié)點(diǎn)鄰居節(jié)點(diǎn)Ne的配對(duì)密鑰KNj&Nr,并計(jì)算出配對(duì)密鑰的哈希值h(KNj&Nr),從廣播信息中獲取BKj′,建立鄰居節(jié)點(diǎn)Ne的廣播密鑰BKr=BKj′⊕h(KNj&Nr)。
通過(guò)使用OPNET Modeler網(wǎng)絡(luò)模擬仿真平臺(tái)上采集到的數(shù)據(jù),對(duì)PDKM的連通性、節(jié)點(diǎn)開銷、抗俘獲性以及動(dòng)態(tài)性分別進(jìn)行分析,并與已有的密鑰管理方案進(jìn)行比較。
網(wǎng)絡(luò)中節(jié)點(diǎn)的連通性分為兩類:局部連通性與全局連通性。
4.1.1 局部連通性
局部連通性是指網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)與鄰居節(jié)點(diǎn)間可以直接建立配對(duì)密鑰的概率。在無(wú)線傳感器網(wǎng)絡(luò)中,確保節(jié)點(diǎn)可以與鄰居節(jié)點(diǎn)建立配對(duì)密鑰是密鑰管理方案設(shè)計(jì)中的一個(gè)重要方面。而現(xiàn)有的基于隨機(jī)密鑰預(yù)分配的密鑰管理方案中,由于采用了分布式平面網(wǎng)絡(luò)結(jié)構(gòu),節(jié)點(diǎn)通過(guò)預(yù)置的共享密鑰建立配對(duì)密鑰。由于每個(gè)節(jié)點(diǎn)中的預(yù)置密鑰為密鑰池的一個(gè)子集,為了保證整個(gè)網(wǎng)絡(luò)的健壯性,任意兩節(jié)點(diǎn)間有相同的預(yù)置密鑰的概率始終遠(yuǎn)小于1,且此概率隨著預(yù)置密鑰的數(shù)目的增加而增加,但安全性隨之降低。
本方案中,網(wǎng)絡(luò)中各節(jié)點(diǎn)使用自己以及對(duì)方的ID通過(guò)對(duì)稱多項(xiàng)式建立配對(duì)密鑰,因此只要知道同區(qū)域中對(duì)方的ID,均可計(jì)算出相應(yīng)的配對(duì)密鑰,網(wǎng)絡(luò)的局部連通率為1。而隨機(jī)密鑰預(yù)分配方案(E-G方案)的局部連通率與節(jié)點(diǎn)內(nèi)預(yù)置的密鑰數(shù)量有關(guān),連通率為1-((S-k)!)2/((S-2k)!S!)[3],其中S為密鑰池的大小,k為節(jié)點(diǎn)內(nèi)預(yù)置密鑰的數(shù)量;q-Composite隨機(jī)密鑰預(yù)分配方案由于兩節(jié)點(diǎn)間的共享密鑰大于等于q時(shí),才可建立通信。因此,當(dāng)q=1時(shí),此方案連通率與E-G方案相同;當(dāng)q>1時(shí),節(jié)點(diǎn)間的其中S為密鑰池?cái)?shù)目,m為節(jié)點(diǎn)內(nèi)部署的節(jié)點(diǎn)數(shù)。網(wǎng)絡(luò)中節(jié)點(diǎn)的局部連通率隨著內(nèi)置密鑰數(shù)量的增加而增加,但同時(shí)網(wǎng)絡(luò)的安全性隨著節(jié)點(diǎn)預(yù)置密鑰數(shù)量的增加而降低。節(jié)點(diǎn)預(yù)置密鑰的數(shù)量與網(wǎng)絡(luò)局部連通率的關(guān)系圖如圖4所示。
圖4 網(wǎng)絡(luò)的局部連通性
由圖4可知,其他基于隨機(jī)密鑰預(yù)分配的密鑰管理方案隨著預(yù)置密鑰信息的增加,網(wǎng)絡(luò)的局部連通率逐漸增加。隨著節(jié)點(diǎn)預(yù)置密鑰數(shù)逐漸趨近于密鑰池大小,網(wǎng)絡(luò)的局部連通率逐漸趨近于1;而本協(xié)議在預(yù)置基本信息后,網(wǎng)絡(luò)的局部連通率一直為1。因此,本協(xié)議在局部連通率方面優(yōu)勢(shì)明顯。
4.1.2 全局連通性
全局連通性是指網(wǎng)絡(luò)中任意兩節(jié)點(diǎn)之間建立安全通信密鑰的概率。在傳感器網(wǎng)絡(luò)中,覆蓋控制、連通控制以及路由尋找等操作對(duì)網(wǎng)絡(luò)的正常有效運(yùn)行非常重要。而當(dāng)網(wǎng)絡(luò)在執(zhí)行覆蓋控制、連通控制以及路由尋找等控制操作時(shí),網(wǎng)絡(luò)中的節(jié)點(diǎn)都需要與同區(qū)域內(nèi)其他非鄰居節(jié)點(diǎn)進(jìn)行通信。因此,全局連通性也是無(wú)線傳感器網(wǎng)絡(luò)密鑰管理方案一個(gè)非常重要的性能指標(biāo)。
與局部連通性類似,本方案采用二元對(duì)稱多項(xiàng)式生成配對(duì)密鑰,每個(gè)節(jié)點(diǎn)在預(yù)置了基本信息后,在獲知同區(qū)域內(nèi)需要建立配對(duì)密鑰的節(jié)點(diǎn)ID的前提下,可與其建立配對(duì)密鑰,因此整個(gè)網(wǎng)絡(luò)的全局連通率恒為1。而對(duì)于其他基于隨機(jī)密鑰預(yù)分配的密鑰管理方案[9-11],網(wǎng)絡(luò)的全局連通率與局部連通率相等,且恒小于1,且隨著預(yù)置密鑰信息的數(shù)量無(wú)限接近于1,網(wǎng)絡(luò)中節(jié)點(diǎn)的抗俘獲性急劇下降。連通率為
密鑰管理過(guò)程中節(jié)點(diǎn)的開銷主要包括密鑰分配更新過(guò)程中的通信開銷和計(jì)算開銷。從表2可知,節(jié)點(diǎn)通信開銷占到能量總開銷的98%[12],且文獻(xiàn)[13]指出,節(jié)點(diǎn)每發(fā)送1 bit的能量消耗與執(zhí)行100條指令的能耗相當(dāng),因此減小密鑰管理的通信開銷對(duì)延長(zhǎng)網(wǎng)絡(luò)工作壽命有著重要作用。
表2 無(wú)線傳感器網(wǎng)絡(luò)各模塊能量損耗比例
假定每個(gè)感知節(jié)點(diǎn)隸屬于一個(gè)中繼節(jié)點(diǎn)。本方案中的通信開銷主要包括三個(gè)部分——配對(duì)密鑰多項(xiàng)式的分配、配對(duì)密鑰的建立以及配對(duì)密鑰的更新。在配對(duì)密鑰多項(xiàng)式的分配階段,每個(gè)節(jié)點(diǎn)轉(zhuǎn)發(fā)nst+1個(gè)廣播數(shù)據(jù)包,包的大小為(t+t′)2×32 bit;在配對(duì)密鑰建立階段,節(jié)點(diǎn)不需要任何信息發(fā)送,就可建立配對(duì)密鑰,通信開銷為0;密鑰更新時(shí),通信開銷為(t+t′)2×32 bit。文獻(xiàn)[8]中提出的基于隨機(jī)預(yù)分配的方案,假定整個(gè)網(wǎng)絡(luò)的連通率為80%,初始化階段通信開銷為0,每個(gè)節(jié)點(diǎn)與鄰居節(jié)點(diǎn)建立密鑰的通信開銷為:
其中p′為兩節(jié)點(diǎn)的連通率,ns為每個(gè)節(jié)點(diǎn)預(yù)置的密鑰個(gè)數(shù),Sb為通信包的大小。圖5給出了各節(jié)點(diǎn)在p′分別為80%、90%、95%、98%時(shí)的通信 開銷。
圖5 網(wǎng)絡(luò)連通率與通信開銷
隨著網(wǎng)絡(luò)工作時(shí)間的推移,網(wǎng)絡(luò)中需要新加入一些節(jié)點(diǎn)以保證網(wǎng)絡(luò)的正常工作。而PDKM允許用戶按照應(yīng)用需要為網(wǎng)絡(luò)增加新的節(jié)點(diǎn),且節(jié)點(diǎn)的增加過(guò)程中使用了中繼節(jié)點(diǎn)認(rèn)證與匯聚節(jié)點(diǎn)認(rèn)證的雙層認(rèn)證機(jī)制,保證網(wǎng)絡(luò)中所添加的節(jié)點(diǎn)是用戶所增加的節(jié)點(diǎn)而非惡意節(jié)點(diǎn)。而對(duì)于E-G等方案,雖然網(wǎng)絡(luò)可以支持新節(jié)點(diǎn)的加入,但在節(jié)點(diǎn)增加過(guò)程中,每個(gè)節(jié)點(diǎn)像網(wǎng)絡(luò)初始化時(shí)為每個(gè)節(jié)點(diǎn)預(yù)置密鑰信息,并通過(guò)向鄰居節(jié)點(diǎn)發(fā)送請(qǐng)求加入網(wǎng)絡(luò),但這些方案中的節(jié)點(diǎn)增加過(guò)程均無(wú)認(rèn)證功能,即惡意節(jié)點(diǎn)有可能冒充新增節(jié)點(diǎn)向鄰居節(jié)點(diǎn)發(fā)送請(qǐng)求,從而達(dá)到竊聽網(wǎng)絡(luò)信息或DoS攻擊等。因此,PDKM的擴(kuò)展性要明顯優(yōu)于文獻(xiàn)[4,10-11]中提出的密鑰管理方案。
節(jié)點(diǎn)被惡意俘獲是傳感器網(wǎng)絡(luò)面臨的安全問(wèn)題,因?yàn)閻阂夥@不僅會(huì)破壞節(jié)點(diǎn)的正常工作,而且會(huì)讀取節(jié)點(diǎn)中的一些信息,對(duì)網(wǎng)絡(luò)的安全性產(chǎn)生極大危害。因此,抗俘獲性是判定傳感器網(wǎng)絡(luò)密鑰管理性能的一個(gè)非常重要的標(biāo)識(shí)。
文獻(xiàn)[7]提出,對(duì)于基于t次二元對(duì)稱多項(xiàng)的密鑰管理方案中,惡意節(jié)點(diǎn)可能通過(guò)俘獲節(jié)點(diǎn)獲得節(jié)點(diǎn)中生成的配對(duì)密鑰多項(xiàng)式。通過(guò)反向計(jì)算,計(jì)算網(wǎng)絡(luò)中的配對(duì)密鑰多項(xiàng)式,從而達(dá)到對(duì)整個(gè)密鑰管理系統(tǒng)的破解。當(dāng)俘獲的節(jié)點(diǎn)數(shù)小于t+1時(shí),這些被獲取的配對(duì)密鑰多項(xiàng)式對(duì)網(wǎng)絡(luò)的密鑰管理不會(huì)產(chǎn)生任何威脅,網(wǎng)絡(luò)可以正常工作;而當(dāng)獲得的配對(duì)密鑰多項(xiàng)式大于t+1時(shí),即t+1個(gè)正常節(jié)點(diǎn)中的一元配對(duì)密鑰多項(xiàng)式被敵方獲后,可能通過(guò)這些配對(duì)密鑰多項(xiàng)式計(jì)算整個(gè)網(wǎng)絡(luò)中生成配對(duì)密鑰所用的二元對(duì)稱多項(xiàng)式,從而使整個(gè)網(wǎng)絡(luò)配對(duì)密鑰管理崩潰,導(dǎo)致整個(gè)網(wǎng)絡(luò)無(wú)法正常工作。因此,使用的二元多項(xiàng)式的次數(shù)越高,網(wǎng)絡(luò)的抗俘獲越好,安全性越高,但節(jié)點(diǎn)的存儲(chǔ)開銷及配對(duì)密鑰多項(xiàng)式分配、更新時(shí)的通信開銷也隨之增大。圖6給出了PDKM協(xié)議在抗攻擊性方面與其他密鑰管理方案的比較 示意圖。
圖6 被俘獲節(jié)點(diǎn)比率與網(wǎng)絡(luò)安全連通受損率
PDKM協(xié)議適用于網(wǎng)絡(luò)規(guī)模較小的傳感器網(wǎng)絡(luò)。當(dāng)匯聚節(jié)點(diǎn)檢測(cè)到被俘獲的節(jié)點(diǎn)數(shù)超過(guò)設(shè)定閥值時(shí),就更新整個(gè)網(wǎng)絡(luò)密鑰系統(tǒng),從而保證密鑰管理系統(tǒng)的安全性,且節(jié)點(diǎn)的更新開銷非常小。由于生成配對(duì)密鑰的二元對(duì)稱多項(xiàng)式由中繼節(jié)點(diǎn)隨機(jī)生成的對(duì)稱多項(xiàng)式部分以及中繼節(jié)點(diǎn)預(yù)置的一元多項(xiàng)式組兩部分組成,當(dāng)敵方俘獲中繼節(jié)點(diǎn)后,只能獲取中繼節(jié)點(diǎn)隨機(jī)生成的對(duì)稱多項(xiàng)式部分,無(wú)法獲取預(yù)置的多項(xiàng)式組,因此同樣無(wú)法獲取感知節(jié)點(diǎn)的配對(duì)密鑰多項(xiàng)式,且每個(gè)感知節(jié)點(diǎn)都有備用的中繼節(jié)點(diǎn),因此中繼節(jié)點(diǎn)的俘獲對(duì)網(wǎng)絡(luò)的正常工作不會(huì)產(chǎn)生很大影響。
動(dòng)態(tài)性是指網(wǎng)絡(luò)中節(jié)點(diǎn)間的密鑰能否進(jìn)行動(dòng)態(tài)更新。PDKM以較小的計(jì)算及通信開銷進(jìn)行節(jié)點(diǎn)密鑰的動(dòng)態(tài)更新。當(dāng)被俘獲的節(jié)點(diǎn)數(shù)超過(guò)t+2t′或更新時(shí)間間隔到達(dá)后,中繼節(jié)點(diǎn)便會(huì)對(duì)其所管轄的感知節(jié)點(diǎn)進(jìn)行密鑰更新。本協(xié)議中的密鑰更新同時(shí)具備前向安全性與后向安全性,即使在一段時(shí)間內(nèi)密鑰管理被破解,但是當(dāng)網(wǎng)絡(luò)更新密鑰后,整個(gè)網(wǎng)絡(luò)的密鑰管理將重新恢復(fù)安全。此外,更新密鑰使用的多項(xiàng)式值隨著更新而不斷更換,可保障網(wǎng)絡(luò)密鑰管理系統(tǒng)更新的安全、有效性。
同時(shí),本方案配合外來(lái)入侵系統(tǒng)使用。當(dāng)監(jiān)測(cè)到網(wǎng)絡(luò)中被俘獲節(jié)點(diǎn)超過(guò)俘獲閾值t+t′后,便刪除監(jiān)測(cè)到的被俘獲節(jié)點(diǎn);且當(dāng)需要加入新節(jié)點(diǎn)時(shí),每個(gè)節(jié)點(diǎn)預(yù)置最新用于配對(duì)密鑰多項(xiàng)式更新的多項(xiàng)式值組,從而保障網(wǎng)絡(luò)的密鑰管理的安全性不會(huì)隨著網(wǎng)絡(luò)工作的進(jìn)行而降低。但是,對(duì)于E-G等方案,這些節(jié)點(diǎn)的配對(duì)密鑰無(wú)法進(jìn)行更新,隨著網(wǎng)絡(luò)工作的進(jìn)行,一些節(jié)點(diǎn)被俘獲,其內(nèi)預(yù)置的密鑰環(huán)會(huì)被敵方獲得,網(wǎng)絡(luò)的安全性隨著工作的進(jìn)行而逐漸降低;網(wǎng)絡(luò)中新增加節(jié)點(diǎn)預(yù)置的密鑰環(huán)有可能已經(jīng)被敵方所獲知,從而使得一些節(jié)點(diǎn)一進(jìn)入網(wǎng)絡(luò)便無(wú)法正常工作;即使服務(wù)喊叫獲得一些已被俘獲節(jié)點(diǎn)的信息,也無(wú)法將這些節(jié)點(diǎn)刪除,整個(gè)網(wǎng)絡(luò)的安全性會(huì)隨著工作的進(jìn)行越來(lái)越差,最終導(dǎo)致整個(gè)網(wǎng)絡(luò)無(wú)法正常工作而徹底崩潰。
根據(jù)無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn),基于二元對(duì)稱多項(xiàng)式的性質(zhì),提出了無(wú)需交互的密鑰動(dòng)態(tài)管理方案PDKM,有效減少了節(jié)點(diǎn)的通信開銷,提高了網(wǎng)絡(luò)的工作壽命。PDKM同時(shí)支持密鑰的動(dòng)態(tài)更新、組廣播密鑰的建立和指定節(jié)點(diǎn)的刪除等。仿真結(jié)果表明:PDKM密鑰管理方案在通信開銷、抗毀性以及動(dòng)態(tài)性方面具有較大優(yōu)勢(shì)。