IPSec及IKE原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程 DA000019 IPSec及IKE原理ISSUE 1.0
目录
课程说明 (1)
课程介绍 (1)
课程目标 (1)
第1章 IPSec (2)
1.1 IPSec概述 (2)
1.2 IPSec的组成 (3)
1.3 IPSec的安全特点 (4)
1.4 IPSec基本概念 (5)
1.5 AH协议 (7)
1.6 ESP协议 (8)
第2章 IKE概述 (9)
2.1 IKE的安全机制 (10)
2.2 IKE的交换过程 (11)
2.3 DH交换及密钥产生 (12)
2.4 IKE在IPSec中的作用 (13)
2.5 IPSec与IKE的关系 (14)
课程说明
课程介绍
本课程主要介绍IPSec技术。

IPSec(IP Security)是IETF制定的为保证在
Internet上传送数据的安全保密性能的三层隧道加密协议。

IPSec在IP层对
IP报文提供安全服务。

IPSec协议本身定义了如何在IP数据包中增加字段来
保证IP包的完整性、私有性和真实性,以及如何加密数据包。

使用IPsec,
数据就可以安全地在公网上传输。

IKE(Internet Key Exchange)为IPSec提供了自动协商交换密钥、建立安全
联盟的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护
工作。

课程目标
完成本课程的学习后,您应该能够:
●掌握IPSec的基本概念
●了解IPSec的报文格式
●掌握IPSec的数据加密流程
●掌握IPSec和IKE之间的关系
第1章 IPSec
1.1 IPSec概述
IPSec
●IPSec(IP Security)是IETF制定的为保证在Internet上传送数
据的安全保密性能的框架协议
●IPSec包括报文验证头协议AH(协议号51)和报文安全封装协
议ESP(协议号50)两个协议
●IPSec有隧道(tunnel)和传送(transport)两种工作方式
IPSec(IP Security)是IETF制定的为保证在Internet上传送数据的安全保
密性能的三层隧道加密协议。

IPSec在IP层对IP报文提供安全服务。

IPSec
协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、私有性和
真实性,以及如何加密数据包。

使用IPsec,数据就可以安全地在公网上传输。

IPsec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的保
护。

IPSec包括报文验证头协议AH(协议号51)和报文安全封装协议ESP(协
议号50)两个协议。

AH可提供数据源验证和数据完整性校验功能;ESP除
可提供数据验证和完整性校验功能外,还提供对IP报文的加密功能。

IPSec有隧道(tunnel)和传送(transport)两种工作方式。

在隧道方式中,
用户的整个IP数据包被用来计算AH或ESP头,且被加密。

AH或ESP头和
加密用户数据被封装在一个新的IP数据包中;在传送方式中,只是传输层数
据被用来计算AH或ESP头,AH或ESP头和被加密的传输层数据被放置在
原IP包头后面。

1.2 IPSec的组成
IPSec的组成
●IPSec提供两个安全协议
→AH (Authentication Header)报文认证头协议
MD5(Message Digest 5)
SHA1(Secure Hash Algorithm)
→ESP (Encapsulation Security Payload)封装安全载荷协议
DES (Data Encryption Standard)
3DES
其他的加密算法:Blowfish ,blowfish、cast …
IPSec包括AH(协议号51)和ESP(协议号50)两个协议:
●AH(Authentication Header)是报文验证头协议,主要提供的功能有数
据源验证、数据完整性校验和防报文重放功能,可选择的散列算法有MD5
(Message Digest ),SHA1(Secure Hash Algorithm)等。

AH插到标
准IP包头后面,它保证数据包的完整性和真实性,防止黑客截断数据包
或向网络中插入伪造的数据包。

AH采用了hash算法来对数据包进行保
护。

AH没有对用户数据进行加密。

●ESP(Encapsulating Security Payload)是报文安全封装协议,ESP将
需要保护的用户数据进行加密后再封装到IP包中,证数据的完整性、真
实性和私有性。

