TCP-IP详解:ESP(IPSec Encapsulating Security Payload)

Posted CQ小子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP-IP详解:ESP(IPSec Encapsulating Security Payload)相关的知识,希望对你有一定的参考价值。

ESP(IPSec Encapsulating Security Payload)

ESP相比AH来讲,拥有我们想要的加密功能,协议会通过加密算法将数据和Key将数据进行组合,转换成加密格式,然后送给目的端,先来看下几个比较重要的域。

1. ESP Header : 主要是包括SPI和Seq number,放在加密数据之前

2. ESP Trailer:被放置在加密数据之后,包括一个填充区域和填充长度以及一个Next Header, 这个地方比较特殊,ESP header中没有Next Header放在Trailer中

3. ESP Authentication Data : 必须是32bit的整数倍,是在前面个字段基础上计算的出来的完整性校验值ICV。

ESP的数据封装格式如下:

传输模式的ESP数据封装:

1. 原始的IPV4数据包IP header 中,proto是TCP,指向下一个的TCP header

2. 新的IPV4数据包,可以看到IP Header的proto为ESP,紧接着是ESP的SPI Seq,然后是加密的TCP header和Payload,后面就是ESP trailer

3. 在后面是ICV,验证整个数据包

隧道模式的ESP数据封装

1.原始的IPV4数据包IP header 中,proto是TCP,指向下一个的TCP header

2.新的IP header proto为ESP,然后ESP的trailer的Next Head为整个加密数据的IP头


ESP在不同模式下的认证和传输区域

1.传输模式下,红色区域便是加密区,TCP和载荷数据以及ESP尾,黄色区域是验证区包括:ESP和TCP,载荷数据和ESP尾。这个地方IP Header是不被加密和验证的。


2.隧道模式下的认证和传输区域

红色区域是加密区域,整个数据包加ESP尾, 黄色区域是验证区域,这些区域内的数据是不能被修改的。


ESP数据包发送

1.使用分组的相应选择符(目的IP地址、端口、传输协议等)查找安全策略数据库(SPD)获取策略,如分组需要IPSec处理,且其SA已建立,则与选择符相匹配的SPD项将指向安全关联数据库中的相应SA,否则则使用IKE建立SA。 2.生成或增加序列号 3.加密分组,SA指明加密算法,一般采用对称密码算法 4.计算完整性校验值

ESP数据接收

1.若IP分组分片,先重组 2.使用目的IP地址、IPSec协议、SPI进入SAD索引SA,如果查找失败,则丢弃分组 3.使用分组的选择符进入SPD中查找与之匹配的策略,根据策略检查该分组是否满足IPSec处理要求 4.检查抗重播功能 5.如SA指定需要认证,则检查数据完整性 6.解密

以上是关于TCP-IP详解:ESP(IPSec Encapsulating Security Payload)的主要内容,如果未能解决你的问题,请参考以下文章

TCP-IP详解:AH(Authentication Header)

IPsec VPN详解--静态地址

[ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV

IPSec的esp报文

IPSec 传输模式下ESP报文的装包与拆包过程 - 择日而终的博客

IPsec工作模式及其报文封装格式