一种无线传感器网络中基于测距的安全定位方法与流程

文档序号:16066641发布日期:2018-11-24 12:44阅读:302来源:国知局

本专利涉及无线传感器网络(wirelesssensornetworks,wsns)领域,具体涉及一种基于测距的wsns安全定位方法。

背景技术

万物互联是时下的一个热点,而无线传感器网络就是物联网的核心组成部分。它与物联网技术密切相关,可以说wsns是物联网的技术支撑。wsns主要是将散布在一个区域内的诸多传感器节点收集的信息,通过无线通信的形式汇集起来,以实现对该区域内特定状态进行监测和控制。wsns的应用范围十分广阔,从环境感知到车辆跟踪,从生境监测(如检测和控制野火的蔓延)到战场管理(如探测和跟踪敌方车辆)等,在这些应用中,存在一个共同特征——节点在收集信息的同时必须获知自身的位置信息,否则得到的信息将是无意义的。而在wsns的部署中,节点随机分布在一个有限的区域内,因此节点的位置并不能事先确定。特别是在大规模网络中,在网络的初始化阶段给每个节点分配位置信息是不可行的,由于传感器功耗及成本的限制,为每个节点安装全球定位系统(globalpositionsystem,gps)装置更加是无法实现的。因此只能通过定位机制对传感器节点进行实时定位。

传感器节点通常用来监测人类所到不了的恶劣环境,处于无人看守的状态,并且wsns具有自组织的特点,因此节点的定位系统不可避免的会遭受到各种敌方的恶意攻击,使得定位失效。如在军事应用中,wsns常用来监视战场的实时信息变化,如果这些有效信息的位置发生错误,将会导致决策者不能及时做出反应甚至做出错误的作战策略,影响整个战斗结果。又如环境应用中,wsns能够有效监测自然灾害,一旦检测到灾害的发生,立即发出警报,但如果位置信息发生错误,相关人员将不能正确判断灾害的位置,因此不能及时赶到现场进行抢险救灾,使得人民的生命和财产安全遭受巨大是损失。

值得注意的是,在未知节点的定位过程中,常常需要一些自身位置已知的锚节点进行辅助定位。当锚节点是恶意节点时,将会提供给未知节点错误的信息,可能是锚节点自身的位置信息,也可能是锚节点与未知节点之间的测距信息,从而导致了未知节点估计出偏差非常大的错误位置信息,使得定位失败,信息失效。因此在定位技术的研究中,不仅要研究实现定位结果的高精度,更要关注定位过程中的安全问题,实现高准确度。随着5g时代的到来,如何实现物联网中“物”的安全定位已经是当下的研究重点之一,安全定位算法在物联网(internetofthings,iot)技术领域也引起人们的广泛关注。

在测距算法中,攻击者主要是通过捕获节点对定位过程实现攻击,特别是对于锚节点的捕获。未知节点的定位需要锚节点提供其位置信息和测距信息,因此当恶意锚节点参与节点定位时,势必会造成错误的定位结果。攻击者对于锚节点的攻击可以分为两个方面:一是篡改锚节点的位置,攻击者可以移动或隔离锚节点,使得未知节点接收到锚节点错误的位置信息,估计出错误的位置。二是对测距过程进行干扰。如在rssi(receivedsignalstrengthindicator)中,攻击者可以通过噪声增大传输信号的衰减,导致测量距离大于实际距离。在toa(timeofarrival)中则可以延迟信号的响应时间,增大信号的传输时间,干扰定位过程。

针对上面描述的锚节点捕获攻击问题,各种算法从不同角度研究了wsns中定位过程的安全性问题,取得了一定的研究成果,为进一步的研究提供了参考与借鉴。但是现有的安全定位算法仍存在一些不足:在一些算法中,对于恶意节点的行为特征的检测精度并不高,存在检测不出来的情况,并且检测方法复杂度太高,间接增大了传感器节点的功耗,缩减了网络的寿命,有些还利用了额外的专用硬件,对于大规模网络来说成本太大。普适性差,通常只能对特定场景的攻击起到作用,而随着相关技术的发展,各种各样的攻击手段层出不穷,无法预料,因此也是防不胜防的。



技术实现要素:

为了克服现有技术的缺陷,本发明提供一种无线传感器网络中基于测距的安全定位方法,将聚类、一致性评价的思想引入到无线传感器网络的安全定位中,提高了定位精度,保证定位的有效性。