可选择的加密算法有DES,3DES等。

1.3 IPSec的安全特点
IPSec的安全特点
●数据机密性(Confidentiality)
●数据完整性(Data Integrity)
●数据来源认证(Data Authentication)
●反重放(Anti-Replay)
●数据机密性(Confidentiality):IPSec发送方在通过网络传输包前对包
进行加密。

●数据完整性(Data Integrity):IPSec接收方对发送方发送来的包进行认
证,以确保数据在传输过程中没有被篡改。

●数据来源认证(Data Authentication):IPSec接收方对IPSec包的源地
址进行认证。

这项服务基于数据完整性服务。

●反重放(Anti-Replay):IPSec接收方可检测并拒绝接收过时或重复的
报文。

1.4 IPSec基本概念
IPSec基本概念
●数据流(Data Flow)
●安全联盟(Security Association)
●安全参数索引(Security Parameter Index)
●安全联盟生存时间(Life Time)
●安全策略(Crypto Map)
●转换方式(Transform Mode)
1. 数据流(Data Flow)
为一组具有某些共同特征的数据的集合,由源地址/掩码、目的地址/掩码、IP
报文中封装上层协议的协议号、源端口号、目的端口号等来规定。

通常,一
个数据流采用一个访问控制列表(access-list)来定义,经访问控制列表匹配
的所有报文在逻辑上作为一个数据流。

一个数据流可以是两台主机之间单一
的TCP连接,也可以是两个子网之间所有的数据流量。

IPSec能够对不同的
数据流施加不同的安全保护,例如对不同的数据流使用不同的安全协议、算
法或密钥。

2. 安全联盟(Security Association,简称SA)
IPSec对数据流提供的安全服务通过安全联盟SA来实现,它包括协议、算法、
密钥等内容,具体确定了如何对IP报文进行处理。

一个SA就是两个IPSec
系统之间的一个单向逻辑连接,输入数据流和输出数据流由输入安全联盟与
输出安全联盟分别处理。

安全联盟由一个三元组(安全参数索引(SPI)、IP
目的地址、安全协议号(AH或ESP))来唯一标识。

安全联盟可通过手工配
置和自动协商两种方式建立。

手工建立安全联盟的方式是指用户通过在两端
手工设置一些参数,在两端参数匹配和协商通过后建立安全联盟。

自动协商
方式由IKE生成和维护,通信双方基于各自的安全策略库经过匹配和协商,
最终建立安全联盟而不需要用户的干预。

3. 安全参数索引(SPI)
是一个32比特的数值,在每一个IPSec报文中都携带该值。

SPI、IP目的地址、安全协议号三者结合起来共同构成三元组,来唯一标识一个特定的安全联盟。

在手工配置安全联盟时,需要手工指定SPI的取值。

为保证安全联盟的唯一性,必须使用不同的SPI来配置安全联盟;使用IKE协商产生安全联盟时,SPI将随机生成。

4. 安全联盟生存时间(Life Time)
安全联盟更新时间有“以时间进行限制”(即每隔定长的时间进行更新)和“以流量进行限制”(即每传输一定字节数量的信息就进行更新)两种方式。

5. 安全策略(Crypto Map)
安全策略:由用户手工配置,规定对什么样的数据流采用什么样的安全措施。

对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。

一条安全策略由“名字”和“顺序号”共同唯一确定。

6. 转换方式(Transform Mode)
包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定了把普通的IP报文转换成IPSec报文的方式。

在安全策略中,通过引用一个转换方式来规定该安全策略采用的协议、算法等。

1.5 AH 协议 AH 协议
数据
IP 包头
数据IP 包头
AH
数据原IP 包头AH 新IP 包头
传输模式隧道模式验证数据序列号
安全参数索引(SPI)
保留域
负载长度
下一个头AH 头结构081631
AH (Authentication Header )协议是认证头协议,AH 协议通过使用带密钥的验证算法,对受保护的数据计算摘要。

