基于RSSI 的无线传感器网络迭代安全定位算法*
2015-03-26刘宏立
罗 臻,刘宏立,徐 琨
(湖南大学 电气与信息工程学院,湖南 长沙410082)
0 引 言
无线传感器网络(WSNs)广泛应用于环境监测、军事监视等领域[1],但大多数应用中,无线传感器网络被部署在无人值守甚至恶意危险环境中,在这样的条件下,必须考虑网络的安全性问题,以确保网络的正常运行。
传感器节点的位置对于大多数无线传感器网络是十分重要的[2]。当无线传感器网络被部署在恶意危险的环境中时,攻击者可能通过干扰信号或俘获一些锚节点来对定位过程进行攻击,使得其他节点不能准确地估计它们的位置。不正确的位置可能会导致严重的后果,因此,确保传感器位置的正确性是很重要的。所以,在考虑定位精度的同时,也需要考虑定位过程的安全性。近年来,研究者已经提出了很多安全定位算法,如基于位置验证的安全定位、ESLS、基于稳健性计算的安全定位等[3~11]。
基于接收信号强度指示(RSSI)的定位方法,由于不需要额外的硬件资源,是无线传感器网络中最可行的方法之一[12]。但是现有的方法大多假设传感器网络被部署在非攻击的环境中,而且对算法的评估仍停留在仿真的层面上,没有考虑算法应用的实际环境,无法验证算法的实际可行性。德州仪器公司设计的基于Zig Bee 的CC2430 无线收发芯片,提供了基于RSSI 的定位引擎,单个芯片的通信半径达到30 ~35 m。本文设计了基于RSSI 的安全定位算法,并采用CC2430 无线节点硬件平台进行了大量的实验,通过对实验数据的分析验证了算法的可行性。
1 问题描述
在描述安全定位过程之前首先描述无线传感器网络的定位过程。传感器网络通常包含有两种类型的节点:普通节点和信标节点(锚节点)。普通节点不知道自己的位置,而锚节点知道自己的位置,那么,定位过程就是要估算普通节点的位置。这样的过程可以分为两个步骤,如图1 所示。
图1 定位流程图Fig 1 Localization process
1)信息收集:收集定位信息,其中可以包括网络连通性、节点之间的距离和角度、锚节点的位置以及普通节点的初步估计位置等。相邻节点之间的距离可以通过RSSI、到达时间(TOA)或者到达时间差(TDOA)来测量;多跳节点之间的距离可以通过DV-Hop 或者DV-Distance 来测量;角度可以通过到达角(AOA)来测量。
2)位置计算:普通节点的位置通过收集到的信息计算出来。简单的定位算法包括三边定位法、多边定位法以及三角定位法等。更复杂的定位算法有MDS-MAP 算法、LMS算法、投票算法等。
安全定位的提出是为了解决当前定位系统的不安全性和脆弱性。大多数当前的定位系统都明确或隐形地假定网络被部署在可信的环境中,在这样的环境下,普通节点可以获得正确的距离或其他信息。然而,在现实中,环境中的攻击者可能会有意妨碍定位过程。攻击者可能会俘获一些锚节点,也可能会拦截、干扰、修改或重放数据包,这样,未知节点估计的位置将严重偏离真实位置。安全定位就是为了解决这些漏洞,使定位过程在存在攻击的条件下也能正常进行。
2 基于RSSI 的安全定位方法
在实验中使用的基本定位方法为梯度下降法,并结合离群检测技术来滤除具有攻击性的RSSI 数据[13]。
2.1 梯度下降法
通过锚节点的位置来估计未知节点的位置,数学上就是计算一组方程的解。最简单的定位算法是如图2 所示的三边定位法。
图2 三边定位法示意图Fig 2 Diagram of trilateration method
如果锚节点数量继续增多,三边定位法就演变成多边定位法,给定多个已知锚节点的位置Mi=(xi,yi),未知节点的位置P=(ux,uy)可以通过求解下面的方程组获得
此方程组是关于节点位置(ux,uy)的超定方程组,其最小二乘解可以通过梯度下降法迭代求得,设
求其梯度,得
其中,γ(k)为第k 次迭代的步长。
2.2 离群检测
为了模拟存在攻击的环境,刻意在某些节点之间设置具有吸收功能的障碍物,以此削弱信号强度,此时未知节点接收到的RSSI 值比真实的RSSI 值要小。如果在定位过程中,未知节点依然使用这些具有攻击性的RSSI 数据,那么,定位结果将会偏离节点的真实位置,使得定位误差明显增大。为了节点能够滤除这些具有攻击性的RSSI 数据,本文对上面提出的梯度下降法进行了研究和分析,发现在式(3)中,梯度g(k)由n 个分量gi(k)相加而成,这里的n 刚好是锚节点的数量,所以,不难想象每个锚节点发送的信息对应一个分量gi(k),总的梯度g(k)就是由n 个锚节点发送的信息共同组成。进一步观察发现,随着迭代次数的增加,恶意锚节点所发送信息(即具有攻击性的RSSI 数据)产生的gi(k)分量模值比正常锚节点所发送信息产生的分量模值明显偏大,利用这一点就可以滤除掉具有攻击性的RSSI 数据。
3 算法仿真与实验
实验中,10 个锚节点如图3 所示放置。分析了在5 个不同位置(A ~E)的实验结果,并与仿真结果作了比较。未知节点从每个锚节点获取100 个RSSI 数据,其中,锚节点5,7,8 为恶意锚节点。
图3 实验环境与节点分布示意图Fig 3 Diagram of experimental environment and nodes distribution
表1 列出了节点A 到所有锚节点的真实距离和测量距离,其中斜线加粗部分为对恶意锚节点的测量结果,从表中可明显看出:对正常锚节点的测量结果在误差允许范围内,而对恶意锚节点的测量结果误差很大。
表1 节点A 测距结果Tab 1 Ranging results of node A
收集完距离信息以后,使用梯度下降法并结合离群检测技术来估计节点A 的位置,并与仿真结果比较。仿真中,测量噪声是均值为0,方差为1 的高斯噪声,攻击模型采用文献[13]中的独立攻击模型。仿真结果为500 次实验的平均值。
图4 示出了节点A 的定位结果。从图中可以看到:测量得到的位置和仿真结果都分布在真实位置的周围,且误差基本一致。同时,用传统的多边定位算法对节点A 进行了定位,由于存在恶意锚节点的影响,定位结果与真实位置相距甚远,已无法在图中标示出来。由于节点A 位于坐标中央,具有一定的特殊性,接下来,对节点B,C,D,E 作了同样的实验。
图4 节点A 定位结果Fig 4 Positioning result of node A
表2 和图5 分别示出了节点B 的测距结果和定位结果。可以看到,节点B 的平均测距误差比节点A 的平均测距误差大0.2 m 左右,定位误差比节点A 大0.5 m 左右,测量得到的位置和仿真结果基本一致。
表3 示出了节点C 的测距结果,其定位结果如图6 所示。从图4 ~图6 中可以看出:在基于RSSI 测距技术的条件下,梯度下降法结合离群检测技术可以很好地滤除恶意锚节点的影响,从而对未知节点进行准确定位。在平均测距误差为0.7 m 时,定位误差大概为1 m。而传统的多边定位算法在存在恶意锚节点的情况下不能对未知节点进行准确定位。节点D 和节点E 的情况类似于节点B 和节点C,由于篇幅受限,这里不再列出其测距结果和定位结果。
表2 节点B 测距结果Tab 2 Ranging results of node B
图5 节点B 定位结果Fig 5 Positioning result of node B
表3 节点C 测距结果Tab 3 Ranging results of node C
图6 节点C 定位结果Fig 6 Positioning result of node C
4 结束语
针对RSSI 测距技术,本文提出了一种梯度下降法结合离群检测技术的安全定位算法,然后使用基于Zig Bee 的CC2430 射频芯片对该算法进行了实验测试并与仿真结果作了比较。对实验数据的研究分析表明:该算法在存在恶意锚节点的实际环境中,依然能对未知节点进行准确定位,当平均测距误差为0.7 m 时,定位误差为1 m 左右。
[1] Dong B,Mahdy A M.Underwater wireless sensor networks:Efficient schemes using semidefinite programming[J].International Journal on Advances in Networks and Services,2010,3(1):186-195.
[2] Adel G A E,Hussein A E,Salwa E R,et al.An energy aware WSNs geographic routing protocol[J].Universal Journal of Computer Science and Engineering Technology,2010,1(2):105-111.
[3] He D,Cui L,Huang H,et al.Design and verification of enhanced secure localization scheme in wireless sensor networks[J].IEEE Transactions on Parallel and Distributed Systems,2009,20(7):1050-1058.
[4] Jian L,Yang Z,Liu Y.Beyond triangle inequality:Sifting noisy and outlier distance measurements for localization[C]∥IEEE Proceedings of INFOCOM,2010:1-9.
[5] Misra S,Xue G,Bhardwaj S.Secure and robust localization in a wireless Ad Hoc environment[J].IEEE Transactions on Vehicular Technology,2009,58(3):1480-1489.
[6] Zeng Y,Cao J,Hong J,et al.Secure localization and location verification in wireless sensor networks:A survey[J].The Journal of Supercomputing,2013,64(3):685-701.
[7] Zeng Y,Cao J,Hong J,et al.SecMCL:A secure Monte Carlo localization algorithm for mobile sensor networks[C]∥IEEE 6th International Conference on Mobile Ad Hoc and Sensor Systems,2009:1054-1059.
[8] Zeng Y,Cao J,Zhang S,et al.Pollution attack:A new attack against localization in wireless sensor networks[C]∥IEEE Wireless Communications and Networking Conference,2009:1-6.
[9] 叶阿勇,许 力,林 晖.基于RSSI 的传感器网络节点安全定位机制[J].通信学报,2012,33(7):135-142.
[10]张广峰,段其昌,刘 政.基于加强学习与联想记忆粒子群优化算法的节点定位[J].传感器与微系统,2013,32(3):72—77.
[11]胡中栋,贾方方.基于角度判断的无线传感器网络APIT 定位算法研究[J].传感器与微系统,2013,32(1):73-75.
[12]Amitangshu P.Localization algorithm in wireless sensor networks:Current approaches and future challenges[J].Network Protocol and Algorithm,2010,2(1):45-74.
[13]罗 臻,刘宏立,徐 琨.一种容忍恶意锚节点独立攻击的安全定位算法[J].传感技术学报,2013,26(12):1724-1727.