跳到主要内容

7. 处理分片

IPsec 通过将包的内容与 SPD 中定义的选择器相关联来执行其访问控制功能。当包被分片时,这种关联关系可能被破坏,从而可能允许未经授权的流量穿过 IPsec 边界。

分片处理面临的挑战

分片给 IPsec 处理带来挑战,因为:

  • 传输模式:IP 头在 IPsec 处理期间被修改,使得分片匹配变得困难
  • 隧道模式:分片可能发生在 IPsec 封装之前或之后
  • 选择器匹配:端口信息(以及其他下一层协议数据)仅在第一个分片中可用

有状态分片检查

为应对这些挑战,IPsec 实现应该(SHOULD)支持有状态分片检查。此功能:

  • 跟踪某个包的第一个分片以提取选择器信息
  • 依据缓存的状态验证后续分片
  • 确保某个包的所有分片都按 SPD 策略一致地处理

分片重组的考虑

在 IPsec 处理之前

  • 在 IPsec 处理之前重组可简化选择器匹配
  • 需要用于分片重组的缓冲能力
  • 可能易受基于分片的攻击

在 IPsec 处理之后

  • 各分片单独通过 IPsec 处理
  • 重组发生在受保护一侧
  • 需要有状态检查来维持安全性

实现要求

  • IPsec 实现必须(MUST)支持处理单个分片
  • 应该(SHOULD)支持有状态分片检查,并且应该(SHOULD)能够按每个 SA 配置
  • 如果不执行有状态检查,则必须(MUST)丢弃缺少选择器信息的分片