无线Mesh网络中基于端到端的虫洞攻击检测方法

文档序号:7927695阅读:124来源:国知局
专利名称:无线Mesh网络中基于端到端的虫洞攻击检测方法
技术领域
本发明涉及一种基于端到端的虫洞攻击检测方法,可以应用于无线Mesh 网中隐藏身份的虫洞攻击检测,属于计算机网络领域。
背景技术
在无线Mesh网中,现有的路由协议大多假定通信双方处在一个安全的环 境下通信,更多的只是关注路由的选路及其策略,很少考虑安全问题。然而, 由于Mesh客户端也具有路由的角色,Mesh节点可以根据路由信息创建、删除 或者更新网络中的路由路径来发起各种攻击。虫洞攻击就是其中十分危险的 攻击方式。虫洞攻击是两个串谋恶意节点X、 Y通过建立一条高质量高带宽的 私有通道,攻击者在网络中的X位置上记录数据包或位信息,通过此私有通道 将窃取的信息传递到网络的另外一个位置Y处。因为私有通道的距离一般大于 单跳无线传递,所以通过私有通道传递的数据包比通过正常多跳路径传递的 数据包早到达目的节点。当通信用户选取X和Y的私有通道,进行通信时,X和 Y就会发起丢弃全部包或只转发部分包,修改包等攻击行为。这种即使网络通 讯间存在信任和身份认证,而攻击者并无密钥时仍能够进行攻击。更糟的是, 不像路由协议中的恶意节点,它们能够被轻易定位,虫洞攻击者对于较高层 是不可见的,虫洞和位于虫洞两端的攻击者在路径中是不可见的。因此,需 要一种更为安全的措施来检测虫洞攻击以确保无线Mesh网的应用安全。加利 福尼亚大学伯克利分校的Sastry, Shnakar和Wagner提出Eeho协议,在该协议 中,只有属于使用射频或超声的无线网络的节点才能在证明区域中。未被证 明的节点为了证明自己在证明的区域里,发送一个超声信号给已证明的节点, 己被证明的节点通过它得到的收到超声信号的时间确定这个未被证明的节点 是否在证明的区域中。此协议的优点是不需要加密技术和严格时钟同步。尽 管射频信号被用于大部分无线网络设备中,但为了检测出虫洞攻击,每个网络设备需要额外的设备来检测和发射超声频率,这会造成网络成本的增加。
He. Tian等提出了ApIT,它使用三角区域确定网络中的节点位置。该方法通 过带有GPS的节点来计算某些节点是否在组成的三角区域内。这些计算确定网 络中所有节点的相对位置,能够帮助防止三角区域内的虫洞攻击。但是三角 区域外的虫洞攻击没法防止。Bulusu, Heidemann和Estrin利用微弱的信号 强度来检测虫洞攻击,但是信号强度是个不定参数,它容易受到周围环境的 干扰,同一节点,同一个位置发出的信号,因为环境的改变,而变得或强或 弱。Hu.Lingxuan, DavidEvnas利用发送信号节点的天线方向与接收信号节点 天线方向是否匹配来确定是否有虫洞攻击,这种限制,对可静可动的Mesh节 点之间随意的移动和随意的通信是一种限制。Yih-Chun Hu等提出了基于数据 包限制(PaeketLeashes)方法,这种方法通过在数据包里加入区域性限制或时 域性限制来限制发送节点的最大传输距离。同时协议采用TIK认证协议来检测 并防御虫洞攻击,即匹配每个数据包中上述的时间戳和位置戳以检测系统中 是否有虫洞入侵。这种TIK协议中每个节点都有个公钥,且每个节点要将公钥 公开给其它用户,这增加了每个节点的存储空间以及网络的带宽。

发明内容
为了防止无线Mesh网中恶意攻击节利用隐藏身份发起虫洞攻击,我们提出
了一种基于端到端虫洞攻击检测方法,以确保恶意攻击节点在发起虫洞攻击
之前就能被检测出来并被隔离。
本发明提供了一种面向虫洞攻击检测的网络模型,该网络模型有如下特

