网络安全笔记8——VPN技术
参考课程:中国大学MOOC《网络安全》——北京航空航天大学
本文偏向于有关协议的概述,关于VPN的详细介绍(实现技术、作用等)可以阅读我的另一篇文章——虚拟专用网络详解
VPN概述
VPN:(虚拟专网, Virtual Private Network)是指将物理上分布在不同地点的网络通过公用网络连接而构成逻辑上的虚拟子网。
特点
- 可节省投资成本
- 保障传输数据安全
- 安全可管可控
- 使用灵活方便
- 可实现远程访问
- 服务质量有保证
分类
-
网关-网关VPN
-
远程访问VPN
按照应用分类
-
内联网VPN(Intranet VPN)
-
外联网VPN(Extranet VPN)
-
远程访问VPN
按隧道协议分类
- IPSEC VPN
- SSL/TLS VPN
- PPTP VPN
- L2TP VPN
- MPLS VPN
关键技术
- 隧道技术
- 加/解密技术
- 密钥管理技术
- 身份认证技术
- 访问控制
隧道协议
二层隧道协议
PPTP
由微软、Asend、 3COM等公司支持的点对点隧道协议(Point to Point Tunneling Protocol)。
L2F
由Cisco、Nortel等公司支持的第2层转发协议(Layer 2 Forwarding)。
L2TP
由IETF起草,微软、Cisco、 3COM等公司共同制定的第2层隧道协议(Layer2 Tunneling Protocol)。
PPTP
PPTP具有两种工作模式:被动模式和主动模式。
PPTP是一种让远程用户拨号连接到本地ISP、通过互联网安全远程访问公司网络。
远程用户采用PPTP经由互联网访问企业的网络和应用,不需要直接拨号至企业网络。
PPTP是为中小企业提供的VPN解决方案,但在具体实现上存在安全隐患。
L2F
由思科系统公司开发,用于创建在互联网上的虚拟专用网络连接的隧道协议。
完全独立于用户的链路层协议。L2F远程用户能够通过任何拨号方式接入公共IP网络。
L2F隧道的建立和配置对用户是完全透明的。L2F协议本身并不提供加密或保密。
L2TP
PPTP和L2F的缺点
- PPTP协议是为中小企业提供的VPN解决方案,安全性差。
- L2F没有把标准加密算法定义在内,已经过时。
L2TP结合了PPTP和L2F协议的优点,适合组建远程接入方式的VPN,已成为事实上的工业标准。
三层隧道协议
IPSec
IPSec是专为IP设计提供安全服务的一种协议,IPSec主要由AH (认证头)、 ESP (封装安全载荷)、IKE (Internet密钥交换) 3个协议组成。
GRE
GRE隧道允许用户使用IP包封装IP、IPX、 AppleTalk包,并支持全部路由协议。GRE只提供数据包封装没有采用加密功能防止网络侦听和攻击。
MPLS
MPLS用标签机制将选路和转发分开,用标签规定一个分组通过网络的路径,适于对服务质量、服务等级及网络资源利用率、网络可靠性有较高要求的VPN业务(也没有加密机制)。
IPSec VPN
IPSec总结在 RFC 6071 中,是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议簇。IPSec可在 IP 网络上创建加密隧道。它的加密和身份验证机制可防止窃听和数据修改,这解释了虚拟专用网络( VPN ) 一词。
IPSec协议由AH和ESP提供了两种工作模式。
这两个协议可以组合起来使用,也可以单独使用。
AH、ESP或AH+ESP既可以在隧道模式中使用,又可以在传输模式中使用。
工作原理
- 无论是加密还是认证,IPSec都有两种工作模式:传输模式和隧道模式
- IPSec网关通过查询安全策略数据库(SPD) 决定对接收到的IP数据包进行转发、丢弃或IPSec处理
- IPSec网关可以对IP数据包只进行加密或认证,也可以对数据包同时实施加密和认证
- 采用传输模式时
IPSec只对IP数据包的净荷进行加密或认证;
封装数据包继续使用原IP头部,只对部分域进行修改;
IPSec协议头部插入到原IP头部和传送层头部之间。
- 采用隧道模式时
IPSec对整个IP数据包进行加密或认证;
产生一个新的IP头,原IP头被放在新IP头和原IP数据包之间。
主要协议
IPSec中主要由AH、ESP和IKE三个协议来实现认证、加密和密钥交换
AH(Authentication Header)
- AH有两种实现方式:传输模式和隧道模式
- AH只涉及认证,不涉及加密
ESP (Encapsulating Security Payload)
- ESP也有两种工作模式:传输模式和隧道模式
- ESP主要用于对IP数据包进行加密,也对认证提供某种程度的支持
IKE (Internet Key Exchange)
- IKE用于动态建立安全关联(SA, Security Association)
- IKE协议分两个阶段:
- 第一阶段:建立IKE安全关联,即在通信双方之间协商密钥
- 第二阶段:利用这个既定的安全关联为IPSec建立安全通道
安全关联
- IPSec的中心概念之一是“安全关联”(SA)
- 每个SA的标识由三部分组成:安全性参数索引(SPI) 、IP目的地址和安全协议标识
- SA有两种模式,即传输模式和隧道模式
- 也可以将不同的SA组合起来使用,以提供多层次的安全性或封装能力
构成
- 管理模块
- 密钥分配和生成模块
- 身份认证模块
- 数据加/解密模块
- 数据分组封装/分解模块
- 加密函数库
SSL/TLS VPN
SSL/TLS VPN也称做传输层安全协议(TLS) VPN,TLS是SSL的升级版。
TLS协议主要用于HTTPS协议中,TLS也可以作为构造VPN的技术。
TLS VPN最大优点是用户不需要安装和配置客户端软件。
由于TLS协议允许使用数字签名和证书,所以它可以提供强大的认证功能。
连接建立
与许多C/S方式一样:
- 客户端向服务器发送"Client hello”信息打开连接
- 服务器用"Server hello"回答
- 要求客户端提供数字证书
- 完成证书验证,执行密钥交换协议
密钥交换协议的任务:
- 产生一个主密钥
- 由主密钥产生两个会话密钥:A→B的密钥和B→A的密钥
- 由主密钥产生两个消息认证码密钥
原理
TLS VPN需要在企业网络防火墙的后面放置一个TLS代理服务器
用户与服务器之间的安全通信建立过程:
- 用户首先要在浏览器上输入一个URL;
- 该连接请求将被TLS代理服务器取得;
- TLS代理服务器对用户进行身份验证;
- TLS代理服务器提供用户与各种不同应用服务器之间的连接。
协议
TLS VPN主要依靠三种协议支持——握手协议、TLS记录协议、告警协议
握手协议
- TLS客户机连接至TLS服务器,要求服务器验证客户机的身份;
- TLS服务器通过发送它的数字证书证明其身份;
- 服务器发出一个请求,对客户端的证书进行验证;
- 协商用于消息加密的加密算法和用于完整性检验的杂凑函数;
- 客户机生成一个随机数,用服务器的公钥对其加密后发送给TLS服务器;
- TLS服务器通过发送另- -随机数据做出响应;
- 对以上两个随机数进行杂凑函数运算,从而生成会话密钥。
TLS记录协议
- 协议建立在TCP/IP协议上;
- 在实际数据传输开始前通信双方进行身份认证、协商加密算法和交换加密密钥等。
告警协议
- 告警协议用于提示何时TLS协议发生了错误,或者两个主机之间的会话何时终止;
- 只有在TLS协议失效时告警协议才会被激活。
优缺点
优点
- 无须安装客户端软件
- 适用于大多数设备
- 适用于大多数操作系统
- 支持网络驱动器访问
- 不需要对网络做改变
- 较强的资源控制能力
- 费用低且有良好安全性
- 可绕过防火墙进行访问
- 已内嵌在浏览器中
缺点
- 认证方式单一
- 应用的局限性很大
- 只对应用通道加密
- 不能对应用层消息签名
- 缺少LAN to LAN连接方案
- 加密级别不如IPSec VPN高
- 不能保护UDP通道安全
- 是应用层加密,性能较差
- 不能实施访问控制
- 需CA支持,证书管理复杂
应用
- 在客户与TLS VPN的通信中,人们通常采用TLS Proxy技术来提高VPN服务器的通信性能和安全身份验证能力
- 主要用于访问内部网中的一-些基于Web的应用:
电子邮件
内部网页浏览
其他基于Web的查询工作
TLS VPN与IPSec VPN的比较
- TLS VPN有很多优点,但并不能取代IPSec VPN。
- IPSec VPN主要提供LAN-to-LAN的隧道安全连接。
- 在为企业高级用户提供远程访问及为企业提供LAN-to-LAN隧道连接方面,IPSec具有无可比拟的优势。
- IPSec VPN厂商开始研究让IPSec VPN 兼容TLS VPN,以增强可用性。届时,IPSec VPN的扩展性将大大加强。
PPTP VPN
点对点隧道协议(PPTP) 是第一个建立VPN的协议
使用灵活,容易部署,而且能得到大多数运营商的解决方案的支持
该协议最初于1998年提出,但由于存在严重的安全问题,随后进行了大量修改,即便如此,声誉仍受到损害
- PPTP VPN最早是Win NT 4.0支持的隧道协议标准,是PPP的扩展。
- PPTP的主要功能是开通VPN隧道,仍采用PPP拨号建立网络连接。
- PPTP只是将用户的PPP帧采用GRE封装成IP数据包,在Internet 上传输。
- PPTP本身没有定义新的加密机制,它只是继承了PPP的认证和加密机制。
- PPTP支持Client-to-LAN型VPN隧道方案,用于移动办公和远程访问服务器。
- PPTP也支持企业网络之间建立LAN-to-LAN的VPN隧道连接。
原理
PPTP由RFC2637定义,是一种应用比较广泛的VPN
- PPTP基于C/S结构,将认证和连接设置功能分离。
- PPTP将传统网络访问服务器的功能分解成PAC和PNS来分别执行。
- PPTP利用NAS的功能分解机制的支持,从而在Internet上实现VPN。
- 建立PPTP连接时,首先需要建立的是客户端与本地ISP的PPP连接。
优缺点
优点
- 不依赖于TCP/IP协议族,可以与Novell的IPX或Microsoft的NetBEUI协议一起使用。
缺点
- 由于现今的大多数网络都基于TCP/IP,所以应用具有一定的局限性。
- 由于PPTP中没有定义加密功能,所以PPTP VPN的安全性是所有类型的VPN中最低的。
MPLS VPN
MPLS VPN是一种基于多协议标记交换技术的IP VPN
在网络路由和交换设备上应用MPLS技术可以简化核心路由器的路由选择方式
MPLS利用传统路由中的标记交换技术来实现IP虚拟专网
MPLS VPN可用来构造宽带的Internet和Extranet
特点
- MPLS是基于标记的IP路由选择方法。
- MPLS技术利用显式路由选择,可灵活选择优质路径来传输数据。
- MPLS协议实现了从第三层路由到第二层交换的转换。
- IP数据包进入网络时,边界路由器给它分配一个标记。
- 对于到达同一目的地的IP数据包,可根据其 TOS(三层数据包的服务标志) 值的要求建立不同转发路径,以确保传输质量。
原理
MPLS由Cisco的标记交换技术演变而来,已成为IETF的标准协议,与传统的网络层技术相比,它引入了以下一些新概念:
- 流
- 标记
- 标记交换
- MPLS节点
- 标记交换路径
- MPLS域
- MPLS边界节点
- 标记交换路由器
- 标记分发协议
步骤
- 网络自动生成路由表
- 将连续的网络层数据包看做流,MPLS边界节点可以首先通过传统的网络层数据转发方式接收这些数据包,有选择的在数据包中加入一个标记,并把它们转发出去
- 当加入标记的链路层数据包在MPLS域中转发时,就不再需要经过网络层的路由选择,而由标记交换路径上的MPLS节点在链路层通过标记交换进行转发
- 将加入标记的链路层数据包发送离开此MPLS域
MPLS用最简化的技术来完成第三层路由向第二层交换的转换
优缺点
优点
- 成本较低
- 提高了资源利用率
- 提高了网络速度
- 提高了灵活性可扩展性
- 业务综合能力强
- MPLS的QoS保证
- 适用于城域网网络环境
缺点
- 由于ATM技术本身目前备受争议,所以MPLS VPN的存在价值大打折扣;
- MPLS VPN与L2F VPN、PPTP VPN一样,本身没有采用加密机制,因此MPLS VPN实际上安全性比较低。
总之,IPSec VPN和SSL VPN是目前使用最普遍、安全性最高的协议,其安全性优于其他类型的VPN。