首页> 中国专利> 一种无线传感器网络中节点掉线重连接的安全路由方法

一种无线传感器网络中节点掉线重连接的安全路由方法

摘要

本发明提供一种无线传感器网络中节点掉线重连接的安全路由方法,包括以下步骤:距离汇聚节点单跳的节点初次入网生成密钥;距离汇聚节点多跳的节点初次入网生成密钥;基于AODV的节点重新入网身份校验;基于逐跳加密的节点重新入网。本发明利用最先入网时各个节点与汇聚节点之间的对密钥并利用哈希运算完整性校验来确定掉线节点所收到的包含路由回复消息的请求响应帧是来自可信任的汇聚节点;两相邻节点之间的会话密钥作为入网密钥,确保节点是通过合法路由节点入网,以保证入网过程中,排出节点误入其他子网或者被隐藏于路由中的恶意节点捕获数据的可能性;排除路由节点遭受入网节点重放攻击的可能。

著录项

  • 公开/公告号CN102711103A

    专利类型发明专利

  • 公开/公告日2012-10-03

    原文格式PDF

  • 申请/专利权人 中国电力科学研究院;

    申请/专利号CN201210148597.5

  • 申请日2012-05-14

  • 分类号H04W12/04(20090101);H04W12/06(20090101);H04W40/00(20090101);H04W76/02(20090101);

  • 代理机构11271 北京安博达知识产权代理有限公司;

  • 代理人徐国文

  • 地址 100192 北京市海淀区清河小营东路15号

  • 入库时间 2023-12-18 06:47:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-07-20

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04W12/04 变更前: 变更后: 申请日:20120514

    专利权人的姓名或者名称、地址的变更

  • 2016-05-25

    专利权的转移 IPC(主分类):H04W12/04 登记生效日:20160504 变更前: 变更后: 申请日:20120514

    专利申请权、专利权的转移

  • 2016-04-20

    授权

    授权

  • 2013-08-07

    专利申请权的转移 IPC(主分类):H04W12/04 变更前: 变更后: 登记生效日:20130716 申请日:20120514

    专利申请权、专利权的转移

  • 2012-12-26

    实质审查的生效 IPC(主分类):H04W12/04 申请日:20120514

    实质审查的生效

  • 2012-10-03

    公开

    公开

查看全部

说明书

技术领域

本发明属于计算机领域,具体讲涉及一种无线传感器网络中节点掉线重连接的安全路由 方法。

背景技术

在AODV路由中,节点把路由请求消息应用在信标请求包里,利用收到的第一个请求响应 帧来确认路径信息。在入网时,已入网节点先完成新入网节点的认证后判断其合法性,然后 发起路由发现,并按照AODV的要求发现目的序列号足够大的节点之后回复响应包,实现了 AODV的路由发现过程。新入网节点的目的序列号最小(可设为初始为0),新入网节点的上 一跳节点因其已入过网,其序列号必然大于新入网节点的序列号,所以由上一跳已入网节点 回复请求响应帧。针对新入网节点的路由发现,只要寻找到一跳节点的最短路径即可,即上 述入网过程。在已入网后,节点时刻广播一个检测包,如出现问题造成节点不能工作,问题 节点的下一跳节点一段时间不能接到问题节点的检测包,则认为上一跳节点出了问题,重新 发现AODV的路由发现过程,完成AODV中路由维护的过程。

基于AODV以及链路故障类型的路由修复方案,要求节点在关闭前广播一条关闭通知消息; 断开链路处的上有节点发起本地修复过程:首先,所述上游节点在一跳范围内广播路由请求 分组,如果上游节点收到过下游节点的关闭通知消息,则上游节点尝试建立到达它的下两跳 节点或数据分组的目的节点的路由;如果上游节点没有收到过下游节点的关闭通知消息,则 上游节点尝试建立到达它的下一条节点或数据分组的目的节点的路由。其次,如果第一次路 由修复失败,则所述的上游节点在网络范围内广播路由请求分组,尝试建立到达数据分组的 目的节点的路由,表1为路由请求消息分组格式,表2为路由回复消息分组格式。

