下载类网站怎么做,摄影网站制作设计,可以做pos机的网站,wordpress缩略图地址一、 ESP简介ESP#xff0c;封装安全载荷协议(Encapsulating SecurityPayloads)#xff0c;是一种Ipsec协议#xff0c;用于对IP协议在传输过程中进行数据完整性度量、来源认证、加密以及防回放攻击。可以单独使用#xff0c;也可以和AH一起使用。在ESP头部之前的IPV4…一、 ESP简介ESP封装安全载荷协议(Encapsulating SecurityPayloads)是一种Ipsec协议用于对IP协议在传输过程中进行数据完整性度量、来源认证、加密以及防回放攻击。可以单独使用也可以和AH一起使用。在ESP头部之前的IPV4、IPV6或者拓展头部应该在Protocol(IPV4)或者Next Header(IPV6、拓展头部)部分中包含50表示引入了ESP协议。二、 ESP传输模式数据包结构
ESP的数据包结构如下ESP头部
(1) 安全参数索引SPI(32位):用来确定唯一的安全联盟
(2) 序列号SequenceNumber(32位)用于保护接收端免受重复操作攻击ESP尾部
(1) 填充Padding字段长范围为0-255用于将明文扩充到需要加密的长度同时隐藏载荷数据的真实长度。
(2) 填充长度PadLength(8位)表示填充的字节数
(3) 下一头部NextHeader (8位)标志下一头部的类型(被加密的数据类型)。ESP验证尾部
(1) 鉴别数据Integrity Check Value-ICV(变长)在ESP数据包其他字段基础上计算出的完整性校验值。对数据的完整性验证需要计算SPI、序列号、载荷数据以及ESP尾部。对数据的保密性验证需要计算载荷数据以及ESP尾部。三、 ESP传输模式装拆包流程ESP有两种模式隧道模式和传输模式。隧道模式将发送的整个数据报文作为一个数据整体来处理在整段数据前加上新的IP进行传输不修改原报文。
对于传输模式而言需要拆解报文对原报文的数据部分进行处理加上ESP头部后再装上原报文的IP部分。对IPV4报文的处理过程示意图如下对IPV6报文的处理过程示意图如下装包过程(以IPV4协议为例)
1、 将原IP报文的IP头和数据报文部分分离在数据报文部分的尾部添加ESP尾部。ESP尾部包含选择的加密算法需要对明文进行填充的数据Padding、填充长度Padding Length、下一头部Next Header标注被加密的数据报文类型。2、 对第一步得到的整体信息原数据报文和ESP尾部进行加密。具体的加密算法以及密钥由SA给出。3、对第二步得到的已经加密的信息添加ESP头部(SPI和序列号)组装成Enchilada。4、对第三步得到的Enchilada做摘要得到完整性度量结果(ICV)附加在Enchilada尾部5、在第四步得到的数据前加上原IP头将原IP头中的Protocol中的值改成50代表ESP更清晰的转换对比图如下(以IPV4\TCP为例)拆包过程
1、数据接收方收到数据后看到协议类型为50知道这是一个ESP协议查看ESP头通过SPI决定数据对应的SA.2、计算Enchilada部分的ICV与数据包尾部的ESP ICV进行比较确定数据的完整性。3、检查Seq序列号决定是否需要该数据信息。4、根据SA提供的加密算法和密钥解密被加密的Enchilada数据得到原数据报文和ESP尾部5、根据ESP尾部的填充长度信息找出填充字段的长度删去后得到原数据报文。6、根据原IP头的目的地址进行转发。