基于DV-Hop的无线传感器网络安全定位

时间:2022-08-18 08:59:37

基于DV-Hop的无线传感器网络安全定位

文章编号:1001-9081(2012)01-0107-04 doi:10.3724/SP.J.1087.2012.00107

摘 要:针对DV-Hop非测距定位技术没有考虑非法节点(包括无法定位的节点)对定位过程影响的问题,提出了一种基于DV-Hop的安全定位机制,即在定位过程中引入了节点间交互信息特性用于检测虫洞攻击,利用时间性质和空间性质明确有效信标节点,并且结合在节点通信过程中加入加密和认证机制来抵御伪装攻击,最后实现安全定位。仿真实验表明,在攻击存在的环境中,提出的安全定位机制能够以较高的概率检测出虫洞攻击,并使定位误差减小了大约63%左右。

关键词:无线传感器网络;DV-Hop定位;虫洞攻击;伪装攻击;安全定位

中图分类号: TP393.09 文献标志码:A

Abstract: Concerning the problem that the impact of illegal nodes (including the node unable to locate) on the localization process in DV-Hop localization algorithm has not been taken into consideration, this paper proposed a secure localization mechanism based on DV-Hop. In other words, the character of message exchange between the nodes was introduced to detect the wormhole attacks in this paper. Time property and space property were used to define the valid beacon nodes, along with encryption and authentication mechanisms to resist against the node-tampering attack in the communication process. Finally, the nodes were located securely. The simulation results show that, in hostile environment, the proposed mechanism has a high probability to detect the wormhole attacks, and the relative localization error can be reduced by 63% or so.

Key words: Wireless Sensor Network (WSN); DV-Hop localization; wormhole attack; node-tampering attack; security location

0 引言

对于无线传感器网络(Wireless Sensor Network, WSN)的大多数应用而言,不包含传感器节点位置的数据是没有意义的,而给每个节点都配备全球定位系统(Global Positioning System, GPS)接收器或者人工部署节点,这样做的代价对于WSN来说是不可接受的,因此节点的定位技术在WSN应用中起着重要的作用[1]。同时,WSN通常被部署在无人照顾的、开放性的恶劣环境(如战场、地震区等)中,节点资源严重受限,因此它面临着许多的安全威胁[2]。目前,绝大多数定位系统或定位算法都局限在安全可靠的WSN环境中,忽略了定位过程中网络安全的脆弱性。由于WSN极易遭受攻击,且攻击后产生的无效或错误的定位结果将会导致严重的后果,如错误甚至截然相反的监测结果、网络功能局部或整个网络瘫痪等,进而给WSN的应用(尤其是那些具有重要使命的应用,如战场监视)造成难以估量的重大损失[3],因此对WSN安全定位机制的研究是很有意义的,并且是非常重要的。

在2004年之前,对WSN节点定位的研究主要集中在如何提高定位精度和能量的有效性上,如Niculescu等[4]提出在自组织网络中用基于位置的DV-Hop方法进行节点定位,它是一种典型的利用多跳信标节点信息的定位方法,优点是简单易行,不需要添加任何额外的附加硬件;缺点是在定位过程中,没有考虑非法节点(包括无法定位的节点)对网络攻击的影响,导致平均定位误差较大。自此之后,节点的安全定位技术逐渐引起了研究人员的关注,并且取得了一些成果。2007年,Chang等提出了一种基于标记恶意节点的算法,然后再进行安全定位算法[5];Lazos等把节点之间的通信连接视为对节点位置的几何约束,提出了一种无需测距的安全定位机制SeRLoc[6],它首先明确了一些可疑信标节点,利用余下的信标节点进行定位;然而,该机制不能区分双虫洞攻击和单虫洞攻击,并且在处于双虫洞攻击时定位过程就无效了。

为了解决以上提出的问题,本文提出了基于DV-Hop的安全定位机制,引入了节点间交互信息特性用于检测虫洞攻击,并区分了双虫洞攻击和单虫洞攻击;同时利用时间性质和空间性质明确有效信标节点用于节点自定位,并结合在节点通信过程中加入加密和认证机制来抵御伪装攻击的威胁,最后实现节点安全定位。

1 DV-Hop安全定位机制