表1路由请求消息分组格式

表2路由回复消息分组格式

在现有技术方案中,在与父节点的链路发生故障时,节点可通过周期性地广播hello消息 发现自己掉线,进而重新入网。在入网过程中节点首先广播路由请求消息,收到路由请求消 息的邻居节点检查自己已有的目的序列号的值一旦大于路由请求消息中的目的序列号值,就 反馈路由回复消息给该节点,在一定时间范围内广播路由请求消息的节点能收到多个路由回 复消息。节点直接通过收到的第一个路由回复消息的相应路由节点入网。但这种方案有如下 缺点:

①未考虑到节点重新入网的信息被恶意节点拦截的风险。回复路由请求消息的节点仅仅 是是目的序列号的值较大的路由节点,缺乏可信任性。

②不能判断收到的路由回复消息来自合法的路由节点。若路由请求消息中的目的节点IP 地址恰好在另一个子网中,则存在边缘节点掉线重新入网时误入其他子网的可能性

③不能排除网外节点或恶意节点入网的可能,增大通信开销、路由的负载。

发明内容

为了克服上述现有技术的不足,本发明提供一种无线传感器网络中节点掉线重连接的安 全路由方法,利用最先入网时各个节点与汇聚节点之间的对密钥并利用哈希运算完整性校验 来确定掉线节点所收到的包含路由回复消息的请求响应帧是来自可信任的汇聚节点;两相邻 节点之间的会话密钥作为入网密钥,确保节点是通过合法路由节点入网,以保证入网过程中, 排出节点误入其他子网或者被隐藏于路由中的恶意节点捕获数据的可能性;排除路由节点遭 受入网节点重放攻击的可能。

为了实现上述发明目的,本发明采取如下技术方案:

一种无线传感器网络中节点掉线重连接的安全路由方法,所述方法包括以下步骤:

步骤1:距离汇聚节点单跳的节点初次入网生成密钥;

步骤2:距离汇聚节点多跳的节点初次入网生成密钥;

步骤3:基于AODV的节点重新入网身份校验;

步骤4:基于逐跳加密的节点重新入网。

所述步骤1包括以下步骤:

步骤1-1:距离汇聚节点一跳的路由节点,通过发送信标请求命令,在时间阈值内收到 汇聚节点反馈的请求响应后就开始入网;

步骤1-2:节点发起连接请求,所述汇聚节点回复的请求响应里面有由汇聚节点产生的汇 聚节点随机数种子randoms,整个消息由初始密钥ek加密,表示鉴别开始;

步骤1-3:路由节点收到后,提取所述汇聚节点随机数种子randoms并本地产生鉴别响应 消息,所述响应消息中包含路由节点产生的路由节点随机数种子randomr和MIC码,所述MIC 码由所述初始密钥ek加密发送至所述汇聚节点;MIC=ek(randoms||randomr||RID),

其中:RID为所述汇聚节点的ID。

步骤1-4:所述汇聚节点收到所述响应消息后,将所述汇聚节点随机数种子randoms、RID与所述路由节点随机数种子randomr分别利用所述初始密钥ek加密,判断校验所得结果是否 与MIC码一致,若一致,则鉴别成功;

步骤1-5:所述汇聚节点将发送端64位MAC地址、接收端的64位MAC地址、所述汇聚 节点随机数种子randoms、所述路由节点随机数种子randomr和全局密钥共5份密钥材料一 并利用密钥生成函数产生汇聚节点与入网节点的会话密钥;

步骤1-6:所述汇聚节点在校验成功后,反馈鉴别成功包给所述路由节点,其中包括MIC 码:MIC=ek(randomr||randoms),然后分配的网络资源,其中包括利用所述初始密钥ek加 密的全局密钥信息;

