一种基于安全威胁等级的自适应遗传算法
扫描二维码
随时随地手机看文章
引 言
加密和认证是无线传感器网络安全中常用的防范手段, 但由于电池容量和计算开销等方面存在局限,仅通过对节点进行加密和认证,虽然可以应对安全威胁等级保持不变的情形,但是当威胁等级不断变化时,如果加密和认证功能太弱, 则可能威胁到通信安全,如果太强则增加能耗。因此需要根据威胁等级对安全属性(即加密和认证)进行动态调整,使二者相互匹配,既保证通信安全,又不额外增加能量消耗。
本文提出了一种基于威胁等级来调整安全属性的遗传算法,它根据汇聚节点感知到的威胁等级,通过认证和加密的动态转换,实现安全属性的自适应调整,改善了现有的安全防范方式。
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个节点组成,这些节点随机分布在 3030的区间内,每个节点具有唯一的UUID,随机分配量化值为 0 ~15 之间的电池容量,坐标介于(0,0)~(30, 30)之间,覆盖范围为 3 3。GA 运行时的交叉率为 60%,初始变异率为 6%。实验模拟汇聚节点的运行,NS-2 软件模拟网络流量。
根据汇聚节点感知到的威胁等级,通过认证和加密的动态转换,改善已有的安全防范方式,如图 3 所示。在基于威 胁等级调整安全属性的过程中,由于计算开销和处理数据包 头部的开销均有所降低,安全节点的能耗也降低,这在一定 程度上有效促进了电池的使用,最大限度地减少了异常节点带 来的不利影响。
4 结 语
本文提出了一种基于威胁等级来调整安全属性的遗传算 法,它根据汇聚节点感知到的威胁等级,通过认证和加密的 动态转换实现安全属性的自适应调整,使威胁等级和安全属 性相互匹配,此举既提高了通信的安全性,也有利于改善传 感器节点的能效。