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][crypto] 在IPSec ESP使用AES-GCM加密时的IV