You are on page 1of 40

VPN 技术原 理

VPN 技术

VPN 概述
VPN 的功能
VPN 的工作原理
VPN 的具 用
了解 VPN

• VPN(Virtual Private Network ) :利用公网( Internet )的物理设施,


以某种私密的方式进行数据的通讯且数据内容不会被不受欢迎的人获取
(截获,破解)。(不是一种协议,是一种应用)
• 形象的解释:两个人在地球用地球人理解的语源沟通不是 VPN ,而用
地球人不理解的语源沟通就是 VPN 。
• VPN 的任务:安全通讯
• 身份管理:严格控制只有受欢迎用户才可以访问 VPN ,必要时还需
要提供审计和计费功能。
• 数据加密:确保数据不会被获取或者破解。
• 密钥管理:能够管理利用 VPN 通讯双发的加密和解密密钥。
VPN 的优点
•利用 VPN ,可节省专用和拨号连接的成

•基于 VPN 技术,能够迅速建立和重构网

•简化了企业联网和广域网操作
•提高了网络可靠性
•VPN 网络有很好的兼容性和可扩展性
•企业可以利用 VPN 迅速开展新的服务
和连接全球的设施
现有的 VPN
•PPT P : 19 96 年 Mi cro so ft 和 Asc en d 等在 PP P 协议
上开 发的 。
•L2F : 199 6 年 Cis co 开发的。
•L2T P : 19 97 年底 , Mic ro sof t 和 Ci sc o 共同 开发 。
•SSL : Netscape 公司开 发的 数据安 全协 议。
•IPS ec : IET F 正在完 善,通 过对 数据加 密、 认证 、完
整性 检查 来保证 数据 传输的 可靠 性、私 有性 和保密 性。
IP Se c 由 IP 认证头( AH )、 IP 安全载 荷封 装( ES P )
和密 钥管 理协议 ( IS AKM P )
PPTP/L2TP
• 优点 :
( 1 )对用 Microsoft 操作系 统的用 户很方 便
( 2 )支持 多种 协议。
( 3 )支持 流量 控制, 通过 减少 丢弃包 来改 善网络
性能 。
• 缺点 :
( 1 )安全 性相 对差。
( 2 )不对 两个 节点间 的信 息传 输进行 监视 或控制

( 3 )最多 只能 连接 255 个用户 。
( 4 )端点 用户 需要在 连接 前手 工建立 加密 信道 。
VPN 的功能
网络面临的风险

分支 机构
端到端数据通路的典型构成

安全网关 内部网

ISP 接入设备
Internet
安全网关
远程访问

内部段
外部段
拨入段 公司的内部网络
(公共因特网)
VPN 网络面临的风险

拨入段数据泄漏风险
因特网上数据泄漏的风险
安全网关中数据泄漏的风险
内部网中数据泄漏的风险
VPN 的功能

• 数据机密性保护
• 数据完整性保护
• 数据源身份认证
• 重放攻击保护
数据机密性保护
WWW Mail DNS
内部 WWW
DMZ 区域
Router Internet
一般子网

拨号服务器
明文传输
PSTN
管理子网

重点子网
明文传输
下属机构
密文传输

内部子网

DDN/FR
X.25 专线
数据完整性保护
Hash 摘要
内部 WWW 对原始数据包进行 Hash
对原始数据包进行加密 加密
加密 后的 数据

一般子网
原始数据包

加密 后的 数据 摘要
管理子网 包

重点子网 解密
Hash
加密后的 数据 原始数据包 摘要

摘要
与原摘要进行比较,验证数据的完整性

内部子网
原始数据包

DDN/FR 加密 后的 数据 摘要
包 下属机构
X.25 专线
数据源身份认证
DSS

得到数字签名

内部 WWW Hash 摘要
对原始数据包进行 Hash

私钥 加密
一般子网
原始数据包
将数字签名附在原始包
后面供对方验证签名
原始数据包 DSS
管理子网

取出 DSS Hash
重点子网 原始数据包 DSS 原始数据包 摘要

内部工作子网 两摘要相比较
DSS 解密 摘要
相等吗?
验证通过

原始数据包

DDN/FR 下属机构
X.25 专线 原始数据包 DSS
重放攻击保护
AH 协议头

下一头部 负载长度 保留

安全参数索引( SPI )

序列号

认证数据
(完整性校验值 ICV )变长

ESP 协议头

安全参数索引( SPI )
序列号

负载数据
(变长的)

填充( 0~255 字节)


SA 建立之初,序列号初始化为 0 ,使用该 SA
传递的第一个数据包序列号为 1 ,序列号不允
填充长度 下一头部 许重复,因此每个 SA 所能传递的最大 IP 报文
数为 232—1 ,当序列号达到最大时,就需要建
认证数据
立一个新的 SA ,使用新的密钥。
(变长的)
VPN 的工作原理