(1) 有一个骨干网,骨干网中至少有两个骨干路由器,这些骨干路由器按门 限体制形成虚拟CA、 一个被通知有攻击节点存在的情况下才接入网络 的离线CA、 一个只有骨干路由器才能访问的授权证书库。在所有的骨 干路由器中,至少有两个骨干路由器与Internet网有线连接;
(2) 至少两个区域网,每个区域网中有2个区域路由器,每个区域路由器与骨干路由器和终端用户相连。区域路由器之间共享一个存放用户ID、 区域ID、授权密钥及用户信息(身份证、邮箱、通信地址、移动电话) 的数据库。
(3) 在骨干网中采用高速无线连接,在区域网中采用低速连接;
(4) 通信双方通信通过授权证书进行相互验证,采用基于身份的加密方式 来传输信息;
(5) 源节点和目的节点都不是攻击节点,至少一个区域路由器和构成虚拟 CA的骨干路由器不是恶意攻击节点;
(6) 每个节点的地理位置都能通过GPS (Global Positioning System)准确 地得到;
本发明提出一种无线Mesh网络中基于端到端的虫洞攻击检测方法,其特 征在于,包括以下步骤
(1) 离线CA在初始化时,为骨干路由器、区域路由器、用户节点分配公 私钥对及公钥证书,为骨干网络和各区域网络分配公私钥对;
(2) 申请节点提交离线CA颁发的公钥证书到虚拟CA,虚拟CA用离线 CA颁发的公钥证书认证申请节点;这些申请节点包括用户节点、骨干 路由器和区域路由器;
(3) 申请节点被虚拟CA认证通过后,颁发授权证书及基于身份的私钥, 这些授权证书都存放在授权证书库里,该授权证书库只有骨干路由器 能访问;
(4) 源节点S向目的节点D发送数据包,当源节点的路由缓存中没有到目 的节点的路由时,源节点通过广播路由请求包发起一个如下的路由发 现过程;
(5) 源节点S发送路由请求包前,把自己的IP地址SA、目的节点的IP地 址DA、包的标识号PID、发送数据包时自身所在的地理位置、包的发 送时间SPT、整个包在节点S的传输时间TT加入到包中并广播出去;(6) 接受到请求信号的节点,先检査自己是否是目的节点,如不是,将自 身的IP地址、地理位置、包的收到时间、它转发此路由请求包的地理 位置、发包时间以及传输此包的时间、自身的身份标识附加到路由包
的相应字段中,并广播给其它节点;包格式字段SP/SPT、 RP/RPT、 TT和 PATH的参数值在附加到字段中前,SP/SPT用来存放发送节点发送包时 所在的地理位置和发送包的时间,RP/RPT用来存放接受节点接受包时 所在的地理位置和接受包的时间,TT用来记录包从发送节点到接受节 点的传输时间;PATH用来记录源节点到目的节点经过的路径;发送节 点用目的节点的身份和目的节点所在区域的公钥加密,再把路由请求 包广播给它的邻居节点;
(7) 当请求包到达目的节点的时候,目的节点用基于其身份的私钥解密, 得到包中的各个参数,然后再采用如下所述检测流程,来检测是否有 虫洞攻击;检测流程如图1所示;
(8) 目的节点计算c^和/^的值,c^通过公式(a)得到,在公式(a)中,(、 A和《。分别表示通过两点之间距离公式计算出的源节点到第一个节 点的距离,节点/和到节点y之间的距离,目的节点到第n个节点的距 离;^用通过公式(b)得到,在公式(b)中,^、 /,和U分别表示通过 时间与距离关系公式计算出源节点到第一个节点的距离,节点/到节点 /之间的距离,目的节点到第n个节点的距离,^表示节点S传输数据 包的传输时间,",表示发送节点/发送数据包的传输时间,~,和~分别 表示发送节点/在接收到数据包时的时间,然后经过处理后又转发出去 的时间;
《d=《i+ 2 4+《D (a)"一l
=(,rD—7TOT—(b)
(9) 目的节点比较^。和^的大小;
(10) 当目的节点发现t^小于^时,目的节点则认为有虫洞攻击存在,目的 节点将通知目的节点信任的骨干路由器;
(11) 骨干路由器将启动基于监视节点的投票机制,即骨干路由器把警报信 息和PATH值分别用所有监视节点的身份和区域公钥加密后,并发送给 该路由的所有监视节点,监视节点监视某条链路的发包情况,并把发包 记录存在它的缓存中;
(12) 当该路由的监视节点收到警报信息,用自己基于身份的私钥解密得到 PATH值,再比较PATH值和缓存记录是否一样;
(13) 如果监视节点发现缓存某两个节点在它的缓存中,却没有在PATH中, 就投票这两个节点为虫洞攻击节点,如果大多数监视节点都投票这两 个节点为虫洞攻击节点;骨干路由器对虫洞攻击节点进行隔离;如果 监视节点发现缓存某两个节点在它的缓存中且在PATH中,再根据WCETT
权值以及跳数值来选择最佳路由;
(14) 如果WCETT权值最小,就选为最佳路由,如果WCETT权值相等,就选 跳数最小的为最佳路由,并生成路由应答返传给源节点,WCETT权值通 过公式(c)和公式(d)得到,
『C£7T=(1 —/ )承全五7^ + "承maxjc,. (c)
,=i i孝 J
Z 可l华k (d)
链路'在信道y上 、w
在公式(c)和公式(d)中,h是某条路由经过h跳链路的数目,k是系统中采用的信道数目,srr,是在链路i上传输一个包的传输时间,xj是信道j
上传输包所需要的时间,/ 是一个可变参数值,其范围为0S^S1。
当所有信道都能被充分利用,^=0。
本发明的目的是为无线Mesh网用户在使用MR-LQSR协议时,免遭所示的虫
洞攻击而提出的一种基于端到端的虫洞攻击检测方法。使用该方法可以确保 无线Mesh网恶意攻击节点在利用隐藏身份发起虫洞攻击之前就被检测出来并 被隔离,这大大提高网络的安全性,减少网络资源的浪费,且与Sastry, Shnakar和Wagner提出的Eeho协议相比,我们的机制不需要每个网络设备有额 外的设备来检测和发射超声频率;与He. Tian等提出的ApIT检测方法相比, 我们的误检率大大提高,因为ApIT检测方法对特定三角区域内的虫洞没法检 测出来,而我们是根据虫洞攻击本质特性设计出来的算法,所以该机制所提 到的特定三角区域的虫洞也能检测出来;与Bulusu, Heidemann和Estrin利 用微弱的信号强度来检测虫洞攻击方法相比,我们的机制不依赖受环境因素 很大影响的信号强弱来检测虫洞攻击;与Hu. Lingxuan, DavidEvnas利用发送 信号节点的天线方向与接收信号节点天线方向是否匹配来确定来检测虫洞攻 击的方法相比,我们的机制不依靠天线角度的匹配来检测虫洞攻击;与 Yih-Chun Hu等提出了基于数据包限制的检测方法相比,我们的机制采用基于 身份的加密方法,这大大减少网络因存储公钥和公开公钥所需要的存储空间 和带宽。可见我们的虫洞攻击检测机制是一种有效的、可用性强的、能抵御 虫洞攻击的安全路由机制,能从根本上杜绝用户遭受信息包被丢弃、修改、
泄露等攻击行为,达到了我们预期的目标。


图l本发明的检测流程图 图2本发明的攻击模型图 图3本发明的网络模型图 图4本发明的包格式图
具体实施方式
本发明针对微软公司为无线Mesh网研发的支持多射频的链路质量源路由 MR-LQSR(Multi-Radio Link-Quality Source Routing)协议提出一种利用隐
藏身份来发起虫洞攻击的攻击模型。
MR-LQSR协议采用一种新的路由性能判据,称为加权累计传输时间WCETT (Weighted Cumulative Expected Transmission Time)。其表达式如方禾呈(l) 和方程(2)所示
<formula>formula see original document page 11</formula>
链路!在信道y上 、7
在方程(1)和方程(2)中,h是某条路由经过h跳链路的数目,k是系统中采用的
信道数目,E7T,是在链路i上传输一个包的传输时间,x,是信道j上传输包所 需要的时间,^是一个可变参数值,其范围为0《/ 《1。当所有信道都能被 充分利用,^=0。 WCETT综合考虑了带宽等链路性能参数以及最小跳数等因 素,但所有信道都被充分利用或WCETT权值相等时,两恶意攻击节点会利用该 路由协议的弱点,发起虫洞攻击。如攻击模型图2所示,源节点S想找一条最 佳路由与目的节点D通信,源节点S首先发送路由请求,节点A收到路由请求包, 检査自己是否是目的节点,当发现自己不是目的节点时,它把自己的身份标 识加入路径中,继续广播给它的相邻节点,正常节点C接收到节点A转发的路 由请求包,它与节点A做相同的处理,最后把请求包发给目的节点D。而恶意 节点X接到A转发的路由请求时,它只是转发路由,而不把自己的身份标识加 到路径中,恶意节点Y收到恶意节点X转发的路由请求,也只是转发,并不把 自己的身份标识加入到路径中,正常节点B与节点A和C做相同的处理,这样目 的节点D收到两条可到达源节点S的路由, 一条是S-A-B-D,另一条是S-A-C-D。 因为S-A-C-B-D的WCETT值是15,而S-A-B-D的WCETT值是12,目的节点D选择 S-A-B-D为最佳路由。当源节点S把信息包沿路由S-A-B-D发给目的节点D时,恶意攻击节点X和Y就发起攻击,比如删除包,只转发部分包,修改包等。
为了实现上述目标,我们实施如图3所示的网络模型、图4所示的包格
式,再利用基于端到端的虫洞攻击检测方法来检测出虫洞攻击点并隔离它。
1. 网络模型
所设计的网络模型如图3所示,该模型具有如下特征
(1) 整个无线Mesh网由一个骨干网和两个区域网络组成。
(2) 骨干网由4个骨干路由器组成, 一个被通知有攻击节点存在的情况下 才接入网络的离线CA和一个只有骨干路由器才能访问的授权证书库。 在所有的骨干路由器中,有两个骨干路由器与Internet网有线连接。
(3) 每个区域网中有2个区域路由器与骨干路由器和终端用户相连。区域 路由器之间共享一个存放用户ID、区域ID、授权密钥及用户信息(身 份证、邮箱、通信地址、移动电话)的数据库。
(4) 在骨干网中采用54Mbps无线连接,在区域网中采用11Mbps连接;
(5) 通信双方通信通过骨干网的4个骨干路由器按(4, 3)门限体制授予申 请节点基于身份的私钥和授权证书;授权证书进行相互验证,采用基 于身份的加密方式来传输信息;
(6) 源节点和目的节点都不是攻击节点,至少一个区域路由器和m个骨干 路由器不是恶意攻击节点;
(7) 每个节点的地理位置都能通过GPS (Global Positioning System)准确
地得到。
2. 包格式
在我们的虫洞攻击检测方法中,我们采用图4所示的可变长包格式PID 表示发送包的标识;SA、 DA、 SNA及NHA分别表示源节点地址、目的节点地址、 发送节点地址和下一跳地址;SP/SPT用来存放发送节点发送包时所在的地理位置和发送包的时间,RP/RPT用来存放接受节点接受包时所在的地理位置和 接受包的时间,TT用来记录包从发送节点到接受节点的传输时间;PATH用来 记录源节点到目的节点经过的路径;DATA用来存放源节点发送给目的节点的 数据信息。可变长的包格式体现在当包是路由请求包时,字段NHA、 DATA可 以忽略,当包是数据传输包时,字段NHA、 DATA就分别存放下一跳地址和源节 点要发送给目的节点的数据信心。
3.检测步骤
假定目的节点D收到源节点S的一个路由请求包,路由请求包的PATH字 段中包含源节点和目的节点在内的有n+2个节点。目的节点将用基于其身份 的私钥解密,获得包中的字段参数值。分别利用两点之间距离公式和距离与 时间关系公式计算发送节点/和接收节点7之间的距离。我们利用两点之间距 离方程(3)计算出的距离为《,利用距离与时间关系方程(4)计算出的距离
<formula>formula see original document page 13</formula>(4)
方程(3)中的(、,L,z,,)表示发送节点f发送数据包时的所在位置; ( ,&,z。)表示接收节点y接收数据包时所在的位置。方程(4)中的、表示接
收节点/接收路由请求包的时间,G表示发送节点/发送路由请求包的时间,",
表示发送节点z'发送数据包的传输时间,v是数据包在路径上传输速度的上限, 一般以光速计算。总的传输时间7T③从方程(5)可得;包的处理时间和等待时 间之和iTSD通过方程(6)可得
<formula>formula see original document page 13</formula> (6)
在方程(5)中,^表示节点S传输数据包的传输时间, 〃,表示发送节点/发送数据包的传输时间,在方程(6)中,Ct,分别表示发送节点i在接收到数据包
时的时间,然后经过处理后又转发出去的时间。因此,源节点和目的节点之 间的距离《^可通过方程(7)得到,在方程(7)中,《、《和《。分别表示通过 两点之间距离方程计算出的源节点到第一个节点的距离,节点/和到节点J'之
间的距离,目的节点到第n个节点的距离。源节点和目的节点之间的距离/m可 通过方程(8)得到,在方程(8)中,^、 /,和U分别表示通过时间与距离关系
方程计算出源节点到第一个节点的距离,节点/到节点7之间的距离,目的节 点到第n个节点的距离,其它参数含义与方程(4)、方程(5)和方程(6)的参数
含义一样-
4= 4+ S 《)+《D (7)
《"广"幼-(8) 我们假定正常的节点都能正确的写入地理位置以及收发包的时间值,因此, 如果<。<,则说明该路由中存在虫洞攻击。
以攻击模型图2为例来说明我们的虫洞攻击检测方法能达到检测隐藏身 份类型的虫洞攻击,目的节点D误认为S-A-B-D是最佳路由,目的节点先计
算《fl禾口^D
7T幼嗎+ +^ ii)
H-U《-U i")
"d = l - 。s -"幼-尸L) * v i v)<formula>formula see original document page 15</formula>
因此,如果^d〈U,则说明该路由存在虫洞攻击(
权利要求
1. 一种无线Mesh网络中基于端到端的虫洞攻击检测方法,其特征在于,包括以下步骤(1)离线CA在初始化时,为骨干路由器、区域路由器、用户节点分配公私钥对及公钥证书,为骨干网络和各区域网络分配公私钥对;(2)申请节点提交离线CA颁发的公钥证书到虚拟CA,虚拟CA用离线CA颁发的公钥证书认证申请节点;这些申请节点包括用户节点、骨干路由器和区域路由器;(3)申请节点被虚拟CA认证通过后,颁发授权证书及基于身份的私钥,这些授权证书都存放在授权证书库里,该授权证书库只有骨干路由器能访问;(4)源节点S向目的节点D发送数据包,当源节点的路由缓存中没有到目的节点的路由时,源节点通过广播路由请求包发起一个如下的路由发现过程;(5)源节点S发送路由请求包前,把自己的IP地址SA、目的节点的IP地址DA、包的标识号PID、发送数据包时自身所在的地理位置、包的发送时间SPT、整个包在节点S的传输时间TT加入到包中并广播出去;(6)接受到请求信号的节点,先检查自己是否是目的节点,如不是,将自身的IP地址、地理位置、包的收到时间、它转发此路由请求包的地理位置、发包时间以及传输此包的时间、自身的身份标识附加到路由包的相应字段中,并广播给其它节点;包格式字段SP/SPT、RP/RPT、TT和PATH的参数值在附加到字段中前,SP/SPT用来存放发送节点发送包时所在的地理位置和发送包的时间,RP/RPT用来存放接受节点接受包时所在的地理位置和接受包的时间,TT用来记录包从发送节点到接受节点的传输时间;PATH用来记录源节点到目的节点经过的路径;发送节点用目的节点的身份和目的节点所在区域的公钥加密,再把路由请求包广播给它的邻居节点;(7)当请求包到达目的节点的时候,目的节点用基于其身份的私钥解密,得到包中的各个参数,然后再采用如下所述检测流程,来检测是否有虫洞攻击;(8)目的节点计算dSD和lSD的值,dSD通过公式(a)得到,在公式(a)中,ds1、dij和dnD分别表示通过两点之间距离公式计算出的源节点到第一个节点的距离,节点i和到节点j之间的距离,目的节点到第n个节点的距离;lSD用通过公式(b)得到,在公式(b)中,ls1、lij和lnD分别表示通过时间与距离关系公式计算出源节点到第一个节点的距离,节点i到节点j之间的距离,目的节点到第n个节点的距离,tts表示节点S传输数据包的传输时间,tti表示发送节点i发送数据包的传输时间,tri和tsi分别表示发送节点i在接收到数据包时的时间,然后经过处理后又转发出去的时间;(9)目的节点比较dSD和lSD的大小;(10)当目的节点发现dSD小于lSD时,目的节点则认为有虫洞攻击存在,目的节点将通知目的节点信任的骨干路由器;(11)骨干路由器将启动基于监视节点的投票机制,即骨干路由器把警报信息和PATH值分别用所有监视节点的身份和区域公钥加密后,并发送给该路由的所有监视节点,监视节点监视某条链路的发包情况,并把发包记录存在它的缓存中;(12)当该路由的监视节点收到警报信息,用自己基于身份的私钥解密得到PATH值,再比较PATH值和缓存记录是否一样;(13)如果监视节点发现缓存某两个节点在它的缓存中,却没有在PATH中,就投票这两个节点为虫洞攻击节点,如果大多数监视节点都投票这两个节点为虫洞攻击节点;骨干路由器对虫洞攻击节点进行隔离;如果监视节点发现缓存某两个节点在它的缓存中且在PATH中,再根据WCETT权值以及跳数值来选择最佳路由;(14)如果WCETT权值最小,就选为最佳路由,如果WCETT权值相等,就选跳数最小的为最佳路由,并生成路由应答返传给源节点,WCETT权值通过公式(c)和公式(d)得到,在公式(c)和公式(d)中,h是某条路由经过h跳链路的数目,k是系统中采用的信道数目,ETTi是在链路i上传输一个包的传输时间,xj是信道j上传输包所需要的时间,β是一个可变参数值,其范围为0≤β≤1。
全文摘要
无线Mesh网络中基于端到端的虫洞攻击检测方法属于计算机网络领域。目的节点收到源节点的信息,先利用两点之间距离公式和距离与时间关系公式比较实际距离与传输距离的大小,如果实际距离比传输距离小,由骨干路由器发起投票机制,即把警报信息发给这条路由的所有监视节点,监视节点收到警报信息,用自己基于身份的私钥解密得到PATH值,再比较PATH值和缓存记录是否一样,如果发现缓存某两个节点在它的缓存中,却没有在PATH中,就投票这两个节点为虫洞攻击节点,如果大多数监视节点都投票这两个节点为虫洞攻击节点;骨干路由器对虫洞攻击节点进行隔离。该方法可以确保无线Mesh网恶意攻击节点在利用隐藏身份发起虫洞攻击之前就被检测出来并被隔离。
文档编号H04L12/26GK101447899SQ200810226108
公开日2009年6月3日 申请日期2008年11月14日 优先权日2008年11月14日
发明者付颖芳, 何泾沙, 李国瑞, 鹏 肖 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1