虫洞攻击和伪装攻击对DV-Hop定位过程影响很大,是该定位过程中的两大主要攻击:虫洞攻击主要影响定位过程中跳数的计算;伪装攻击主要影响定位过程中广播位置信息的准确性和完整性。本文就是在保证DV-Hop定位算法优点的前提下对其进行了改进,提出了一种基于DV-Hop的安全定位机制,即在定位过程中引入了节点间交互信息特性用于检测虫洞攻击,利用时间性质和空间性质明确有效信标节点,并结合在节点通信过程中加入加密和认证机制来抵御伪装攻击,最后实现安全定位。仿真实验表明,该机制有效地抵御了这两种攻击,并且降低了定位误差,保证了定位精度。

1.1 网络模型及假设

1)WSN中包含三种不同的节点,分别是信标节点、普通节点及攻击节点。其中普通节点自身位置未知,通过向信标节点请求定位服务来估计自身位置;信标节点是网络中部署的静态节点,已知自身位置,并向普通节点提供位置信息;攻击节点是扰乱和破坏普通节点定位过程的。所有节点都有唯一标识号ID。Bi记作信标节点,Sj记作普通节点,Ar记作攻击节点。

2)假设节点在物理上是安全的,即节点不会遭到人为破坏或者被攻击者俘获。为了便于讨论,本文是针对二维网络中节点进行安全定位的。假设所有节点的通信半径均为R,在通信范围内没有数据包丢失,虫洞链的长度为L。本文只研究两个攻击节点合谋对网络形成的虫洞攻击,而不研究多虫洞攻击的情况。

3)信标节点在二维网络中满足泊松分布[7],其节点密度为ρb,即P(BS=k)=(πR2ρb)kk!e-πR2ρb,其中BS为一个普通节点通信区域内的信标节点个数。

4)为了更好地描述新机制,本文先介绍以下定义[8]。

定义1 双虫洞攻击。节点同时处于两个攻击者的攻击范围之内。

定义2 单虫洞攻击。节点只处于一个攻击者的攻击范围之内。

1.2 安全定位机制

网络初始化后,信标节点和普通节点周期性地向邻居节点发送信息,在收到邻居节的返回的信息后,每个节点可以建立一个自己的邻居表(可周期性进行更新的)。本文提出的新机制主要包括以下步骤,如图1所示。

1.2.1 虫洞攻击检测

规定 节点间交互信息特性。

1)自身排除性。一般情况下,节点不能接收到由自身发出的信息;但对处于双虫洞攻击的节点来说,这是可以的。

2)数据包唯一性。一般情况下,节点只能接收一次由同一个邻居节点发出的同一个数据包。

3)通信范围有限性。一般情况下,节点不能和在其通信范围之外的节点进行直接通信。

假设信标节点周期性地向其邻居信标节点发送信标信息M,它包括自身位置信息和ID及源信标节点的位置信息和ID。当WSN中存在虫洞攻击时,受影响的信标节点Bi会根据M的改变来检测出异常现象,以下情况对于Bi来说是非正常的:

1)Bi收到来自自身发出的信息,即破坏自身排除性;

2)Bi通过不同的路径收到某一Bj(i≠j)发出的同一信标信息,即破坏数据包唯一性;

3)Bi收到不在其通信范围内的Bj发出的信息,即破坏通信范围有限性。

当检测出以上这些异常现象时,则Bi处于虫洞攻击。若检测出情况1),则Bi处于双虫洞攻击。M中还包含另外两个值。

①检测值。如果通过M的改变Bi检测出异常现象则值设为1;否则值设为0。

②类型值。如果Bi处于双虫洞攻击则值设为1;否则值设为0。

当对某一传感器节点S进行定位时,S向其邻居节点NB(S)发送定位请求。当信标节点收到定位请求后会返回一个类似于信标信息的信息N,包括信标节点的ID以及位置信息,同时包含上述①、②两值。当S收到这个信息后,可以通过文献[9]结合返回信息计算出每个邻居信标节点的反应时间。

检测方案D1 如果检测出S收到自身发出的定位请求信息,则S处于双虫洞攻击。

检测方案D2 如果在S收到的返回信息中,检测值为1,则S处于单虫洞攻击。

注意 当用方案D2时,如果S处于攻击者的通信范围之外,而它的任意邻居信标节点均处于攻击者通信范围之内,则S可能会产生错误判定。对于这个问题,可用下面的明确有效信标节点方案来解决,同时也不会影响节点定位结果。

1.2.2 明确有效信标节点