步骤1-7:所述路由节点收到所述全局密钥信息后,利用所述初始密钥ek加密所述汇聚节 点随机数种子randoms与所述路由节点随机数种子randomr校验值是否与MIC码一致;若一致, 则解密出全局密钥,所述路由节点同时具有发送端的64位MAC地址、接收端的64位MAC地址、 所述路由节点随机数种子randomr、所述汇聚节点随机数种子randoms和全局密钥共5份密钥 材料,同样生成与所述汇聚节点相同的会话密钥,所述会话密钥同时也是所述路由节点与汇 聚节点之间的对密钥,路由节点的单跳节点入网完成。

所述步骤2中,所述距离汇聚节点多跳的节点是路由节点或传感节点。

所述步骤2包括以下步骤:

步骤2-1:所述距汇聚节点多跳的节点与上一跳节点建立会话密钥;

步骤2-2:所述距汇聚节点多跳的节点与所述汇聚节点建立对密钥;

步骤2-3:在鉴别响应包中包含随机数random1.2和随机数random2.1,所述随机数 random1.2和收到的随机数random1.1用于与上一跳节点建立会话密钥,所述随机数 random2.1与收到的random2.2用于与所述汇聚节点建立对密钥。

所述步骤2中,所述密钥包括初始密钥、全局密钥、会话密钥和对密钥。

所述步骤3包括以下步骤:

步骤3-1:节点广播hello消息,若在时间阈值内未收到回复,则判定与上一跳节点链路 发生故障,通过广播信标请求命令帧发起入网请求;所述信标请求命令帧载荷里包含路由请 求消息、节点内部程序随机生成的随机数、全局密钥K加密的随机数、节点自身ID和哈希运 算对随机数处理的结果,其中,哈希运算和入网节点与汇聚节点的对密钥K相关;

步骤3-2:到该信标请求的节点,通过所述全局密钥K加密的随机数并附带上被加密的随 机数鉴别入网节点的身份,防止恶意节点的重放攻击;

鉴别成功后,若路由表中存在通往目的节点的路由,则判断对比所述路由请求消息中的 目的序列号是否小于本地维护的序列号,若是,则将所述路由请求消息转发给目的节点,所 述路由请求消息包含路由请求消息,与全局密钥K相关的哈希运算处理随机数后并附带节点 的ID和被处理的随机数,且要求所述目的序列号的节点回复请求响应帧;

若路由表中不存在通过目的节点的路由或者所述路由请求消息中的目的序列号大于每个 节点内部的序列号,则继续广播hello消息,其中包含所述路由请求消息,对密钥K相关的哈 希运算处理随机数后并附带节点的ID和被处理的随机数,直到发现拥有较大目的序列号的节 点为止;

步骤3-3:收到所述信标请求命令帧的节点若发现自身的目的序列号大于路由请求消息中 的值,并不立即返回路由回复消息,而是选择向所述目的节点转发所述路由请求消息,要求 目的节点回复所述信标请求命令帧;

步骤3-4:所述目的节点收到所述路由请求消息,根据ID查到相应对密钥,根据所述节点 内部程序随机生成的随机数生成所述对密钥K相关的哈希运算处理随机数后并附带节点的ID, 判断校验与收到的路由请求消息是否一致;若一致继续执行,不一致则丢弃所述路由请求消 息;

步骤3-5:所述目的节点生成所述信标请求响应帧;其中包括免费的路由回复消息,将 路由请求消息中附带的随机数减1,同样利用与对密钥K相关的哈希运算处理随机数减1, 按照相应的路由反馈;

步骤3-6:等待入网的节点收到所述请求响应帧,通过对比所述等待入网的节点生成的 哈希值,校验所述请求响应帧的完整性;若校验成功,所述请求响应帧来自合法的目的节点, 且从发送路由请求消息到收到请求响应帧中途无恶意节点篡改随机数,此路由为安全路由。

