恶意节点对AODV路由协议的攻击归纳为以下六类:

(1)假冒源结点S伪造一个RREQ包,让自己的地址看起来像源地址;

(2)当转发一个RREQ包的时候,减少跳数域;

(3)扮演接收方伪造一个RREP,让自己的地址看起来像目的地址;

(4)没有去转发相应的RREQ或者RREP,或者没有去响应相应的RREQ和数据包;

(5)用很高的目的结点序列号伪造一个RERR包;

(6)把一个结点的源或目的序列号设置得很大。

针对于Ad-hoc网络中的这些进攻,已经提出了几种安全AODV路由协议和方案。

ARAN(Authenticated Routing for Ad-hoc Networks)通过可信任的认证服务器,为所有的有效接点颁发证书,并且把路由跳数信息也加入到签过名的包内,下一跳收到路由包的节点,用从密钥服务器中得到的公钥对由上游结点发来的路由包进行验证,通过验证后,再用自己的私钥进行加密后进行转发。

Ariadne协议的目标在于用较小的计算开销,来保障路由发现的正确路径。采用了一个广播的认证协议—定时有效流损失容忍认证(Timed Efficient Stream Loss-tolerant Authentication,TELSA)。TELSA目标在于不用密钥分发机制提供的共享密钥,每个节点创建一个哈希链,哈希值被当成密钥,用来生成每个包的消息认证码MAC(Message Authentication Code)。

SAODV(Secure Ad-hoc On-Demand Distance Vector)提出了把可变域,如跳数,和不可变域分开进行处理。对于可变域,用哈希函数进行逐跳验证;对于不可变域进行数字签名,并拓展了一些字段用于已知目的节点的中间节点发送RREP包。

辛辛那提大学的Hongmei Deng等人提出了一种基于对响应节点的下游邻居节点验证的方案。当中间节点(假设是B)应答RREQ时必须在RREP中附加下一跳节点C的信息,源节点收到RREP后并不立即信任该路由,而是再向C发送验证询问包,如果返回的验证反馈包中确认有到目的节点和到B的可用路由(源节点忽略来自包含节点B的路径的返回的验证反馈包)源节点将信任的RREP,否则抛弃RREP,同时向全网发送警告信息孤立。

这些利用数字签名,加密等方法解决路由黑洞攻击问题的方案虽然有比较高的安全性,但由于每个节点都要执行加密和验证程序,因此应用在计算机能力和电源有限的移动终端中显得过于庞大,同时加密和验证还会引起时延,不利于大规模网络的构建。

本文研究在成组恶意节点攻击情况下,可信AODV路由协议。


相关内容