IPsec协议过程

2023-10-27

版权声明:如有需要,可供转载,但请注明出处:https://blog.csdn.net/City_of_skey/article/details/86618784

目录

1、ipsec协议简介

2、IPSec工作模式

2.1、传输模式

2.2、隧道模式

3、ipsec通信协议

3.1、AH

3.2 ESP

4、IPSec建立过程

4.1、安全联盟SA

4.2、IKE

4.2、SAD

4.3、SPD

4.4、IKE协商过程

5、IPSEC阶段建立

5.1、第一阶段

5.1.1、主模式

5.1.2、野蛮模式

5.2、第二阶段


1、ipsec协议简介

IPSec是在网络层构建的安全虚拟专有网络,通过在数据包中插入一些预定义的头部,实现对网络层以上的协议数据安全。不同于ssl应用层的加密。IPSec内核加密支持的库是xfrm。

ipsec安全体系

 

ipsec支持的协议主要有ESP、AH,通过IKE协商建立隧道对数据包进行加密。

ipsec协议族

从ipsec协议族图可以概况ipsec的整个过程。

ipsec数据流程图

当数据包到达网络层就会在SPD安全策略数据库中匹配,是否需要进行ipsec加密,如果需要就进行ipsec加密,如果不需要就走正常的数据包发送流程。

 

2、IPSec工作模式

2.1、传输模式

传输模式是两个主机之间建立IPSec虚拟安全通道,传输模式没有改变原IP,只是在原IP和数据之间插入了一个IPSec头部,然后对后面的数据部分进行加密。

传输模式

 

2.2、隧道模式

隧道模式是包原始的整个数据包封装加密保护,添加一个新的IP头部,IP信息也没有暴露,这样使数据传输更加安全。隧道模式一般用在站点和站点之间建立连接安全通道,两个站点下面的私有IP可以利用安全隧道通信。

隧道模式数据结构图

隧道模式比传输模式更加安全,因为两端的通信IP没有暴露。

隧道模式网络拓扑图

3、ipsec通信协议

IPsec通信协议由两个不同的协议组成,分为是AH(Authentication Header)和ESP(Encapsulated Security Payload),两个图通的协议负责不同的功能,AH协议的功能是”完整性验证”,ESP协议的功能时”完整性验证与加密”

3.1、AH

AH协议(Authentication Header,认证包头) AH提供的安全服务: (1)数据完整性:通过哈希(如MD5,SHA1)产生的校验来保证; (2)数据源认证:通过在计算机验证时加入一个共享秘钥来实现; (3)抗重放服务:AH报头中的序列号可以防止重放。 AH不提供任何保密性服务:它不加密所保护的数据包。 AH提供对数据包的保护时,它保护的是整个IP数据包(易变的字段除外,如IP头中的 TTL和TOS字段)

传输模式AH数据结构

3.2 ESP

ESP(Encapsulating Security Payload,封装安全有效载荷)提供加密和完整性验证两项功能。 ESP通常使用DES,3DES,AES等加密算法来实现数据加密,使用MD5或SHA1来实现 数据完整性验证。

传输模式ESP数据结构

ESP协议和AH协议比较:

ESP和AH比较
安全性 AH ESP
协议号 50 51
数据完整性校验 支持 支持(不验证IP头)
数据源验证 支持 支持
数据加解密 不支持 支持
抗重服务 支持 支持
NAT-T(nat穿透) 不支持 支持

4、IPSec建立过程

4.1、安全联盟SA

SA(Security Assocition)是通信对等体间对某些要素的约定,通信的双方符合SA约定的内容,就可建立SA。SA由三元组唯一标示,包括:安全参数索引,目的IP地址,安全协议号。

4.2、IKE

为了解决固定秘钥模式中VPN不安全的问题,就有了Ineternt Key Exchange(因特网秘钥交互协议)简称IKE,在IKE架构中只要设置加密算法和验证算法,IKE会定时生成加密秘钥,以上两部分加起来就是Security Assocition(安全联盟)简称SA。

IKE有三个协议组成:

