【网络安全技术】IPsec——AH和ESP

news2025/1/24 17:59:28

一、IPsec通信

主要是两个协议,认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulate Security Payload)。AH提供了认证(integrity,抗否认,抗重放),ESP除了这些还提供了加密。

二、AH

AH和ESP都提供传输和隧道两种模式,传输模式就是正常的加了个AH头,隧道模式是把原来包里的所有内容都封起来了,加了一个新的IP头。注意在隧道模式下,这个AH头是加在新IP头的扩展头标里的,它是直接将原来的ip包整个封装起来。而且注意,这里AH是对整个包所有内容都做了认证。

这是AH的头,前面下一头标、载荷长度是标准的v6扩展头标的格式,

1.下面第一个就是之前说的SPI,需要用这个SPI去索引对应的SA,SA里通常含有

1)序列号计数器,这个序号和IPsec的滑动窗口机制结合提供抗重放。

2)Sequence Counter Overflow,也就是最大可以接受的序列号,超过这个序列号之后这个SA就相当于过期了,就需要重新协商一个SA。

3Anti–Replay Window,包含了这个滑动窗口的大小信息

这个滑动窗口情况比较特殊,他收到窗口内的包就会验证,并传给上层,而如果是窗口外的新包(序列号更大的包),他就会直接把窗口挪过去,移动后不在窗口中,且还未被验证的包就会全部被丢弃。

4)要么是AH相关的的什么信息,要么是ESP相关的的什么信息

5)还有一个Lifetim,从时间上过期。

6IPSec Protocol Mode,可能是隧道也可能是传输模式

7路径MTU

2.接下来这个字段序列号就代表了这个包的序列号。

3.AH ICV包含了一些用来认证的数据,这里看一个v4的抓包来了解下这里面会有什么。

这里的AH ICV,它使用HMAC来提供认证和完整性保护,所以这个AH ICV就是使用数据和共同秘密来做的HMAC的值。它使用数据包中不可变的内容来做哈希。可变内容有什么,v4中典型的可变内容就是ttl(逐跳递减),校验和(每跳重新计算)。v6中没有校验和了,所以典型的可变内容就是ttl。因为不管是AH还是ESP,这个首部都是目的地路由器才处理,途径路由器是不处理的,所以如果加上这些可变内容哈希不就不对了吗。

接下来在看一个隧道模式的抓包例子

这里能看到两个ip头,上面那个就是新头,下面紧接着AH头,AH头后面就是原来的ip头,所以想想ipv6扩展头标里,为什么会有ipv4封装(4),ipv6封装(41)这两个,就是因为这里AH的下一头标要填这个。

三、ESP

1.传输模式

这里和AH主要的不同点就在于,ESP只对从ESP header开始到ESP trailer结束部分认证,只对从ESP扩展头之后的内容加密,包括ESP扩展头之后的扩展头,以及载荷(例如TCP载荷),直到包含ESP trailer。这里的dest指的是destination option目的地选项扩展首部,想想v6里讲的,这是要出现在ESP头后面的头。

这是从ESP header开始到结束ESP auth的整个报文。

前两行就是ESP header,包括SPI和序列号,和AH一个效果。这个不包含在加密里。

从第三行开始就是数据了,这里的数据可能是ESP之后的扩展头,再加上正常的TCP数据,这一段是定长的,如果不到255字节的话要用0填充。最后1字节是这个头标的长度和下一头标。

至此是数据和ESP trailer,这些是被加密的内容。

最后是认证数据,是不加密的。这个是可选的。

2.隧道模式

一样的,只不过是把原来的整个ip包封在了ESP报文的data部分。

四、AH和ESP结合使用

这俩可以无限套娃,因为只要每套一层隧道,就有新的ip头,就能使用一次AH和ESP。

但是这里讨论的不是这个无限套娃,讲的是在一个最简单的IP包里,这俩可以同时出现。

复习一下v6里扩展头出现的顺序

AH在ESP前面。那么就看例子吧,看一个传输模式的一个隧道模式的。

1.传输模式

传输模式那就应该是直接在原来的ip头后面把这两个扩展头接上就行了,AH是可以直接接的,但是ESP是有头有尾的,所以是把原来的数据套进ESP的头和尾之间。

应该是这种情况,还是AH对所有不可变的内容做认证。ESP对ESP头之后,ESP认证之前的内容做加密,对从ESP头开始,到ESP认证之前的内容做认证。

这个抓的包能看见IP头,然后AH头,然后ESP头,然后就没了,后面的都是加密的(这里没有选择ESP认证,ESP认证是可选的)。

2.隧道模式

那就是直接把原来的IP包封进ESP头和尾之间,然后前面的新IP头后面接AH头和ESP头。

加密部分和认证部分还是同理。

这个抓到的包看不到ESP后面的下一头标,想想为什么,因为下一头标在ESP尾里,而ESP尾是被加密的!

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

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

相关文章

正则表达式(5):常用符号

正则表达式(5):常用符号 小结 本博文转载自 在本博客中,”正则表达式”为一系列文章,如果你想要从头学习怎样在Linux中使用正则,可以参考此系列文章,直达链接如下: 在Linux中使用正…

使用Go快速开发TCP公共服务

使用Go快速开发TCP公共服务 文章目录 使用Go快速开发TCP公共服务一、前言二、实现思路三、源码四、测试使用五、最后 一、前言 之前使用的公共TCP服务无法使用了,想了一下整个实现原理不是很复杂,就利用Go快速开发了一个,利用公网服务器可以…

Uncle Maker: (Time)Stamping Out The Competition in Ethereum

