CN101867933B - 一种基于公钥数字签名和路由恶意检测的安全路由方法 - Google Patents
一种基于公钥数字签名和路由恶意检测的安全路由方法 Download PDFInfo
- Publication number
- CN101867933B CN101867933B CN201010187521.4A CN201010187521A CN101867933B CN 101867933 B CN101867933 B CN 101867933B CN 201010187521 A CN201010187521 A CN 201010187521A CN 101867933 B CN101867933 B CN 101867933B
- Authority
- CN
- China
- Prior art keywords
- node
- route
- list
- routing
- bag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公布了一种基于公钥数字签名和路由恶意检测的安全路由方法,本发明方法包括安全路由发现和路由维护,中间节点收到源节点的路由请求包后,用函数对Fid字段进行处理,在路由回复过程则用逆函数进行相反过程;当路由回复包到达源节点时,源节点用Fid来检测路由回复Route_List字段中节点序列是否被恶意节点篡改过。在检测到路由回复Route_List字段中节点序列已被恶意节点篡改或路由回复超时情况下,源节点将发送特殊格式的路由请求包,接收到该包的中间节点都将检测前一跳节点的公钥签名。本发明能够抵御多种类型恶意节点的攻击,保证路由建立的安全性和有效性。
Description
技术领域
本发明涉及通信技术领域,是一种适用于Ad Hoc网络的安全路由技术,本发明基于公钥数字签名和路由恶意检测的安全路由方法,能够抵御多种类型恶意节点的攻击。
背景技术
移动自组织网络(Mobile Ad Hoc Network,简称MANET)是一种无须任何网络基础设施,由移动节点本身兼做路由器通过无线连接、多跳路由快速连接起来的自组织网络,特别适合于作战指挥、抢险救灾以及应付突发事件等执行临时任务的场合以及奥林匹克运动会等临时性会议的场合。
路由协议是移动Ad Hoc网络的重点,开发良好的路由协议是建立Ad Hoc网络的首要问题。与传统网络的协议相比,Ad Hoc网络路由协议的开发更具挑战性,这是因为传统网络的路由方案都假设网络的拓扑结构是相对稳定的,而Ad Hoc网络的网络拓扑结构是不断变化的。另外,传统网络的路由方案主要依靠大量的分布式数据库,这些数据库保存在某些网络节点和特定的管理节点中,而Ad Hoc网络中的节点不会长期存储路由信息,并且这些存储的路由信息也不总是可靠的。大量的研究表明,理想的Ad Hoc网络路由协议必须具备以下功能:维护网络拓扑的连接、及时感知网络拓扑结构的变化以及高度的自适应性等。
根据路由表的维护特点,Ad Hoc网络的路由协议大致可分为:表驱动路由协议、按需驱动路由协议和混合路由协定。目前,大多数Ad Hoc网络路由协议采用的是按需驱动路由方式,如动态资源路由协议(DSR,Dynamic Source Routing)、请求距离向量路由协议(AODV,Ad Hoc On-Demand Distance Vector Routing)和定位辅助路由协议(LAR,Location Assisted Routing)等。
Ad Hoc网络路由协议负责为节点指定和维护必要的路由结构,必须防止对机密性、真实性、完整性、抗抵赖性和可用性的攻击。如果路由协议受到恶意攻击,整个Ad Hoc网络将无法正常工作。所以,必须提供相应的安全机制,以便保护Ad Hoc网络路由协议的正常工作。但是,目前已提出的用于Ad Hoc网络的路由协议大都没有考虑这个问题。另外在开放的环境中保护路由流量是非常重要的,以便通信各方的身份和位置不被未授权的实体所了解。路由信息必须防止认证和抗抵赖性攻击,以便验证数据的来源。
路由协议的安全威胁来自两个方向:一是网络外部的攻击者通过发送错误的路由信息、重放过期的路由信息、破坏路由信息等手段,来达到致使网络出现分割、产生无效的错误路由、分组无谓的重传,网络发生拥塞并最终导致网络崩溃的目的,攻击者还可以通过分析被路由业务流量来获取有用信息;二是网络内部的攻击者可以向网内其它节点发布错误的路由信息和丢弃有用的路由信息。两种攻击都能造成网络中合法节点得不到应有的服务,因此也可以看作为一种拒绝服务攻击。可以使用资料安全中的各种加密机制来解决第一种威胁,比如带有时间戳的数字签名。解决第二种威胁较为困难,对路由信息进行加密的机制不再可行,因为被占领的节点可以使用合法的私有密钥对路由信息进行签名。
为了建立安全有效的通信路由,能够抵御多种类型恶意节点的攻击,本发明将在DSR基本路由协议的基础上提出一种新型的安全路由算法。
SRP(Secure Routing Protocol,中文含义:安全路由协议)是DSR路由协议的安全扩展,它保留了DSR的主要机制,如路由查询请求、路由应答、跳数控制、时效性控制、相邻节点发现协议等。在路由发现和路由应答方面,SRP在DSR包基础上增加了一个SRP安全包头,确保合法的路由请求包从源节点安全地到达目的节点,并保证有效的路由应答包通过反向路由到达源节点,从而在源节点和目的节点之间建立一条安全的路由通道。SRP协议的前提条件是源节点S和目的节点D之间预共享密钥。
(一)SRP安全路由发现
当源节点需要建立和目的节点之间的路由时,其首先创建一个路由请求包(如图1所示),主要包括路由包类型Type、源节点路由地址IPS、目的节点路由地址IPD、路由请求序列号SEQ、随机查询标识符Qid、消息认证码SRP_MAC(Message AuthenticationCode)和节点路径表Routte_List。其中路由请求序列号SEQ是目的节点用来判断路由请求是否过期;随机查询标识符Qia是利用一个安全伪随机数发生器产生的,不可预测,可以让中间节点识别查询请求;消息认证码SRP_MAC为以源节点路由地址IPS、目的节点路由地址IPD、路由请求序列号SEQ、随机查询标识符Qid以及源节点和目的节点的共享密钥等作为单向散列函数的输入而产生的。中间节点收到路由请求包后,首先检查随机查询标识符Qid,如路由表中存在,则丢弃它,相反将随机查询标识符Qid插入本地缓存中,并将自己的路由地址插入路由请求包的节点列表中,然后继续转发该路由请求包。
(二)SRP安全路由回复
目的节点收到路由请求包后,比较路由请求序列号SEQ与源节点接受到的最大的查询序列号SEQ_max,若SEQ≤SEQ_max,则认为路由请求包是过期的,丢弃它;相反,SEQ>SEQ_max,则目的节点重新计算消息认证码SRP_MAC,并与路由请求包中消息认证码SRP_MAC比较,验证此次路由请求的完整性。对有效的路由请求包,目的节点将创建一个路由应答包,通过反向路由发往源节点。其中RREP(中文含义)包格式与RREQ(中文含义)包格式相似,只是RREP包中消息认证码SRP_MAC是以源节点路由地址IPS、目的节点路由地址IPD、路由请求序列号SEQ、随机查询标识符Qid、源节点和目的节点的共享密钥以及节点路径表Route_List中节点网络地址作为单向散列函数的输入而产生的。
源节点收到RREP(中文含义)后,检查应答包中的源节点路由地址IPS、目的节点路由地址IPD、路由请求序列号SEQ、随机查询标识符Qid,若应答包与此次路由请求包不相应,则丢弃它,相反,源节点将计算消息认证码SRP_MAC验证应答包在传输过程中是否被篡改过。然后将有效的应答包中的节点列表保存到本地路由表中,此时源节点便可以与目的节点进行通信。
SRP协议可以抵御恶意节点的几种攻击,如图2所示的Ad Hoc网络,由8个节点组成,其中S是源节点,D是目的节点,M是恶意节点。
(1)当M收到从S发送到D的路由请求包时,其试图向S发送一个路由应答包{RSD:S,a,M,D},声称其离D只有一跳距离,进行路由欺骗。但由于M不知道S和D的共享密钥,其伪造的路由应答包中的SRP_MAC是无效的,不能通过完整性验证,这样S便将丢弃这个伪造的应答包。
(2)D接收到路由请求{QSD:S,a,M,e}时,创建一个路由应答包{RSD:S,a,M,e,D},并沿反向路由传到S,当M接收到该应答包后,篡改路由应答包为{RSD:S,a,M,X,D}(X是伪造的任一节点或节点序列)。由于RREP SRP_MAC提供的路由信息完整性保护,S将丢弃这个应答包,没不会使用这个已被恶意节点篡改的路由。
(3)当M修改路由请求包中IPS、IPD、SEQ、Qid等信息企图骗取网络拓扑等特性,但由于SRP_MAC提供的路由信息完整性保护,源节点和目的节点将丢弃它,并不会回复一些机密信息。
SRP安全路由无需修改DSR协议,只需进行DSR路由包的扩充便可以实现一定的安全保障,能够有效地抵制路由欺骗、路由篡改等攻击,但SRP协议有以下缺点:
(1)中间节点不能发送路由回复包,影响路由发现效率
SRP协议要求源节点和与其通信的目的节点之间预共享密钥,而中间节点却没有与源节点共享密钥,因此当源节点发送路由请求包时,只有目的节点可以发送路由应答包。如图3所示,当路由请求包到达节点b时,b发现其本地路由表中有到达D的路由,但其没有与S共享的密钥,不能产生SRP_MAC认证码,所以b的路由应答包是不容许的。这样无疑降低了路由发现的效率。
(2)中间节点不能发送路由失效包
当源节点收到目的节点的应答包后,便可以用应答包中的节点路径{S,a,b,c,D}进行数据的传输。如图4所示,在S与D进行数据传输的过程中,若节点b和c中间的链路出现故障时,由于b没有与S共享密钥,不能产生SRP_MAC认证码,所以b不容许给S发送路由失效包,从而影响了网络处理异常事件的能力。
(3)恶意节点隐藏问题
当路由请求包到达恶意节点M时,其故意不将自己的网络地址添加到SRP头部的节点路径中,使得当目的节点创建路由应答包时,其地址字段并不包含恶意节点M。如图5所示,这样源节点S便获得一条含有恶意节点的路由,而其又是不可见的。当S和D通信时,M将故意延迟发送、篡改包或丢包,将对网络性能带来严重的负面影响。
(4)路由暴露问题
源节点发送的路由请求包中的节点路径列表以明文形式传输,这是SRP协议最大的弱点,路由信息完全暴露给恶意节点和未授权节点,如果在转发请求包过程中被恶意节点篡改,那么目的节点将反馈一个错误的、不可到达的、或甚至是恶意的路由。如图6所示,M节点篡改a转发的路由包{QSD:s,a}将路径表换成一条跳数较多的路径{QSD:s,b,c,e,d,M},D无法识别其已被篡改过,直接将它反馈给S,S认为{RSD:s,b,c,e,d,M,D}是最佳路由便使用它与D进行通信。如图7所示,M节点篡改a转发的路由包{QSD:s,a}将路径表换成一条不可达的路径{QSD:s,a,e,M},D反馈的路由是{RSD:s,a,e,M,D},显然节点S和D是无法通信的。所以在含有恶意节点的安全敏感的网络环境下,SRP路由暴露问题是一个严重的、急需解决的弊端。
参考文献(如专利/论文/标准)
[1].Yi PingJiang,Zhang YiChuan,Zhong ShiYong.Survey of security for mobile ad hocnetworks[J].Tien Tzu Hsueh Pao,Acta Electronica Sinica,2005(5):893-899.
[2].Argyroudis P G,Donal M.Secure routing for mobile ad hoc networks[J].IEEECommunication Survery & Tutorials,2005,7(3):2-21.
[3].Hu Y C,Perrig A,Johnson D B.Wormhole attacks in wireless networks[J].Selected Areasin Communications,2006,24(2):370-380.
[4].Gyoda K,Nam Hoang Nguyen,Okada K,Takizawa O.Analysis of Ad Hoc NetworkPerformance in Emergency Communication Models[J].Advanced Information Networkingand Applications-Workshops,2008.AINAW 2008.22nd International Conference on25-28 March 2008:1083-1088.
[5].Patroklos G.Argyroudis,Donal O’Mahony.Secure routing for mobile ad hocnetworks[J].IEEE Communication Survery & Tutorials,2005,7(3).
[6].Padimitrators P,Haas Z.Secure Routing for Mobile Ad Hoc Nerworks[C].SCSCommunication Networks and Distributed Systems Modeling and Simulation Conference,San antonio,TX,USA:[s.n.],2002:27-31.
[7].Eschenauer L,Gligor V D.A key-management scheme for distributed sensornetworks[C].9th ACM Conference on Computer and CommunicationsSecurity.Washington:ACM Press,2002:4 1-47.
[8].Srdjan Capkun,Levente Buttyan,Jean-Pierre Hubaux.Self-organized public-keymanagement for mobile Ad Hoc networks[J].IEEE Transations on Mobile Computing,2003,2(1):52-64.
[9].Y.Dong,H.W.Go.Providing Distributed Certificate Authority Service in Mobile Ad HocNetworks.Pro.of the First International Conference on Security and Privacy for EmergingAreas in Communications Networks,2005.
[10].张登银,吴品.Ad hoc网络路由协议性能仿真分析[J].计算机技术与发展,2009(7).
[11].宋志贤,喻继燊,肖明波.无线Mesh网络中安全路由协议的研究[J].厦门大学学报(自然科学版),2008(6).
发明内容
技术问题:路由是移动Ad Hoc网络的关键环节,是Ad Hoc网络应用与业务的底层支柱。路由的安全性对整个Ad Hoc网络的作用是不容忽视的。如果路由协议受到恶意攻击,整个Ad Hoc网络将无法正常工作。所以,必须提供相应的安全机制,以便保护Ad Hoc网络路由协议的正常工作。但是,目前已提出的用于Ad Hoc网络的路由协议大都没有考虑这个问题。本发明在DSR基本路由协议和技术一的基础上,给出一种基于公钥数字签名和路由恶意检测的安全路由方法ESSDSR(Efficient Self-healing Secure DSR RoutingScheme)。适用于Ad Hoc网络的安全路由方法,能够抵御多种类型恶意节点的攻击,保证路由建立的安全性和有效性。
技术方案:本发明一种基于公钥数字签名和路由恶意检测的安全路由方法如下:
ESSDSR安全路由发现
(一)ESSDSR路由请求:
源节点S广播安全路由请求RREQ;
中间节点收到源节点S的RREQ包后,将进行如下操作:
(1)通过序列号SEQ判断该包是否接收过,是则不动作,否便继续下面的操作;
(2)遍历本地恶意节点链表Blanklist,如果节点路径表Route_List末尾节点在Blanklist中,则不再继续处理此RREQ包;
(3)计算以源节点路由地址IPS、目的节点路由地址IPD以及路由请求序列号SEQ为参数的哈希值Hash[IPS,IPD,SEQ]和安全消息认证码ESSDSR_MAC解密明文DPK_S(ESSDSR_MAC),若不相等则将Route_List中最后一节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作,Hash是一个公开的压缩函数;
(4)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入节点路径表Route_List,并且用本地随机数m更新f(Fid,m),然后继续广播RREQ包;
中间节点收到节点L转发的源节点S的SRREQ包后,将进行如下操作:
(a)通过序列号判断该包是否接收过,是则不动作,否便继续下面的操作;
(b)遍历本地恶意节点链表Blanklist,如果Route_List末尾节点在Blanklist中则不再继续处理此SRREQ包;
(c)计算Hash[IPS,IPD,SEQ]和DPK_S(ESSDSR_MAC),若不相等则将Route_List中最后一节点即L节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作;
(d)计算以Route_List为参数的哈希值Hash[Route_List]和Route_List_DS的解密明文DPK_L(Route_List_DS),若不相等则将Route_List中最后一节点即L节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作,其中Route_List_DS是用节点的私钥对Hash[Route_List]进行加密的密文;
(e)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入Route_List后形成新的Route_List′,用Route_List′取代Route_List,Route_List_DS′取代Route_List_DS,继续广播SRREQ包,其中Route_List_DS′通过下面的公式计算:Route_List_DS′=ESK_N(Hash[Route_List′]),即Route_List_DS′是用节点的私钥对Route_List′的哈希值Hash[Route_List′]进行加密的密文;
(二)ESSDSR路由回复
(I)当源节点S的RREQ包到达目的节点D时,节点D做如下处理:
通过序列号SEQ判断该包是否接收过,是则不动作,否便将目的节点D自己的IP地址加入Route_List后形成新的节点路径列表Route_List′,计算路由回复消息认证码SMAC=ESK_D{Hash[IPS,IPD,SEQ,Route_List]},创建RREP包,并沿着Route_List返回到源节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m),f-1(Fid,m)为f(Fid,m)的反函数;
(II)当中间节点返回SRREP时,中间节点做如下处理:
通过序列号SEQ判断该包是否接收过,是则不动作,否便将中间节点自己的到节点D的路径′Route_List加入节点路径表Route_List后形成新的节点路径表Route_List′,计算SMAC=ESK_T{Hash[IPS,IPD,SEQ,Route_List+′Route_List]},创建SRREP包并沿着Route_List返回到源节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m);
(III)当SRREQ包到达目的节点D或被中间节点响应时,(1)当源节点S的SRREQ包到达目的节点D时,节点D做如下处理:通过序列号SEQ判断该包是否接收过,是则不动作,否便将目的节点D自己的IP地址加入Route_List后形成新的节点路径列表Route_List′,计算路由回复消息认证码SMAC=ESK_D{Hash[IPS,IPD,SEQ,Route_List]},创建RREP包,并沿着Route_List返回到源节点S;(2)当中间节点返回SRREP时,中间节点做如下处理:通过序列号SEQ判断该包是否接收过,是则不动作,否便将中间节点自己的到节点D的路径′Route_List加入节点路径表Route_List后形成新的节点路径表Route_List′,计算SMAC=ESK_T{Hash[IPS,IPD,SEQ,Route_List+′Route_List]},创建SRREP包并沿着Route_List返回到源节点S;
源节点S收到RREP包和SRREP包后通过数字签名验证后,将Route_List保存到本地的路由缓存中;
ESSDSR安全路由维护
路由请求后源节点S获得到达目的节点D的路由,在S与D通信过程中,中间节点负责确认数据已经到达Route_List中下一节点:如果数据未能到达下一节点,那么中间节点将负责向源节点S发送路由出错RERR包。
有益效果:本发明的ESSDSR要求节点DSR网络地址和其MAC地址满足单一映射;ESSDSR把Qid功能扩展到Fid,中间节点收到源节点的路由请求包后,用函数对Fid字段进行处理,在路由回复过程则用逆函数进行相反过程;当路由回复包到达源节点时,源节点用Fid来检测路由回复Route_List字段中节点序列是否被恶意节点篡改过。在检测到路由回复Route_List字段中节点序列已被恶意节点篡改或路由回复超时情况下,源节点将发送特殊格式的路由请求包,接收到该包的中间节点都将检测前一跳节点的公钥签名,这样目的节点收到的请求包必定是经过一系列合法节点的相继传递,从而保证路由回复中Route_List字段节点序列的合法性和安全性。
附图说明
图1:特征选择算法一般流程图;
图1:SRP路由请求包;
图2:SRP安全路由;
图3:中间节点不能发送路由应答包;
图4:中间节点不能发送路由失效包;
图5:恶意节点隐藏;
图6:恶意节点造成的性能较差的路由;
图7:恶意节点造成的不可达路由;
图8:基于公钥体制的数字签名;
图9:RREQ包格式;
图10:SRREQ包格式;
图11:本地恶意节点链表;
图12:RREP包格式;
图13:SRREP包格式;
图14:含有删除路由攻击节点的安全路由仿真场景;
图15:含有删除路由攻击节点的安全路由选择仿真图;
图16:含有隐藏路由攻击节点的安全路由仿真场景;
图17:含有隐藏路由攻击节点的安全路由选择仿真图;
图18:含有篡改路由攻击节点的安全路由仿真场景;
图19:含有篡改路由攻击节点的安全路由选择仿真图;
图20:含有路由发现攻击节点的安全路由仿真场景;
图21:含有路由发现攻击节点的安全路由选择仿真图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明:
针对DSR路由存在的安全威胁和SRP协议的不足,ESSDSR在DSR和SRP协议的基础上加入安全机制,以安全为前提,以高效为目的,利用现代密码学技术,同时进行相邻节点互相监控,在路由请求和路由维护中尽量抑制恶意节点的网络行为,从而保证路由信息的安全性和有效性。
与DSR、SRP类似,ESSDSR的工作过程也包括路由发现和路由维护两个过程。另外,ESSDSR要求加入网络的节点满足:
(1)由其链路层MAC地址获得网络层IP地址,这样可以防止网络地址欺骗;
(2)获得由Ad Hoc网络CA系统签发的一对私有密钥SK和公开密钥PK。
这样以来,未通过验证没有获得相应密钥公钥对的节点将被视为外部节点。通过验证获得相应密钥公钥对节点是网络内部节点。一般情况下恶意节点属于外部节点,当密钥管理和交换系统出现安全漏洞时,恶意节点也可能成为内部节点。为了保证DSR路由协议的安全性,算法将采用下面的数字签名方案。如图8所示,节点A用其私钥对消息的摘要进行数字签名并附加到消息后,接收节点D用A的公钥解密后与消息摘要进行比较,便可判断消息是否被篡改过。
ESSDSR安全路由发现
ESSDSR安全路由发现分为路由请求和路由回复两个阶段:
(一)ESSDSR路由请求
ESSDSR路由请求:源节点S欲与目的节点D通信,但其路由缓冲中并不含有到达D的路由信息。此时S将广播安全路由请求,其包括RREQ(Route Request)和SRREQ(Special Route Request)两种格式,如下图9、图10与表1所示。通常情况下源节点广播RREQ包,由于采用RREQ后ESSDSR并不保护Route_List中的节点信息,恶意节点有可能导致无法产生路由回复。这时源节点等待超时,便采用SRREQ包再次广播路由请求包,抵御恶意节点的攻击。
表1RREQ和SRREQ中的字段含义
字段 | 含义与用途 |
Qid | SRREQ包用来标识某次路由查询 |
Fid | 源节点用来判断路由回复的有效性 |
IPS | 源节点S的DSR网络地址 |
IPD | 目的节点D的DSR网络地址 |
SEQ | 中间节点和目的节点用来区分某节点的某次路由请求 |
Route_List | 从源节点到达目的节点的节点路径 |
ESSDSR_MAC | secure message authentication code,安全消息认证码ESSDSR_MAC=ESK_S{Hash[IPS,IPD,SEQ]},SKs是节点S的私钥,Hash是一个公开的压缩函数。 |
Route_List_DS | Route_List_DS=ESK_N(Hash[Route_List]),N是Route_List中最后一节点,DS是N对Route_List的数字签名 |
与SRP协议最大不同,ESSDSR把Qid功能扩展到Fid,源节点用Fid来检测路由回复中Route_List中节点链表是否被恶意节点篡改过。ESSDSR使用了一种简单的带参数m的线性函数f(x,m),其满足下面的性质:
(1)可逆性,即
如果f(x,m)=y,存在f-1,使得f-1(y,m)=x;
(2)关于参数不可交换性,即
如果m1≠m2,则
f(f(x,m1),m2)≠f(f(x,m2),m1)
f-1(f-1(x,m1),m2)≠f-1(f-1(x,m2),m1)
中间节点收到源节点S的RREQ包后,将进行如下操作:
(1)通过序列号SEQ判断该包是否接收过,否便继续下面的操作;
(2)遍历本地恶意节点链表Blanklist,如果Route_List末尾节点在Blanklist中则不再继续处理此RREQ包(其中恶意节点链表Blanklist如图11所示);
(3)计算Hash[IPS,IPD,SEQ]和DPK_S(ESSDSR_MAC),若不相等将Route_List中最后一节点插入到本地恶意节点链表Blanklist,相等继续下面的操作;
(4)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入Route_List,并且用本地随机数m更新f(Fid,m),然后继续广播RREQ包。
中间节点N收到节点L转发的源节点S的SRREQ包后,将进行如下操作:
(a)通过序列号判断该包是否接收过,否便继续下面的操作;
(b)遍历本地恶意节点链表Blanklist,如果Route_List末尾节点在Blanklist中则不再继续处理此SRREQ包;
(c)计算Hash[IPS,IPD,SEQ]和DPK_S(ESSDSR_MAC),若不相等将Route_List中最后一节点(即L节点)插入到本地恶意节点链表Blanklist,相等继续下面的操作;
(d)计算Hash[Route_List]和DPK_L(Route_List_DS),若不相等将Route_List中最后一节点(即L节点)插入到本地恶意节点链表Blanklist,相等继续下面的操作;
(e)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入Route_List后形成新的Route_List′,用Route_List′取代Route_List,Route_List_DS′取代Route_List_DS,继续广播SRREQ包,其中Route_List_DS′通过下面的公式计算:Route_List_DS′=ESK_N(Hash[Route_List′])。
(二)ESSDSR路由回复
ESSDSR路由回复分为目的节点返回的RREP包(Route Reply)和中间节点返回的SRREP包(Sepcial RREP),如图12和13所示,分别介绍如下。
(I)当源节点S的RREQ包到达目的节点D时,节点D做如下处理:
通过类似中间节点对包的验证处理后,将自己的IP地址加入Route_List后形成新的节点路径列表Route_List′,计算路由回复消息认证码SMAC=ESK_D{Hash[IPS,IPD,SEQ,Route_List]},创建RREP包,并沿着Route_List返回到节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m)。
(II)当中间节点T返回SRREP时,节点T做如下处理:
通过对包的验证处理后,将自己的到节点D的路径′Route_List加入Route_List后形成新的Route_List′,计算SMAC=ESK_T{Hash[IPS,IPD,SEQ,Route_List+′Route_List]},创建SRREP包并沿着Route_List返回到节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m)。
(III)当SRREQ包到达目的节点D或被中间节点T响应时,除了没有Fid相关操作,其他类似。
源节点收到RREP包和SRREP包后通过数字签名验证真实性后,将Route_List保存到本地的路由缓存中。
ESSDSR安全路由维护
ESSDSR安全路由维护与其它基于DSR的安全协议类似。路由请求后源节点S获得到达目的节点D的路由,在S与D通信过程中,中间节点负责确认数据已经到达Route_List中下一节点。如果出现某链路中断或节点移动等问题,数据未能到达下一节点,那么中间节点将负责向源节点S发送路由出错RERR包(Route Error)。
仿真分析
为了验证本发明提出的ESSDSR安全路由算法,在Ad Hoc网络中存在各种恶意节点时,可以显著提高路由建立的安全性、可行性和高效性,下面将在一些特定的场景下进行方案仿真。
仿真环境如下:
节点随机分布在一个300m*300m的矩形区域内;
网络中的所有移动台的节点模型和线程模型都是完全相似的;
网络是对等网络,即网络中的每个节点都可以发送数据包给其他节点,也可以接收其他节点发送的数据包;
网络中所有节点按照ESSDSR协议,自组织形成基于最小跳数的安全路由;
所有节点间的通信只能通过一个信道完成,数据链路层采用固定分配时隙的时分复用方式,数据帧不会发生碰撞;
物理层采用理想信道,即误比特率为0,把仿真重点放在路由建立的结果上。
表2列出了部分重要的仿真参数
表1安全路由OPNET仿真参数及取值
仿真参数 | 取值 |
ESSDSR Request Liftime | 5s |
Dsr Wait Reply Min Time | 10s |
Dsr Wait Reply Max Time | 20s |
Dsr Wait Ack Time | 5s |
Dsr Transmission Range | 80m |
包生成速率 | Constant(1s) |
数据包大小 | 512bits |
(一)删除路由攻击
如图14,在250m*200m的平面区域由9个节点组成,节点0是源节点,节点8是目的节点,节点7是删除路由型恶意节点。对于接收到的路由请求包,节点7都在路由表字段删除一些节点,然后继续广播。在上述场景下对SRP和ESSDSR在面临恶意节点删除路由攻击下的安全路由选择结果进行仿真。
如图15所示,在SRP安全路由协议下,网络在面临恶意节点7的删除路由攻击时,目的节点8反馈的路由应答包中的路由字段为:0,5,7,8。那么路由应答包到达节点5时,节点5认为下一跳的中间节点应该是节点0,即源节点。所以当节点5转发路由应答包时,节点0无法接收到,造成路由无法建立。而在ESSDSR下,首先在发送RREQ时,节点0也无法收到RREP,超时后节点0发送SRREQ,目的节点会检查恶意节点7的CA数字签名,非法便丢弃它,然后选择合法路由:0,1,2,3,6,8。
(二)隐藏路由攻击
如图16,在200m*200m的平面区域由7个节点组成,节点1是源节点,节点5是目的节点,节点4是隐藏路由型恶意节点。对于接收到的路由请求包,节点4并不将自己的DSR地址插入路由字段,而是直接广播。当路由应答包到来时,也直接“帮”着转发,从而下一跳中继节点能够接收到,这样便可以控制源节点和目的节点之间通信的时间延长和数据速率。在上述场景下对SRP和ESSDSR在面临恶意节点隐藏路由攻击下的安全路由选择结果进行仿真。
如图17所示,SRP协议在面临隐藏路由型恶意节点攻击下,建立的通信路由含有隐藏型恶意节点。而ESSDSR协议在面临隐藏路由型恶意节点攻击下,建立的路由不含有隐藏型恶意节点。这是因为在路由请求过程中ESSDSR可以检测出隐藏型恶意节点,然后ESSDSR可以通过发送SRREQ获得含有正确路径表的路由回复包。
(三)篡改路由攻击
如图18,在300m*300m的平面上由16个节点组成,节点0是源节点,节点9是目的节点,节点15是篡改路由型恶意节点,每当接收到路由请求包时节点15都会篡改路由包中的节点路径表,从而造成目的节点路由回复包含有不正确或是含有恶意节点的节点路径表。
如图19所示,SRP协议在面临篡改路由型恶意节点攻击下,建立的通信路由是跳数多、时延大的,或是不可到达的。而ESSDSR协议在面临篡改路由型恶意节点攻击下,建立的通信路由是跳数最少的、时延最小的。这是因为SRP协议下,源节点无法判断路由回复包中节点路径表是否被恶意节点篡改过;而ESSDSR协议下,源节点可以根据Fid判断路由回复包中节点路径表是否被恶意节点篡改过,如果是则通过发送SRREQ获得含有正确路径表的路由回复包。
(四)路由发现攻击
如图20,在300m*300m的平面上由16个节点组成,节点0是路由发现攻击型恶意节点,每秒都会发送一个路由请求包,造成路由请求包广播攻击。其中曲线是恶意节点0的运动轨迹。假设节点处理一次路由请求包消耗的能量是单位1,在上述场景下对SRP和ESSDSR在面临恶意节点路由请求攻击下网络消耗的能量进行仿真。
如图21所示,SRP协议在面临恶意节点路由请求攻击下,每次路由请求攻击消耗的能量迫近网络的总节点数。而ESSDSR协议在面临恶意节点路由请求攻击下,每次路由请求攻击消耗的能量要低很多。这是因为SRP协议下,节点无法判断路由请求包源节点的合法性,而ESSDSR协议下,恶意节点0的一跳范围内的节点可以根据CA认证系统的对源节点的数字签名进行合法性判断,如果不合法便丢弃它,不会出现非法路由请求包在网络的中洪泛后果。
Claims (1)
1.一种基于公钥数字签名和路由恶意检测的安全路由方法,其特征在于所述方法如下:
ESSDSR安全路由发现
(一)ESSDSR路由请求:
源节点S广播安全路由请求RREQ;
中间节点收到源节点S的RREQ包后,将进行如下操作:
(1)通过序列号SEQ判断该包是否接收过,是则不动作,否便继续下面的操作;
(2)遍历本地恶意节点链表Blanklist,如果节点路径表Route_List末尾节点在Blanklist中,则不再继续处理此RREQ包;
(3)计算以源节点路由地址IPS、目的节点路由地址IPD以及路由请求序列号SEQ为参数的哈希值Hash[IPS,IPD,SEQ]和安全消息认证码ESSDSR_MAC解密明文DPK_S(ESSDSR_MAC),若不相等则将Route_List中最后一节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作,其中:
ESSDSR_MAC=ESK_S{Hash[IPS,IPD,SEQ]},SK_s是节点S的私钥;Hash是一个公开的压缩函数;
(4)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入节点路径表Route_List,并且用本地随机数m更新f(Fid,m),然后继续广播RREQ包;
中间节点收到节点L转发的源节点S的SRREQ包后,将进行如下操作:
(a)通过序列号判断该包是否接收过,是则不动作,否便继续下面的操作;
(b)遍历本地恶意节点链表Blanklist,如果Route_List末尾节点在Blanklist中则不再继续处理此SRREQ包;
(c)计算Hash[IPS,IPD,SEQ]和DPK_S(ESSDSR_MAC),若不相等则将Route_List中最后一节点即L节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作;
(d)计算以Route_List为参数的哈希值Hash[Route_List]和Route_List_DS的解密明文DPK_L(Route_List_DS),若不相等则将Route_List中最后一节点即L节点插入到本地恶意节点链表Blanklist,若相等则继续下面的操作,其中Route_List_DS是用节点的私钥对Hash[Route_List]进行加密的密文;
(e)检查路由缓存中是否含有到达目的节点D的路径,有则发送路由回复SRREP,否则将自己的IP地址加入Route_List后形成新的Route_List′,用Route_List′取代Route_List,Route_List_DS′取代Route_List_DS,继续广播SRREQ包,其中Route_List_DS′通过下面的公式计算:Route_List_DS′=ESK_N(Hash[Route_List′]),即Route_List_DS′是用节点的私钥对Route_List′的哈希值Hash[Route_List′]进行加密的密文;
(二)ESSDSR路由回复
(I)当源节点S的RREQ包到达目的节点D时,节点D做如下处理:
通过序列号SEQ判断该包是否接收过,是则不动作,否便将目的节点D自己的IP地址加入Route_List后形成新的节点路径列表Route_List′,计算路由回复消息认证码
SMAC=ESK_D{Hash[IPS,IPD,SEQ,Route_List]},创建RREP包,并沿着Route_List返回到源节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m),f-1(Fid,m)为f(Fid,m)的反函数;
(II)当中间节点返回SRREP时,中间节点做如下处理:
通过序列号SEQ判断该包是否接收过,是则不动作,否便将中间节点自己的到节点D的路径′Route_List加入节点路径表Route_List后形成新的节点路径表Route_List′,计算SMAC=ESK_T{Hash[IPS,IPD,SEQ,Route_List+′Route_List]},创建SRREP包并沿着Route_List返回到源节点S,中间节点则用本地随机数m更新F′id=f-1(Fid,m);
(III)当SRREQ包到达目的节点D或被中间节点响应时,(1)当源节点S的SRREQ包到达目的节点D时,节点D做如下处理:通过序列号SEQ判断该包是否接收过,是则不动作,否便将目的节点D自己的IP地址加入Route_List后形成新的节点路径列表Route_List′,计算路由回复消息认证码SMAC=ESK_D{Hash[IPS,IPD,SEQ,Route_List]},创建RREP包,并沿着Route_List返回到源节点S;(2)当中间节点返回SRREP时,中间节点做如下处理:通过序列号SEQ判断该包是否接收过,是则不动作,否便将中间节点自己的到节点D的路径′Route_List加入节点路径表Route_List后形成新的节点路径表Route_List′,计算SMAC=ESK_T{Hash[IPS,IPD,SEQ,Route_List+′Route_List]},创建SRREP包并沿着Route_List返回到源节点S;
源节点S收到RREP包和SRREP包后通过数字签名验证后,将Route_List保存到本地的路由缓存中;
ESSDSR安全路由维护
路由请求后源节点S获得到达目的节点D的路由,在S与D通信过程中,中间节点负责确认数据已经到达Route_List中下一节点:如果数据未能到达下一节点,那么中间节点将负责向源节点S发送路由出错RERR包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010187521.4A CN101867933B (zh) | 2010-05-28 | 2010-05-28 | 一种基于公钥数字签名和路由恶意检测的安全路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010187521.4A CN101867933B (zh) | 2010-05-28 | 2010-05-28 | 一种基于公钥数字签名和路由恶意检测的安全路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101867933A CN101867933A (zh) | 2010-10-20 |
CN101867933B true CN101867933B (zh) | 2013-04-03 |
Family
ID=42959441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010187521.4A Expired - Fee Related CN101867933B (zh) | 2010-05-28 | 2010-05-28 | 一种基于公钥数字签名和路由恶意检测的安全路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101867933B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357113A (zh) * | 2015-10-26 | 2016-02-24 | 南京邮电大学 | 一种基于重路由匿名通信路径的构建方法 |
US10291644B1 (en) * | 2016-12-21 | 2019-05-14 | Symantec Corporation | System and method for prioritizing endpoints and detecting potential routes to high value assets |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404737B (zh) * | 2011-12-29 | 2014-07-02 | 重庆邮电大学 | 基于动态探测的无线传感器网络安全路由的方法 |
CN103906046A (zh) * | 2014-04-17 | 2014-07-02 | 上海电机学院 | 一种基于身份隐藏的安全点对点按需路由方法 |
CN104579788B (zh) * | 2015-01-21 | 2017-10-20 | 上海交通大学 | 一种分布式动态路由网络的错误定位方法 |
CN106878019B (zh) * | 2017-01-09 | 2019-08-23 | 北京信息科技大学 | 基于STiP模型的安全路由方法及系统 |
CN110035036B (zh) * | 2018-01-12 | 2021-01-15 | 中国移动通信有限公司研究院 | 数据传输方法、装置、网络设备及存储介质 |
CN112995285B (zh) * | 2018-03-29 | 2023-04-18 | 北京忆芯科技有限公司 | 基于区块技术的分布式kv存储系统 |
CN110572293B (zh) * | 2018-06-06 | 2023-02-14 | 华为技术有限公司 | 一种数据报文的检测方法、设备及系统 |
CN108848504A (zh) * | 2018-06-30 | 2018-11-20 | 沈阳师范大学 | 一种基于能量感知路由协议的无线传感器网络大数据识别及智能分析方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170498A (zh) * | 2007-11-30 | 2008-04-30 | 华中科技大学 | 应用于Ad hoc网络的安全多路径路由方法 |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040025018A1 (en) * | 2002-01-23 | 2004-02-05 | Haas Zygmunt J. | Secure end-to-end communication in mobile ad hoc networks |
-
2010
- 2010-05-28 CN CN201010187521.4A patent/CN101867933B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170498A (zh) * | 2007-11-30 | 2008-04-30 | 华中科技大学 | 应用于Ad hoc网络的安全多路径路由方法 |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357113A (zh) * | 2015-10-26 | 2016-02-24 | 南京邮电大学 | 一种基于重路由匿名通信路径的构建方法 |
CN105357113B (zh) * | 2015-10-26 | 2018-08-21 | 南京邮电大学 | 一种基于重路由匿名通信路径的构建方法 |
US10291644B1 (en) * | 2016-12-21 | 2019-05-14 | Symantec Corporation | System and method for prioritizing endpoints and detecting potential routes to high value assets |
Also Published As
Publication number | Publication date |
---|---|
CN101867933A (zh) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101867933B (zh) | 一种基于公钥数字签名和路由恶意检测的安全路由方法 | |
Pervaiz et al. | Routing security in ad hoc wireless networks | |
Yih-Chun et al. | A survey of secure wireless ad hoc routing | |
Ren et al. | Multi-user broadcast authentication in wireless sensor networks | |
Walters et al. | Wireless sensor network security: A survey | |
Hu et al. | SEAD: Secure efficient distance vector routing for mobile wireless ad hoc networks | |
Yang et al. | Security in mobile ad hoc networks: challenges and solutions | |
Venkatraman et al. | Strategies for enhancing routing security in protocols for mobile ad hoc networks | |
Michiardi et al. | Ad hoc networks security | |
Kargl et al. | Secure dynamic source routing | |
Lee et al. | A secure alternate path routing in sensor networks | |
Razaque et al. | Secure data aggregation using access control and authentication for wireless sensor networks | |
Sbai et al. | Classification of mobile ad hoc networks attacks | |
Komninos et al. | Layered security design for mobile ad hoc networks | |
Maan et al. | Vulnerability assessment of AODV and SAODV routing protocols against network routing attacks and performance comparisons | |
Hmouda et al. | Detection and prevention of attacks in MANETs by improving the EAACK protocol | |
Karmore et al. | A survey on intrusion in ad hoc networks and its detection measures | |
Kumar et al. | Security protocols in MANETs | |
Woungang et al. | Comparison of two security protocols for preventing packet dropping and message tampering attacks on AODV-based mobile ad Hoc networks | |
Park et al. | Securing Ad Hoc wireless networks against data injection attacks using firewalls | |
Mamatha | A New Security Solution Architecture (SSA) for MANETS against Network Layer Attacks | |
Lu | Vulnerability of Wireless Routing Protocols | |
Kulasekaran et al. | APALLS: A secure MANET routing protocol | |
Dimitriou | Securing communication trees in sensor networks | |
Sachan et al. | Authenticated routing for ad-hoc on-demand distance vector routing protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130403 Termination date: 20160528 |