针对以上目的,本发明采用的技术方案如下:

一种无线传感器网络中基于测距的安全定位方法,包括如下步骤:

s1:收集数据

利用两种不同的测距算法,具体为toa和rssi,测量所有在未知节点通信范围内的锚节点与未知节点间的距离;当在未知节点范围内的锚节点数量大于3时,取其中一种测距算法得出的n个测量值中的任意三个进行未知节点的定位,得到个初始定位结果;

s2:聚类

设定聚类算法中的初始邻域值∈和邻域内样本数的阈值mp,并令初始定位结果作为样本进行多次聚类,得到多个聚类结果;在多次聚类过程中,mp保持不变,∈的值逐次增加;

将每个聚类结果中不同簇的数目定义为聚类类别数,设聚类类别数为2的聚类结果为有用聚类结果,记其中的两种不同簇为正常簇和异常簇,统计其中的样本属于两个簇中的哪一个,最终得到统计后属于正常簇的样本;

s3:建立检测模型

对于所有属于正常簇的样本,记其所对应的锚节点为参考锚节点;在未知节点范围内的锚节点中,除参考锚节点外的锚节点记为疑似恶意节点;

设节点θ为未知节点,在其通信范围内有n个锚节点。此未知节点与第i个锚节点测距的两个距离分别记为:dt和dr,dt和dr分别代表两种不同测距算法的测量值;根据正常簇的样本所对应的锚节点可以求出差值di的参考误差区间[dmin,dmax],di具体为每个参考锚节点对于两种不同测距算法的测量值的差值,即di=di-dr;

通过该参考误差区间建立伯努利随机变量;

s4:序贯概率比检验(sequentialprobabilityratiotest,sprt)

利用参考误差区间对每个疑似恶意节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点;在未知节点范围内的锚节点中,利用恶意锚节点外的锚节点得到未知节点的定位结果。

本发明主要针对节点被捕获的情况,整个方法可以分为数据收集、聚类、建立检测模型和序贯概率比检验四个阶段。在第一阶段通过两个不同的测距算法收集完数据之后得到初始定位结果,在第二阶段利用聚类算法对初始定位结果数据进行聚类,得到正常簇和异常簇,直观的展示聚类结果。在第三阶段建立检测模型,将聚类阶段中有用聚类结果中的正常簇数据作为参考,在第四阶段利用距离的两个测量值具有一致性的特点来对恶意锚节点进行检测,有效提高了恶意锚节点的检测率,从而提高了定位精度,保证定位的有效性。

进一步地,所述步骤s2中统计其中的样本属于两个簇中的哪一个,具体为:

设有用聚类结果的数量为k,包括两种不同簇,即正常簇和异常簇;对每个有用聚类结果在正常簇范围内的样本投票,将所得票数超过的样本划分为最终正常簇,所得票数低于或等于的样本划分为最终异常簇。

进一步地,初始邻域值∈=0,mp=3,在多次聚类过程中,若第一次聚类结果的聚类类别数不为2,则∈的值在下次聚类时增加1,直到聚类结果的聚类类别数为2;之后∈的值在每次聚类时增加0.5,直到聚类结果的聚类类别数为1后,∈不再增加。

为了得到尽可能多的有用聚类结果,以及参数的变化会导致聚类结果出现较大差异,因此∈增加的步长不宜过大,而考虑算法的复杂度,也不宜过小,故本发明选择在聚类类别数为2的时候减小∈增加的步长,以增加有用聚类结果的数量,同时∈增加的步长在聚类结果的聚类类别数不为2时较大,加快了聚类的效率。

进一步地,记其中的两种不同簇为正常簇和异常簇的具体步骤为:

设簇内所有样本间的平均距离为dp,np为一个簇内所有样本的集合,m为簇内样本的个数,则dp的计算式为:

其中,dist(q,p)表示点q和p之间的距离,q,p∈np表示点q和p属于np内的样本,q≠p表示点q和p不是相同的样本;

比较这两个簇的dp值,将dp值较大的簇记为正常簇,dp值较小的簇记为异常簇。

