利索能及
我要发布
收藏
专利号: 2021111353191
申请人: 金陵科技学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,该方法由某个节点vi收到其某个邻居节点发出的事件数据报R之后执行,包括以下步骤:S1:从事件数据报R中提取出数据报标识;

S2:若节点vi不是事件数据报R的指定接收者,则转至步骤S3,若节点vi是事件数据报R的指定接收者,即节点vi是事件数据报R的转发节点,则转至步骤S4;

S3:节点vi检测本地存储的数据报标识表RIList中是否存储过事件数据报R的数据报标识,若存储过,则转至步骤S5,否则,将事件数据报R的数据报标识存储至RIList表中,转至步骤S5;

S4:节点vi对事件数据报R进行验证,识别事件数据报R是否为重放数据报或虚假数据报,若事件数据报R被判定为重放数据报或虚假数据报,则验证不通过,丢弃事件数据报R,转至步骤S5;否则,将事件数据报R转发给下一跳转发节点,转至步骤S5;

S5:结束;

所述事件数据报R的格式为{LE,tE,E,C,ID1,L1,i1,……,IDT,LT,iT,F},其中,LE是事件的位置;tE是检测到事件的时间;E为事件的数据;C是生成事件数据报R的CoS节点上计数器的值,所述CoS节点每生成1个事件数据报,其C的值加1;该事件有T个认证节点,{IDj,Lj,ij}分别为该事件的第j个认证节点的标识、位置和密钥索引,其中第1个认证节点是CoS节点,各认证节点的密钥索引属于不同的密钥分区,1≤j≤T;F是采用布隆过滤器技术使用N个独立的散列函数分别对各认证节点提供的消息验证码Mj进行映射得到的字符串,F中1的个数不超过N×T,Mj的计算公式为: 其中||表示流连接,IDCoS即为ID1,该公式表示用密钥索引为ij的密钥 对{IDCoS||C||LE||E}进行加密;步骤S1从事件数据报R中提取出的数据报标识为{ID1,C}。

2.根据权利要求1所述的一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,所述步骤S4中,节点vi对事件数据报R进行验证,识别事件数据报R是否为重放数据报或虚假数据报,包括以下步骤:

S41:节点vi检测本地存储的数据报标识表RIList中是否存储过事件数据报R的数据报标识{ID1,C},若存储过,则判定事件数据报R是重放数据报,丢弃事件数据报R,否则,将{ID1,C}存储至RIList表中,继续执行步骤S42;

S42:检查事件数据报R的格式是否完整、F中是否最多含有N×T个1,以及事件数据报R中密钥索引是否属于不同的密钥分区,若事件数据报R的格式不完整,或者F中1的个数超过N×T,或者事件数据报R中存在属于相同密钥分区的密钥索引,则判定事件数据报R是虚假数据报,丢弃事件数据报R,否则,继续执行步骤S43;

S43:验证事件数据报R中认证节点位置的合理性,即应满足事件位置LE和各认证节点的位置Lj的距离d(LE,Lj)≤Rs,1≤j≤T,其中,Rs为传感器节点的感知半径,若验证不通过,则判定事件数据报R是虚假数据报,丢弃事件数据报R,否则,继续执行步骤S44;

S44:若节点vi持有事件数据报R中某个认证节点使用的密钥K,则计算消息验证码然后计算消息验证码M的每个散列值并查看F中相应位是否为1,若相应位不为1,则判定事件数据报R是虚假数据报,丢弃事件数据报R,否则,继续执行步骤S45;

S45:若事件数据报R中某个认证节点的位置在节点vi的通信范围内,则节点vi执行基于多播路由的认证信息真实性验证算法,验证事件数据报R中各认证节点是否向CoS节点提供过该事件的认证信息,以及其位置和密钥索引是否正确,若验证不通过,则判定事件数据报R是虚假数据报,丢弃事件数据报R,否则,判定事件数据报R是合法数据报,将事件数据报R转发给下一跳转发节点。

3.根据权利要求2所述的一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,所述S45步骤中,基于多播路由的认证信息真实性验证算法由节点vi向事件数据报R中非其邻居的认证节点发送ASK消息,以求证认证信息的真实性,包括以下步骤:(D)

D1:节点vi初始化接收ASK消息的目的节点集合为V ={vID1,vID2,……,vIDT};

D2:对于事件数据报R中的每个认证节点vIDj,1≤j≤T,如果认证节点vIDj是节点vi的邻(D) (D’)

居,即距离d(Lj,Lvi)≤Rc,Rc为各个节点的通信半径,则将其从V 中删除,并加入V ;

(D’) (D’) (D’)

D3:若V 为空,则转步骤D4;若V 不为空,则对于V 中的每一个认证节点,节点vi检查本地的认证信息记录表EIList中是否存有该认证节点为事件数据报R提供的认证信息记录,如果没有存储该认证信息记录,或者记录中该认证节点的位置及密钥索引与事件数据报R中该认证节点的位置及密钥索引不一致,则认为事件数据报R中认证信息真实性验证不通过,否则继续执行步骤D4;

(D) (D)

