基于IPSec的VPN安全技术研究

时间:2022-10-24 03:52:09

基于IPSec的VPN安全技术研究

摘要:介绍了SSL VPN和IPSec VPN安全工作原理,并对IPSec的加密、认证、密钥管理等安全保护方法作了详细研究,并论证了基于IPSec的VPN的安全性。

关键词:IPSec VPN;AH;ESP;SSL VPN;IKE

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)24-6652-03

Security Research of VPN Based on IPSec

GUO Xu-zhan

(Computer and Information Technology College, Xinyang Normal University, Xinyang 464000, China)

Abstract: SSL VPN and IPSec VPN security technology principles are introducedin this paper. Andcarried out a detailedstudy and research on the encryption, authentication, key management of IPSec, research the security of IPSec VPN.

Key words: IPSec VPN; AH; ESP; SSL VPN; IKE

随着经济的不断发展,企业的信息化进程也在逐渐加快,为了保证企业机密信息在远距离传输过程中的安全,可以采用专线式广域网络传输数据,但是这样的方案耗资巨大,不符合成本-效益原理。因此VPN (虚拟专用网络)技术应运而生。VPN是以Internet为平台,建立起在安全技术保护下的虚拟专用网络,并且此虚拟网络提供与专用网络相同的功能、安全性、易于管理等特点,是原有专用网络的替代方案,更为符合成本-效益原理。通过VPN可以帮助远程用户、公司分支机构、商业伙伴及供应商等外部用户透过公用网与公司的内部网建立可信的安全连接,并保证数据的安全传输。将企业专用网上的数据加密封装后,透过虚拟专用网络进行传输,可以防止敏感数据被窃。VPN技术发展非常迅速,目前组建技术多种多样,比较常见的有SSL、IPSec、L2TP等。只有在充分了解这些协议的基础上,才能根据需求组建不同保护功能地VPN。

1 SSL安全协议

SSL[1-2]协议工作在传输层,它分为两层:SSL握手协议和SSL记录协议。使用SSL协议组建的VPN称为SSL VPN。

1.1 SSL握手协议

SSL握手协议[3]用于在通信双方建立安全传输通道,可以实现以下功能:

1) 在客户端验证服务器,SSL协议采用公钥方式进行身份认证;

2) 在服务器端验证客户(可选);

3) 客户端和服务器之间协商双方都支持的加密算法和压缩算法,可选用的加密算法包括:IDEA、RC4、DES、3DES、RSA、DSS、MD5等;

4) 产生对称加密算法的会话密钥;

5) 建立加密SSL连接。

1.2 SSL记录协议

SSL记录协议[4]从高层接收到数据后要经过分段、压缩和加密处理,再发送出去。在SSL协议中,所有的传输数据都被封装在记录中,SSL记录协议规定了记录头和记录数据的格式。每个SSL记录包含以下信息:1) 内容类型:指SSL的高层协议;2) 协议版本号:指所用的SSL协议版本号;3) 长度:指记录数据的长度,最大长度为16383字节;4) 数据有效载荷:将数据进行压缩和加密处理后的结果;5)MAC:MAC在有效数据被加密之前计算出来并放入SSL记录中,用于进行数据完整性检查。

SSL VPN 最大的好处就是不需要安装客户端程序,由于只通过 443 端口作为唯一的传输通道,因此管理员不需要在防火墙上作任何修改,从而最大限度的减少了分发和管理客户端软件的麻烦,降低了系统部署成本和 IT 部门日常性的管理支持工作费用。SSL VPN 能保证在任何地方访问基于 TCP 应用程序的安全,包括 Web 和 C/S 应用,传统的应用程序,网络文件传输和共享,终端服务,电子邮件服务以及 PDA 等手持无线设备。

然而SSL VPN也有其缺点:它不适用做点对点的 VPN,后者通常是使用 IPsec 技术,SSL VPN 需要开放网络防火墙中的 HTTPS 连接端口,以使 SSL VPN 网关流量通过,SSL VPN 通常需要其他安全配置,例如用第三方技术验证“非信任”设备的安全性(包括其他信息站或家用计算机)。

2 IPsec 协议与隧道技术

2.1 隧道技术简介

隧道[5]是网络通信常用的一种模式,在公用网络中,通信两端之间建立的虚拟专用网络,就是一种隧道技术的运用。隧道技术包括封装、传输及解除封装等几个方面。目前常见的隧道技术有IPsec 隧道模式、IPX 隧 道、点对点隧道协议PPTP和第二层隧道协议L2TP等。其中效果最好,应用最广泛的就是IPsec。

