(廖铮)
本文提要:随着Internet访问的增加,传统的Internet接入服务已越来越满足不了用户需求,因为传统的Internet只提供浏览、电子邮件等单一服务,没有服务质量保证,没有权限和安全机制,界面复杂不易掌握,VPN的提出就是来解决这些问题。VPN的组网方式为企业提供了一种低成本的网络基础设施,并增加了企业网络功能,扩大了其专用网的范围。本文首先介绍了VPN的原理,然后介绍了几种基于Internet组建VPN的技术。
一.什么是VPN(VirtualPrivateNetwork,虚拟专用网)?
1.VPN的魅力。
随着Internet访问的增加,传统的Internet接入服务已越来越满足不了用户需求,因为传统的Internet只提供浏览、电子邮件等单一服务,没有服务质量保证,没有权限和安全机制,界面复杂不易掌握,VPN的提出就是来解决这些问题。
VPN实际上就是一种服务,用户感觉好象直接和他们的个人网络相连,但实际上是通过服务商来实现连接的。VPN可以为企业和服务提供商带来以下益处:
采用远程访问的公司提前支付了购买和支持整个企业远程访问基础结构的全部费用; 公司能利用无处不在的Internet通过单一网络结构为职员和商业伙伴提供无缝和安全的连接; 对于企业,基于拨号VPN的Extranet能加强与用户、商业伙伴和供应商的联系; 电话公司通过开展拨号VPN服务可以减轻终端阻塞; 通过为公司提供安全的外界远程访问服务,ISP能增加收入;通过Extranet分层和相关竞争服务,ISP也可以提供不同的拨号VPN。
2.VAN的自白
随着企业与外界交流的增加及自身不断地发展,越来越多的企业已开始组建企业计算机内部网络。过去,企业组建自己健全的数据通信网络的唯一办法就是从头做起,当企业局限在某一特定的范围内,可以采用LAN技术实现;当企业处在一个很大范围时,大都用VAN(Value-AddedNetwork,增值网)技术,即在公共网络上租用模拟或数字专线组成专用网络来实现。但这样做的代价太大,很多企业难以承受。另外,现代跨国企业其分支机构和业务范围遍及全球,其负责销售工作的员工在世界各地流动,且越来越多的员工倾向在家上班,内部网络必须满足这部分员工随时对其进行访问。因此传统的租用专线组成VAN的方式越来越不适用。VPN(VirtualPrivateNetwork,虚拟专用网)技术应运而生。
一般说来,VPN就是指利用公共网络,如公共分组交换网、帧中继网、ISDN或Internet等的一部分来发送专用信息,形成逻辑上的专用网络。目前,Internet已成为全球最大的网络基础设施,几乎延伸到世界的各个角落,于是基于Internet的VPN技术越来越受到关注。
3.究竟如何在Internet上组建VPN呢?
基于Internet组建企业VPN,第一步就是将其地理上分布的各网段以及各远程用户接入Internet。远程用户可利用MODEM通过PSTN或ISDN拨号至本地ISP的NAS(NetworkAccessServer,网络接入服务器)接入Internet;分支机构网段可通过路由器经专线或通过拨号接入Internet;公司总部网段配有VPN中心,它通过路由器接入Internet。
Internet中,只要通信的两端点均支持TCP/IP协议,主机无需特别安排即可连到远程网络。但由于企业内部网络也可能是IPX、Appletalk或OSI网络,或者虽然使用IP协议,但其内部网络的地址为未经登记的专用地址,不能在Internet中合法使用。企业数据如要穿越Internet,必须在VPN解决方案中有特别的机制。
二.VPN解决方案的核心技术:第二层隧道技术。
当前VPN解决方案中,很多都采用了第二层隧道技术。所谓“隧道”就是这样一种封装技术,它利用一种网络传输协议,将其他协议产生的数据报文封装在它自己的报文中,在网络中传输。第二层隧道就是将第二层(数据链路层)帧封装在网络层报文中,形成IP报文,在Internet中传输。在已问世的第二层隧道解决方案中,以PPTP协议和L2F协议最为成熟。
1.PPTP协议
(1)PPTP协议概述
Microsoft和Ascend公司在PPP协议基础上开发的PPTP协议就是支持Client—LAN型隧道VPN实现的一种隧道传送方案。PPTP对PPP协议本身并没有做任何修改,只是将用户的PPP帧(对应于OSI协议体系结构中的七层协议,PPP协议为第二层即数据链路层规范)基于GRE封装成IP报文,在Internet中经隧道传送。
传统上,NAS执行以下的功能:是PSTN或ISDN的本地接口,控制着外部MODEM或终端适配器;是PPP链路控制协议会话的逻辑终点;是PPP鉴别协议的执行者;为PPP多链路协议进行信道汇聚管理;是各种PPP网络控制协议的逻辑终点。PPTP协议将上述功能分解成由两部分即PAC(PPTP接入集中器)和PNS(PPTP网络服务器)来分别执行。这样一来,拨号PPP链路的终点就延伸至PNS。
PPTP协议正是利用了“NAS功能的分解”这样的机制支持在Internet上的VPN实现。ISP的NAS将执行PPTP协议中指定的PAC的功能。而企业VPN中心服务器将执行PNS的功能,通过PPTP,远程用户首先拨号到本地ISP的NAS,访问企业的网络和应用,而不再需要直接拨号至企业的网络,这样,由GRE将PPP报文封装成IP报文就可在PAC—PNS之间经由Internet传递,即在PAC和PNS之间为用户的PPP会话建立了一条PPTP隧道。
(2) 建立PPTP连接
建立PPTP连接,首先需要建立客户端与本地ISP的PPP连接。一旦成功地接入Internet,下一步就是建立PPTP连接。
从最顶端PPP客户端、PAC和PNS服务器之间开始,由已经安装好PPTP的PAC建立并管理PPTP任务。如果PPP客户端将PPTP添加到它的协议中,所有列出来的PPTP通信都会在支持PPTP的客户端上开始与终止。由于所有的通信都将在IP包内通过隧道,因此PAC只起着通过PPP连接进Internet的入口点作用。从技术上讲,PPP包从PPTP隧道的一端传输到另一端,这种隧道对用户是完全透明的。
(3)PPTP的优越性
通过PPTP,远程用户经由Internet访问企业的网络和应用,而不再需要直接拨号至企业的网络。这样大大减小了建立和维护专用远程线路的费用。且为企业提供比较充分的安全保证。
PPTP还在IP网络中支持非IP协议,PPTP“隧道”将IP,IPX,Appletalk等协议封装在IP包中,使用户能够运行基于特定网络协议的应用程序。同时,“隧道”采用现有的安全检测和鉴别政策,还允许管理员和用户对数据进行加密,使数据更安全。PPTP还提供了灵活的IP地址管理。如果企业专用网络使用未经注册的IP地址,那么PNS将把此地址和企业专用地址联系起来。
2. L2F及L2TP协议
除PPTP协议外,CISCO公司的L2F协议也是一种第二层隧道协议,它通过提供“虚拟拨号”服务,支持LAN—LAN型的VPN连接。
综合了PPTP协议和L2F协议的另一种第二层隧道协议L2TP(LayerTwoTunnelingProtocol)具有PPTP协议和L2F协议两者的特点,它既支持Client—LAN型的VPN连接,也支持LAN—LAN型的VPN连接。
L2TP协议正在进行当中。L2TP协议通过“虚拟拨号”业务将初始拨号服务器的地点和拨号协议所连接的终点分离开来。当“虚拟拨号”客户开始接入时,远程用户和它们的ISP的NAS之间就建立了一个PPP链路。ISP接着对端系统或用户进行部分鉴别以判断此用户是否需要“虚拟拨号”业务,一旦确定需要,那么此用户名就会和VPN网络中心服务器联系起来。然后,NAS将检查有没有至VPN中心服务器的L2TP连接存在,如果没有,那么L2TP协议就会在NAS端启动一个到VPN中心服务器的L2TP隧道协商。如果协商成功,那么在NAS和VPN中心服务器之间就建立了一条L2TP隧道,并建立了用户和VPN中心之间端到端的连接。L2TP协议还定义了一些隧道的管理与维护操作,如定期发送Hello报文以判断隧道的连通性,利用协议提供的发送序号(Ns)域和接收序号(Nr)域进行隧道的流量控制和拥塞控制等。
3. 第二层隧道协议的不足
第二层隧道协议具有简单易行的优点,但是它们的可扩展性都不好。更重要的是,它们都没有提供内在的安全机制,它们不能支持企业和企业的外部客户以及供应商之间会话的保密性需求,因此它们不支持用来连接企业内部网和企业的外部客户及供应商的企业外部网Extranet的概念。Extranet需要对隧道进行加密并需要相应的密钥管理机制。
三. IPsec解决方案
在使用TCP/IP协议的Internet协议体系结构中,IP层是一个附加安全措施的很好场所,因为:IP层处于整个协议体系的中间点,它既能捕获所有从高层来的报文,也能捕获所有从低层来的报文;从IP层的定义来看,在这一层附加安全措施是与低层协议无关的,可对高层协议和应用进程透明。许多Internet网络应用可以从IP层提供的安全服务中得益。IETF已制定了安全协议标准IPsec和IKMP密钥管理协议,用来提供IP层安全服务。目前已有多种产品支持IPsec安全协议。IPsec和一些密钥管理协议为组建VPN提供了另一条很好的途径。
在IPsec中,定义了两个特殊的报头,它们分别是AH(AuthenticationHeader,鉴别报头)和ESP(EncapsulatingSecurityPayload,封装安全载荷)。AH报头用来在没有IP报文加密机制的条件下提供多个主机或网关之间通信的数据完整性保护和鉴别功能。在缺少加密措施的情况下,AH在Internet中被广泛使用。而ESP报头用来对在多个主机或网关之间通信的IP报文提供完整性保护、鉴别和加密。
SA(SecurityAssociation)的概念是IPsec协议的基础。一个特定的SA由一特定的SPI(SecurityParameterIndex,安全参数索引)和DA(DestinationAddress,目的地址)的组合唯一确定。SA通常包括下列参数:AH的实现中所使用的鉴别算法和算法模式;AH的实现中鉴别算法所使用的密钥;ESP的实现中所使用的加密算法和算法模式;ESP的实现中加密算法所使用的密钥;密码同步器的存在与否及大小或ESP中加密算法的初始向量域;密钥生存周期或密钥修改的时间;SA的生存周期;SA的源地址;敏感性级别。SA通常是单向的,两主机间的信任会话通常都有两个SPI在使用,每个方向使用一个。
1.IPsec的安全机制
AH对IP报文提供鉴别信息和强大的完整性保护。如果鉴别算法以及密钥采用非对称密码体制如RSA,则还可提供无否认的数字签名。AH通过对IP报文增加鉴别信息来提供完整性保护,此鉴别信息是通过计算整个IP报文,包括IP报头、其他报头和用户数据中的所有信息而得到的。AH通常总是出现在IP报头之后。鉴别算法在计算前必须将AH的数据域本身以及其他在发送中改变的域作为全“0”考虑。
发送方计算发出IP报文的鉴别数据的第一步就是为发送端分配恰当的SA。所有的SA都是单向的。SA的选择基于发送方标识和目的地址,将指定鉴别算法、密钥和其他安全应用的参数。鉴别数据得到以后,被放入AH的鉴别数据区。
当接收方收到包含IPAH的报文时,首先利用地址和SPI值得到恰当的SA,然后独立校验鉴别数据区和接收的报文数据是否一致。如果一致且此IP报文在发送过程中未被非法修改,则接收。否则,接收方放弃此IP报文,并在系统中记录此次失效。
IPESP是通过对数据进行加密来提供数据的私密性和完整性保护的,从而避免数据在传输过程中的泄密和非法篡改。根据用户的安全需求,ESP机制可用于只对运输层PDU(ProtocolDataUnit,协议数据单元)加密或对整个IP报文进行加密。与此相对应的是ESP有两种工作模式,一是隧道模式,二是运输模式。
在隧道模式的ESP中,发送方首先利用自己的标识和目的地址来分派恰当的SA,用它指定的加密算法和密钥对整个IP报文(包括IP报头)进行加密,构成ESP报文,此ESP报文然后作为载荷被IP协议再封装一次,加上全新的IP报头和路由报头,在Internet中透明传送。接收方收到后,首先剥去IP报头,它利用目的地址和SPI的组合得到正确的会话密钥对ESP报文解密。
在运输模式的ESP中,其工作流程和隧道差不多,只是被加密的部分仅仅是IP报文的载荷即运输层PDU,其中不包括IP报头。
如果ESP中没有采用鉴别机制,那么AH就必须和ESP联合使用,根据哪些数据需要鉴别(AH报头的位置表明了哪些数据是经鉴别的)采用以下两种方法联合使用AH和ESP。
第一种用法是:整个接收到的IP报文都是经鉴别的,包括经加密和未经加密部分。在这种用法中,发送方首先利用ESP进行加密,接着一个明文的IP报头添加到ESP报头前,形成一个新的IP报文。然后,再用AH对此新的IP报文进行鉴别,此鉴别过程和前面描述过的AH工作过程一样。对接收方来讲,接收者首先对利用常规IPAH过程整个报文进行校验。如果鉴别成功,再利用常规ESP过程进行解密。解密过程完成后,结果被提交至高层协议处理。
第二种用法是:首先由AH对初始IP报文进行鉴别,AH报头添加到IP报头和载荷之间,得到一经鉴别的IP报文,再用ESP对此IP报文进行加密。
如果鉴别过程仅仅用来对隧道模式的ESP所保护的数据进行鉴别,那么AH报头通常被放入此经保护的报文。可是如果有人应用了运输模式的ESP,那么AH报头将被放在ESP报头前面,AH也将对整个IP报文进行计算得到鉴别信息。
IP层的安全机制需要密钥管理协议。有几种密钥管理系统可用于IPsec的安全机制AH和ESP中,包括人工密钥分配、自动密钥分配。IETF也正在进行Internet标准密钥管理协议(ISKMP)的开发。
2.用IPsec构筑VPN
IPsec可以在网络中主机内实现,也可在位于内部网和外部网的边界上实现访问控制功能的防火墙(Firewall)中实现。利用IPsec构筑的VPN可以在企业网络的各站点间提供安全IP隧道(由隧道模式ESP加密并重新构造的新IP报文的源到目的地址之间的网段称为安全IP隧道),使企业的敏感数据不被偷窥和篡改。
如远程站点A需和位于防火墙F后的站点B通信,有下列几种方法:
(1)从A构筑IP隧道至防火墙F
在A主机本身和防火墙F之间建立一个SA,IP报文通过IP隧道至F再转发给B。在这种情况下,F对报文进行解密/鉴别操作,并根据规则决定是否将报文转发给B。F和B之间的报文可以是明文。对于由B向外部发出给A的报文来说,必也经过F,B并不对报文进行保护。防火墙F在收到目的地址为A的报文后,对报文进行保护。这种情况的前提是端系统B必须和防火墙F之间存在信任关系。其内部网络也是可信任的。
(2)经保护的报文直到端系统
在这种情况下,防火墙F仅仅作为它两端的端系统的密钥管理代理,当A想要和B开始安全会话时,它必须和F进行密钥管理交换,这时F代表B。从A的观点来看,它已经和B之间建立了一个SA,尽管报文将由F转发给B,F可以对报文进行解密并察看其内容以决定是否转发至B还是丢弃。在这里防火墙F仅仅作为一个报文过滤设备,并不对流量作任何修改。
(3)报文保护至端系统并由隧道至防火墙在这种情况下,内部载荷由运输模式的ESP及AH保护至端系统B,外部载荷由隧道至防火墙F,防火墙F可以不用报文过滤规则而对报文进行鉴别以决定是否转发,在利用拨号PPP网络进入企业网络的连接中,这种方法是非常典型的。对从B发往A的报文来讲,B用运输模式ESP及AH对报文进行保护。防火墙F至A之间由隧道传送。
假定专用网内部是可信任的而仅仅Internet是不可信任的,在此条件下,可仅由在地理上分布的各LAN的边界路由器之间对IP报文用AH和ESP机制进行保护。即仅在两个边界路由器之间建立SA,边界路由器代表了它内部的所有端系统。IPsec机制仅由边界路由器实现。
用IPsec机制实现VPN,当企业内部网使用了专用IP地址时,必须采用NAT(NetworkAddressTranslation,网络地址转换)。对使用专用IP地址的IP报文,必须由IPsec网关用隧道模式ESP封装,新的IP报文的地址由IPsec网关用合法地址进行替换。
四.VPN展望:前景广阔!
由于Internet最初的设计不保证网络服务质量QoS,所以现有的VPN解决方案必须和一些QoS解决方案结合在一起,才能给用户提供高性能的虚拟专用网络。目前IETF已经提出了支持QoS解决方案的带宽资源预留协议RSVP。RSVP协议将保证在数据流经过的各个节点预留相应的网络资源,具有RSVP功能的路由器能实时地调整网络的能力以适应不同的QoS的需求。IPv6协议也提供了处理QoS业务的能力。随着QoS在技术上越来越成熟,VPN技术可以通过QoS保证来获得越来越好的Internet服务,享受到和真正的专用网络一样的应用。
VPN是计算机网络的新技术,它将使Internet成为一种商业工具,并为Intranet及Extranet的应用带来良好的前景。在几种VPN解决方案中,IPsec因为利用了Internet固有的可用性而代表了未来的方向。
|