一种无线Mesh网络路由安全保护方法

申请号 CN201510159336.7 申请日 2015-04-03 公开(公告)号 CN104703174A 公开(公告)日 2015-06-10
申请人 清华大学; 发明人 王锋; 韩健康; 毛续飞; 刘云浩;
摘要 本 发明 涉及无线Mesh网络路由协议和安全规范技术领域,尤其涉及一种基于802.11s标准路由协议的无线Mesh网络路由安全保护方法。本发明通过在原有 帧 结构的 基础 上增加了扩展字段,形成了一套新的安全机制,完全兼容802.11s原有安全机制,同时提供针对无线Mesh网络特性所做的扩展路由帧路由安全保护,弥补了802.11s标准在路由安全方面的不足,能够达到较强的安全性要求,有效的抵御路径转移攻击、伪装攻击、洪泛攻击、被动攻击以及重放攻击等,并且易于在现有的无线Mesh网络系统中进行部署,不需要额外的设施或设备;本发明提供的无线Mesh网络路由安全保护方法适用于车载网络、大范围视频监控网络、传感网、骨干网等无线传输通信网络,并为上述相关网络提供路由安全保护。
权利要求

1.一种无线Mesh网络路由安全保护方法,其特征在于,所述方法包括以下步骤:
路由请求中设置请求认证码字段,对所述请求认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述路由请求帧发射到无线Mesh网路中;所述路由请求帧通过两跳认证的方式进行传递,直到所述路由请求帧到达目的节点或到达符合条件的中继节点;
目的节点收到所述路由请求帧后,发送路由应答帧给所述源节点;所述路由应答帧设置应答认证码字段,所述应答认证码字段利用瞬态密匙加密方式以及进行以及一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递;
符合条件的中继节点收到所述路由请求帧后,发送所述路由应答帧给所述源节点;同时所述中继节点发送所述路由应答帧给其下一跳节点,所述下一跳节点验证所述中继节点的路由路径有效后回复所述路由应答帧;
所述无线Mesh网络中路由路径错误时,相应节点发送路由路径错误信息帧给其前驱节点,所述路由路径错误信息帧设置路径错误认证码字段,所述设置路径错误认证码字段利用瞬态密匙进行加密方式一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递。
2.根据权利要求1所述的方法,其特征在于,所述方法中,源节点发射网关声明帧到所述无线Mesh网络中;所述网关声明帧设置网关声明认证码字段,对所述网关声明认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述网关声明帧发射到无线Mesh网路中;所述网关声明帧通过两跳认证的方式进行传递。
3.根据权利要求2所述的方法,其特征在于,所述无线Mesh网络中的根节点发送并根声明帧;所述根声明帧设置根声明认证码字段,对所述根声明认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述根声明帧发射到无线Mesh网路中;所述根声明帧通过两跳认证的方式进行传递。
4.根据权利要求3所述的方法,其特征在于,所述请求认证码字段、应答认证码字段、路径错误认证码字段、网关声明认证码字段以及根声明认证码字段均通过方法得到:
对到达当前节点的跳数字段、对应的当前跳数哈希值字段、对应的最大跳数字段、对应的顶级哈希值字段、对应的当前节点的前驱节点度量值字段以及从源节点到当前节点的整条链路的度量值字段进行加密,之后进行哈希运算得到的认证码。
5.根据权利要求4所述的方法,其特征在于,所述当前跳数哈希值以及顶级哈希值是对一个随机数的哈希,所述随机数由对应的节点随机生成。
6.根据权利要求5所述的方法,其特征在于,所述路由请求帧、路由应答帧、路由路径错误信息帧、网关声明帧以及根声明帧均包括签名字段,所述签名字段为对应帧中的不变字段使用签名机制进行签名得到。
7.根据权利要求6所述的方法,其特征在于,所述签名机制采用基于ID的在线/离线签名方案进行签名。
8.根据权利要求7所述的方法,其特征在于,所述路由请求帧的所述两跳认证的方式具体为:
所述源节点的一跳邻居接收所述路由请求帧,利用所述一跳密钥解密所述路由请求帧,并在所述路由请求帧中增加所述一跳邻居的请求认证码字段,形成新的路由请求帧,所述源节点的二跳邻居接收所述一跳邻居发射的新的所述路由请求帧,利用所述源节点的广播密钥解密所述一跳邻居发送的所述路由请求帧的请求认证码字段,进行所述一跳邻居是否篡改的验证,若进行了篡改,则结束传递,否则在所述二跳邻居接收的所述路由请求帧中增加所述二跳邻居的请求认证码字段,形成新的路由请求帧;
将所述源节点的四跳邻居以及大于四跳邻居的节点称为传递节点,利用所述传递节点的第二前驱节点广播密钥解密所述传递节点的第一前驱节点发送的所述路由请求帧的请求认证码字段,进行所述传递节点的第一前驱节点是否篡改的验证,若进行了篡改,则结束传递,否则在所述传递节点接收的所述路由请求帧中增加所述传递节点的请求认证码字段,形成新的路由请求帧。