隧道由用户终端及服务器端构成,两端必须使用相同的隧道协议(tunnel protocol)。隧道传输协议用来传送数据,隧道维护协议用于管理隧道。隧道工作于OSI 参考模型的第二层或第三层,第二层对应到数据链路层,以帧为单元交换信息。PPTP、 L2TP都是第二层的隧道协议,数据被封装在点对点通讯协议 (PPP)帧中,再以隧道协议封装,继而通过网络传送。第二层隧道协议可以实现如下功能:用户验证、动态地址指派、数据压缩、数据加密等。第三层对应到网络层,以信息分组为信息交换单位,包括IPX及 IPsec 隧道模式,IP 信息分组被处理(如压缩、加密)后,封装上额外的 IP标头,然后再通过 IP网络传送。

2.2 IPSec的基本概念

IPSec 协议定义了通过公共网络时实现安全通信的规范,通过在 IP 数据包中增加字段来保证 IP 数据包的完整性、私有性和真实性以及采用的加密方法。IPsec协议集合了多种安全技术,从而能确保建立一个安全的通信隧道。

IPSec 提供以下几个方面的网络安全服务:

(1) 私有性:IPSec 通过加密数据包,保证数据的安全性。

(2) 完整性:IPSec 能在目的地验证数据包,保证数据包没有被替换。

(3) 真实性:IPSec 端验证所有加密数据包,保证加密正确。

(4) 反重复:IPSec 通过序列号防止数据包被捕捉。

IPSec协议实现过程如图1所示。

IPsec实施方案主要包括以下几个组件:

1) IPSec 基本协议:包括ESP 和AH,用于处理数据包头,通过与SPD和SADB交互,决定为数据包提供的安全措施。

2) SPD:SPD决定了对数据包是否采用安全措施以及外来数据包的安全措施是否符合策略配置。

3) SADB:SADB 为数据包的出入处理维持一个活动列表。以确保数据包的安全受到IPSec的保障。SADB由各个SA 聚集构成,通常由IKE 等自动密钥管理系统来进行。

4) IKE: IKE 代表IPSec 对SA 进行协商,并对SADB 数据库进行填充。

5) 策略和SA 管理:对策略和SA 进行管理。

2.3 IPSec 组件功能

IPsec 安全体系结构中包括了三个最基本的协议:AH协议,为 IP 包提供信息源验证和完整性保证;ESP协议,提供加密保证;密钥管理协议ISAKMP,提供双方交流时的共享安全信息。ESP和 AH 协议具备相关的一系列支持文件,规定了加密和认证的算法。信息分组通过这两种转换协议得以加密保护。其实现方式分为隧道模式(Tunnel Mode)和传输模式(Transport Mode)两 种 。IPSec的组件构成如图2所示。

2.3.1 AH 与 ESP

确认性标头AH [6](Authentication Header)用来保证IP包的信息的完整性和准确性。AH 既可以单独使用,也可在隧道模式下和 ESP联用。AH支持传输模式(Transport Mode)和隧道模式(Tunnel Mode)。AH利用在 Header 和信息分组之间添加验证链接,来验证该信息分组的发送用户身份。AH协议不加密所保护的数据包,它只为IP数据流提供高强度的密码认证,以确保被修改的数据包可以被检查出来。为此AH必须包含对 HMAC的支持(Keyed-Hashing for Message Authentication)。

植入安全载荷ESP[7] (Encapsulating Security Payload)主要用来处理对 IP 信息分组的加密,同时也可进行认证。为了保证通信中的互操作性, ESP规范规定要强制实现56位的DES 加密算法,同时ESP与具体的加密算法是相互独立的,几乎可以支持各种对称密钥加密算法,例如DES,Triple DES,RC5 等。ESP在隧道模式和传输模式中的作用是不同的,在隧道模式中,整个IP数据包都被ESP封装和加密。真正的IP源地址和目的地址被隐藏为Internet发送的普通数据。而在传输模式中,只有更高层协议帧(TCP、UDP、ICMP等)被放到加密后的IP数据报的ESP负载部分,在这种模式中,源和目的IP地址以及所有的IP包头域都是不加密发送的。

ESP 协议数据单元格式由三部分组成:头部、加密数据、可选尾部。头部有两个域:安全策略索引(SPI)和序列号SN (Sequence Number)。使用 ESP 进行安全通信之前,通信双方需要先协商加密策略,包括使用的算法、密钥以及密钥的有效期等。安全策略索引用来标识发送方的加密策略,接收方可采用相应策略对收到的 IP 信息分组处理。“序列号”用来区分不同信息分组。加密数据部分除了包含原 IP 信息分组的有效负载, 填充域 (用来保证加密数据部分满足块加密的长度要求),其余部分在传输时都是加密过的。ESP结构如图3所示。

