基于MCB的移动节点安全定位算法

2017-09-04 00:31熊深文李嘉俊
网络安全与数据管理 2017年16期
关键词:盒子无线定位

曹 璐,熊深文,李嘉俊

(广东工业大学 信息工程学院,广东 广州 510006)

基于MCB的移动节点安全定位算法

曹 璐,熊深文,李嘉俊

(广东工业大学 信息工程学院,广东 广州 510006)

针对移动无线传感器网络定位安全性的问题,分析了虫洞攻击对MCB方法的影响,在MCB的基础上提出了一种安全定位算法DWMCB。在锚节点存在虫洞攻击的情况下,该算法通过计算当前定位节点可检测到的锚节点组成多边形的质心以及几何关系,识别并剔除伪锚节点。仿真结果表明,DWMCB算法在受到虫洞攻击的网络中能够提高节点定位的精度。

移动无线传感器网络;安全定位;虫洞攻击;锚节点

0 引言

对于无线传感器网络来说, 节点的准确定位是其提供的重要服务之一,其中移动无线传感器网络(Mobile Wireless Sensor Network,MWSN)的定位是当前的研究重点。MWSN最重要的特点是节点的移动性,在监测和定位追踪上有一定的作用,在这种情况下,无线传感器网络更容易受到各种攻击[1-2]。在网络中这种以破坏定位过程为目的且不易被发现的恶意攻击的现象比较普遍,因此如何安全、准确地确定节点位置信息成了一个亟待解决的关键问题,即安全定位问题[3]。

文献[4]提出了在移动传感器网络中使用迭代梯度下降方法的节点安全定位算法。该算法先是通过监测到的定位信息构造一个代价函数,然后利用迭代梯度下降最小化代价函数剔除偏差大的矢量。该算法不能广泛适用于多种攻击类型。文献[5]的方法是,当网络遭受欺骗攻击时,MCL定位算法在滤波后可能无法得到足够的有效样本数目。SecMCL算法采取了消息认证和一种新的抽样方法,当有攻击时,就执行这种抽样方法,使定位精度尽可能与无攻击时的一样。但这种方法仅适合欺骗攻击,并且对节点的性能要求比较高。文献[6]研究的是抵御虫洞攻击的情况,提出的DewormMCL算法利用节点的移动性和虫洞攻击的影响机制,解决了上一时刻定位值及时以及准确更新的问题,分析理论上存在的锚节点运动范围的限制条件来识别并剔除伪锚节点信息。

MCB是MCL的改进算法,其定位误差更小,当前关于MCL与MCB的安全定位的研究都非常少。在多种攻击类型里面,虫洞攻击是一种较常出现的攻击类型,动态网络更是容易受到影响。目前已有的抵抗虫洞攻击的方法大多是在静止节点定位的背景下,并不适用于移动传感器网络,因此本文针对MCB定位算法在锚节点中存在虫洞攻击的现象进行了研究。

1 MCB方法

2004年Hu Lingxuan等人第一次把蒙特卡罗定位思想引入移动无线传感器网络,提出了 MCL算法[7]。MCL主要通过重复采样和滤波的过程获得一定数量的有效样本来完成对节点当前位置的估计。由于算法中无数次的采样过程会造成能量的极大浪费,BIGGO A等人在MCL算法的基础上提出了MCB算法[8]。MCB方法进一步缩小了采样区域,提高了定位精度。MCB方法共有四个步骤[9]。

(1)预测

在这个阶段,先创建一个锚盒子,该盒子是能够包含所有一跳和二跳锚节点通信范围重叠区域的最小的矩形。图1给出了一个包含三个一跳锚节点的锚盒子(阴影部分)创建过程。对于每个一跳锚节点,构建一个以锚节点为中心、边长为2R的正方形,R为通信半径。锚盒子的四个顶点坐标为:

(1)

