摘要:介绍了网络协议的层次结构及TCP/IP协议。针对TCP/IP协议的弊端,提出了IPSec安全机制。着重讨论了IPSec的主要协议的安全技术、IPSec工作原理及实现方式。。
关键词: TCP/IP;IPSec;AH; ESP;SA;ISAKMP
1 概述
随着计算机的网络化和全球化,越来越多的个人电脑和局域网连到Internet上。人们日常生活中的许多活动将逐步转移到网络上来。网络所涉及的领域越来越大越宽,包括政府事务、国防、金融、工商业等社会生活的各个方面。由于Internet是一个开放的网络,所以缺少可靠的安全性保证。近年来,在网络上窃取信息、窜改数据和非法攻击等对系统使用者及全社会造成的危害和损失特别巨大,并且日益增加,网络安全问题将是我们不得不面临的重要问题。如果安全问题不能有效的解决,将严重阻碍网络的进一步发展。网络分为多个层次,必须从多个层次和多个方面考虑网络的安全性,从而增加网络遭受攻击的难度,减少网络遭受攻击的可能性,达到保证网络安全的目的。
目前使用最广泛的网络协议是TCP/IP协议,而TCP/IP协议恰恰存在安全漏洞。如 IP层协议就有许多安全缺陷。IP地址可以软件设置,这就造成了地址欺骗安全隐患。安全是Internet的重要问题之一。在Internet上的任何信息都是通过IP进行传送的。IP是不可靠的,也是不安全的。在信息传输过程中,IP可以被仿造、审改、窃听。可见,TCP/IP协议虽然得到广泛应用,但是它存在许多弊端。IPSec协议是一个范围广泛、开放的VPN安全协议,工作在OSI模型中的第三层——网络层。它提供所有在网络层上的数据保护和透明的安全通信。IPSec协议可以设置成在两种模式下运行:一种是隧道模式,一种是传输模式。在隧道模式下,IPSec把IPv4数据包封装在安全的IP帧中。传输模式是为了保护端到端的安全性,不会隐藏路由信息。1999年底,IETF安全工作组完成了IPSec的扩展,在IPSec协议中加上了ISAKMP协议,其中还包括密钥分配协议IKE和Oakley。对于采用NAT方式访问公共网络的情况难以处理。适用场合:最适合可信LAN到LAN之间的VPN。
2 IPSec安全机制
lPSec是一个安全协议簇,为信息提供认证和加密机制。认证机制使lP通信的数据接收方能够确认或辨别数据发送方的真实身份,以及数据在传送过程中是否被修改过。加密机制通过对数据进行编码来保证数据的机密性,以防止数据在传输过程中被他人截获而失密。。 在TCP/IP协议中只有IP协议是横跨整个层次的,所有上层软件都必须通过IP层传输外出数据,而所有下层协议接收到的信息首先必须交给IP层处理。这充分体现了IP协议的重要地位。作为通用的数据传输手段,IP协议可以说是TCP/IP协议簇的核心。正因为IP协议的重要性和地位,以及自身存在的安全问题,IP协议成为受攻击的对象。入侵者很容易伪造lP数据报的地址,截获传输中的IP数据报,并查看其中的内容,甚至对内容进行修改,再重传。接收者无法确保接收到的数据报是来自正确的发送者,也无法确保所收到的信息就是原始数据或信息是否被人偷看过。。
IPSec安全协议,是一组开放协议的总称,是一种在IP环境下支配安全管理的标准技术,由Internet工程任务组开发。其设计的目的是在Internet上建立安全的IP连接,用来填补目前 Internet在安全方面的空白。IPSec能够减少利用IP欺骗进行Internet攻击的威胁,可以大大促进对安全要求严格的应用。IPSec网络安全协议,为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,可以有效抵御网络攻击,同时保持易用性。IPSec有两个基本目标:保护IP数据包安全;为抵御网络攻击提供防护措施。
2.1 IPSec提供以下安全服务:
私有性 IPSec在传输数据包之前将其加密,以保证数据的私有性。
完整性 IPSec在目的地要验证数据包,以保证该数据包在传输过程中没有被替换。
真实性 IPSec端要验证所有受IPSec保护的数据包。
反复性 IPSec防止了数据包被捕捉并重新投放到网络上,即目的地会拒绝老的或重复的数据包。
IPSec协议包括ESP(Encapsulating Security Payload)封装安全负载、AH(Authentication Header)报头验证协议及IKE(Internet Key Exchange)密钥管理协议等,其中AH协议能够提供无连接的完整性、数据发起验证及重放保护,ESP主要用于提供额外的加密保护,而IKE则主要提供安全加密算法与密钥协商。这些机制均独立于算法,协议的应用与具体加密算法的使用均可取决于用户及应用程序的安全性要求。因此,IPSec是一个开放性的安全标准框架,可以在一个公共IP网络上确保数据通信的可靠性和完整性,能够保障数据安全穿越公网而没有被侦听或窃改之虞,为实现通用安全策略所需的基于标准的解决方案提供了理想的应用框架。而且IPSec的部署极为简便,只需安全通道两端的路由器或主机支持IPSec协议即可,几乎无需对网络现有基础设施进行任何更动。IPSec的优势主要表现为可以对所有IP级的通信进行加密和认证,可以为IP提供基于加密的互操作性强、高质量的通信安全,所支持的安全服务包括存取控制、无连接的完整性、数据发起方认证和加密。这正是IPSec协议能够确保包括远程登录、客户机、服务器、电子邮件、文件传输及Web访问在内多种应用程序安全的主要依托。
2.2 IPSec的优点
IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会被影响。 IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。如果需要的话,IPSec可以为个体用户提供安全保障,这样做就可以保护企业内部的敏感信息。 IPSec正向Internet靠拢。已经有一些机构部分或全部执行了IPSec。IAB的前任总裁Christian Huitema认为,关于如何保证Internet安全的讨论是他所见过的最激烈的讨论之一。讨论的话题之一就是安全是否在恰当的协议层上被使用。想要提供IP级的安全,IPSec必须成为配置在所有相关平台(包括Windows NT,Unix和Macintosh系统)的网络代码中的一部分。
实际上,现在发行的许多Internet应用软件中已包含了安全特征。例如,Netscape Navigator和Microsoft Internet Explorer支持保护互联网通信的安全套层协议(SSL),还有一部分产品支持保护Internet上信用卡交易的安全电子交易协议(SET)。然而,VPN需要的是网络级的功能,这也正是IPSec所提供的。
2.3 IPSec工作原理
IPSec提供三种不同的形式来保护通过公有或私有IP网络来传送的私有数据:
认证:可以确定所接受的数据与所发送的数据是一致的,同时可以确定申请发送者在实际上是真实发送者,而不是伪装的。
数据完整:保证数据从原发地到目的地的传送过程中没有任何不可检测的数据丢失与改变。
机密性:使相应的接收者能获取发送的真正内容,而无意获取数据的接收者无法获知数据的真正内容。
在IPSec由三个基本要素来提供以上三种保护形式:认证协议头(AH)、安全加载封装(ESP)和互联网密钥管理协议(IKMP)。认证协议头和安全加载封装可以通过分开或组合使用来达到所希望的保护等级。
对于IPSec来说,认证和加密都是必需的,因为只有双重安全措施才能确保未经授权的用户不能进入VPN,同时,Internet上的窃听者无法读取网络上传输的信息。大部分的应用实例中都采用了ESP而不是AH。密钥交换功能允许手工或自动交换密钥。
当前的IPSec支持数据加密标准(DES),但也可以使用其它多种加密算法。因为人们对DES的安全性有所怀疑,所以用户会选择使用Triple-DES(即三次DES加密)。至于认证技术,将会推出一个叫作HMAC(MAC 即信息认证代码Message Authentication Code)的新概念。
认证协议头(AH)是在所有数据包头加入一个密码。正如整个名称所示,AH通过一个只有密钥持有人才知道的"数字签名"来对用户进行认证。这个签名是数据包通过特别的算法得出的独特结果;AH还能维持数据的完整性,因为在传输过程中无论多小的变化被加载,数据包头的数字签名都能把它检测出来。不过由于AH不能加密数据包所加载的内容,因而它不保证任何的机密性。两个最普遍的AH标准是MD5和SHA-1,MD5使用最高到128位的密匙,而SHA-1通过最高到160位密匙提供更强的保护。
安全加载封装(ESP)通过对数据包的全部数据和加载内容进行全加密来严格保证传输信息的机密性,这样可以避免其他用户通过监听来打开信息交换的内容,因为只有受信任的用户拥有密匙打开内容。ESP也能提供认证和维持数据的完整性。最主要的ESP标准是数据加密标准(DES),DES最高支持56位的密匙,而Triple-DES使用三套密匙加密,那就相当于使用最高到168位的密匙。由于ESP实际上加密所有的数据,因而它比AH需要更多的处理时间,从而导致性能下降。
密钥管理包括密钥确定和密钥分发两个方面,最多需要四个密钥:AH和ESP各两个发送和接收密钥。密钥本身是一个二进制字符串,通常用十六进制表示,例如,一个56位的密钥可以表示为5F39DA752E0C25B4。注意全部长度总共是64位,包括了8位的奇偶校验。56位的密钥(DES)足够满足大多数商业应用了。密钥管理包括手工和自动两种方式。
人工手动管理方式是指管理员使用自己的密钥及其它系统的密钥手工设置每个系统。这种方法在小型网络环境中使用比较实际。手工管理系统在有限的安全需要可以工作得很好。使用手工管理系统,密钥由管理站点确定然后分发到所有的远程用户。真实的密钥可以用随机数字生成器或简单的任意拼凑计算出来,每一个密钥可以根据集团的安全政策进行修改。
自动管理系统能满足其他所有的应用要求。使用自动管理系统,可以动态地确定和分发密钥,显然和名称一样,是自动的。自动管理系统具有一个中央控制点,集中的密钥管理者可以令自己更加安全,最大限度的发挥IPSec的效用。 另一方面,自动管理系统可以随时建立新的SA密钥,并可以对较大的分布式系统上使用密钥进行定期的更新。自动管理模式是很有弹性的,但需要花费更多的时间及精力去设置,同时,还需要使用更多的软件。
IPSec的自动管理密钥协议的默认名字是ISAKMP/Oakley。互联网安全组织及密钥管理协议(Internet Security Association and Key Management Protocol ISAKMP)对互联网密钥管理的架构以及特定的协议提供支持。Oakley 密钥使用的协议基于Diffle-Hellman 算法,但它也提供额外的安全功能。特别是Oakley包括认证用户的机制。
2.4 IPSec实现方式
IPSec的一个最基本的优点是它可以在共享网络访问设备,甚至是所有的主机和服务器上完全实现,这很大程度避免了升级任何网络相关资源的需要。在客户端,IPSec架构允许使用在远程访问介入路由器或基于纯软件方式使用普通MODEM的PC机和工作站。通过两种模式在应用上提供更多的弹性:传送模式和隧道模式。
IPSec数据包可以在压缩原始IP地址和数据的隧道模式使用。
传输模式通常当ESP在一台主机(客户机或服务器)上实现时使用,传输模式使用原始明文IP头,并且只加密数据,包括它的TCP和UDP头。
隧道模式通常当ESP在关联到多台主机的网络访问介入装置实现时使用,隧道模式处理整个IP数据包:包括全部TCP/IP或UDP/IP头和数据,它用自己的地址做为源地址加入到新的IP头。当隧道模式用在用户终端设置时,它可以提供更多的便利来隐藏内部服务器主机和客户机的地址。
ESP 支持传输模式,这种方式保护了高层协议。传输模式也保护了IP包的内容,特别是用于两个主机之间的端对端通讯(例如,客户与服务器,或是两台工作站)。传输模式中的ESP加密及有时候会认证IP 包内容,但不认证IP的包头。这种配置对于装有IPSec的小型网络特别有用。
但是,要全面实施VPN,使用隧道模式会更有效。ESP也支持隧道模式,保护了整个IP包。为此,IP包在添加了ESP字段后,整个包以及包的安全字段被认为是新的IP包外层内容,附有新的IP外层包头。原来的(及内层)包通过“隧道”从一个IP网络起点传输到另一个IP网点,中途的路由器可以检查IP的内层包头。因为原来的包已被打包,新的包可能有不同的源地址及目的地址,以达到安全的目的。
隧道模式被用在两端或是一端是安全网关的架构中,例如装有IPSec的路由器或防火墙。使用了隧道模式,防火墙内很多主机不需要安装IPSec 也能安全地通信。这些主机所生成的未加保护的网包,经过外网,使用隧道模式的安全组织规定(即SA,发送者与接收者之间的单向关系,定义装在本地网络边缘的安全路由器或防火墙中的IPSec软件IP交换所规定的参数)传输。
以下以隧道模式的IPSec运作为例子进一步说明它的工作方式。某网络的主机甲生成一个IP包,目的地址是另一个网中的主机乙。这个包从起始主机被发送到主机甲的网络边缘的安全路由器或防火墙。防火墙把所有出去的包过滤,看看有哪些包需要进行IPSec的处理。如果这个从甲到乙的包需要使用IPSec,防火墙就进行IPSec的处理,并把网包打包,添加外层IP包头。 这个外层包头的源地址是防火墙,而目的地址可能是主机乙的网络边缘的防火墙。现在这个包被传送到主机乙的防火墙,中途的路由器只检查外层的IP包头。主机乙网络的防火墙会把外层IP包头除掉,把IP内层发送到主机乙去。
3 体会
IPSec是一个开放式的网络安全标准,为上层协议提供强大的安全保护功能。它被广泛应用于VPN、路由安全等领域。由于IPSec是一个新的网络安全标准,它与其他防火墙技术的叠加可能带来一些前所未有的问题。一个简单的例子是防火墙可能要提供地址翻译功能,即把一些内部的非全局有效IP地址在出口处转换成为全局有效的合法Ip地址。但是这对于IPSec 来说是一种IP地址欺骗行为,IPSec不能允许这种情况的出现。经过地址翻译的IP包如果不能通过AH地址认证将被抛弃;反之,如果地址翻译成功地绕过了IPSec的IP地址认证,则有可能造成一定的危险:一个躲藏在防火墙后面的破坏者可以利用地址翻译进行事后抵赖型破坏活动。IPSec可以提出针对这一漏洞,提出更有效的解决办法。例如:在AH地址认证时,加一个IP地址翻译检测功能,可以设置一个校验位,检测此IP地址是否是经过转换得到的,若是,则进一步检测该IP地址是否存在欺骗性,若存在,则拒绝通过;若IP地址不是经过转换得到的,再进行AH地址认证。总之, IPSec安全体系还有待完善和发展。
随着计算机技术和通信技术的发展,计算机网络将日益成为工业、农业和国防等方面的重要信息交换手段,渗透到社会生活的各个领域。因此,认清网络的脆弱性和潜在威胁,采取强有力的安全策略,对于保障网络的安全性将变得十分重要。
参考文献:[1] 赵季中,等,对基于TCP/IP协议的几个网络安全问题的分析和讨论,计算机应用研究,2000,(4)
[2] 李向丽,等,IPSec协议安全机制探讨,计算机应用研究 ,2002,(5)58-60
[3] 谢希仁,计算机网络(第三版),大连理工大学出版社,2000,316-317
