基于IPSec的VPN网关技术

时间:2022-03-18 07:08:04

基于IPSec的VPN网关技术

摘要:本文阐述了VPN网络工作的基本原理,实现VPN网络的关键技术, VPN网络主要是通过IPSec协议来实现,介绍了封装安全载荷(ESP协议)和验证头(AH协议),阐述了ESP协议和AH协议对信息进行加密和验证的过程,最后给出了一种利用是在IP层与链路层间插入IPSec处理模块实现VPN网关的方案。

关键词:网络安全;IPSec协议;VPN

中图分类号:TN915.08文献标识码:A

1 VPN网络的基本原理[1]

VPN区别于一般网络互联的关键在于隧道的建立,然后数据包经过加密后,按隧道协议进行封装、传送以保安全性。一般在数据链路层实现数据封装的协议叫第二层隧道协议,常用的有PPTP、L2TP等;在网络层实现数据封装的协议叫第三层隧道协议,如IPSec;另外,SOCKS v5协议则在TCP层实现数据安全。基于IPSec协议的VPN成为现在的发展方向,由IPSec协议提供隧道安全保障。IPSec是一种由IETF设计的端到端的确保基于IP通讯的数据安全性的机制。IPSec支持对数据加密,同时确保数据的完整性。按照IETF的规定,不采用数据加密时,IPSec使用验证包头(AH)提供验证来源验证(source authentication),确保数据的完整性;IPSec使用封装安全负载(ESP)与加密一道提供来源验证,确保数据完整性。

2 VPN网络的功能及关键技术

一般的VPN网络都至少提供这几个功能:(1)加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。(2)信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。(3)提供访问控制,不同的用户有不同的访问权。(4)多种协议的传递。

为了高效地实现这些功能,一般采用以下的关键技术:

2.1遂道协议(Tunneling Protocol)

隧道技术是将分组封装(Capsule)的技术,它被VPN实现以内部地址与多协议通信的重要功能在PPTP、L2TP及IPSEC中被广泛地采用。

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 Access Protocol)及TACACS(Terminal Access Controller Access System)等方式进行建立认证用的用户名和口令的认证数据库。

2.3加密技术

加密技术由IPSec的ESP来实现 。

3 IPSec协议体系

利用SSL可以保证WWW浏览器和WWW服务器间的安全通信,利用PGP及S/MIME可以实现邮件加密,但是这些安全技术都只能用于局部业务,并不能保证TCP/IP整体上的安全通信,因此开发了能够使企业和个人用户在开放的Internet上通用的安全协议――IPSec。IPSec[2]从多个方面保护IP数据包的安全:数据起源地验证、无连接数据的完整性验证、保证数据内容机密性、抗重播保护、保护有限数据流的机密性。IPSec除适用于目前的IPv4外,也适用于IPV6。IPSec提供了一种标准的、健壮的以及包容广泛的机制为运行于IP顶部的任何一种协议(如TCP、UDP、ICMP等)提供保护。IPSec确保端到端的数据安全。IPSec在网络内部实施时,即构成了虚拟专用网。IPSec运行在网络层上,所以属于第三层隧道协议。

ESP(Encapsulating Security Payload,封装安全载荷),ESP机制通过将整个IP分组或上层协议部分(即传输层协议数据,如TCP,UDP或ICMP协议数据)封装到一个ESP载荷之中,然后对此载荷进行相应的安全处理,如加密处理、别处理等,以实现对通信的机密性和保密性保护。

AH(Authentication Header,验证头),AH机制主要用于为通信提供完整,还能为通信提供抗重放攻击服务。

加密算法,描述各种加密算法如何应用于ESP中,默认的算法为DEC-CBC算法。

验证算法,描述各种身份验证算法如何应用于AH中和ESP身份验证选项,默认的有HMAC-MD5和HMAC-SHA1算法。

密钥管理,IKE(Internet密钥交换协议)是默认的密钥交换协议。

解释域,彼此相关各部分的标准符及运作参数,它实际是一个存放所有IPSec安全参数的数据库,这些参数可被与IPSec服务相应的系统参考并调用。

4 基于IPSec协议的实现方案

加密和认证是VPN的主要作用,我们可以通过网络技术在公网上采用VPN的技术来达到安全地传输信息,达到专用网络的效果。VPN网关工作在本地局域网及与其通信的远程局域网的网关位置,具有加密和认证功能。相互信任的局域网间进行通信时,仍然使用互联网作为中间信道。但是,通过VPN网关的加密功能确保信息在不安全的互联网上流通时是密文形式。这样,即便信息被截取,也无法偷窥或篡改其内容。保证通过互联网连接的局域网间通信的安全性、机密性、可认证性和完整性等安全性能。IPSec的实现方案是在IP层与链路层间插入IPSec处理模块,结构如图1所示,

对于接受包处理,当链路层数据到达网卡时,首先交给内核的标准IP处理程序。对于本地包,在进行完IP分片重组等IP层进入包处理后,准备传给传输层。此时调用IPSec进入处理模块。经过IPSec进入处理后,重新组装IP包,然后发送到内核的标准IP处理入口。再经过一次IP处理后,发送到传输层进行进一步处理。而对于外地包,则需要转发。转发时需要进行分片处理。在发送到网卡前,调用IPSec外出处理模块。经过IPSec外出处理后,重组外出包,并重新路由、分片处理。然后发送到物理接口(网卡)。

对于发送包处理,当传输层数据到达时,首先交给内核的标准IP处理程序。在进行完IP的分片等IP层外出包处理及路由后,准备发送到链路层。此时调用IPSec外出处理模块。经过IPSec外出处理后,重新发送到内核的标准IP层外出处理入口。然后重新进行IP分片及其它IP层外出处理,并重新路由。最后将包发送到到链路层,进入网卡

图1实现方案

5 总结

利用IPSec协议来实现VPN网络,可以利用一个公用网络(通常是不安全的网络)建立一个临时的、安全的连接,能够加强企业网络传递信息的安全性,减轻企业的信息化建设成本,是一个实用安全的技术。

参考文献:

[1]戴宗坤,唐三平.VPN与网络安全.第1版.北京:电子工业出版社,2002

[2] 李超,Linux下IPSec协议的实现.计算机应用.2002(6):69-71

[3] 张大路,卢现峰.VPN核心技术研究.计算机工程.2000(3):41-42

上一篇:公路边坡防护与生态恢复 下一篇:高承载力地质条件下小直径搅拌桩与高压旋喷组...