一、VPN概述
1、VPN的概念
所谓虚拟专网(Virtual Private Network VPN)是指将物理上分布在不同地点的网络通过公用网络连接而构成逻辑上的虚拟子网,它采用认证、访问控制、机密性、数据完整性等安全机制在公用网络上构建专用网络。
如何理解“虚拟”和“专用”?
Virtual是针对传统的企业“专用网络”而言的。VPN则是利用公共网络资源和设备建立一个逻辑上的专用通道,尽管没有自己的专用线路,但它却可以提供和专用网络同样的功能。
Private 表示VPN是被特定企业或用户私有的,公共网络上只有经过授权的用户才可以使用。在该通道内传输的数据经过了加密和认证,保证了传输内容的完整性和机密性。
VPN技术实现了内部网信息在公用信息网中的传输,就如同在茫茫的广域网中为用户拉出一条专线。对用户来讲,公用网络起到了“虚拟”的效果,虽然他们身处世界不同地方,但感觉仿佛是在同一个局域网里工作。
2、VPN的特点
- 费用低
- 安全保障
- 服务质量保证(QoS)
- 可扩充性和灵活性
- 可管理性
3、VPN的分类
VPN根据访问方式不同的分类:
①移动用户远程访问VPN连接
②网关-网关的VPN连接
4、VPN的关键技术
- 隧道技术
- 加/解密技术
- 密钥管理技术
- 身份认证技术
- 访问控制
二、隧道协议与VPN
VPN的隧道概念指的是通过一个公用网络(通常是Internet)建立的一条穿过公用网络的安全的、逻辑上的隧道。在隧道中,数据包被重新分装发送。所谓封装,就是在原IP分组上添加新的标头,就好像将数据包装进信封一样。
现有的封装协议主要包括两类:一类是第2层的隧道协议,是对数据链路层的数据包进行封装;另一类是第3层隧道协议,是对网络层的各种协议数据包进行封装。
1、第2层隧道协议
- PPTP (点对点隧道协议)
- L2F(第2层转发协议)
- L2TP(第2层隧道协议)
第2层隧道协议具有简单易行的优点,但是它们的扩展性都不好。更重要的是,它们没有提供内在的安全机制,不能支持企业和企业的外部用户及供应商会话的保密性需求,
2、第3层隧道协议
- IPSec
- GRE
- MPLS
三、IPSec VPN
互联网安全协议(Internet Protocol Security,缩写为IPsec)
IPSec在OSI参考模型的网络层提供安全性
IPSec是种由IETF设计端到端的确保IP层通信安全的机制。不是一个单独的协议,而是一组协议。IPSec是随着IPv6的制定而产生的,后来也增加了对IPv4的支持。在前者中是必须支持的,在后者中是可选的。
IPsec作为一个第三层隧道协议实现了VPN通信,可以为IP网络通信提供透明的安全服务,免遭窃听和篡改,保证数据的完整性和机密性,有效抵御网络攻击,同时保持易用性。
VPN的两种基本模式:传输模式、隧道模式
1、传输模式
在整个VPN的传输过程中,IP包头并没有被封装进去。IP包头+VPN头(AH头或ESP头)+数据+VPN尾。
2、隧道模式
把数据报文封装进VPN数据中,再添加新IP包头
新IP包头+VPN头+(AH头或ESP头)+IP包头+数据+VPN尾
3、IPSec的工作原理
IPSec通过查询安全策略数据库决定如何对接受到的IP数据包进行处理,它对IP数据包的处理方式包括丢弃、直接转发和IPSec处理,IPSec处理使VPN提供了比包过滤防火墙更高的安全性。IPSec处理意味着对数据包进行加密和验证,保证在公共网络上传输数据的机密性、真实性和完整性。两种工作模式(传输模式-只对数据包的净荷进行加密和验证、隧道模式-对整个数据包进行加密和验证,产生一个新IP报头)
与包过滤防火墙类似,但增加了IPSec处理方式,保证来自内部网络的数据包不被截获,进入内部网络的数据包未被修改。
4、IPsec的主要协议
- AH(Authentication Header)认证首部协议
- ESP(Encapsulating Security Payload)封装净荷安全协议
- IKE(Internet Key Exchange)Internet密钥交换协议
AH序列号提供了抗重放功能
IPSec核心协议中实现安全关联的是IKE
IPSec中的加密是由ESP完成的
ESP是加密封装化协议,而L2TP(第2层隧道协议)则不对分组加密。ESP的“序列号”用来区分使用同一组加密策略的不同数据包。填充数据是为了保证加密数据部分的长度满足分组加密算法的要求。
当ESP工作于传输模式时,封装包头部采用当前的IP头部。在ESP工作于隧道模式时,IPSec将整个IP数据包进行加密作为ESP净荷,并在ESP头部增添以网关地址为源地址的新的IP头部,此时IPSec可以起到NAT的作用。
IPsec的中心概念之一是“安全关联”(SA,Security Association)。所谓安全关联,是指安全服务与它服务的载体之间的一个“连接”,AH和ESP的实现都需要SA的支持,而IKE的主要功能就是建立和维护SA。提供算法和数据包,提供AH、ESP操作所需的参数。
每个SA的标识由三部分组成:
- 安全性参数索引,即SPI
- IP目的地址
- 安全协议标识,即AH或ESP
安全参数索引SPI是由SA接收端选定的一个32比特数值,用来唯一标识该SA
IPSec 众多的RFC通过关系图组织在一起 ,它包含了三个最重要的协议: AH、 ESP、IKE.
(1) AH 为 IP 数据包提供如下 3 种服务:
- 无连接的数据完整性验证
- 数据源身份认证
- 防重放攻击
数据完整性验证通过哈希函数(如 MD5)产生的校验来保证:数据源身份认证通过在计算验证码时加入一个共享密钥来实现;AH 报头中的序列 号可以防止重放攻击。
(2)ESP 除了为 IP 数据包提供 AH 已有的 3 种服务外,还提供数据包加密和数据流加密。数据包加密是指对一个IP包进行加密(整个IP包或其载荷部分),一般 用于客户端计算机:数据流加密一般用于支持 IPSec 的路由器,源端路由器并不关心IP包的内容,对整个 IP 包进行加密后传输,目的端路由器将该包解密后将 原始数据包继续转发。
AH 和 ESP 可以单独使用,也可以嵌套使用。可以在两台主机、两台安全网关(防 火墙和路由器),或者主机与安全网关之间使用。
(3)IKE 负责密钥管理,定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。IKE 将密钥协商的结果保留在SA中,供 AH 和 ESP 以后通信时使用。解释域(DOI)为使用 IKE 进行协商 SA 的协议统一分 配标识符。
5、IPsec VPN的构成
VPN由管理模块、密钥分配和生成模块、身份认证模块、数据加/解密模块、数据分组封装/分解模块和加密函数库等几部分组成。
四、SSL/TLS VPN
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
1)工作层次:介于TCP/IP模型应用层与传输层之间
2)协议分成两部分:
SSL握手协议:通信双方互相验证身份、以及安全协商会话密钥
SSL记录协议:定义了传输的格式,对上层传来的数据加密后传输.
3)功能:
- a鉴别机制:确保网站的合法性;
- b保护隐私:采用加密机制;
- c信息完整性:确保传输的信息不被篡改.
SSL的握手协议的四个阶段
- 客户端发起建立连接的请求
- 对服务器的证书进行认证
- 对客户端的证书进行认证,这一步是可选的
- 变更密码构建和结束握手协议
传输层安全协议(TLS )VPN。与IPSec VPN相比,最大的优点是用户不需要安装和配置客户端软件,只需要在客户端安装一个IE浏览器即可。
原理:在企业防火墙后放置一个TLS代理服务器,如果用户想安全连接到公司网络,现在浏览器输入url,该请求被TLS获取,身份验证后,服务器将提供连接。
TLS VPN的配置简单,加密已经内嵌在浏览器中,无须增加额外的软件。但TLS VPN局限性很大,只能采用证书,只对通信双方所使用的应用通道进行加密,不能对应用层的消息进行数字签名,LAN-LAN的链接缺少理想的TLS解决方案。