虚拟专用网(Virtual Private Network,VPN)是企业网在因特网等公共网络上的延伸,通过一个私有的通道在公共网络上创建一个安全的私有连接。因此,从本质上说VPN是一个虚信道,它可用来连接两个专用网,通过可靠的加密技术方法保证其安全性,并且是作为一个公共网络的一部分存在的。
图15-5 VPN原理示意图
1.VPN的关键技术
目前VPN主要采用四项技术来保证安全,这四项技术分别是隧道技术、加解密技术、密钥管理技术、使用者与设备身份认证技术。
(1)隧道技术是VPN的基本技术,类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。
第二层隧道协议是先把各种网络协议封装到PPP中,再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第二层隧道协议有L2F、PPTP、L2TP等。
第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有VTP、IPSec等。
(2)加解密技术是数据通信中一项较成熟的技术,VPN可直接利用现有技术。
(3)密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。
(4)身份认证技术最常用的是使用者名称与密码或卡片式认证等方式。
2.PPP回话过程
PPP拨号会话过程可以分成4个不同的阶段,分别是:创建PPP链路、用户验证、PPP回叫控制、调用网络层协议。在第2阶段,客户PC会将用户的身份名发给远端的接入服务器。该阶段使用一种安全认证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。大多数的PPP方案只提供了有限的认证方式,包括口令字认证协议(PAP),挑战握手认证协议(CHAP)和微软挑战握手认证协议(MS-CHAP)。
(1)口令字认证协议(PAP)。PAP是一种简单的明文认证方式。NAS要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种认证方式的安全性较差,第三方可以很容易地获取被传送的用户名和口令,并利用这些信息与NAS建立连接,获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
(2)挑战握手认证协议(CHAP)。CHAP是一种加密的认证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串。远程客户必须使用MD5单向哈希算法返回用户名和加密的挑战口令、会话ID以及用户口令,其中用户名以非哈希方式发送。CHAP为每一次认证任意生成一个挑战字串来防止受到再现攻击。在整个连接过程中,CHAP将不定时地向客户端重复发送挑战口令,从而避免第三方冒充远程客户进行攻击。