通过使用数据完整性检查,可判定数据包在传输过程中是否被修改;通过使用认证机制,终端系统或网络设备可对用户或应用进行认证,过滤通信流;认证机制还可防止地址欺骗攻击及重放攻击。

在使用AH 协议时,AH 协议首先在原数据前生成一个AH 报文头,报文头中包括一个递增的序列号(Sequence number )与验证字段(空)、安全参数索引(SPI )等。

AH 协议将对新的数据包进行离散运算,生成一个验证字段(authentication data ),填入AH 头的验证字段。

在Quidway 系列安全路由产品中,AH 协议目前提供了两种散列算法可选择,分别是:MD5和SHA1,这两种算法的密钥长度分别是128bit 和160bit 。

AH 协议使用32比特序列号结合防重放窗口和报文验证来防御重放攻击。

在传输模式下,AH 协议验证IP 报文的数据部分和IP 头中的不变部分。

在隧道模式下, AH 协议验证全部的内部IP 报文和外部IP 头中的不变部分。

1.6 ESP 协议 ESP 协议
数据IP 包头
加密后的数据IP 包头
ESP 头部ESP 头
新IP 包头传输模式
隧道模式
ESP 尾部ESP 验证ESP 尾部ESP 验证
填充字段(0-255字节)
序列号安全参数索引(SPI)
验证数据
下一个头
填充字段长度有效载荷数据(可变)
241680
ESP 协议包结构数据原IP 包头加密部分
ESP (Encapsulating Security Payload )是报文安全封装协议,ESP 协议将用户数据进行加密后封装到IP 包中,以保证数据的私有性。

同时作为可选项,用户可以选择使用带密钥的哈希算法保证报文的完整性和真实性。

ESP 的隧道模式提供了对于报文路径信息的隐藏。

在ESP 协议方式下,可以通过散列算法获得验证数据字段,可选的算法同样是MD5和SHA1。

与AH 协议不同的是,在ESP 协议中还可以选择加密算法,一般常见的是DES 、3DES 等加密算法,Quidway 产品还支持系列硬件加密算法,通过一块专用加密卡完成,不需占用系统资源。

加密算法要从SA 中获得密钥,对参加ESP 加密的整个数据的内容进行加密运算,得到一段新的“数据”。

完成之后,ESP 将在新的“数据”前面加上SPI 字段、序列号字段,在数据后面加上一个验证字段和填充字段等。

ESP 协议使用32比特序列号结合防重放窗口和报文验证,防御重放攻击。

在传输模式下,ESP 协议对IP 报文的有效数据进行加密(可附加验证)。

在隧道模式下,ESP 协议对整个内部IP 报文进行加密(可附加验证)。

第2章 IKE概述
IKE
●IKE(Internet Key Exchange,因特网密钥交换协议)
●为IPSec提供了自动协商交换密钥、建立安全联盟的服务
●通过数据交换来计算密钥
IKE(Internet Key Exchange)因特网密钥交换协议是IPSEC的信令协议,为IPSec提供了自动协商交换密钥、建立安全联盟的服务,能够简化IPSec 的使用和管理,大大简化IPSec的配置和维护工作。

IKE不是在网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥,并且即使第三者截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。

IKE具有一套自保护机制,可以在不安全的网络上安全的分发密钥,验证身份,建立IPSEC安全联盟。

2.1 IKE的安全机制
IKE的安全机制
●完善的前向安全性
●数据验证
→身份验证
→身份保护
●DH交换和密钥分发
IKE具有一套自保护机制,可以在不安全的网络上安全的分发密钥、认证身份
并建立IPSec安全联盟。

完善的前向安全性(PFS:Perfect Forward Security)
是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这
些密钥间没有派生关系。

数据验证有两个方面的概念:
1)保证数据完整性(发送的数据未被第三方修改过)
2)身份保护
身份验证确认通信双方的身份。

验证字用来作为一个输入产生密钥,验证字
不同是不可能在双方产生相同的密钥的。

