8.21IPSEC安全基础后篇,IKE工作过程

一、数据存储完整性校验

数据存储完整性校验需通过加密密钥实现。数据存储前还需通过身份认证,该过程同样依赖密钥完成。

二、对称key的产生、传递、管理

VPN中需使用多组对称密钥:

  • 数据加解密需独立密钥
  • 数据完整性校验需独立密钥
  • 身份认证需独立密钥
  • 不同功能的密钥必须独立,以增强VPN安全性。同种功能的密钥可复用,但跨功能密钥需严格区分。
1.对称key的传递:

对称密钥传递依赖非对称加密算法。算法原理虽简单,但实现复杂度高。

1) DH算法

DH算法通过私钥与对方公钥计算生成相同对称密钥,该密钥用于保护数据传输。

  • VPN仅使用DH算法的前半部分(密钥协商阶段)
  • 对称密钥始终不在网络中传输,仅通过本地计算验证
  • DH密钥组

DH组类型

密钥特性

安全性对比

直线型算法(如DH组2/3)

密钥长度较长(如1024位)

计算简单,需更长密钥保障安全

椭圆曲线算法(如163位)

密钥长度较短

计算复杂,同等安全性下密钥更短

密钥长度与安全性非绝对正比,需结合算法复杂度评估。当前推荐使用椭圆曲线算法(如DH组20+)。

2.思考

同一设备可建立多条VPN隧道,各隧道参数(加密算法、校验方式等)可独立配置。

  • 隧道间数据严格隔离,网段不可重叠
  • 每条隧道需绑定唯一保护策略(如传输模式/隧道模式ESP)
  • 安全关联(SA)用于统一管理隧道参数,确保数据按预设规则处理。

三、SA概述

安全关联(SA)是IPSec的核心规则集,每个VPN连接对应多组SA:

  • 单向通信需独立SA(如A→B与B→A需分别配置)
  • 单条VPN连接通常包含4个SA(出/入方向各一对)
1.安全关联

SA包含以下协商参数:

  • 协议类型(AH/ESP)
  • 传输模式(传输/隧道)
  • 加密算法与密钥
  • 验证算法与密钥
  • SA生成方式:
  • 手工配置:参数永不过期,维护成本高
  • IKE自动协商:动态管理,支持定期更新
2.SA如何产生

SA通过协议自动协商生成。SA与IP不同,其作用是在IPSec VPN中双方协定并保护数据。

1) 手工配置
  • 手工配置的SA无过期时间,密钥使用时间越长,安全性越低。
  • 手工配置需在两端设备上完全一致,且物理距离较远时配置难度大。
  • 配置错误风险高,需通过电话或消息同步策略,效率低。
  • 适用场景:实验室测试或开发环境,项目中基本不使用。
2) IKE自动管理
  • IKE(互联网密钥交换协议)为协议簇,用于动态建立、维护和删除SA。
  • 自动协商的SA具有生命周期,与路由、ARP等网络协议类似。
  • 本地无符合条件SA时,设备自动启动IKE协议协商。
  • IKE适用于生产环境,手工配置仅用于特殊场景。

四、IKE工作过程

1.IKE概述
  • IKE全称为互联网密钥交换,用于动态建立、维护和删除SA。
  • IKE为协议簇,包含多种子协议,主要功能包括密钥协商和认证。
  • ISAKMP协议定义了消息交换体系和状态转换流程,为IKE核心协议。
2.ISAKMP协议
  • ISAKMP为标准协议,文档公开,厂商设备均支持。
  • 协议定义了SA协商的完整流程,包括建立、修改和删除。
  • 仅提供参数框架,具体实现由设备厂商决定。
1) ISAKMP报文格式
  • ISAKMP报文格式固定,使用UDP传输,默认端口为500(厂商可能不同)。
  • 协议独立于密钥交换,可被不同密钥交换协议使用。
  • NAT穿越技术通过添加UDP头部解决IPSec与NAT兼容性问题,支持单公网地址多隧道。
  • ESP加密后传输层不可见,需依赖NAT穿越实现端口区分。
  • 密钥管理IKE任务

