Abstract:Adhocnetworkis combined by wireless mobile nodes completely. For there is no wired infrastructures such as base station, it faces two new security threats. There are attacks from the control layer and data layer, comparing Ad hoc with other wireless networks such as WLAN. Ad hoc should ensure the routing security on the control layer, and the secure forwarding of packets on the data layer. The distributed network protocol should operate safely, and peer-to-peer nodes should have trusting relations for each other. For this purpose, the complete solution should include three parts: security on the control layer, security on the data layer, and the security of private keys.
Keywords:Adhoc;routing; security
1 AdHoc网络简介
hoc是一种完全由无线连接的移动节点所构成的网络,通常具有动态形成以及有限带宽等特性,Ad hoc网络的成员可以是单一类型的,也可能是混合类型的,包括笔记本电脑、个人数字助理(PDA)、移动电话等。
图1给出了一个混合类型的Ad hoc网络的例子。
在Ad hoc网络中,从一个节点到另一个节点的路由可能要经过多个其他节点的转发,即多跳的(Multihop)。网络中不存在固定的路由器,每一个节点在完成自身的功能之外还必须充当一个路由器,转发其他节点的分组。网络的运行是完全分布式的,和网络的组织和控制有关的任务被分配到各个节点。Ad hoc网络的这些特性使其具有无可替代的优越性和诱人的潜在应用前景,但其自身的特点也同时给这种网络的研究和应用带来了许多困难和挑战,其中包括信息安全问题。
2 AdHoc网络面临的安全威胁
由于无线信道的开放性,无线网络面临着一些共同的安全威胁,Ad hoc网络也难于幸免。这些安全威胁可以分为3大类:第一类是针对网络本身的攻击,旨在破坏网络的正常功能,如信道阻塞(Channel Jamming)、非法访问(Unauthorized Access)和流量分析(Traffic Analysis)等;第二类是针对通信链路的攻击,旨在破坏端到端通信的保密性和完整性,如窃听(Eavesdropping)、消息伪造(Message Forgery)、消息重放(Message Reply)、中间人攻击(Man-in-the-middle Attack)和会话劫持(Session Hijacking)等;第三类是针对移动终端的攻击,旨在破坏或者非法使用移动终端,如Power攻击、Timing攻击等。文献[1]对这些攻击方法做了系统的阐述。
针对以上这些安全威胁,当前的防御技术主要有以下几类[2]:双向认证(Mutual Authentication)、访问控制(Access Control)、数据加密(Data Confidentiality)、数据完整性保护(Data Integrity)、新鲜性校验和不可否认性等。这些安全策略可能工作在TCP/IP协议栈的不同层次。
但是,和其他的无线网络(如WLAN)相比,Ad hoc网络由于没有基础设施,所以面临一系列新的安全威胁,特别是在网络层。因为核心的网络部件(如路由器等)是由对等的节点来充当,攻击者能够轻易地冒充路由器,通过攻击网络的控制层面或者数据层面来破坏网络的运行。这样一来,不仅Ad hoc网络的每个单跳的无线链路存在安全弱点,而每条多跳转发路径(Path)中也存在安全隐患。
Adhoc网的网络层面临的安全威胁可以分为两大类[3]:控制层攻击和数据层攻击。为了确保分组能从一个节点安全地传输到另一个节点,Adhoc网络必须保证控制层的路由安全和数据层的转发操作的安全。因此,实现这个目标的完全解决方案应该包括3个部分:控制层安全、数据层安全、密钥管理安全。
3 控制层安全:保证安全的路由
攻击者对Ad hoc网络的控制层进行攻击的主要方式是通过发布错误的路由信息来破坏节点之间的路由,这种攻击方法针对当前网络中正在使用的路由协议。为了确保Ad hoc网络路由的安全,在设计控制层的安全时,需要对路由信息中的关键字段(如跳数、源路由)进行认证。
3.1对消息进行认证的方法
当前,对消息进行认证的方法主要有3种,即利用消息认证码(HMAC)、单向密钥链和数字签名。
(1) 利用HMAC
如果两个节点共享一个密钥,他们就能通过单向的哈希(Hash)函数产生验证任何消息的HMAC。然而,HMAC只能被预定的接收者验证,这样就对认证广播消息没有吸引力。此外,建立整个网络范围内的密钥对也不是一件容易的事,因为对由n个节点组成的网络来说,需要有n *(n -1)/2个密钥需要保存。
(2) 利用单向密钥链
通过对初始输入x 反复应用单向函数f ( ),就可以获得一系列的密钥f i(x )。发送者以相反的顺序逐渐公布密钥链,但使用未公开的密钥为其消息产生哈希的HMAC。而接收者使用已公布的密钥来验证HMAC。结合了时钟同步和妥善的密钥分发方案之后,单向密钥链可被有效地用作广播消息的认证。
(3) 利用数字签名
数字签名基于公钥密码算法如RSA算法等,对发送的消息采用发送者的私钥进行签名,由于发送者的公钥通过网络公开发布,所以任何接收者都可以对接收到的消息进行验证。数字签名可以工作在由大量节点组成的网络之中,扩展性非常好。然而,数字签名也存在一个安全隐患。原因是其工作机理是基于比较的,即比较通过网络发送的消息签名和接收者自己计算出来的哈希值,这有可能会招致拒绝服务(DoS)攻击。
3.2距离矢量路由的安全
为了确保目的序列距离矢量路由算法(DSDV)和按需距离矢量路由算法(AODV)等路由协议的安全性,必须使每个节点都正确地发布其路由距离。例如,如果用跳数作为距离的度量,当路由更新消息在网络中传播时,每个中间节点应该将其跳数值增加1。
跳数哈希链方案能阻止中间节点减少跳数。假定最大的跳数是n,节点在产生路由更新消息(对DSDV协议而言)或在产生路由回复(RREP)消息(对AODV协议而言)时会同时产生一个长度为n 的哈希链h 0, h 1, h 2……hn,其中hi =H(hi -1),H( )是某个常用的单向哈希函数。
节点将hx =h 0和hx =hn分别添加到路由消息中,并将跳数设为0,然后广播出去。当中间节点收到更新消息时,首先判断是否满足:
hn =H n -Hop_Count(hx),H m(hx)表示对hx 应用m次H( )的结果。中间节点用H(hx)更新hx,并把跳数加1,然后重新广播路由更新消息。
按照这种方法,攻击者虽然不可能减少路由更新信息中跳数,但却能发布与其收到的跳数同样大的跳数。针对这个问题,哈希树链(Hash Tree Chains)可以确保路由更新消息在网络中传输时,其跳数总是单调地递增。但是,这种算法也存在一定的局限性,即它只适合离散的路由度量,如果路由度量连续取值时,该算法并不是很有效。
3.3链路状态路由的安全
为了确保链路状态路由协议如开放最短路径优先(OSPF)的安全,应该能够阻止攻击者伪造不存在链路。文献[4]中提出的安全链路状态路由(SLSP)采用基于数字签名的认证机制,已经基本解决了这个问题。在SLSP中,每个节点周期性地广播Hello消息,让邻居发现它,并且全网洪泛其链路状态消息(LSU分组)。Hello分组和LSU分组都使用发送节点的私钥签名。当且仅当链路被其两端的两个节点通过有效的LSU分组广播后,它才被全局网络拓扑接受。这样,攻击者就不能冒充合法节点伪造链路。
数字签名的高计算负载可能招致DoS攻击的问题可以通过频率控制机制来解决。每个节点测量其邻居发送数据签名控制分组的频率,一旦频率超过了预先设定的门限,就抛弃这些分组,而不做任何审核。
3.4源路由的安全
为了保证源路由协议如动态源路由协议(DSR)的安全,应该能阻止中间节点对源路由(即中间节点的有序列表)的恶意操纵,例如增加新节点、移除存在的节点,或改变中间节点的排列顺序。这通常是通过每跳认证来实现。
Ariadne是对DSR的安全扩展。它用单向的HMAC链,即TESLA来认证源路由。Ariadne假定时钟同步,以及预分配了每个节点的TESLA密钥链中的最后一个密钥。例如,源节点S到达目的节点D的路由经过三个中间节点A、B、C,当路由请求(RREQ)分组传输时,每个中间节点将它自己、整个分组的哈希值以及由下一个未公布的TESLA密钥签名的HAMC一起附加在源路由上。当目的节点收到RREQ,它首先验证内容是否与哈希值匹配,如果匹配,将一串HMAC值加到RREP分组中,这个分组沿着反向路径回到源节点。中间节点延迟RREP分组直到它释放了前一个使用的TESLA密钥,这样,下一跳节点就可以检验TESLA HAMC。
每跳哈希可以阻止恶意节点修改它收到的RREP分组,使得恶意节点所能做的就是将新节点加到路由中。每跳TESLA HMAC可以进一步阻止中间节点增加除它自己之外的其他节点,因为中间节点并不知道其他节点未发布的密钥。通过这种方法,由Ariadne发现的源路由是安全的。
4 数据层安全:保护分组的转发
数据层安全应该能确保每个节点按照自己的路由表转发数据分组。数据层不像控制层那样能简单地通过加密来确保安全,因为针对转发过程的许多攻击根本无法防范:攻击者可以丢弃需经过它转发的任何分组,而不管这些分组被保护得如何的好;攻击者也可以回放先前记录的分组、或者把伪造的分组插入到网络里。所以,数据层的安全方案采纳了响应方案,核心是探测机制和响应机制。
(1) 探测
开放的无线媒体允许我们在Ad hoc网络中进行局部探测。每个节点都监听信道,同时检测邻居的行为。但是,检测的精确度却由于信道误码、移动性、隐藏终端等因素的影响而受到限制,恶意节点可能滥用探测机制而故意指责合法的节点。为了得到正确的结论,网络中的一组节点应该能将各自的探测结果以分布式的算法进行协商,从而得到一个一致的结论。选择什么样的探测方法依赖于目的节点或者中间节点对源节点返回的显式确认,这样源节点能够判断在何处丢弃分组。
(2) 局部化探测
看门狗技术采用局部化方法检测和DSR协议有关的错误行为。假设所讨论的链路是对称链路,即如果节点A能听到节点B,B也能听到A。由于整个路径已经确定,当节点A转发分组到它的下一跳B时,它也知道B的下一跳是C。A监听信道,确定B是否向C传输。如果在一个时间段之内仍没有监听到这类传输,与B相关的失败标志就会增加。如果该标志超过了预定的门限值,A向源节点报告B的不正常行为。
文献[5]扩展了这个概念,使局部化探测也可以和距离矢量协议(如AODV)协同工作。通过在AODV分组中增加一个下一跳(Next_Hop)字段,这样节点就能知道其正确的下一跳邻居。独立的检测通过认证和进一步的合成,最终在局部邻居之间形成一个一致的结果。文献[5]考虑了更多形式的攻击,如分组的篡改、复制和阻塞等。
(3) 基于确认的探测
文献[6]提出了一种基于显式确认信息的检测机制,目的节点对每个接收到的分组都要发送确认分组。根据传递的质量,源节点可能针对一条可疑的路径启动错误检测进程,该进程在源节点和目的节点间执行对半搜索(Binary Search),并发送附带了一系列中间节点的探测分组。这些中间节点称作探针(Probe),它们必须在收到探测分组之后向源节点发回确认分组。源节点和每个探针共享一个密钥,探针列表采用“洋葱”加密。一旦接收到这个探测分组,每个探针返回一个用共享密钥加密ACK分组。源节点通过验证ACK分组,将错误定位到与目的节点最近的某个返回了ACK分组的节点。
(4) 响应
一旦检测到一个恶意节点,应该启用响应方案进行保护,以阻止网络受到进一步的攻击。例如,收回恶意节点的证书,或者减少其被选作转发路径的机会。根据其工作范围的不同,应对计划可以被分为网络响应方案和终端主机响应方案。
5 密钥管理安全
Ad hoc网络与其他分布式系统一样,其安全性依赖于正确的密钥管理系统。密钥管理包括以下几方面[7]:
信任模型:信任模型被用来确定网络中相互信任的成员的类型,它依据网络环境和应用的不同而不同,而且不同类型成员间的信任关系将直接影响网络的密钥管理系统。
密码系统:指密钥管理中使用的加密机制,通常为非对称或对称加密机制。
密钥生成与分发:确定网络中哪些成员能够生成密钥,并指出密钥的所有者。同时,密钥管理服务必须保证生成的密钥被安全的发送到其所有者,保证通信的私密性、完整性和可用性。考虑到Adhoc网络的拓扑结构可能不断地变化,采用单一的认证中心(CA)或者层次化的CA都存在安全隐患。近年来,基于门限加密机制的密钥管理服务因为具有较好的安全性,成为实现分布式信任的有效方法。但是,基于门限加密机制的密钥管理服务仍未能解决服务延迟的问题。
密钥存储:密钥的存储是指密钥管理服务保存私密密钥的方式和方法。
6 结束语
与其他无线网络不同的是,Ad hoc网络没有部署可信赖的网络基础设施,其安全问题主要关注的是如何确保分布式网络协议能安全地操作,以及如何在对等节点之间建立起信任关系。这在很大程度上依赖于路由是否安全及密钥管理机制是否健全。路由安全一般在控制层面利用消息认证技术来解决,而密钥管理机制则相对复杂,其难点在于必须以自组织的方式管理所需的密钥信息,而基于门限加密机制的密钥管理服务可能是一个非常有潜力的解决方案。
7 参考文献
[1]WELCHD,LATHROP S. Wireless security threat taxonomy[A]//Proceedings of the 2003 IEEE Workshop on Information Assurance, Jun 18-20, 2003, West Point, NY, USA. Los Alamitos, CA, USA: IEEE Computer Society, 2003: 76-83.
[2]郑宇.4G无线网络安全若干关键技术研究[D].成都:西南交通大学, 2006.
[3]YANH,RRCCIATO F, LU S, et al. Securing a wireless world[J]. Proceedings of the IEEE, 2006, 94 (2): 442-454.
[4]PAPADIMITRATOSP,HAAS Z. Secure link state routing for mobile ad hoc networks[C]// Proceedings of the IEEE Workshop on Security and Assurance in Ad Hoc Networks, Jan 28, 2003, Orlando, FL, USA. 2003: 379-383.
[5]YANGHao,MENG Xiaoqiao, LU Songwu. Self-organized network layer security in mobile ad hoc networks[C]//Proceedings of the ACM Workshop Wireless Security (WiSE2002), Dec 12-14, 2002, Atlanta, GA, USA. New York, NY, USA: ACM, 2002: 11-20.
[6]ZAPATAM,AWERBUCH N, HOLMER D, et al. An on-demand secure routing protocol resilent to byzantine failures[C]//Proceedings of the ACM Workshop Wireless Security (WiSE2002), Dec 12-14, 2002 , Atlanta, GA, USA. New York, NY, USA: ACM, 2002: 21-30.
[7]况晓辉,胡华平.移动Ad hoc网络安全[J]. 小型微型计算机系统, 2003, 24 (10): 1861-1864.
作者简介:
周亚建,博士,毕业于西安电子科技大学。2004至2006年在北京邮电大学信息安全中心从事博士后研究。曾参与多项国家自然基金和“863”项目的研究,在国内外核心期刊和会议上发表论文10余篇。现为北京邮电大学讲师,主要研究方向为移动通信及其安全。杨义先,北京邮电大学教授、博士研究生导师、北京邮电大学信息安全中心主任、全国政协委员、长江学者特聘教授,兼任中国密码学会常务理事、中国电子学会常务理事、中国通信学会会士。长期从事网络与信息安全方面的教学、科研、成果转化和企业孵化等工作,主要研究领域包括现代密码设计与分析、数字内容与安全、网络安全理论与技术、信息安全与应用。