王騏+王青萍
摘 要:在無線傳感器網(wǎng)絡(luò)中,加密和認(rèn)證是維護(hù)節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間通信安全的常用手段。但由于電池容量和計(jì)算開銷等方面的局限性,僅通過對節(jié)點(diǎn)進(jìn)行加密和認(rèn)證還無法將安全威脅等級維持在同一級別,不足以應(yīng)對威脅等級不斷變化的情形。文中提出了一種基于威脅等級來調(diào)整安全屬性的遺傳算法,它根據(jù)匯聚節(jié)點(diǎn)感知到的威脅等級,通過認(rèn)證和加密的動態(tài)轉(zhuǎn)換實(shí)現(xiàn)安全屬性的自適應(yīng)調(diào)整,改善了現(xiàn)有的安全防范方式。仿真表明,這種新方法使威脅等級和安全屬性相匹配,既提高了通信的安全性,也改善了傳感器節(jié)點(diǎn)的能效。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);安全威脅等級;自適應(yīng);適應(yīng)度;遺傳算法;仿真
中圖分類號:TN918;TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)03-00-02
0 引 言
加密和認(rèn)證是無線傳感器網(wǎng)絡(luò)安全中常用的防范手段,但由于電池容量和計(jì)算開銷等方面存在局限,僅通過對節(jié)點(diǎn)進(jìn)行加密和認(rèn)證,雖然可以應(yīng)對安全威脅等級保持不變的情形,但是當(dāng)威脅等級不斷變化時,如果加密和認(rèn)證功能太弱,則可能威脅到通信安全,如果太強(qiáng)則增加能耗。因此需要根據(jù)威脅等級對安全屬性(即加密和認(rèn)證)進(jìn)行動態(tài)調(diào)整,使二者相互匹配,既保證通信安全,又不額外增加能量消耗。
本文提出了一種基于威脅等級來調(diào)整安全屬性的遺傳算法,它根據(jù)匯聚節(jié)點(diǎn)感知到的威脅等級,通過認(rèn)證和加密的動態(tài)轉(zhuǎn)換,實(shí)現(xiàn)安全屬性的自適應(yīng)調(diào)整,改善了現(xiàn)有的安全防范方式。
1 遺傳算法中安全節(jié)點(diǎn)適應(yīng)度函數(shù)SNF的構(gòu)建
在遺傳算法的應(yīng)用中,需要對適應(yīng)度函數(shù)進(jìn)行評估,從而決定啟用傳感器節(jié)點(diǎn)安全要素的最佳時機(jī)。當(dāng)通信數(shù)據(jù)的完整性受到威脅時,安全節(jié)點(diǎn)適應(yīng)度(Secure Node Fitness,SNF)支持啟用節(jié)點(diǎn)的安全元素。匯聚節(jié)點(diǎn)會持續(xù)跟蹤特定路徑上的所有不規(guī)范數(shù)據(jù)包。如果路徑(簇頭節(jié)點(diǎn)→匯聚節(jié)點(diǎn))傳輸“錯誤的數(shù)據(jù)包”或“重發(fā)的數(shù)據(jù)包”,將會受到懲罰。SNF表示為:
其中,λ1+λ2=1,λ2是加密的“貢獻(xiàn)獎勵”,R表示路由總數(shù)量,θi表示路由i受到的威脅等級(由匯聚節(jié)點(diǎn)計(jì)算),Ki表示路由i上開啟認(rèn)證和加密的節(jié)點(diǎn)數(shù)量,N表示路由i上節(jié)點(diǎn)的總數(shù)量。如果路由i上節(jié)點(diǎn)n開啟認(rèn)證,那么Iin=1,否則Iin=0。Fin(·)表示在路由j上的節(jié)點(diǎn)i開啟接入控制而產(chǎn)生的懲罰函數(shù),函數(shù)中的Q和ψ分別表示電池的量化等級和使用率。
2 啟用安全屬性的遺傳算法
主密鑰MK可導(dǎo)出對稱加密密鑰Kencr、消息認(rèn)證密鑰Kauth,并生成偽隨機(jī)數(shù)密鑰Krand。這些導(dǎo)出的密鑰可以根據(jù)匯聚節(jié)點(diǎn)的需求任意改變。主密鑰由節(jié)點(diǎn)和匯聚節(jié)點(diǎn)共享,是節(jié)點(diǎn)-匯聚節(jié)點(diǎn)之間信息傳遞的唯一密鑰。偽隨機(jī)數(shù)由導(dǎo)出密鑰Krand和計(jì)數(shù)器C共同產(chǎn)生,為避免受到“明文”攻擊,在信息被加密之前插入此偽隨機(jī)數(shù)。
節(jié)點(diǎn)間的通信密鑰INCK由兩個節(jié)點(diǎn)共享,并對兩個節(jié)點(diǎn)之間傳輸?shù)男畔⑦M(jìn)行認(rèn)證,認(rèn)證密鑰為INCKmac。匯聚節(jié)點(diǎn)根據(jù)路由的層次結(jié)構(gòu),以及應(yīng)用于端口0和1的MAC密鑰INCK0mac和INCK1mac為參與信息認(rèn)證的每個簇間路由器ICR(或簇頭節(jié)點(diǎn)CH)提供一種封裝的通信密鑰INCK,即INCK={(INCK0mac),(INCK1mac)}。每個節(jié)點(diǎn)根據(jù)自身的Kencr(由主密鑰導(dǎo)出)對封裝的數(shù)據(jù)包進(jìn)行解密,并提取出INCK。與SPIN協(xié)議相似的是,算法采用“計(jì)數(shù)器模式分組密碼”進(jìn)行加密/解密,并采用“CBC-MAC”模式認(rèn)證。
每個傳感器節(jié)點(diǎn)的安全策略用兩位二進(jìn)制數(shù)表示,這些安全策略形成染色體串,即節(jié)點(diǎn)。定義為:(e1a1a2…aN)1(e1a1a2…aN)2…(e1a1a2…aN)R。其中,(e1a1a2…aN)i表示路由i上節(jié)點(diǎn)n的安全屬性(en&an),en和ai分別表示加密位和認(rèn)證位。通過設(shè)置en=1,就可以對CH的數(shù)據(jù)進(jìn)行加密。根據(jù)以上原理,圖1中安全屬性染色體=11011,節(jié)點(diǎn)2在端口0處不需要信息認(rèn)證,但是在端口1處需要,因此INCK1mac2=INCK0mac3。匯聚節(jié)點(diǎn)在ICR和CH端口處生成INCK密鑰,啟動基于安全屬性染色體(遺傳算法產(chǎn)生)的認(rèn)證過程如圖1所示。
算法流程如圖2所示。產(chǎn)生初始種群的染色體串一部分由隨機(jī)數(shù)發(fā)生器(RNG)產(chǎn)生,另一部分則由以前的種群樣本產(chǎn)生。算法采用“標(biāo)準(zhǔn)加權(quán)輪盤”方式,選擇n個染色體串投入到“配對庫”中,以“交叉概率”產(chǎn)生N個染色體。染色體繁殖期間,多個交叉點(diǎn)的位置由隨機(jī)數(shù)發(fā)生器(RNG)計(jì)算產(chǎn)生。變異時將生成的N個染色體放入突變庫,突變算子根據(jù)自適應(yīng)突變概率(與平均適應(yīng)度成反比)使其發(fā)生突變,采用類似拋硬幣的方式來決定是否要將比特位進(jìn)行逆變處理(即0→1,1→0)。在選擇階段,根據(jù)適應(yīng)度值,從N+n個(n個雙親,N個孩子)染色體中選取n個染色體延續(xù)到下一代。比較每一次迭代得到的最優(yōu)適應(yīng)度,如果最大適應(yīng)度值和平均適應(yīng)度值變化不大、趨于穩(wěn)定,那么此適應(yīng)度值即為近似全局最優(yōu)解。
3 仿真與分析
仿真的實(shí)驗(yàn)場景由100個節(jié)點(diǎn)組成,這些節(jié)點(diǎn)隨機(jī)分布在30×30的區(qū)間內(nèi),每個節(jié)點(diǎn)具有唯一的UUID,隨機(jī)分配量化值為0~15之間的電池容量,坐標(biāo)介于(0,0)~(30,30)之間,覆蓋范圍為3×3。GA運(yùn)行時的交叉率為60%,初始變異率為6%。實(shí)驗(yàn)?zāi)M匯聚節(jié)點(diǎn)的運(yùn)行,NS-2軟件模擬網(wǎng)絡(luò)流量。
根據(jù)匯聚節(jié)點(diǎn)感知到的威脅等級,通過認(rèn)證和加密的動態(tài)轉(zhuǎn)換,改善已有的安全防范方式,如圖3所示。在基于威脅等級調(diào)整安全屬性的過程中,由于計(jì)算開銷和處理數(shù)據(jù)包頭部的開銷均有所降低,安全節(jié)點(diǎn)的能耗也降低,這在一定程度上有效促進(jìn)了電池的使用,最大限度地減少了異常節(jié)點(diǎn)帶來的不利影響。
4 結(jié) 語
本文提出了一種基于威脅等級來調(diào)整安全屬性的遺傳算法,它根據(jù)匯聚節(jié)點(diǎn)感知到的威脅等級,通過認(rèn)證和加密的動態(tài)轉(zhuǎn)換實(shí)現(xiàn)安全屬性的自適應(yīng)調(diào)整,使威脅等級和安全屬性相互匹配,此舉既提高了通信的安全性,也有利于改善傳感器節(jié)點(diǎn)的能效。
參考文獻(xiàn)
[1]陳淵,葉清,李墨泚.無線傳感器網(wǎng)絡(luò)中基于身份的加密算法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(12):302-304.
[2]梅園.無線傳感網(wǎng)絡(luò)加密通信優(yōu)化算法的研究與仿真[J].計(jì)算機(jī)仿真,2012,29(7):195-198.
[3]王月嬌,孫達(dá)志.無線傳感器網(wǎng)絡(luò)中基于密碼hash函數(shù)認(rèn)證協(xié)議[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(2):430-434.
[4]陳子平,錢松榮.一種適用于無線傳感器網(wǎng)絡(luò)的安全認(rèn)證方案[J].計(jì)算機(jī)工程,2013,39(7):173-176.
[5]郭江鴻,馬建峰,張留美,等.高效的無線傳感器網(wǎng)絡(luò)加密數(shù)據(jù)匯聚方案[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,40(3):95-101.
[6] A. Perrig, R. Szewczyk, V. Wen, et al. SPINS:Security protocols for wireless sensor networks[J].Wireless networks,2001,8(5):189-199.
[7]張潔.幾種優(yōu)化網(wǎng)格算法在智能集裝箱中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2015,5(3):85-87.
[8]王超梁,張宏亮,周鵬.基于改進(jìn)演化算法的自適應(yīng)醫(yī)學(xué)圖像多模態(tài)校準(zhǔn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(12):99-101.