隧道类型
1.自愿隧道(Voluntarytunnel)
用户或客户端计算机可以通过发送VPN请求配置和创建一条自愿隧道。此时,用户端计算机作为隧道客户方成为隧道的一个端点。
2.强制隧道(Compulsorytunnel)
由支持VPN的拨号接入服务器配置和创建一条强制隧道。此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器作为隧道客户端,成为隧道的一个端点。
目前,自愿隧道是最普遍使用的隧道类型。以下,将对上述两种隧道类型进行具体介绍。
自愿隧道
当一台工作站或路由器使用隧道客户软件创建到目标隧道服务器的虚拟连接时建立自愿隧道。为实现这一目的,客户端计算机必须安装适当的隧道协议。自愿隧道需要有一条IP连接(通过局域网或拨号线路)。使用拨号方式时,客户端必须在建立隧道之前创建与公共互联网络的拨号连接。一个最典型的例子是Internet拨号用户必须在创建Internet隧道之前拨通本地ISP取得与Internet的连接。
对企业内部网络来说,客户机已经具有同企业网络的连接,由企业网络为封装负载数据提供到目标隧道服务器路由。
大多数人误认为VPN只能使用拨号连接。其实,VPN只要求支持IP的互联网络。一些客户机(如家用PC)可以通过使用拨号方式连接Internet建立IP传输。这只是为创建隧道所做的初步预备,并不属于隧道协议。
强制隧道
目前,一些商家提供能够代替拨号客户创建隧道的拨号接入服务器。这些能够为客户端计算机提供隧道的计算机或网络设备包括支持PPTP协议的前端处理器(FEP),支持L2TP协议的L2TP接入集线器(LAC)或支持IPSec的安全IP网关。本文将主要以FEP为例进行说明。为正常的发挥功能,FEP必须安装适当的隧道协议,同时必须能够当客户计算机建立起连接时创建隧道。
以Internet为例,客户机向位于本地ISP的能够提供隧道技术的NAS发出拨号呼叫。例如,企业可以与某个ISP签定协议,由ISP为企业在全国范围内设置一套FEP。这些FEP可以通过Internet互联网络创建一条到隧道服务器的隧道,隧道服务器与企业的专用网络相连。这样,就可以将不同地方合并成企业网络端的一条单一的Internet连接。
因为客户只能使用由FEP创建的隧道,所以称为强制隧道。一旦最初的连接成功,所有客户端的数据流将自动的通过隧道发送。使用强制隧道,客户端计算机建立单一的PPP连接,当客户拨入NAS时,一条隧道将被创建,所有的数据流自动通过该隧道路由。可以配置FEP为所有的拨号客户创建到指定隧道服务器的隧道,也可以配置FEP基于不同的用户名或目的地创建不同的隧道。
自愿隧道技术为每个客户创建独立的隧道。FEP和隧道服务器之间建立的隧道可以被多个拨号客户共享,而不必为每个客户建立一条新的隧道。因此,一条隧道中可能会传递多个客户的数据信息,只有在最后一个隧道用户断开连接之后才终止整条隧道。
高级安全功能
虽然Internet为创建VPN提供了极大的方便,但是需要建立强大的安全功能以确保企业内部网络不受到外来攻击,确保通过公共网络传送的企业数据的安全。
对称加密与非对称加密(专用密钥与公用密钥)
对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密钥将密文还原成明文。RSA RC4算法,数据加密标准(DES),国际数据加密算法(IDEA)以及Skipjack加密技术都属于对称加密方式。
非对称加密,或公用密钥,通讯各方使用两个不同的密钥,一个是只有发送方知道的专用密钥,另一个则是对应的公用密钥,任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密。
公用密钥加密技术答应对信息进行数字签名。数字签名使用发送发送一方的专用密钥对所发送信息的某一部分进行加密。接受方收到该信息后,使用发送方的公用密钥解密数字签名,验证发送方身份。
证书
使用对称加密时,发送和接收方都使用共享的加密密钥。必须在进行加密通讯之前,完成密钥的分布。使用非对称加密时,发送方使用一个专用密钥加密信息或数字签名,接收方使用公用密钥解密信息。公用密钥可以自由分布给任何需要接收加密信息或数字签名信息的一方,发送方只要保证专用密钥的安全性即可。
为保证公用密钥的完整性,公用密钥随证书一同发布。证书(或公用密钥证书)是一种经过证书签发机构(CA)数字签名的数据结构。CA使用自己的专用密钥对证书进行数字签名。假如接受方知道CA的公用密钥,就可以证实证书是由CA签发,因此包含可靠的信息和有效的公用密钥。
总之,公用密钥证书为验证发送方的身份提供了一种方便,可靠的方法。IPSec可以选择使用该方式进行端到端的验证。RAS可以使用公用密钥证书验证用户身份。
扩展验证协议(EAP)
如前文所述,PPP只能提供有限的验证方式。EAP是由IETF提出的PPP协议的扩展,答应连接使用任意方式对一条PPP连接的有效性进行验证。EAP支持在一条连接的客户和服务器两端动态加入验证插件模块。
交易层安全协议(EAP-TLS)
EAP-TLS已经作为提议草案提交给IETF,用于建立基于公用密钥证书的强大的验证方式。使用EAP-TLS,客户向拨入服务器发送一份用户方证书,同时,服务器把服务器证书发送给客户。用户证书向服务器提供了强大的用户识别信息;服务器证书保证用户已经连接到预期的服务器。
用户方证书可以被存放在拨号客户PC中,或存放在外部智能卡。无论那种方式,假如用户不能提供没有一定形式的用户识别信息(PIN号或用户名和口令),就无法访问证书。