锚盒子创建完成之后,再创建样本盒子,它是以上一时间的样本点lt-1为中心、2Vmax为边长的正方形和锚盒子相交的区域,如图2阴影部分所示,其四个顶点的坐标公式为:

(2)

图2 MCB采样盒子建立

(2)滤波

节点根据一跳和二跳锚节点信息,从样本集合Lt中过滤出不可能的样本点,过滤的条件为:Filter(l)=(∀s∈S,d(l,s)≤r)∩(∀s∈T,r

其中,S表示监测到的一跳锚节点集合,T为监测到的二跳锚节点集合。

(3)重采样

滤波后Lt中的有效样本数可能小于样本数N,这时就需要重采样,不断对采集到的样本点进行过滤,直到采集到的符合过滤条件的有效样本点数达到给定的最大样本点数。

(4)定位

计算得到的样本点的加权平均值,将计算结果作为定位节点的定位估计值,计算公式如下:

(3)

2 安全定位算法

MWSN有两种存在形式,一种是锚节点和未知节点均移动,一种是仅未知节点移动。本文研究的是锚节点静止以及定位节点随机运动的情况,定位节点在移动过程中利用周围锚节点信息来完成定位过程[10]。

2.1 虫洞攻击影响机制

虫洞攻击具有隐蔽性大、攻击力强等特点,不仅可以对距离无关的定位过程进行攻击,也可以破坏基于测距的定位过程[11]。攻击者可以建立一条不在对方通信范围内的链路,一方面经过此链路传送定位数据信息,另一方面接收并重放[12]。

如图3所示,节点O为定位节点,节点A,B,C在节点O的通信范围内,节点D,E,F不在其通信范围。恶意节点W2能将侦听到的D,E,F的信息传递给W1,W1会将接收到的信息重放给节点O,节点O误认为D,E,F也是其通信范围内的锚节点,在定位过程中接收到不准确的定位信息,从而会大大降低定位的精度。

图3 虫洞攻击示意图

MCB定位方法需要用到一跳和二跳锚节点信息创建锚盒子,若存在虫洞攻击,会对锚盒子的创建过程造成严重的影响,导致定位不准确甚至出现无法正常定位的现象。如图3所示,O点为上一时刻定位节点的位置,A点为一跳锚节点,B为二跳锚节点,W1,W2构成一条虫洞链路,C为通过虫洞链路进入定位锚节点集合中的一个伪锚节点,由图中可以看出,若未进行判断识别伪锚节点,图中的各个锚点形成的矩形没有交集,没有有效的采样盒子,无法进行采样,定位算法无法运行,下一时刻同样受到影响,定位不能及时有效地进行。

2.2 DWMCB算法

定位节点在移动过程中不断地进行定位,当某个时刻有虫洞攻击影响,接收到错误的锚节点信息时,会降低定位精度甚至无法定位。因此,可以在构建锚盒子的过程中通过挑选可信的锚节点,剔除可能的恶意节点,从而减少定位误差。

构建锚盒子需要用到定位节点二跳范围内的所有锚节点,在此集合中存在通过虫洞链路进入这个集合而并非通信范围内的锚节点。最直接的方法是计算所有用来构建锚盒子的锚节点与上一时刻定位节点位置的距离,确定是否在通信范围内。考虑到这种方法计算量较大,因此提出先识别伪锚节点的思路。由于定位的节点随机,运动速度大小不定但有最大限制,定位节点这一时刻的位置必然在以上一时刻位置为圆心、最大速度为半径的圆内部,其次质心算法作为最简单有效的定位算法可以用于恶意节点判断。然后再分别计算距离,识别具体的伪锚节点。

下面介绍DWMCB算法的实现。

(1)初始化

初始情况,没有先验样本,首先自定义初始位置,Xrange,Yrange是已知的值,则定位初始位置为:

(4)

定位节点P发送定位请求,Ot为t时刻P节点所监测到的锚节点的集合。

(2)伪锚节点的识别

(xn,yn)为集合Ot中某个锚节点On的坐标,Lt为t时刻的样本位置集合。(xp,yp)为t时刻定位节点的位置。如图4所示,计算t时刻Ot内所有元素构成的多边形的质心M(xm,ym):

(5)

点M与点Pt-1的距离:

(6)

若D>Vmax则判定有伪锚节点存在。若不存在锚节点,则直接利用MCB定位方法进行定位。

图4 算法示意图

(3)伪锚节点的剔除

比较Ot-1与Ot,新加入的锚节点为O1,O2,…,分别计算O1,O2,…等与Ot-1的距离

(7)

若Di<2R或Di=2R,则将Oi保留在集合Ot中;若Di>2R,则将Oi从集合Ot中剔除掉。

(4)定位

将最终得到的Ot中的元素根据MCB方法构建采样盒子,进行定位。

在定位过程中由于所有节点均随机分布,因此可能出现定位节点周围无锚节点的情况。或受到虫洞攻击,定位节点收集到不可靠的锚节点信息而无法定位。针对这个问题,当检测到出现锚节点集合为空集这种特殊的情况时,停止更新此刻的定位值,待锚节点信息更新正常时,再启动算法。

3 仿真与分析

为了验证DWMCB算法的有效性,进行了仿真实验。仿真在MATLAB平台上进行。仿真方案中,在500×500的矩形区域内随机分布着一定数量的锚节点和未知节点,定位节点按照Random WayPoint运动模型,即运动速度和方向均为随机的,且速度取值区间为 [0,Vmax],算法中采用限制条件使得节点移动范围不会超出传感器的边界。

表1 仿真参数设置值

主要仿真参数参照表1,其中Sd表示信标节点密度,即一跳范围内平均信标节点数目。一跳通信范围内的未知节点为未知节点密度,用Nd表示。本次仿真结果均在MATLAB上独立运行50次取平均值,从而得到每一个时刻定位误差的平均值。

从图5可以看出3种算法分别随运动时刻定位误差变化的情况,整体随运动时间的推移定位误差在减小,最后趋于平稳,在初始阶段由于算法是利用较少的历史信息定位,误差比较大。仿真图显示MCB定位算法在受到虫洞攻击后定位误差从10 m提高到18 m,DWMCB算法的定位误差和受到虫洞攻击相比则从18 m降低到13 m。图6表明了本文所提出的算法对虫洞攻击确实有一定的防御能力的。

图5 定位误差对比图

图6显示了最大速度对DWMCB算法定位性能的影响。仿真表明,随速度增加,定位精度先不断提高后不断减小。这是因为当节点从零开始运动逐渐增大速度的时候,节点能监测到更多锚节点,把可能性为零的位置过滤掉。但在速度增大到一定程度后,节点在下一时刻的采样区域过大,这样采集的样本会不准确,过滤失效的可能性也加大,因此定位精度会降低。由图中可看出将速度选在20 m/s左右为最佳。

图6 最大运动速度对定位误差的影响

图7说明了锚节点密度对定位误差的影响。锚节点密度增大,节点在定位时周围的一跳和二跳锚节点个数会增多,可利用的定位信息增加,必然会使定位精度提高。锚节点密度较小时,定位没有足够的信息而对定位效果没有太大改善。而当锚节点密度增大到1.1之后,受虫洞攻击的节点可能收到了不一致的锚节点信息从而不能定位,这种情况并不会影响定位误差,因此三种情况的定位误差曲线基本重合。

图7 锚节点密度Sd对定位误差的影响

4 结论

MCB作为移动传感器网络的一种经典定位算法,其安全问题亟待解决。本文提出了能抵抗虫洞攻击的MCB定位算法,通过剔除伪锚节点信息达到减小误差的目的。该算法是在传感器网络中仅存在少量的恶意锚节点的前提下提出来的,且假设攻击者实施的是某种独立的、特定的网络攻击。今后应该注重对选择性或合谋攻击的研究以及对存在更多恶意节点情况的研究。

[1] 梅举, 陈涤, 辛玲. 基于蒙特卡洛方法的移动传感网节点定位优化算法[J]. 传感技术学报, 2013, 26(5): 689-694.

[2] 黄海辉, 李龙连. WSN 中一种基于 RSSI 的移动节点改进定位算法[J]. 电子技术应用, 2015, 41(1): 86-89.

[3] Shen Xianjun, Yi Yang, Dong Wenyong, et al. Mobile nodes localization based on adaptive particle swarm optimization and modified Monte Carlo localization boxed in wireless sensor networks[J]. Sensor Letters, 2014, 12(2): 313-318.

[4] 彭保. 无线传感器网络移动节点定位及安全定位技术研究[D]. 哈尔滨: 哈尔滨工业大学, 2009.

[5] GARG R, VARNA A L, Wu Min. A gradient descent based approach to secure localization in mobile sensor networks[C].2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2012:1869-1872.

[6] 池玉辰, 邓平. 一种移动无线传感器网络抵御虫洞攻击 MCL 算法[J]. 传感技术学报, 2015, 28(6): 876-882.

[7] Hu Lingxuan, EVANS D. Localization for mobile sensor networks[C]. Proceedings of the 10th Annual International Conference on Mobile Computing and Networking, Philadelphia, 2004: 45-47.

[8] BAGGIO A, LANGENDOEN K. Monte Carlo localization for mobile wireless sensor networks[J]. Ad Hoc Networks, 2008, 6(5): 718-733.

[9] 曲强, 夏勇, 申培峰. 基于改进 MCB的无线传感器网络移动节点定位[J]. 计算机应用与软件, 2015, 32(3): 101-104.

[10] MUNIR S A, Ren Biao, Jiao Weiwei, et al. Mobile wireless sensor network: Architecture and enabling echnologies for ubiquitous computing[C]. 21st International Conference on Advanced Information Networking and Applications Workshops, 2007, AINAW′07. IEEE, 2007: 113-120.

[11] 丁革媛, 李振江, 李诗涵. 无线传感器网络的体系结构和应用安全[J]. 微型机与应用, 2016,35(11): 60-61.

[12] 陈鸿龙,王志波,王智,等.针对虫洞攻击的无线传感器网络安全定位方法[J]. 通信学报,2015,36(3):106-113.

Secure localization algorithm for mobile nodes based on MCB

Cao Lu, Xiong Shenwen, Li Jiajun

(School of Information Engineering, Guangdong University of Technology, Guangzhou 510006, China)

To solve the problem of secure localization in mobile wireless sensor networks, this paper analyzes the effect of wormhole attack on MCB method, and then proposes a secure localization algorithm DWMCB. In case that anchor nodes are under worm attack, this algorithm identifies and eliminates the false anchor node information by calculating the centroid of the polygon of the anchor nodes which are currently detected and the geometric relationship. The simulation results show that the secure localization algorithm can improve the accuracy of localization in wireless sensor networks which are under wormhole attack.

mobile wireless sensor networks; secure localization; wormhole attack; anchor node

TP393

A

10.19358/j.issn.1674- 7720.2017.16.001

曹璐,熊深文,李嘉俊.基于MCB的移动节点安全定位算法[J].微型机与应用,2017,36(16):1-4.

2017-02-27)

曹璐(1991-),女,硕士研究生,主要研究方向:移动传感器网络的安全定位。

熊深文(1989-),男,硕士研究生,主要研究方向:无线传感器网络的安全定位。

李嘉俊(1992-),男,硕士研究生,主要研究方向:移动无线传感器网络的安全定位。

猜你喜欢
盒子无线定位
有趣的盒子
《无线互联科技》征稿词(2021)
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
找准定位 砥砺前行
寻找神秘盒子
青年择业要有准确定位