首页 >> 安全 >> 技术交流 >> 正文
 
无线Ad Hoc网络的安全
http://www.cww.net.cn   2007年10月17日 13:13    通信世界网    
作 者:周亚建 杨义先

    为了确保目的序列距离矢量路由算法(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网络没有部署可信赖的网络基础设施,其安全问题主要关注的是如何确保分布式网络协议能安全地操作,以及如何在对等节点之间建立起信任关系。这在很大程度上依赖于路由是否安全及密钥管理机制是否健全。路由安全一般在控制层面利用消息认证技术来解决,而密钥管理机制则相对复杂,其难点在于必须以自组织的方式管理所需的密钥信息,而基于门限加密机制的密钥管理服务可能是一个非常有潜力的解决方案。

[1]  [2]  [3]  
相关新闻
编 辑:张翀    联系电话:010-67110006-884
[收藏] [打印] [进入论坛] [推荐给朋友]
关键字搜索:无线网络  网络安全  
文章评论评论()】
昵称:  验证码:
 
重要新闻推荐
每日新闻排行
企业黄页
会议活动