在聚类算法中,一个簇就是从一个点出发,所有密度可达的点的集合。如果某一个点不属于任何一个簇,也就是说这个点不能由任何点密度可达,那么这个点被称为异常点。在本发明中,正常簇的数据是密度可达的,而异常簇则是由异常点组合而成的,因此存在正常簇的密度会大于异常簇。基于此,通过分别计算正常簇节点间和异常簇节点间的平均距离,比较这两个平均距离则可判定dp较大者为正常簇。

进一步地,计算参考误差区间的步骤包括:

dtij代表在基于toa的测距算法中未知节点与第i个锚节点在第j次的测量结果,drij代表在基于rssi的测距算法中未知节点与第i个锚节点在第j次的测量结果,mi(其中i=1,…,n)为第i个锚节点利用其中一种测距算法的测量次数;计算未知节点与第i个锚节点用两种测距方法的第j次的测量结果差值dij,有:

dij=dtij-drij

计算未知节点与第i个锚节点测量结果差值的均值和方差

计算方差的总估计

其中总的测量次数n=∑imi;

计算锚节点间测量结果差值的均值变异的总估计:

其中为变异的偏倚;

计算总的方差估计值

其中mh为测量次数的调和均数(harmonicmean,hm),且

计算两种测距算法差值的参考误差区间[dmin,dmax]:

基于100×(1-α)%的一致限的限值估计,得其中为标准正态分布的(1-α/2)上分位点。

上述(1-α)为置信水平,具体α取0.05。

进一步地,计算两种测距算法差值的参考误差区间[dmin,dmax]:

基于100×(1-α)%的一致限的限值估计,得有:

则有

上述所描述过计算两种测距算法差值的参考误差区间[dmin,dmax]的步骤,反映的是所测量样本的特征,并未涉及对总体的推断,会误导一致性的评价。考虑到样本存在抽样误差的问题,因此可信区间的限值才是真正的一致性限值。所以在本步骤中求出这两个限值loa1和loau的可信区间,loal的100×(1-δ)%可信区间的上下限为loau的100×(1-δ)%可信区间的上下限为将loal可信区间的下限作为参考误差区间的下限值。同理,将loau的上限作为参考误差区间的上限值。

进一步地,通过参考误差区间建立的伯努利随机变量为:

上述others指明的是di的值不在[dmin,dmax]范围时,xi=1。

进一步地,利用参考误差区间对每个疑似恶意节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点,具体包括如下步骤:

建立假设h0和h1:h0假设为锚节点没有收到攻击的情况,有p≤p0;h1假设为锚节点存在攻击的情况,有p>p1,其中p0和p1分别为预设的阈值,p为伯努利随机变量中xi=1的概率,即p(xi=1);

定义两类误检率:

假阴性γ:当h1成立时,p≤p0,即γ=p{接受h0|h1};

假阳性β:当h0成立时,p>p1,即β=p{接受h1|h0};

利用未知节点与第i个疑似恶意锚节点间的j个距离测量差值di作为观察样本,得到这j个样本的似然比λj为:

由于xi是独立同分布,因此可得:

设cj为j个观察样本中判定为xi=1的数量,则有:

其中p0=p(xi=1|h0),p1=p(xi=1|h1),且p0<p1;

通过序贯概率比检验的性质可知:

时,接受h0;

时,接受h1;

时,还需继续进行检验;

结合上述式子,可得有继续推导可得:

推导得出可允许的超过参考误差区间的次数lj为上式左边的式子和不可容忍的次数uj为上式右边的式子,具体为:

在对第i个锚节点的第j次检测中,未知节点与第i个锚节点进行第j次通信,可以得到两个测量距离dtij和drij,将dij=dtij-drij作为第j个观察样本,令cj为第j次检测时超出参考误差区间的累计次数,首先计算第i个疑似恶意锚节点的第j个观察样本的lj和uj;判断第j个观察样本是否在参考误差区间内,即判断是否满足dmin≤dij≤dmax,若是则cj保持不变;若否则cj加一,且判断此时lj<cj<uj是否成立,若是则接着判断下一个观察样本,即继续进行第j+1次检测;若否,还需判断cj≥uj还是cj≤lj,若是前者,则判定第i个疑似恶意锚节点为恶意锚节点,终止第i个锚节点的检测;若是后者,则判定第i个疑似恶意锚节点为好的锚节点,终止第i个锚节点的检测;

对所有疑似恶意锚节点进行上述步骤的判断过程,得出所有恶意锚节点。

相比于现有技术,本发明的有益效果在于:

