当前位置: 首页 > news >正文

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:文章为学习笔记的基础知识总结,不涉及解密等敏感问题,仅供小白学习参考用)

 

 

 

 

http://www.lryc.cn/news/590536.html

相关文章:

  • K8s 自定义调度器 Part1:通过 Scheduler Extender 实现自定义调度逻辑
  • AI产品经理面试宝典第28天:自动驾驶与智慧交通融合面试题与答法
  • Xshell 7.0.0111p.exe 下载安装教程 - 详细步骤指南(包含安装包)
  • Kotlin获取集合中的元素操作
  • Kotlin比较接口
  • 《工程伦理》分析报告二 无人驾驶
  • 利用pdfjs实现的pdf预览简单demo(包含翻页功能)
  • 用AI做带货视频评论分析进阶提分【Datawhale AI 夏令营】
  • Windows11怎样禁止应用开机启动
  • pytorch | minist手写数据集
  • 每日算法刷题Day49:7.16:leetcode 差分5道题,用时2h
  • C# 按照主题的订阅 按照类型的订阅
  • OCR 与 AI 图像识别:协同共生的智能双引擎
  • Spring MVC中@PathVariable的用法详解
  • Vue 3 中调用子组件方法
  • LLM大语言模型不适合统计算数,可以让大模型根据数据自己建表、插入数据、编写查询sql统计
  • 从洞察到行动:大数据+AI赋能消费者洞察
  • 【前端】HTML语义标签的作用与实践
  • Ubuntu GRUB菜单密码重置教程
  • 重学SpringMVC一SpringMVC概述、快速开发程序、请求与响应、Restful请求风格介绍
  • 【一文解决】块级元素,行内元素,行内块元素
  • 第五章 OB 分布式事务高级技术
  • exports使用 package.json字段控制如何访问你的 npm 包
  • 多人协作游戏中,团队共同获取的装备如何确定按份共有或共同共有
  • 软路由 + 代理 IP 实现多手机不同公网 IP 分配教程
  • 从0开始学习R语言--Day48--Calibration Curves 评估模型
  • JobSet:Kubernetes 分布式任务编排的统一解决方案
  • 【add vs commit】Git 中的 add 和 commit 之间的区别
  • PLUS模型+生态系统服务多情景模拟预测实践技术
  • 大语言模型幻觉检测:语义熵揭秘