隧道基本概念
IPSec 协议栈组成
IPSec 的工作模式
IPSecVPN 的建立方式
隧道基本概念
• 隧道可在网络的任一层实现
• 最常用的是两层:数据链路层和网络层
• 数据链路层隧道:一个链路帧被放到了其它链路层的协
议数据单元( PDU )中 , 该链路层还包括另外的链路帧
,如: PPTP, L2F, L2TP 构成的 VPN
• 网络层隧道:第三层的包被放到其它层或另外的第三层
包中,如 IPsec 的 AH 和 ESP 隧道模式;
• 封装:当某层的 PDU 被放到另外一个 PDU 中的有效载
荷时,把这种处理方式叫做封装
IPSec 概念
 安全关联 (SA)
SA 就是两个 IPSec 系统之间的一个
单向逻辑连接
 通道
将一个数据报用一个新的数
据报封装

〈 Security Parameter Index, IP Destination Address, Security


Protocol 〉

 32 比特,用于标识具有相同 IP 地址和相同安全协议的不同
SA 。
 可以是普通 IP 地址,也可是广播或者组播地址

 可以是 AH 或者 ESP

IP 头部 IP
IP头部
头部 负
负 载

IPSec 框架的组成
 身份认证报头 —— AH 协议
提供数据源身份认证、数据完整性保护、
重放攻击保护功能
 负载安全封装 —— ESP 协议
提供数据保密、数据源身份认证、数据完整
性、重放攻击保护功能
 因特网安全关联和密钥管理协议 —— IKE( 以
前 被 叫 ISAKMP/Oakley)
提供自动建立安全关联和管理密钥的
功能
IPsec 协议栈组成
• IPsec 由一系列协议组成:
– RFC2401( 规定了 IPsec 的基本结构 )
– RFC2402 (验证头)
– RFC2406 (封装安全载荷)
– RFC2407 (用于 Internet 安全联盟和密钥管理协议
ISAKMP 的 Internet IP 安全解释域)
– RFC2408 ( ISAKMP )
– RFC2409 ( Internet 密钥交换, IKE )
– RFC2411 ( IP 安全文档指南)
– RFC2412 ( OAKLEY 密钥确定协议)等。
• IPsec 组件包括安全协议验证头( AH )和封装安全载荷
( ESP )、安全关联( SA )、密钥交换( IKE )及加
密和验证算法等。
IPsec 协议栈组成
安全策略( Security Policy , SP )指示对
IP 数据报提供何种保护,并以何种方式实
施保护。

安全关联( Security Association , SA )是


两个应用 IPsec 实体(主机、路由器)间的
一个单向逻辑连接,决定保护什么、如何
保护以及谁来保护通信数据。

SA 是安全策略的具体化和实例化。为了确
保互操作性, IPsec 规定了与 SA 相关的两
个名义性数据库 -- 安全策略库( SPD )和
安全关联库( SAD )。
IPsec 协议栈 组成

验证头 AH
•验证头 (Authentication Header , AH) 是一个
安全协议头,可在传输模式下使用,为 IP 包
提供:
数据完整性:可判定数据包在传输过程
中是 否被修改
验证服务:终端系统或网络设备可对用
户或 应用进行验证,过滤通信流;还
可防止地 址欺骗攻击及重播攻击。

•AH 头插在 IP 头和上层协议头(如 TCP 或


UDP 头)之间。
IPsec 协议栈组成

封装安全 载荷( ESP )

•封装安全载荷 (Encapsulating Security Payload) 也 是


一个安全协议头;

•采用加密和验证机制,为 IP 数据报提供数据源验
证、数据完整性、抗重播和机密性安全服务;

•可在传输模式和隧道模式下使用;

•ESP 头插在 IP 头和上层协议头(如 TCP 或 UDP 头


)之间,隧道模式下,要对整个 IP 包封装 , ESP 头
位 于 内 外 IP 头之间。
IPsec 协议栈组成

密钥 交换 ( IKE )

RFC2409 对 Internet 密钥交换即 IKE 进行


了描述。

IPsec 的密钥管理包括密钥的确定和
分 配 , 有 手工和自动两种方式。
IPsec 默认的自动密钥管理协议是
IKE 。 IKE 规定了自动验证 IPsec 对
等实体、协商安全服务和产生共享密
钥的标准。
IPsec 协议栈组成

加密和 验证算法
RFC2411 对 IPsec AH 和 ESP 使用的加密和
验证算法的规范进行了描述,并在其他一些文档
中 对 DES 、 HMACMD5 、 HMACSHA - 1 等算法标
准进行了描述。
IPsec 加密算法用于 ESP 。目前的
IPsec 标准要求任何 IPsec 实现都必须支
持 DES 。另外, IPsec 标准规定可使用
3DES 、 RC5 、 IDEA 、 3IDEA 、 CAST
和 Blowfish 。
IPsec 的工作模式

