论文部分内容阅读
VPN的基本概念
随着网络,尤其是网络经济的发展,企业规模日益扩大,客户分布日益广泛,合作伙伴日益增多,传统企业网基于固定地点的专线连接方式,已难以适应现代企业的需求。于是企业在自身网络的灵活性、安全性、经济性、扩展性等方面提出了更高的要求。虚拟专用网(VPN)以其独具特色的优势,赢得了越来越多的企业的青睐,令企业可以较少地关注网络的运行与维护,更多地致力于企业商业目标的实现。
虚拟专用网(VPN)代表了当今网络发展的最新趋势,它综合了传统数据网络的性能优点(安全和 QoS)和共享数据网络结构的优点(简单和低成本),能够提供远程访问、外部网和内部网的连接,价格比专线或者帧中继网络要低得多。而且,VPN在降低成本的同时满足了对网络带宽、接入服务不断增加的需求。
VPN是利用公网来构建专用网络,它是通过特殊设计的硬件和软件直接通过共享的IP网所建立的隧道来完成的。我们通常将 VPN当作 WAN解决方案,但它也可以简单地用于 LAN。VPN类似于点到点直接拨号连接或租用线路连接,尽管它是以交换和路由的方式工作。许多企业担心在共享的 IP网络上传输的敏感数据会被网络黑客截获甚至修改,为此,在大多数情况下,VPN上传输的数据流是经过加密处理的。使用VPN,企业内部资源享用者只需连入本地ISP的POP(介入服务提供点)即可相互通信,而利用传统的WAN组网技术,彼此之间要有专线相连才可达到相同目的。VPN按其在不同层次上实现,可分为链路层VPN、网络层VPN、传输层VPN、非IP类VPN
四种。
VPN的主要技术
VPN的主要技术是隧道技术和密码技术
1.隧道技术基础
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其它协议的数据桢或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装、传输和解包在内的全过程。隧道所使用的传输网络可以是任何类型的公共互联网络。
目前较为成熟的隧道技术包括:IP网络上的SNA隧道技术和IP网络上的Novell NetWare IPX隧道技术。
另外还有一些新的隧道技术,具体包括:点对点隧道协议(PPTP)、第2层隧道协议(L2TP)和安全IP(IPSec)隧道模式。
2.隧道协议
为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。隧道技术可以分别以第2层或第3层隧道协议为基础。上述分层按照开放系统互联(OSI)的参考模型划分。第2层隧道协议对应OSI模型中的数据链路层,使用帧作为数据交换单位。PPTP、L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)帧中通过互联网络发送。第3层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位。IP overIP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。
3.隧道技术的实现
对于像PPTP和L2TP这样的第2层隧道协议,创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商隧道各种配置变量,如地址分配,加密或压缩等参数。绝大多数情况下,通过隧道传输的数据都使用基于数据报的协议发送。隧道维护协议被用来作为管理隧道的机制。
第3层隧道技术通常假定所有配置问题已经通过手工过程完成。这些协议不对隧道进行维护。与第3层隧道协议不同,第2层隧道协议(PPTP和L2TP)必须包括对隧道的创建、维护和终止。
隧道一旦建立,数据就可以通过隧道发送。隧道客户端和服务器使用隧道数据传输协议准备传输数据。例如,当隧道客户端向服务器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,然后把封装的数据通过互联网络发送,并由互联网络将数据路由到隧道的服务器端。隧道服务器端收到数据包之后,去除隧道数据传输协议包头,然后将负载数据转发到目标网络。
4.隧道协议和基本隧道要求
因为第2层隧道协议(PPTP和L2TP)以完善的PPP协议为基础,因此继承了一整套的特性。
(1)用户验证
第2层隧道协议继承了PPP协议的用户验证方式。许多第3层隧道技术都假定在创建隧道之前,隧道的两个端点相互之间已经了解或已经经过验证。
(2)令牌卡(Token card)支持
通过使用扩展验证协议(EAP),第2层隧道协议能够支持多种验证方法,包括一次性口令(one-time password)、加密计算器(cryptographic calculator)和智能卡等。第3层隧道协议也支持使用类似的方法,例如,IPSec协议通过ISAKMP/Oakley协商确定公共密钥证书验证。
(3)动态地址分配
第2层隧道协议支持在网络控制协议(NCP)协商机制的基础上动态分配客户地址。第3层隧道协议通常假定隧道建立之前已经进行了地址分配。目前IPSec隧道模式下的地址分配方案仍在开发之中。
(4)数据压缩
第2层隧道协议支持基于PPP的数据压缩方式。例如,微软的PPTP和L2TP方案使用微软点对点加密协议(MPPE)。IETP正在开发应用于第3层隧道协议的类似数据压缩机制。
(5)数据加密
第2层隧道协议支持基于PPP的数据加密机制。微软的PPTP方案支持在RSA/RC4算法的基础上选择使用MPPE。第3层隧道协议可以使用类似方法,例如,IPSec通过ISAKMP/Oakley协商确定几种可选的数据加密方法。微软的L2TP协议使用IPSec加密保障隧道客户端和服务器之间数据流的安全。
(6)密钥管理
作为第2层协议的MPPE依靠验证用户时生成的密钥,定期对其更新。IPSec在ISAKMP交换过程中公开协商公用密钥,同样对其进行定期更新。
(7)多协议支持
第2层隧道协议支持多种负载数据协议,从而使隧道客户能够访问使用IP、IPX或NetBEUI等多种协议企业网络。相反,第3层隧道协议,如IPSec隧道模式只能支持使用IP协议的目标网络。
5.点对点协议
第2层隧道协议在很大程度上依靠PPP协议的各种特性。PPP协议主要是设计用来通过拨号或专线方式建立点对点连接发送数据。PPP协议将IP、IPX和NETBEUI包封装在PP帧内通过点对点的链路发送。PPP协议主要应用于连接拨号用户和NAS。 PPP拨号会话过程可以分成4个不同的阶段。分别如下:
(1)阶段1:创建PPP链路
PPP使用链路控制协议(LCP)创建,维护或终止一次物理连接。在LCP阶段的初期,将对基本的通讯方式进行选择。应当注意在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。同样,在LCP阶段还将确定链路对等双方是否要对使用数据压缩或加密进行协商。实际对数据压缩/加密算法和其它细节的选择将在第4阶段实现。
(2)阶段2:用户验证
在第2阶段,客户会PC将用户的身份明发给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。大多数的PPP方案只提供了有限的验证方式,包括口令验证协议(PAP),挑战握手验证协议(CHAP)和微软挑战握手验证协议(MSCHAP)。
(3)阶段3:PPP回叫控制(callback control)
微软设计的PPP包括一个可选的回叫控制阶段。该阶段在完成验证之后使用回叫控制协议(CBCP)。如果配置使用回叫,那么在验证之后远程客户和NAS之间的连接将会被断开。然后由NAS使用特定的电话号码回叫远程客户。这样可以进一步保证拨号网络的安全性。NAS只支持对位于特定电话号码处的远程客户进行回叫。
(4)阶段4:调用网络层协议
在以上各阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP).例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。在微软的PPP方案中,考虑到数据压缩和数据加密实现过程相同,所以共同使用压缩控制协议协商数据压缩(使用MPPC)和数据加密(使用MPPE)。
5.数据传输阶段
一旦完成上述4阶段的协商,PPP就开始在连接对等双方之间转发数据。每个被传送的数据报都被封装在PPP包头内,该包头将会在到达接收方之后被去除。如果在阶段1选择使用数据压缩并且在阶段4完成了协商,数据将会在被传送之间进行压缩。类似的,如果已经选择使用数据加密并完成了协商,数据(或被压缩数据)将会在传送之前进行加密。
6.隧道类型
(1)自愿隧道(Voluntary tunnel)
用户或客户端计算机可以通过发送VPN请求配置和创建一条自愿隧道。此时,用户端计算机作为隧道客户方成为隧道的一个端点。
(2)强制隧道(Compulsory tunnel)
由支持VPN的拨号接入服务器配置和创建一条强制隧道。此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器作为隧道客户端,成为隧道的一个端点。
目前,自愿隧道是最普遍使用的隧道类型。以下,将对上述两种隧道类型进行详细介绍。
● 自愿隧道:当一台工作站或路由器使用隧道客户软件创建到目标隧道服务器的虚拟连接时建立自愿隧道。为实现这一目的,客户端计算机必须安装适当的隧道协议。自愿隧道需要有一条IP连接(通过局域网或拨号线路)。使用拨号方式时,客户端必须在建立隧道之前创建与公共互联网络的拨号连接。一个最典型的例子是Internet拨号用户必须在创建Internet隧道之前拨通本地ISP取得与Internet的连接。
● 强制隧道:目前,一些商家提供能够代替拨号客户创建隧道的拨号接入服务器。这些能够为客户端计算机提供隧道的计算机或网络设备包括支持PPTP协议的前端处理器(FEP),支持L2TP协议的L2TP接入集线器(LAC)或支持IPSec的安全IP网关。
客户只能使用由FEP创建的隧道,所以称为强制隧道。一旦最初的连接成功,所有客户端的数据流将自动的通过隧道发送。使用强制隧道,客户端计算机建立单一的PPP连接,当客户拨入NAS时,一条隧道将被创建,所有的数据流自动通过该隧道路由。可以配置FEP为所有的拨号客户创建到指定隧道服务器的隧道,也可以配置FEP基于不同的用户名或目的地创建不同的隧道。
自愿隧道技术为每个客户创建独立的隧道。FEP和隧道服务器之间建立的隧道可以被多个拨号客户共享,而不必为每个客户建立一条新的隧道。因此,一条隧道中可能会传递多个客户的数据信息,只有在最后一个隧道用户断开连接之后才终止整条隧道。
7.加密技术
(1)高级安全功能
虽然Internet为创建VPN提供了极大的方便,但是需要建立强大的安全功能以确保企业内部网络不受到外来攻击,确保通过公共网络传送的企业数据的安全。
对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密钥将密文还原成明文。RSA RC4算法,数据加密标准(DES),国际数据加密算法(IDEA)以及Skipjack加密技术都属于对称加密方式。
非对称加密,或公用密钥,通讯各方使用两个不同的密钥,一个是只有发送方知道的专用密钥,另一个则是对应的公用密钥,任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密。
公用密钥加密技术允许对信息进行数字签名。数字签名使用发送一方的专用密钥对所发送信息的某一部分进行加密。接受方收到该信息后,使用发送方的公用密钥解密数字签名,验证发送方身份。
(2)证书
使用对称加密时,发送和接收方都使用共享的加密密钥。必须在进行加密通讯之前,完成密钥的分布。使用非对称加密时,发送方使用一个专用密钥加密信息或数字签名,接收方使用公用密钥解密信息。公用密钥可以自由分布给任何需要接收加密信息或数字签名信息的一方,发送方只要保证专用密钥的安全性即可。
为保证公用密钥的完整性,公用密钥随证书一同发布。证书(或公用密钥证书)是一种经过证书签发机构(CA)数字签名的数据结构。CA使用自己的专用密钥对证书进行数字签名。如果接受方知道CA的公用密钥,就可以证明证书是由CA签发,因此包含可靠的信息和有效的公用密钥。总之,公用密钥证书为验证发送方的身份提供了一种方便,可靠的方法。IPSec可以选择使用该方式进行端到端的验证。RAS可以使用公用密钥证书验证用户身份。