IPSec 技 术

39
IPSec 技 技 技技技 技 技 Oct.2005

description

IPSec 技 术. 产品部 叶 榕 Oct.2005. 提 纲. 什么是 IPSec 协议 提供的安全机制 IPSec 的结构 IPSec 协议的组成 IPSec 工作原理 IPSec 的两种模式 IKE 协议 IPSec 技术疑难. 什么是 IPSec 协议. IPSec (网络安全协议)协议是一个协议集而不是一个单个的协议; IPSec 协议给出了应用于 IP 层上网络数据安全的一整套体系结构; 自 1995 年 IPSec 的研究工作开始以来, IETF 组织已经积累了大量的标准文件集( RFC )。. IPSec 协议. - PowerPoint PPT Presentation

Transcript of IPSec 技 术

Page 1: IPSec   技 术

IPSec 技 术

产品部 叶 榕 Oct.2005

Page 2: IPSec   技 术

提 纲

什么是 IPSec 协议 提供的安全机制 IPSec 的结构 IPSec 协议的组成 IPSec 工作原理 IPSec 的两种模式 IKE 协议 IPSec 技术疑难

Page 3: IPSec   技 术

什么是 IPSec 协议

IPSec (网络安全协议)协议是一个协议集而不是一个单个的协议;

IPSec 协议给出了应用于 IP 层上网络数据安全的一整套体系结构;

自 1995 年 IPSec 的研究工作开始以来, IETF 组织已经积累了大量的标准文件集( RFC )。

Page 4: IPSec   技 术

IPSec 协议

IPSec 协议包括 AH 协议、 ESP 协议、密钥管理协议( IKE 协议)和用于网络验证及加密的一些算法等。

IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源验证、数据加密等网络安全服务。

Page 5: IPSec   技 术

IPSec 协议提供的安全机制

1 机密性保护: IKE 使用 Diffie-Hellman 算法完成密钥的交换,并使后续的协商处在加密保护中完成;

2 数据完整性与身份验证: IKE 通过交换验证载荷完成对数据完整性的检验,并同时完成对对端身份的验证;

3 抗拒绝服务攻击( DoS ):在 IKE 交换中,首先交换的是 cookie ,在一次交换中首先检查 cookie 值,把需要 CPU 密集运算的处理放在 cookie 值检验之后,这样可以对DoS 攻击提供一种简单的防范机制;

Page 6: IPSec   技 术

IPSec 协议提供的安全机制

4 防止中间人攻击:中间人攻击包括窃听、插入、删除、修改、反射旧消息、重放旧消息以及重定向消息等。 IKE 协议通过将认证、加密与 SA 交换相结合等方式,提供对中间人攻击的较好防范;

5 完美向前保密( Perfect Forward Secrecy ,简称 PFS ):完美向前保密是指即使攻击者破解了一个密钥,也只能获得该密钥加密的信息,而不能获得其它的数据信息。而 IKE 提供的 PFS ,指即使攻击者破解了第一阶段的密钥交换,也只能获得受该 SA 保护的信息,但却不能获得受 IPsec SA 保护的数据信息。

Page 7: IPSec   技 术

IPSec 的结构

体 系

封装安全载荷 验证头

密钥管理

加密算法

解释域( DOI )

认证算法

策 略

Page 8: IPSec   技 术

IPSec 协议的组成

验证头协议( AH - Authentication Header )

封装安全协议( ESP - Encapsulating Security Protocol )

Internet 密钥管理协议( IKE - Internet Key Exchange )

安全政策

Page 9: IPSec   技 术

IPSec 工作原理

IPSec 认证- AH IPSec 加密- ESP IPSec DOI (解释域) 安全联盟( SA )

Page 10: IPSec   技 术

IPSec 认证- AH 协议

AH 协议提供数据的认证服务;保证数据在传输过程中没有被改变或破坏,数据的顺序也没有很大变化;

其使用的包头号放在标准的 IPv4 和 IPv6 包头和下一个高层协议帧(如 TCP 、 UDP 、 ICMP 、 ESP 等)之间;

国际 IANA 机构分配给 AH 的协议号为 51 。

IPv4 包头 AH 包头 高层协议

Page 11: IPSec   技 术