IPsec 使用传输模式和隧道模式
保护通信数据。 IPsec 协议和模式
有 4 种可能的组合:
• AH 传输模式;
• AH 隧道模式;
• ESP 传输模式;
• ESP 隧道模式。
传输 模式

• 传输模 式用于 两台 主机之 间,保护 传输层


协议头 ,实现 端到端 的安全 。
• 它所保 护的数 据包 的通信 终点 也是 IPsec 终
点。
• 实施点 :当数 据包 从传输 层递 给网络 层时
, AH 和 ESP 会进行“ 拦截 ”,在 IP 头与
上层协 议头之 间需 插入一 个 IPsec 头( AH
头或 ESP 头)。
• 实施顺 序:当 同时 应用 AH 和 ESP 传输 模
式时, 应先应 用 ESP ,再应用 AH ,这 样
数据完 整性可 应用 到 ESP 载荷 。
隧道模式
• 实施场 景: 隧道模 式用 于主机 与路 由器或 两
部路由 器之 间,保 护整 个 IP 数据 包。
• 处理: 它将 整个 IP 数据包( 称为 内部 IP 头
)进行 封装 ,然后 增加 一个 IP 头(称 为外部
IP 头), 并在外 部与 内部 IP 头之间插 入一
个 IPsec 头。
• 该模式 的通 信终点 由受 保护的 内部 IP 头指定
,而 IPsec 终点 则由外 部 IP 头指定 。如果
IPsec 终点 为安全 网关 ,则该 网关 会还原 出内
部 IP 包, 再转发 到最 终的目 的地 。
• IPsec 支持 嵌套隧 道, 即对已 隧道 化的数 据包
再进行 隧道 化处理 。
认证头部( AH )
IP 头部 AH 头部 负 载

下一头部 负载长度 保留

安全参数索引( SPI )

序列号

认证数据
(完整性校验值 ICV )变长
32 位

认证数据:一个变长字段,也叫 Integrity Check Value ,由 SA 初始化时指定的算法来计算。长度 = 整数倍 32 位比



序列号: 32 比特,一个单项递增的计数器,用于防止重放攻击, SA 建立之初初始化为 0 ,序列号不允许重复
SPI : 32 比特,用于标识有相同 IP 地址和相同安全协议的不同 SA 。由 SA 的创建者定义,只有逻辑意义

 下一头部: 8 比特,标识认证头后面的下一个负载类型

保留字段: 16 比特,保留将来使用, Default=0


 负载长度: 8 比特,表示以 32 比特为单位的 AH 头部长度减 2 , Default=4
传输模式下的 AH 认证工作原理
Internet
IP 头部 AH 头部 负 载

IP 头部 AH 头部 负 载

VPN 网关
IP 头部 AH 头部 负 载
经过 IPSec 核心处理以后

经过 IPSec 核心处理以后
VPN 网关
IP 头部 负 载

IP 头部 负 载

Host A Host B
隧道模式下的 AH 认证工作原理
Internet
新 IP 头 AH 头 IP 头 负 载



Source IP=Host A

Destination IP=Host B
IP

H
A

Source IP=VPN 网关 1

IP

Destination IP=VPN 网关 2

VPN 网关
2 新 IP 头 AH 头 IP 头 负 载
经过 IPSec 核心处理以后

经过 IPSec 核心处理以后
VPN 网关
1
IP 头 负 载

IP 头 负 载

Host A Host B
负载安全封装( ESP )
IP 头 ESP 头 负 载 ESP 尾 ESP 认证

安全参数索引( SPI )
ESP 头部
序列号

负载数据 证
(变长的) 加 的

填充( 0~255 字节) 的
ESP 尾
填充长度 下一头部 部

认证数据 ESP 认
(变长的) 证数据

32 位

认证数据:一个变长字段,也叫 Integrity Check Value ,由 SA 初始化时指定的算法来计算。长度 = 整数倍 32 位比



 填充长度: 8 比特,给出前面填充字段的长度,置 0 时表示没有填充

 填充字段: 8 比特,大多数加密算法要求输入数据包含整数个分组,因此需要填充

负载数据:包含由下一头部字段给出的变长数据
序列号: 32 比特,一个单项递增的计数器,用于防止重放攻击, SA 建立之初初始化为 0 ,序列号不允许重复

SPI : 32 比特,用于标识有相同 IP 地址和相同安全协议的不同 SA 。由 SA 的创建者定义,只有逻辑意义

 下一头部: 8 比特,标识认证头后面的下一个负载类型