所述步骤4包括以下步骤:

步骤4-1:等待入网的节点发送响应成功报文给路由节点,路由节点回复信标帧,等待入 网的节点收到信标响应帧后,发起连接请求命令,请求入网;

步骤4-2:收到连接请求命令的节点与等待入网的节点利用初始密钥进行鉴别,路由节点 处生成与等待入网的节点之间的会话密钥;

步骤4-3:两个节点之间重新鉴别形成会话密钥,若已建立父子关系,跳过此步骤;

步骤4-4:收到入网请求消息的路由节点向汇聚节点转发入网请求命令帧,两节点之间使 用会话密钥加密重新入网节点的信息;

步骤4-5:汇聚节点为重新入网的节点分配网络资源,并下发网络资源;

步骤4-6:等待入网的节点与路由节点鉴别完成,获取网络资源,所述网络资源包括全局 密钥,其生成会话密钥,入网成功。

与现有技术相比,本发明的有益效果在于:

1.利用最先入网时各个节点与汇聚节点之间的对密钥并利用哈希运算完整性校验来确 定掉线节点所收到的包含路由回复消息的请求响应帧是来自可信任的汇聚节点;

2.两相邻节点之间的会话密钥作为入网密钥,确保节点是通过合法路由节点入网,以保 证入网过程中,排出节点误入其他子网或者被隐藏于路由中的恶意节点捕获数据的可能性, 减少不必要通信开销;

3.排除路由节点遭受入网节点重放攻击的可能;

4.排除广播信标请求的方法导致网内边缘掉线节点在入网时误入其他子网的可能性;

5.排除节点入网过程中,路由中存在恶意节点伪造、篡改数据的可能性。

附图说明

图1是本发明具体实施例的流程图;

图2是距离汇聚节点单跳的节点入网示意图;

图3是距离汇聚节点多跳的节点入网示意图;

图4是节点重新入网示意图;

图5是本发明具体实施例的示意图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

如图1所示,一种无线传感器网络中节点掉线重连接的安全路由方法,所述方法包括以 下步骤:

步骤1:距离汇聚节点单跳的节点初次入网生成密钥;

步骤2:距离汇聚节点多跳的节点初次入网生成密钥;

步骤3:基于AODV的节点重新入网身份校验;

步骤4:基于逐跳加密的节点重新入网。

如图2所示,所述步骤1包括以下步骤:

步骤1-1:距离汇聚节点一跳的路由节点,通过发送信标请求命令,在时间阈值内收到 汇聚节点反馈的请求响应后就开始入网;

步骤1-2:节点发起连接请求,所述汇聚节点回复的请求响应里面有由汇聚节点产生的汇 聚节点随机数种子randoms,整个消息由初始密钥ek加密,表示鉴别开始;

步骤1-3:路由节点收到后,提取所述汇聚节点随机数种子randoms并本地产生鉴别响应 消息,所述响应消息中包含路由节点产生的路由节点随机数种子randomr和MIC码,所述MIC 码由所述初始密钥ek加密发送至所述汇聚节点;MIC=ek(randoms||randomr||RID),

其中:RID为所述汇聚节点的ID。

步骤1-4:所述汇聚节点收到所述响应消息后,将所述汇聚节点随机数种子randoms、RID与所述路由节点随机数种子randomr分别利用所述初始密钥ek加密,判断校验所得结果是否 与MIC码一致,若一致,则鉴别成功;

步骤1-5:所述汇聚节点将发送端64位MAC地址、接收端的64位MAC地址、所述汇聚 节点随机数种子randoms、所述路由节点随机数种子randomr和全局密钥共5份密钥材料一 并利用密钥生成函数产生汇聚节点与入网节点的会话密钥;

