1.一种无线传感器网络中基于测距的安全定位方法,其特征在于,包括如下步骤:S1:收集数据
利用两种不同的测距算法,测量所有在未知节点通信范围内的锚节点与未知节点间的距离;当在未知节点范围内的锚节点数量大于3时,取其中一种测距算法得出的n个测量值中的任意三个进行未知节点的定位,得到 个初始定位结果;
S2:聚类
设定聚类算法中的初始邻域值∈和邻域内样本数的阈值Mp,并令初始定位结果作为样本进行多次聚类,得到多个聚类结果;在多次聚类过程中,Mp保持不变,∈的值逐次增加;
将每个聚类结果中不同簇的数目定义为聚类类别数,设聚类类别数为2的聚类结果为有用聚类结果,记其中的两种不同簇为正常簇和异常簇,统计其中的样本属于两个簇中的哪一个,最终得到统计后属于正常簇的样本;
S3:建立检测模型
对于所有属于正常簇的样本,记其所对应的锚节点为参考锚节点;在未知节点范围内的锚节点中,除参考锚节点外的锚节点记为疑似恶意锚节点;
设节点θ为未知节点,在其通信范围内有n个锚节点;此未知节点与第i个锚节点测距的两个距离分别记为:dt和dr,dt和dr分别代表两种不同测距算法的测量值;根据正常簇的样本所对应的锚节点可以求出差值Di的参考误差区间[Dmin,Dmax],其中Di=dt-dr;
通过该参考误差区间建立伯努利随机变量;
S4:序贯概率比检验(Sequential Probability Ratio Test,SPRT)利用参考误差区间对每个疑似恶意锚节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点;在未知节点范围内的锚节点中,利用恶意锚节点外的锚节点得到未知节点的定位结果。
2.根据权利要求1所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,所述步骤S2中统计其中的样本属于两个簇中的哪一个,具体为:设有用聚类结果的数量为k,包括两种不同簇,即正常簇和异常簇;对每个有用聚类结果在正常簇范围内的样本投票,将所得票数超过 的样本划分为最终正常簇,所得票数低于或等于 的样本划分为最终异常簇。
3.根据权利要求1所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,初始邻域值∈=0,邻域内样本数阈值Mp=3,在多次聚类过程中,若第一次聚类结果的聚类类别数不为2,则∈的值在下次聚类时增加1,直到聚类结果的聚类类别数为2;之后∈的值在每次聚类时增加0.5,直到聚类结果的聚类类别数为1后,∈不再增加。
4.根据权利要求1所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,记其中的两种不同簇为正常簇和异常簇的具体步骤为:设簇内所有样本间的平均距离为Dp,Np为一个簇内所有样本的集合,m为簇内样本的个数,则Dp的计算式为:其中,dist(q,p)表示点q和p之间的距离,q,p∈Np表示点q和p属于Np内的样本,q≠p表示点q和p不是相同的样本;
比较两个簇的Dp值,将Dp值较大的簇记为正常簇,Dp值较小的簇记为异常簇。
5.根据权利要求1所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,计算参考误差区间的步骤包括:dtij代表在基于ToA的测距算法中未知节点与第i个锚节点第j次的测量结果,drij代表在基于RSSI的测距算法中未知节点与第i个锚节点第j次的测量结果,mi为第i个锚节点利用其中一种测距算法的测量次数,i=1,…,n;计算未知节点与第i个锚节点用两种测距方法的第j次的测量结果差值Dij,有:Dij=dtij-drij
计算未知节点与第i个锚节点测量结果差值的均值 和方差si2:计算方差si2的总估计sa2:
其中总的测量次数N=∑imi;
计算锚节点间测量结果差值的均值 变异的总估计:
其中 为变异的偏倚;
计算总的方差估计值st2:
其中mh为测量次数的调和均数,且
计算两种测距算法差值的参考误差区间[Dmin,Dmax]:基于100×(1-α)%的一致限的限值估计,得 和其中 为标准正态分布的(1-α/2)上分位点;
所述(1-α)为置信水平,具体α取0.05。
6.根据权利要求5所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,计算两种测距算法差值的参考误差区间[Dmin,Dmax]:基于100×(1-α)%的一致限的限值估计,得 和有:
则有
7.根据权利要求1所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,通过参考误差区间建立的伯努利随机变量为:
8.根据权利要求7所述的一种无线传感器网络中基于测距的安全定位方法,其特征在于,利用参考误差区间对每个疑似恶意锚节点进行序贯概率比检验,判断疑似恶意锚节点是否为恶意锚节点,具体包括如下步骤:建立假设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的,因此这个循环也是能够跳出的;
对所有疑似恶意锚节点进行上述步骤的判断过程,得出所有恶意锚节点。