传输 模式下的 ESP 工作原 理
Internet
IP 头 ESP 头 负 载 ESP 尾 ESP 认证

IP 头 ESP 头 负 载 ESP 尾 ESP 认证


加密数据
认证数据 VPN 网关
IP 头 ESP 头 负 载 ESP 尾 ESP 认证
经过 IPSec 核心处理以后
加密数据

经过 IPSec 核心处理以后 认证数据

VPN 网关
IP 头部 负 载

IP 头部 负 载

Host B
Host A
隧道模式下的 ESP 工作原理
Internet


新 IP 头 ESP 头 IP 头 负载 ESP 尾 ESP 认证


P
ES

P
ES

Source IP=Host A

IP

Destination IP=Host B

P
ES

Source IP=VPN 网关 1

VPN 网关
IP

Destination IP=VPN 网关 2

2 新 IP 头 ESP 头 IP 头 负载 ESP 尾 ESP 认证

经过 IPSec 核心处理以后 经过 IPSec 核心处理以后

IP 头 负 载

VPN 网关
1
IP 头 负 载

Host A Host B
组合 IPSec 协议
Internet
外 IP 头 AH 头 ESP 头 内 IP 头 负 载 ESP 尾


P
ES


Source IP=Host A
IP

Destination IP=Host B

P
ES

H
A

Source IP=VPN 网关 1 VPN 网关



IP

2 外 IP 头 AH 头 ESP 头 内 IP 头 负 载 ESP 尾

Destination IP=VPN 网关 2

经过 IPSec 核心处理以后
经过 IPSec 核心处理以后

IP 头 负 载

VPN 网关
1
IP 头 负 载

Host A Host B
AH 与 ESP 协议区别
IP 头 ESP 头 负 载 ESP 尾 ESP 认证
 身份认证

AH 协议 数据完整性校验 认证数据
 重放攻击保护

ESP 可以取
代 AH 吗?

 身份认证
 数据加密
ESP 协议 IP 头部 AH 头部 负 载
 数据完整性校

 重放攻击保护 认证数据
一个完整的 VPN 工作原理图
192.168.1.25 192.168.2.34
Source Address Destination Address Secure Service Others 公司 B
公司 A
192.168.1.25 192.158.1.34 安全 ……

192.158.1.34 192.168.1.25 绕过、丢弃 ……


SPD 中的数据项类似于防火墙的配置规则

SPI Destination Address Security Protocol


的查 256 192.168.1.25 AH 建立相
找 查
IP

应的

找 257 192.168.1.25 ESP


SPD

数 SA
据 对 258 192.168.2.34 AH 要
应 求


提数 建立
259 192.168.2.34 ESP 建
SA

供据 SAD
那库 立


些决 安
参 SPI Security Protocol Algorithm Key Others
IP 头

安定 全
数 相
全为 256 AH 加密 MD5 010 ……
服流 应

IP 头
务入 257 ESP DES CBC 4 101 ……


对原有数据包进行 258 AH 加密 SHA-1 001 …… 联
相应的安全处理 259 ESP 3DES CBC 110 ……
SAD 中包含每一个 SA 的参数信息,如算法、密钥等

VPN 网关 A
双方使用 ISAKMP/Oakley 密钥交换协议建立安全关联,产生或者刷新密钥

外 IP 头 AH 头 ESP 头 内 IP 头 负 载 ESP 尾 VPN 网关


Internet
B
VPN 的具体应用
• 用 VPN 连接分支机构
• 用 VPN 连接业务伙伴
• 用 VPN 连接远程用户
用 VPN 连接分支机构
分支机构
总部

数据在这一段是加密的

数据在这一段是认证的

通道只需定义在两边的网关上

ISP ISP
Internet
VPN 网关 A VPN 网关 B
Gateway 必 Gateway 必须
须支持 IPSec 支持 IPSec
用 VPN 连接合作伙伴
主机必须支 主机必须支
持 IPSec 持 IPSec
业务伙伴
公司 A

通道建立在两边的主机之间,因为业
务伙伴内的主机不是都可以信任的

数 数
据 据 数 数
在 在 据 据
这 这 在 在
一 一 这 这
段 段 数据在这一段是加密的 一 一
是 是 段 段
加 认 是 是
密 证 数据在这一段是认证的 认 加
的 的 证 密
的 的

ISP ISP
Internet
VPN 网关 A VPN 网关
B
用 VPN 连接远程用户
主机必须支
持 IPSec 公司 B

通道建立在移动用户与
公司内部网的网关处

数 数
据 据
在 在
这 这
一 一 PSTN
段 段
是 是 数据在这一段是认证的
认 加
证 密
的 的 数据在这一段是加密的

Internet
VPN 网关
ISP 接入 Gateway 必 B
服务器 须支持 IPSec
谢谢 !

You might also like