ISAKMP:定义了信息交互的体系结构,也就是消息格式

SKEME:实现公钥加密认证机制

Oakey:实现两个Ipsec对等体间达成加密秘钥的基本模式机制

ISAKMP是基于UDP协议端口是500。

4.2、SAD

Security Assocition(安全联盟)SA:

SA是通信对等体对某件事情的约定,通信双方符合约定就建立了SA。SA决定了数据包保护的IPsec协议、加密秘钥、认证秘钥、秘钥时间等。SA是单项的两台主机A、B之间用IPsec加密传输会建立两个SA,一条是A->B,还有一条是B->A。会建立一个SAD数据库,SAD数据库中有的参数:SPI值、目的IP、AH/ESP协议、认证算法、加密算法、传输模式。

SAD数据库
SPI 目的IP 协议 AH认证算法 AH加密秘钥 工作模式
0x1000 192.168.100.100 AH hmac-sha1 1111 Transport

如上SAD数据库定义了目的IP是192.168.100.100,SPI是0x1000的用AH协议封装认证算法是hmac-sh1,AH加密秘钥是1111、工作模式是传输模式来加密封装数据包。

4.3、SPD

SPD的内容是用来存放IPsec的规则,这些规则定义了哪些数据流需要使用IPsec。这个数据库的内容有目的端IP、来源端IP、目的端端口、来源端端口、协议AH/ESP

                                                                                          SPD数据库 

来源端IP 目的端IP 执行协议 来源端口 目的端端口 工作模式
192.168.0.1 192.168.2.1 AH Any 110 Transport

如上表所示,源地址是192.168.0.1,源端口是任意,目的地址是192.168.2.1,目的端口是110的数据流用Transport模式AH协议封装加密。

4.4、IKE协商过程

IKE为IPsec协商建立密钥,供AH/ESP加密和验证使用。在IPsec通信双方之间,动态的建立安全联盟(SA),对SA进行管理和维护,IKE经过两个阶段为IPsec进行密钥协商并建立安全联盟

5、IPSEC阶段建立

5.1、第一阶段

第一阶段交换:通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA,也可称为IKE SA。 第一阶段有两种协议模式:主模式协商、野蛮模式协商。

第一阶段流程图

 

5.1.1、主模式

主模式数据交互过程

消息1:

第一个消息由隧道的发起者发起,携带的参数如:机密机制-DES,散列机制-MD5-HAMC,Diffie-Hellman组-2(即DH-2),认证机制-预共享。 消息2:第二个消息是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将自己的信息同样发送给对端,当然,应答方在发送传输集时将会生成自己的cookie并添加到数据包中。

消息3:

当完成第一步骤双方的策略协商后,则开始第二步骤DH公共值互换,随数据发送的还包含辅助随机数,用户生成双方的加密秘钥。

消息4:

应答方同样将本端的DH公共值和Nonce随机数发送给对端,通过消息4传输。

消息5:

第五个消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端。这可以通过预共享、数字签名、加密临时值来实现。 双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成了密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。

消息6:

由响应者向发起者发送,主要目的和第5条一样。 IKE阶段1有三次交换过程,一共6个消息交互,前4个明文,后2个密文

5.1.2、野蛮模式

野蛮模式同样包含三个步骤,但仅通过三个包进行传输,标示为aggressive 野蛮模式的三个包交换:

(1)第1个交互包发起方建议SA,发起DH交换

(2)第2个交互包接收方接收SA

(3)第3个交互包发起方认证接收方 野蛮模式前两个报文是明文,第三个报文是密文

野蛮模式交互过程

5.2、第二阶段

ISAKMP/IKE阶段2只有一种信息交换模式——快速模式,它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的。 快速模式有两个主要的功能:

1.协商安全参数来保护数据连接。

2.周期性的对数据连接更新密钥信息。

第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护

消息1:

发起者会在第一个消息中发送 IPSEC SA的转换属性,包括HASH、IPSEC策略提议、Nonce的可选的DH以及身份ID

第二阶段

消息2 :

