有效
无线传感器网络的防串谋攻击方法及系统
邹洪森、刘志远、王于波、王峥、李良、奥琛、吴超、杨文、丁岳
国网宁夏电力有限公司
摘要
本发明公开了一种无线传感器网络的防串谋攻击方法及系统,该方法包括:基站对所有传感器通信节点进行分簇;在每个簇的簇头收集消息时在其转发的历史行为中随机选择一个转发记录发送给代理节点,若没有收到代理节点的反馈,则代理节点被标记为恶意节点;在每个簇的簇头消息转发过程中代理节点监控簇头是否存在恶意行为,若存在则将簇头标记成恶意节点;在每个簇中的簇头消息转发过程中,簇成员节点监控簇头的消息转发情况,当簇成员节点监控到簇头的消息转发出现异常并且没有收到代理节点广播该簇头是恶意节点的消息,则簇成员节点将该簇头和该代理节点均标记为恶意节点,该防串谋攻击方法及系统能够抵制串谋攻击防御,增强网络安全性能。
1.一种无线传感器网络的防串谋攻击方法,所述无线传感器网络包括基站和基站监测范围内的多个传感器通信节点,其特征在于,所述无线传感器网络的防串谋攻击方法包括:所述基站对所有传感器通信节点进行分簇,其中,每个簇中分为簇头、代理节点以及簇成员节点;接收所述簇中传感器通信节点发送的恶意节点指示信息,其中,所述恶意节点指示信息是所述传感器通信节点在检测到所述簇中存在恶意节点后发送的;所述接收所述簇中传感器通信节点发送的恶意节点指示信息包括:接收所述簇中簇头发送的指示代理节点为恶意节点的第一指示信息,其中,在每个簇的簇头收集消息时,在其转发的历史行为中随机选择一个转发记录发送给所述代理节点,若所述簇头没有收到所述代理节点的反馈,则所述代理节点被所述簇头标记为恶意节点,同时向该簇内的所述簇成员节点进行广播并将所述代理节点移除出簇内路由表,并选取新的代理节点;所述接收所述簇中传感器通信节点发送的恶意节点指示信息包括:接收所述簇中代理节点发送的指示簇头为恶意节点的第二指示信息,其中,在每个簇的簇头消息转发过程中,所述代理节点监控所述簇头是否存在恶意行为,若存在恶意行为则所述代理节点将所述簇头标记成恶意节点,同时对该簇内的所述簇成员节点进行广播并将该簇头移除出簇内路由表,并且将该代理节点选作临时簇头,同时在该簇内的所述簇成员节点中选取出临时代理节点,其中,所述恶意行为包括丢包行为、篡改消息行为中的一个或多个;所述接收所述簇中传感器通信节点发送的恶意节点指示信息包括:接收所述簇中簇成员节点发送的指示簇头和代理节点为恶意节点的第三指示信息,其中,在每个簇中的簇头消息转发过程中,所述簇成员节点监控所述簇头的消息转发情况,当所述簇成员节点监控到所述簇头的消息转发出现异常并且没有收到所述代理节点广播该簇头是恶意节点的消息,则所述簇成员节点将该簇头和该代理节点均标记为恶意节点并移除出簇成员路由表,并且重新选取簇头和代理节点。
2.如权利要求1所述的无线传感器网络的防串谋攻击方法,其特征在于,所述基站对所有传感器通信节点进行分簇包括:所述基站首先根据所有传感器通信节点的地理位置将所有传感器通信节点划归为多个区域;将簇半径设为节点通信半径的二分之一并确定每个区域的簇的数量;将每个簇中健康值最高且距离基站最近的传感器通信节点选作每个簇的簇头;将每个簇中除所述簇头之外的传感器通信节点中健康值最高的传感器通信节点选作每个簇的代理节点,当多个传感器通信节点的健康值均为最高时,则将其中与基站距离较近的节点选作每个簇的代理节点。
3.如权利要求2所述的无线传感器网络的防串谋攻击方法,其特征在于,当 每个区域的簇的数量为1,当 每个区域的簇的数量为 其中,Z A 代表某一区域的面积,Z opt 代表最优簇面积, 其中D代表节点到基站的距离,L代表每个区域的边长,M代表簇内节点个数。
4.如权利要求2所述的无线传感器网络的防串谋攻击方法,其特征在于,将每个簇中的健康值最高的传感器通信节点选作每个簇的簇头的步骤之前,还包括:采用 计算所述健康值,其中H(i)代表传感器通信节点i的健康值,E residual (i)代表传感器通信节点i的节点剩余能量比, 代表传感器通信节点i的平均信任值,α为权重值。
5.如权利要求1所述的无线传感器网络的防串谋攻击方法,其特征在于,选取新的代理节点的步骤包括:在簇成员节点中选取健康值最高的传感器通信节点作为新的代理节点,当多个传感器通信节点的健康值均最高时,则将其中距离基站较近的传感器通信节点选作新的代理节点。
6.如权利要求1所述的无线传感器网络的防串谋攻击方法,其特征在于,选取所述临时代理节点包括:在簇成员节点中选取健康值最高的传感器通信节点作为所述临时代理节点,当多个传感器通信节点的健康值均最高时,则将其中距离基站较近的传感器通信节点选作所述临时代理节点。
7.如权利要求1所述的无线传感器网络的防串谋攻击方法,其特征在于,所述防串谋攻击方法还包括对所述每个簇进行维护,维护簇的方法包括:当每个簇中的代理节点无法获取来簇头的消息时,则该代理节点作为临时簇头,直到选出新的簇头;当每个簇的代理节点和簇头都离开时,重新分簇或者对该簇重新选取新的簇头和代理簇头;当每个簇的簇头一定时间内没有收到来自簇成员节点的消息时,通知代理节点来判断该簇成员节点是否离开,若该代理节点在该时间内同样没有收到来自该簇成员的消息时,则判定该簇成员节点已经离开;当有新的传感器通信节点进入到某个簇的范围内时,则通过其邻居节点计算该传感器通信节点的健康值,若该传感器通信节点的健康值低于该簇的平均健康值,则拒绝该传感器通信节点加入该簇。
8.一种无线传感器网络的防串谋攻击系统,所述无线传感器网络包括基站和基站监测范围内的多个传感器通信节点,其特征在于,所述无线传感器网络的防串谋攻击系统包括:分簇模块,所述基站通过所述分簇模块对所有传感器通信节点进行分簇,每个簇中分为簇头、代理节点以及簇成员节点;恶意节点指示信息接收模块,用于接收所述簇中传感器通信节点发送的恶意节点指示信息,其中,所述恶意节点指示信息是所述传感器通信节点在检测到所述簇中存在恶意节点后发送的;所述恶意节点指示信息接收模块包括:第一指示信息接收模块,用于接收所述簇中簇头发送的指示代理节点为恶意节点的第一指示信息,其中,在每个簇的簇头收集消息时,在其转发的历史行为中随机选择一个转发记录发送给所述代理节点,若所述簇头没有收到所述代理节点的反馈,则所述代理节点被所述簇头标记为恶意节点,同时向该簇内的所述簇成员节点进行广播并将所述代理节点移除出簇内路由表,并选取新的代理节点;所述恶意节点指示信息接收模块包括:第二指示信息接收模块,用于接收所述簇中代理节点发送的指示簇头为恶意节点的第二指示信息,其中,在每个簇的簇头消息转发过程中,所述代理节点监控所述簇头是否存在恶意行为,若存在恶意行为则所述代理节点将所述簇头标记成恶意节点,同时对该簇内的所述簇成员节点进行广播并将该簇头移除出簇内路由表,并且将该代理节点选作临时簇头,同时在该簇内的所述簇成员节点中选取出临时代理节点,其中,所述恶意行为包括丢包行为、篡改消息行为中的一个或多个;所述恶意节点指示信息接收模块包括:第三指示信息接收模块,用于接收所述簇中簇成员节点发送的指示簇头和代理节点为恶意节点的第三指示信息,其中,在每个簇中的簇头消息转发过程中,所述簇成员节点监控所述簇头的消息转发情况,当所述簇成员节点监控到所述簇头的消息转发出现异常并且没有收到所述代理节点广播该簇头是恶意节点的消息,则所述簇成员节点将该簇头和该代理节点均标记为恶意节点并移除出簇成员路由表,并且重新选取簇头和代理节点。
9.如权利要求8所述的无线传感器网络的防串谋攻击系统,其特征在于,所述分簇模块包括:区域划分模块,用于根据所有传感器通信节点的地理位置将所有传感器通信节点划归为多个区域;簇数确定模块,与所述区域划分模块相耦合,用于确定每个区域的簇的数量,其中,簇半径设为节点通信半径的二分之一;簇头确定模块,与所述簇数确定模块相耦合,用于将每个簇中健康值最高且距离基站最近的传感器通信节点选作每个簇的簇头;代理节点确定模块,与所述簇头确定模块相耦合,用于排除簇头后,将每个簇中的健康值最高的传感器通信节点选作每个簇的代理节点,当多个传感器通信节点的健康值均最高时,则将其中与基站距离较近的节点选作每个簇的代理节点。
10.如权利要求9所述的无线传感器网络的防串谋攻击系统,其特征在于,所述簇头确定模块确定每个区域的簇的数量包括:当 每个区域的簇的数量为1,当 每个区域的簇的数量为 其中,Z A 代表某一区域的面积,Z opt 代表最优簇面积, 其中D代表节点到基站的距离,L代表每个区域的边长,M代表簇内节点个数。
11.如权利要求9所述的无线传感器网络的防串谋攻击系统,其特征在于,所述代理节点确定模块包括:健康值计算模块,用于采用 计算所述健康值,其中H(i)代表传感器通信节点i的健康值,E residual (i)代表传感器通信节点i的节点剩余能量比, 代表传感器通信节点i的平均信任值,α为权重值。
12.如权利要求8所述的无线传感器网络的防串谋攻击系统,其特征在于,选取新的代理节点包括:在簇成员节点中选取健康值最高的传感器通信节点作为新的代理节点,当多个传感器通信节点的健康值均最高时,则将其中距离基站较近的传感器通信节点选作新的代理节点。
13.如权利要求8所述的无线传感器网络的防串谋攻击系统,其特征在于,选取所述临时代理节点包括:在簇成员节点中选取健康值最高的传感器通信节点作为所述临时代理节点,当多个传感器通信节点的健康值均最高时,则将其中距离基站较近的传感器通信节点选作所述临时代理节点。
14.如权利要求8所述的无线传感器网络的防串谋攻击系统,其特征在于,所述无线传感器网络的防串谋攻击系统还包括:簇维护模块,与所述分簇模块相耦合,用于当每个簇中的代理节点无法获取来簇头的消息时,则将该代理节点选作临时簇头,直到选出新的簇头;还用于当每个簇的代理节点和簇头都离开时,重新分簇或者对该簇重新选取新的簇头和代理簇头;还用于当每个簇的簇头一定时间内没有收到来自簇成员节点的消息时,通知代理节点来判断该簇成员节点是否离开,若该代理节点在该时间内同样没有收到来自该簇成员的消息时,则判定该簇成员节点已经离开;还用于当有新的传感器通信节点进入到某个簇的范围内时,则通过其邻居节点计算该传感器通信节点的健康值,若该传感器通信节点的健康值低于该簇的平均健康值,则拒绝该传感器通信节点加入该簇。



