王騏+王青萍



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