若检测出S处于虫洞攻击,则为了安全定位,S应明确其所有的有效邻居信标节点。

规定如下。

①时间性质。在计算反应时间时,只有S可以抵御信标节点的MAC层时延,而攻击者不能,因此通过虫洞链的信息被认为具有更长的反应时间,即利用使用最少反应时间的有效信标节点发出的返回信息来定位才是正确的。

②空间性质。如果2个邻居信标节点之间的距离大于2R,则S不能同时从这两个信标节点收到信息。

1)双虫洞攻击。

如果S处于双虫洞攻击,它将以方案I1确定有效信标节点。

方案I1 S处于双虫洞攻击,若S三次收到从Bi发出的返回信息且类型值为1,则Bi为有效信标节点(如图2(a)中的B4);若S两次收到从Bi发出的返回信息且类型值为1,则Bi为可疑信标节点(如图2(a)中的B7);若S两次收到从Bi发出的返回信息且类型值为0,则Bi为有效信标节点(如图2(a)中的B2)。

2)单虫洞攻击。

如果S处于单虫洞攻击,它将以方案I2、I3确定有效信标节点。

方案I2 S处于单虫洞攻击,若S两次从Bi收到返回信息,则Bi是有效信标节点。如图2(b)所示,B3通过两条不同的路径将返回信息传递给S:B3S;B3A1A2S,则B3是有效信标节点;类似地,B4也是有效信标节点。

经过方案I2确定有效信标节点后,再利用方案I3来明确余下的信标节点中的有效信标节点。

方案I3 S处于单虫洞攻击,若两个信标节点破坏了空间性质,则它们之中一个是有效信标节点,另一个是可疑信标节点。例如,图2(b)中B2和B5之间的距离大于2R,破坏了空间性质,当S从它们收到返回信息后,通过时间性质来明确有效信标节点:当B5的返回信息通过虫洞链回到S时,它使用的反应时间大于B2的反应时间,则B2为有效信标节点,而B5为可疑信标节点。

综合以上方案可以明确S的所有有效信标节点,为了从有效信标节点处获得到正确的返回信息(包括跳数信息),根据时间性质,S将对比这两次收到返回信息的时间:如果反应时间较短,则它的返回信息是正确的;否则舍弃。

1.2.3 DV-Hop节点定位

伪装攻击一般通过攻击者向网络中广播伪造的位置信息,来影响节点定位的精度,因此本机制采用加密(对称加密算法如DES、RC5等[10])和认证机制对信息进行加密和认证,通过认证的信息则被接收;否则将被丢弃。虽然以上过程检测出虫洞攻击并明确了有效信标节点,但是攻击者仍可利用有效信标节点向网络发送伪造的位置信息,因此本方案进行如下步骤进行安全定位。

步骤1 网络初始化。每个节点存储网络全局共享对称密钥K、Hash函数及函数f(IDi,K),其中IDi为信标节点Bi的标识符;Bi在广播信息之前首先计算自身的私钥Ki(Ki=f(IDi,K))和Hash认证码[11],然后用Ki对Hash认证码进行签名,再使用K对附有签名的信息mi(mi=hDi,其中:表示连接符,h表示计数器)加密。

步骤2 假设EK(m)表示用K对m进行加密,Bi将加密后的mi广播至网络中,设任一节点记作Sj(包括信标节点和普通节点),BiSj:EK(miEKi(h(mi))),mi中的h初始化为0(h记录着Bi到Sj的跳数)。这一段落中标点符号使用不正确,易造成误解。请将这一段文字用多段文字来描述,可使用编号1)、2)来描述层次关系。

每个节点获取自身与各信标节点的最小跳数,步骤如下。

1)Sj接收到这些信息后先用K对信息解密。

2)用mi中的IDi和K来计算Ki,再用Ki验证签名。

3)用mi产生的Hash认证码验证Bi附上的认证码:若符合要求,则跳数自动加1(h读数自动加1);否则舍弃该信息。

如果Sj接收到来自同一个Bi的多个位置信息,则表明Sj和Bi之间有多条路径,此时Sj将保留拥有最小跳数值的mi,然后将mi继续向其邻居节点广播。

步骤3 每个信标节点计算平均每跳距离的校正值:Bi根据在步骤2中记录的与其他信标节点Bj的位置信息(xj,yj)和相距跳数hij,结合式(1):

Hopsizei=∑i≠j(xi-xj)2+(yi-yj)2∑i≠jhij(1)

