IPSec VPN技术的原理与应用
2014-10-21翟正光
翟正光
【摘要】随着经济和网络应用的发展,越来越多的公司需要以一种安全,有效的方式与其分公司和客户远程联系,VPN技术由此产生。用IPSec协议实现VPN是目前较为广泛的一种应用。本文主要讨论VPN技术的原理、简单应用以及IPSec VPN的连接步骤。
【关键词】IPSec;VPN;模式与类型;加解密;连接
1.VPN概述
1.1 远程访问的挑战
当今,随着网络业务的迅速发展,企业必须扩展其内网应用服务资源和数据资源的访问领域,以满足越来越多的远程接入需求,比如分支机构接入、合作伙伴接入、客户接入、出差员工接入、远程办公接入等等。接入的网络环境也越来越复杂,接入的场景更是千变万化。如何在保证内网安全的前提下,确保处于各种复杂的网络环境以及接入场景的合法用户,能够安全接入内网,对现代企业网络提出了新的挑战。
1.2 VPN建设的关键点
在这种背景下,虚拟专用网VPN(Virtual Private Network)的搭建越来越普遍,在VPN的建设中,有以下几点需要我们重点关注。
(1)可靠性
当VPN作为外网到内网受控资源的唯一访问通道时,VPN隧道的可靠性决定了对外业务的可用性。当VPN设备出现故障无法及时恢复运行时,势必导致外网远程用户无法顺利访问并获取到内网的信息资源,造成业务中断,可能给企业带来重大的商业损失。
(2)安全性
在企业内部资源对外开放的场景下,远程用户的身份、用户终端设备的不确定性、Internet数据传输、用户访问权限的不受限以及网络攻击等等都可能对内部网络、内部信息造成极大的安全威胁。内部资源对外开放的安全性问题,是企业在搭建VPN的过程需要重点保障的。
(3)兼容性
随着智能终端的日益多样化、普及化,用户使用的终端类型越来越丰富。而移动办公的频繁化,使得接入的地点和场景越来越复杂,用户可能使用的终端并不是自有的,如何保证VPN远程接入不受限于终端类型以及终端系统的软件环境,就要求VPN客户端具备尽可能全面的兼容能力。
(4)易用性
随着VPN应用的日益普及,VPN的使用者也在呈几何级的膨胀。这些使用者不仅是终端用户,还包括了VPN设备的管理员。这些用户和管理员的操作水平不一,复杂的配置可能对VPN业务的使用造成不小的障碍,并且影响工作效率。
2.VPN的模式与类型
2.1 VPN的连接模式
VPN技术有两种基本的连接模式:隧道模式和传输模式,这两种模式实际上定义了两台实体设备之间传输数据时所采用的不同的封装过程。
(1)传输模式
传输模式一个最显著的特点就是:在整个VPN的传输过程中,IP包头并没有被封装进去,这就意味着从源端到目的端数据始终使用原有的IP地址进行通信。而传输的实际数据被封装在VPN报文中。对于大多数VPN传输而言,VPN的报文封装过程就是数据的加密过程,因此攻击者截获数据后将无法破解数据内容,但却可以清晰地知道通信双方的地址信息。
(2)隧道模式
在该模式中,VPN设备将整个三层数据报文封装在VPN数据内,再为封装后的数据报文添加新的IP包头。由于在新IP包頭中封装的是VPN设备的IP地址信息,所以当攻击者截取数据后,不但无法了解实际载荷数据的内容,同时也无法知道实际通信双方的地址信息。
由于隧道模式的VPN在安全性和灵活性方面具有很大的优势,在企业环境中应用十分广泛,总公司和分公司跨广域网的通信,移动用户在公网访问公司内部资源等很多情况,都会应用隧道模式的VPN对数据传输进行加密。
2.2 VPN的类型
通常情况下,VPN的类型可以分为站点到站点VPN和远程访问VPN。
(1)站点到站点VPN
站点到站点VPN就是通过隧道模式在VPN网关之间保护两个或更多的站点之间的流量,站点间的流量通常是指局域网之间(L2L)的通信流量。L2L VPN多用于总公司与分公司、分公司之间在公网上传输重要业务数据。
(2)远程访问VPN
远程访问VPN通常用于单用户设备与VPN网关之间的通信链接,单用户设备一般为一台PC或小型办公网络等。VPN连接的一端为PC,可能会让很多人误解远程访问VPN使用传输模式,但因为该种VPN往往也是从公网传输关键数据,而且单一用户更容易成为黑客的攻击对象,所以远程访问VPN对于安全性的要求较高,更适用于隧道模式。
要想实现隧道模式的通信,就需要给远程客户端分配两个IP地址:一个是它自己的NIC地址,另一个是内网地址。也就是说远程客户端在VPN建立过程中同时充当VPN网关(使用NIC地址)和终端用户(使用内网地址)。
3.VPN数据的加解密算法
在所有的加解密算法中,可以分为对称式加密和非对称式加密,以下是差异及优缺点。
3.1 对称加密算法
对称加密算法使用同一密钥对信息提供安全的保护。加密时首先将待加密的数据及密钥提供给加密算法,这样即可将信息加密,而加密后的内容就变成了一堆无法被阅读的数据,但是当我们需要阅读这些数据时,就必须将被加密后的数据及解密时所需要的密钥提供给解密算法,这样即可将被加密过的数据还原成我们可以直接阅读的信息了。如果加密和解密使用的密钥相同,就称为对称式加密。该方式最大的优点是加解密速度快,缺点是保证密钥安全传递不易。
3.2 非对称加密算法
非对称加密算法使用两个不同的密钥:公钥和私钥进行加密和解密。用一个密钥加密的数据仅能被另一个密钥解密,且不能从一密钥推导出另一个密钥。假设接收方的公钥和私钥分别为A和B,客户端传输的明文数据为D,VPN网关加密后的数据为C,而M与N分别分加密和解密函数。数据加密过程如下:
(1)通信双方交换公钥。
(2)发送方的VPN网关通过公钥将明文数据D加密成为密文数据C。
(3)接收方VPN网关通过自己的私钥解密数据,整个私钥始终没有在网络中传输。
该算法的优点在于安全性很高,缺点是计算过程复杂,占用CPU资源,运算速度慢。
4.IPSec VPN连接
IPSec协议是一个标准的第三层安全协议,它是在隧道外面再封装,保证了在传输过程中的安全。IPSec的主要特征在于它可以对所有IP级的通信进行加密。
在对等体之间建立IPSec VPN的连接需要三个步骤:
(1)流量触发IPSec
一般来说,IPecS建立过程是由对等体之间发送的流量触发。一旦有VPN流量经过VPN网关,连接过程便开始建立了,当然,手工配置也可以实现这一过程。在配置设备实现此步骤前,网络工程师需要明确哪些流量需要被保护。
(2)建立管理连接
IPSec使用ISAKMP/IKE阶段1来构建一个安全的管理连接。这里需要注意的是,这个管理连接只是一个准备工作,它不被用来传输实际的数据。在配置设备实现此步骤前,网络工程师需要明确设备如何实现验证,使用何种加密及认证算法,使用哪种DH组等问题。
(3)建立数据连接
IPSec基于安全的管理連接协商建立安全的数据连接,而ISAKMP/IKE阶段2就是用来完成这个任务的,数据连接用于传输真正的用户数据。在配置设备实现此步骤前,网络工程师需要明确使用何种协议,针对具体的安全协议应使用加密或验证算法,以及数据的传输模式(隧道模式或传输模式)等问题。
经过IPSec建立的三步之后,VPN流量便可以按照协商的结果被加密解密了。但是VPN连接并不是一次性的,无论是管理连接还是数据连接都有一个生存周期与之关联,一旦到期连接便会被中止,如果需要继续传输VPN数据,连接需要重新被构建,这种设计主要是出于安全性的考虑。
参考文献
[1]谭浩强.BENET网络工程师认证教程[Z].2009,11.
[2]袁津生,吴砚龙.计算机网络安全基础[M].北京:人民邮电出版社,2004,7.
[3]张双,史浩山.VPN实现技术研究[J].计算机工程,2002 (08).
[4]黄允聪.网络安全基础[M].北京:清华大学出版社,1999.