响应者向发送者发送的发送第二条消息,确认第一个跳信息的中的属性,同时也起到确认对端信息的作用

消息3 :

第三条消息,确认接收方的信息并证明发送方处于Active状态

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPsec协议过程 的相关文章

  • 浅谈能耗系统在马来西亚连锁餐饮业的应用

    1 背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题 利用计算机网络技术 通讯技术 计量控制技术等信息化技术 实现能源资源分类分项计量和能源资源运行监管功能 清晰描述各分店总的用能现状 实时监测各供电回路的电压 电
  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • Android SDK开发艺术探索(五)安全与校验

    一 前言 本篇是Android SDK开发艺术探索系列的第五篇文章 介绍了一些SDK开发中安全方面的知识 包括资源完整性 存储安全 权限校验 传输安全 代码混淆等知识 通过基础的安全配置为SDK保驾护航 探索SDK开发在安全方面的最佳实践
  • 200道网络安全常见面试题合集(附答案解析+配套资料)

    有不少小伙伴面临跳槽或者找工作 本文总结了常见的安全岗位面试题 方便各位复习 祝各位事业顺利 财运亨通 在网络安全的道路上越走越远 所有的资料都整理成了PDF 面试题和答案将会持续更新 因为无论如何也不可能覆盖所有的面试题 php爆绝对路径
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • 【网络安全】——区块链安全和共识机制

    区块链安全和共识机制 摘要 区块链技术作为一种分布式去中心化的技术 在无需第三方的情况下 使得未建立信任的交易双方可以达成交易 因此 区块链技术近年来也在金融 医疗 能源等多个行业得到了快速发展 然而 区块链为无信任的网络提供保障的同时 也
  • DSCA190V 57310001-PK

    DSCA190V 57310001 PK DSCA190V 57310001 PK 具有两个可编程继电器功能 并安装在坚固的 XP 外壳中 DSCA190V 57310001 PK 即可使用 只需最少的最终用户校准 DSCA190V 573
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培
  • 【安全-SSH】SSH安全设置

    今天发现自己的公有云服务器被攻击了 在这里插入图片描述 https img blog csdnimg cn direct cafdca04646f4b8b838400ec79ac282f png 然后查看了登录日志 如上图 ls sh va
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • JavaScript 实现数组中的字符串按长度排序,长度一样按字母顺序排序

    以下的newar数组里的val键值排序要求 字串按长度排序 长度一样按字母顺序排序 js实现数组中的字符串按长度排序 长度一样按字母顺序排序 function sortByLenByazAZVal array array sort a b
  • MYSQL之ON DUPLICATE KEY UPDATE使用

    创建表 DROP TABLE IF EXISTS user CREATE TABLE user id int 32 NOT NULL AUTO INCREMENT COMMENT 主键id userName varchar 32 NOT N
  • 【单片机毕业设计】【mcuclub-dz-055】基于单片机的智能手环控制系统设计

    最近设计了一个项目基于单片机的智能智能手环控制系统设计 与大家分享一下 一 基本介绍 项目名 智能手环 项目编号 mcuclub dz 055 单片机类型 STM32F103C8T6 具体功能 1 通过MAX30102测量心率 血氧 2 通
  • PFQ,适用于多核处理器系统中的网络监控框架

    PFQ 是一个支持多语言的网络框架 主要用于 Linux 操作系统下进行高效的包捕获和传输 适用于多核处理器系统中的网络监控框架 PFQ 专门为多核处理器而优化 包括对多个硬件队列的网络设备优化 支持任意网络设备驱动 并提供一个脚本用来加速
  • 动态内存与静态内存的区别

    1 静态内存 静态内存是指在程序开始运行时由编译器分配的内存 它的分配是在程序开始编译时完成的 不占用CPU资源 程序中的各种变量 在编译时系统已经为其分配了所需的内存空间 当该变量在作用域内使用完毕时 系统会 自动释放所占用的内存空间 变
  • Dropout层的个人理解和具体使用

    一 Dropout层的作用 dropout 能够避免过拟合 我们往往会在全连接层这类参数比较多的层中使用dropout 在训练包含dropout层的神经网络中 每个批次的训练数据都是随机选择 实质是训练了多个子神经网络 因为在不同的子网络中
  • 解决Google CoLab使用外部文件的问题

    有时 用Google CoLab时需要用到外部的数据集 这时 可以通过代码把文件上传到CoLab上 代码如下 from google colab import files uploaded files upload for fn in up
  • 2年python从业者整理的学习经验,手把手教你如何系统有效学习python

    我是从19年开始学python的 学了近半年 从业2年时间 看网课自己练 摸爬滚打后终于找到了一套不错的学习方法 以我个人经验给零基础入门的朋友讲下应该怎么系统有效学习python 首先 python不是洪湖猛兽 普通人只要认真学肯定是能学
  • python 尝试有道翻译

    一只小白的爬虫 写了一个简单 有道翻译 记录一下 如果大家有更好的方式 方法记得分享一下哦 coding utf 8 import urllib urllib2 json url http fanyi youdao com translat
  • iview引用自定义的图标

    iview引用自定义的图标 护花使者 博客园
  • C++图书管理系统(基于结构体数组)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 需求分析 二 代码实现 总结 前言 问题描述 要求以图书馆管理业务为背景 设计并实现一个 图书馆管理信息系统 软件 使用该系统可以方便查询图书的信息 借阅
  • 线程池为什么能维持线程不释放,随时运行各种任务?

    版权声明 本文为博主原创文章 未经博主允许不得转载 技术交流可邮 cjh94520 outlook com https blog csdn net cjh94520 article details 70545202 线程池 之前一直有这个疑
  • kd树搜索与线性搜索对比

    在做毕业设计的时候 遇到这样一个需求 给定一万五千个点 再给定一个目标点 要求离目标点的最近点 说白了就是求 最近邻 问题 传统的方式 就是从第一个点开始算距离 把一万五千个点都算完 再取最小值 但是这样的方式比较慢 所以利用了knn算法中
  • python期末复习

    python语言的特点 1 Python 是一种面向对象的解释型计算机程序设计语言 2 Python的语法十分简洁 大大地提高了开发效率 更容易维护 3 Python是一门开源的跨平台语言 拥有丰富的第三方库 标识符命名规则 1 只能包含字
  • 数字化转型之数字化和业务化论证

    引言 数据业务化的本质是数据的产品化 商业化与价值化 主要强调产品化 新业务和专业化运作 也就是以数据为主要内容和生产原料 打造数据产品 按照产品定义 研发 定价 包装和推广的套路进行商业化运作 把数据产品打造成能为企业创收的新兴业务 数字
  • Java八股文 v2.0

    一 Java基础 1 Java有哪些基本数据类型 byte short int long float double char boolean 2 Java类型转换 从小类型到大类型 直接转 从大类型到小类型 需要在强制类型转换的变量前面加上
  • 服务器系统手册,服务器安全使用手册

    系统安全 1 保存好系统密码并定期进行修改 2 开启系统自动更新功能 3 开启杀毒软件 经常更新病毒库 定期扫描病毒 4 做好网站的注入漏洞检查 做好网站目录访问权限控制 5 慎重安装硬件驱动 以免损坏操作系统 6 不要安装路由和远程访问服
  • 傅里叶分析之掐死教程

    作者 韩昊 知乎 Heinrich 微博 花生油工人 知乎专栏 与时间无关的故事 谨以此文献给大连海事大学的吴楠老师 柳晓鸣老师 王新年老师以及张晶泊老师 转载的同学请保留上面这句话 谢谢 如果还能保留文章来源就更感激不尽了 更新于 201
  • python创建虚拟环境报错_centos8使用python3自带的venv创建虚拟环境报错问题

    一 背景 damon localhost python3 m venv pdf env Error Command home damon pdf env bin python3 Im ensurepip upgrade default pi
  • IPsec协议过程

    版权声明 如有需要 可供转载 但请注明出处 https blog csdn net City of skey article details 86618784 目录 1 ipsec协议简介 2 IPSec工作模式 2 1 传输模式 2 2