IPSec VPN使用IKE自动协商SA的过程分为两个阶段:

  • 阶段一任务:
    • 双向ISAKMP SA协商,包含三部分:
      • 协商安全参数:包括加密算法、验证算法、DH组、身份认证方式及密钥生存周期
      • 建立初始SA
      • 交换计算密钥材料:通过DH算法交换公钥及随机数,生成身份认证密钥、数据加解密密钥、完整性校验密钥
    • 身份认证:通过后进入阶段二
  • 阶段二任务:
    • 生成两个单项IPSec SA用于保护数据
    • 协商内容:
      • 数据传输协议(AH/ESP)
      • 传输模式(传输模式/隧道模式)
      • 数据保护算法(加密算法、校验算法)
      • 密钥生存周期
    • 步骤:
      • 交换密钥计算材料
      • 生成密钥
      • 身份认证
  • IKE协商的两个阶段

    

对比项

阶段一

阶段二

SA类型

ISAKMP SA(IKE SA)

IPSec SA

模式

主模式(6报文)/野蛮模式(3报文)

快速模式(3报文)

保护对象

阶段二协商报文

用户数据

复用性

可保护多个阶段二协商

独立生成

报文总数

主模式+快速模式=9报文

野蛮模式+快速模式=6报文

2) ISAKMP报文携带的载荷
  • ISAKMP消息报头

ISAKMP报文采用火车式结构:

  • 报头固定字段:
    • 发起方Cookie:通过哈希算法(源IP+源端口+随机数+时间戳)生成前64位,用于身份标识且不可逆推
    • 应答方Cookie:首报文置零,后续报文由接收方生成
    • 特性:
      • 单次协商中Cookie不可变
      • 不同协商会话Cookie必然不同
  • 下一载荷字段:指示报头后首个载荷类型
  • 防篡改机制:Cookie变更将导致报文丢弃
  • 载荷类型

ISAKMP可携带的载荷类型包括:

  • SA载荷(安全联盟参数)
  • 密钥交换载荷
  • 身份认证载荷
  • 证书载荷(仅证书认证时存在)
  • 哈希/签名载荷
  • 随机数载荷
  • 通知/删除载荷
  • 版本号

    版本号字段包含主版本和次版本标识,无实际协商功能。

  • 交换类型

    交换类型字段用于标识阶段一的协商模式:

  • 主模式(值1)

野蛮模式(值2)

  • 该字段不参与阶段二(快速模式)标识。
  • 标志

    标志的最后三位具有特定功能:从最后一位开始依次为加密位、提交位和纯验证位

  • 加密位功能:值为1表示头部后面的所有载荷被加密,值为0表示明文传输
  • 提交位作用:确保被保护数据发送前完成协商,未完成协商则禁止发送数据
  • 纯验证位含义:允许特定机构(如政府公安)实施密钥恢复机制,可解密截获的报文
  • 报文ID

    第一阶段报文ID:全为零值

  • 第二阶段报文ID:由发起方生成随机值,用于唯一标识第二阶段状态
  • 报文长度定义:头部与所有载荷的总长度之和
  • 载荷头部

    载荷头部结构包含三个要素:

    • 下一载荷类型标识:指示后续载荷的数据类型
    • 当前载荷长度:本段数据的字节长度
    • 实际数据内容:具体传输的有效信息
  • 终止标识规则:当下一载荷类型值为零时,表示报文结束
3) 一个完整的ISAKMP报文结构

ISAKMP报文采用模块化结构:由头部和多个可扩展的载荷组成

  • 载荷数量特性:根据实际需求灵活配置,支持携带2-4个或更多载荷
  • 与IPV6报文结构的相似性:两者均采用头部+扩展头的设计,使IPV6原生支持IPSec加密功能
3.IKE协商第一阶段过程分析

1) IKE协商第一阶段目的及任务

阶段一核心目标:协商建立ISAKMP SA(或IKE SA)

  • 需完成的三个关键任务:
    • 加密套件协商
    • 密钥材料交换与生成
    • 通信双方身份认证
