IKE学习笔记
一. IKE概述
定义:Internet密钥交换(Internet Key Exchange,简称IKE)用于动态建立SA。
IKE使用ISAKMP消息来协商并建立SA。
什么是ISAKMP?
ISAKMP:定义了消息交换的体系结构,包括两个IPSEC对等体间分组形式和状态转变(定义封装格式和协商包交换的方式)
ISAKMP报文一般使用UDP,端口都是500
我们在进行抓包isakmp时要学会看报文
ISAKMP消息报头:
完整的报文:
二. IKE的工作过程
两个IPSec实体之间的IKE协商分为两个阶段:
– 第一阶段:建立ISAKMP SA(也可称为IKE SA)
• 两种模式:
–主动模式(main mode):6条ISAKMP消息交互,流程规范,适合需要隐藏身份信息的场景(身份信息加密传输)
–野蛮模式(aggressive mode):3条ISAKMP消息交互,协商更快,但身份信息明文传输(安全性较低),适合对速度要求高的场景(如远程拨号)。
• ISAKMP SA是为第二阶段的ISKMP消息提供安全保护
第二阶段:建立IPSec SA
• 一种模式:
–快速模式(quick mode):3条ISAKMP消息交互
• IPSec SA是为IP数据提供安全保护,即前面概念中介绍的SA
– ISAKMP SA可以用来保护多个第二阶段IPSec SA协商的通信过程
两个阶段的分工:
- 第一阶段:建立双向认证的 “管理隧道”(IKE SA),用于后续密钥协商的安全基础。(通过身份认证和密钥交换,生成一个长期有效的安全通道(IKE SA),为第二阶段的协商提供加密和认证保护)
- 第二阶段:在 IKE SA 保护下,协商用于实际数据加密的 “数据隧道”(IPsec SA),并生成会话密钥。
三. 两个阶段的具体过程
阶段一:
a. 第1、2个ISAKMP报文
• 用于交换并协商保护ISAKMP消息的安全参数以及对等体验证方式,包含加密算法、验证算法、验证方式、ISAKMP SA生存时间等安全策略信息(即SA载荷)。IPSec实体会选择双方都支持的安全策略信息。
相关配置
RA(config)#crypto isakmp policy 1
RA(config-isakmp)#?
ISAKMP commands: authentication Set authentication method for protection suite encryption Set encryption algorithm for protection suite group Set the Diffie-Hellman group hash Set hash algorithm for protection suite lifetime Set lifetime for ISAKMP security association
b.第3、4个ISAKMP报文
• 用于交互IKE的密钥交换载荷(Key exchange)和随机值载荷(nonce)。此过程交互信息用于双方使用DH算法计算出共同的密钥材料。
c. 第5、6个ISAKMP报文
• 身份验证:用于交换身份(identification)载荷和HASH载荷
IKE协商第一阶段总结(main mode)
– 第一阶段无论是使用main mode还是aggressive mode,目的都是产生ISAKMP/IKE SA,用ISAKMP/IKE SA为产生第二阶段IPSec SA的ISAKMP消息交互过程进行保护。
• 第1、2个ISAKMP报文
– IPSec实体双方交互SA载荷,选择相同ISAKMP消息的保护策略及认证方式,双方必须达成一致,否则第一阶段协
商失败
• 第3、4个ISAKMP报文
– IPSec实体双方交互DH算法的公共值及密钥计算材料,从而双方计算出一系列相同的密钥
• 第5、6个ISAKMP报文
–第5、6个报文使用第3、4个报文交互后产生的相关密钥进行验证及加密处理。IPSec实体双方分别对对方进行验证
,若使用pre-share key的验证方式,即判断对方是否拥有与本地相同的pre-share key。双方的Key配置必须一
致,否则第一阶段协商失败
阶段二.
IKE协商第二阶段的目的是产生最终用于加密和验证IP数据报文的IPSec SA。
第1、2、3个ISAKMP报文
a.确定IPSec SA的保护策略,使用AH还是ESP、传输模式还是隧道模式、被保护的数据是什么等等,IPSec通信实体双方对于这些安全策略必须达成一致,否则IKE第二阶段协商将无法通过。
b.为降低密钥之间的关联性,第二阶段采用PFS重新进行DH交换,并计算出新的共享密钥,从而计算出IPSec SA中用于加密和验证的密钥。
通俗类比
第一阶段:两人通过视频通话(IKE SA)确认身份(如刷脸认证),并约定 “只有我们知道的暗语”(共享密钥)。
第二阶段:用 “暗语” 加密接下来要聊的具体内容(IPsec SA),确保外人听不懂,且每小时换一次暗语(SA 生存期)。
(ps:文章为学习笔记的基础知识总结,不涉及解密等敏感问题,仅供小白学习参考用)