目录 笔记后续的研究方向摘要引言贡献攻击的简要概述 Uncle Maker: (Time)Stamping Out The Competition in Ethereum CCS 2023 笔记 本文对以太坊 1 的共识机制进行了攻击,该机制允许矿工获得比诚实同行更高的挖矿奖励。这种名为“Uncle Maker”的攻击操纵区块时间…

CMake编译C++项目并链接动态库

CMake编译C项目并链接动态库 最近遇到一个用CMake来编译的project。需要编译整个项目src code以及字库,并使用。我的项目目录是张这样的。 编译的时候会有两中不同的办法,一种是把库集成到可执行文件中,一种是编译成静态库然后使用。 1. 集…

STM32基础教程 p16 窗口看门狗(WWDG)

1 窗口看门狗工作原理 1.1 简介 WWDG简介 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运 行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置 的时间周期时,会产…

IDEA导入JavaWeb项目(Maven)

IDEA导入JavaWeb(Maven)项目教程 运行教程 亲爱的粉丝们,我深知你们对IDEA导入JAVAWeb工程的迫切需求。在这个充满竞争的时代,每一个项目都离不开高效的沟通。过程中需要对应的环境适配和软件安…

开关电源超强总结

什么是Power Supply? 开关电源的元件构成 三种基本的非隔离开关电源 三种基本的隔离开关电源 反激变换器(Flyback)工作原理 (电流连续模式) 反激变换器(Flyback)工作原理 (电流断续模式&#x…

什么因素会影响葡萄酒陈酿的能力?

糖、酸和酚类与水的比例是葡萄酒陈酿程度的关键决定因素,收获前葡萄中的水分越少,产生的葡萄酒就越有可能具有一定的陈酿潜力。那么葡萄品种、气候和葡萄栽培实践的过程就相当重要了,对陈酿的时间发挥了重要的作用。皮较厚的葡萄品种&#xf…

运维之远程桌面连接失败问题排查

背景:同一局域网,可以ping通但是远程连接不上,排查一下问题。 1、被远程计算机是否允许远程连接 2、被远程计算机防火墙是否允许 3、被远程计算机远程桌面服务是否正常 4、查看用户权限

Vue3 Element-Plus 一站式生成动态表单:简化前端开发流程

文章目录 1. 引言2. Vue3 和 Element-Plus 简介2.1 Vue32.2 Element-Plus 3. 动态表单的需求与挑战4. Vue3 和 Element-Plus 动态表单的优势4.1 Vue3的组合式API4.2 Element-Plus的表单组件 5. 一站式生成动态表单的实现5.1 准备工作5.2 创建动态表单组件5.3 使用动态表单组件 …

做亚马逊需要IP代理吗?需要纯净度高的吗?

做亚马逊跨境电商的老玩家都知道,代理IP的作用不容小觑。通过代理IP,跨境电商卖家可以进行深入的市场研究,获取关键的数据分析,助力业务决策。让卖家能够安全轻松管理不同地区的账户,轻松防关联,无缝对接多…

js模块化的应用!!!(前无古人,后无来者)

简介: 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系&#xff0c…

【ArcGIS微课1000例】0078:创建点、线、面数据的最小几何边界

本实例为专栏系统文章:讲述在ArcMap10.6中创建点数据最小几何边界(范围),配套案例数据,持续同步更新! 文章目录 一、工具介绍二、实战演练三、注意事项一、工具介绍 创建包含若干面的要素类,用以表示封闭单个输入要素或成组的输入要素指定的最小边界几何。 工具位于:数…

【数据结构】——二叉树简答题模板

目录 一、树和二叉树的概念(一)二叉树的定义和性质(二)树和二叉树的区别 二、完全二叉树和满二叉树三、二叉树的遍历(一)由序列确定二叉树(二)不同遍历序列的关系 四、二叉树的性质&…

气膜厂家怎样确保产品质量和售后服务?

气膜厂家作为一家专业生产气膜产品的企业,确保产品质量和提供良好的售后服务是我们的责任和使命。为了确保产品质量和售后服务的可靠性,我们采取了以下措施。 起初,我们严格按照国家标准和相关行业规范进行生产。气膜产品的质量是产品能否长…

【eNSP实践】eNSP实战篇(3)之路由器、交换机、主机模拟企业网络场景(图文详解)

目录 写在前面涉及知识1、前情提要2、实践操作2.1 eNSP搭建虚拟环境2.2 建立设备连线2.3 统计IP并标注2.4 配置主机IP及启动设备 3、命令行配置3.1 启动所有设备3.2 执行命令添加端口及网关 4、实验总结写在最后 写在前面 其实我之前写了3篇文章都是针对eNSP的基础配置&#x…

深度学习猫狗分类 - python opencv cnn 计算机竞赛

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…

Notes数据结合报表工具Tableau

大家好,才是真的好。 我希望你看过前面两篇内容《Domino REST API安装和运行》和《Domino REST API安装和运行》,更希望你能看过《Notes数据直接在Excel中统计!》,有了这些内容作为基础,今天的内容就显得特别简单。 …

虹科新闻丨虹科正式加入广州市新联会科创分会

来源:虹科电子科技有限公司 虹科新闻丨虹科正式加入广州市新联会科创分会 11月7日,由广州市委统战部、广州开发区管委会、黄埔区人民政府指导,佳都集团、佳都科技集团、广州开发区投资集团共同主办的未来之城大湾区元宇宙创新示范中心&#…

D. Jumping Through Segments

显然是一个二分答案,关键是怎么搞判断函数? 我们维护合法的降落区间就好了~ // Problem: D. Jumping Through Segments // Contest: Codeforces - Codeforces Round 913 (Div. 3) // URL: https://codeforces.com/contest/1907/problem/D // Memory Li…