步骤1-6:所述汇聚节点在校验成功后,反馈鉴别成功包给所述路由节点,其中包括MIC 码:MIC=ek(randomr||randoms),然后分配的网络资源,其中包括利用所述初始密钥ek加 密的全局密钥信息;

步骤1-7:所述路由节点收到所述全局密钥信息后,利用所述初始密钥ek加密所述汇聚节 点随机数种子randoms与所述路由节点随机数种子randomr校验值是否与MIC码一致;若一致, 则解密出全局密钥,所述路由节点同时具有发送端的64位MAC地址、接收端的64位MAC地址、 所述路由节点随机数种子randomr、所述汇聚节点随机数种子randoms和全局密钥共5份密钥 材料,同样生成与所述汇聚节点相同的会话密钥,所述会话密钥同时也是所述路由节点与汇 聚节点之间的对密钥,路由节点的单跳节点入网完成。

所述步骤2中,所述距离汇聚节点多跳的节点是路由节点或传感节点。

如图3,所述步骤2包括以下步骤:

步骤2-1:所述距汇聚节点多跳的节点与上一跳节点建立会话密钥;

步骤2-2:所述距汇聚节点多跳的节点与所述汇聚节点建立对密钥;

步骤2-3:在鉴别响应包中包含随机数random1.2和随机数random2.1,所述随机数 random1.2和收到的随机数random1.1用于与上一跳节点建立会话密钥,所述随机数 random2.1与收到的random2.2用于与所述汇聚节点建立对密钥。

所述步骤2中,所述密钥包括初始密钥、全局密钥、会话密钥和对密钥,密钥功能、建立 及更新方式如表3所示。

表3密钥功能、建立及更新方式

如图4,所述步骤3包括以下步骤:

步骤3-1:节点广播hello消息,若在时间阈值内未收到回复,则判定与上一跳节点链路 发生故障,通过广播信标请求命令帧发起入网请求;所述信标请求命令帧载荷里包含路由请 求消息、节点内部程序随机生成的随机数、全局密钥K加密的随机数、节点自身ID和哈希运 算对随机数处理的结果,其中,哈希运算和入网节点与汇聚节点的对密钥K相关;

步骤3-2:到该信标请求的节点,通过所述全局密钥K加密的随机数并附带上被加密的随 机数鉴别入网节点的身份,防止恶意节点的重放攻击;

鉴别成功后,若路由表中存在通往目的节点的路由,则判断对比所述路由请求消息中的 目的序列号是否小于本地维护的序列号,若是,则将所述路由请求消息转发给目的节点,所 述路由请求消息包含路由请求消息,与全局密钥K相关的哈希运算处理随机数后并附带节点 的ID和被处理的随机数,且要求所述目的序列号的节点回复请求响应帧;

若路由表中不存在通过目的节点的路由或者所述路由请求消息中的目的序列号大于每个 节点内部的序列号,则继续广播hello消息,其中包含所述路由请求消息,对密钥K相关的哈 希运算处理随机数后并附带节点的ID和被处理的随机数,直到发现拥有较大目的序列号的节 点为止;

步骤3-3:收到所述信标请求命令帧的节点若发现自身的目的序列号大于路由请求消息中 的值,并不立即返回路由回复消息,而是选择向所述目的节点转发所述路由请求消息,要求 目的节点回复所述信标请求命令帧;

步骤3-4:所述目的节点收到所述路由请求消息,根据ID查到相应对密钥,根据所述节点 内部程序随机生成的随机数生成所述对密钥K相关的哈希运算处理随机数后并附带节点的ID, 判断校验与收到的路由请求消息是否一致;若一致继续执行,不一致则丢弃所述路由请求消 息;

步骤3-5:所述目的节点生成所述信标请求响应帧;其中包括免费的路由回复消息,将 路由请求消息中附带的随机数减1,同样利用与对密钥K相关的哈希运算处理随机数减1, 按照相应的路由反馈;