2.3.2 IKE

自动密钥交换IKE[8](IPsec Key Exchange)用于动态验证IPSec通信双方的身份、协商安全服务以及生成安全密钥。有了IKE ,密钥在使用一段时间后可以作废,并重新生成密钥。这样,限制了每个密钥所保护的数据量,增强了IPSec 的安全性。IKE协商的参数同协议本身是分隔开的,在IPsec协议中IKE协商的参数被归于一个单独的IKE参数文档内。

IKE 定义了两个阶段的协议:第一阶段生成 IKE 自身的加密和验证标头,第二阶段 IKE 快速生成和刷新IPsec 的加密和验证标头。 IPsec 和 IKE 通过接口层进行交互,IPsec 通过接口层向 IKE 发出生成或刷新 IPsec 的加密和验证标头的请求,IKE通过接口层向 IPsec 传送加密和验证标头。

2.3.3 密钥管理协议 ISAKMP

IPSec采用ISAKMP[9](Internet Security Association and Key Management Protocol)作为管理协议的框架。ISAKMP 是一个应用层协议,它不仅可管理 IPSec协议所辖的安全联结和密钥,而且也适应于其他网络安全协议。ISAKMP 协议定义了通信双方的认证过程,安全联结的建立、修改和删除过程及相应的报文格式。一次 ISAKMP 会话分为两个阶段:

第一阶段,会话双方协商建立一个ISAKMP 的安全联结,用来保护它们自身的通信。会话双方通过基于公钥加密算法的数字签名完成相互认证。具体的认证步骤由相应的认证协议来规定,ISAKMP定义了一个认证时应遵循的报文格式。

第二阶段,双方协商建立其他安全联结。IPSec 使用因特网密钥交换协议 IKE(Internet Key Exchange)来完成会话密钥的生成。IKE 规定了自动验证 IPSec 对等实体、协商安全服务和产生共享密钥的标准。IKE 采用 ISAKMP 报文格式,并综合了 Oakley 和 SKEME 密钥交换协议的优点,使用 Diffie-Hellman 算法来生成会话密钥。

3 IPSec 安全特点

IPsec 产生于 IPv6 的制定过程中,用于提供 IP 层的安全性。由于所有支持TCP/IP 协议的主机进行通信时,都要经过 IP 层的处理,所以提供了 IP 层的安全性就相当于为整个网络提供了安全通信的基础。在IPSec 协议中,一旦IPSec 通道建立,所有在网络层之上的协议在通信双方都经过加密,如TCP、UDP、SNMP、HTTP、POP 等,而不管这些协议构建时所采用的安全和加密方法如何。IPsec 协议弥补了 IP 层的安全缺陷,定义了针对 IP 分组(信息分组)的加密标头和验证标头,以及如何添加和拆分这些标头。同时IPSec支持各种对称密钥加密算法,这就使得数据传输的加密保护灵活多样,提高了数据的安全性。

4 结束语

通过以上分析,可以看出IPSec因其安全性和灵活性,已经成为构建VPN的首选。IPSec能对IP数据包的安全提供足够的保护,大大加强了Internet传输信息的安全性,为VPN的建立提供了坚实的基础,同时大大降低了网络费用。未来的VPN技术将在IPSec的基础上得到更大的发展。

参考文献:

[1] 李塑京.SSL的原理和应用[J].微型机与应用,2000,11:34-35.

[2] 冯登国.计算机通信网络安全[M].北京:清华大学出版社,2001.

[3] 金仑,谢俊元.基于SSL协议的可信应用及实现[J].计算机应用研究,2006,(1):103-105.

[4] 马英杰,肖丽萍,何文才,李彦兵.SSL协议分析及其在Web服务应用中的改进[J].微处理机,2005,12:31-33.

[5] 刘铁民,孙伟.VPN网络隧道技术的研究[J].电信工程技术与标准化,2003(12):55-57.

[6] S. Kent, R. Atkinson. IP Authentication Header. RFC2402 IETF[S].1998,11:1-68.

[7] S. Kent, R. Atkinson, IP Encapsulating Security Payload. RFC2406 IETF[S].1998,11:1-57.

[8] S. Kent, R. Atkinson, The Internet Key Exchange. RFC2409 IETF[S].1998,11:1-58.

[9] D.Maughan, M.Schertler, M.Schneider. Internet Security Association andkey Management Protocel (ISAKMP). RFC 2408, IETF[S].1998,11: 1-87.

上一篇:药品说明书的Web管理系统的设计 下一篇:浅析移动通信发展