可以计算出平均每跳距离的校正值HopSizei。Bi用K对HopSizei加密后,将其广播至网络中,未知节点收到后用K解密且仅记录收到的第一个校正值,然后加密转发给邻居节点。

步骤4 未知节点通过步骤2记录的最小跳数和步骤3中的每跳距离校正值,计算出自身与邻居信标节点的距离,再利用三边或极大似然估计法进行定位,进而得到未知节点的位置坐标。

由于网络中合法节点拥有全局共享对称密钥,因此可解密、认证通过其他合法节点发来的定位信息,同时丢弃未通过认证的伪造信息。攻击者由于不知道全局共享对称密钥及合法节点私钥的生成方式,故不能解密收到的信息,所以该算法是正确的。全局共享对称密钥是预先加载到节点中的,且私钥是通过计算得到的,故该算法不会额外增加定位系统的通信开销,这点对能量受限的WSN节点来说十分重要。

节点在物理上是安全的,即节点不会被攻击者俘获,因此攻击者不能通过俘获节点获得全局共享对称密钥;即使全局共享对称密钥泄露,攻击者由于不知道节点私钥的生成方式,仍很难破坏定位过程。同时本算法对所有收到的信息进行认证,如果存在伪装攻击,广播的伪造位置信息会在超过1跳邻居之外的节点接收它之前被舍弃。所以本算法可以有效地抵御伪装攻击。同时本机制在攻击者不知道全局共享密钥时,也能有效地抵御虫洞攻击。

2 仿真实验及评价

2.1 检测出虫洞攻击的概率

定理1 假设无线传感器网络所有节点呈密度为的统计均匀分布,那么对于面积SD的任一配置区域,具有每个节点可直接通信节点个数X的概率服从均匀泊松分布[12]:

P{X=m}=(•SD)m•e-SDm!(2)

根据本文检测方案可知,假设检测出虫洞攻击的概率为P,检测出双虫洞攻击的概率为PD,检测出单虫洞攻击的概率为PS,则:

P=PD+PS(3)

对于PD,如图2(a)所示,设两个攻击者通信的交叉区域为U,则:

PD=UπR2(4)

其中:

U=2R2 arccos(L2R)-LR2-L24(5)

对于PS,如图2(b)所示,节点位于区域DR(A2)\U的概率为πR2-UπR2;当节点位于此区域内,只有当至少有一个信标节点位于区域U内,或者区域DR(A2)\U、区域DR(A1)\U中都至少有一个信标节点,则信标节点可以检测出异常现象并通知普通节点。将区域U中至少有一个信标节点的事件记作A,将区域DR(A2)\U、区域DR(A1)\U中都至少有一个信标节点的事件记作B,则:

PS=πR2-UπR2(P(A)+P()P(B))(6)

其中:

P(A)=1-e-Uρb(7)

P(B)=[1-e-(πR2-U)ρb]2(8)

因此节点检测出单虫洞攻击的概率为:

PS=πR2-UπR2{1-e-Uρb+e-Uρb[1-e-(πR2-U)ρb]2}=πR2-UπR2{1-e-πR2ρb[2-e-(πR2-U)ρb]}(9)

因此

P=PD+PS=1-πR2-UπR2e-πR2ρb[2-e-(πR2-U)ρb](10)

2.2 仿真实验

本节以Matlab为仿真平台,通过仿真实验来验证以上理论结果的正确性和检测方案的有效性。通过调整虫洞链与通信半径的比L/R、信标节点的部署密度ρb来说明本方案的优良性能。本实验是在50m×50m的区域中随机部署100个节点(包括信标节点和普通节点)进行的,每个节点的传输半径为5m。

图3是在信标节点部署密度ρb=25%时,对于不同的L/R,新机制、SerLoc安全定位机制检测出虫洞攻击概率的比较。通过观察可以看出,本文提出的安全机制检测出虫洞攻击的概率明显高于SerLoc安全定位机制,这说明新机制具有很好的安全性。

图4为在ρb=25%、 ρb=30%、 ρb=35%时,本文算法检测出虫洞攻击的概率PS的比较。通过观察可以看出,当m值一定时,PS随着ρb的增加而增加。本文算法检测出虫洞攻击的概率一直很高,这说明本文算法具有良好的性能。