说明书全文

一种无线Mesh网络路由安全保护方法

技术领域

[0001] 本发明涉及无线Mesh网络路由协议和安全规范技术领域,尤其涉及一种基于802.11s标准路由协议的无线Mesh网络路由安全保护方法。

背景技术

[0002] 针对地形复杂、环境恶劣环境,如何安全高效的满足大范围的Internet网络覆盖,局域网内大量生产数据的高带宽传输以及移动设备定位和网络接入是关乎通信质量和相关应用业务能否正常开展的重要问题。传统的有线网络虽然传输带宽较高,但是在复杂恶劣环境下部署和维护成本较高且覆盖范围有限。当前的无线网络接入方式以网桥技术为主,对网络规模、节点数量、网络的可扩展性存在限制,无线Mesh(网格)自组织网络则可以满足需求。
[0003] 无线Mesh网络(WMN)主要由Mesh路由器和Mesh终端组成,是一个动态的自组织、自配置网络。无线Mesh网络具有无线网状拓扑、自组织、多跳传输等诸多特性。同时,无线Mesh网络也天生带有一些安全上的缺陷,目前802.11s所规定的无线Mesh网络的默认路由协议是混合无线Mesh协议(HWMP),而HWMP易于受到多种路由攻击,例如虫洞攻击、路由中断攻击、洪泛攻击等。恶意攻击节点充当网络的中继节点转发其他节点的数据,通过篡改路由中可变字段的内容发动攻击。
[0004] 无线Mesh网络在传输介质和组网形式方面的特性,使得无线Mesh网络相对于有线网络面临的安全威胁更加严重,然而现有的802.11s无线Mesh自组织网络协议仅对网络mac层安全认证做出了规定,而未对网络路由安全方面提出专的解决方案。

发明内容