2) 加密套件:
  • 加密套件包含五个要素:
    • 加密算法
    • 哈希算法
    • DH组参数
    • 身份认证方式
    • SA生命周期
3) 交换密钥计算材料,生成密钥
  • 密钥生成分两步:
    • 交换计算材料:包含DH公钥和随机数
    • 生成最终密钥:基于共享材料进行密码运算
4) 身份认证
  • 认证阶段作用:验证通信双方身份的合法性
  • 典型认证方式:预共享密钥机制
5) 主模式六个报文

报文序号

功能分类

传输内容

方向

1-2

加密套件协商

发起方支持的加密套件列表

发起方→应答方

3-4

密钥材料交换

DH公钥与随机数

双向交互

5-6

身份认证

基于预共享密钥的认证信息

双向确认

6) 加密套件的选择
  • 加密套件选择原则:
    • 优先级判定标准:选择双方支持的最小策略编号
    • 安全配置建议:将高安全等级的套件配置为较小编号
7) 第1、2个ISAKMP报文
  • 首报文关键字段:
    • 发起方Cookie:用于标识会话
    • 加密套件列表:包含全部支持的策略组合
  • 应答方处理逻辑:从匹配的套件中选择策略编号最小的配置项
8) 身份认证密钥
  • 身份认证密钥(s key.ID)通过随机数算法计算生成
  • 计算要素包括预共享密钥和双方随机数,通过prf算法生成
  • s key ID杠d密钥作为中间材料使用,计算方式为:身份认证密钥+DH对称密钥+发起方cookie+应答方cookie
  • s key ID杠d密钥用于后续加密密钥和完整性校验密钥的计算
9) 完整性认证密钥和数据加解密密钥

密钥类型

计算要素

功能

算法特性

完整性认证密钥

s key ID + s key ID杠d + DH对称密钥

数据完整性校验

算法固定,不同算法添加常数不同

数据加解密密钥

s key ID + s key ID杠d + DH对称密钥

数据加密解密

AES/DES/3DES等加密算法实现

10) 身份认证过程
  • 身份认证步骤:将SA信息、cookie值及身份信息通过身份认证密钥进行散列计算
  • 发起方操作:生成散列值后附加身份ID,使用e密钥加密并通过a密钥校验完整性
  • 应答方验证:解密后通过cookie和SA信息验证身份,需双向认证(发起方→应答方→发起方)
  • 主模式六个报文中有两个加密报文,阶段一生成的密钥用于后续通信保护
11) 阶段一与阶段二的关系

阶段一生成的加密密钥和完整性校验密钥直接应用于阶段二的快速模式,实现安全参数协商。

12) 阶段二:快速模式
  • 核心目标:协商IPsec SA(安全关联)
  • 协商内容包括:
    • 协议类型(AH/ESP)
    • 工作模式(传输/隧道)
    • 加密算法与校验算法
    • 生命周期参数
13) 阶段二:快速模式任务

快速模式通过三个报文完成:

  • 发起方发送安全参数(含加密套件)及密钥计算材料
  • 应答方确认参数并返回验证信息
  • 双方确认SA建立
14) 阶段二:安全参数
  • 安全参数组成:协议类型、工作模式、加密算法、校验算法、生命周期
  • 报文保护机制:使用阶段一生成的e密钥加密和a密钥校验
  • 密钥材料更新:需重新生成DH公钥和随机数,确保前向安全性
4.IKE协商第二阶段过程分析
  • 第二阶段协商内容包括:proposal载荷、ESP加密算法、校验算法、传输/隧道模式选择、生命周期参数
  • 关键载荷构成:
    • KE载荷:包含DH公钥随机值
    • 身份ID载荷:用于通信双方身份标识
    • 哈希载荷:使用阶段一生成的完整性校验密钥对加密数据做认证
  • 哈希值功能:应答方通过该值完成报文完整性校验

五、IPSec协议概述

1.IPSec协议保护IP数据的方式

