王骐+王青萍
摘 要:在无线传感器网络中,加密和认证是维护节点和汇聚节点之间通信安全的常用手段。但由于电池容量和计算开销等方面的局限性,仅通过对节点进行加密和认证还无法将安全威胁等级维持在同一级别,不足以应对威胁等级不断变化的情形。文中提出了一种基于威胁等级来调整安全属性的遗传算法,它根据汇聚节点感知到的威胁等级,通过认证和加密的动态转换实现安全属性的自适应调整,改善了现有的安全防范方式。仿真表明,这种新方法使威胁等级和安全属性相匹配,既提高了通信的安全性,也改善了传感器节点的能效。
关键词:无线传感器网络;安全威胁等级;自适应;适应度;遗传算法;仿真
中图分类号: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.