无线传感器网络中基于层次式标记的溯源追踪方法
2019-04-28杨钢
文/杨钢
1 无线传感器网络的安全概述
因为无线传感器网络的在生活中的各个领域都有着广泛的应用前景,所以在生活受到了人们的关注。在现在的军事等一些对数据的保密性要求很高的领域中也使用无线传感器网络技术。在这些领域中,收集处理的数据需要保密,不能让不相关的人员也收集到这些数据,比如说军事战争中,如果信息数据被敌方知道,可能就导致一场战争的失败。因此对于这些领域WSN是否安全对于整个应用都是很重要的。但是由于网络中的节点大量的部署、节点之间通过无线的方式通信和传感器节点的一些限制,使得无线传感器网络极易受到外人的攻击,因此,对于无线传感器网络的安全性的研究和探索一直是现在科研领域中的一个热点。
2 系统模型
2.1 攻击模型
如图1所示是本章考虑的攻击场景,就是攻击者向网络发起虚假数据注入的攻击。恶意节点就是攻击者用来攻击网络的节点,恶意节点向汇聚节点上发送很多虚假的数据包。在虚假数据包传输的路径上有一个合谋节点,此节点就是为了隐藏恶意节点,合谋恶意节点使对网络的攻击达到最大化,所以被称为合谋节点。
2.2 网络模型
假设汇聚节点是一个资源无限大,能力无限强的节点,无线传感器网络中有的节点是可信的,被用来对其他节点发送的数据进行收集和处理,这个节点就是因为虚假数据注入而受到伤害的。在本文中,我们假定节点在布置后就不再移动,当节点周围发生一些事件时,传感器节点会对这个事件生成一个表现事件的数据包,并通过无线网络把数据包传输给汇聚节点。
网络中的每一个节点有拥有一个独一无二的ID,每个节点都用密钥加密数据和产生一个自己的匿名ID,在汇聚节点中有一个用来查找匿名ID到节点ID的查找表。
3 无线传感器网络中基于层次式标记的恶意节点追踪方法
3.1 层次式拓扑结构
如图2所示为系统层次式拓扑结构。先把整个无线传感器网络的所有区域以一条平行的线和一条垂直的线等分成四分,同时对被均分的四份进行编号,左上的为00,右上的为01,左下的为10,右下的为11。然后继续把每个部分再以此方法等分成四份,继续编号,并以此方法继续运行,直到每个区域中最后有一个节点后停止运行,在运行结束后每个传感器节点都拥有一个与别的节点不同的区域编号。例在图2中所示的节点L的区域编码为001111。然后对节点所在的最小的区域成为第0层,第0层的上一层节点的对应区域称之为第1层,以此类推,相当于域位串树结构一样,第0层相当于叶子节点。如图3所示。
3.2 标记方法
数据包所在的层次:当数据包在网络中传输时,当前数据包所在的节点所在的区域的层次。
Fi(N):指i节点用其独有的密钥对数据N进行加密处理。
层次式标记方法数据包格式如下:
N j Q|FQ(N) Q|FP(N)
其中N代表的是原始数据的内容,数据包前所在的层次用j表示,Q代表的当前所在层次中第一个转发此数据包的节点,P代表的是j-1层中第一个转发此数据包的节点。其中第三个域和第四个域中的初始值是0。
图1:虚假数据注入攻击示意图
节点会对周围的数据加工成一个数据包,当数据包发送之前,令j等于0,然后节点对原始数据进行加密,并把节点自己的域位串和加密过的数据一起填写在第三个域中,同时不改变第四个域中的值。然后数据包继续传输,当节点i收到上一个节点传输过来的数据包时,节点i先计算数据包当前所在的层次,当所在的层次与上一个节点所在的层次相同时,节点i不对数据包进行处理,直接转发包;如果不处在同一个层次,节点将利用算法计算层次同时把层次填写到j域中,然后把数据包中的Q|FQ(N)域中的数据覆盖到P|FP(N)中,然后节点计算自己的i|Fi(N),并把i|Fi(N)填写在Q|FQ(N)域中。通过这种标记方法可以把数据包传输的每一层中第一个转发的节点的数据和上一层第一个转发的节点的数据标记在包头中。
图2:层次式拓扑结构
图3:层次式拓扑结构对应的域位串树
3.3 安全性分析
恶意节点发动的攻击可以分为以下五种情况:
(1)恶意节点按照正常的标记方法来填写各个域中的数据;
(2)恶意节点随意的填写各个域中的数据;
(3)恶意节点对j中的值填写一个非0的值,其他域中的数据正常填写;
(4)恶意节点对j中的值填写一个非0的值,同时正常填写Q|FQ(N)域中的数据并加工创造P|FP(N)域中的数据;
(5)恶意节点对j中的值填写一个非0的值,在Q|FQ(N)域和P|FP(N)域中添加一些经过加工的数据。
针对上面的五种情况,层次式追踪方案有着以下的处理方案:
(1)当恶意节点正常填写域中的数据时,追踪程序就按照溯源追踪方案一样一层层追踪下去,当转发节点在层次1中同时追踪的数据包中的j为0时,将恶意节点定位到转发节点的一步邻居节点中;
(2)如果恶意节点随意填写域中的数据时,在层次1中的转发节点检测时,Q|FQ(N)域中将出错,因此将恶意节点定位到转发节点的一步邻居节点中;
(3)如果恶意节点对j随意设置,而其他两个域中数据正常填写时,当层次1中的转发节点检测时,Q|FQ(N)域中不会出错,但是检测到P|FP(N)域中的数据不为初始值,但是j不等于0,所以恶意节点就为节点Q;
(4)如果出现第四种情况,当层次1中的转发节点检测时,Q|FQ(N)域中的数据是正确的,但是P|FP(N)域检测出错,所以将恶意节点定位到转发节点的一步邻居节点中;
(5)如果出现第五种情况,当层次1中的转发节点检测时,Q|FQ(N)域中的数据检测会出错,所以将恶意节点定位到转发节点的一步邻居节点中。
4 结语
近些年来,国内外提出了很多关于无线传感器网络的定位算法,每一种算法都有其各自的特点。对于精度比较高的算法,通信开销和收敛速度等方面可能就会有所下降,采用硬件测距可以提高定位精度,但同时会增加传感器节点的成本,根据具体业务的需要定位算法的条件和要求会有所不同。无线传感器网络中距离无关的分布式定位算法可满足大多数应用的要求,是目前重点关注的定位机制。本文介绍了利用交叠换思想定位节点的分布式定位算法ROCRSSI,和N-hop multilateration算法以及Robust positioning算法。