基于OLSR协议的防御虫洞攻击方法

2010-03-27 07:31:04
长春工业大学学报 2010年6期
关键词:字段数据包密钥

冯 欣

(长春理工大学计算机科学技术学院,吉林长春 130022)

0 引 言

在理想的Adhoc网络中,节点是工作在一个开放、合作和高度任意的环境中的。但是在实际的网络环境中,几乎无时无刻都有着潜在的攻击者,他们希望能够通过渗入网络达到执行窃听或转换信息的攻击目的。虫洞攻击(Wormhole Attack)[1]就是一种针对Adhoc网络中路由协议,特别是带防御性的路由协议的严重攻击,它是在两个串谋恶意结点间建立一条私有通道,攻击者在网络中的一个位置上记录数据包或位置信息,通过此私有通道将窃取到的信息传递到网络的另外一个位置。一般的,私有通道的距离会大于单跳无线传输范围。因此,数据包如果要通过私有通道来传递的话,会比通过正常多跳路径传递所需要时间短。由此可见,虫洞是有益无害的,那么如何防御虫洞攻击就成为了Adhoc网络的一个重要研究方向。

1 虫洞攻击模型及相关研究

虫洞攻击的一般模型如图1所示。

X和Y是两个相对独立的网络,节点M处于X中,而节点N处于Y的范围内。由图可知,节点M和节点N并不是邻居节点,但是假设节点a和d是网络中的恶意节点。两节点通过某种手段形成“最短隧道”[2-5],表面上使得M和N两点间的距离最小,当节点M得知通往N处有一条最短路径时,就会将要传输的信息经由“最短隧道”传向N点,此时,M和N就会窃取到M和N之间的传输信息,以达到破坏网络的目的。

图1 虫洞攻击一般模型

对于以上所提出的虫洞攻击问题,已有很多学者在研究,也提出了一些相关的防御或检测虫洞的方法。

文献[6]引入了Leash的概念来检测虫洞攻击。Leash与每一跳相关联。因此,数据包的每次传输都需要一个新的Leash,就是一个标志位(这里包括时间Leash和地理Leash)。但无论哪种Leash,都需要数据包中的位置信息或时间信息,这样会增加网络负载。文献[7]提出了一种用定向天线方法来检测虫洞攻击。这种方法是使用数据包的到达角度来检测数据包是否来自一个适当的邻居节点。由于使用了定向天线,因此这个角度信息是可以得到的。使用数据包的到达角度信息可获得节点邻居集合的准备信息。这样由于攻击信息来自错误的邻居节点,因此可以检测虫洞攻击。但是这种方法要求有一个理想条件:定向天线必须对准的非常完美。这在现实中比较难做到;文献[8]提出了一个图论的框架为虫洞攻击模型。该协议假设的向导节点都明确地知道自己的位置,本协议有高效的传输率和不同的天线特性。

文中在前人思想上,以 OLSR协议[9]为基础,提出了一种更安全的优化链路状态路由协议(Secure Optimistic Link State Routing Protocol,SOLSR协议)

2 SOLSR协议防御虫洞研究

2.1 协议提出

在文献[10]提出的OLSR协议基础上使用了本地广播密钥的思想:让源节点对自己所发出的数据包进行加密,然后在不同的跳数范围内改变密钥,使得不同地理区域中数据包的密钥不同,即使让被动攻击的恶意节点获取到,恶意节点也不能通过解密来获取数据包信息,从而也不能向其它节点进行重放。为了简化算法思想,文中做出以下假设:

1)所有网络中的节点已经都知道M和N两点是虫洞节点。即在每个节点的路由表当中,只要有经过M或者是N的路由,就被认为是“最短隧道”。

2)如果当本Adhoc网络中的一个源节点(即广播发送者)S需要向n个节点(即广播接收者)R1,R2,…,Rn进行安全广播时,即在图1中,如果节点a欲向节点d发送信息时,相当于在网络初始化或网络拓扑发现的时候。文中还假设基站与周围节点已经进行了相互认证并建立了单播会话密钥。关于节点间相互认证以及单播会话密钥建立的解决方案已经非常多,而且大多方案都已成熟[11]。

2.2 参数设置及分发密钥

设定:(G1,+)和(G2,◦)为两个阶均为p的循环群,p为质数,并且满足G1中Diffie-Hellman计算问题[12]为困难问题;令P为G1的生成元;令e为G1和G2上的双线性变换,即e:G1×G2→G2。

首先,源节点a在Z*q中随机选择n+1个不同的元素v0,v1,…,vn∈Z*q,以及元素Q1,Q2∈G1,同时,a选取自己的主密钥K∈Z*q和一次性秘密整数z,构造一次多项式f(x)=zx+K∈Zp[x]。然后,再计算下面信息:

其中(QK,Q1,Q2,v0,…,vn,V0)可以作为公共信息在网络其它节点中以明文的形式广播;而Vi将作为Ri(任意一个节点)的广播解密密钥(i =1,2,…,n),通过事先建立的单播会话密钥加密发送。

为了在Ri中分发广播密钥Kb∈G2,源节点a首先随机选择一次性秘密整数r∈,并计算以下信息:

然后,将Cb作为公共信息在Ri中以明文形式进行广播。

为了达到在不同区域的节点有不同的密钥,加强传输信息的保密机制,采取在每个节点路由信息表的信息字段中增加一个 Hop-traverse字段。SOLSR协议通过链路状态更新消息(Link State Update,LSU)来广播自己的直接邻居,LSU消息的源发节点在RLSU字段指定其广播区域的半径r,然后它选择一个随机数x,并对其散列得到散列值h(x)。h(x)被放到Hop-traverse字段。随后转发LSU消息的节点对 Hop-traverse字段进行散列并用该值做字段替换,即Hoptraverse=h(Hop-traverse)。S_L_E是一个32位的序列号,随着节点生成新的LSU消息而递增。节点也可以将认证公共密钥附加在LSU消息中。这样就做到了保证收到LSU消息的节点可以对数据包进行区域性加密。LSU消息首部格式[13]设计见表1。