完整性校验哈希值用于应答方验证报文完整性,该值可见于报文特定字段。

2.eNSP新建拓扑

加密数据通过哈希值实现校验功能,该机制未在报文显式标注。第一阶段协商生成的密钥材料为校验基础。

3.密钥计算材料与身份认证
  • 答方处理流程:
    • 确认安全参数(SA)
    • 发送包含应答方公钥和随机数的密钥计算材料
    • 附加身份ID载荷
  • 密钥生成时机:收到第二个报文后,应答方可计算全部五个会话密钥
4.密钥计算与安全参数确认
  • 身份认证机制:通过R哈希载荷实现应答方身份验证
  • 发起方验证条件:
    • 安全参数已确认
    • 密钥材料完整接收
    • 具备身份ID及认证函数
5.身份认证与密钥保护

处理阶段

完成动作

剩余任务

第三个报文

安全参数确认

应答方认证发起方身份

密钥生成完成

附加发起方身份载荷

保护机制:所有报文参数受第一阶段密钥保护,实际内容不可见

6.实验平台与隧道模式

GRE over IPSec实验中隧道模式通过GRE实现,而纯IPSec实验需显式配置阶段二工作模式。后者需明确指定ESP封装协议、加密算法及完整性验证方式。

六、实验

实验配置差异:

  • 混合模式:GRE隧道隐式确定IPSec模式参数
  • 独立模式:需手动配置ESP协议参数及传输/隧道模式选项

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94166.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络连接的核心机制

一、网络连接全流程拆解(含7大步骤动态交互) 1. 用户输入网址:从域名到IP的跨越 操作触发:用户在浏览器输入 www.example.com,触发 DNS域名解析。核心协议:DNS(基于UDP/TCP)。硬件设…

小程序个人信息安全检测技术:从监管视角看加密与传输合规

1. 前言 在监管通报中,小程序因“未采取加密、去标识化等安全技术措施”被处罚的案例屡见不鲜。很多开发者疑惑:明明用了HTTPS,为什么还会被判定“未加密”?监管机构是如何通过技术手段发现这些问题的?本文将从技术原…

ansible playbook 实战案例roles | 实现db2自动安装

文章目录一、核心功能描述二、roles内容2.1 文件结构2.2 主配置文件2.3 tasks文件内容三、files文件内容四、vars文件内容免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn 一、核心功能描述 这个 Ansible Role 的核心功能是:​自动…

webrtc中win端音频---windows Core Audio

一、Core Audio 系统内核框架 图中显示的是渲染的音频数据如何从大多数应用程序流向扬声器的简化表示。对于采集来说,音频数据的路径是完全相同,但流向是相反的。从图中可以看到,一些高阶API(例如MME,DirectSound等),对 Core Audio APIs 进行了封装,使用这些API能够更容…

【数据可视化-96】使用 Pyecharts 绘制主题河流图(ThemeRiver):步骤与数据组织形式

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

【Android】Activity 如何进行数据传输

三三要成为安卓糕手 一:Activity之间的数据传输 问题:不同的Activity之间怎么进行数据传输呢? 比如第一个页面中有一些字符串数据之类的要通过数据传输,传递给第二个页面进行显示的 1:MainActivity做处理 在定义一个按钮&#xf…

C#语言的语法(数据类型)

数据类型 表2.1给出了C#的主要数据类型。注意,基本类型的长度与计算机或操作系统的类型无关。C# 中的字符是16位的宽度,可以表示非拉丁语言中的所有字符。它使用一种叫双字节码的字符编码 系统,其中定义了绝大多数可书写语言的数以千计的字符…

Vue3 + TypeScript全局阻止非输入区域的Backspace键,防止回退页面

main.ts/*** 应用程序主入口** 初始化 Vue 应用并挂载到 DOM*/ import "./assets/style/main.scss";import { createApp } from "vue"; // 全局引入element-plus,对打包后的文件大小不是很在乎,那么使用全局导入会更方便 import Ele…

01数据结构-堆排序

