分类: 系统运维
2008-06-10 11:15:04
目前有一些软件的VPN产品,基于PPTP协议。
PPTP
PPTP(Point?to?Point Tunneling Protocol)是点对点的协议,基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用Microsoft的点对点加密算法MPPE。 而L2TP(Layer 2 Tunneling Protocol)是 L2FP(Layer 2 Forwarding Protocol)和PPTP的结合,依赖PPP协议建立拨号连接,加密的方法也类似于PPTP,但这是一个两层的协议,可以支持非IP协议数据包的传输,如ATM 或X.25,因此也可以说L2TP是PPTP在实际应用环境中的推广。
无论是PPTP,还是L2TP,它们对现代安全需求的支持都不够完善,应用范围也不够广泛。事实上,缺乏PKI技术所支持的数字证书,VPN 也就缺少了最重要的安全特性。简单地说,数字证书可以被认为是用户的护照,使得他(她)有权使用VPN,证书还为用户的活动提供了审计机制。缺乏数字证书的VPN对认证、完整性和不可否认性的支持相对而言要差很多。
IPSec
基于PKI技术的IPSec协议现在已经成为架构VPN 的基础,它可以为路由器之间、防火墙之间或者路由器和防火墙之间提供经过加密和认证的通信。虽然它的实现会复杂一些,但其安全性比其他协议都完善得多。由于IPSec是IP层上的协议,因此很容易在全世界范围内形成一种规范,具有非常好的通用性,而且IPSec本身就支持面向未来的协议——IPv6。总之,IPSec还是一个发展中的协议,随着成熟的公钥密码技术越来越多地嵌入到IPSec中,现在,该协议会在VPN世界里扮演越来越重要的角色。
由于IPSec必须在端系统OS内核的IP层或节点网络设备的深层以实现,所以IPSec的密钥管理协议是IPSec需要进一步完善的问题。
除了它定义的IP传输的加密机制外,IPSec还定义了IP OVER IP隧道模式的包的格式,这也就是通常指的IPSec隧道模式。一个IPSec隧道是由隧道客户和隧道服务器组成的。它们都使用IPSec隧道和协商加密机制。
IPSec兼容设备在OSI模型的第三层(网络层)提供加宇航局、验证、授权、管理,对于用户来说是透明的(即在应用层不用作任何事情),用户使用时和平常无区别。密钥交换、核对数字签名、加密等都在后台自动进行。
下图是一个典型的IPSec数据包的格式。 )
IP包头 AH包头 ESP包头 上层协议(数据)
另外,为了组建大型VPN,需要认证中心(CA)来进行身份证和分发用户公共密钥。
IPSec可用两种方式对数据流加密:
隧道方式:对整个IP包加密,使用一个新的IPSec包打包。这种隧道协议是在IP协议上进行的。因此不支持多协议。
传输方式:原IP包的地址部分不处理,仅对数据净荷(data payload)进行加密。
IPSec支持的组网方式包括:主机之间、主机与网关、网关之间的组网。这里网关指执行IPSec的路由器或防火墙。
IPSec还对远程访问用户支持。同时还有一整套保证用户数据安全的措施,利用它建立起来的隧道具有更好的安全性和可靠性。IPSec可以和L2TP、GRE等隧道协议一同使用,给用户提供更大的灵活性和可靠性。
GRE
GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GRE隧道协议。
GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。
GRE协议的主要用途有两个:企业内部协议封装和私有地址封装。在国内,由于企业网几乎全部采用的是TCP/IP协议,因此在中国建立隧道时没有对企业内部协议封装的市场需求。企业使用GRE的唯一理由应该是对内部地址的封装。当运营商向多个用户提供这种方式的VPN业务时会存在地址冲突的可能性。
三层隧道协议比较
第三层隧道与第二层隧道相比,优点在于它的安全性、可扩展性及可靠性。从安全的角度来看,由于第二层隧道一般终止在用户网设备(CPE)上,会对用户网的安全及防火墙技术提出较严竣的挑战。而第三层的隧道一般终止在ISP的网关上,不会对用户网的安全构成威胁。从可扩展性角度来看,第二层IP隧道将整个PPP帧封装在报文内,可能会产生传输效率问题;其次,PPP会话会贯穿整个隧道,并终止在用户网的网关或服务器上。由于用户网内的网关要保存大量的PPP对话状态及信息,这会对系统负荷产生较大的影响,当然也会影响系统的扩展性。除此之外,由于PPP的LCP(数据链路层控制)及NCP(网络层控制)对时间非常敏感,IP隧道的效率会造成PPP会话超时等问题。第三层隧道终止在ISP网内,并且PPP会话终止在RAS处,网点无需管理和维护每个PPP会话状态,从而减轻系统负荷。
第三层隧道技术对于公司网络还有一些其他优点,网络管理者采用第三层隧道技术时,不必在他们的远程为客户原有设备(CPE)安装特殊软件。因为PPP和隧道终点由ISP的设备生成,CPE不用负担这些功能,而仅作为一台路由器。第三层隧道技术可采用任意厂家的CPE予以实现。使用第三层隧道技术的公司网络不需要IP地址,也具有安全性。服务提供商网络能够隐藏私有网络和远端节点地址。