一种基于LEACH协议的无线传感器网络路由方法与流程

文档序号:12280169阅读:150来源:国知局
一种基于LEACH协议的无线传感器网络路由方法与流程
本发明涉及一种无线传感器网络(WirelessSensorNetworks,WSN)
技术领域
,特别涉及一种基于LEACH(低功耗自适应集簇分层型,LowEnergyAdaptiveClusteringHierarchy)协议的无线传感器网络路由方法。
背景技术
:WSN是由大量具有无线通信功能的传感器节点组成的一个自组织的网络系统。这些具有无线、多跳传输能力的廉价微型传感器节点被大量的部署在监测区域,协同感知、采集监测区域内的数据,并向基站或汇聚节点传送数据。路由协议、MAC协议、数据融合算法等是WSN主要的研究方向。其中,路由协议是WSN的关键技术之一,决定了数据的传输和转发路径。当前有多种形式的路由协议,然而这些路由协议在设计之初通常没有考虑安全问题,有些在实际应用中甚至有严重的安全隐患和漏洞。在信息技术发展的历程中,安全性研究是必然的一个环节,无论是互联网、工控网,还是WSN,安全性都是一项至关重要的技术需求。LEACH协议是第一个层次型路由协议,以循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。其在设计之初更多的是考虑能量优化、分布式信息处理等问题,而没有涉及安全问题。除了WSN普遍存在的数据机密性、完整性、访问控制等安全隐患外,LEACH协议还存在其特有的安全漏洞。例如在成簇阶段,普通节点的入簇是选择广播信号能量最强的簇头作为最优簇头,对此,一个笔记本电脑型攻击者可在成簇阶段,以其强大的收发能力向全网广播虚假HELLO包,吸引网络中所有或部分节点入簇。攻击者在吸引路由后,可进一步的发动选择性转发、篡改、重放、丢包、耗尽等攻击,如发动选择性转发攻击来压制某处节点的数据发送等。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种基于LEACH协议的无线传感器网络路由方法。该方法提高了系统安全性的同时,尽量降低了因安全机制引入带来的能耗激增。同时,采用低功耗设计策略,延长了网络的存活时间。本发明的目的通过下述技术方案实现:一种基于LEACH协议的无线传感器网络路由方法,步骤如下:S1、全网所有节点进行初始化部署;S2、进入认证广播阶段:基站向全网广播包括安全控制信息的数据并且周期性的更新安全控制信息,该安全控制信息包括一个随机数,各节点在获取到基站广播的安全控制信息后,对该安全控制信息的正确性进行校验,在校验完后对当前存储的安全控制信息进行更新;认证广播阶段结束后进入步骤S3;S3、进入成簇阶段:所有节点运行簇头选举算法,完成簇头选举后,当选簇头节点向全网广播信息,所有普通节点在接收到多路簇头节点的广播信息后,选择最优簇头节点进行入簇;同时,各簇头节点根据其接收到的簇头节点广播信息,选取最优簇头节点作为其监控簇头节点,并且向监控簇头节点发送请求入簇信息,使得监控簇头节点入簇到被监控簇头节点所在簇;S4、进入稳定的数据传送阶段:所有普通节点在得到其所属簇内的时隙后进行数据的传输,将数据传输给其所在簇的簇头;同时监控簇头节点获取到其被监控簇头节点所在簇的时隙后,传输测试数据包至其被监控簇头节点,并且传输跟踪数据包给基站;簇头节点接收到簇内的数据后进行校验并且检验其完整性,在收齐所有合法数据后,将数据以及在认证广播阶段接收到的随机数进行打包后传送给基站,基站将其广播的随机数和簇头节点发送的随机数进行对比,以验证是否一致,若一致通过簇头节点和基站之间的链路认证。优选的,所述步骤S1中初始化部署包括基站密钥链的生成、全网节点标识的分配和对称密钥安全算法的存储。优选的,所述步骤S2中基站向全网广播的安全控制信息包括网络主密钥和节点黑名单;基站向全网广播的网络主密钥来自基站存储的网络主密钥链;其中基站存储的网络主密钥链为哈希链;基站在每一轮周期性的更新网络主密钥和节点黑名单,若节点黑名单没有发生变化,则下一轮时将无需广播节点黑名单。所述步骤S4中将发送不完整数据包至簇头节点的节点定义为疑似恶意节点,当节点发送给簇头节点的不完整数据包次数占比超过f%时,将该节点定义为黑名单,并由簇头节点将节点黑名单信息传送至基站,基站更新节点黑名单信息。更进一步的,基站存储的网络主密钥链为:K1,K2,...,Km-1,Km;其中m为网络主密钥链中网络主密钥的个数;网络主密钥链满足如下关系:K1=HASH(K2)K2=HASH(K3)......Km-1=HASH(Km)基站向全网广播安全控制信息时,第一轮向全网广播网络主密钥K1,第二轮向全网广播网络主密钥K2,依次类推,在第m轮向全网广播网络主密钥Km;本步骤中基站向全网广播的数据需要进行加密处理,在本实施例中基站每一轮向全网广播的数据msgi为:其中badList为节点黑名单,Ki为第i轮基站向全网广播的网络主密钥,为基站在第i轮生成的随机数;基站向全网广播的数据在加密后进行广播,具体广播的数据为:其中为采用CBC模式下的RC5加密算法对基站要发送的msgi明文信息行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文消息与网络主密钥拼接后计算得到的MD5值;表示基站向全网广播。所述步骤S2中,所有节点在获取到基站广播的网络主密钥后,采用预存的哈希函数验证网络主密钥的正确性,确认接收到的网络主密钥是合理有效的,其中若节点获取到的网络主密钥符合以下公式,则认为获取到的网络主密钥是正确的:Ki-1=HASH(Ki);其中Ki为节点在第i轮即当前轮广播获取到网络主密钥,Ki-1为节点在第i-1轮即前一轮广播获取到网络主密钥。优选的,所述步骤S2中节点存储的安全控制信息包括节点密钥和黑名单列表,节点在校验完网络主密钥的正确性后,根据其接收到的网络主密钥对其节点密钥通过以下公式进行更新:其中为节点j第i轮更新前的节点密钥,即第i-1轮存储的节点密钥,其中为节点j在第i轮更新后得到的节点密钥,Ki为基站广播第i轮广播的网络主密钥,即节点在第i轮获取到网络主密钥,idj为节点j的身份标记;其中其中集合J为网络中所有节点的集合;所述步骤S3中当节点x被当选为簇头节点后,将根据其接收到的网络主密钥和节点的身份标记生成以自身为簇头的当前簇的簇密钥:其中为簇头节点x第i轮生成的簇密钥,Ki为基站广播第i轮广播的网络主密钥,idx为簇头节点x的身份标记,X为网络中簇头节点的集合,其中X∈J;本步骤中簇头节点x第i轮向全网广播的信息包括簇头信息ADV_CHx和随机数其中簇头节点x第i轮向全网广播的信息为:上述信息仅供加密后进行广播,具体为:其中为第i轮基站计数器产生的全网节点共享的基站计数器值;为采用CBC模式下的RC5加密算法对明文信息进行加密得到密文信息;为生成的基于MD5的密文信息的消息认证码,具体的,该消息验证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值;表示簇头节点x第i轮向全网广播;普通节点在入簇时发送其在簇头节点广播阶段接收到的随机数,簇头节点验证其广播的随机数与普通节点发送的随机数是否一致,若一致,则链路认证完成;所述步骤S3中监控簇头节点在入簇被监控簇头节点时,发送其在簇头节点广播阶段接收到的随机数,被监控簇头节点验证其广播的随机数与监控簇头节点发送的随机数是否一致,若一致,则链路认证完成;所述步骤S3中在成簇阶段簇头选举后,当选簇头节点生成簇密钥。更进一步的,所述步骤S4中普通节点y在得到其所属簇内的时隙后进行数据传输之前采用CBC模式下的RC5加密算法进行加密式,具体过程如下:首先采用节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中msgy为普通节点y要传送的数据,即明文信息;为普通节点y在第i轮的节点计数器值,是基站计数器值基数与节点计数器的余数之和,作为块加密的初始向量,其中余数为节点当前轮数据包计数值;普通节点y在第i轮生成的随机数;i为当前轮数,为普通节点y在第i轮的节点密钥;其中Y为网络中普通节点集合,其中Y∈J;X∪Y=J;其中为采用CBC模式下的RC5加密算法对msgy和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与节点计数器值的余数进行拼接;然后针对数据包进行再次加密,得到数据包其中为普通节点y所入簇的簇头节点x生成的簇密钥,为基站计数器第i轮产生的全网节点共享的计数器值;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值。最后将上述再次加密得到的数据包以及节点计数器的余数传送给普通节点所在簇的簇头节点,由簇头节点再发送给基站;更进一步的,所述步骤S4中监控簇头节点z获取到其被监控簇头节点z′所在簇的时隙后传输测试数据包至其被监控簇头节点,该测试数据包在传输之前采用CBC模式下的RC5加密算法进行加密,具体过程如下:首先采用簇头节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中为为监控簇头节点z第i轮要发送的测试数据包,为监控簇头节点z第i轮生成的随机数,为监控簇头节点z第i轮的节点计数器值;为监控簇头节点z第i轮的节点密钥;为采用CBC模式下的RC5加密算法对和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码;具体的,该消息验证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与簇头节点计数器值的余数进行拼接;然后针对数据包进行再次加密,得到:其中为被监控簇头节点z′生成的簇密钥;最后监控簇头节点将上述再次加密得到的数据包传输给被监控簇头节点:所述步骤S4中监控簇头节点传输给基站的追踪数据包在传输之前采用CBC模式下的RC5加密算法进行加密,具体过程如下:采用其簇头节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中为为追踪数据包,为监控簇头节点z第i轮生成的随机数,为监控簇头节点z第i轮的节点计数器值;为监控簇头节点z第i轮的节点密钥;其中为采用CBC模式下的RC5加密算法对追踪数据包和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与节点计数器值的余数进行拼接。更进一步的,所述步骤S4中簇头节点在收到簇内节点发送的数据包时进行校验,然后对数据包进行解密,得到解密后的数据包:其中为节点j第i轮发送给簇头节点的数据包,为基站计数器第i轮产生的全网节点共享的计数器值;Kch-j为簇头节点x在第i轮所在簇生成的簇密钥;簇头节点x在第i轮解密后的数据包;然后簇头节点将第i轮接收到的数据包明文簇头节点x的身份标记信息idx、簇头节点x在第i轮生成的随机数以及基站在第i轮生成随机数打包后进行压缩处理得到数据包再者将数据包采用CBC模式下的RC5加密算法加密得到:其中为簇头节点x第i轮的节点计数器值;最后将上述加密后的数据传送给基站。优选的,所述步骤S3中,各节点运行的簇头选举算法的阈值函数为:其中p为簇头节点占比、r为当前轮数、G为在当前轮还未当选为簇头节点的节点集合;Ecur(n)为节点n当前剩余能量,Eave为当前轮所有存活节点的平均剩余能量,distoBS(n)为节点n与基站的距离,disave2bs为所有节点与基站的平均距离,λ1、λ2为权值系数,且有λ1+λ2=1。优选的,所述步骤S3中各普通节点根据其与各簇头节点之间的簇头优先度选择出最优簇头节点进行入簇,其中普通节点与簇头节点之间簇头优先度计算公式如下:其中Pch(y,x)为普通节点y接收到的簇头节点x广播信号强度;其中pch_ave(y)为普通节点y接收到的平均簇头节点广播信号强度;其中disch2bs(x)为簇头节点x与基站的距离;其中disave2bs为所有节点与基站的平均距离;其中Ech(x)为簇头节点x的剩余能量;其中Eave为平均簇头节点剩余能量;此外,η1、η2、η3为权值参数,且满足η1+η2+η3=1;其中Y为网络中普通节点的集合,X为网络中簇头节点的集合;通过以上公式计算出普通节点与各簇头节点之间的簇头优先度,然后选择与其之间簇头优先度最大的簇头节点作为最优簇头节点,再向最优簇头节点发出入簇请求:其中为普通节点y第i轮发出的请求信息,包括第i轮的入簇请求信息和第i轮生成的随机数Ki为基站在第i轮广播的网络主密钥,为基站计数器第i轮产生的全网节点共享的计数器值;其中为采用CBC模式下的RC5加密算法对的明文信息进行加密得到密文信息;其中生成的基于MD5的密文信息的消息认证码;SNy→CHm:表示普通节点y向最优簇头节点m发送请求入簇;所述步骤S3中,各簇头节点根据其与其他簇头节点之间的簇头优先度选取最优簇头节点作为其监控簇头节点,其中簇头节点与其他簇头节点之间的簇头优先度计算公式如下:其中Pch(x,n”)为簇头节点x接收到的其他簇头节点n″广播信号强度;其中pch_ave(x)为簇头节点x接收到的其他簇头节点平均簇头节点广播信号强度;其中disch2bs(n″)为其他簇头节点n″与基站的距离;其中disave2bs为所有节点与基站的平均距离;其中Ech(n″)为其他簇头节点n″的剩余能量;其中Eave′为其他所有簇头节点的平均簇头节点剩余能量;此外,α1、α2、α3为权值参数,且满足α1+α2+α3=1;通过以上公式计算出各簇头节点与其他簇头节点之间的簇头优先度,然后选择与其之间簇头优先度最大的其他簇头节点作为监控簇头节点。本发明相对于现有技术具有如下的优点及效果:(1)本发明无线传感器网络路由方法是在基于LEACH协议上实现的,本发明方法中基站周期性的更新安全控制信息,保障了密钥机制的鲁棒性。另外本发明方法在成簇阶段节点选择最优簇头节点进行入簇,在选举簇头节点后,针对每一个簇头节点选取一个最优簇头节点作为监控簇头节点,具有双重身份的监控簇头节点发送测试数据至被监控簇头节点,再由被监控簇头节点发送至基站,同时监控簇头节点发送追踪数据包至基站,其中追踪数据包是对测试数据包的一种追踪,基站接收到测试数据包和追踪数据包后检测它们的对应关系,以检测出网络是否存在丢包等攻击行为;使无线传感器网络能有效的抵御多种攻击,因此本发明方法提高了无线传感器网络的安全性同时降低了系统的功耗。本发明方法中基站广播的安全控制信息包括一个随机数,当簇头节点发送数据给基站时携带在认证广播阶段接收到的随机数,基站将其广播的随机数和簇头节点发送的随机数进行对比,以验证是否一致,从而实现簇头节点和基站之间的链路认证,进一步提高了数据传输的安全性。(2)本发明方法在成簇阶段簇头节点选举时,将节点剩余能量、节点与基站作为选举依据,使得当前剩余能量多的节点和以及与基站距离近的节点当选簇头概率要大一些。同时在最优簇头节点选取时考虑簇头节点的剩余能能量、簇头节点与基站的距离以及簇头节点与普通节点的距离,能够有效降低系统的功耗,并且选择出最合适的簇头节点和最优簇头节点。(3)本发明方法中,基站存储的网络主密钥链为哈希链,基站在广播网络主密钥链时考虑了密钥的后向安全性,即根据前一轮的密钥将无法推断出后一轮的密钥,使得网络中节点无法因自身所掌握的当前轮次密钥推测出下一轮密钥,进一步提高了系统的安全性。(4)本发明方法中,簇头节点广播的簇头信息包括一个随机数,普通节点入簇的时候将其在簇头节点广播阶段接收到的随机数传送至簇头节点,簇头节点将其广播的随机数和普通节点发送的随机数进行对比,以验证是否一致,从而实现普通节点和簇头节点之间链路的认证;同时,监控簇头节点在入簇被监控簇头节点时,回传其在簇头节点广播阶段接收到的随机数,被监控簇头节点将其广播的随机数与监控簇头节点发送的随机数进行对比,以验证是否一致,从而实现监控簇头节点和被监控簇头节点之间链路的认证。进一步提高了本发明方法在数据传输上的安全性。(5)本发明方法中,普通节点向簇头节点传输的数据包、监控簇头节点向被监控簇头节点传输的数据包以及簇头节点向基站传输的数据包均为经过加密以及添加消息认证码后的数据包,其中各节点在生成密文信息时均连接一个节点生成的随机数,以保证密文信息能抵御已知密文攻击。(6)本发明方法中采用基于预分配方式的对称密钥机制为LEACH协议构建起一套完整的密钥管理体系,通过周期性的更新网络主密钥、节点黑名单和节点密钥,保障整个密钥体系的安全性。此外,在密钥管理机制上融合了消息认证、链路认证等机制,这些轻量级安全机制的应用为LEACH协议构建起了一个更加健壮可靠的安全防御体系。附图说明图1是本发明方法流程图。图2是本发明方法中网络剩余能量示意图。图3是本发明方法中节点存活状态示意图。图4为某监控簇头节点的TEST包和TRACE包的基站接收量。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例如图1所示,本实施例中一种基于LEACH协议的无线传感器网络路由方法,步骤如下:S1、全网所有节点进行初始化部署;其中初始化部署包括基站密钥链的生成、全网节点标识的分配和对称密钥安全算法的存储。S2、进入认证广播阶段:基站向全网广播基站向全网广播包括安全控制信息的数据并且周期性的更新安全控制信息,该安全控制信息包括一个随机数,节点在获取到基站广播的安全控制信息后,对该安全控制信息的正确性进行校验,在校验完后对当前存储的安全控制信息进行更新;认证广播阶段结束后进入步骤S3;在本实施例方法中基站向全网广播的安全控制信息包括网络主密钥和节点黑名单;基站向全网广播的网络主密钥来自基站存储的网络主密钥链。本步骤所谓周期性的更新安全控制信息即在每一轮广播时更新安全控制信息。S3、进入成簇阶段:所有节点运行簇头选举算法,完成簇头选举后,当选簇头节点向全网广播信息,所有普通节点在接收到多路簇头节点的广播信息后,选择最优簇头节点进行入簇;同时,各簇头节点根据其接收到的簇头节点广播信息,选取最优簇头节点作为其监控簇头节点,并且向监控簇头节点发送请求入簇信息,使得监控簇头节点入簇到被监控簇头节点所在簇;另外簇头节点创建TDMA时间表以及生成簇密钥,并且在簇内分发TDMA时间表和簇密钥。S4、进入稳定的数据传输阶段:所有普通节点在得到其所属簇内的TDMA时隙后进行数据的传输,将数据传输给其所在簇的簇头;同时监控簇头节点获取到其被监控簇头节点所在簇的时隙后,传输测试数据包至其被监控簇头节点,并且传输跟踪数据包给基站;簇头节点接收到簇内的数据后进行校验并且检验其整型,在收齐所有合法数据后,将数据以及在认证广播阶段接收到的随机数进行打包后传送给基站,基站将其广播的随机数和簇头节点发送的随机数进行对比,以验证是否一致,若一致通过簇头节点和基站之间的链路认证。本实施例上述方法中基站周期性的更新安全控制信息,保障了密钥机制的鲁棒性。本实施例方法在成簇阶段进行选举簇头节点后,针对每一个簇头节点选取一个最优簇头节点作为监控簇头节点,具有双重身份的监控簇头节点发送测试数据至被监控簇头节点,再由被监控簇头节点发送至基站,同时监控簇头节点发送追踪数据包至基站,其中追踪数据包是对测试数据包的一种追踪,基站接收到测试数据包和追踪数据包后检测它们的对应关系,以检测出网络是否存在丢包等攻击行为;使无线传感器网络能有效的抵御多种攻击,提高了无线传感器网络的安全性。其中基站广播的安全控制信息包括一个随机数,当簇头节点发送数据给基站时携带在认证广播阶段接收到的随机数,基站将其广播的随机数和簇头节点发送的随机数进行对比,以验证是否一致,从而实现簇头节点和基站之间的链路认证,进一步提高了数据传输的安全性。本实施例步骤S2中基站存储的网络主密钥链为哈希链,基站在广播网络主密钥链时考虑了密钥的后向安全性,即根据前一轮的密钥将无法推断出后一轮的密钥,使得网络中节点无法因自身所掌握的当前轮次密钥推测出下一轮密钥,进一步提高了系统的安全性。基站在每一轮周期性的更新网络主密钥和节点黑名单,若节点黑名单没有发生变化,则下一轮时将无需广播节点黑名单。其中步骤S4中将发送不完整数据包至簇头节点的节点定义为疑似恶意节点,当节点发送给簇头节点的不完整数据包次数占比超过f%时,将该节点定义为黑名单,并由簇头节点将节点黑名单信息传送至基站,基站更新节点黑名单信息。在本实施例中f为5%。本实施例中基站存储的网络主密钥链为:K1,K2,...,Km-1,Km;其中m为网络主密钥链中网络主密钥的个数;网络主密钥链满足如下关系:K1=HASH(K2)K2=HASH(K3);......Km-1=HASH(Km)基站向全网广播安全控制信息时,第一轮向全网广播网络主密钥K1,第二轮向全网广播网络主密钥K2,依次类推,在第m轮向全网广播网络主密钥Km;本实施例步骤S2中基站向全网广播的数据需要进行加密处理,在本实施例中基站每一轮向全网广播的数据msgi为:其中badList为节点黑名单,Ki为第i轮基站向全网广播的网络主密钥,为基站在第i轮生成的随机数;基站向全网广播的数据在加密后进行广播,具体广播的数据为:其中为采用CBC模式下的RC5加密算法对基站要发送的msgi明文信息行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文消息与网络主密钥拼接后计算得到的MD5值。表示基站向全网广播。本实施例步骤S2中,所有节点在获取到基站广播的网络主密钥后,采用预存的哈希函数验证网络主密钥的正确性,确认接收到的网络主密钥是合理有效的,其中若节点获取到的网络主密钥符合以下公式,则认为获取到的网络主密钥是正确的:Ki-1=HASH(Ki);其中Ki为节点在第i轮即当前轮广播获取到网络主密钥,Ki-1为节点在第i-1轮即前一轮广播获取到网络主密钥。本实施例步骤S2中节点存储的安全控制信息包括节点密钥和黑名单列表,节点在校验完网络主密钥的正确性后,根据其接收到的网络主密钥对其节点密钥通过以下公式进行更新:其中为节点j第i轮更新前的节点密钥,即第i-1轮存储的节点密钥,其中为节点j在第i轮更新后得到的节点密钥,Ki为基站广播第i轮广播的网络主密钥,即节点在第i轮获取到网络主密钥,idj为节点j的身份标记;其中其中集合J为网络中所有节点的集合;本实施例步骤S3中当节点x被当选为簇头节点后,将根据其接收到的网络主密钥和节点的身份标记生成以自身为簇头的当前簇的簇密钥:其中为簇头节点x第i轮生成的簇密钥,Ki为基站广播第i轮广播的网络主密钥,idx为簇头节点x的身份标记,节点X为网络中簇头节点集合,其中X∈J;本实施例中簇头节点x第i轮向全网广播的信息包括簇头信息ADV_CHx和随机数其中簇头节点x第i轮向全网广播的信息为:上述信息仅供加密后进行广播,具体为:其中为第i轮基站计数器产生的全网节点共享的基站计数器值;为采用CBC模式下的RC5加密算法对明文信息进行加密得到密文信息;为生成的基于MD5的密文信息的消息认证码,具体的,该消息验证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值;表示簇头节点x第i轮向全网广播。本实施例步骤S3中普通节点在入簇时发送其在簇头节点广播阶段接收到的随机数,簇头节点验证其广播的随机数与普通节点发送的随机数是否一致,若一致,则链路认证完成。本实施例步骤S3中监控簇头节点在入簇被监控簇头节点时,发送其在簇头节点广播阶段接收到的随机数,被监控簇头节点验证其广播的随机数与监控簇头节点发送的随机数是否一致,若一致,则链路认证完成。上述普通节点和簇头节点之间以及监控簇头节点和被监控簇头节点之间链路的认证进一步提高了本实施例方法在数据传输上的安全性。所述步骤S3中在成簇阶段簇头选举后,当选簇头节点生成簇密钥。本实施例步骤S4中普通节点y在得到其所属簇内的时隙后进行数据传输之前采用CBC模式下的RC5加密算法进行加密,具体过程如下:首先采用节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中msgy为普通节点y要传送的数据,即明文信息;为普通节点y在第i轮的节点计数器值,是基站计数器值基数与节点计数器的余数之和,作为块加密的初始向量,其中余数为节点当前轮数据包计数值;普通节点y在第i轮生成的随机数;i为当前轮数,为普通节点y在第i轮的节点密钥;其中Y为网络中普通节点集合,其中Y∈J;X∪Y=J;其中为采用CBC模式下的RC5加密算法对msgy和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与节点计数器值的余数进行拼接;然后针对数据包进行再次加密,得到数据包其中为普通节点y所入簇的簇头节点x生成的簇密钥,为基站计数器第i轮产生的全网节点共享的计数器值;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值。最后将上述再次加密得到的数据包以及节点计数器的余数传送给普通节点所在簇的簇头节点,由簇头节点再发送给基站。本实施例步骤S4中监控簇头节点z获取到其被监控簇头节点z′所在簇的时隙后传输测试数据包至其被监控簇头节点,该测试数据包在传输之前采用CBC模式下的RC5加密算法进行加密,具体过程如下:首先采用簇头节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中为为监控簇头节点z第i轮要发送的测试数据包,为监控簇头节点z第i轮生成的随机数,为监控簇头节点z第i轮的节点计数器值;为监控簇头节点z第i轮的节点密钥;为采用CBC模式下的RC5加密算法对和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码;具体的,该消息验证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与簇头节点计数器值的余数进行拼接;然后针对数据包进行再次加密,得到:其中为被监控簇头节点z′生成的簇密钥;最后监控簇头节点将上述再次加密得到的数据包传输给被监控簇头节点:所述步骤S4中监控簇头节点传输给基站的追踪数据包在传输之前采用CBC模式下的RC5加密算法和进行加密,具体过程如下:采用其簇头节点密钥进行数据的加密,同时捎带消息认证码,得到数据包其中为为追踪数据包,为监控簇头节点z第i轮生成的随机数,为监控簇头节点z第i轮的节点计数器值;为监控簇头节点z第i轮的节点密钥;其中为采用CBC模式下的RC5加密算法对追踪数据包和随机数组成的明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码,具体的,该消息认证码在数值上等于密文信息与节点密钥拼接后计算得到的MD5值,然后将MD5值与节点计数器值的余数进行拼接。本实施例所述步骤S4中簇头节点在收到簇内节点发送的数据包时进行校验,然后对数据包进行解密,得到解密后的数据包:其中为节点j第i轮发送给簇头节点的数据包,为基站计数器第i轮产生的全网节点共享的计数器值;Kch-j为簇头节点x在第i轮所在簇生成的簇密钥;簇头节点x在第i轮解密后的数据包;然后簇头节点将第i轮接收到的数据包明文簇头节点x的身份标记信息idx、簇头节点x在第i轮生成的随机数以及基站在第i轮生成随机数打包后进行压缩处理得到数据包再者将数据包采用CBC模式下的RC5加密算法加密得到:其中为簇头节点x第i轮的节点计数器值;最后将上述加密后的数据传送给基站。由上述可知,本实施例方法中普通节点向簇头节点传输的数据包、监控簇头节点向被监控簇头节点传输的数据包以及簇头节点向基站传输的数据包均为经过加密以及添加消息认证码后的数据包,其中各节点在生成密文信息时连接一个节点生成的随机数,以保证密文信息能抵御已知密文攻击。本实施例步骤S3中,各节点运行的簇头选举算法的阈值公式为:其中p为簇头节点占比、r为当前轮数、G为在当前轮还未当选为簇头节点的节点集合;Ecur(n)为节点n当前剩余能量,Eave为当前轮所有存活节点的平均剩余能量,distoBS(n)为节点n与基站的距离,disave2bs为所有节点与基站的平均距离,λ1、λ2为权值系数,且有λ1+λ2=1。本实施例步骤S3中各普通节点根据其与各簇头节点之间的簇头优先度选择出最优簇头节点进行入簇,其中普通节点与簇头节点之间簇头优先度计算公式如下:其中optDeg(y,x)为普通节点y和簇头节点之间的簇头优先度;其中Pch(y,x)为普通节点y接收到的簇头节点x广播信号强度;其中pch_ave(y)为普通节点y接收到的平均簇头节点广播信号强度;其中disch2bs(x)为簇头节点x与基站的距离;其中disave2bs为所有节点与基站的平均距离;其中Ech(x)为簇头节点x的剩余能量;其中Eave为平均簇头节点剩余能量;此外,η1、η2、η3为权值参数,且满足η1+η2+η3=1;其中Y为网络中普通节点的集合,X为网络中簇头节点的集合;通过以上公式计算出普通节点与各簇头节点之间的簇头优先度,然后选择与其之间簇头优先度最大的簇头节点作为最优簇头节点,再向最优簇头节点发出入簇请求:其中为普通节点y第i轮发出的请求信息,包括第i轮的入簇请求信息和第i轮生成的随机数其中为采用CBC模式下的RC5加密算法对的明文信息进行加密得到密文信息;其中生成的基于MD5的密文信息的消息认证码;SNy→CHm:表示普通节点y向最优簇头节点m发送入簇请求;所述步骤S3中,各簇头节点根据其与其他簇头节点之间的簇头优先度选取最优簇头节点作为其监控簇头节点,其中簇头节点与其他簇头节点之间的簇头优先度计算公式如下:其中optDeg(x,n”)为簇头节点x与其他簇头节点之间的簇头优先度;其中Pch(x,n”)为簇头节点x接收到的其他簇头节点n″广播信号强度;其中pch_ave(x)为簇头节点x接收到的其他簇头节点平均簇头节点广播信号强度;其中disch2bs(n″)为其他簇头节点n″与基站的距离;其中disave2bs为所有节点与基站的平均距离;其中Ech(n″)为其他簇头节点n″的剩余能量;其中Eave′为其他所有簇头节点的平均簇头节点剩余能量;此外,α1、α2、α3为权值参数,且满足α1+α2+α3=1;通过以上公式计算出各簇头节点与其他簇头节点之间的簇头优先度,然后选择与其之间簇头优先度最大的其他簇头节点作为监控簇头节点。假设在某一轮的成簇形成阶段,节点A、B、C、D被选举为簇头节点。簇头节点A的监控簇头节点选择策略是:簇头节点A广播簇头信息的同时也会接收到簇头节点B、C、D的簇头广播,簇头节点A在计算簇头节点B、C、D发来的簇首广播的簇头优先度optDeg后,选择optDeg数据最大的簇头作为簇头节点A的监控簇头,比如簇头节点B。然后,簇头节点A向B发送请求入簇消息包BEG_JOIN,该消息包的作用是请求簇头节点B加入到簇头节点A的簇中,作为簇头节点A的成员节点:其中为簇头节点A在第i轮生成的随机数,为簇头节点A发送的请求入簇信息,CHA→CHB表示簇头节点A向簇头节点B发送请求。其中为采用CBC模式下的RC5加密算法对追踪数据包明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码;簇头节点B在收到簇头节点A发来的请求包后,认证消息的可靠性后,向簇头节点A发出入簇请求:其中为簇头节点B发送的入簇请求信息,CHB→CHA表示B向A发送请求。其中为采用CBC模式下的RC5加密算法对追踪数据包明文信息进行加密得到密文信息;其中为生成的基于MD5的密文信息的消息认证码;簇头节点A在接收到簇头节点B的入簇请求,完成相关认证后,簇头节点A与其监控簇头节点B的对应关系也就建立起来了。由上述可知,本实施例方法在成簇阶段簇头节点选举时,将节点剩余能量、节点与基站作为选举依据,使得当前剩余能量多的节点和以及与基站距离近的节点当选簇头概率要大一些。同时在最优簇头节点选取时考虑簇头节点的剩余能能量、簇头节点与基站的距离以及簇头节点与普通节点的距离,能够有效降低系统的功耗,并且选择出最合适的簇头节点和最优簇头节点。本实施例中当无线传感器网络为如表1所示场景时,则本实施例上述方法中权值参数λ1为0.8,λ2为0.2,η1为0.7,η2为0.2,η3为0.1,α1为0.7,α2为0.2,α3为0.1;表1参数类型数值模拟场景大小100mx100m节点个数100基站位置(50,175)初始节点能量2J仿真强制停止时间3600s期望簇头节点占比5%簇头节点数据大小25bytes消息数据包大小500bytes无线电路传输消耗5e-9j/bit无线电路运行消耗50e-9j自由空间模型放大器倍数10pj/bit/m4多路衰减模型放大器倍数0.0013pj/bit/m2数据融合能量消耗5e-9j/bit/signal稳定阶段时间占比95%如图2所示为无线传感器网络在上述表1场景下网络剩余能量示意图。如图2所示为无线传感器网络在上述表1场景下节点存活状态示意图。“secure-leach”曲线是没有低功耗设计策略情况下的安全改进协议的性能曲线,可见,安全机制的引入使得系统存活时间降低了19.8%。“leach-lpsi”曲线是具有低功耗设计策略的安全改进协议,可以看出,虽然本实施例方法诸多安全机制使得网络整体能耗加剧,但是由于采用了低功耗的设计策略,在节能方面有了不少的提高,且超过了LEACH协议的水平。如图4所示为上述表1场景下,某监控簇头节点的TEST包和TRACE包的基站接收量。基站根据TRACE包与TEST包的对应情况,判定出该簇头具有丢包攻击嫌疑,并发出报警信息,进一步的通知全网。可见,本实施例方法除了具有安全防御能力外,还对恶意簇头节点发起的篡改攻击、丢包攻击具有一定的攻击检测能力。本实施例基于LEACH协议改进的路由方法融合了一系列轻量级的安全机制,具备一定的安全防御和攻击检测能力。该方法对外部攻击具有有效的抵御能力,外部攻击者没有合法的身份信息,同时也没有网络的密钥参数,无法对网络的机密性造成破坏。该方法对内部攻击者发动的重放攻击、篡改攻击、丢包攻击、已知密文攻击等也具有有效的安全防御检测能力。低功耗的设计策略降低了网络能耗,延长了网络存活时间,基本上达到了LEACH协议的能耗水平。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1