五 经典实用技术详解-VPN

隧道技术如何实现
对于象PPTP和L2TP这样的第2层隧道协议 , 创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商隧道各种配置变量 , 如地址分配 , 加密或压缩等参数 。绝大多数情况下 , 通过隧道传输的数据都使用基于数据报的协议发送 。隧道维护协议被用来作为治理隧道的机制 。
第3层隧道技术通常假定所有配置问题已经通过手工过程完成 。这些协议不对隧道进行维护 。与第3层隧道协议不同 , 第2层隧道协议(PPTP和L2TP)必须包括对隧道的创建 , 维护和终止 。
隧道一旦建立 , 数据就可以通过隧道发送 。隧道客户端和服务器使用隧道数据传输协议预备传输数据 。例如 , 当隧道客户端向服务器端发送数据时 , 客户端首先给负载数据加上一个隧道数据传送协议包头 , 然后把封装的数据通过互联网络发送 , 并由互联网络将数据路由到隧道的服务器端 。隧道服务器端收到数据包之后 , 去除隧道数据传输协议包头 , 然后将负载数据转发到目标网络 。
隧道协议和基本隧道要求
因为第2层隧道协议(PPTP和L2TP)以完善的PPP协议为基础 , 因此继续了一整套的特性 。
1.用户验证
第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协议的目标网络 。

    推荐阅读