VPN技术概览
2013-12-07 15:54:00 阿炯

虚拟专用网(英语:Virtual Private Network,简称VPN),是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。虚拟私人网络的讯息透过公用的网络架构(例如:互联网)来传送内联网的网络讯息。它利用已加密的通道协议(Tunneling Protocol)来达到保密、传送端认证、信息准确性等私人信息安全效果。这种技术可以用不安全的网络(例如:互联网)来传送可靠、安全的信息。需要注意的是,加密信息与否是可以控制的。没有加密的虚拟专用网信息依然有被窃取的危险。

安全的虚拟私人网络使用加密穿隧协议,通过阻止截听与嗅探来提供机密性,还允许发送者身份验证,以阻止身份伪造,同时通过防止信息被修改提供消息完整性。

某些虚拟私人网络不使用加密保护数据。虽然虚拟私人网络通常都会提供安全性,但未加密的虚拟私人网络严格来说是不“安全”或“可信”的。例如,一条通过GRE协议在两台主机间创建的隧道属于虚拟私人网络,但既不安全也不可信。 除以上的GRE协议例子外,本地的明文穿隧协议包括L2TP(不带IPsec时)和PPTP(不使用微软点对点加密(MPPE)时)。

虚拟专用网(VPN--Virtual Private Network)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。VPN发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的信息安全体系中发挥着重要的作用。也在网络上,有关各种VPN协议优缺点的比较是仁者见仁,智者见智,很多技术人员由于出于使用目的考虑,包括访问控制、安全和用户简单易用,灵活扩展等各方面,权衡利弊,难以取舍;尤其在实际的企业网络环境中,网络安全显得尤为重要,因此现在越来越多的网关支持VPN协议。

在公共网络中建立虚拟的专用网络,使数据通过安全的“加密通道”在公共网络传送的一种技术。由于VPN不需要建立或租用专用的数据通信链路,而是通过现有公共网络来实现专用网络的效果,所以称为虚拟专用网。VPN作为远程访问和网络互联的高效、低价、安全可靠的解决方案,集灵活性、安全性、经济性及可扩展性于一身,可满足企业分支机构、移动办公等安全通信的需求。VPN的应用已经成为网络技术中的热点,在发达国家,VPN已成为一项相当普及的网络业务。近年来国内宽带的迅速发展带动了VPN及其架构在其平台上的各种高速网络应用,如视频会议、企业ERP/大型分布式海量数据仓库等应用都取得了飞速发展,同时VPN的应用反过来也促进了宽带内容的不断丰富,并进一步激活宽带应用。

注意,在虚拟专用网中,因应网络架构,秘书及收信人可以是同一人。许多现在的操作系统,例如Windows及Linux等因应所用传输协议,已有能力不用通过其它网络设备便能达到虚拟专用网连接。

常用的虚拟专用网协议有:
L2F
L2TP
PPTP
IPsec
SSL VPN
OpenVPN

特点
1)建网快速方便用户只需将各 网络节点采用专线方式本地接入公用网络,并对网络进行相关配置即可

2)降低建网投资由于VPN是利用公用网络为基础而建立的虚拟专网,因而可以避免建设传统专用网络所需的高额软硬件投资

3)节约使用成本用户采用VPN组网,可以大大节约链路租用费及网络维护费用,从而减少企业的运营成本

4)网络安全可靠实现VPN主要采用国际标准的 网络安全技术,通过在公用网络上建立逻辑隧道及网络层的加密,避免网络数据被修改和盗用,保证了用户数据的安全性及完整性

5)简化用户对网络的维护及管理工作大量的网络管理及维护工作由公用网络服务提供商来完成


VPN相关协议与草案

1、VPN与隧道技术

VPN虚拟专用网是指在公众数据网络上建立属于自己的私有数据网络。VPN具有两个方面的含义:首先它是“虚拟”的,不再使用长途专线建立私有数据网络,而是将其建立在分布广泛的公用网络,尤其是因特网上;其次它又是一个“专网”,每个VPN的用户都可以临时从公用网络中获得一部分资源供自己使用。VPN既可以让客户连接到公网所能够达到的任何地方,也可以容易地解决保密性、安全性、可管理性等问题,降低网络的使用成本。

VPN的具体实现是采用隧道技术,在公网中建立企业之间的链接,将用户的数据封装在隧道中进行传输。隧道技术与接入方式无关,它可以支持各种形式的接入,如拨号方式接入、CABLE Modem、xDSL以及ISDN、E1专线和无线接入等。一个隧道协议通常包括以下几个方面:
乘客协议——被封装的协议,如PPP、SLIP;
封装协议——隧道的建立、维持和断开,如L2TP、IPSec等;
承载协议——承载经过封装后的数据包的协议,如IP和ATM等。

目前因特网上较为常见的隧道协议大致有两类:第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议GRE、IPSec。第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装。其中GRE和IPSec主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务,也可用于实现专线VPN业务。本文的其余部分分别介绍这些隧道协议。

2、第二层隧道协议

第二层隧道协议可以支持多种路由协议,如IP、IPX和AppleTalk;也可以支持多种广域网技术,如帧中继、ATM、X.25或SDH/SONET;还可以支持任意局域网技术,如以太网、令牌环和FDDI等。