本发明将密度聚类、一致性评价、假设检验的思想引入到无线传感器网络的安全定位中,主要基于bland-altman法对两种不同测量方法(toa,rssi)的测量结果差异求出其一致限(limitsofagreement,loa)参考误差区间,通过锚节点与未知节点的测量距离是否落在该区间内来判定锚节点是否遭受了攻击,使得算法对于恶意节点的检测率更高的同时并不会增加成本。再根据统计决策的序贯概率比检验(sequentialprobabilityratiotest,sprt)对检测结果进一步判断,有效降低了两类错误(“弃真”和“取伪”)的发生,提高了检测恶意锚节点的准确性,有效提高节点的定位精度。

附图说明

图1a和图1b是两种不同攻击模型图。

图2是本发明方法的流程图。

图3是本发明自适应多次dbscan聚类的流程图。

图4是序贯概率比检验流程图。

图5是检测率随着rssi测量误差方差变化的对比图。

图6是检测率随着toa测量误差方差变化的对比图。

图7是误检率随着rssi测量误差方差变化的对比图。

图8是误检率随着toa测量误差方差变化的对比图。

图9是roc曲线对比图。

具体实施方式

下面结合具体实施例和附图对本发明进行详细地说明。

如图1a和图1b所示的攻击模型中,攻击者对于锚节点的攻击可以分为两个方面:

一是篡改锚节点的位置信息,攻击者可以移动或隔离锚节点,使得未知节点接收到锚节点错误的位置信息,估计出错误的位置。如图1a中白色的未知节点和黑色的恶意锚节点,恶意锚节点将正确的位置m改为错误的位置m’。

二是对测距过程进行干扰,在toa中可以延迟信号的响应时间,增大信号的传输时间,干扰定位过程。但是归根到底,都可以看作是距离的变化,如图1b中,锚节点a和未知节点u进行通信测量节点的距离,恶意锚节点m释放干扰信号,使未知节点u接收不到a所发出的信号。并且恶意锚节点m将来自节点a的信号延迟一段时间之后再发送给未知节点u。假设在没有攻击的情况下,锚节点a在tt时刻发送一个信号,未知节点u在tr时刻收到该信号,那么可以计算出a和u之间的距离为dau=v(tr-tt)。当存在攻击时,节点u在tr+δt时刻收到信号,那么测量出来的距离将会是dauˊ=v(tr-tt+δt)。节点a和u之间的距离改变值为v*δt,未知节点利用攻击后的距离进行定位将会出现较大的定位误差。

toa技术是根据发送器发出信号的时间和接收器收到信号的时间差,乘以无线电波在介质中的传播速度,得到两者间的距离。它需要节点间精确的时间同步,gps是使用toa技术的典型定位系统。在本专利中,使用以下模型:锚节点与未知节点信号传输时间为未知节点的真实位置坐标为θ=[xθ,yθ],锚节点的位置坐标a=[x,y],d(θ,a)表示未知节点与锚节点之间的真实距离,υp为信号传播速度,w为测量误差,是均值为0,方差为的正态分布变量,即rssi技术则是将无线信号的传输损耗转换成距离,依赖于信号的传播和衰落模型。在本专利中,使用以下模型,未知节点的接收信号强度为pt是从锚节点发送信号的功率,α是路径衰落系数,d0是参考距离(一般取1米),是测量误差,是均值为0,方差为的正态分布变量。恶意锚节点对定位的影响都可以看作是对距离的影响,因此建立攻击模型如下:传输时间其中是攻击项,是均值为μδ,方差为的正态分布变量。

如图2所示的一种无线传感器网络中基于测距的安全定位方法,包括如下步骤:

s1:收集数据

利用两种不同的测距算法,具体为toa和rssi,测量所有在未知节点通信范围内的锚节点与未知节点间的距离,并建立该未知节点的邻居信息链表,主要包括锚节点的序号、位置信息和距离的两个测量值(toa和rssi);当邻居信息链表中锚节点的个数n大于3时,从这n个锚节点的toa测量值中任意选择3个利用三边测量法进行定位,得到个关于未知节点的初始定位结果;

s2:自适应多次dbscan(density-basedspatialclusteringofapplicationswithnoise)聚类

在dbscan算法中,∈表示邻域值,mp表示邻域内样本数阈值,预设∈和mp,并令初始定位结果作为样本进行多次聚类,得到多个聚类结果;在多次聚类过程中,mp保持不变,∈的值逐次增加;

