发明名称 一种无线传感器网络中节点掉线重连接的安全路由方法
摘要 本发明提供一种无线传感器网络中节点掉线重连接的安全路由方法,包括以下步骤:距离汇聚节点单跳的节点初次入网生成密钥;距离汇聚节点多跳的节点初次入网生成密钥;基于AODV的节点重新入网身份校验;基于逐跳加密的节点重新入网。本发明利用最先入网时各个节点与汇聚节点之间的对密钥并利用哈希运算完整性校验来确定掉线节点所收到的包含路由回复消息的请求响应帧是来自可信任的汇聚节点;两相邻节点之间的会话密钥作为入网密钥,确保节点是通过合法路由节点入网,以保证入网过程中,排出节点误入其他子网或者被隐藏于路由中的恶意节点捕获数据的可能性;排除路由节点遭受入网节点重放攻击的可能。
申请公布号 CN102711103B 申请公布日期 2016.04.20
申请号 CN201210148597.5 申请日期 2012.05.14
申请人 中国电力科学研究院;国家电网公司 发明人 徐兴坤;高昆仑;赵婷;郑晓崑;李焕;梁潇;徐志博
分类号 H04W12/04(2009.01)I;H04W12/06(2009.01)I;H04W40/00(2009.01)I;H04W76/02(2009.01)I 主分类号 H04W12/04(2009.01)I
代理机构 北京安博达知识产权代理有限公司 11271 代理人 徐国文
主权项 一种无线传感器网络中节点掉线重连接的安全路由方法,其特征在于:所述方法包括以下步骤:步骤1:距离汇聚节点单跳的节点初次入网生成密钥;步骤2:距离汇聚节点多跳的节点初次入网生成密钥;步骤3:基于AODV的节点重新入网身份校验;步骤4:基于逐跳加密的节点重新入网;所述步骤1包括以下步骤:步骤1‑1:距离汇聚节点一跳的路由节点,通过发送信标请求命令,在时间阈值内收到汇聚节点反馈的请求响应后就开始入网;步骤1‑2:节点发起连接请求,所述汇聚节点回复的请求响应里面有由汇聚节点产生的汇聚节点随机数种子random<sub>s</sub>,整个消息由初始密钥e<sub>k</sub>加密,表示鉴别开始;步骤1‑3:路由节点收到后,提取所述汇聚节点随机数种子random<sub>s</sub>并本地产生鉴别响应消息,所述响应消息中包含路由节点产生的路由节点随机数种子random<sub>r</sub>和MIC<sub>r2s</sub>码,所述MIC<sub>r2s</sub>码由所述初始密钥e<sub>k</sub>加密发送至所述汇聚节点;MIC<sub>r2s</sub>=e<sub>k</sub>(random<sub>s</sub>||random<sub>r</sub>||R<sub>ID</sub>),其中:R<sub>ID</sub>为所述汇聚节点的ID;步骤1‑4:所述汇聚节点收到所述响应消息后,将所述汇聚节点随机数种子random<sub>s</sub>、R<sub>ID</sub>与所述路由节点随机数种子random<sub>r</sub>分别利用所述初始密钥e<sub>k</sub>加密,判断校验所得结果是否与MIC<sub>r2s</sub>码一致,若一致,则鉴别成功;步骤1‑5:所述汇聚节点将发送端64位MAC地址、接收端的64位MAC地址、所述汇聚节点随机数种子random<sub>s</sub>、所述路由节点随机数种子random<sub>r</sub>和全局密钥共5份密钥材料一并利用密钥生成函数产生汇聚节点与入网节点的会话密钥;步骤1‑6:所述汇聚节点在校验成功后,反馈鉴别成功包给所述路由节点,其中包括MIC<sub>s2r</sub>码:MIC<sub>s2r</sub>=e<sub>k</sub>(random<sub>r</sub>||random<sub>s</sub>),然后分配网络资源,其中包括利用所述初始密钥e<sub>k</sub>加密的全局密钥信息;步骤1‑7:所述路由节点收到所述全局密钥信息后,将所述汇聚节点随机数种子random<sub>s</sub>与所述路由节点随机数种子random<sub>r</sub>利用所述初始密钥e<sub>k</sub>加密,判断校验所得结果是否与MIC<sub>s2r</sub>码一致;若一致,则解密出全局密钥,所述路由节点同时具有发送端的64位MAC地址、接收端的64位MAC地址、所述路由节点随机数种子random<sub>r</sub>、所述汇聚节点随机数种子random<sub>s</sub>和全局密钥共5份密钥材料,同样生成与所述汇聚节点相同的会话密钥,所述会话密钥同时也是所述路由节点与汇聚节点之间的对密钥,路由节点的单跳节点入网完成;所述步骤2包括以下步骤:步骤2‑1:所述距汇聚节点多跳的节点与上一跳节点建立会话密钥;步骤2‑2:所述距汇聚节点多跳的节点与所述汇聚节点建立对密钥;步骤2‑3:鉴别响应消息中包含随机数random1.2和随机数random2.1,所述随机数random1.2和收到的随机数random1.1用于与上一跳节点建立会话密钥,所述随机数random2.1与收到的random2.2用于与所述汇聚节点建立对密钥;所述步骤3包括以下步骤:步骤3‑1:节点广播hello消息,若在时间阈值内未收到回复,则判定与上一跳节点链路发生故障,通过广播信标请求命令帧发起入网请求;所述信标请求命令帧载荷里包含路由请求消息、节点内部程序随机生成的随机数、全局密钥K<sub>全</sub>加密的随机数、节点自身ID和哈希运算对随机数处理的结果,其中,哈希运算和入网节点与汇聚节点的对密钥K<sub>对</sub>相关;步骤3‑2:收到该信标请求命令帧的节点,通过所述全局密钥K<sub>全</sub>加密的随机数并附带上被加密的随机数鉴别入网节点的身份,防止恶意节点的重放攻击;鉴别成功后,若路由表中存在通往目的节点的路由,则判断对比所述路由请求消息中的目的序列号是否小于本地维护的序列号,若是,则将所述路由请求消息转发给目的节点,所述路由请求消息包含路由请求消息、与全局密钥K<sub>全</sub>相关的哈希运算处理随机数、节点的ID和被处理的随机数,且要求所述目的序列号的节点回复请求响应帧;若路由表中不存在通过目的节点的路由或者所述路由请求消息中的目的序列号大于每个节点内部的序列号,则继续广播hello消息,hello消息包含所述路由请求消息、对密钥K<sub>对</sub>相关的哈希运算处理随机数、节点的ID和被处理的随机数,直到发现拥有较大的目的节点序列号为止;步骤3‑3:所述目的节点收到所述路由请求消息,根据ID查到相应对密钥,根据所述节点内部程序随机生成的随机数生成所述对密钥K<sub>对</sub>相关的哈希运算处理随机数后并附带节点的ID,判断校验与收到的路由请求消息是否一致;若一致继续执行,不一致则丢弃所述路由请求消息;步骤3‑4:所述目的节点生成请求响应帧;其中包括免费的路由回复消息,将路由请求消息中附带的随机数减1,同样利用与对密钥K<sub>对</sub>相关的哈希运算处理随机数减1,按照相应的路由反馈;步骤3‑5:等待入网的节点收到所述请求响应帧,通过对比所述等待入网的节点生成的哈希值,校验所述请求响应帧的完整性;若校验成功,所述请求响应帧来自合法的目的节点,且从发送路由请求消息到收到请求响应帧中途无恶意节点篡改随机数,此路由为安全路由;所述步骤4包括以下步骤:步骤4‑1:等待入网的节点发送响应成功报文给路由节点,路由节点回复信标响应帧,等待入网的节点收到信标响应帧后,发起连接请求命令,请求入网;步骤4‑2:收到连接请求命令的节点与等待入网的节点利用初始密钥进行鉴别,路由节点处生成与等待入网的节点之间的会话密钥;步骤4‑3:两个节点之间重新鉴别形成会话密钥,若已建立父子关系,跳过此步骤;步骤4‑4:收到入网请求消息的路由节点向汇聚节点转发入网请求命令帧,两节点之间使用会话密钥加密重新入网节点的信息;步骤4‑5:汇聚节点为重新入网的节点分配网络资源,并下发网络资源;步骤4‑6:等待入网的节点与路由节点鉴别完成,获取网络资源,所述网络资源包括全局密钥,其生成会话密钥,入网成功。
地址 100192 北京市海淀区清河小营东路15号