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

IPsec中IKE与ISAKMP过程分析(主模式-消息2)

        IPsec中IKE与ISAKMP过程分析(主模式-消息1)_搞搞搞高傲的博客-CSDN博客

        IPsec协议族中IKE(Internet Key Exchange)是一种基于ISAKMP的协议,它为建立IPSec安全通信隧道提供了一种无痕密钥交换的机制。简单来说,IKE就是ISAKMP的扩展,为ISAKMP提供了更加高效、灵活和安全的密钥协商机制。

        GMT 0022-2014 IPSec VPN 技术规范 标准参考。

        ISAKMP,internet secrity assocaition and key management protocol, 互联网安全联盟和密钥管理协议定义了建立、协商、修改和删除安全联盟的过程和报文格式,并定义了交换密钥产生和鉴别数据的载荷格式。这些格式为传输密钥和鉴别信息提供了一致的框架。

        IKE,internet key exchange,密钥交换协议则定义了协商、建立、删除安全联盟的过程和报文格式。具体协议报文使用UDP 500或4500端口传输。

        IPsec IKE包括二个阶段,第一阶段主模式(6条消息)和第二阶段快速模式(3条消息)。(第一阶段还有一种野蛮模式Agressive,只包含3条消息,后续作为专题再说)

阶段目标过程消息
IKE第一阶段建立一个ISAKMP SA实现通信双发的身份鉴别和密钥交换,得到工作密钥

(1)HDR,SA

(2)HDR,SA,Cert_sig_r,Cert_enc_r

(3)HDR,XCHi,SIGi

(4)HDR,XCHr.SIGr

(5)HDR*,HASHi

(6)HDR*,HASHr

IKE第二阶段协商IPsec SA实现通信双方IPsec SA,得到ipsec安全策略和会话密钥

(1)HDR*,HASH(1),SA,Ni

(2)HDR*,HASH(2),SA,Nr

(3)HDR*,HASH(3)

        IKE第一阶段消息2由响应方发出,具体包括一个SA载荷(确认响应方所接受的SA提议),响应方签名证书和加密证书。由于目前还没有任何协商得到密钥,所以消息2还是以明文传输。

        消息2报文结构如下,HDR头后面紧跟SA,SA载荷中确认各类密钥算法且与发起发的提议不得有任何修改。在SA之后响应方的签名证书和加密证书(X.509证书结构)。

      

        确认的SA抓包如下,具体字段意义同消息1中SA载荷,这里不再重复说明。另外说明一下,这里Vendor ID(VID)载荷是为实现IPsec NAT穿越的,它们与IKE是相对独立的,并不参与交换过程的所有密码运算。

         国密标准公钥密码体制使用双证书,也就是说签名证书和加密证书是分开的,前者是用于完整性、真实性和不可否认性保护场景,后者则是用于数据机密性保护(典型场景是数字信封,ipsec协议中也是这样)。

        从抓包来看,SA载荷后并没有发送响应方的数字证书,不满足GMT0022-2014国密标准,原因现在不太清楚,先留下待考证吧。

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

相关文章:

  • KDZR-10A三相直流电阻测试仪
  • C语言入门篇——指针篇
  • Python小姿势 - Python学习笔记:如何使用Python创建一个简单的计算器
  • 庖丁解牛 - FLAME: Taming Backdoors in Federated Learning
  • C++设计模式20:状态模式
  • Embarcadero Delphi 11 和 C++Builder 11 免费社区版发布!
  • JSP+Struct+MySql基于BBS管理系统设计与实现(源代码+论文+中英资料+开题报告+答辩PPT)
  • 800字带你弄懂Http请求和响应
  • 【Java笔试强训 6】
  • 2023年最新5A景区有多少个?Python可视化告诉你
  • C++中的list容器
  • Apache Hudi初探(二)(与spark的结合)
  • 颠覆世界的“数字孪生”到底是什么?这篇文章带你搞懂全部内涵!
  • Vector底层结构和源码分析
  • 计算卸载论文阅读01-理论梳理
  • Windows 11 本地 php 开发环境搭建:PHP + Apache + MySQL +VSCode 安装和环境配置
  • 15个使用率超高的Python库,下载量均过亿
  • 所有知识付费都可以用 ChatGPT 再割一次?
  • Python中“is”和“==”的区别(避坑)
  • 20230426----重返学习-vue-router路由
  • Java字节码指令
  • Vue3之setup参数介绍
  • ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。
  • 试试这几个冷门但好用的软件吧
  • 【云原生】k8s NetworkPolicy 网络策略是怎么样的
  • 手把手教你用几行代码给winform多个控件(数量无上限)赋值
  • 回炉重造十一------ansible批量安装服务
  • 系统集成项目管理工程师 笔记(第20章:知识产权管理、第21章:法律法规和标准规范)
  • Channel-wise Knowledge Distillation for Dense Prediction(ICCV 2021)原理与代码解析
  • No.052<软考>《(高项)备考大全》【冲刺6】《软考之 119个工具 (4)》