验证字是验证双方身份的关键。


份数据在密钥产生之后加密传送,实现了对身份数据的保护。

DH交换和密钥分发:
Diffie-Hellman算法是一种公共密钥算法。

通信双方在不传送密钥的情况下通
过交换一些数据,计算出共享的密钥。

PFS特性是由DH算法保障的。

2.2 IKE的交换过程
IKE协商分为两个阶段,分别称为阶段一和阶段二。

阶段一:在网络上建立IKE SA,为其它协议的协商(阶段二)提供保护和快
速协商。

通过协商创建一个通信信道,并对该信道进行认证,为双方进一步
的IKE通信提供机密性、消息完整性以及消息源认证服务,是主模式;
阶段二:快速模式,在IKE SA的保护下完成IPSec的协商。

IKE协商过程中包含三对消息:
●第一对叫SA交换,是协商确认有关安全策略的过程;
●第二对消息叫密钥交换,交换Diffie-Hellman公共值和辅助数据(如:随
机数),加密物在这个阶段产生;
●最后一对消息是ID信息和验证数据交换,进行身份验证和对整个SA交
换进行验证。

2.3 DH交换及密钥产生
DH交换及密钥产生
a
c=g a modp d a modp peer2
peer1
b
d=g b modp
c b modp
d a modp= c b modp=g ab modp
(g ,p)
密钥的产生是通过DH交换技术,DH交换(Diffie-Hellman Exchange)过程如下:
(1) 须进行DH交换的双方各自产生一个随机数,如a和b;
(2) 使用双方确认的共享的公开的两个参数:底数g和模数p各自用随机数
a,b进行幂模运算,得到结果c和d,计算公式如下:
c =g a mo
d p, d=g b modp;
(3) 双方进行交换如上图所示的信息;
(4) 进一步计算,得到DH公有值: da mod p = c b mod p = g a b mod p 此
公式可以从数学上证明。

若网络上的第三方截获了双方的模c和d,那么要计算出DH公有值g ab mod p 还需要获得a或b,a和b始终没有直接在网络上传输过,如果想由模c和d 计算a或b就需要进行离散对数运算,而p为素数,当p足够大时(一般为768位以上的二进制数),数学上已经证明,其计算复杂度非常高从而认为是不可实现的。

所以,DH交换技术可以保证双方能够安全地获得公有信息。

2.4 IKE在IPSec中的作用
IKE在IPSec中的作用
●降低手工配置的复杂度
●安全联盟定时更新
●密钥定时更新
●允许IPSec提供反重放服务
●允许在端与端之间动态认证
因为有了信令协议,很多参数(如:密钥)都可以自动建立。

IKE协议中的DH交换过程,每次的计算和产生结果都是毫无关系的。

为保证
每个安全联盟所使用的密钥互不相关,必须每次安全联盟的建立都运行DH交
换过程。

IPSEC使用IP报文头中的序列号实现防重放。

此序列号是一个32比特的值,
此数溢出后,为实现防重放,安全联盟需要重新建立,这个过程与要IKE协
议的配合。

对安全通信的各方身份的的验证和管理,将影响到IPSEC的部署。

IPSEC的
大规模使用,必须有CA-Certification Authority(认证中心)或其他集中管理
身份数据的机构的参与。

2.5 IPSec与IKE的关系
IPSec与IKE的关系
IKE
TCP UDP
IPSec
IKE
TCP UDP
IPSec 加密的IP报文
IP
IKE的SA协商
SA SA
IKE是UDP之上的一个应用层协议,是IPSEC的信令协议。

IKE为IPSEC协商建立安全联盟,并把建立的参数及生成的密钥交给IPSEC。

IPSEC使用IKE建立的安全联盟对IP报文加密或验证处理。

IPSEC处理做为IP层的一部分,在IP层对报文进行处理。

AH协议和ESP 协议有自己的协议号,分别是51和50。

相关文档
最新文档