IPv6的安全机制及其安全性讨论
2009-09-30朱倩,严晓峰
朱倩,严晓峰
摘要:该文从IP发展历史入手,简要回顾了IPv6的主要特性,阐述了IPv6的安全机制,对IPv6的现实性应用给出了见解,认为IPv6已经进入实用化阶段,应该从现实角度完成IPv6安全性的实际应用,完善公钥、防火墙和兼容性等工作。最后,该文对企业网络从IPv4转为IPv6后的网络安全性模型提出了一些看法。
关键词:IPv6;安全性;企业模型
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)34-9665-03
IPv6 Security Mechanisms and Safety Discussions
ZHU Qian1, YAN Xiao-feng2
(1.Wuhan University Computer Science, Wuhan 430072, China; 2.Jiujiang College of Information Science Teaching Software, Jiujiang 332005, China)
Abstract: The history of the development from the IP start with a brief review of the main features of IPv6, describes IPv6 security mechanisms, practical applications of IPv6, gives the opinion that the IPv6 has entered a practical stage, it should be completed from a realistic point of view IPv6 the practical application of safety, improve the public key, firewall, and compatibility and so on. Finally, the text of the enterprise network from IPv4 to IPv6 network security model, after a number of observations.
Key words: IPv6; security; enterprise model
1 IPv6概述
1.1 IP协议
IP协议诞生于70年代中期[1]。IP解决的最根本的问题是如何把网络连接在一起,也就是把计算机连接在一起,而且除了其他计算机的网络地址之外,这些连接起来的计算机无需了解任何的网络细节。这就有以下三个要求:首先,每个连接在“网络的网络”上的计算机必须具有唯一的标识;其次,所有计算机都能够与所有其他计算机以每个计算机都能识别的格式进行数据的收发;最后,一台计算机必须能够在了解另一计算机的网络地址后把数据可靠地传至对方,而无需了解对方计算机和网络的任何细节[2]。IP协议实现了上述目标。
1.2 IPv6概述
IPv6自1996年由IETF的RFC2460加以规范以来,已经得到了广泛的研究和一定的部署。[10]
IPv6保留了IPv4的很多非常成功的特征。如IPv4、IPv6都是无连接的—每一个数据报都含有目的地址,每一数据报独立地被路由。就象 IPv4一样,IPv6的数据报头部也含有用于标识一个数据报被丢弃前已经过的最大站数的域。另外, IPv6保留了IPv4可选项中的大部分通用机制。
尽管保留了当前版本的基本概念,IPv6仍然修改了所有的细节。例如,IPv6使用更大的地址和一个全新的数据报头部格式。另外,IPv6使用一系列的定长的头部去处理可选信息,而不象当前版本那样只使用一种含有变长的可选项的头部。
IPv6中的新加特征主要可分为以下五类:[4-5]
1)地址尺寸(Address Size)。每个IPv6地址含128位,代替了原来的32位,这一下地址空间大得足以适应好几十年的全球Internet的发展。
2)头部格式(Header Format)。IPv6的数据报头部与IPv4的完全不一样,IPv4头部的每一个域几乎都变了,或被替代掉了。
3)扩展头部(Extension Header)。不象IPv4只使用一种头部格式,IPv6将信息放于分离的头部之中。一个IPv6的数据报组成:IPv6的基本头部,后跟零个或多个扩展头部,再后跟数据。当前,IPv6定义了6种扩展头,分别是:步跳扩展头、路由扩展头、分段扩展头、验证扩展头、封装安全性净荷扩展头、目标选项扩展头。[6]
4)对音频和视频的支持(Support for audio and video)。IPv6的一种机制让发送方与接收方能够通过底层网络建立一条高质量的路径,并将数据报与这一路径联系起来。虽然这种机制用于需要较高性能保证的音频和视频应用,它也可用于将数据报与低成本路径联结。
5)可扩展的协议(Extensible Protocol)。IPv6并不象IPv4那样规定了所有可能的协议特征。相反,设计者们提供了一种方案,使得发送方能为一个数据报增加另外的信息。扩展方案使得IPv6比IPv4更灵活,意味着随时能在设计中增加所需的新特征。
2 IPV6的安全机制与体系结构
2.1 计算机安全与网络安全技术概述
安全机制是决策的集合,它们集中体现了一个组织对安全的态度。更准确的说,安全机制对于可接受的行为以及应对违规做出何种响应确定了界限。[3]
要保护数据就必须小心防范可能的攻击。人们通常只会注意来自外部网络的攻击,而真正的安全机制需要考虑很多其它的问题。要特别注意的方面包括:篡夺权限(盗取密码)、IT系统管理权限的不当或错误使用、滥用权限、软件的薄弱点(在运行超级用户以上级别的应用程序时缓存、堆栈溢出)、网络监听或消息重发、特洛伊木马、病毒和蠕虫等、安全攻击,比如伪装、IP欺骗、DoS攻击或中间人攻击、路由的误用等。
实际上,数据表明来自外部的恶意攻击只占对计算机和网络威胁的一小部分。很多攻击来自内部,并且与人们不正确的使用权限有关。[7]
IPv4的目的只是作为简单的网络互通协议,因而其中没有包含安全特性。
对于安全性,可以定义如下三个公认的目标[2]:
1)身份验证:能够可靠地确定接收到的数据与发送的数据一致,并且确保发送该数据的实体与其所宣称的身份一致;
2)完整性:能够可靠地确定数据在从源到目的地传送的过程中没有被修改;
3)机密性:确保数据只能为预期的接收者使用或读出,而不能为其他任何实体使用或读出。
完整性和身份验证经常密切相关,而机密性有时使用公共密钥加密来实现,这样也有助于对源端进行身份验证。
IPv6的安全机制主要表现在以下几个方面[9]:
1)将原先独立于IPv4协议族之外的报头认证和安全信息封装作为IPv6的扩展头置于IPv6基本协议之中,为IPv6网络实现全网安全认证和加密封装提供了协议上的保证。IPv6中通过身份验证头(AH)和封装安全性净荷(ESP)头来实现身份验证和安全性,包括安全密码传输、加密和数据包的数字签名。
2)地址解析放在ICMP(Internet Control Message Protocol)层中,这使得其与ARP(Address Resolution Protocol)相比,与介质的偶合性更小,而且可以使用标准的IP认证等安全机制。
3)对于协议中的一些可能会给网络带来安全隐患的操作,IPv6 协议本身都做了较好的防护。例如:因为一条链路上多个接口同时启动发送邻居请求消息而带来的链路拥塞隐患,IPv6采用在一定范围内的随机延时发送方法来减轻链路产生拥塞的可能,这同时也减少了多个节点在同一时间竞争同一个地址的可能。
4)除了IPSec和IPv6本身对安全所做的措施之外,其他的安全防护机制在IPv6上仍然有效。诸如:NAT-PT(Net Address Translate-Protocol Translate)可以提供和IPv4中的NAT相同的防护功能;通过扩展的ACL(Access Control List)在IPv6上可以实现IPv4 ACL所提供的所有安全防护。另外,基于VPLS(Virtual Private LAN Segment)、VPWS(Virtual Private Wire Service)的安全隧道和VPN(Virtual Private Network)等技术,在IPv6上也可以完全实现。
2.2 IPv6安全机制
如前所述,IPSec安全性服务完全通过AH(Authentication Header)和封装安全性净荷(Encapsulating Security Payload Header,ESP )头相结合的机制来提供,当然还要有正确的相关密钥管理协议。RFC 4302(IP身份验证头)中对AH进行了描述,而ESP头在RFC 4303和RFC 4305(IP封装安全性净荷( ESP ) )中描述。上述RFC及IP安全性体系结构RFC仅仅是解决安全性问题的第一步。
各安全性头可以单独使用,也可以一起使用。如果一起使用多个扩展头,AH应置于ESP头之前,这样,首先进行身份验证,然后再对 ESP头净荷解密。使用IPSec隧道时,这些扩展头也可以嵌套。即,源节点对 IP包进行加密和数字签名,然后发送给本地安全性网关,该网关则再次进行加密和数字签名,然后发送给另一个安全性网关。
实际上,AH和ESP头既可以用于IPv4,也可以用于IPv6,这一点很重要。
AH认证支持hmac_md5_96、hmac_sha_1_96认证加密算法,ESP封装支持DES_CBC、3DES_CBC以及Null等三种算法。[13]
3 IPv6安全性应用的现实性分析
IPv6网络在安全性上对IPv4的优势并不如我们预计的那么大。很多已知的在IPv4上实现的攻击,在IPv6上一样能够实现,因此,我们用来保护数据的方式实际上也差不多。如同IPv4一样,迟早会有恶意的攻击者找到新方法来攻入网络。网络攻防就像常说的矛和盾,此消彼长。另外有一点必须指出的是,大多数操作系统内的IPv6是很容易配置的,某些时候隧道模式会作为缺省模式被激活。
如果我们使用检测系统对MAC头 0x86DD或者对IPv4协议字段41协议进行监控,我们会发现网络上原来已经有数量庞大的计算机开始使用IPv6系统了。
3.1 公钥传递
RFC 4301规定了IPv6协议的IPSec需求,但并没有提及密钥是如何交换的。我们可以手动设定主密钥,但是在大规模应用时,这项工作会非常耗时。因此,在这种条件下,应该使用一台中心授权服务器。根据目前能了解到的应用情况,这种中心授权服务器还有很多细节问题需要解决,比如和RFC 4306规定的IKEv2协议的冲突问题。
3.2 防火墙和入侵检测系统
端到端的IPSec是IPv6的主要优点之一,然而,如果使用ESP加密,那么已有的防火墙就可能发生问题:假如包是端到端加密,那么防火墙或者路由器如何在不解密的条件下来进行包的检测呢?把所有的加密密钥放在一个中心位置也会使网络出现中心薄弱环节。一个比较好的解决方案是,使用一个服务器来存储攻击者或进行了网络异常分析工作计算机的数据库,客户机下载这些数据库,数据计算机自己对包进行扫描,如果发现了和数据库相符的内容,就向中心服务器报警。
3.3 兼容性
互联网的普及使IPv4向IPv6的过渡需要很长一段时间才能完成。IPv6也不仅仅是对IPv4的简单升级,因为头部特征和配址机制的不同,这两种协议是互不兼容的。因此,IPv4如何平滑地过渡到IPv6是必须解决的一个问题。[10]
近年来的实践过程中,屡屡出现本来在IPv4系统中工作正常的设备、软件在采用IPv6协议后出现问题的事件。根据报道,如果IGMP snooping置为有效,那么有些交换机会无法传送IPv6的多播包。使用VLAN站点并使用ISL加密,那么IPv6会不能正常工作。[8]同时,传统上被认为固若金汤的BSD系统,也在处理IPv6封包的程式码中,存在某种存储器损毁的弱点,可能造成系统被攻击者控制的高危险,“该项弱点可让黑客避开操作系统内建的所有安全机制”。[12] Juniper networks使用ipv6的m系列及t系列路由器,由于“内存溢漏”(memory leak),可以让攻击者发动DoS攻击。[11]
因此,业界还要花费大量的精力和财力来进行已有系统的兼容性试验,避免出现不可预知的严重损失。
4 IPv6的企业安全性模型
近年来,由于业务需要,NAT越来越多地被使用,与此而来的还有IPv4网络端对端透明的缺失和安全性的降低。IPv6可以部分地解决这一问题。如果要对外部隐藏网络拓扑结构是必须的话,那么应该使用如RFC 3041规定的诸如private addressing技术等,而不能再继续使用NAT技术。
在传统的IPv4网络中,标准的安全性模型是集成化的NAT和边界防火墙的使用。在IPv6网络里,应该设计一个更先进的安全模型来改善整个网络的安全,与此同时还要促进端对端的联络能力。IPv6的每个节点都具有IPSec能力。仅仅依赖一个防火墙是不可靠的。假如入侵者进入了防火墙背后的网络,那么一切都将是一览无余的非加密内容。要建立完善的模型,必须将中心安全策略仓库、可信主机和节点结合起来,使三方共同作用,建立一个以网络ID为基础的身份验证网络系统。防火墙仍然可以使用,但以现在的观点而言,仅仅以边界防火墙来进行企业级防护是不够的,边界防火墙还要和节点级防火墙相互作用,形成综合性分布式防火墙网络。
参考文献:
[1] Naganand Doraswamy.IPSEC:新一代因特网安全标准[M].北京:机械工业出版社,1999.12.
[2] Pete Ldshin.IPv6详解[M].北京:机械工业出版社,2000.4.
[3] William R.Cheswick.防火墙与因特网安全[M].北京:机械工业出版社,2000.4.
[4] Tamara Dean.计算机网络实用教程[M].北京:机械工业出版社,2000.9.
[5] Douglas E.Comer.计算机网络与因特网[M].北京:机械工业出版社,2005.9.
[6] Michael Palmer.局域网与广域网的设计与实现[M].北京:机械工业出版社,2000.8.
[7] Silvia Hagen.IPv6 Essentials[M].OReilly,2006.4.
[8] David Malone, Niall Murphy.IPv6 Network Administration[M].OReilly,2005.4.
[9] 关于IPv6安全网络的架构分析问题,http://cisco.ccxx.net/cisco/601.html.
[10] IPv4到IPv6的演进策略,http://cisco.ccxx.net/cisco/4109.html.
[11] 陶蓉.Juniper路由软件出现漏洞IPv6应慎行[J].通信世界报,2004.11.
[12] OpenBSD发现IPv6安全漏洞,http://bbs.mychat.to/read.php?tid=608036.
[13] 中兴通讯股份有限公司.谈IPv6网络的协议安全和安全机制,http://cisco.ccxx.net/cisco/2140.html.