利索能及
我要发布
收藏
专利号: 2018104274085
申请人: 中山大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-08
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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的,因此这个循环也是能够跳出的;

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