APP下载

基于距离和节点能量的源位置隐私保护方案

2020-04-15刘敬坡刘朝晖

计算机技术与发展 2020年2期
关键词:幻影数据包攻击者

刘敬坡,刘朝晖,丁 琳

(南华大学 计算机学院,湖南 衡阳 421001)

0 引 言

无线传感器网络在现实生活中的应用越来越多。一般情况下,无线传感器网络是由基站(Sink节点)和普通传感器节点组成,广泛应用于智能家居[1]、国防军事[2]、公共事业[3]、环境监测[4]、医疗卫生[5]、农业生产[6]等领域,进行目标监测和信息采集,尤其是在动物监测和军事上。在军事上,将传感器网络部署到战争区域,能够用来监控军队的行进驻扎;在动物监测上,将传感器网络部署到自然保护区或者动物的栖息地,能监测到动物的运动规律和生活习惯等[7]。当无线传感器网络应用到上述场景时,其源节点的位置信息将会变得非常敏感。此时源节点与士兵和监测的动物相联系,当源节点位置暴露时,所联系的对象也将受到威胁。因此对源节点位置信息的保护是一个值得研究的问题。

针对攻击者能力的不同,可将攻击者分为全局流量攻击者和局部流量攻击者[8]。全局流量攻击者通过在网络中部署自己的无线网络等手段,监测正常网络中的流量信息,进而分析出源节点所在位置。局部流量攻击者相较于全局流量攻击者,其流量监测能力相对较弱,只能监测一定范围内的流量信息,具有此种攻击能力的攻击者一般通过反向、逐跳追踪的方式来接近源节点,进而确定源节点的位置[9]。文中针对抵御局部流量攻击,提出一种保护源节点位置隐私的方案。

1 相关工作

在无线传感器传输数据的过程中,采用无线、多跳的方式将数据从源节点传输到基站节点。攻击者即使不能破解加密信息,也可以根据数据包的来源逐跳地追踪到源节点的位置[10]。针对无线传感器网络中的源节点的位置隐私保护,许多研究者提出了很多方法。

Ozturk等人首次提出了无线传感器网络中源节点位置隐私保护的问题,并针对此问题提出了基于幻影节点的路由协议[10]。通过随机游走h跳的方式选择幻影节点,在一定程度上保护了源节点的位置隐私。随后Kamat等人[11]提出了“熊猫-猎人博弈”模型,具体化了源节点位置隐私保护问题,简化了研究过程。然而,随机游走的方式,并不能保证幻影节点与源节点的距离足够远,不能很好地保护源节点位置隐私。为此,文献[12-13]提出了有向随机游走策略,使随机游走始终朝着远离源节点的方向。但陈娟等人在文献[14]中证明了以邻居节点距离Sink节点跳数进行的有向随机游走的方式产生的幻影节点会局限在某些区域,不能达到幻影节点地理位置多样性的目的。因此提出了基于源节点有限洪泛的源节点位置隐私保护协议PUSBRF。而白乐强等在文献[15]中提出了基于节点距离的源位置隐私保护算法,使幻影节点远离源节点且具有地理位置的多样性,取得了比PUSBRF协议更好的源位置隐私保护性能,但却增加了更多的能耗。

为了应对具有更强视觉的攻击者,文献[16]首次提出了可视区的概念。当攻击者追踪数据包的过程中进入到源节点可视区范围内时,就表示源节点已经暴露。而穿过可视区的最短路由路径被定义为失效路径,会降低源节点的安全时间。为了避开源节点可视区,文献[16]提出了基于角度的源节点位置隐私保护协议,有效降低了最短路由路径穿过可视区的概率,但并不能完全避免这一问题。陈娟等在文献[14]中也提出了避开可视区的EPUSBRF协议,这些改进方法较大地提高了安全性,然而源节点的有限洪泛却带来了能量消耗的大量增加。为了平衡隐私保护和能耗,刘学军等[17]提出了基于最小能耗路由的源位置隐私保护协议,以到基站节点的最小能耗值划分近、远节点集合,有效控制了网络能耗。陈宜等在文献[17]中提出了一种基于最短距离路由的改进算法,延长了源节点的安全时间,但网络能耗仍是较大。

然而现有的很多策略,路由路径并不分散,数据包被限定在源节点与Sink节点之间较小的区域内,而且重复使用的路由路径容易造成热区现象,甚至造成网络能量空洞,减少网络寿命,降低源位置隐私保护的性能[18]。而且随机游走的方式会选择能量较少的节点作为路由节点,会加快节点的死亡。

