摘要 从IPv4向IPv6过渡有双栈、翻译和隧道三种过渡机制,每种过渡机制中又都分别含有几种技术。本文试图对这些技术的安全问题进行了分析,并据此为运营商和企业在IPv4向IPv6过渡技术发展策略方面提出建议。
一、引言
由于IPv6技术具有诸多优点,人们希望在不久的将来使用它来进行网络的主要部分的设计。然而,由于IPv4网络如此庞大,以至于人们不得不需要一段时间逐步从IPv4向IPv6过渡。为此,人们正在通过各种各样的方法寻找从IPv4向IPv6过渡合理方案,而且到目前为止已经出现了许多的解决方案。这些解决方案大致可以分成三类:一是双栈机制,二是翻译机制,三是隧道机制。有些技术只使用了其中一种机制,有些则同时使用了其中两种机制。
网络安全问题一直是网络运营者和网络使用者关注的焦点,在从IPv4向IPv6过渡过程中也是如此。本文试图在安全方面对目前出现的过渡技术加以分析,并据此为运营商和企业在IPv4向IPv6过渡技术发展策略方面提出建议。
二、双栈机制安全分析
1双栈技术安全
双栈技术是大家熟知的做法,就是在同一台设备上同时激活IPv4和IPv6两种协议。双栈技术一般都是与其他技术结合使用。
在IPv4网络安全方面,我们已经有很多的办法加以保护,这一点自不必说。需要注意的是,在IPv6网络安全方面也要达到现有IPv4过滤水平。因为系统管理员往往喜欢分给它一个以该地址所属的类前缀为开头的地址(通常比::ff低),这就使得需要扫描的IPv6地址范围小许多,所以一个外部用户发现一个重要服务器的IPv6地址并不困难。在这种情况下,如果某些基本过滤功能没有加载,恶意用户就有可能很轻易地把IPv6作为一个入口点,从入口机器上使用IPv4或IPv6去访问私有网络,并进一步危及网络内的设备。另外,偶尔也有黑客在侵入IPv4设备后,激活IPv6-in-IPv4隧道,这样就可以成功地绕过过滤和入侵检测系统(IDS)了。
2 DSTM技术安全
DSTM技术目前还处于IETF草案阶段,它的基本思想是:在纯IPv6域内,当支持双协议栈的DSTM节点需要IPv4地址时,可以通过与DSTM服务器进行基于IPv6的通信得到一个临时IPv4地址,然后使用这个IPv4地址通过IPv4-over-IPv6隧道与网关TEP通信,TEP再利用IPv4直接与IPv4网络通信。
DSTM技术可以使用所有已经定义的安全规范。第一,有关DNS安全的扩展和升级都可以使用;第二,如果Intranet DSTM中布署了DHCPv6,则可以使用DHCPv6认证消息,同时可以把TEP都置于Intranet中而不把它们作为中继开放,以避免受到直接的攻击;第三,对于DSTM节点的IPv4通信,一旦节点具有IPv4地址,IPsec就能被使用,因此DSTM不会破坏在任何点的端到端的通信安全。
尽管如此,由于DSTM技术要求DSTM节点需要通过向DSTM服务器请求临时地址来动态配置IPv4栈,这直接为DSTM在地址分配方面带来一个重大缺陷——容易受到DoS攻击,虽然DSTM网络要求是一个Intranet环境,DoS攻击对地址池的威胁有限,但这个问题仍然不容忽视。
下面我们看一个实际例子。如果TEP与DSTM服务器在物理上不是安装在同一台主机上,则当TEP收到携带IPv4包的IPv6数据包时,它就自动使用包内携带的信息(IPv6和IPv4源和目的地址)通过动态隧道接口(DTI)创建一个IPv4-in-IPv6隧道。有一点必须注意,这种情况下没有方法检查TEP所建立的隧道与DSTM服务器的分配的对应关系,所以一个主机(A)被分给一个IPv4地址后,在用这个地址通过使用DTI创建的IPv4-over-IPv6隧道与一个IPv4网络通信时,如果另一个主机(B)使用与A相同的IPv4源地址发了一个IPv4 in IPv6的包,TEP和A之间的隧道就会被破坏掉了,并且被TEP和B之间的隧道所代替。这就是所谓的DTI问题,这种情况在欺骗攻击时比较常见。解决此问题的一个办法就是加入认证机制,但是目前的应用都是基于远程程序调用(RPC)的,而基于RPC的应用却不支持认证,所以目前还不能克服这个缺陷,只能寄希望于以后使用TSP(隧道配置协议,它可以使对消息发送者的鉴别成为可能)和DHCPv6来解决了。
3 BIS技术安全
BIS技术在IPv4协议栈中插入三个特殊的扩展模块:域名解析模块、地址映射模块和报头翻译模块。当IPv4应用程序与纯IPv6节点通信时,将节点的IPv6地址映射成一个备用IPv4地址池中的IPv4地址。
采用BIS技术的双栈主机上的IPv4应用和其他IPv4主机通信时,可以实施所有层面上的安全策略。同时,运行IPv6应用的主机通过完整的IPv6协议栈和其他IPv6的主机通信时,象其他普通的IPv6间通信一样,也可以在所有层面上实施安全策略。然而,当主机上的IPv4应用利用BIS机制和其他的IPv6主机通信时,不能实施网络层以上的安全策略。因为,当加密携带有IP地址的协议数据时,或者以IP地址做为主键对协议数据进行加密后,这种机制不能在IPv4和IPv6的数据之间进行转换。因此如果需要采用安全机制与其他IPv6主机进行通信,首先需要把现有的应用升级为IPv6的应用。
4 SOCKS64技术安全
SOCKS64技术通过在IPv4主机端增加了一个功能部件*Socks Lib*、在网关处增加了一个功能部件*Gateway*,提供了IPv4主机通过双栈网关与IPv6主机通信的解决方案。
由于SOCKS64是直接建立在SOCKSv5协议基础上的,其安全方面的特点与SOCKSv5相一致。它不提供从原始源节点到最终目的节点的整体端到端的安全保证,但是由于它建立了应用层两个“分开的”连接的中继,所以端到端的安全就由这两个被中继的链接来提供保证。
三、翻译机制安全分析
1 SIIT技术安全
SIIT技术实际上是一种无状态的IP协议和ICMP协议转换算法。它定义了IPv6和IPv4的分组报头进行转换的方法,对每个分组都进行翻译。SIIT可以和其它机制(如NAT-PT)结合实现纯IPv6节点和纯IPv4节点间的通信。
SIIT技术不会引入新的安全问题。但是由于认证头部(AH)涉及到IPv4标识域,而翻译函数不能够总是保留这个标识域,IPv6端点对于收到的经过IPv4-to-IPv6翻译的数据包不能计算AH值,所以AH不能通过翻译器。
2 NAT-PT技术安全
NAT-PT技术利用网络地址转换(NAT)技术,达到使纯IPv4和纯IPv6节点之间能够透明通信的目的。它将IPv4地址和IPv6地址分别看作NAT技术中的内部地址和全局地址,在IPv4分组和IPv6分组之间进行基于会话的报头和语义翻译。对于一些内嵌地址信息的高层协议(如FTP),NAT-PT需要和应用层网关(ALG)协作来完成翻译。