隧道模式下的ESP协议运作过程
装包过程
对原始IP报文的处理:
- 添加ESP尾部
- Padding:加密算法是块加密的话,就需要填充
- Pad length:补上填充长度
- Next header:用于标明原报文的协议类型,IPv4 or IPv6。
- 对ESP尾部和原始IP数据报文进行加密:由SA给出加密算法和密钥。
- 插入新的ESP头:SPI和一个Seq#,与加密数据部分构成认证部分"enchilada"。
- 插入ESP MAc到数据报尾部:完整性的度量结果,对认证部分"enchilada"做消息摘要,得到一个32位整数倍的完整性度量值。完整性度量算法和验证密钥由SA给出。
- 生成新的IP数据报头。新IP地址路由器和安全网关解释。协议类型50,封装ESP。
拆包过程
- 接受IP报文,解析报头,确定协议类型50为ESP报文。
- 解析ESP header,通过SPI确定数据报文以及所对应的SA,得到安全规范。
- 计算"enchilada"部分摘要和尾部摘要进行比