[0005] 本发明要解决的技术问题是提供一种兼容802.11s原有安全机制的同时,针对无线Mesh网络特性所做的扩展路由帧进行路由安全保护的方法。
[0006] 为解决上述技术问题,本发明提供了一种无线Mesh网络路由安全保护方法,所述方法包括以下步骤:
[0007] 路由请求帧中设置请求认证码字段,对所述请求认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述路由请求帧发射到无线Mesh网路中;所述路由请求帧通过两跳认证的方式进行传递,直到所述路由请求帧到达目的节点或到达符合条件的中继节点;
[0008] 目的节点收到所述路由请求帧后,发送路由应答帧给所述源节点;所述路由应答帧设置应答认证码字段,所述应答认证码字段利用瞬态密匙加密方式以及进行以及一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递;
[0009] 符合条件的中继节点收到所述路由请求帧后,发送所述路由应答帧给所述源节点;同时所述中继节点发送所述路由应答帧给其下一跳节点,所述下一跳节点验证所述中继节点的路由路径有效后回复所述路由应答帧;
[0010] 所述无线Mesh网络中路由路径错误时,相应节点发送路由路径错误信息帧给其前驱节点,所述路由路径错误信息帧设置路径错误认证码字段,所述设置路径错误认证码字段利用瞬态密匙进行加密方式一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递。
[0011] 优选地,所述方法中,源节点发射网关声明帧到所述无线Mesh网络中;所述网关声明帧设置网关声明认证码字段,对所述网关声明认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述网关声明帧发射到无线Mesh网路中;所述网关声明帧通过两跳认证的方式进行传递。
[0012] 优选地,所述无线Mesh网络中的根节点发送并根声明帧;所述根声明帧设置根声明认证码字段,对所述根声明认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述根声明帧发射到无线Mesh网路中;所述根声明帧通过两跳认证的方式进行传递。
[0013] 优选地,所述请求认证码字段、应答认证码字段、路径错误认证码字段、网关声明认证码字段以及根声明认证码字段均通过方法得到:
[0014] 对到达当前节点的跳数字段、对应的当前跳数哈希值字段、对应的最大跳数字段、对应的顶级哈希值字段、对应的当前节点的前驱节点度量值字段以及从源节点到当前节点的整条链路的度量值字段进行加密,之后进行哈希运算得到的认证码。
[0015] 优选地,所述当前跳数哈希值以及顶级哈希值是对一个随机数的哈希,所述随机数由对应的节点随机生成。
[0016] 优选地,所述路由请求帧、路由应答帧、路由路径错误信息帧、网关声明帧以及根声明帧均包括签名字段,所述签名字段为对应帧中的不变字段使用签名机制进行签名得到。
[0017] 优选地,所述签名机制采用基于ID的在线/离线签名方案进行签名。
[0018] 优选地,所述路由请求帧的所述两跳认证的方式具体为:
[0019] 所述源节点的一跳邻居接收所述路由请求帧,利用所述一跳密钥解密所述路由请求帧,并在所述路由请求帧中增加所述一跳邻居的请求认证码字段,形成新的路由请求帧,所述源节点的二跳邻居接收所述一跳邻居发射的新的所述路由请求帧,利用所述源节点的广播密钥解密所述一跳邻居发送的所述路由请求帧的请求认证码字段,进行所述一跳邻居是否篡改的验证,若进行了篡改,则结束传递,否则在所述二跳邻居接收的所述路由请求帧中增加所述二跳邻居的请求认证码字段,形成新的路由请求帧;
[0020] 将所述源节点的四跳邻居以及大于四跳邻居的节点称为传递节点,利用所述传递节点的第二前驱节点广播密钥解密所述传递节点的第一前驱节点发送的所述路由请求帧的请求认证码字段,进行所述传递节点的第一前驱节点是否篡改的验证,若进行了篡改,则结束传递,否则在所述传递节点接收的所述路由请求帧中增加所述传递节点的请求认证码字段,形成新的路由请求帧
[0021] 本发明的上述技术方案具有如下优点:本发明提供的无线Mesh网络路由安全保护方法工作在802.11s路由协议和mac层安全机制的中间层,为上层的路由协议提供安全保护且对下层透明,完全兼容802.11s原有安全机制,同时提供针对无线Mesh网络特性所做的扩展路由帧路由安全保护,不需要对802.11s标准做任何修改,弥补了802.11s标准在路由安全方面的不足,能够达到较强的安全性要求,有效的抵御路径转移攻击、伪装攻击、洪泛攻击、被动攻击以及重放攻击等,并且易于在现有的无线Mesh网络系统中进行部署,不需要额外的设施或设备;发明提供的无线Mesh网络路由安全保护方法适用于车载网络、大范围视频监控网络、传感网、骨干网等无线传输通信网络,并为上述相关网络提供路由安全保护。附图说明
[0022] 图1是本发明实施例提供的基于ID的在线/离线身份认证方案初始化和认证步骤流程图
[0023] 图2是本发明实施例提供的两个节点之间回复请求的认证与交互示意图;
[0024] 图3是本发明实施例提供的目的节点回复请求的认证与交互示意图;
[0025] 图4是本发明实施例提供的母的节点回复请求的认证与交互示意图;
[0026] 图5是本发明实施例提供的两个节点之间回复应答的认证与交互示意图;
[0027] 图6是本发明实施例提供的路由请求帧的路由帧扩展示意图;
[0028] 图7是本发明实施例提供的路由应答帧的路由帧扩展示意图;
[0029] 图8是本发明实施例提供的路由路径错误信息帧的路由帧扩展示意图;
[0030] 图9是本发明实施例提供的根声明帧的路由帧扩展示意图;
[0031] 图10是本发明实施例提供的网关声明帧GANN的路由帧扩展示意图;
[0032] 图11是本发明的一种无线Mesh网络路由安全保护方法流程图。

具体实施方式

