袁 琪, 馬春光, 姚建盛,3
(1. 哈爾濱工程大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 黑龍江 哈爾濱 150001;2. 齊齊哈爾大學(xué)通信與電子工程學(xué)院, 黑龍江 齊齊哈爾 161006;3. 吉林師范大學(xué)計(jì)算機(jī)學(xué)院, 吉林 四平 136000)
無(wú)線傳感器網(wǎng)絡(luò)是由大量布撒在特殊地理環(huán)境下的傳感器節(jié)點(diǎn)組成,廣泛應(yīng)用于軍事和民用領(lǐng)域,由于應(yīng)用環(huán)境的特殊性,無(wú)線傳感網(wǎng)中不鋪設(shè)任何基礎(chǔ)設(shè)施[1]。傳感器節(jié)點(diǎn)有感知和傳輸功能,用來(lái)采集數(shù)據(jù)并將數(shù)據(jù)最終傳輸給sink節(jié)點(diǎn)。早期針對(duì)無(wú)線傳感網(wǎng)的研究主要考慮的是網(wǎng)絡(luò)節(jié)點(diǎn)性能相同情況下的同構(gòu)傳感網(wǎng)[2],隨著傳感網(wǎng)技術(shù)的發(fā)展,更多的研究表明在傳感網(wǎng)中適量添加高性能傳感器節(jié)點(diǎn),即組成異構(gòu)無(wú)線傳感網(wǎng),可以更有效地提高網(wǎng)絡(luò)性能,延長(zhǎng)網(wǎng)絡(luò)生命周期[3]。
無(wú)線傳感網(wǎng)中傳感器是以廣播的形式發(fā)送數(shù)據(jù),其數(shù)據(jù)安全難以保證,當(dāng)傳感器被部署至敵對(duì)或無(wú)人看管的環(huán)境下,其安全問(wèn)題尤為重要[4]。傳感網(wǎng)通信雙方在進(jìn)行數(shù)據(jù)傳輸時(shí),需要密鑰對(duì)傳輸數(shù)據(jù)進(jìn)行加解密,一旦節(jié)點(diǎn)密鑰被敵方捕獲,節(jié)點(diǎn)數(shù)據(jù)就會(huì)暴露給對(duì)方,所以異構(gòu)傳感網(wǎng)安全的核心問(wèn)題就是網(wǎng)絡(luò)節(jié)點(diǎn)的密鑰管理。由于傳感器節(jié)點(diǎn)的電池能量、傳輸范圍、存儲(chǔ)空間、計(jì)算能力等物理特性受限,傳統(tǒng)的有線網(wǎng)絡(luò)下的密鑰管理不再適用于無(wú)線傳感網(wǎng)。2002年,文獻(xiàn)[5]最早提出了無(wú)線傳感器網(wǎng)絡(luò)環(huán)境下的密鑰預(yù)分配方案,從此,研究人員開(kāi)始了對(duì)無(wú)線傳感網(wǎng)密鑰管理的研究[3-11]。密鑰預(yù)分配是傳感網(wǎng)密鑰管理最廣泛的研究方向,是指?jìng)鞲衅骶W(wǎng)絡(luò)部署前將密鑰預(yù)先分配給網(wǎng)絡(luò)節(jié)點(diǎn),通信節(jié)點(diǎn)間利用預(yù)先存儲(chǔ)的密鑰,按照一定規(guī)則建立會(huì)話密鑰,從而保證了傳輸數(shù)據(jù)安全。由于傳感器節(jié)點(diǎn)物理資源有限,傳感網(wǎng)密鑰管理方案的設(shè)計(jì),在保證密鑰連通率的同時(shí),還需要考慮節(jié)點(diǎn)的電池能量、存儲(chǔ)空間、通信能力和計(jì)算能力等重要物理指標(biāo)。
傳感器節(jié)點(diǎn)采用電池供電,一旦電池電量耗盡,則節(jié)點(diǎn)死亡。當(dāng)傳感網(wǎng)中關(guān)鍵節(jié)點(diǎn)(最后一跳到達(dá)sink的節(jié)點(diǎn))死亡,影響到傳感器節(jié)點(diǎn)到sink節(jié)點(diǎn)的數(shù)據(jù)傳輸,就會(huì)大大縮短網(wǎng)絡(luò)的生命周期。因此,有效保證傳感器節(jié)點(diǎn)能量平衡、最大化網(wǎng)絡(luò)生命周期成為無(wú)線傳感器網(wǎng)絡(luò)的一個(gè)關(guān)鍵問(wèn)題[6]。傳統(tǒng)的傳感網(wǎng)密鑰管理實(shí)際上是一個(gè)局部?jī)?yōu)化問(wèn)題,即在網(wǎng)絡(luò)分層結(jié)構(gòu)下,單純對(duì)其在密鑰連通率、節(jié)點(diǎn)能耗和密鑰所占存儲(chǔ)空間等性能之間進(jìn)行優(yōu)化,這種無(wú)線傳感網(wǎng)網(wǎng)絡(luò)分層下的密鑰管理,沒(méi)有考慮其他協(xié)議層對(duì)密鑰管理的影響,必然會(huì)造成節(jié)點(diǎn)資源的浪費(fèi)。路由協(xié)議是解決網(wǎng)絡(luò)生命周期最大化問(wèn)題中需要考慮的一個(gè)關(guān)鍵因素[7]。因此,拋開(kāi)網(wǎng)絡(luò)層次的獨(dú)立性,使路由算法和密鑰管理有效結(jié)合,即將網(wǎng)絡(luò)層間關(guān)系引入到網(wǎng)絡(luò)協(xié)議中完成密鑰管理的跨層設(shè)計(jì)[8],能更有效地協(xié)調(diào)能量平衡,節(jié)省節(jié)點(diǎn)物理資源,提高網(wǎng)絡(luò)生命周期。無(wú)線傳感網(wǎng)跨層技術(shù)研究最多的領(lǐng)域是無(wú)線傳感網(wǎng)的路由協(xié)議[9],將跨層引入到無(wú)線傳感網(wǎng)密鑰管理中的研究[10-14]相對(duì)較少。文獻(xiàn)[10]利用路由樹(shù)和密鑰分配樹(shù),建立了Ad hoc網(wǎng)絡(luò)組播通信時(shí)密鑰更新所產(chǎn)生的能耗優(yōu)化公式,強(qiáng)調(diào)了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和密鑰分配對(duì)網(wǎng)絡(luò)能耗的影響,為無(wú)線組播下能量有效的密鑰管理提供了跨層設(shè)計(jì)方法,并對(duì)不同路由算法下的密鑰管理方案的性能進(jìn)行了對(duì)比。文獻(xiàn)[11]提出了路由驅(qū)動(dòng)下的密鑰管理方案,打破了以往為所有鄰居節(jié)點(diǎn)間建立共享密鑰的方式,將網(wǎng)絡(luò)層和應(yīng)用層有效地結(jié)合起來(lái),方案中僅為彼此通信的鄰居節(jié)點(diǎn)間建立共享密鑰,較其他密鑰管理方案相比,極大地減少了通信耗費(fèi)、存儲(chǔ)空間和能量耗費(fèi)。文獻(xiàn)[12]研究了密鑰生成協(xié)議和配置無(wú)線傳感網(wǎng)的簇協(xié)議間的性能變化,基于簇協(xié)議的狀態(tài)控制機(jī)制,為安全鏈路的選擇提出了直接式、反應(yīng)式和主動(dòng)式3種方法,采用密鑰預(yù)分配和橢圓曲線Diffie-Hellman公鑰加密2種方式,設(shè)計(jì)了跨層密鑰管理協(xié)議,實(shí)驗(yàn)表明,該協(xié)議的網(wǎng)絡(luò)連通性、總能量消耗和抗毀性都優(yōu)于給定網(wǎng)絡(luò)配置參數(shù)的密鑰預(yù)分配協(xié)議。文獻(xiàn)[13]提出的跨層技術(shù)是將物理層和應(yīng)用層結(jié)合起來(lái),即將物理層無(wú)線衰減通道提取的密鑰和應(yīng)用層異或(exclusive OR,XOR)編碼建立密鑰,通過(guò)密鑰協(xié)商生成通信密鑰,該方案克服了以往密鑰建立的缺點(diǎn),且為密鑰產(chǎn)生率提供了靈活的解決方法。文獻(xiàn)[14]提出了基于多項(xiàng)式和時(shí)間部署的密鑰管理方案,將媒體訪問(wèn)控制(media access control,MAC)層的包接收率和包發(fā)送率的比率與隊(duì)列長(zhǎng)度結(jié)合,實(shí)現(xiàn)了MAC層和路由層的跨層設(shè)計(jì),該方案提高了網(wǎng)絡(luò)負(fù)載能力,保證了傳感器節(jié)點(diǎn)間的高連通性,提高了節(jié)點(diǎn)抗捕獲能力,有效地減少了節(jié)點(diǎn)存儲(chǔ)耗費(fèi)。
異構(gòu)傳感網(wǎng)中越接近簇頭的節(jié)點(diǎn),其通信轉(zhuǎn)發(fā)的幾率越高,節(jié)點(diǎn)能量消耗越快,節(jié)點(diǎn)能量一旦耗盡,則節(jié)點(diǎn)死亡。以上基于跨層技術(shù)實(shí)現(xiàn)的密鑰管理方案,都是通過(guò)層間協(xié)作減少能量消耗,并沒(méi)有考慮到能量耗費(fèi)的均衡問(wèn)題。均勻使用節(jié)點(diǎn)進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),可有效地提高網(wǎng)絡(luò)生命周期。針對(duì)上述密鑰管理方案存在的節(jié)點(diǎn)能量耗費(fèi)不均問(wèn)題,本文提出了一個(gè)能量均衡的跨層密鑰管理方案,通過(guò)節(jié)點(diǎn)能量、節(jié)點(diǎn)度、節(jié)點(diǎn)位置等參數(shù)確定鄰居節(jié)點(diǎn)中下一跳通信節(jié)點(diǎn)的選擇,在此路由基礎(chǔ)上建立通信節(jié)點(diǎn)間的密鑰關(guān)系,所提方案即保證了無(wú)線傳感網(wǎng)的安全,又均衡了節(jié)點(diǎn)的能量消耗,有效延長(zhǎng)了異構(gòu)傳感網(wǎng)生命周期。
在無(wú)線傳感網(wǎng)構(gòu)建階段,隨機(jī)部署大量低性能傳感器和少量高性能傳感器。本文基于如下假設(shè)建立異構(gòu)傳感網(wǎng)模型。異構(gòu)傳感器網(wǎng)絡(luò)是由sink節(jié)點(diǎn)、簇頭節(jié)點(diǎn)和簇節(jié)點(diǎn)組成的層簇式傳感器網(wǎng)絡(luò),結(jié)構(gòu)如圖1所示。
圖1 層簇式異構(gòu)傳感器網(wǎng)絡(luò)Fig.1 Layer-cluster heterogeneous wireless sensor networks
其中,sink節(jié)點(diǎn)不會(huì)被敵手捕獲,其作用是用來(lái)接收監(jiān)控端數(shù)據(jù)進(jìn)行處理或者通過(guò)其他網(wǎng)絡(luò)結(jié)構(gòu)傳遞給上層處理器;簇頭節(jié)點(diǎn)是由具有大電池容量、寬通信半徑和高處理能力的高性能傳感器承擔(dān),節(jié)點(diǎn)內(nèi)設(shè)有防篡改硬件保護(hù)裝置[11],敵對(duì)方不能獲取其密鑰材料;簇節(jié)點(diǎn)由低性能傳感器組成,其能量、處理能力有限,位于傳感網(wǎng)終端,負(fù)責(zé)采集數(shù)據(jù)并傳輸給簇頭節(jié)點(diǎn),具有全方位天線,能全方向地傳輸數(shù)據(jù)。異構(gòu)傳感器網(wǎng)絡(luò)是靜態(tài)網(wǎng)絡(luò)結(jié)構(gòu),一經(jīng)部署,網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)位置不再發(fā)生變化,每個(gè)傳感器節(jié)點(diǎn)既是感知節(jié)點(diǎn)又是傳輸節(jié)點(diǎn),可以通過(guò)全球定位系統(tǒng)或者定位算法確定位置。傳感器節(jié)點(diǎn)能夠通過(guò)調(diào)整發(fā)射功率,改變傳輸距離[15]。
在層簇式的異構(gòu)傳感器網(wǎng)絡(luò)中,簇節(jié)點(diǎn)需將采集到的數(shù)據(jù)匯聚到簇頭,再由簇頭最終傳遞給sink節(jié)點(diǎn)。在這種多對(duì)一的通信方式下,簇節(jié)點(diǎn)僅與同簇路由上的鄰居節(jié)點(diǎn)通信,由此,僅為路由上的通信節(jié)點(diǎn)間建立共享密鑰可以有效地節(jié)省密鑰存儲(chǔ)空間。本文在設(shè)計(jì)傳感網(wǎng)密鑰管理方案之前,先構(gòu)建基于簇的能量平衡路由算法。
在隨機(jī)布撒傳感器節(jié)點(diǎn)的過(guò)程中,不考慮網(wǎng)絡(luò)覆蓋問(wèn)題,假設(shè)高、低性能傳感器能均勻布撒在待監(jiān)測(cè)區(qū)域。在簇結(jié)構(gòu)初始化期間,以簇頭為中心,將異構(gòu)傳感網(wǎng)劃分為不同的簇。初始化簇結(jié)構(gòu)是將區(qū)域內(nèi)原本無(wú)關(guān)的傳感器節(jié)點(diǎn)之間的層簇關(guān)系建立起來(lái),形成層簇結(jié)構(gòu)的異構(gòu)傳感器網(wǎng)絡(luò)。為簡(jiǎn)化簇結(jié)構(gòu)初始化過(guò)程,本文利用文獻(xiàn)[16]提出的方法生成簇,簇頭節(jié)點(diǎn)H廣播包含自己ID和位置信息Loc的初始化消息,可表示為
(1)
基于簇的異構(gòu)傳感網(wǎng)路由結(jié)構(gòu)分為簇內(nèi)路由和簇間路由。簇內(nèi)路由是指同一簇內(nèi)的下一跳節(jié)點(diǎn)的選擇,簇間路由是簇頭節(jié)點(diǎn)將數(shù)據(jù)傳輸給sink節(jié)點(diǎn)的過(guò)程中下一跳簇頭的選擇。
2.2.1 基本定義
定義1鄰居節(jié)點(diǎn) 位于同一個(gè)簇(CH)內(nèi)的傳感器節(jié)點(diǎn)U和V,兩節(jié)點(diǎn)間的距離為d(U,V),U的通信半徑為r。如果節(jié)點(diǎn)V在U的一跳通信范圍內(nèi),則稱V是U的鄰居節(jié)點(diǎn)。U的所有鄰居節(jié)點(diǎn)構(gòu)成的集合記為
Neb(U)={V|d(U,V)≤r,U,V∈CH}
(2)
定義2前向鄰居節(jié)點(diǎn) 如果V是U的鄰居節(jié)點(diǎn),且它與簇頭節(jié)點(diǎn)H的距離小于U與簇頭節(jié)點(diǎn)H的距離,則稱V是U的前向鄰居節(jié)點(diǎn),U的所有前向鄰居節(jié)點(diǎn)構(gòu)成的集合記為
FwNeb(U)=
{V|V∈Neb(U)∪d(V,H)≤d(U,H)}
(3)
圖2中,實(shí)線圓內(nèi)區(qū)域代表節(jié)點(diǎn)U的通信區(qū)間,U的最大傳輸距離為r,虛線大圓是以簇頭節(jié)點(diǎn)H為圓心,H與U的距離d為半徑的圓,兩圓相交于A、B兩點(diǎn)??梢钥闯?扇形區(qū)域內(nèi)的節(jié)點(diǎn)即是節(jié)點(diǎn)U的前向鄰居節(jié)點(diǎn)。
圖2 簇內(nèi)節(jié)點(diǎn)結(jié)構(gòu)Fig.2 Node structure in the cluster
定義3前向區(qū)間 前向鄰居節(jié)點(diǎn)所在的區(qū)域范圍,稱節(jié)點(diǎn)的前向區(qū)間。如圖2的扇形區(qū)間即為節(jié)點(diǎn)U的前向區(qū)間,用FW表示。
cosθ=r/2d,θ=arccos(r/2d)
(4)
由θ值可以確定U的前向區(qū)間面積SFW為
(5)
假設(shè)異構(gòu)傳感網(wǎng)的節(jié)點(diǎn)符合均勻分布,簇內(nèi)節(jié)點(diǎn)個(gè)數(shù)為N,則節(jié)點(diǎn)密度ρ的值為
ρ=N/πR2
(6)
那么U的前向區(qū)間中節(jié)點(diǎn)個(gè)數(shù)NFW的值為
NFW=SFWρ=Nr2arccos(r/2d)/(180R2)
(7)
2.2.2 簇內(nèi)路由
在簇節(jié)點(diǎn)的前向區(qū)間內(nèi)選取下一跳節(jié)點(diǎn),能使數(shù)據(jù)更快地到達(dá)簇頭節(jié)點(diǎn)。簇節(jié)點(diǎn)是低性能節(jié)點(diǎn),其能量有限,為延長(zhǎng)簇的生命周期,在設(shè)計(jì)路由算法時(shí),需考慮簇節(jié)點(diǎn)能量的均衡消耗。對(duì)文獻(xiàn)[17]提出的方案進(jìn)行改進(jìn),從能量均衡的角度設(shè)計(jì)了簇內(nèi)路由算法。
設(shè)節(jié)點(diǎn)U有NFW個(gè)前向鄰居節(jié)點(diǎn)V1,V2,…,Vi,…,VNFW,節(jié)點(diǎn)Vi(1≤i≤NFW)的4個(gè)參數(shù),即剩余能量、節(jié)點(diǎn)度、UVi與UH的夾角及Vi與U的距離,分別表示為REi、DGi、βi和ri,其中節(jié)點(diǎn)度是指鄰居節(jié)點(diǎn)個(gè)數(shù)。前向鄰居節(jié)點(diǎn)Vi的Fi值表示為
0≤βi≤θ, 0≤ri≤r, 1≤i≤NFW
(8)
式中,ω1、ω2、ω3和ω4代表REi、DGi、βi和ri的權(quán)重,其值由異構(gòu)傳感器網(wǎng)絡(luò)的不同需求來(lái)確定,最終選擇Fi值最大的節(jié)點(diǎn)作為節(jié)點(diǎn)U的下一跳節(jié)點(diǎn)。如果下一跳節(jié)點(diǎn)中有關(guān)鍵節(jié)點(diǎn),則只在關(guān)鍵節(jié)點(diǎn)中選擇Fi值最大的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。如果U本身就是關(guān)鍵節(jié)點(diǎn),則簇頭節(jié)點(diǎn)即為下一跳節(jié)點(diǎn)。設(shè)F為所有Fi的最大值,即
(9)
能量均衡的簇內(nèi)路由算法流程如圖3所示。
圖3 簇內(nèi)路由算法流程圖Fig.3 Routing algorithm in the cluster flow chart
由式(8)可以看出,當(dāng)兩個(gè)節(jié)點(diǎn)的REi、DGi、βi的值相同的情況下,ri越小,Fi越大,其意義在于當(dāng)其他條件相同的情況下,選擇距離簇頭節(jié)點(diǎn)近的節(jié)點(diǎn),可以更快地將數(shù)據(jù)傳輸?shù)酱仡^。由圖2可以看出,Vi和Vj的β值相同,節(jié)點(diǎn)U經(jīng)過(guò)節(jié)點(diǎn)Vj到達(dá)簇頭H的距離大于經(jīng)過(guò)節(jié)點(diǎn)Vi到達(dá)簇頭H的距離。由于控制節(jié)點(diǎn)的發(fā)射功率可以調(diào)整傳輸距離[15],以節(jié)省節(jié)點(diǎn)能量,因此從總能量消耗角度看,下一跳節(jié)點(diǎn)選擇Vi更有利于能量的節(jié)省。對(duì)路由算法進(jìn)行改進(jìn),縮短了數(shù)據(jù)從源節(jié)點(diǎn)到簇頭節(jié)點(diǎn)的傳輸距離,從而減少了簇內(nèi)節(jié)點(diǎn)總能量的消耗,并達(dá)到了能量均衡的效果。
2.2.3 簇間路由
由于簇頭節(jié)點(diǎn)物理資源充足,本文采用貪心法[11]處理簇間路由算法,即每個(gè)簇頭節(jié)點(diǎn)選擇鄰居節(jié)點(diǎn)中距離sink節(jié)點(diǎn)最近的簇頭作為下一跳節(jié)點(diǎn),重復(fù)該過(guò)程,最終將數(shù)據(jù)傳輸?shù)絪ink節(jié)點(diǎn)。
當(dāng)無(wú)線傳感網(wǎng)部署在敵對(duì)環(huán)境下,節(jié)點(diǎn)數(shù)據(jù)很容易被竊取或篡改。在通信節(jié)點(diǎn)間建立共享密鑰,用來(lái)對(duì)傳輸數(shù)據(jù)進(jìn)行加解密,來(lái)保證數(shù)據(jù)安全,是密鑰管理方案設(shè)計(jì)的核心?,F(xiàn)有的無(wú)線傳感網(wǎng)密鑰管理方案可以分為基于對(duì)稱密碼體制和基于公鑰密碼體制兩種。受傳感器節(jié)點(diǎn)能量、計(jì)算性能和存儲(chǔ)空間等性能的限制,無(wú)線傳感網(wǎng)密鑰管理多是基于對(duì)稱密碼體制的研究。相比較而言,公鑰密碼體制會(huì)引起大量的計(jì)算和通信耗費(fèi),曾被認(rèn)為不適合資源受限的無(wú)線傳感網(wǎng)的密鑰管理。隨著傳感器技術(shù)的發(fā)展及輕量級(jí)公鑰加密算法的改進(jìn),基于公鑰密碼體制的無(wú)線傳感網(wǎng)密鑰管理的研究也越來(lái)越受到關(guān)注[11,18-19]。
1985年,Kobltitz和Miller將橢圓曲線引入密碼學(xué),提出了基于橢圓曲線的公鑰密碼機(jī)制(elliptic curves cryptography, ECC),其安全性基于橢圓曲線上離散對(duì)數(shù)問(wèn)題的安全性,160位的ECC密鑰就可以達(dá)到RSA密鑰1 024位的安全水平[18]。由于ECC具有密鑰短且安全性高等輕量級(jí)特性,已有更多的研究[11,19]將橢圓曲線密碼ECC用于無(wú)線傳感網(wǎng)的密鑰管理中??紤]到ECC的輕量級(jí)特性,本文異構(gòu)傳感網(wǎng)密鑰管理方案采用ECC確定節(jié)點(diǎn)的公私鑰對(duì)。
由第2節(jié)可知,簇結(jié)構(gòu)是在部署傳感器節(jié)點(diǎn)后,根據(jù)節(jié)點(diǎn)位置來(lái)確定的。節(jié)點(diǎn)和節(jié)點(diǎn)之間的路由關(guān)系,由源節(jié)點(diǎn)前向區(qū)間的節(jié)點(diǎn)剩余能量、節(jié)點(diǎn)度等4個(gè)參數(shù)來(lái)確定,因此每一次數(shù)據(jù)傳輸,都需要重新選擇下一跳節(jié)點(diǎn)。采用基于對(duì)稱密碼算法設(shè)計(jì)的密鑰預(yù)分配協(xié)議,無(wú)法保證兩節(jié)點(diǎn)間密鑰連通性達(dá)到100%。在第2.2節(jié)設(shè)計(jì)的路由算法基礎(chǔ)上,構(gòu)造了一個(gè)基于ECC的跨層密鑰預(yù)分配方案,該方案與能量平衡的路由協(xié)議有效結(jié)合,最大限度地延長(zhǎng)了異構(gòu)傳感網(wǎng)的生命周期。
在異構(gòu)傳感網(wǎng)部署之前,可信機(jī)構(gòu)利用ECC為傳感器節(jié)點(diǎn)(簇節(jié)點(diǎn)和簇頭節(jié)點(diǎn))產(chǎn)生公私鑰對(duì)。簇頭節(jié)點(diǎn)具有抗篡改性,為節(jié)省存儲(chǔ)空間、簡(jiǎn)化設(shè)計(jì)思想,方案中所有簇頭節(jié)點(diǎn)共用同一公私鑰對(duì)。公私鑰對(duì)初始存儲(chǔ)情況如下:簇節(jié)點(diǎn)存儲(chǔ)自己的公私鑰對(duì)(PuK和PrK)和簇頭節(jié)點(diǎn)的公鑰UK;簇頭節(jié)點(diǎn)存儲(chǔ)空間足夠大,存儲(chǔ)自己的公私鑰對(duì)(UK和RK)和所有簇節(jié)點(diǎn)的ID和對(duì)應(yīng)的公鑰PuK。
3.1.1 安全機(jī)制的簇結(jié)構(gòu)初始化
假設(shè)異構(gòu)傳感網(wǎng)部署初期,即簇結(jié)構(gòu)生成期間,網(wǎng)絡(luò)狀態(tài)是安全的,無(wú)需考慮數(shù)據(jù)安全問(wèn)題。確定了簇頭的簇節(jié)點(diǎn)需將包含其ID和地址Loc的消息告知簇頭,該節(jié)點(diǎn)先采用橢圓曲線數(shù)字簽名算法(elliptic curve digital signature,ECDS)[20]對(duì)該消息簽名,并將簽名加載在消息后面,一同發(fā)送給簇頭。本文采用貪心法[11]實(shí)現(xiàn)消息的傳遞,即節(jié)點(diǎn)將帶有數(shù)字簽名的消息發(fā)送給距離簇頭最近的簇節(jié)點(diǎn),下一個(gè)節(jié)點(diǎn)采用同樣的方法,直到數(shù)據(jù)到達(dá)簇頭。經(jīng)過(guò)一段時(shí)間,簇頭節(jié)點(diǎn)獲得了大部分簇節(jié)點(diǎn)的消息,簇頭利用預(yù)存的簇節(jié)點(diǎn)的公鑰,對(duì)收到的消息進(jìn)行確認(rèn),最終將不屬于本簇的節(jié)點(diǎn)信息刪除。
3.1.2 簇內(nèi)節(jié)點(diǎn)的會(huì)話密鑰建立
異構(gòu)傳感網(wǎng)的簇結(jié)構(gòu)生成后,簇(頭)節(jié)點(diǎn)的PuK、ID和Loc是一一對(duì)應(yīng)的。簇頭節(jié)點(diǎn)首先采用ECDS算法,用它的私鑰為存儲(chǔ)在其中的簇節(jié)點(diǎn)的PuK、ID和Loc進(jìn)行簽名,簽名表示為SignRK(PuK∥ID∥Loc),并將其發(fā)送給相應(yīng)的簇節(jié)點(diǎn)。經(jīng)過(guò)一段時(shí)間后,每個(gè)簇節(jié)點(diǎn)內(nèi)都保存了簇節(jié)點(diǎn)信息及其簽名。
異構(gòu)傳感網(wǎng)工作期間,簇內(nèi)節(jié)點(diǎn)間的會(huì)話密鑰建立過(guò)程如下:
步驟1簇節(jié)點(diǎn)U準(zhǔn)備發(fā)送采集的數(shù)據(jù)時(shí),首先以廣播的形式發(fā)出請(qǐng)求,內(nèi)容包括請(qǐng)求消息、簇節(jié)點(diǎn)PuK、ID、Loc和其簽名,可表示為
U→*: LocU,SignRK(PuKU∥IDU∥LocU)> (10) 步驟2接收到節(jié)點(diǎn)U廣播消息的簇節(jié)點(diǎn)Vi,由于預(yù)存儲(chǔ)了簇頭節(jié)點(diǎn)的公鑰,對(duì)節(jié)點(diǎn)U的PuK、ID和Loc進(jìn)行簽名驗(yàn)證。如果驗(yàn)證通過(guò),Vi根據(jù)簇頭節(jié)點(diǎn)的位置信息,由式(5)確定自己是否屬于節(jié)點(diǎn)U的前向鄰居。如是其前向鄰居,則利用式(8)獲得它對(duì)應(yīng)的Fi值。 步驟3Vi將本節(jié)點(diǎn)基本信息及其簽名、Fi及其用Vi私鑰的簽名,傳給節(jié)點(diǎn)U,可表示為 Vi→U: IDVi, LocVi, SignRK(PuKVi∥IDVi∥LocVi)> (11) 步驟4U接到Vi發(fā)來(lái)的信息后,驗(yàn)證Vi的基本信息,再用Vi的公鑰進(jìn)一步驗(yàn)證Fi值。然后選擇前向鄰居節(jié)點(diǎn)中Fi值最大的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),此時(shí)源節(jié)點(diǎn)U和目的節(jié)點(diǎn)Vi都擁有了對(duì)方的公鑰(PuKVi,PuKU)。 步驟5利用Deffie-Hellman原理,將自身節(jié)點(diǎn)私鑰和對(duì)方節(jié)點(diǎn)公鑰相乘,作為雙方安全通信的會(huì)話密鑰。即,U和Vi分別計(jì)算 KUVi=PrKU·PuKVi,KViU=PrKVi·PuKU 設(shè)E是有限域Zq上的橢圓曲線,α是E上階足夠大的點(diǎn),可知 KUVi=PrKU·PuKVi=PrKU·(PrKVi·a) (12) 式中,PrKU和PuKVi分別是U和Vi的私鑰和公鑰,a是生成元。 KViU=PrKVi·PuKU=PrKVi·(PrKU·a) (13) 由于PrKU·PuKVi=PrKVi·PuKU,因此KUVi=KViU。 自此,節(jié)點(diǎn)U和Vi就協(xié)商生成了會(huì)話密鑰(KUVi=KViU),其將作為對(duì)稱加密算法的密鑰對(duì)通信數(shù)據(jù)進(jìn)行加密,達(dá)到了減少通信耗費(fèi)的目的。一次U和Vi間的安全通信過(guò)程如圖4所示。 圖4 會(huì)話密鑰建立過(guò)程Fig.4 Process of session key establishment 可信機(jī)構(gòu)將沒(méi)分配的公私鑰對(duì)分配給新節(jié)點(diǎn)W,并用簇頭節(jié)點(diǎn)的私鑰對(duì)該節(jié)點(diǎn)ID和公鑰PuK進(jìn)行簽名,連同簇頭節(jié)點(diǎn)公鑰預(yù)置在新節(jié)點(diǎn)中。當(dāng)新節(jié)點(diǎn)W隨機(jī)部署到異構(gòu)傳感網(wǎng)中,首先發(fā)送一條尋找簇頭的廣播消息,數(shù)據(jù)格式為 W→*: SignRK(IDW‖PuKW)> (14) 接收到該消息的節(jié)點(diǎn)U首先通過(guò)簽名驗(yàn)證該節(jié)點(diǎn)的合法性和數(shù)據(jù)的完整性,然后,U需將所在簇的簇頭ID和地址Loc發(fā)送給W,為避免消息被篡改,傳輸數(shù)據(jù)格式為 U→W: ‖PuKU), IDH, LocH, SignPrKU(IDH‖LocH)> (15) 即將被簇頭簽名的源節(jié)點(diǎn)的ID、地址Loc和公鑰PuK及簇頭的ID、地址Loc和它的源節(jié)點(diǎn)簽名一起傳遞給W。W先用預(yù)存的簇頭公鑰驗(yàn)證源節(jié)點(diǎn)的公鑰,然后用源節(jié)點(diǎn)的公鑰驗(yàn)證簇頭的ID和地址Loc。如果節(jié)點(diǎn)W收到多個(gè)節(jié)點(diǎn)發(fā)送的簇頭信息,則存儲(chǔ)最先獲得的簇頭信息,后面的簇頭信息做備份。 新節(jié)點(diǎn)工作期間,如需將自己的地址信息告知對(duì)方,由于存儲(chǔ)的簇頭簽名中沒(méi)有地址信息,為防止地址信息被篡改,要用自己的私鑰對(duì)位置信息簽名,然后與其ID、PuK和簇頭對(duì)ID和PuK的簽名一起發(fā)送,數(shù)據(jù)格式為 W→*: LocW, SignPrKW(LocW)> (16) 假設(shè)妥協(xié)節(jié)點(diǎn)能被簇頭檢測(cè)出來(lái),則簇頭節(jié)點(diǎn)廣播一條撤銷消息,該消息包括妥協(xié)節(jié)點(diǎn)ID及簇頭的簽名。簇內(nèi)節(jié)點(diǎn)通過(guò)存儲(chǔ)的簇頭公鑰驗(yàn)證消息的真實(shí)性,一旦確認(rèn)消息來(lái)自簇頭,則記錄妥協(xié)節(jié)點(diǎn)ID。之后,一旦有該妥協(xié)節(jié)點(diǎn)發(fā)來(lái)的消息,則拒絕接收。 基于對(duì)稱密碼算法的密鑰預(yù)分配方案,是將密鑰預(yù)分配給節(jié)點(diǎn)或利用某種密鑰生成材料為節(jié)點(diǎn)生成密鑰,然后采取某種方案確定兩個(gè)節(jié)點(diǎn)間的會(huì)話密鑰。這種方案的密鑰高連通率往往需要以存儲(chǔ)空間為代價(jià)[5],且容易造成連通性越高,抗毀性越差。本文所提的跨層密鑰管理方案利用橢圓曲線Diffie-Hellman(elliptic curves Diffie-Hellman,ECDH)算法為無(wú)線傳感網(wǎng)路由上的有通信需求的鄰居節(jié)點(diǎn)建立會(huì)話密鑰,因此密鑰連通率達(dá)到100%。 本文方案是利用Deffie-Hellman原理為節(jié)點(diǎn)U和V之間生成會(huì)話密鑰,然后利用該會(huì)話密鑰采用某種對(duì)稱加密算法實(shí)現(xiàn)節(jié)點(diǎn)間的安全通信。針對(duì)Deffie-Hellman協(xié)議的攻擊者,其攻擊手段包括主動(dòng)攻擊和被動(dòng)攻擊。對(duì)稱密鑰管理方案中,通過(guò)抗毀性來(lái)判斷兩節(jié)點(diǎn)的妥協(xié)對(duì)其他節(jié)點(diǎn)安全通信的影響。因此,抗毀性、主動(dòng)攻擊和被動(dòng)攻擊3個(gè)方面分析方案的安全性,由于篇幅有限,這里只對(duì)被動(dòng)攻擊的安全性進(jìn)行了形式化分析。 4.2.1 抗毀性分析 本文所提密鑰管理方案是為具有動(dòng)態(tài)路由關(guān)系的2個(gè)通信節(jié)點(diǎn)建立會(huì)話密鑰,該會(huì)話密鑰由通信雙方公私鑰決定的,由于節(jié)點(diǎn)預(yù)分配的公私鑰不同,每一對(duì)通信節(jié)點(diǎn)之間的會(huì)話密鑰也都不同,因此某個(gè)節(jié)點(diǎn)的妥協(xié)并不影響到其他節(jié)點(diǎn)間的通信安全。 4.2.2 被動(dòng)攻擊下的安全性分析 本方案密鑰協(xié)商的安全性是基于橢圓曲線確定性Deffie-Hellman(elliptic curve decisional Deffie-Hellman,ECDDH)假設(shè)。下面對(duì)被動(dòng)攻擊下本方案中的Deffie-Hellman密鑰協(xié)商過(guò)程的安全性進(jìn)行分析。 E是有限域Zq上的橢圓曲線,q是大于3的素?cái)?shù),G是E的一個(gè)循環(huán)子群,α是G的生成元,o是α的階,Q是概率多項(xiàng)式時(shí)間(probabilistic polynomial-time, PPT)敵手。 定義4[20]ECDDH問(wèn)題 給定p1,p2∈G,1≤k1,k2≤o,Q是一個(gè)PPT,如果p1=α·k1,p2=α·k2,那么α·k1·k2=p1·k2=p2·k1。ECDDH問(wèn)題是指,是否有一個(gè)p∈G,使得 |Pr[Q(G,q,α,α·k1,α·k2,α·k1·k2)=1] -Pr[Q(G,q,α,α·k1,α·k2,p)=1]|≤ε (17) 式中,ε是任意小的數(shù)。 定義5被動(dòng)攻擊安全模型 設(shè)Π是密鑰交換協(xié)議,η是安全參數(shù),Q是一個(gè)PPT敵手。假設(shè)存在一個(gè)以公共參數(shù)(G,q,α,PuKU,PuKV)和sk為輸入,隨機(jī)數(shù)為輸出的PPT算法RND??紤]如下挑戰(zhàn)者與敵手之間的游戲,記為EXQ,Π(η)。 初始化給定的安全參數(shù)η及隨機(jī)數(shù)b∈{0,1},雙方持有1η執(zhí)行協(xié)議Π。敵手獲得公開(kāi)信息G,q,α,PuKU,PuKV和sk。 學(xué)習(xí)階段如果b=0,則sk=KUV;如果b=1,選擇算法RND生成sk=p。 最后,敵手輸出b′∈{0,1},停止訪問(wèn)。 結(jié)束如果b=b′,輸出1,否則輸出0。 如果EXQ,Π(η)=1,敵手獲勝。 密鑰協(xié)商協(xié)議Π面對(duì)竊聽(tīng)者是安全的,對(duì)于任意PPT敵手Q,如果存在一個(gè)可忽略函數(shù)Neg,有 (18) 定理1如果ECDDH問(wèn)題是困難的,那么密鑰交換協(xié)議面對(duì)被動(dòng)攻擊的PPT敵手Q是安全的。 證明因?yàn)镻r[b=0]=Pr[b=1]=1/2,則 Pr[EXQ,Π(η)=1]= -Pr[Q(G,q,α,PuKU,PuKV,KUV)=1])≤ -Pr[Q(G,q,α,PuKU,PuKV,KUV)=1] | (19) 式中,G,q,α,PuKU,PuKV為敵手Q獲得的公開(kāi)信息。 如果ECDDH假設(shè)是困難的,則有一個(gè)可忽略的函數(shù)Neg,有 |Pr[Q(G,q,α,PuKU,PuKV,p)=1] - Pr[Q(G,q,α,PuKU,PuKV,KUV)=1] |≤Neg(η) (20) 因此,由式(19)~式(20)可得 (21) 式中,Q是一個(gè)被動(dòng)攻擊的PPT敵手;Π是密鑰交換協(xié)議;η是安全參數(shù);Neg是可忽略函數(shù)。 因此,根據(jù)定義5可以判斷,被動(dòng)攻擊下,該密鑰交換協(xié)議是安全的。 4.2.3 主動(dòng)攻擊下的安全性分析 由于沒(méi)有認(rèn)證功能,Deffie-Hellman協(xié)議不能抵抗中間人攻擊。為了防止中間人攔截并篡改信息,所提方案增加了認(rèn)證功能。簇頭為每一個(gè)簇內(nèi)節(jié)點(diǎn)的ID、位置和公鑰生成了一個(gè)簽名,由于節(jié)點(diǎn)預(yù)存了簇頭節(jié)點(diǎn)的公鑰,當(dāng)節(jié)點(diǎn)將數(shù)據(jù)傳輸給另一個(gè)節(jié)點(diǎn)時(shí),同時(shí)也將簽名發(fā)送給對(duì)方。接收節(jié)點(diǎn)可以利用簇頭的公鑰對(duì)節(jié)點(diǎn)信息進(jìn)行驗(yàn)證,有效地防止了中間人攻擊下的信息篡改,保證了數(shù)據(jù)的完整性。 在異構(gòu)傳感網(wǎng)的簇結(jié)構(gòu)中,簇頭節(jié)點(diǎn)是高性能節(jié)點(diǎn),假設(shè)其計(jì)算資源足夠大,因此只對(duì)低性能的簇節(jié)點(diǎn)的計(jì)算耗費(fèi)進(jìn)行分析。如圖4所示,在節(jié)點(diǎn)間的一次安全通信建立過(guò)程中,簇節(jié)點(diǎn)的路由選擇和密鑰協(xié)商是同時(shí)進(jìn)行的,其中的耗能運(yùn)算主要是ECC中的密碼運(yùn)算,包括EEC的點(diǎn)乘運(yùn)算、ECC公鑰簽名運(yùn)算和ECC簽名驗(yàn)證運(yùn)算,分別用C(Mul)、C(Sign)和C(Ver)表示其計(jì)算耗費(fèi)。 具體地,簇節(jié)點(diǎn)U在下一跳路由節(jié)點(diǎn)選擇時(shí),需要對(duì)NFW個(gè)前向節(jié)點(diǎn)發(fā)來(lái)信息進(jìn)行驗(yàn)證,由式(11),將分別進(jìn)行2次簽名(簇頭簽名、前向鄰居節(jié)點(diǎn)簽名)驗(yàn)證,此計(jì)算耗費(fèi)為2NFW·C(Ver);U在與下一跳節(jié)點(diǎn)進(jìn)行會(huì)話密鑰協(xié)商時(shí),需要進(jìn)行一次ECC點(diǎn)乘運(yùn)算,由式(12),此計(jì)算耗費(fèi)為C(Mul);同時(shí),U也將作為其前向節(jié)點(diǎn)的路由對(duì)象,所以其還將進(jìn)行NFW次簽名運(yùn)算,此計(jì)算耗費(fèi)為NFW·C(Sign)。因此,本方案中簇節(jié)點(diǎn)總計(jì)算耗費(fèi)C的值為 C≈NFW·C(Sign)+2NFW·C(Ver)+C(Mul) (22) 式中,NFW是指前向鄰居節(jié)點(diǎn)個(gè)數(shù),Sign、Ver和Mul分別表示ECC中的簽名、驗(yàn)證和點(diǎn)乘操作。 本方案與文獻(xiàn)[11]所提方案所需的存儲(chǔ)空間進(jìn)行對(duì)比分析,過(guò)程如下。異構(gòu)網(wǎng)中部署了m個(gè)高性能節(jié)點(diǎn)和n個(gè)低性能節(jié)點(diǎn),其中n要遠(yuǎn)大于m。在所提方案中,網(wǎng)絡(luò)部署之前,低性能節(jié)點(diǎn)預(yù)置一對(duì)公私鑰對(duì)和高性能節(jié)點(diǎn)的公鑰,則n個(gè)低性能節(jié)點(diǎn)共存儲(chǔ)了3n個(gè)密鑰。高性能節(jié)點(diǎn)除了存儲(chǔ)自己的公私鑰對(duì)外,還存儲(chǔ)了所有低性能節(jié)點(diǎn)的公鑰,則m個(gè)節(jié)點(diǎn)共存儲(chǔ)了(2+n)m個(gè)密鑰。則異構(gòu)網(wǎng)中所有節(jié)點(diǎn)的密鑰存儲(chǔ)總數(shù)3n+(2+n)m。在始化部署確定了簇結(jié)構(gòu)后,簇頭節(jié)點(diǎn)把不屬于本簇的節(jié)點(diǎn)公鑰刪除,僅保留簇內(nèi)節(jié)點(diǎn)的公鑰。此時(shí),網(wǎng)內(nèi)節(jié)點(diǎn)的密鑰總數(shù)為3n+2m+n=4n+2m。文獻(xiàn)[11]提出的集中式ECC和分布式ECC兩種密鑰管理方案,所需的密鑰個(gè)數(shù)分別是 (m+2)n+3m和2n+3m。部署初期,將本文方案與上述兩方案的密鑰存儲(chǔ)空間進(jìn)行對(duì)比,由于n值要遠(yuǎn)大于m,本文方案密鑰存儲(chǔ)耗費(fèi)要大于文獻(xiàn)[5]所提方案。簇結(jié)構(gòu)確定后,本文方案與文獻(xiàn)[5]對(duì)比可知,當(dāng)m的個(gè)數(shù)大于1時(shí),本文方案優(yōu)于文獻(xiàn)[11]的集中式ECC密鑰管理方案,但高于文獻(xiàn)[11]的分布式ECC密鑰管理方案。假設(shè)異構(gòu)網(wǎng)絡(luò)部署中高低性能節(jié)點(diǎn)個(gè)數(shù)比例為1∶50,本文方案與文獻(xiàn)[11]所需密鑰個(gè)數(shù)對(duì)比如圖5所示。 圖5 與文獻(xiàn)[5]方案密鑰存儲(chǔ)對(duì)比圖Fig.5 Contrast with key storage of scheme of Ref.[5] 本文方案存儲(chǔ)需求始終高于分布式ECC方案,節(jié)點(diǎn)數(shù)量不足100時(shí),如圖5(a)所示,本文方案所需存儲(chǔ)空間高于集中式ECC方案,但當(dāng)節(jié)點(diǎn)數(shù)量超過(guò)100時(shí),如圖5(b)所示,簇形成后所需的密鑰存儲(chǔ)空間介于集中式ECC密鑰管理方案和分布式ECC密鑰管理方案之間。 傳感網(wǎng)中數(shù)據(jù)傳輸是節(jié)點(diǎn)能量消耗的主要因素[21],第4章只對(duì)方案中節(jié)點(diǎn)發(fā)送和接受數(shù)據(jù)所消耗的能量進(jìn)行分析。對(duì)計(jì)算和消息處理時(shí)的能耗忽略不計(jì)。由文獻(xiàn)[21]提出的能量消耗模型可知,兩節(jié)點(diǎn)間發(fā)送數(shù)據(jù),節(jié)點(diǎn)能耗與發(fā)送數(shù)據(jù)大小和兩節(jié)點(diǎn)間距離有關(guān)。節(jié)點(diǎn)發(fā)送數(shù)據(jù)的能耗Et可表示為 (23) 式中,Ee是發(fā)送電路損耗能量;Ea是發(fā)送放大電路能耗;dij是源節(jié)點(diǎn)i和目的節(jié)點(diǎn)j的距離;k是發(fā)送數(shù)據(jù)大小。 節(jié)點(diǎn)接收數(shù)據(jù)的能耗Er表示為 Er=k·Ee (24) 用Et和Er表示簇節(jié)點(diǎn)發(fā)送和接收數(shù)據(jù)時(shí)產(chǎn)生的能耗。由于簇頭節(jié)點(diǎn)能量資源不受限制,簇頭能耗不作分析。簇結(jié)構(gòu)建立初期,每一個(gè)簇節(jié)點(diǎn)確定了所在簇后,需要將節(jié)點(diǎn)信息及其簽名發(fā)送給簇頭,此時(shí)發(fā)送數(shù)據(jù)大小為k=568b,能耗為1Et。簇頭接收到簇內(nèi)各節(jié)點(diǎn)信息后,用私鑰對(duì)簇節(jié)點(diǎn)公鑰等信息進(jìn)行簽名,然后將該簽名發(fā)送簇內(nèi)各個(gè)節(jié)點(diǎn),簇節(jié)點(diǎn)接收該消息,此時(shí)能耗為1Er。簇節(jié)點(diǎn)工作期間,需廣播其地址、公鑰等信息及其簽名,此時(shí)能耗為1Et,前向區(qū)間節(jié)點(diǎn)計(jì)算出本節(jié)點(diǎn)的F值,并將F連同該節(jié)點(diǎn)基本信息及他們的簽名傳給該簇節(jié)點(diǎn),簇節(jié)點(diǎn)接收能耗為2NFWEr,NFW為前向區(qū)間節(jié)點(diǎn)個(gè)數(shù),dij的最大取值為r。由此,節(jié)點(diǎn)與通信節(jié)點(diǎn)建立共享密鑰過(guò)程中所需能耗為 E=2Et+(1+2NFW)Er (25) 由式(7)、式(23)~式(25),可得 (26) 參數(shù)如表2取值,式(26)可得 E=28.4(3+2Nr2cos-1(r/2d)/(180R2))+0.113 6r2 (27) 設(shè)簇頭半徑R和簇節(jié)點(diǎn)半徑r分別取值200和50,dij的最大取值為r。令簇內(nèi)節(jié)點(diǎn)個(gè)數(shù)N在100到200內(nèi)變化,節(jié)點(diǎn)距離簇頭越近,即d值越小,其前向區(qū)間越小,則耗能越小,與文獻(xiàn)[5]方案能耗對(duì)比如圖6所示。 圖6 與文獻(xiàn)[5]方案能耗對(duì)比圖Fig.6 Compare with energy consumption of Ref. [5] 但在這種情況下,前向區(qū)間的變化不是很大,因此能耗相差也不是很大,如圖6(a)所示。簇頭半徑R為200,簇節(jié)點(diǎn)通信半徑r分別取值50和100,簇內(nèi)節(jié)點(diǎn)個(gè)數(shù)N從100遞增到200,增量為10。由于前向區(qū)間變大,前向鄰居節(jié)點(diǎn)數(shù)目增多,節(jié)點(diǎn)耗能也隨之增加??梢钥闯?節(jié)點(diǎn)半徑的變化對(duì)于能耗的影響較大,如圖6(b)所示。 在文獻(xiàn)[5]的分布式ECC密鑰管理方案中,節(jié)點(diǎn)需將帶簽名的地址信息傳給簇頭,此時(shí)能量耗費(fèi)為1Et,當(dāng)簇頭節(jié)點(diǎn)確定了樹(shù)形結(jié)構(gòu),要將該結(jié)構(gòu)及公鑰簽名一起發(fā)給簇節(jié)點(diǎn),此時(shí)簇節(jié)點(diǎn)能耗為1Er。簇節(jié)點(diǎn)要與鄰居節(jié)點(diǎn)交換帶簽名的公鑰,設(shè)鄰居節(jié)點(diǎn)個(gè)數(shù)NFW最少2個(gè),最多有Nr2/R2個(gè)。此時(shí)最小能耗Et+2Er,最大耗費(fèi)為Et+Nr2/R2Er。由此,節(jié)點(diǎn)與通信節(jié)點(diǎn)建立共享密鑰過(guò)程中的能耗為 (28) 由式(23)和式(24),可得 (29) 由表2可得 (30) 由圖6可以看出,節(jié)點(diǎn)數(shù)目相同的情況下,對(duì)于建立節(jié)點(diǎn)共享密鑰過(guò)程中的能耗,所提方案介乎文獻(xiàn)[5]方案鄰居節(jié)點(diǎn)最少和最多2種情況之間。 考慮到異構(gòu)傳感網(wǎng)中受限的傳感器能量資源,為均衡節(jié)點(diǎn)能量,延長(zhǎng)網(wǎng)絡(luò)生命周期,提出了一個(gè)能量平衡的跨層密鑰管理方案。方案在保證能量平衡的基礎(chǔ)上建立了異構(gòu)傳感網(wǎng)的動(dòng)態(tài)路由算法,基于動(dòng)態(tài)路由確定了節(jié)點(diǎn)間安全通信的會(huì)話密鑰,從而實(shí)現(xiàn)了密鑰管理的跨層設(shè)計(jì)。該方案有效地保證了節(jié)點(diǎn)間的連通性和安全性。分析結(jié)果表明,本文所提方案比文獻(xiàn)[5]提出的集中式ECC密鑰管理方案更節(jié)省存儲(chǔ)空間,保證了傳感網(wǎng)能量平衡的同時(shí),節(jié)點(diǎn)能耗在一定程度上優(yōu)于文獻(xiàn)[5]的跨層密鑰管理方案。3.2 新節(jié)點(diǎn)的加入
4 性能分析
4.1 連通性分析
4.2 安全性分析
4.3 復(fù)雜性分析
4.4 存儲(chǔ)性分析
4.5 能耗分析
5 結(jié) 論