表1 LSU消息首部格式

2.3 解密过程

当接收者Ri接收到Cb后,可以通过下述方法解密得到广播密钥Kb。

首先,Ri构造包含两个元素的授权子集F= {v0,vi},并计算如下信息:

其次,Ri计算广播密钥Kb方法如下:

2.4 协议有效性分析

设定有两种攻击,可以分析到攻击结果分别如下:

1)如果攻击M者能够获得源节点a的主密钥K,那么,它就能够很容易地从Cb中计算出广播密钥Kb。但是,由公共信息QK计算K将面临椭圆曲线离散对数问题。而此问题对于一般的节点来说很难做到。所以此次攻击就不能成功。

2)如果攻击者能够获取网络中任意一个节点Ri的密钥Vi(i=1,2,…,n)。那么它就可以像Ri一样计算出广播密钥Kb。但是文中所设计的方案中,Ri的密钥Vi是通过Ri与源节点之间已协商的单播会话加密密钥进行加密的。只有攻击者已经攻破了Ri与a节点之间的安全信道,否则恶意节点将无法通过这种方式获得Vi。

3 实验结果仿真

3.1 实验场景模拟

在设计好参数以后,用NS2对文中的网络环境进行模拟,网络模拟时间设置为120 s,节点传输半径为500 m。

虫洞攻击如图2所示。

图2 虫洞攻击图示

图2中模拟出了图1给出的网络情景,由a点向d传输的数据包经过了文中设置的“最短隧道”,而在数据传输过程中,黑洞节点M,N发生相继的丢包,以此来仿真黑洞攻击,如图3所示。

图3 虫洞节点丢包

3.2 数据对比分析

在场景设置程序中,分别用OLSR协议和SOLSR协议,分析数据可得到如图4所示的结果。

图4 协议性能对比分析

图4说明,随着时间帧的移动,SOLSR协议中源节点a不经过节点M和N(最短隧道)向节点d发送信息的分组包数一直维持在12 K左右,在一般的网络环境中,这是比较正常的;但是在OLSR协议中,源节点a向目的节点d发送的信息将全部经过M和N点,分组包维持在50 K个。几乎是正常网络下的5倍。这就表明虫洞隧道大量转发了源节点到目的节点的数据包,会造成极大危害。

4 结 语

在虫洞节点已知的情况下,对已有的先验式路由协议OLSR的改进,提出了安全的OLSR协议。本协议利用对数据包在地理位置上区域性加密的方法成功地防御虫洞的攻击。虫洞攻击分为主动攻击和被动攻击,文中提出的方法只能对被动攻击的恶意节点进行防御,使其不能真正地获取到数据包的信息,但是如果对于主动攻击的节点来说,当节点收到发送节点端的数据包时,无论恶意节点是否能解密数据,它都将会对源节点进行恶意攻击,这也是以后研究的重点。

[1] Ritesh M aheshwari,Jie Gao,Samir R Das.Detecting wormhole attack in wireless networks using connectivity information[J].Stony Brook,NY,2000,5:1794-1800.

[2] Yih-Chun Hu,Adrian Perrig,David B Johnson. Wormhole detection in wireless Ad Hoc networks [J].Rice University Department of Computer Science Technical Report TR01-384 December 17,2002,15(7):380-384.

[3] 刘伟,柴乔林.利用虫洞原理抵御黑洞攻击的方法[J].计算机工程与设计,2007,28(20):4888-4890.

[4] 柳楠,韩芳溪,张维勇,等.移动Ad hoc网络中的特殊攻击[J].计算机工程与设计,2005,26(6):1486-1488.

[5] 姚胜.基于OLSR路由协议的虫洞攻击防御策略研究[D]:[硕士学位论文].西安:电子科技大学,2009.

[6] Y C Hu,A Perrig,D Johnson.Packet leashes:a defense against wormhole attack in wireless networks[C]//INFOCOM,2003.

[7] L Hu,D Evans.Using directional antennas to prevent wormhole at-tacks[C]//Network and Distributed System Security Symposium(NDSS),2004.

[8] R Poovendran,L Lazos.A graph theoretic framework for preventing the wormhole attack in wireless ad hoc networks[C]//ACM Journal of Wireless Networks(WINET),2005.

[9] 柳楠.针对“虫洞”攻击的移动Ad hoc网络安全路由及仿真实现的研究[D]:[硕士学位论文].济南:山东大学,2005.

[10] 洪亮,洪帆,彭冰,等.一种基于邻居信任评估的虫洞防御机制[J].计算机科学,2006,33(8):130-133.

[11] 庞辽军.无线传感器网络节点间认证及密钥协商协议[J].传感技术学报,2008,21(8):1422-1426.

[12] 庞辽军,李慧贤,焦李成,等.基于秘密共享的无线传感器网络广播密钥分发协议[J].传感技术学报,2008,21(10):1777.

[13] Farooq Anjum,Petros Mouchtaris.Security for Wireless Ad Hoc Networks[M].钱权,译.北京:清华大学出版社,2009:103-107.

猜你喜欢
字段数据包密钥
探索企业创新密钥
图书馆中文图书编目外包数据质量控制分析
密码系统中密钥的状态与保护*
SmartSniff
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
电信科学(2017年6期)2017-07-01 15:45:06
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
基于Libpcap的网络数据包捕获器的设计与实现
关于CNMARC的3--字段改革的必要性与可行性研究
图书馆建设(2014年3期)2014-02-12 15:41:35