步骤3-6:等待入网的节点收到所述请求响应帧,通过对比所述等待入网的节点生成的 哈希值,校验所述请求响应帧的完整性;若校验成功,所述请求响应帧来自合法的目的节点, 且从发送路由请求消息到收到请求响应帧中途无恶意节点篡改随机数,此路由为安全路由。

所述步骤4包括以下步骤:

步骤4-1:等待入网的节点发送响应成功报文给路由节点,路由节点回复信标帧,等待入 网的节点收到信标响应帧后,发起连接请求命令,请求入网;

步骤4-2:收到连接请求命令的节点与等待入网的节点利用初始密钥进行鉴别,路由节点 处生成与等待入网的节点之间的会话密钥;

步骤4-3:两个节点之间重新鉴别形成会话密钥,若已建立父子关系,跳过此步骤;

步骤4-4:收到入网请求消息的路由节点向汇聚节点转发入网请求命令帧,两节点之间使 用会话密钥加密重新入网节点的信息;

步骤4-5:汇聚节点为重新入网的节点分配网络资源,并下发网络资源;

步骤4-6:等待入网的节点与路由节点鉴别完成,获取网络资源,所述网络资源包括全局 密钥,其生成会话密钥,入网成功。

如图5,子网1种有地址为A、H、K、I、L、J、M的节点,子网2中有地址为A、B、C、D、E、 F、G、N的节点,另外有恶意节点P潜伏在子网2中。A为汇聚节点,网内节点入网都由汇聚节 点分配资源,而恰好两网的汇聚节点地址都设为A。节点旁的数字代表目的序列号。因为目的 序列号是从上一跳节点获取的,因此各节点的目的序列号一定小于或等于上一跳节点的目的 序列号,所以不存在信标请求的广播和单播交替出现的可能性。

现在D通过hello消息发现与C的链路出现故障,从而重新入网。

1)广播带有路由请求消息和包含有对密钥的哈希运算出的随机数的信标请求帧,L、N、 P三个节点都会收到该消息;

2)若子网2中也有针对于重新入网节点的全局密钥鉴别机制,则L与D属于不同的子网;D 与L的全局密钥不同,校验不通过,则L丢弃该请求;

3)若子网2中没有针对重新入网节点的全局密钥鉴别机制,则请求包可能从D-L-K-A这条 链路到达A,由于子网2的节点D没有与子网1的节点A共享对密钥,以至于D在接到请求响应帧中 由子网2A处理后的随机数后,校验失败,丢弃此路径;

4)对于恶意节点P,即使它已经捕获全局密钥,并生成了与汇聚节点的对密钥;在收到D 的信标请求帧后,节点P可以选择对消息不做任何改动直接转发,实施简单的重放攻击。由于 入网信息在每跳传输时需要会话密钥加密,因此恶意节点不能最终鉴别成功,从而防止了路 由中有恶意的存在;

5)对于入网节点D本身,如果为恶意节点,不停的发送路由请求消息,实施重放攻击, 势必增大路由的负荷;在入网时利用全局密钥K加密的随机数对节点进行网内的身份鉴别, 防止重放攻击。

本发明是利用各节点在入网时的全局密钥以及与汇聚节点之间生成的对密钥,路由节点 对于重新入网鉴别成功后,广播或者转发重新入网节点的信标请求帧,目的节点利用与对密 钥相关的哈希运算消息认证码进行消息完整性校验,入网节点也利用与对密钥相关的哈希运 算消息认证码判断信标响应帧来自合法目的节点。进而发起入网过程,申请网络资源。发送 入网请求消息中时,未鉴别的两节点之间的利用初始密钥做鉴别,鉴别成功后利用随机数、 MAC地址、全局密钥生成会话密钥,用来加密入网信息,可排除不拥有初始密钥的恶意节点成 为路由的中间节点的可能性,确保路由安全。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照 上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本 发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等 同替换,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号