图5是本文提出的新算法与不存在攻击的DV-Hop定位算法、处于攻击的DV-Hop定位算法的相对定位误差的比较结果。通过仿真图观察可知:本文提出的加入安全机制的DV-Hop定位算法可以使定位过程更安全,而且降低了相对定位误差63%左右,并且十分接近不存在攻击的DV-Hop定位算法的相对定位误差,从而保证了定位的正确性,使定位过程更加安全,更加精确。

3 结语

本文通过对DV-Hop的定位过程的研究,分析了两大主要攻击――虫洞攻击和伪装攻击对该过程的影响,提出了一种基于DV-Hop的安全定位机制。该机制在保证DV-Hop的原有优点的基础上,引进了节点间交互信息特性、时间性质和空间性质,区分了单虫洞攻击和双虫洞攻击,从而能够很好地检测出虫洞攻击;同时在节点通信过程中利用加密和认证机制,能够防止伪装攻击的威胁。通过理论分析和仿真实验表明新机制具有良好的安全性,并有效减小了DV-Hop的定位误差,保证了定位精度。如果将本文提出的机制稍作改动,也适用于DV-Hop的各种改进定位算法。由于传感器节点一般部署在无人照看的环境中,一旦节点被攻击者俘获,攻击者就会得到存储在节点中的所有信息,这个攻击对WSN定位过程有很大的破坏力,进而造成严重后果,因此,如何在俘获攻击或多虫洞攻击存在的情况下安全定位将是下一步研究工作的重点。

参考文献:

[1]

王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件学报,2005,16(5):857-868.

[2]

周贤伟,无线传感器网络与安全[M].北京:国防工业出版社,2007.

[3]

许力.无线传感器网络的安全和优化[M].北京:电子工业出版社,2010:191-230.

[4]

NICULESCU D, NATH B. DV based positioning in Ad Hoc networks [J]. Journal of Telecommunication Systems, 2003, 22(1/2/3/4):267-280.

[5]

CHANG C-C G, SNYDER W E, WANG C. A new relaxation labeling architecture for secure localization in sensor networks [C]// ICC2007: Proceedings of 2007 IEEE International Conference on Communications. New York: IEEE, 2007: 3076-3081.

[6]

LAZOS L, POOVENDRAN R. SeRLoc: Secure range-independent localization for wireless sensor networks [C]// Proceedings of the 2004 ACM Workshop on Wireless Security. New York: ACM Press, 2004: 21-30.

[7]

叶阿勇.无线传感器网络节点安全定位[D].西安:西安电子科技大学,2009.

[8]

CHEN HONGLONG, LOU WEI, WANG ZHI. A secure localization approach against wormhole attacks using distance consistency [C]// Proceedings of the 29th International Conference on Performance Computing and Communications. Washington, DC: IEEE Computer Society, 2010: 25-33.

[9]

CHEN HONGLONG, LOU WEI, MA JUNCHAO, et al. TSCD: A novel secure localization approach for wireless sensor networks [C]// Proceedings of the 2008 Second International Conference on Sensor Technologies and Applications. Washington, DC: IEEE Computer Society, 2008: 661-666.

[10]

杨义先,钮心忻.应用密码学[M].北京:北京邮电大学出版社,2005.

[11]

ZWICKY E D, COOPER S, CHAPMAN D B. Building Internet firewalls [M]. 2nd ed. Sebastopol: OReilly Media, 2003: 90-95.

[12]

郭浩,赵晓辉,张鹏.基于概率定位的稀疏无线传感器网络[J].空军工程大学学报:自然科学版,2008,9(1):26-29.

收稿日期:2011-06-24;修回日期:2011-08-18。

基金项目:国家自然科学基金资助项目(61071128);河北省自然科学基金资助项目(F2009000319);河北省科技攻关基金资助项目(10213512D)。

作者简介:刘晓爽(1985-),女,河北邢台人,硕士研究生,主要研究方向:无线传感器网络定位、网络安全; 陈嘉兴(1977-),男,安徽阜阳人,副教授,博士,中国电子学会高级会员,主要研究方向:扩频通信、无线传感器网络; (1977-),女,河北沧州人,副教授,主要研究方向:无线传感器网络算法设计; 李改燕(1986-),女,河北邯郸人,硕士研究生,主要研究方向:无线传感器网络定位。

上一篇:基于身份的Ad Hoc网密钥管理方案 下一篇:基于leader-follower算法的超级节点研究