D4:若V 为空,则认为事件数据报R中认证信息真实性验证通过;若V 不为空,则节点(D)

vi启动定时器,定时时间应根据V 中的各认证节点到节点vi的最远距离、无线传感器网络的链路质量及具体应用对时延的要求因素来设定,准备接收各认证节点发回的REPLY消息,并继续执行步骤D5;

D5:不考虑为多播树产生分支,选择下一跳转发节点vk;

D6:考虑为多播树产生两个分支,选择下一跳的两个转发节点vk1和vk2;

D7:决定多播树是否引入分支,若不进行分支,选择步骤D5中的节点vk作为下一跳转发节点,节点vi将ASK消息发送给节点vk;若进行分支,选择步骤D6中的节点vk1和vk2作为下一跳转发节点,节点vi将ASK消息拆分为ASK1消息和ASK2消息,分别发给节点vk1和vk2;

(D)

D8:定时结束后,若节点vi收到了V 中所有认证节点的REPLY消息,则认为事件数据报R中认证信息真实性验证通过;否则,认为数据报的认证信息真实性验证不通过。

4.根据权利要求3所述的一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,所述步骤D5包括:

(D)

按照公式(1)~(3)计算节点vi相对于其各个邻居节点vt的ap(vi,vt,V ),所述各个邻(D)

居节点vt不包括给节点vi发送事件数据报R的邻居节点,其中,ap(vi,vt,V )为节点vi相对(D) (D) (D)

于节点vt到集合V 的平均前进,cp(vi,vt,V )为节点vi相对于节点vt到集合V 的累积前(D) (D) (D) (D)

进,|V |为V 中节点的个数,cd(v,V )为节点v到V 中各节点的累积距离,d(v,w)为节点v和节点w之间的欧式距离;然后从中选出平均前进最大的邻居节点vk作为下一跳转发节点;

(D) (D) (D)

ap(vi,vt,V )=cp(vi,vt,V )/|V |    (1)(D) (D) (D)

cp(vi,vt,V )=cd(vi,V )‑cd(vt,V )   (2)

5.根据权利要求3所述的一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,所述步骤D6包括:

在节点vi的邻居节点中任选两个节点v1和v2,给节点vi发送事件数据报R的邻居节点除(D)

外,将V 中的各目的节点按照到节点v1和v2距离较近的原则,划分到节点v1的目的节点集(D1) (D2) (D1)

合V 或节点v2的目的节点集合V 中,计算节点vi相对于节点v1到集合V 的平均前进(D1) (D2) (D2)

ap1=ap(vi,v1,V )和节点vi相对于节点v2到集合V 的平均前进ap2=ap(vi,v2,V ),然后全局选出使得(ap1+ap2)/2最大的两个邻居节点组合作为下一跳的两个转发节点,从而形成两个分支。

6.根据权利要求3所述的一种应用于无线传感器网络的虚假数据途中过滤方法,其特征在于,所述步骤D7中决定多播树是否引入分支包括:根据步骤D5和步骤D6的平均前进,决定是否引入分支,若步骤D5中最大的平均前进≥步骤D6中最大的(ap1+ap2)/2,则不进行分支,选择步骤D5中的节点vk作为下一跳转发节(D) (D) (D) (D)

点,节点vi将ASK消息发送给节点vk,所述ASK消息内含{ID1,C,IDvi,V ,L ,i },其中L(D) (D)

和i 分别是事件数据报R中提供的V 中各认证节点的位置集合和密钥索引集合;

若步骤D5中最大的平均前进<步骤D6中最大的(ap1+ap2)/2,则进行分支,选择步骤D6中的节点vk1和vk2作为下一跳转发节点,节点vi将ASK消息拆分为ASK1消息和ASK2消息,分别(D1) (D1) (D1) (D1) (D1)发给节点vk1和vk2,所述ASK1消息内含{ID1,C,IDvi,V ,L ,i },其中L 和i 分别是(D1)

目的节点集合V 中各认证节点的位置集合和密钥索引集合;所述ASK2消息内含{ID1,C,(D2) (D2) (D2) (D2) (D2) (D2)IDvi,V ,L ,i },其中L 和i 分别是目的节点集合V 中各认证节点的位置集合和密钥索引集合;

(D)

若不进行分支,节点vk收到ASK消息后,将V 中位置在节点vk的通信范围内的目的节点(D’) (D’) (D’) (D’)删除,并加入V ;若V 不为空,则节点vk广播ASK消息,内含{ID1,C,IDvi,V ,L ,i(D’) (D’)

},V 中的认证节点vIDj收到广播的ASK消息后,若自己确实为该事件数据报R提供过认证信息,并且ASK消息中给出的自己的位置和密钥索引是正确的,则按照收到ASK消息的路(D)

由给节点vi发回REPLY消息,内含{ID1,C,IDvi,IDj};若V 不为空,则节点vk按照步骤D5~D7(D)

的方法选择ASK消息的下一跳转发节点,直到将ASK消息转发到V 中所有被验证的认证节点的位置;若进行分支,节点vk1和vk2对ASK消息的转发处理同节点vk。