这一小节我们一起学习封装安全载荷ESP协议。
ESP封装安全载荷是IPSec的一种协议,它定义在RFC2406中,用于为IP提供保密性和抗重播服务,包括数据包内容的保密性和有限的流量保密性。
我们一起来看一个ESP协议的格式:它由ESP头部、载荷数据、ESP尾部和鉴别数据构成。ESP头部包括了安全参数索引、序列号;安全参数索引SPI,32位,用来确定唯一的安全联盟SA;序列号SequenceNumber,32位,用于保护接收端免受重复操作攻击。
ESP尾部包括了填充、填充长度和下一个头部。填充Padding:字段长范围为0-255,用于将明文扩充到需要加密的长度,同时隐藏载荷数据的真实长度。填充长度PadLength,8位,表示填充的字节数;下一头部NextHeader ,8位,标志下一头部的类型,也就是被加密的数据类型。
载荷数据和ESP尾部的数据需要加密,加密采用的是对称密钥加密算法。
鉴别数据Integrity Check Value,ICV,它是变长的,在ESP数据包其他字段基础上计算出的完整性校验值,用于实现数据完整性和鉴别服务。当对数据的完整性验证时,需要计算SPI、序列号、载荷数据以及ESP尾部;对数据的保密性验证时需要计算载荷数据以及ESP尾部。
ESP的工作模式有两种:传输模式和隧道模式。
ESP工作在隧道模式时,不修改原报文,将发送的整个数据报文作为一个数据整体来处理,在整段数据前加上新的IP进行传输。
ESP工作在传输模式时,需要拆解报文,对原报文的数据部分进行处理,加上ESP头部后,再装上原报文的IP部分。
好,ESP协议就一起学习到这,感谢阅读本文。
posted on 2022-11-03 22:24  bokeyuannicheng0000  阅读(798)  评论(0编辑  收藏  举报