01数据结构-堆排序前言1.堆2.堆的操作逻辑3.堆的代码实现前言 数据结构中的堆是一种结构,C语言的堆是空间管理的程序员malloc,free的空间,两者没多大关系。 1.堆 逻辑上 堆(Heap)是一类基于完全二叉树的特殊数据结构…

在线课程|基于SprinBoot+vue的在线课程管理系统(源码+数据库+文档)

在线课程 目录 基于SprinBootvue的在线课程管理系统 一、前言 二、系统设计 三、系统功能设计 1 管理员模块的实现 2在线课程 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|…

Python海象运算符:=

文章目录简介​​条件判断优化循环控制简化​推导式高效计算​正则匹配与数据提取​性能对比参考文献简介 海象运算符 :,又称​​赋值表达式​​(Assignment Expression),Python 3.8 后可用,PEP 572 引入,…

Vue 2 项目中快速集成 Jest 单元测试(超详细教程)

在 Vue 项目中编写单元测试,是提升代码质量和维护性的关键一步。本文将带你从零开始,在一个 Vue 2 Vue CLI 项目中集成 Jest 作为单元测试框架,并运行第一个测试用例。✅ 适用于 Vue 2 项目(如你使用的是 vue-cli-service&#x…

PostgreSQL15——管理表空间

管理表空间一、基本概念二、创建表空间三、修改表空间四、删除表空间一、基本概念 在 PostgreSQL 中,它是通过表空间(Tablespaces)来实现逻辑对象(表、索引等)与物理文件之间的映射。创建数据库或者数据表&#xff08…

趣打印高级版--手机打印软件!软件支持多种不同的连接方式,打印神器有这一个就够了!

软件介绍(文末获取)趣打印高级版是一款手机打印软件。软件支持五种不同的连接方式,每种都有稳定且快速的反应,用户均可通过手机进行打印机的远程使用和设置。软件还支持上传不同格式的文档类型进行打印,方便快捷&#…

【开源框架】7 款流行的 Vue 3 后台管理框架对比

以下是 7 个流行的 Vue 3 后台管理框架在 Star 数(截至 2025 年 8 月21日的 GitHub 最新数据)、框架特点、基于的技术栈及开源协议四个方面的详细对比: 1. Vue-Vben-Admin GitHub 地址:https://github.com/vbenjs/vue-vben-admin…

Datawhale工作流自动化平台n8n入门教程(一):n8n简介与平台部署

前言 在数字化时代,重复性的工作任务正在消耗着我们大量的时间和精力。从数据同步到营销自动化,从客户服务到内容管理,这些琐碎但必要的任务往往让我们疲于应对。而工作流自动化工具的出现,为我们提供了一个优雅的解决方案。 今天…

SRE - 定位与能力

仅为个人知识总结与记录 Site Reliability Engineer:站点可靠性工程(SRE 软件工程师 运维专家 可靠性专家) 相对传统的运维工程师,SER 注重开发,效率,追求自动化。对于 SRE 工程师,追究的就是…

StarRocks学习4-查询优化与性能调优

✅ 1. 执行计划分析(EXPLAIN) 🌟 作用: 用于查看 SQL 的执行路径,判断是否命中索引、物化视图、Join 策略、并行度等。 📌 常用命令: EXPLAIN SELECT ...; EXPLAIN VERBOSE SELECT ...;&#x1…

CentOS系统安装Git全攻略

文章目录✅ 方法一:使用 yum 或 dnf 包管理器安装(推荐)1. 更新系统软件包(非必须)[^1]2. 安装 Git3. 验证安装✅ 方法二:从源码编译安装(适用于需要自定义版本或配置)1. 安装依赖包2. 下载 Git 源码3. 编译…

VR交通安全学习机-VR交通普法体验馆方案

VR交通安全学习机是一种基于虚拟现实技术的互动式教育设备,旨在通过虚拟环境模拟真实的交通场景,帮助用户深入了解交通规则、交通信号、道路安全等知识,并通过沉浸式的体验让他们亲身感受到不遵守交通规则的后果。无论是驾驶员、行人还是骑行…