EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要: ! U1 Q, b2 T5 u) d& b
针对现有移动自组网安全路由协议难以兼顾数据完整性和机密性的问题,提出了一种结合数据完整性保护和数据机密性保护的安全路由协议。在数据完整性保护方面,采用单向hash函数和密钥生成消息认证码,鉴别路由中数据的完整性;在数据机密性保护方面,采用μTESLA协议传输加密数据包,在不同的时段传输不同的密钥,通过对称密钥的延迟透露模拟非对称机制,降低认证广播的资源消耗。仿真实验表明,该方法不仅在安全性方面优于现有的路由协议,而且在报文送达率、路由开销和端到端平均时延评价指标上也优于现有路由协议。 6 S+ j0 z( M! i( F3 e; j' h9 L
u3 c2 H5 U* Q: A. o8 l0 引言
; V3 Y% G4 u, p( k, B6 h移动自组网(Mobile Ad Hoc Network,MANET)由许多可以相互通信的移动设备组成,网络中的节点可以自由移动,形成一个无缝连接的自组织网络,其不需要任何基础通信设施协助,在军事通信、救灾抢险、环境监测等领域有着广泛应用[1]。由于MANET网络中的节点可以自由移动,导致网络的拓扑结构经常变化,通信链路存在中断风险,导致包丢失率增大。当路由中断后,重新寻找路由需要耗费时间,造成端到端传输时延增大,并降低了网络的吞吐量。同时,由于MANET网络中的设备的功率、内存和存储容量有限,网络中的所有设备需要共享带宽,这要求路由设计时需考虑能量损耗问题。因此,最优路由选择是目前移动自组网面临的主要挑战[2-4]。
5 c }9 s0 U+ s% n0 V/ l* f& V目前,结合MANET的网络特性,已提出了许多有意义的路由协议,如AODV[5-8]、DSR[9-11]等。这些路由协议结合报文送达率、端到端传输时延、包丢失率、网络吞吐量等性能指标,提出了最优的路由选择策略。在多跳网络中,各个节点无法独立完成数据传输任务,多节点之间的通信极易受到攻击,安全性成为移动自组网路由协议亟待解决的重要问题之一[12]。
5 Z, K8 I. b' P为增强路由协议的安全性,许多路由协议对各节点发送和接收的数据进行加密和鉴别。如SEAD[13]路由协议采用单向hash链鉴别路由表更新报文中的序列号等信息,验证报文的可靠性。Ariadne[14]在DSR路由协议的基础上增加数字签名技术,可以阻止多种类型的拒绝服务(Denial of Service,DoS)攻击。ARAN[15]在AODV路由协议的基础上采用公共密钥加密和鉴别IP地址,防止路由被复制。SAODV[16]也是在AODV路由协议上增加安全措施来增强路由的安全性,具体是采用数字签名鉴别报文的不变部分,采用hash链保护跳数信息。然而,现有的安全路由协议主要关注信息认证,而忽略了路由发现之后数据的机密性。
- G6 X. Y% q6 ]8 @2 D) ~" G; b本文提出一种兼顾数据完整性和机密性的安全路由协议,采用消息认证码(MAC)和加密密钥算法认证源节点、目的节点和中间节点,采用μTESLA协议[17]保护数据的机密性,采用单向hash函数降低带宽占用率和运算复杂度,可以在保证路由基本性能要求的前提下防范多种网络攻击,提高路由的安全性能。
; A# H5 R# K B7 J6 x8 f' [, p# G4 |1 自组网路由协议的安全性 : H1 [0 J# J8 d, E5 ]3 o( W# [, I* C
移动自组网中常用的路由协议是AODV和DSR。这两种协议都是按需路由协议,网络中的节点只在通信需要时才会交换路由信息。但这些协议并没有考虑通信的安全性,在传输过程中没有保护节点之间的位置等信息,所有通信范围内的无线设备都可以获取网络中传输的内容,极易受到冒充身份、修改数据包内容等攻击。 * H7 d1 z) g9 D
对路由协议的攻击主要分为两类:主动攻击和被动攻击。被动攻击只会偷听网络中传输的数据,不会扰乱网络。主动攻击会复制、修改和删除节点之间交换的数据,降低网络性能甚至破坏网络,影响更为恶劣。按照攻击所使用的工具进行分类,还可将攻击分为外部攻击和内部攻击。外部攻击是典型的主动攻击,试图阻塞网络、传播错误路由信息甚至关闭整个网络。这些攻击通常需要采用防火墙、加密等安全措施来防范。内部攻击主要由恶意节点发起,此类攻击更加隐蔽[18-20]。表1列出了一些常用的攻击类型和防范措施。 ( Q9 d7 I8 x" F9 _% W1 Q) M
, w3 Q# P9 q5 `9 v! O/ G7 B! G1 R& q* x" `
对各节点发送和接收的数据进行加密和鉴别是保证通信安全性的主要途径。常用的加密方式有hash链和数字签名两种。表2列出了现有的常用安全路由协议及加密方式。 3 Q: r+ T: h' z, [! ]
( O% a, u! U* J' D
e+ {8 i# d+ o8 z
2 兼顾数据完整性和机密性的安全路由协议 6 m2 @& R+ X+ O0 P' r
本文假定无线网络中的网络连接是双向的,所有节点都有同步时钟,在宽松的时钟同步下使用间隔密钥。加密密钥在节点之间生成和发布,这样网络中的每两个节点之间都共享一个加密密钥,如源节点S和目标节点D之间共享的加密密钥是KSD。本文采用μTESLA协议保证数据的机密性,信息认证使用消息认证码和加密密钥方式。 : B5 V' a5 x9 K: w) t
2.1 μTESLA协议 ' N) t0 @( ~! D
一般地,认证广播需要一个非对称机制,然而非对称密码机制的运算量大、存储空间耗费多,难以应用于资源紧张的设备上。μTESLA协议采用一个延迟透露的对称密钥来解决上述问题,是一种高效的广播认证方案。在μTESLA协议中,密钥链中的每一个密钥与一个时段相对应,该时段内发送的所有数据包采用相同的密钥鉴别。譬如,假设数据包P1和P2在时段1发送,采用密钥K1加密;P3在时段2发送,采用密钥K2加密。当接收到这些数据包之后,首先通过一个单向函数K0=F(K1)鉴别K1,如果鉴别成功,接收端采用密钥K1解密数据包P1和P2。同样地,在其他时段,只要节点接收到前一个时段的密钥Kj,就采用一组单向函数Ki=Fj-i(Kj)来鉴别密钥Kj。鉴别成功则授权新的密钥Kj,用于解密时段i和j之间接收到的所有数据包。这里,单向函数采用hash函数。
& S9 ?$ A, f8 n在这一策略中,将密钥透露从数据包广播中独立出来,只与时段相关联,当前密钥通过专有的数据包周期性地进行广播。
' m- I9 o! q( Y9 r5 |8 l2.2 路由认证 % P+ v# p1 R3 S
几乎所有的路由攻击都是由恶意入侵或者假冒攻击来改变路由数据。为了阻止这些攻击,负责解释路由信息的每一个节点必须鉴别数据的原始性和完整性。本文结合密钥和单向hash函数生成消息认证码,依据消息认证码对路由中各节点进行认证。 9 \7 Q# d# R! g9 I' ~ E: R
2.2.1 路由请求 8 H! T9 @% T+ f4 c: d( T. K; i
如图1所示,源节点S想要建立其与目的节点D之间的路由,这样源节点开启朝向目的节点的路由发现,向其一跳邻居广播一个路由发现包。 : ?- X8 h, U/ ]' {
2 `9 Z- f+ j+ |8 V; f
) @- G2 c$ [4 \% m每一个节点沿着路径重复以上步骤,更新数据包和转发广播至目的节点。数据包中,(h0,h1,…,hn)包含了用于中间节点鉴别的地址和节点序列号信息。 5 d' O; x: B" ?4 V3 ]8 a c
7 F8 l3 {% U6 D$ R* Z" i3 T$ \1 F0 Y9 L
2.2.2 路由应答
6 p* B2 M: W9 w当接收到路由请求数据包之后,目的节点沿着相反的路径发送一个应答数据包(REP)给源节点。 _0 j3 [% d, i% [6 I0 I% @
第一个中间节点接收到从目的节点D到源节点S的应答数据包为:
1 Y' R( F' ?: U/ s3 \3 Q3 ]
$ P" ^: U% Z8 M8 a6 T) X0 ?+ X( D7 w: Y! e; E' E4 H, [! m
同样地,其他中间节点也将自身的MAC密钥附在REP包上,不断地转发给前一跳。最终,REP包到达源节点的形式为:
. {& x6 Q" [5 n) N) n" @' I X6 \2 X" T" f" \$ M
: ~9 }* O. I* ~
当源节点接收到路由应答包后,采用中间节点的MAC密钥和HD来鉴别报文。
9 v; q- Y. e) ?1 b/ [2.2.3 路由维护
5 ~2 x0 W0 r, s+ X% s& f/ h8 Q自组织无线网络的拓扑结构经常变化,网络中的节点可能增加或者减少,这样路由可能中断。当路由中断之后,路由错误报文(RERR)将从错误发生位置发送到源节点,然后初始化一个新的路由请求。 ; B, ~% _, x9 T1 r
如图2所示,假设节点C脱离了节点B的传输范围,这样节点B就会生成一个路由错误报文,并通过中间节点B和A发送给源节点A,方式为: g" s8 w4 d! J8 ^1 e* ]: O
( O$ W% }) x2 L% G
( J* k# X: I# Y0 B7 A
5 x8 i2 r* x P- \8 J1 |7 L
3 S# L( F' x( e- H3 L当源节点S接收到RERR报文之后,依据中间节点的MAC密钥鉴别这些MAC。鉴别成功后,源节点重新请求路由发现去寻找一个新的路由。 * ~2 Y1 b C( h H
2.2.4 数据机密性
4 X& o! u; w6 m- q现有的自组织网络安全路由协议主要关注于认证,很少考虑路由发现之后的数据机密性。本文利用μTESLA协议中的单向函数保护数据的机密性。在路由阶段,P通过中间节点的路由请求包传送到目的节点,采用源节点和中间节点的加密密钥解密。
( Q# H* M1 k% h/ ], j. L% J/ T单向函数的初始密钥K0分布在所有节点之间,目的节点可以采用单向函数鉴别Ki,表示为:
' v) S2 N7 z1 r6 c5 j& E( U4 v
7 B0 H# M! O! y. @7 Y, w% X$ S& G
这样,接收端可以解码时段i发送的所有数据包。当时段i结束之后,密钥Ki消失,源节点发送新的密钥Ki+1。目的节点接收包含新密钥的报文后,仍采用单向函数鉴别密钥Ki+1,鉴别成功后用其解密所有在i+1时段发送的数据包。
) Y/ y( C# F; R; T# D3 仿真分析 " Q. T. v+ Y8 X* z0 ^0 M. c
3.1 仿真环境与评价指标 , _, a' O, J) ?9 p# l
本文选用国际上通用的NS2仿真平台[21](主要仿真参数见表3),将本文路由协议与AODV[5]、ARAN[15]、SAODV[16]路由协议进行对比,从抗攻击能力方面定性对比不同协议的性能,从报文送达率、路由开销和端到端平均时延3个方面定量评价不同协议的性能。 |