IPSec 传输模式下 ESP 报文的装包与拆包过程

装包过程:

1.在原IP报文末尾添加尾部(ESP trailer)信息。尾部包含三部分。由于所选的加密算法可能是块加密,按摩当最后一块长度不够时,需要进行填充(padding),附上填充长度(padding lenght)方便解包时顺利找出用来填充的那一段数据。Next header用来表明被加密的数据报文类型,如TCP


 2.将原IP报文以及第1步得到的ESP尾部作为一个整体进行加密。具体的加密算法与密钥由SA给出。


3.为第2步得到的加密数据添加ESP头部。ESP头由两部分组成,SPI和序列号(Sequence number)。加密数据与ESP头合称为 ”enchilada“


4.附加完整性度量结果(ICV,Integrity check value)。对第3步得到的 ”enchilada“ 做摘要,得到一个完整性度量值,附在ESP报文的尾部


5.将原本的IP头附在头部,修改协议类型为 50,装包完成


拆包过程:

1. 接收方收到数据报文后,发现协议类型是 50,知道这是一个IPsec包。首先查看ESP头,通过里面的SPI决定数据报文所对应的SA。

2.计算 “enchilada” 部分的摘要,与附在结尾的ICV对比,如果一样,说明数据是完整的。否则可以断定收到的报文已经不是原来的报文。

3.检查Seq里的序列号,保证数据是”新鲜“的。

4.根据SA提供的加密算法和密钥,加密被加密过的数据,即 ”enchilada“ 。得到原IP报文与ESP尾部(trailer)。

5.根据ESP尾部里的填充长度信息,找出填充字段的长度,删去后得到原来的IP报文。

6.最后根据得到的原IP包的目的地址进行转发。



原博客地址:http://www.cnblogs.com/2014-cjs/p/4068923.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值