APP下载

基于移动IPv6的安全研究

2012-01-26南京化工职业技术学院

电子世界 2012年21期
关键词:攻击者交换机报文

南京化工职业技术学院 徐 涛

1.移动IPv6攻击

当移动节点在外地网络时,会经历如下的几个过程:

(1)移动节点首先获得一个转交地址,然后它把家乡地址与转交地址的映射告知家乡代理,这个过程称为家乡注册;

(2)通信节点与移动节点通信仍然使用移动节点的家乡地址,数据包仍然发往移动节点的家乡网段;家乡代理截获这些数据包,并根据已获得的映射关系通过隧道方式将其转发给移动节点的转交地址。移动节点则可以直接和通信节点进行通信。这个过程也叫做三角路由过程;

(3)为了避免三角路由,移动节点也会将家乡地址与转交地址的映射关系告知通信节点,这个过程称为通信节点注册;

(4)当通信节点知道了移动节点的转交地址就可以直接将数据包转发到其转交地址所在的外地网段,这样通信节点与移动节点之间就可以直接进行通信。

对移动IPv6的攻击研究将集中在家乡注册和通信节点注册这两个过程。

1.1 家乡注册的攻击

常见的几种攻击类型如下:

·数据保密性攻击:如图1.1所示,攻击者发送虚假的binding update给家乡代理,让后者以为攻击者的地址就是移动节点的转交地址,所有通过家乡代理发往移动节点的数据将发往恶意节点。

·阻止通信攻击:和上面类似,不过攻击者把移动节点的转交地址设置为不存在的地址.这样发送给移动节点的数据包就无法到达,造成通信被阻止;

·DoS攻击:攻击者可以把大量网络节点的转交地址都指向攻击目标,这样发给这些节点的数据都被重定向到攻击目标,达到DoS攻击的效果;

·假冒家乡代理:移动IPv6具备动态家乡代理发现的功能,它通过发送家乡代理发现请求到家乡任意播地址,由某个家乡代理回应一个带有家乡代理列表的应答消息。家乡链路上的恶意节点有可能收到这个请求并给出虚假应答,如图1.2所示。

尽管移动IPv6要求利用IPSec保证家乡注册的安全,但是IPSec应用本身存在问题。首先IPSec需要在移动节点和家乡代理之间建立起安全关联,如果采用手工配置的方式,n个移动节点就要配置n条关联,扩展性不好,不适合大规模部署。如果采用IKE(Internet KeyExchange)动态建立,IKE本身又是一个耗时和复杂的过程。其次,IPSec需要公钥来完成认证和加密,而公钥的管理一直是个没有解决好的问题。最后,IPSec不可避免的给主机带来额外的计算负担,因为加密/解密运算的复杂性,攻击者可以构造虚假的IPSec报文,消耗主机的计算资源,造成拒绝服务攻击。

1.2 通信节点注册攻击

攻击者从一开始就就假冒移动节点,欺骗家乡代理,加上RRP消息都是明

文的,这样它通过正常的RRP过程就能够“合法”的欺骗通信节点。

攻击过程如下:

(1)攻击者发送HoTI消息,源地址是假冒的移动节点家乡地址,目的地址是通信节点地址,通过家乡代理转发。

(2)攻击者发送CoTI消息,源地址是攻击者的地址,目的地址是通信节点地址,直接发送。

(3)攻击者通过家乡代理收到HoT消息,源地址是通信节点地址,目的地址是移动节点家乡地址。

(4)攻击者收到CoT消息,源地址是通信节点地址,目的地址是攻击者的地址。

(5)攻击者发送binding update,源地址是攻击者的地址,目的地址是通信节点地址。由于任何能同时接收到HoT消息和CoT消息的攻击者都可以给通信节点发送能通过认证的binding update,结果就是通信节点以为攻击者的地址就是移动节点的转交地址。

2.基于AAA的改进绑定更新过程