针对以上问题,为了更加有效地延长源节点安全时间,增强源节点位置隐私保护能力,文中提出了一种基于距离和节点能量的源节点隐私保护方案(SLPDNE)。在此方案中,在源节点将数据包发送给幻影节点的过程中,综合考虑邻居节点与幻影节点之间的距离和邻居节点的剩余能量,选择节点能量充足且与幻影节点距离较近的节点作为下一跳路由节点,形成分散路由,使得路由路径不局限于某一区域。

2 系统模型

为了便于研究和分析,文中采用的系统模型参考“熊猫-猎人博弈”模型[11],节点均匀地分布在监控区域,用来监视目标(即熊猫)的位置活动等信息。当目标进入到节点的监测范围时,离目标最近的节点将作为源节点,把采集到的数据周期性发送给Sink节点。攻击者(即猎人)可通过反向、逐跳追踪数据包的方式,最终定位源节点的位置并将熊猫捕获。所以文中方案的目的是延长攻击者捕获到源节点位置的时间,即延长源节点安全时间,从而达到保护监测目标(熊猫)的目的。

2.1 网络模型

在采用的网络模型中,节点随机均匀分布在网络中,当网络部署完成后,节点能够通过三角定位算法等获取到自身在网络中的相对位置。参考文献[15,17]中的网络模型,现对网络作出如下假设:

①传感器节点是静态的,即节点一旦布置在网络中,其位置就不再变化;

②节点的通信和感知范围有限,是以其自身为圆心,以通信距离为半径的圆形区域,通信半径为d。节点之间通过单跳或多跳的方式进行无线通信;

③Sink节点与每个传感器节点共享密钥。数据包都被很好地加密。

2.2 攻击模型

根据已有的追踪策略,局部流量攻击者可分为谨慎攻击者和耐心攻击者。文献[11]的研究表明,耐心攻击者更具威胁性,因此文中设定攻击模型采用耐心攻击者模型。在初始状态下,攻击者位于Sink节点,当攻击者接收到数据包时,攻击者能用自身配备的无线信号定位装置等设备定位到发送数据包的节点,并迅速移动到此节点。在移动过程中攻击者忽略掉其他节点发送的数据包。然后攻击者一直在此节点等待,直到攻击者接受到下一个数据包,以此逐跳接近并捕获源节点。并且耐心攻击者还具有以下特点:

①攻击者的硬件设备优良,具有足够的计算能力、数据存储能力、能源等;

②攻击者只具有局部流量监听能力,不会主动攻击网络;

③攻击者能在源节点可视区范围内发现并捕获源节点。

3 基于距离和节点能量的源节点位置隐私保护方案

文中提出的基于距离和节点能量的源节点位置隐私保护方案SLPDNE可以分为三个阶段:网络初始化阶段、发散路由阶段、最短路径路由阶段。下面将分别对这三个阶段的实施策略进行详细描述。

用到的符号含义如表1所示。

表1 符 号

3.1 网络初始化阶段

在网络初始化阶段,主要是将Sink节点的信息广播到全网络,并获得网络节点到Sink节点的跳数信息。

当网络建立之后,Sink节点发送广播信息。此信息包括Sink节点信息和距离Sink节点的跳数信息。此跳数信息hopcount初始化为0。Sink节点的邻居节点接收到此广播信息后,将Sink节点的位置信息保存,而且将hopcount加1,即此节点距离Sink节点的跳数信息。其邻居节点继续广播此信息,其中的hopcount变成此邻居节点的最小跳数信息H,再加上此节点的剩余能量信息和位置信息。这样一直到整个网络的所有节点都能获取到Sink节点的位置信息和距离Sink节点的跳数信息。而且还有其邻居节点的能量信息和距离Sink节点跳数信息。

当Sink节点洪泛过程结束后,各个节点将自身的信息发送给Sink节点,这样Sink节点就存储了所有节点的信息。在之后的源节点发送消息给Sink节点时,只需发送ID信息,不用包含具体位置信息。

3.2 幻影节点的选择

在幻影节点路由中重要的一点是产生幻影节点,使幻影节点均匀分布在网络中,因此在此方案中,幻影节点是随机地在网络中产生,而且引入源节点的可视区的概念。

图1 幻影节点的选择

如图1所示,为了避开源节点的可视区,避免产生“失效路径”,幻影节点的产生需要满足以下的条件:

β>θ

(1)

α>θ

(2)

其中:

(3)

(4)

(5)

在选定了幻影节点之后,源节点会依据分散路由的方式先发送消息给幻影节点。

3.3 分散路由阶段