IPSec 加密- ESP 协议

ESP 协议为 IP 数据包提供机密性、数据源验证、抗重播以及数据完整性等安全服务;

其使用的包头号放在标准的 IPv4 和 IPv6 包头和下一个高层协议帧(如 TCP 、 UDP 、 ICMP 等)之间。

国际 IANA 机构分配给 ESP 的协议号为 50 。

IPv4 包头 ESP 包头 高层协议

Page 12: IPSec   技 术

IPSec DOI

用于 IPSec 的 DOI 确定与 AH 和 ESP 协议有关的所有参数,并且给它们分配唯一的标志符。

IKE 定义了安全参数如何协商,以及共享密钥如何建立。但没有定义协商的内容,这个方面的定义是由 DOI 文档来进行的。

实际上, DOI 在 IPSec 安全联盟的协商过程中起一个可参考调用的数据库的作用。

Page 13: IPSec   技 术

安全联盟( SA )

安全联盟简称 SA ,是构成 IPSec 的基础。

SA 是两个通信实体经协商建立起来的一种协定。 SA 是单向的,双向的通信需要两个 SA 。

主机 A 主机 B

SA ( out )SA ( in )

SA ( in )

SA ( out )

共享相同的加密参数

共享相同的加密参数

Page 14: IPSec   技 术

安全联盟( SA )

SADB - SA 数据库 为进入和外出包处理维持一个活动的 SA 列表。

SPD -安全策略数据库 策略:定义了两个实体之间的安全通信特性,什么模式下用什么

协议,以及如何对待 IP 包。 外出包和进入包的处理都要查阅 SPD 。对外出包,通过查阅 SP

D ,判断这个包是否需要安全保护;对进入包,通过查阅 SPD ,判断为这个包提供的安全保护是否和策略配置的安全保护相符。

SPI -安全参数索引 一个长度为 32 位的数据实体,用于独一无二地标识出接收端上的

一个 SA 。

Page 15: IPSec   技 术

SA 的管理

SA 管理的两大任务 创建

─ 先协商 SA 参数,再用 SA更新 SADB

删除

SA 管理方式 手工进行 通过 Internet 密钥交换协议来完成,如 IKE

Page 16: IPSec   技 术

IPSec 的两种模式

通道模式 AH 和 ESP 保护的是传输头; AH 和 ESP 会拦截从传输层到网

络层的数据包,根据具体的配置提供安全保护。 主要用于主机-主机的 VPN 应用。

隧道模式 用于数据包的最终目的地不是安全终点的情况下。 主要用于网关-网关的 VPN 应用。

Page 17: IPSec   技 术

通道模式下 IPSec 数据包格式

AH+ ESPESP

AH IP头 AH(51) 网络载荷

加密通道

IP头 ESP(50) 网络载荷

IP头 AH(51) ESP(50) 网络载荷

Page 18: IPSec   技 术

隧道模式( IPinIP 协议)

对一个 IP报文进行封装,在原有的 IP 头前,又添加一个新的 IP报头的协议,就像隧道一样保护原来的 IP报文。从而隐藏了网络的相关信息。

国际 IANA 机构分配给 IP 传输协议( IPinIP )的协议号为 4 。

Media 外部 IP协议头

用户数据内部 IP协议头

Page 19: IPSec   技 术

隧道模式下 IPSec 数据包格式

AH+ ESPESP

AH 新 IP头

AH(51) 上层协议

新 IP头 ESP(50)

新 IP头 AH(51) ESP(50)

原 IP头

上层协议原 IP头

上层协议原 IP头

加密通道

Page 20: IPSec   技 术

IKE 协议

什么是 IKE IKE 协商机制 IKE 协商模式 IKE 认证方式 IKE 对证书的要求

Page 21: IPSec   技 术

什么是 IKE

IKE ( Internet Key Exchange )是一个密钥协商协议;

IKE 提供了身份认证,协商信息的保护,并为 IPSec 等安全协议进行安全联盟的协商。

IKE 是一个通用的协议,它不仅可以为 IPSec 协商安全参数,也可以为其它的协议协商安全参数。

Page 22: IPSec   技 术

IKE 协议 IKE 协议是 Oakley 和 SKEME 协议的一种混合,并在由

