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

2023-12-06 19:52
文章标签 技术 网络安全 ipsec esp ah

本文主要是介绍【网络安全技术】IPsec——AH和ESP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、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尾是被加密的!

这篇关于【网络安全技术】IPsec——AH和ESP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463097

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

如何做好网络安全

随着互联网技术的飞速发展,网站已成为企业对外展示、交流和服务的重要窗口。然而,随之而来的网站安全问题也日益凸显,给企业的业务发展和用户数据安全带来了巨大威胁。因此,高度重视网站安全已成为网络安全的首要任务。今天我们就来详细探讨网站安全的重要性、面临的挑战以及有什么应对方案。 一、网站安全的重要性 1. 数据安全与用户隐私 网站是企业存储和传输数据的关键平台,包括用户个人信息、

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m