摘要 移动IPv6协议作为下一代互联网解决移动通信的基本理论,为解决“三角路由”问题和更好的支持节点移动,定义了一些控制信令和新的移动扩展头,但同时也带来了新的安全威胁,为此提出了一些安全策略来保护控制信令。本文探讨了移动IPv6协议主要面临的安全威胁,分析了通过IPSec安全联盟来保护移动节点和家乡代理之间的控制信令以及RR协议来保护移动节点和通信节点之间的控制信令的安全策略。
关键词 移动IPv6 移动节点 家乡代理 通信节点
1、引言
随着因特网和移动通信的逐步融合,人们也期待能够突破时间和空间的限制随时随地接入因特网。但是按照基本IP协议进行报文路由,一旦通信节点在改变了其网络接入点以后,如果不重新配置其IP地址,那么它就不能继续与网上的其它节点进行通信,因此需要引入一种路由机制使移动节点可以以一个永久的IP地址连接到任何链路上。移动IPv6协议的提出则可以解决上述问题。移动IPv6协议作为下一代互联网IPv6协议的基本组成部分,它建立在IPv6的体系结构上,利用了IPv6的一些特性来支持节点的移动,并且引入了一些控制报文来实现路由优化。本文着重研究移动IPv6协议中的控制信令报文,分析此类报文对移动节点、通信节点以及家乡代理所造成的安全威胁,以及移动IPv6协议所采取的一些安全机制。
2、移动IPv6协议介绍
移动IPv6协议中定义了三种操作实体:移动节点(Mobile Node,MN)、通信节点(Correspondence Node,CN)和家乡代理(Home Agent,HA)。在移动IPv6协议中并没有定义外地代理。因为节点移动到外地链路可以通过IPv6基本协议的邻居发现(Neighbor Discovery)协议判定自己网络链路的变化情况,同时通过有状态或者无状态的自动地址分配机制得到外地链路上的转交地址。
如图1所示。移动IPv6提供两种基本的通信模式,即双向隧道机制和路由优化。双向隧道机制是指在移动节点和家乡代理之间建立隧道。通信节点发给移动节点的报文,首先路由到家乡代理,家乡代理通过代理邻居发现机制截获该报文,并且采用IPv6封装格式通过隧道转发到移动节点;移动节点发往通信节点的报文则采用反向隧道先路由到家乡代理,然后按照正常的路由机制转发到通信节点。另一种通信模式是路由优化,移动节点和通信节点直接通过转交地址进行报文交互。
图1 移动IPv6的两种通信场景
与移动IPv4协议相比,移动IPv6协议引入下述增强特性来更好地支持节点的移动:
(1)在协议设计中没有引入外地代理,而是通过IPv6基本协议的邻居发现和地址自动分配(有状态或无状态)机制来实现外地代理的功能。
(2)路由优化成为协议的基本组成部分。移动IPv6协议定义四种消息(Home Test Init,Care-of-Address,Home Test和Care-of Test)和RR(Return Routability)协议,来确保通信节点只接收通过授权认证的移动节点发送的地址绑定更新报文,并且建立移动节点家乡地址和转交地址对应表项,用于直接与移动节点通信。
(3)具有更高的安全性。移动IPv6协议继承了IPv6基本协议的IPSec部分,它能够通过认证头(Authentication Header,AH)提供数据源身份认证,通过安全载荷封装(Encapsulation Security Payload,ESP)提供数据的保密性和完整性,增强对协议控制报文和数据流的保护。
(4)支持路由优化和“入口过滤”相融合。在移动IPv6协议中定义了两类新的移动扩展头,家乡地址选项头(Home Address Option)和类型2的路由头(Type 2 Routing Header),因而可以将转交地址作为报文的源地址进行通信,而不用担心正常的通信报文会被配置了“入口过滤”(Ingress filter)的路由器丢弃。在通信中,由MN发送到HA的报文,源地址使用MN的转交地址,在家乡地址选项扩展头域填写MN的家乡地址;由CN直接发送到MN的报文,目的地址使用MN的转交地址,在类型2路由扩展头域填写MN的家乡地址。
(5)在移动节点和当前拜访地网络网关之间提供了对称的可达性检测机制,能够使得网关感知到移动节点的移动。
(6)定义动态家乡代理发现和移动网络前缀信息自动获得机制。移动节点发送MPS(Mobile Prefix Solicitation)消息,由家乡代理响应MPA(Mobile Prefix Advertisement)消息,来获得家乡链路的网络前缀。通过上述机制,能够确保移动节点在发生下述情况时继续与网上的其它节点通信:
●原有的家乡代理发生故障,能够备选出一个家乡链路上的路由器作为替代的家乡代理;
●家乡链路的网络前缀发生变化,可以实现移动节点家乡地址的自动更改。
3、移动IPv6面临的主要安全问题
移动IPv6协议通过定义移动节点、家乡代理和通信节点之间的控制信令,实现“三角路由”的优化,同时也引入了新的安全威胁。如果攻击者在移动节点、通讯节点的链路上或者是在发送数据包路径的链路上截获相关的控制报文,那么它就能够轻易的进行攻击。目前。移动IPv6可能遭受的攻击主要包括拒绝服务攻击、重放攻击以及信息窃取攻击三大类。
3.1 拒绝服务攻击(DoS)
拒绝服务攻击是指一个攻击者为阻止合法用户的正常工作而采取的攻击。这种攻击主要包括两种方式:一种是通过向服务器或主机发送大量数据包,使得主机忙于处理这些无用的数据包而无法响应有用的数据包;另一种是直接干扰正常通信。在移动IPv6中攻击者可以通过如下的攻击方式达到上述目的:
(1)发送大量的地址绑定更新消息来消耗家乡代理和通信节点的资源,如CPU、内存资源。从而导致绑定Cache表溢出或者是无法及时处理真正的绑定更新报文。
(2)冒充移动节点的身份向家乡代理或是通信节点发送含有伪造转交地址的绑定更新报文,从而截获后续的数据包,或者是将通信流量重定向到第三方节点,导致分布式的DoS攻击。
(3)在移动节点和家乡代理通信路径上的攻击者可以通过篡改Home Address Option域值,将通信节点的流量重定向到其它第三方节点(包括攻击者自己)。
(4)在移动节点和通信节点通信路径上的攻击者可以通过篡改Routing Header域值,将通信节点的流量重定向到其它第三方节点(包括攻击者自己)。
(5)在移动节点和家乡代理通信路径上的攻击者可以通过篡改MPA(Mobile Prefix Advertisement)消息的前缀信息来阻止移动节点与家乡代理和通信节点之间的正常通信。
3.2 重放攻击
重放攻击是指攻击者将一个有效的注册请求消息保存起来,等待一段时间后再重新发送这个消息来注册一个伪造的转交地址,从而达到攻击的目的。在移动节点和通信节点通信路径上的攻击者可以通过这种方式将数据流重定向到第三方实体。
3.3 信息窃取攻击
信息窃取可以分为被动监听和主动会话截取。
(1)被动的监听
移动IPv6可以使用包括无线链路在内的多种传输媒介。由于无线链路的信道特性,攻击者可以不需要物理地连接到网络上就可以进行侦听,而对于有线链路,未经授权的用户也可能通过某些手段设法接入网络进行侦听。对于此类的攻击最好的解决办法就是在通信双方实现端到端的加密。
(2)会话窃取
会话窃取攻击是指一个攻击者等待合法的用户认证完成并且开始进行会话后,通过假扮合法节点来窃取会话的攻击。在移动IPv6中,当移动节点向它的家乡代理注册后,攻击者先侦听移动节点和家乡代理之间的会话,当发现某些感兴趣的信息后,攻击者一方面向移动节点发送大量无用的数据包,另一方面假冒移动节点发送数据包。并截获发往移动节点的数据包。
除了上述主要的安全威胁之外,移动IPv6还可能遭受其它的安全威胁,例如:
●攻击者可以冒充通信节点给移动节点发送绑定错误消息。从而导致移动节点通过隧道经由家乡代理向通信节点发送报文,造成路由迂回,导致网络带宽浪费及时延增加;
●攻击者可以通过向移动节点发送大量的绑定刷新请求消息来实现资源耗尽类别的DoS攻击。
4、移动IPv6协议解决上述安全问题的机制
互联网协议设计的一个基本安全要求就是新协议的设计不能够引入新的安全威胁,如果存在安全威胁,那么协议本身必须要规定相应的安全机制来克服。同样,移动IPv6协议也不例外。对于上节描述的各种安全威胁,协议都定义了相应的安全机制。
4.1 防御重放攻击的策略
为防止重放攻击,移动IPv6协议在注册消息中定义了序列号,并且在RR协议报文中引入随机数(Nonce)。家乡代理和通信节点可以通过比较前后两个注册消息序列号(通信节点还可以依据Nonce散列值),判定出被攻击者保存下来的已经过时的注册消息而不予处理。
4.2 对家乡代理的地址绑定消息的保护
在移动IPv6协议中建议通过建立IPSec安全联盟来保护发送到家乡代理的地址绑定消息和数据流量。由于移动节点家乡地址和家乡代理都是已知的,所以可以预先为移动节点和家乡代理配置安全联盟,然后使用IPSec AH和ESP机制建立安全隧道,提供数据源认证,完整性检查,数据加密和防重放攻击保护。
4.3 对通信节点的地址绑定消息的保护
由于移动节点的转交地址是随着移动节点网络接入点的变化而变化的,并且与其通信的节点也是在不断变化的,所以不能通过预先静态配置的方式在移动节点和通信节点之间建立安全联盟,而且在全球互联网范围内很难实现PKI(Public Key Infrastructure)架构,不同的认证管理域也很难建立信任关系,所以无法通过公共密钥加密机制保护移动节点与通信节点之间的控制信令。移动IPv6协议定义了RR协议,通过产生绑定管理密钥来实现对移动节点和通信节点之间控制信令的保护,其基本原理如下:
当移动节点采用路由优化方式时,它发送HoTI(Home Test Init)消息经由家乡代理向通信节点通告其家乡地址,直接发送CoTI(Care-of Test Init)消息向通信节点通告其转交地址;当通信节点收到上述消息后,将源地址、密钥和随机数作为哈希散列函数的输入,分别产生Home Cookie和Care-of Cookie,(Home Cookie=hash{Key,HoA|Nonce};Care-of Cookie=hash{Key,CoA|Nonce})并且向移动节点分别响应HoT(Home Test)消息和CoT(Care-ofTest)消息;移动节点将收到的Home Cookie和Care-ofCookie作为哈希函数的输入产生会话密钥,并用此密钥来加密绑定消息,其中:
BU={MAC,Seq#,Nonce indices,CoA},其中MACBU=hash(kBU,CoA|CN|HoA|Seq#|LT)
BA={MAC,Seq#,status}其中MACBA=hash(kBU,CN|CoA|HoA|Seq#|LT)。
(注:HoA—Home Address;CoA—Care-of Address;BU—Binding Update;BA—Binding Acknowledgement;MAC—Message Authentication Code;CN—Correspondent Node;LT—Lifetime;)
4.4 对MPS/MPA消息的保护
考虑到移动网络前缀发现机制可能会造成网络拓扑信息的泄露,移动IPv6协议建议采用IPSec安全联盟来保护MPS/MPA数据的完整性以及对数据源身份进行认证,例如可以使用ESP传输模式非空载荷认证算法。
4.5 对通信流量的保护
在移动IPv6协议中建议使用IPSec体系中AH和ESP机制提供数据流的数据源认证、完整性和机密性保护。
5、结束语
移动IPv6的发展还处在初级阶段,目前提出来的还只是移动解决方案的基础理论。移动IPv6的最终目标是实现全球范围真正的移动网络。它会满足移动计算和个人通信的所有要求。而要真正实现全球范围内的移动网络,还需要进一步完善Mobile IPv6,IPSec,Diameter等协议,解决服务质量及安全性问题。
作者:马军锋 侯乐青 来源:泰尔网