VPN技术详解:定义、分类与核心技术
VPN技术详解:定义、分类与核心技术
VPN介绍
VPN(Virtual Private Network)即虚拟专用网络,通常是指通过ISP或其他网络服务提供商,或企业自身建立的一条虚拟网络专线。这条虚拟专线是逻辑上的,而非物理上的,因此被称为虚拟专用网。
VPN分类
按建设单位分类
- 企业自建的VPN专线:包括GRE、IPSEC、SSL VPN、L2TP等。这种VPN构建成本较低,因为不需要支付专线费用,仅需承担购买VPN设备的费用。同时,在网络控制方面,企业拥有更多的主动性。
- 直接租用运营商的VPN专线:如MPLS VPN。这种方式需要企业支付专线的租用费用,但控制、安全以及网速方面的问题都将由运营商负责。MPLS VPN的优势在于专线的租用成本较低。
按组网方式分类
远程访问VPN(ACCESS VPN):适合出差员工VPN拨号接入的场景。员工可以在任何能够接入公网的地方,通过远程拨号接入企业内网,从而访问内网资源。
局域网到局域网的VPN(也称为网关到网关的VPN)
按应用场景分类
远程访问VPN:面向出差员工,允许员工跨越公用网络远程接入公司内部网络。
Intranet VPN(企业内部虚拟专网):通过公用网络进行企业内部各个网络的互连。
Extranet VPN(扩展的企业内部虚拟专网):利用VPN将企业网延伸至合作伙伴处,使不同企业间通过公网来构筑VPN。Intranet VPN 和Extranet VPN的主要区别在于访问公司总部网络资源的权限不同。
按技术实现层次分类
基于数据链路层的VPN:如L2TP、L2F、PPTP。其中L2F和PPTP已被L2TP替代。
基于网络层的VPN:如GRE、IPSec。
基于应用层的VPN:如SSL。
VPN的核心技术
隧道技术
隧道技术是VPN的基本技术,类似于点到点连接技术。其基本过程是在数据进入源VPN网关后,将数据“封装”后通过公网传输到目的VPN网关后再对数据“解封装”。这种“封装/解封装”过程本身就可以为原始报文提供安全防护功能,因此被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。不同的VPN技术封装/解封装的过程完全不同。
VPN通过封装本身就是对数据的一种保护,而工作在不同层次的VPN,其实质就是保护其所在层次即以上的数据。当然,这种保护在没有加密的情况下,并不代表安全。
我们一般网络封装协议都是由三部分组成的:乘客协议、封装协议、运输协议。
身份认证技术
主要用于移动办公的用户远程接入的情况。通过对用户的身份进行认证,确保接入内部网络的用户是合法用户,而非恶意用户。不同的VPN技术能提供的用户身份认证方法不同:
- GRE不支持身份认证技术。
- L2TP:依赖PPP提供的认证(比如CHAP、PAP、EAP)。接入用户的用户名和密码本地认证也可以通过RADIUS服务器认证。认证通过以后再给用户分配内部的IP地址,通过此IP地址对用户进行授权和管理。
- IPSec:通过IKEv2拨号时,支持进行EAP认证。接入用户的用户名和密码可以本地认证可以通过RADIUS服务器认证。认证通过以后再给用户分配内部的IP地址,通过此IP地址对用户进行授权和管理。另外IPSec还支持数据源认证,在下面的数据验证技术里进行说明。
- SSL VPN:支持本地认证、证书认证和服务器认证。主要是对服务器进行身份认证,确认Web网页的合法性。
身份认证技术是VPN技术的前提。
加密技术
加密技术就是把能读懂的报文变成无法读懂的报文,也就是把明文变成密文,这样即便是有黑客获取了报文也无法知道其真实含义。加密对象有数据报文和协议报文之分,能够实现协议报文和数据报文都加密的协议安全系数更高。
- GRE和L2TP协议本身不提供加密技术,所以通常结合IPSec协议一起使用,使用IPSec的加密技术。
- IPSec:支持数据报文和协议报文加密。IPSec一般采用对称密钥算法加密数据。对称加密算法采用相同的密钥加密和解密数据。
- SSL VPN:支持数据报文和协议报文加密。SSL VPN采用公钥体制进行加密。公钥体制加密跟对称密钥加密的差别在于加密和解密的所用的密钥是不同的密钥。采用公钥进行加密,私钥进行解密。公钥和私钥一一对应。
数据验证技术
数据认证技术用于保证数据的完整性。主要通过HASH计算摘要值,之后通过比对摘要值来保障完整性。
- GRE VPN:可以加入校验和。但是,GRE的这种功能是可选的,两边开启之后,才会激活数据认证功能。
- L2TP VPN:不支持数据认证
- IPSEC VPN,SSL VPN:都支持数据认证