由上述分析可知,家乡注册和通信节点注册这两个过程都存在攻击可能,并且目前的解决方案都存在不足。从另一个角度看,不论是家乡注册,还是通信节点注册过程,都是通过绑定更新/确认消息的交互,攻击能够奏效很大程度上是由于绑定更新缺乏认证机制,如果能对绑定更新提供一种认证机制,就能较好的解决其安全问题。

为此,我们提出一种结合AAA(认证,计费,授权)过程的改进绑定更新过程。本方案的实现分为两个部分。一是身份认证以及认证之后AAAH服务器在移动节点和家乡代理之间共享密钥;二是通过修改移动IPv6的实现,把该共享密钥嵌入到移动IPv6的消息之中。目前只实现了第一部分的工作,身份认证采用802.1x+Radius的方案。

图1.1 移动IPv6保密性攻击

图1.2 移动IPv6假冒家乡代理攻击

图2.1 系统结构图

2.1 工作流程

网络拓扑如图2.1所示,工作流程如图2.2所示。注意的是,为了防止网络窃听,不是直接传输数i,而是传输数i和用户口令的异或。

(1)用户在客户端中输入用户名和密码,客户端向外地网络的交换机发起

EAPoL认证请求,其中包含用户名;

图2.2 工作流程图

图2.3 客户端流程

图2.4 服务器端流程1

图2.5 服务器端流程2

(2)交换机收到用户请求后,实现从EAPoL报文取出认证消息,并将认证

消息按照Radius协议的格式进行封装,然后向FAAA发出Access-Request认证请求;

(3)FAAA收到认证请求后,根据用户名做判断,将Access-Request请求

报文转发给家乡网络的HAAA;

(4)HAAA判断用户的状态,如果是首次认证请求,则产生一个随机数R,

由Access-Challenge报文携带返回给FAAA;

(5)FAAA把Access-Challenge报文返回给交换机,后者进行转换为EAPoL

格式,返回给用户;

(6)用户从Challenge报文提取出随机数R,计算口令P与R的MD5摘要,把摘要放入响应消息中,再发给交换机;

(7)交换机进行转换后发给FAAA,后者转发给HAAA;HAAA从本地数据库取出用户口令P’,计算P’与R的MD5摘要,并与收到的做比较,如果相等

则认证成功,接下来HAAA生成数i,i=First(16,sha1(time)),把数i和口

令P异或,得到i’,即i’=i xor P。i’携带在Access-Accept报文里发给FAAA;

(8)FAAA把Access-Accept报文返回给交换机,后者打开相应端口,并且把报文返回给用户;

(9)用户提取出数i’,通过i’xor P恢复出数i并保存起来。

2.2 客户端设计

客户端是自己开发的802.1x客户端,在客户端和交换机之间报文格式是

EAPoL,工作流程如图2.3所示:

2.3 AAA服务器端设计

AAA服务器使用开源软件FreeRadius,工作流程如图2.4,2.5所示,认证方法采用EAP-MD5。

本文针对移动IPv6家乡注册和通信节点注册这两个过程的安全问题,以及目前的解决方案IPSec和RRP在应用中的一些问题,提出了一种改进的绑定更新方案,利用802.1x和AAA技术实现了该方案的一部分。

[1]孙利民.移动IP技术[M].电子工业出版社,2003.

[2]Greg O’Shea et al.Child proof authentication for MIPv6(CAM),ACM SIGCOMM Computer Communication Review 2001,Volume 31,Issue 2,Pages:4-8.

[3]刘述.国内外下一代互联网试验网浅析[J].网络专家.2006,4(13):B5-B6.

[4]P.Congdon et al,IEEE 802.1X Remote Authentication Dial In User Service(RADIUS)Usage Guidelines,RFC 3580,September 2003.

猜你喜欢

攻击者交换机报文
基于J1939 协议多包报文的时序研究及应用
机动能力受限的目标-攻击-防御定性微分对策
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
修复损坏的交换机NOS
正面迎接批判
使用链路聚合进行交换机互联
ATS与列车通信报文分析
有限次重复博弈下的网络攻击行为研究
PoE交换机雷击浪涌防护设计