2.1PPTP
点到点隧道协议PPTP是由PPTP论坛开发的点到点的安全隧道协议,为使用电话上网的用户提供安全VPN业务,1996年成为IETF草案。PPTP是PPP协议的一种扩展,提供了在IP网上建立多协议的安全VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用网络。PPTP提供PPTP客户机和PPTP服务器之间的保密通信。PPTP客户机是指运行该协议的PC机,PPTP服务器是指运行该协议的服务器。

通过PPTP,客户可以采用拨号方式接入公共的IP网。拨号客户首先按常规方式拨号到ISP的接入服务器NAS,建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道,实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种协议数据,包括TCP/IP,IPX和NetBEUI。对于直接连接到IP网的客户则不需要第一次的PPP拨号连接,可以直接与PPTP服务器建立虚拟通路。

PPTP的最大优势是Microsoft公司的支持。NT4.0已经包括了PPTP客户机和服务器的功能,并且考虑了Windows9x环境。另外一个优势是它支持流量控制,可保证客户机与服务器间不拥塞,改善通信性能,最大限度地减少包丢失和重发现象。PPTP把建立隧道的主动权交给了客户,但客户需要在其PC机上配置PPTP,这样做既会增加用户的工作量,又会造成网络的安全隐患。另外,PPTP仅工作于IP,不具有隧道终点的验证功能,需要依赖用户的验证。

2.2 L2F
L2FLayer 2 Forwarding是由Cisco公司提出的,可以在多种介质如ATM、帧中继、IP上建立多协议的安全VPN的通信方式。它将链路层的协议如HDLC、PPP、ASYNC等封装起来传送,因此网络的链路层完全独立于用户的链路层协议。1998年提交给IETF,成为RFC2341。

L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP的接人服务器NAS,建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的服务器。这种方式下,隧道的配置和建立对用户是完全透明的。

L2F允许拨号服务器发送PPP帧,并通过WAN连接到L2F服务器。L2F服务器将包去封装后,把它们接入到企业自己的网络中。与PPTP和PPP所不同的是,L2F没有定义客户。

2.3 L2TP
L2TP协议由Cisco、Ascend、Microsoft、3Com和Bay等厂商共同制订,1999年8月公布了L2TP的标准RFC 2661。上述厂商现有的VPN设备已具有L2TP的互操作性。

L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接人服务器端发起VPN连接。L2TP定义了利用公共网络设施封装传输链路层PPP帧的方法。目前用户拨号访问因特网时,必须使用IP协议,并且其动态得到的IP地址也是合法的。L2TP的好处就在于支持多种协议,用户可以保留原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致于浪费。另外,L2TP还解决了多个PPP链路的捆绑问题。

L2TP主要由LAC接入集中器和LNSL2TP网络服务器构成。LAC支持客户端的L2TP,用于发起呼叫,接收呼叫和建立隧道。LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。在安全性考虑上,L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密。因此,L2TP并不能满足用户对安全性的需求。如果需要安全的VPN,则依然需要IPSec。

3、第三层隧道协议

3.1 IPSec
利用隧道方式来实现VPN时,除了要充分考虑隧道的建立及其工作过程之外,另外一个重要的问题是隧道的安全。第二层隧道协议只能保证在隧道发生端及终止端进行认证及加密,而隧道在公网的传输过程中并不能完全保证安全。IPSec加密技术则是在隧道外面再封装,保证了隧道在传输过程中的安全性。

IPSec是一个第三层VPN协议标准,它支持信息通过IP公网的安全传输。IPSec系列标准从1995年问世以来得到了广泛的支持,IETF工作组中已制定的与IPSec相关的RFC文档有:RFC214、RFC2401-RFC2409、RFC 2451等。其中 RFC 2409介绍了互连网密钥交换IKE协议;RFC 2401介绍了IPSec协议;RFC2402介绍了验证包头AH;RFC2406介绍了加密数据的报文安全封装ESP协议。IPSec兼容设备在OSI模型的第三层提供加密、验证、授权、管理,对于用户来说是透明的,用户使用时与平常无任何区别。密钥交换、核对数字签名、加密等都在后台自动进行。另外,为了组建大型VPN,需要认证中心来进行身份认证和分发用户公共密钥。

IPSec可用两种方式对数据流进行加密:隧道方式和传输方式。隧道方式对整个IP包进行加密,使用一个新的IPSec包打包。这种隧道协议是在IP上进行的,因此不支持多协议。传输方式时IP包的地址部分不处理,仅对数据净荷进行加密。

IPSec支持的组网方式包括:主机之间、主机与网关、网关之间的组网。IPSec还支持对远程访问用户的支持。IPSec可以和L2TP、GRE等隧道协议一起使用,给用户提供更大的灵活性和可靠性。

IPSec的ESP协议和报文完整性协议认证的协议框架已趋成熟,IKE协议也已经增加了椭圆曲线密钥交换协议。由于IPSec必须在端系统的操作系统内核的IP层或网络节点设备的IP层实现,因此需要进一步完善IPSec的密钥管理协议。

3.2 GRE
通用路由协议封装GRE是由Cisco和Net-smiths等公司1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持 GRE隧道协议。

GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议如RIP2、OSPF等。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。GER只提供了数据包的封装,并没有加密功能来防止网络侦听和攻击,所以在实际环境中经常与IPSec在一起使用,由IPSec提供用户数据的加密,从而给用户提供更好的安全性。

4、小结

IETF的其他一些工作组也在为VPN制定相关协议,其中的很多建议已形成草案。这些草案中涉及的协议有:MPLS、RADIUS、LDAP、VPMT等。  


参考来源:PPTP、L2TP、IPSec和SSL VPN的区别