当目标进入到节点的监测范围时,距离目标最近的节点成为源节点,采集目标的信息后以数据包的方式周期性地发送给Sink节点。

在分散路由阶段,首先源节点根据3.2节所描述的幻影节点的选择方式,随机产生一个幻影节点位置p;源节点选择下一跳路由节点的选择过程如下:

①计算每个邻居节点到幻影节点比自身到幻影节点减少的距离并将结果进行归一化处理,计算过程如式(7)所示;

②将邻居节点的剩余能量归一化,计算过程如式(8)所示;

③按照权重β计算每个节点①、②结果的和,计算过程如式(6)所示;

④根据③的结果选择计算结果值最大的邻居节点作为下一跳路由节点。

下一跳节点也以此选择过程继续选择路由节点并转发数据包,直到某一节点与幻影节点之间的距离比其邻居节点与幻影节点之间的距离都要小,此节点就作为幻影节点发送数据包给Sink节点。

(6)

(7)

(8)

其中ni是指当前节点,若当前节点是源节点Source,则ni即是指源节点Source。

在式(6)中,β是式(8)的权重信息且β∈[0,1]。当β=0时,下一跳路由节点的选择完全依据节点与幻影节点之间的距离信息,此时从源节点发送数据包到同一幻影节点将沿着一条固定的路由路径转发。当β=1时,下一跳路由节点的选择完全依据节点能量信息,此时从源节点发送的数据包会一直在能量多的节点之间转发,无法朝着幻影节点方向转发。因此式(6)中考虑节点能量能使路由路径分散;考虑节点与幻影节点之间的距离能使数据包在不产生环路的情况下,朝着幻影节点的方向转发。

由于网络中节点能量是在不断变化的,且幻影节点每次的选择也几乎不会相同,因此同一个节点每次选择的下一跳路由节点也几乎不可能相同。这样,路由路径会相对分散,数据包每次转发的路径都不相同,使得攻击者需要等待更多的时间才能接收到下一个数据包的到来,延长了源节点的安全时间。

3.4 最短路径路由阶段

在数据包转发到幻影节点后,幻影节点按照最短路径路由方式将数据包发送给Sink节点。在此阶段,节点选择比自己到基站节点跳数小的邻居节点作为下一跳的节点,直到数据传输到基站节点。

4 理论分析

在理论分析时,将文中所提方案(SLPDNE)与文献[17]所提算法和文献[15]所提算法(ABOND)进行对比分析。

4.1 安全性分析

在文中所提方案中,幻影节点是在整个网络中随机选择,但同时为避免失效路径的产生,产生的节点满足式(1)、式(3)。如图2所示,其中阴影部分是幻影节点范围。

若网络的范围的半径为RN,计算后,阴影部分面积为:

(9)

所以,文中所提方案中幻影节点的分布具有地理位置的多样性的特点。

图2 幻影节点范围

文献[17]中提出的算法得到的随机幻影节点近似分布在以源节点Source为圆心,半径为[h,hmax]的半环形区域内。而文献[15]中,ABOND算法在随机hmin

而在文中方案,产生的幻影节点位置满足式(1)、式(2),则路由路径能够很好地避开源节点的可视区,产生的幻影节点也能够避开Sink节点周围范围。而且数据包经过幻影节点转发的路由路径也不会局限在网络的某一较小区域内,而是产生更大范围的路由路径,从而增强了源节点位置隐私保护的性能。

4.2 通信开销分析

在SLPDNE方案中,网络中的通信开销有三部分:(1)Sink节点广播信息开销;(2)分散路由转发信息开销;(3)最小跳路由通信开销。在文献[17]和ABOND算法中都会有Sink节点向全网广播建立路由的过程,这一过程的通信开销此三者是基本相同的。

在将数据包从幻影节点传输到Sink节点阶段,文中方案是使用最短路径路由方式,不会引入额外的通信开销。文献[15]提出的ABOND算法采用与文中算法相同的方式,因此也没有引入额外的通信开销。而文献[17]中采用了避开源节点可视区的最短距离路由策略,相较于文中方案,会引入额外的通信开销。通信开销的增加,无疑将会增加能量的消耗。

SLPDNE方案在选择下一跳路由节点时会选择能量充足的节点,这种方式会有效利用节点的剩余能量,一定程度上起到了平衡能耗的作用。

4.3 参数分析

在此部分进行参数β取值对所提方法性能的影响分析,并给出正确参数设置的指南。

(10)

(11)

两个值的差为:

(12)

当两者的差值为0时,β的值为:

(13)

5 仿真实验

