第2层隧道协议继承了PPP协议的用户验证方式。许多第3层隧道技术都假定在创建隧道之前,隧道的两个端点相互之间已经了解或已经经过验证。一个例外情况是IPSec协议的ISAKMP协商提供了隧道端点之间进行的相互验证。
2.令牌卡(Tokencard)支持
通过使用扩展验证协议(EAP),第2层隧道协议能够支持多种验证方法,包括一次性口令(one-timepassword),加密计算器(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协议的目标网络。
八、点对点协议
PAP是一种简单的明文验证方式。NAS要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
2.挑战-握手验证协议(CHAP)
CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-wayhashingalgorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack).在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remoteclient impersonation)进行攻击。
3.微软挑战-握手验证协议(MS-CHAP)
与CHAP相类似,MS-CHAP也是一种加密验证机制。同CHAP一样,使用MS-CHAP时,NAS会向远程客户发送一个含有会话ID和任意生成的挑战字串的挑战口令。远程客户必须返回用户名以及经过MD4哈希算法加密的挑战字串,会话ID和用户口令的MD4哈希值。采用这种方式服务器端将只存储经过哈希算法加密的用户口令而不是明文口令,这样就能够提供进一步的安全保障。此外,MS-CHAP同样支持附加的错误编码,包括口令过期编码以及允许用户自己修改口令的加密的客户-服务器(client-server)附加信息。使用MS-CHAP,客户端和NAS双方各自生成一个用于随后数据加密的起始密钥。MS-CHAP使用基于MPPE的数据加密,这一点非常重要,可以解释为什么启用基于MPPE的数据加密时必须进行MS-CHAP验证。
在第2阶段PPP链路配置阶段,NAS收集验证数据然后对照自己的数据库或中央验证数据库服务器(位于NT主域控制器或远程验证用户拨入服务器)验证数据的有效性。
阶段3:PPP回叫控制(callbackcontrol)