HCIA
当前位置:首页 > 学习资料 > HCIA >

IPSec之IKE网络密钥交换协议详细介绍

更新时间:2020年07月22日   作者:spoto
上一节简单介绍了IPSec解决方案的构成,那么解决方案中最重要的部分就是如何交换秘钥则成了该方案中十分重要的部分。接下来将简介IPSec方案中,秘钥是如何进行交换的,以及在交换秘钥的过程中需要注意哪些内容。

IPSec之IKE网络密钥交换协议详细介绍

什么是IKE

IKE是因特网秘钥交换协议,是IPSec技术的核心组成部分
主要作用如下:
①对双方进行认证
②交换公共秘钥,产生秘钥资源,并进行秘钥管理
③协商协议参数,主要有:封装、加密、验证
④建立和维护IKE Sas和IPSec Sas
主要由如下部分组成:
①SKEME:定义如何通过公共技术(DH)实现秘钥交换
②Oakey:提供IPSec对各种技术的支持
③ISAKMAP:定义消息交换的体系结构(封装格式和协商包交换的方式),也是IKE的核心组成部分

IKE的阶段

IKE分两个阶段运行,以确定IKE和IPSec的SA。第一阶段让IKE对等体彼此验证对方并并确定会话秘钥,这个阶段使用DH交换、cookie和ID交换创建一个ISAKMP SA,确定ISAKMP SA后,发起方和应答方之间的所有IKE通信都将通过加密和完整性校验检查从而进行保护该阶段的目的是在对等体之间建立一条安全的通信信道,以便对阶段二的协商进行保护。阶段二则使用ESP或者AH来保护IP数据流,以协商并确定IPSec SA。详细内容如下所以。

第一阶段(IKEv1-1)

管理连接都是在第一阶段完成的,该连接使用UDP_500端口进行通信,协商完成后产生一条双向的IKE SA

主要完成内容

①协商管理连接如何被保护
②使用DH来共享密钥信息从而保护管理连接
③验证对等体
完成上述内容主要由以下两个模式:
①主模式(main_mode)
该模式通过6个包,三次交互完成第一阶段协商
思科设备默认使用该模式(因为该模式更安全,但效率更低)
②主动模式(aggressive_mode)
该模式也被叫做野蛮模式
该模式通过3个包,三次交互来完成第一阶段协商
安全性比较低,协商的特性少于主模式,不提供对等体认证
一般当使用远程拨号VPN+域共享秘钥认证场景时,才会使用到该模式。

主模式数据包交互

1)IKE Phase 1 Messages Types 1-2
①发起方发送一个包含SA有效的数据载荷(SAi)
②主要协商保护管理连接的参数:加密算法、散列算法、DH组选择、验证方法、生出时间
③应答放基于SAr字段回复所挑选的协商结果
④数据包是明文交互的。UDP-500端口

IKE Phase 1 Messages Types 1-2

如果双方都有多个策略,那么接收方会根据自己策略的序号,从小到大,依次匹配,直到有完全一样的策略;否则返回策略不匹配相关日志。
2)IKE Phase 2 Messages Types 3-4
①第3、4个数据包交换 用于交换和秘钥相关的信息
②参数X、Y、Ni、Nr都是和DH算法产生秘钥的必要元素
第3、4次交换后产生一条双向的IKE安全关联
④数据包是明文交互,UDP_500端口
IKE Phase 2 Messages Types 3-4

DH算法

①双方都产生一对秘钥,公钥和私钥。(思科设备默认就有)
②双方共享公钥
③双方均使用自己的私钥和对方的公钥,进行DH算法,产生一个本地新的秘钥
④双方产生的新秘钥是可以互通的,因此双方都使用这个新的秘钥来提供私密性和完整性。

DH算法简图

3)IKE Phase 1 Messages Types 5-6
①主要用于认证对等体
②从第5个数据包开始,数据将执行加密和完整性校验(用第1、2个包协商的方式进行)
③如果认证通过,则进行第二阶段的协商
④使用第3、4个数据包产生的双向安全关联进行通信,UDP_500。
IKE Phase 1 Messages Types 5-6

第一阶段的主要状态

1)MM_NO-STATE
开始处于阶段1的主模式协商过程中
2)MM-SA-SETUP
初始化SA建立完毕
3)MM-KEY-EXCH
发生了DH交换,并生成秘钥,进行对等体的身份验证,第一阶段完成。

第一阶段主要交互信息

1)IKE协商发起,第一条消息即将发出
IKE协商发起
2)开始主模式包交互
开始主模式包交互
3)以上为第1、2个包交互,协商策略(提案),以下为接收到对端认可的策略。
接收到对端认可的策略
4)第3、4个包交互,将DH的公共值与随机值发送给对端,并生成秘钥。
将DH的公共值与随机值发送给对端,并生成秘钥
5)第5、6个包交互,并进行认证。
第5、6个包交互,并进行认证

第二阶段(IKEv1-2)

定义了受保护数据连接是如何在两个IPSEC对等体之间构成的,只有一个快速模式

快速模式的主要作用

①协商安全参数来保护数据连接
②周期性的对数据连接更新密钥信息

第二阶段关注内容

①哪些感兴趣流需要被保护
②使用什么封装协议来加密流量(AH/ESP)
③基于什么算法来保护数据流量(例如使用什么样的HMAC)
④使用什么工作模式(传输模式还是隧道模式)
完成以上内容只有一个模式可以使用:
快速模式(Quickly_Mode)
该模式定义通过3个数据包,三次交互来拿完成阶段二的协商
特别注意
阶段二所有的协商流量均使用UDP_500端口,由第一阶段的IKE安全关联保护
阶段二协商完成后,产生两条单向的IPSec安全关联
一条用于本设备发送加密数据(加密作用)
一条用于本设备接收加密数据(解密作用)
实际的通信数据是通过阶段二协商的封装协议执行分装(通常是ESP)

快速模式数据包交互

1)IKE Phase 1 Messages Types 1-2 协商数据传输的保护提案(策略)
①协商用于数据传输的策略
②数值Ni2和Nr2用于生成新的秘钥
③数据是密文交互,UPD_500,使用IKE安全关联
第二阶段:IKE Phase 1 Messages Types 1-2

2)IKE Phase 1 Messages Types 3
确认隧道建立后,后续即可开始传输实际流量
①协商成功后建立隧道
②产生两条单向的IPSec安全关联用于保护通信流量
③数据包的交互是密文,在IPSec安全关联里面
第二阶段:IKE Phase 1 Messages Types 3

第二阶段主要交互信息

1)快速模式即将开始
快速模式即将开始
2)以上为第1、2个包交互,协商提案(策略),以下为接收到对端认可的策略
第二阶段接收到对端认可的策略
3)创建入方向和出方向的安全关联
第二阶段创建入方向和出方向的安全关联
4)确认信息
第二阶段确认信息
5)阶段二完成
阶段二完成

以上便是IKEv1的主要内容,需要注意的是,ISAKMP和IKE是有区别的。ISAKMP规定了IPSec对等体之间如何通信、对等体之间交换的消息的结构以及对等体建立连接时经过的状态变换。ISAKMP提供了验证对等体和交换的方法,然而没有规定如何交换验证秘钥,而是由IKE规定了。

下一节将使用一个实验的方式,来简述IPSec VPN以及相关配置、配置注意事项、具体通信过程。
免费试听
思博SPOTO在线咨询

相关资讯

7天无条件退款
24小时实验室开放
全程跟踪服务
无条件免费重读