[0033] 下面结合附图和实施例对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0034] 本发明提供了一种无线Mesh网络路由安全保护方法,如图11所示,所述方法包括以下步骤:
[0035] 路由请求帧中设置请求认证码字段,对所述请求认证码字段以广播密钥加密的方式和一跳密钥加密的方式进行加密,并将所述路由请求帧发射到无线Mesh网路中;所述路由请求帧通过两跳认证的方式进行传递,直到所述路由请求帧到达目的节点或到达符合条件的中继节点;
[0036] 目的节点收到所述路由请求帧后,发送路由应答帧给所述源节点;所述路由应答帧设置应答认证码字段,所述应答认证码字段利用瞬态密匙加密方式以及进行以及一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递;
[0037] 符合条件的中继节点收到所述路由请求帧后,发送所述路由应答帧给所述源节点;同时所述中继节点发送所述路由应答帧给其下一跳节点,所述下一跳节点验证所述中继节点的路由路径有效后回复所述路由应答帧;
[0038] 所述无线Mesh网络中路由路径错误时,相应节点发送路由路径错误信息帧给其前驱节点,所述路由路径错误信息帧设置路径错误认证码字段,所述设置路径错误认证码字段利用瞬态密匙进行加密方式一跳密钥加密的方式进行加密,并通过所述两跳认证的方式进行传递。
[0039] 上述帧包括签名字段,采用基于ID的在线/离线签名方案工作流程,基于身份的加密算法使用设备本身的固有ID进行身份加密,不需要过公钥基础设施(Public Key Infrastructure,PKI)系统发放其认证过的公匙证书,节省了证书管理的开销。该方案用于对路由请求帧进行两条加密认证,以防止中间节点对可变字段进行非法篡改。
[0040] 多源广播机密方案,用于实现用户组加密,在Mesh网络路由发现帧的传播过程中能够实现两跳节点组的加密,杜绝中间节点对路由发现帧中的可变字段的非法篡改。考虑Mesh网络中缺乏绝对可信的认证中心(Certification Authority,CA),采用离线密匙分发方案。多源广播加密方案,即网络中存在多个数据源,多个数据源均采用广播加密方案对所发送数据进行加密,并相互协调的加密方案。
[0041] 路由发现帧即路由请求帧,用于测探、验证、构建有效路由的路由帧。
[0042] PREQ帧的认证与交互过程。节点发送路由请求帧(PREQ),基础PREQ帧内的的不变字段使用基于ID的签名机制签名,签名放置在该帧的扩展部分。因为不变字段经过中间节点时不会发生变化,中间节点不需要进行认证操作,所以仅在源节点对HWMP PREQ帧中的地址、序列号、生存时间、标记字段、PREQ ID、帧长度等字段签名即可。PREP帧的认证与交互过程。当目的节点或某个符合条件的中继节点接收到一个PREQ,即回传一个路由应答帧(PREP),该帧使用由非交互式密匙分发方案(不需要密匙生成方和密匙接受方进行在线交互,相较于交互式密匙分发方案能够节省开销)生成的成对瞬态密匙加密。哈希运算消息认证码(Hash-based Message Authentication Code,HMAC)可以使用成对瞬态密匙保护可变字段。当某个中间节点之前已经具有到达目的节点的路由路径时,该中间节点可以在接收到PREQ帧后回传一个PREP帧而不需要继续广播PREQ帧。
[0043] 符合条件的中继节点:源节点发出PREQ帧后,PREQ帧会经过多跳转发,其中每一跳称为中继节点,如果某一个中继节点具有到达目的节点的有效路由,即所谓“符合条件”,该中继节点不在转发PREQ帧而是直接回传一个路由应答帧。
[0044] PERR帧的认证与交互过程。当节点发现路径损坏,该节点生成一个路由路径错误信息帧(PERR)并发送给它的前驱节点。PERR帧的扩展字段内容包括基于ID加密的不变字段和路由帧生存时间(TTL)。整个PERR帧使用由SAE(simultaneous authentication of equals,同时对等验证,一种节点间相互验证可靠性的机制)生成的成对主密匙加密。
[0045] GANN帧的认证与交互过程,GANN帧的认证和交互过程和PREQ相似,区别在于GANN是广播数据帧,不需要设置目的节点。
[0046] RANN帧的认证与交互过程,Mesh根节点需要生成并发送一个根声明帧(RANN),RANN帧的认证和交互过程和GANN相似,区别在于RANN帧的扩展部分中的可变部分包含度量值和前驱结点度量值。
[0047] PREQ路由帧扩展,由类型、长度、保留字段、前驱节点度量值、顶级哈希值、哈希值、签名、HMAC值字段组成。其中,类型指路由帧类型;长度指该类型路由帧的长度;保留字段指保留以备今后使用;前驱节点度量值指前驱节点的链路度量值;顶级哈希值指用作跳数认证的顶级哈希值,将一个初始值哈希n次,n取最大跳数;哈希值指当前所到节点的实际跳数对应的哈希次数所得哈希值;签名指对802.11s路由协议帧的不变字段进行基于ID的签名所得到的签名字段;HMAC指哈希字段的认证码,通过多源广播加密机制获得。
[0048] PREP路由帧扩展,由类型、长度、保留字段、前驱节点度量值、顶级哈希值、哈希值、签名、HMAC值字段组成。各字段定义通PREQ帧。
[0049] PERR路由帧扩展,由类型、长度、保留字段、签名、HMAC值字段组成。各字段定义通PREQ帧。
[0050] RANN路由帧扩展,由类型、长度、保留字段、前驱节点度量值、顶级哈希值、哈希值、签名、HMAC值字段组成。各字段定义通PREQ帧。
[0051] GANN路由帧扩展,由类型、长度、保留字段、前驱节点度量值、顶级哈希值、哈希值、签名、HMAC值字段组成。各字段定义通PREQ帧。
[0052] 如图1所示,基于ID的在线/离线签名方案初始化,整个初始化和认证过程应分为四个步骤:首先开始初始化阶段,该阶段在PKG(private key generator,私匙生成中心)完成,PKG根据设定的算法参数生成公共参数params和系统主密匙master-key。其次进入私匙生成阶段,该阶段同样在PKG完成,针对每一个独立的ID,PKG结合params和master-key计算出一个对应的私匙(R,s)。再次进入加密阶段,该阶段在发送节点完成,分为在线和离线两个步骤。其中离线加密阶段不需要密匙信息,且具有重复性,应在节点部署或者启动阶段完成,以减少密匙生成算法带来的计算和存储开销。在线阶段当节点发送数据时结合离线密文C’系统主密匙master-key和目标节点ID生成密文C。最后进入验证阶段,该阶段在接收节点完成,接收节点结合PKG生成个的私匙(R,s)解密密文,最终完成验证过程。
[0053] 如图2所示,PREQ帧认证与交互过程。整个PREQ帧由源点使用一跳共享的密匙加密,一跳邻居(mesh网络中数据进行多跳传输,一跳邻居即直观理解的邻居节点,下一跳邻居是指邻居节点的邻居节点。多跳路径上每一跳都需要接受、处理并转发PREQ帧)可以使用该密匙解密PREQ帧,对PREQ帧中的可变字段做相应的更改,增加跳数、更新该节点的度量值和前一节点的度量值。之后使用自己的一跳密匙加密并广播。整个解密、更新、重新加密过程中不接触源点的广播密匙。当一跳节点重新广播该PREQ,二跳邻居接收到该PREQ后使用源节点分发的广播密匙解密出HMAC字段,验证HMAC字段是否被中间节点做了非法修改。该过程即可实现两跳认证。对所有字段做验证后,二跳邻居修改PREQ相应字段做更改,增加跳数、更新该节点度量值和前一节点的度量值。同时更新扩展字段中的HMAC(认证码字段),然后重新广播。PREQ帧传播过程中重复进行该流程直至到达目的节点。
[0054] 如图3所示,目的节点PREP帧认证和交互过程。当目的节点接收到PREQ帧,则目的节点已经具有到达源节点的路由路径,故直接回传一个指向源节点的单播PREP帧。PREP帧的扩展部分和PREQ相似,区别在于PREP帧扩展部分的HMAC使用瞬态密匙加密,而非广播密匙。
[0055] 如图4所示,中继节点回复PREP帧认证和交互过程。当某个中间节点之前已经具有到达目的节点的路由路径时,该中间节点可以在接收到PREQ帧后回传一个PREP帧而不需要继续广播PREQ帧。其具体流程应如图4所示,具有路由路径的中继节点接收到PREQ后,向路由路径上的下一跳请求回复PREP,下一跳接收到请求并验证路由路径有效后回复PREP,加密和传输方式同目的节点。
[0056] 如图5所示,PERR帧认证和交互过程。当节点发现路径损坏,该节点生成一个路由路径错误信息帧(PERR)并发送给它的前驱节点。PERR帧的扩展字段内容包括基于ID加密的不变字段和路由帧生存时间(TTL)。整个PERR帧使用由SAE生成的成对主密匙加密。
[0057] 图7是本发明实施例提供的路由应答帧、路由路径错误信息帧、根声明帧的、网关声明帧GANN的路由帧扩展示意图。
[0058] 综上所述,本发明提供的无线Mesh网络路由安全保护方法工作在802.11s路由协议和mac层安全机制的中间层,为上层的路由协议提供安全保护且对下层透明,完全兼容802.11s原有安全机制,同时提供针对无线Mesh网络特性所做的扩展路由帧路由安全保护,不需要对802.11s标准做任何修改。弥补了802.11s标准在路由安全方面的不足,能够达到较强的安全性要求,有效的抵御路径转移攻击、伪装攻击、洪泛攻击、被动攻击以及重放攻击等。并且易于在现有的无线Mesh网络系统中进行部署,不需要额外的设施或设备。本发明提供的无线Mesh网络路由安全保护方法适用于车载网络、大范围视频监控网络、传感网、骨干网等无线传输通信网络,并为上述相关网络提供路由安全保护。
[0059] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
QQ群二维码
意见反馈