刘润泽
一次偶然的机会,我在军事杂志上看到有关“猛禽”战斗机的介绍,得知它如此强悍是由于在机身配备了无线传感器网络(简称WSN),自此我对WSN产生了浓厚的兴趣。
在老师的指导下,我逐渐了解了WSN的内涵,尤其是WSN中假包注入攻击引起了我的关注。假包注入攻击是指,WSN通常被部署在无人地带,攻击者可截取传感器并伪造假冒事件,意图欺骗终端用户。
通过查阅文献得知,研究者针对该问题做了一些识别假包的研究,在识别概率上取得了不错的效果。但在大多数算法中,假包须在发送路径中传输很远的距离后才能被识别,从而造成能量浪费。有专家提出,利用对称密钥技术识别假包的办法(下文简称SEF)在包中加入验证码,由中间节点验证。有的专家则提出利用上游节点加密、下游节点验证的协作方法,还有的专家提出利用多条路径同时转发验证的思想以适应网络结构变化。
我提出一种基于双重加密的假包识别方案DFR,在节点间建立关联,以形成密集认证区域,并将密钥与所在簇捆绑,然后由转发节点对两类MAC以及位置关系进行校验,从而提高识别概率,并有效检测由不同区域被俘节点共同伪造的假包。
一、DFR算法概述
1.秘密信息分配及產生数据
节点撒下之前,预先通过机器人将一个密钥分组分发给节点。密钥服务器共包含n个分组,称为R类密钥。节点撒下后自动组织成团,责任节点聚集团内节点信息,生成初始包hi:(z , head , c1 ,c2 , ... , cz)。其中z为始值,等于团内节点数量的计数器。
接下来,责任节点将hi消息向目的地发送。每个节点收到hi消息后,将其中最末的数据删除并记录,该节点与被删节点形成对偶节点。同时,将节点ID插入hi消息中,z减小1,变为零终止。对偶节点通过交换密钥共享密钥对,该类密钥叫A类密钥。最后,责任节点收集团内节点两类密钥,并发送给目标节点。
如果区域内有事情发生,责任节点联合其他团内节点一起产生数据,数据中要加上每个团内节点的两类验证码,共T个节点。形成的数据格式如下:
report:{C;event;R1,MR1; ...;RT,MRT; A1,MAC1;...; AT,MACT}.
2.假包识别
一方面,中间的传感器如果碰巧预先存储了与数据中相同的一个R类密钥,那么能以一定的几率对假包进行识别;另一方面,“混合验证区”传感器存储了与组内节点商定的密钥,也能对假包进行第二层识别。中途节点接收到数据后,识别步骤如图1所示。
(1) 先查验数据中有没有T个{Rk,MRk}和{Ak,MACk},如果没有包含上述元素,说明是敌对者构造的假包,节点将它扔掉。
(2) 再查验数据中R类密钥是否属于不同的组,如果没有包含这类密钥,节点将它扔掉。
(3) 利用存储的R类密钥重新产生验证码并验证数据中的验证码,验证通过便转发,否则将它扔掉。
(4) 利用存储的A类密钥重新产生验证码并验证数据中的验证码,验证通过便转发,否则将它扔掉。
(5) 若上述验证都通过,转发数据到下一个传感器。
3.仿真实验
为进一步检验DFR方案的性能,本文利用C++语言建立了模拟仿真平台。
我将实验区域设置为20×20m2,通信距离和感应距离分别为2m、5m,密钥组为10个,传感器发包的间隔为2s,共发包16个。
通过仿真实验数据,从图2得出,随着传输跳数的增大,SEF和DFR的识别概率都增大。这是因为SEF和DFR中每个转发节点都能以一定概率对假包进行检验,因此,随着传输跳数增大,识别概率也相应增大。
在此,以Nc=2为例进行分析,可以看到,当传输跳数h=1时,SEF和DFR的识别概率分别为0.0 517和0.3 672。当传输跳数h=3时,SEF和DFR的识别概率分别为0.1 493和1。h大于3时DFR的识别概率已经为1,而SEF在h=19时识别概率才0.6 426,显然DFR的识别能力强于SEF。
从图中还可以看到,随着被俘节点的增多,DFR与SEF识别假包的概率均有所降低,但SEF方案降低程度更明显,而且对于DFR方案,只要被俘节点不超过组内节点数,它的识别概率均为1。显然,DFR方案在妥协节点较多时比SEF方案优势更明显。
二、结论
传感器网络是一些先进设备的核心智能技术,是物联网的重要组成部分。本文针对敌对者通过截取传感器伪造假包的行为进行研究,在已有算法的基础上,通过构造混合验证区,可以快速提高识别假包的能力。
本文提出的算法也是基于对称密钥的技术,这种技术虽然容易在传感器上实现,但安全性不够,因此,今后我将继续研究安全性更强的假包识别技术。