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