初始邻域值∈=0,mp=3,在多次聚类过程中,若第一次聚类结果的聚类类别数不为2,则∈的值在下次聚类时增加1,直到聚类结果的聚类类别数为2;之后∈的值在每次聚类时增加0.5,直到聚类结果的聚类类别数为1后,∈不再增加。

将每个聚类结果中不同簇的数目定义为聚类类别数,设聚类类别数为2的聚类结果为有用聚类结果,记其中的两种不同簇为正常簇和异常簇,统计其中的样本属于两个簇中的哪一个,最终得到统计后属于正常簇的样本;

记其中的两种不同簇为正常簇和异常簇的具体步骤为:

设簇内所有样本间的平均距离为dp,np为一个簇内所有样本的集合,m为簇内样本的个数,则dp的计算式为:

其中,dist(q,p)表示点q和p之间的距离,q,p∈np表示点q和p属于np内的样本,q≠p表示点q和p不是相同的样本;

比较两个簇的dp值,将dp值较大的簇记为正常簇,dp值较小的簇记为异常簇。

如图3所示,具体为:

s201:∈=0,mp=3,i=0,k=0;

s202:∈++,i++;

s203:进行第i次dbscan聚类过程,并得到第i个聚类结果;

s204:判断第i个聚类结果聚类类别数是否大于2,若是则返回步骤s202;

s205:记录第i个聚类结果;

s206:∈=∈+0.5,i++;

s207:进行第i次dbscan聚类过程,并得到第i个聚类结果;

s208:判断聚类结果的聚类类别数是否等于2,若否则丢弃第i个聚类结果;

s210:记录第i个聚类结果;

s211:判断第i个聚类结果聚类类别数是否为1,若否则返回步骤s206;

s212:得到n个聚类类别数为2的聚类结果,记这些聚类结果为有用聚类结果;

s213:k++;

s214:输入第k个聚类结果;

s215:计算聚类结果中的样本数量m;

s216:设r=0,用or来表示第r个样本;

s217:r++;

s218:判定样本or是否在正常簇内,若是,则vkr=1;若否,则vkr=0;

s219:判断r是否小于等于m,若是,则返回步骤s217;

s220:判断k是否小于等于n,若是,则返回步骤s213;

s221:r=0;

s222:r++;

s223:计算样本or的投票数

s224:判断vr是否大于n/2,若否,则判定样本or属于异常簇;

s225:判断r是否小于等于m,若是,则返回步骤s222;

s226:最终得到修正后的正常簇和异常簇。

s3:建立检测模型

在未知节点与在其通信范围内的锚节点进行通信时,可以利用两种测距方法(rssi,toa)得到未知节点和任意一个锚节点之间距离的两个测量值。在没有攻击时,这两个测量值是具有一致性的。也就是说,它们之间的差值在一个可接受的范围内,将这个范围定义为参考误差区间。基于前面所述的攻击模型,当存在攻击时,主要的攻击在于toa上,那么toa测量值的误差将会增大,那么两个测量值的差值可能会超出参考误差区间,从而能够根据这个特征识别出恶意锚节点。

对于所有属于正常簇的样本,记其所对应的锚节点为参考锚节点;在未知节点范围内的锚节点中,除参考锚节点外的锚节点记为疑似恶意节点;

设节点θ为未知节点,在其通信范围内有n个锚节点。此未知节点与第i个锚节点测距的两个距离分别记为:dt和dr,dt和dr分别代表两种不同测距算法的测量值;根据正常簇的样本所对应的锚节点可以求出差值di的参考误差区间[dmin,dmax],di具体为每个参考锚节点对于两种不同测距算法的测量值的差值,即di=dt-dr;

通过该参考误差区间建立伯努利随机变量为:

上述others指明的是di的值不在[dmin,dmax]范围时,xi=1。

s4:序贯概率比检验(sequentialprobabilityratiotest,sprt)

利用参考误差区间对每个疑似恶意节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点;在未知节点范围内的锚节点中,利用恶意锚节点外的锚节点,使用最小二乘法得到未知节点的定位结果。

基于一种基于聚类和一致性评价的恶意节点检测算法(maliciousnodesdetectionusingclusteringandconsistency,mndcc),计算参考误差区间的步骤包括:

