1、基于 IPSec 的 VPN 网关技术摘要:本文阐述了 VPN 网络工作的基本原理,实现 VPN 网络的关键技术, VPN 网络主要是通过 IPSec 协议来实现,介绍了封装安全载荷(ESP 协议)和验证头(AH 协议) ,阐述了 ESP 协议和 AH 协议对信息进行加密和验证的过程,最后给出了一种利用是在 IP 层与链路层间插入IPSec 处理模块实现 VPN 网关的方案。 关键词:网络安全;IPSec 协议;VPN 中图分类号:TN915.08 文献标识码:A 1 VPN 网络的基本原理1 VPN 区别于一般网络互联的关键在于隧道的建立,然后数据包经过加密后,按隧道协议进行封装、传送以保安
2、全性。一般在数据链路层实现数据封装的协议叫第二层隧道协议,常用的有 PPTP、L2TP 等;在网络层实现数据封装的协议叫第三层隧道协议,如 IPSec;另外,SOCKS v5 协议则在 TCP 层实现数据安全。基于 IPSec 协议的 VPN 成为现在的发展方向,由 IPSec 协议提供隧道安全保障。IPSec 是一种由 IETF 设计的端到端的确保基于 IP 通讯的数据安全性的机制。IPSec 支持对数据加密,同时确保数据的完整性。按照 IETF 的规定,不采用数据加密时,IPSec 使用验证包头(AH)提供验证来源验证(source authentication) ,确保数据的完整性;IP
3、Sec 使用封装安全负载(ESP)与加密一道提供来源验证,确保数据完整性。 2 VPN 网络的功能及关键技术 一般的 VPN 网络都至少提供这几个功能:(1)加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。 (2)信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。 (3)提供访问控制,不同的用户有不同的访问权。 (4)多种协议的传递。 为了高效地实现这些功能,一般采用以下的关键技术: 2.1 遂道协议(Tunneling Protocol) 隧道技术是将分组封装(Capsule)的技术,它被 VPN 实现以内部地址与多协议通信的重要功能在 PPTP、L2TP 及 I
4、PSEC 中被广泛地采用。 2.2 认证技术 PPP(Point to Point Protocol) 认证技术 PPP(Point to Point Protocol)采用了 PAP(Password Authentication Protocol)及 CHAP(Challenge Handshake Authentication Protocol)等协议进行认证。PPTP 及 L2TP 等隧道协议采用这种 PPP 的认证协议。利用 RADIUS(Remote Authentication Dial In User Service) 、LDAP(Lightweirht Directory A
5、ccess Protocol)及TACACS(Terminal Access Controller Access System)等方式进行建立认证用的用户名和口令的认证数据库。 2.3 加密技术 加密技术由 IPSec 的 ESP 来实现 。 3 IPSec 协议体系 利用 SSL 可以保证 WWW 浏览器和 WWW 服务器间的安全通信,利用 PGP及 S/MIME 可以实现邮件加密,但是这些安全技术都只能用于局部业务,并不能保证 TCP/IP 整体上的安全通信,因此开发了能够使企业和个人用户在开放的 Internet 上通用的安全协议IPSec。IPSec2从多个方面保护 IP 数据包的安全
6、:数据起源地验证、无连接数据的完整性验证、保证数据内容机密性、抗重播保护、保护有限数据流的机密性。IPSec 除适用于目前的 IPv4 外,也适用于 IPV6。IPSec 提供了一种标准的、健壮的以及包容广泛的机制为运行于 IP 顶部的任何一种协议(如TCP、UDP、ICMP 等)提供保护。IPSec 确保端到端的数据安全。IPSec 在网络内部实施时,即构成了虚拟专用网。IPSec 运行在网络层上,所以属于第三层隧道协议。 ESP(Encapsulating Security Payload,封装安全载荷) ,ESP 机制通过将整个 IP 分组或上层协议部分(即传输层协议数据,如 TCP,U
7、DP或 ICMP 协议数据)封装到一个 ESP 载荷之中,然后对此载荷进行相应的安全处理,如加密处理、别处理等,以实现对通信的机密性和保密性保护。 AH(Authentication Header,验证头) ,AH 机制主要用于为通信提供完整性服务,还能为通信提供抗重放攻击服务。 加密算法,描述各种加密算法如何应用于 ESP 中,默认的算法为DEC-CBC 算法。 验证算法,描述各种身份验证算法如何应用于 AH 中和 ESP 身份验证选项,默认的有 HMAC-MD5 和 HMAC-SHA1 算法。 密钥管理,IKE(Internet 密钥交换协议)是默认的密钥交换协议。 解释域,彼此相关各部分
8、的标准符及运作参数,它实际是一个存放所有 IPSec 安全参数的数据库,这些参数可被与 IPSec 服务相应的系统参考并调用。 4 基于 IPSec 协议的实现方案 加密和认证是 VPN 的主要作用,我们可以通过网络技术在公网上采用 VPN 的技术来达到安全地传输信息,达到专用网络的效果。VPN 网关工作在本地局域网及与其通信的远程局域网的网关位置,具有加密和认证功能。相互信任的局域网间进行通信时,仍然使用互联网作为中间信道。但是,通过 VPN 网关的加密功能确保信息在不安全的互联网上流通时是密文形式。这样,即便信息被截取,也无法偷窥或篡改其内容。保证通过互联网连接的局域网间通信的安全性、机密
9、性、可认证性和完整性等安全性能。IPSec 的实现方案是在 IP 层与链路层间插入 IPSec 处理模块,结构如图 1 所示, 对于接受包处理,当链路层数据到达网卡时,首先交给内核的标准IP 处理程序。对于本地包,在进行完 IP 分片重组等 IP 层进入包处理后,准备传给传输层。此时调用 IPSec 进入处理模块。经过 IPSec 进入处理后,重新组装 IP 包,然后发送到内核的标准 IP 处理入口。再经过一次IP 处理后,发送到传输层进行进一步处理。而对于外地包,则需要转发。转发时需要进行分片处理。在发送到网卡前,调用 IPSec 外出处理模块。经过 IPSec 外出处理后,重组外出包,并重
10、新路由、分片处理。然后发送到物理接口(网卡) 。 对于发送包处理,当传输层数据到达时,首先交给内核的标准 IP 处理程序。在进行完 IP 的分片等 IP 层外出包处理及路由后,准备发送到链路层。此时调用 IPSec 外出处理模块。经过 IPSec 外出处理后,重新发送到内核的标准 IP 层外出处理入口。然后重新进行 IP 分片及其它 IP层外出处理,并重新路由。最后将包发送到到链路层,进入网卡 图 1 实现方案 5 总结 利用 IPSec 协议来实现 VPN 网络,可以利用一个公用网络(通常是不安全的网络)建立一个临时的、安全的连接,能够加强企业网络传递信息的安全性,减轻企业的信息化建设成本,是一个实用安全的技术。 参考文献: 1戴宗坤,唐三平.VPN 与网络安全.第 1 版.北京:电子工业出版社,2002 2 李超,Linux 下 IPSec 协议的实现.计算机应用.2002(6):6971 3 张大路,卢现峰.VPN 核心技术研究.计算机工程.2000(3):4142