为了取得良好的仿真实验结果,便于实验结果的分析,在NS2仿真平台下,对SLPDNE、ABOND和文献[17]的算法进行仿真实验模拟,并从源节点安全时间、网络节点平均能耗两个方面对三种算法进行比较。源节点安全时间可以定义为源节点发送第一个数据包到被攻击者捕获的时间内,Sink节点接收到的数据包的个数越大,表明在源节点被捕获时,Sink节点能接收到更多的数据包,源节点的安全时间越长,源节点位置隐私保护能力就越强。网络节点平均能耗定义为源节点发送4 000个数据包后,网络中节点平均发送的数据包数,此数值越大就表示网络中节点平均发送的数据包越多,网络中消耗的能量也就越多。

文中的仿真实验环境与文献[17]的仿真实验环境一致。在2 400 m*2 400 m的监控区域内,均匀分布1 600个传感器节点。为了实现节点的随机均匀分布,在文中将监控区域均匀分成60 m*60 m的1 600个网格,在初始时,节点位于各个网格的中心点,接着给这些节点的位置添加一个服从正态分布的随机扰动ε,且ε~N(μ,σ2)。在实验中设定μ=10,σ2=10。基站节点位于(1 200,2 400)的位置。设定每个传感器节点的通信半径R约为110 m,节点的可视区半径r为330 m。在实验中源节点发送4 000个数据包。实验结果是20次仿真实验的平均值。

5.1 源节点安全时间

在文中方案中,为比较β在式(6)中的影响,设置β分别为0.5、0.4、0.3、0.2,源节点的安全时间如图3所示。

图3 β取不同值时的源节点安全时间对比

从图中可以看出,当β=0.3时源节点的安全时间较长,而当β=0.4,0.2时,源节点的安全时间会缩短。因此,当β=0.3时,源节点将会有较好的安全时间。

图4 源节点安全时间对比

图4比较了文中方案与其他两种算法的源节点安全时间变化情况。其中SLPDNE取β=0.3,ABOND算法取随机游走的跳数htra为[5,10],而k分别取k=5、k=10进行实验。而文献[17]的算法中有向随机路由阶段传输的距离值取[400,800]之间的随机值。而各个算法的源节点安全时间如图4所示。从图4可以看出,SLPDNE拥有最长的源节点安全时间,SLPDNE方案的源节点安全时间比文献[17]算法的源节点安全时间平均提高了60.05%,比ABOND(k5)平均提高了195.54%,比ABOND(k10)平均提高了36.82%。这是因为幻影节点是在整个网络区域进行选择,并不局限于源节点周围的某些区域。而且ABOND算法并没有考虑源节点可视区,导致ABOND算法出现源节点安全时间较短的问题。

5.2 网络节点平均能耗

图5是三种算法节点平均发送的数据包数对比。其中,SLPDNE方案比文献[17]所提算法网络节点平均能耗减少17.72%,比ABOND(k10)平均减少2.64%,比ABOND(k5)平均增加14.135%。

图5 网络节点平均能耗对比

从图5可以看出,文献[17]的网络节点平均能耗最多,说明它有最大的网络能耗。这是因为在文献[17]的算法中,在每次数据包从源节点到Sink节点都要先远离Sink节点和源节点,然后再传输到Sink节点,造成每次数据传输都要多传输很多节点。而SLPDNE方案比ABOND(k5)的通信开销要稍高一些,这是因为ABOND算法中在数据包从源节点传输到幻影节点阶段与选取的参数k有关,当选择的k较小时,在此阶段数据包传输的距离较短,则平均转发数据包的数目将减少,但会缩短源节点的安全时间。结合图4来看,SLPDNE的源节点安全时间要比ABOND(k5)平均提高195.54%,因此对比延长的源节点安全时间,文中方案略微增加的能耗应该是可以接受的。

6 结束语

提出了一种基于距离和节点能量的源位置隐私保护方案SLPDNE,产生分散路由,延长源节点安全时间,增强源节点位置隐私保护能力。该方案借助节点的邻居节点与幻影节点之间的距离和邻居节点的剩余能量,选择能量较为充足且距离幻影节点较近的节点作为下一跳路由节点,使得数据包在传输过程中能够沿着分散的路由路径传输,能起到延长源节点安全时间的作用。该方案与已有的源节点位置隐私保护方案相比较,在通信开销增加较少的情况下,能够显著延长源节点安全时间,进而增强了网络源节点位置隐私保护能力。

猜你喜欢

幻影数据包攻击者
《幻影》
基于贝叶斯博弈的防御资源调配模型研究
像素前线之“幻影”2000
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
The Lego Ninjago Movie乐高幻影忍者大电影
幻影游船
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判