ISAKMP 规定的一个框架内运行。 ISAKMP ( Internet Security Association and Key Managerme

nt Protocol ) Internet 安全联盟和密钥管理协议─ 为认证和密钥交换提供了一个框架。─ 它定义了包格式、重发计数器以及消息构建要求。即整套加密通信语言。

但并没有定义认证和密钥交换,它用来实现多种密钥交换;

Oakley 描述了多种密钥交换(称为模式)以及每种模式提供的服务(例如:完美向前保护、身份保护和验证);

SKEME 描述了一个通用的密钥交换技术,它能提供匿名性、抗抵赖性和快速密钥更新。

Oakley 和 SKEME 定义了通信双方建立一个共享的验证密钥所必须采取的步骤。 IKE利用 ISAKMP语言对这些步骤以及其它信息交换措施进行表述。

Page 23: IPSec   技 术

IKE 协商机制

IKE采用的密钥协商机制分两个阶段。 第一阶段进行身份认证和 ISAKMP 的安全联盟的协商;即 IKE S

A 的协商并完成身份认证和保护。 第二阶段则利用第一阶段协商的安全联盟来保护信息,并为 IPS

ec 等安全协议进行安全联盟的协商;即 IPSec SA 的协商。

IKE 第一阶段协商分 6 个步骤

IKE 第二阶段协商分 3 个步骤

Page 24: IPSec   技 术

IKE 协商模式

第一阶段两种协商模式 主模式(身份保护交换)- Main Mode

─ 灵活 野蛮模式(根据基本 ISAKMP 文档制定的)- Aggressive Mod

e─ 速度快

第二阶段仅一种协商模式 快速模式- Quick Mode

Page 25: IPSec   技 术

IKE 认证方式

IKE 的认证方式只存在于第一阶段

共有有三种方式 预共享密钥方式( PSK , Preshared Key ) 数字签名方式( RSA SIGNATURE ) 公钥加密方式

Page 26: IPSec   技 术

IKE 的协商步骤

第一阶段 预共享密钥方式,主模式的协商步骤 数字签名方式,主模式的协商步骤 公钥加密方式,主模式的协商步骤

第二阶段 快速模式的协商步骤

Page 27: IPSec   技 术

第一阶段的 6 个步骤

发起者(客户端) 响应者(服务器端)

HDR、 SA

HDR、 SA

步骤 1步骤 2

HDR、 KE、 Nonce HDR、 KE、 Nonc

e

步骤 3步骤 4

HDR、 ID、散列HDR、 ID、散列

步骤 5步骤 6

预共享密钥方式、主模式协商

KE : Key ExchangeDH : Diffie-HellmanNonce :随机数

协商 IKE SA 的各项参数 , 并对交换的其余部分拟定规范。

交换 DH 公共值以及伪随机nonce 。完成DH 交换 , 并生成 SKEYID状态。

标定自己的身份 , 并相互交换验证散列摘要。

Page 28: IPSec   技 术

第一阶段的 6 个步骤

发起者(客户端) 响应者(服务器端)

HDR、 SA

HDR、 SA

步骤 1步骤 2

HDR、 KE、 Nonce HDR、 KE、 Nonc

e

步骤 3步骤 4

