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