dtij代表在基于toa的测距算法中未知节点与第i个锚节点第j次的测量结果,drij代表在基于rssi的测距算法中未知节点与第i个锚节点第j次的测量结果,mi(其中i=1,…,n)为第i个锚节点利用其中一种测距算法的测量次数;计算未知节点与第i个锚节点用两种测距方法的第j次的测量结果差值dij,有:

dij=dtij-drij

计算未知节点与第i个锚节点测量结果差值的均值和方差

计算方差的总估计

其中总的测量次数n=∑imi;

计算锚节点间测量结果差值的均值变异的总估计:

其中为变异的偏倚;

计算总的方差估计值

其中mh为测量次数的调和均数(harmonicmean,hm),且

计算两种测距算法差值的参考误差区间[dmin,dmax]:

基于100×(1-α)%的一致限的限值估计,得其中为标准正态分布的(1-α/2)上分位点。

上述(1-α)为置信水平,具体α取0.05。

基于一种改进的基于聚类和一致性评价的恶意节点检测方法(enhancedmaliciousnodesdetectionusingclusteringandconsistency,emndcc),计算两种测距算法差值的参考误差区间[dmin,dmax]的步骤为:

基于100×(1-α)%的一致限的限值估计,得有:

则有

mndcc中计算两种测距算法差值的参考误差区间[dmin,dmax]的步骤,反映的是所测量样本的特征,并未涉及对总体的推断,会误导一致性的评价。考虑到样本存在抽样误差的问题,因此可信区间的限值才是真正的一致性限值。所以在emndcc中求出这两个限值loa1和loau的可信区间,loal的100×(1-δ)%可信区间的上下限为loau的100×(1-δ)%可信区间的上下限为将loal可信区间的下限作为参考误差区间的下限值。同理,将loau的上限作为参考误差区间的上限值。

利用参考误差区间对每个疑似恶意节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点,具体包括如下步骤:

如果p小于或等于一个预定的阈值p',则该锚节点可能不是恶意锚节点。如果p大于这个阈值p',则该锚节点可能是恶意锚节点。那么决定该锚节点是不是恶意锚节点的问题可以描述为一个假设检验的问题,其中零假设为p≤p',备择假设为p>p'。但是p'难以确定,为降低假设检验所导致的错误,设定两极限值p0和p1。

建立假设h0和h1:h0假设为锚节点没有收到攻击的情况,有p≤p0;h1假设为锚节点存在攻击的情况,有p>p1,其中p0和p1分别为预设的阈值,p为伯努利随机变量中xi=1的概率,即p(xi=1);

定义两类误检率:

假阴性γ:当h1成立时,p≤p0,即γ=p{接受h0|h1};

假阳性β:当h0成立时,p>p1,即β=p{接受h1|h0};

利用未知节点与第i个疑似恶意锚节点间的j个距离测量差值di作为观察样本,得到这j个样本的似然比λj为:

由于xi是独立同分布,因此可得:

设cj为j个观察样本中判定为xi=1的数量,则有:

其中p0=p(xi=1|h0),p1=p(xi=1|h1),且p0<p1;

通过序贯概率比检验的性质可知:

时,接受h0;

时,接受h1;

时,还需继续进行检验;

结合上述式子,可得有继续推导可得:

推导得出允许的超过参考误差区间的次数lj为上式左边的式子和不可容忍的次数uj为上式右边的式子,具体为:

在对第i个锚节点的第j次检测中,未知节点与第i个锚节点进行第j次通信,可以得到两个测量距离dtij和drij,将dij=dtij-drij作为第j个观察样本,令cj为第j次检测时超出参考误差区间的累计次数,首先计算第i个疑似恶意锚节点的第j个观察样本的lj和uj;判断第j个观察样本是否在参考误差区间内,即判断是否满足dmin≤dij≤dmax,若是则cj保持不变;若否则cj加一,且判断此时lj<cj<uj是否成立,若是则接着判断下一个观察样本,即继续进行第j+1次检测;若否,则还需判断cj≥uj还是cj≤lj,若是前者,则判定第i个疑似恶意锚节点为恶意锚节点,终止第i个锚节点的检测,若是后者,则判定第i个疑似恶意锚节点为好的锚节点,终止第i个锚节点的检测;

lj和uj是随着j变大的,并且它们每次增大的值不大于1,即(lj+1-lj)<1,(uj+1-uj)<1。证明如下:

因为p1>p0,因此有所以那么(lj+1-lj)<1,同理有(uj+1-uj)<1;

随着j的变化,cj的值也调整,但它是非减的,即它的值变大或者不变;因为lj是必然增加的,但是cj却不是必然增加的,随着检测次数的增加,cj总会出现小于lj的情况,因此这个循环是必然能跳出的;另一方面,因为uj每次增加的值都小于1,而cj增加的值则是1,也就是说cj每次增加的值是大于uj每次增加的值的,所以当检测次数增多时,cj累计的值也是能大于uj的,因此这个循环也是能够跳出的。整个执行流程如图4所示。具体为:

s401:i=1,j=1,cj=0;

s402:计算第i个疑似恶意锚节点的第j个观察样本的lj和uj;

s403:判断第j个观察样本是否在参考误差区间内,若否,则cj++;

s404:判断lj<cj<uj是否成立,若是,则j++,并且返回步骤s402;

s405:判断cj≥uj是否正确,若是,则判定第i个疑似恶意锚节点为恶意锚节点,若否,则判定第i个疑似恶意锚节点为良好节点;

s406:i++,j=1,cj=0,并返回步骤s402,直至所有疑似恶意锚节点被全部判定。

为了比较本发明提出基于测距的无线传感器网络安全定位方法的性能,下面进行计算机仿真。具体操作为,未知节点与锚节点之间进行通信,并分别用toa技术和rssi技术测量距离,仿真本方法对于恶意锚节点的检测率和误检率。

在关于检测的问题上,存在四种情况,分别是

(1)当锚节点是恶意锚节点时,能够正确检测出来,用tp(truepositive)来表示正确检测恶意锚节点的数目;

(2)当锚节点是恶意锚节点时,不能检测出来,认为该节点是良好节点,用fn(falsenegative)来表示不能正确检测恶意锚节点的数目;

(3)当锚节点是良好锚节点时,错误地将其判断为恶意锚节点,用fp(falsepositive)来表示错误检测为良好节点的数目;

(4)当锚节点是良好锚节点时,正确判断出来,用tn(truenegative)来表示正确检测良好锚节点的数目。

本文所述的检测率为当锚节点为恶意锚节点时能够检测出来的比例,用tpr(truepositiverate)表示,并有tpr=tp/(tp+fn)。本文所述的误检率则为当锚节点为良好节点时被错误判断为恶意锚节点的比例,用fpr(falsepositiverate),并有fpr=fp/(fp+tn)。

图5显示是不同的rssi测量误差的标准差(σε)下,mndcc和emndcc检测率的变化趋势图。从图中可以看出,随着σε的增大,检测率逐渐降低,这是因为随着测量误差的增大,测量的距离结果变大了,导致参考误差区间也变大了,因此有些恶意锚节点的距离差值在参考误差区间之内,不能被检测出来。另外,emndcc的检测率要低于mndcc,这是因为emndcc的参考误差区间长度是要大于mndcc的。同理的还有图6,在不同的toa测量误差的标准差(σw)下,mndcc和emndcc检测率的变化趋势图,也表明了emndcc的检测率要低于mndcc。

除了比较检测率之外,还需要去比较误检率。图7显示的是不同σε下误检率的变化趋势,图8显示的是不同σw下误检率的变化趋势,由图可以看出emndcc的误检率要低于mndcc。因此不能从单一的检测率或误检率来说明算法的好坏。因此采用roc曲线来进行性能的评价。roc空间将误检率定义为x轴,检测率定义为y轴,定义auc为roc曲线下的面积,显然,auc越大,即roc曲线越接近左上角,性能越好。

图9显示的是本专利方法mndcc和emndcc与elsa的roc曲线的对比图,由图可知,mndcc和emndcc的auc要远大于elsa,并且emndcc的auc要稍好于mndcc,有效证明了本专利方法在相同误检率的情况下,其检测率更高。

上面提及的elsa,全称为enhancedlocationspoofindetectionusingaudibility(elsa),是文章geo-spatiallocationspoofingdetectionforinternetofthings上面提出的算法,发表在ieeeinternetofthingsjournal,具体的信息为:

y.k.jing,i.nevat,d.leong,w.c.wong,geo-spatiallocationspoofingdetectionforinternetofthings[j],ieeeinternetofthingsjournal,vol.3,no.6,pp.971-978,dec.2016。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1