HDR、 ID、[ Cert] HDR、 ID、[ Cert

步骤 5步骤 6

数字签名方式、主模式协商

Page 29: IPSec   技 术

第一阶段的 6 个步骤

发起者(客户端) 响应者(服务器端)

HDR、 SA

HDR、 SA

步骤 1步骤 2

HDR、 KE、{ ID} pub_r,{ Ni} pub_r HDR、 KE、{ ID} pub

_I,{ Nr} pub_r

步骤 3步骤 4

HDR、散列HDR、散列

步骤 5步骤 6

公钥加密方式、主模式协商

Page 30: IPSec   技 术

第二阶段的 3 个步骤

发起者(客户端) 响应者(服务器端)

HDR、散列、 SA …

HDR、散列、 SA …

步骤 1

步骤 2

SA 、写 IPSec SA、写 IPSec步骤 3

快速模式协商

发起方在收到响应方的“已连接”消息后,将SA 加入自己的 IPSec SADB 数据库。

将 SA 加入自己的 IPSec SADB数据库。

IKE SA 是双向的,双方都可以发起一次快速模式交换。

Page 31: IPSec   技 术

隧道建立中易出错的阶段

阶段一的步骤 1 协商算法不一致

阶段一的步骤 5 预共享密钥不一致 公钥过期 没有私钥 没有 CA 证书 证书 ID 不一致

阶段二的步骤 7 算法不匹配 子网不一致

Page 32: IPSec   技 术

IKE 对证书的要求

一般采用 X.509 证书 X.509 标准是国际标准,现行版本为 V3版;

X.509 证书是符合一定格式的电子文件,用来识别数字证书持有者的真实身份;

它由具有权威性、可信任性即公正性的第三方机构( CA )所颁发,实现身份的鉴别与识别(认证)、完整性、保密性及不可否认性安全服务。

Page 33: IPSec   技 术

隧道建立中认证方式填写注意

在配置隧道时,必须指定双方的 ID :

当认证方式为 PSK 时, ID默认为双方的 IP地址。

当为数字签名方式时, ID必须与证书相关。可以接收的 ID 有下列四种方式: 1 :证书的 SUBJECT(C=CN, ST=HB, O=TIT, OU=VPN, CN=308/E

[email protected]) 2 : IP 地址 (192.168.16.16) 3 : FQDN (@star-net.cn) - 域名 4 : UFQDN ([email protected]) - 邮件地址

选用 2 、 3 、 4三种 ID必须在证书的 SubjectAltName字段必须存在此 ID 。

Page 34: IPSec   技 术

IPSec 技术疑难

穿越 NATMTU 问题

Page 35: IPSec   技 术

IPSec 为啥不能穿越 NAT

NAT 只对 TCP 、 UDP 、 ICMP 有效, IPSec报文是 AH 、 ESP 协议的,因此 NAT无法正确处理这两类的报文,导致 IPSec 报文无法穿透 NAT设备。

AH 的目的是保护 IP 头部中不变的区域 ( 包括地址域 ) ,而 NAT必须转换地址,从而使 AH 完整性检验失效。 因此, NAT 和 AH 从根本上就是不兼容的。在 IPSec-NAT 兼容

性方案中,没有必要支持 AH 。

VPN 1 VPN 2

AH校验=A

NAT

再次 AH校验=B A

不相等,校验失败

发起方 接收方

操作提示:当 VPN 的应用中存在 NAT 环境时,请不要选择 AH 算法。

Page 36: IPSec   技 术

IPSec 如何实现 NAT穿越

UDP 封装

ESP 传输模式下

ESP 隧道模式下

Page 37: IPSec   技 术

MTU 问题- MTU 与 MSS

MTU: Maxitum Transmission Unit 最大传输单元 EthernetII 帧结构: DMAC+SMAC+Type+Data+CRC 64bytes >= 每个帧 <= 1518bytes 除去帧头 和帧尾, Data 域最大就只能有 1500Bytes 即 MTU 值 网络层 IP 协议会检查每个从上层协议下来的数据包的大小,并根

据本机 MTU 的大小决定是否作“分片”处理。 ─ 分片会降低传输性能 ─ 加 DF 标签,转发设备会丢弃数据包,并返回一个错误信息给发送者。

MSS就是 TCP 数据包每次能够传输的最大数据分段。 MSS 值=MTU - IP 包头( 20bytes )- TCP 包头( 20bytes )

<=1460Bytes 通讯双方会根据双方提供的 MSS 值的最小值确定为这次连接的最大MSS 值。

Page 38: IPSec   技 术

IPSec 与 MTU

IPSec 封装会引入了额外的头(一般 100 bytes左右),这样就会使原来的报文变大( 1500+100=1600 bytes ),因此会造成分片。

分片的缺点: 分片降低传输性能; 某些低端路由器芯片,对 NAT 后的 UDP 分片报文处理不好,导

致报文丢失,使得 IPSec报文无法还原。

产品实现 VPN客户端提供设置 MTU 值的小工具,可修改范围是 576至 1

500 。 目前系统提供默认值 1414 ,这是经过多次反复的测试,性能很好

的一个值。

Page 39: IPSec   技 术