ip xfrm 状态更新不更改 auth/enc 密钥

ip xfrm 状态更新不更改 auth/enc 密钥

我通过命令测试xfrm框架ip xfrm,在测试state update操作时,我没有设法更改加密密钥或身份验证密钥。类似的问题可以在这个中找到关联

我不确定这是否是为了保护 SAD 条目在内核中的安装方式而故意采取的行为,或者是一些错误。

从我的谷歌研究中我确实发现了以下内容关联他们将此问题定义为错误并修复了它。我仍然不确定这是否是有意为之的行为,或者是 Linux 内核中尚未修复的问题。

答案1

XFRM_MSG_UPDSA( )的主要用例ip xfrm state update是更新入境仅通过 为其分配了 SPI 的 SA XFRM_MSG_ALLOCSPI。后者可以通过以下方式复制ip xfrm state allocspi

Usage: ip xfrm state allocspi ID [ mode MODE ] [ mark MARK [ mask MASK ] ]
    [ reqid REQID ] [ seq SEQ ] [ min SPI max SPI ]

使用 IKE 时,这是必要的,因为在与对等方协商算法和密钥之前需要 SPI。之后,可以使用所有丢失的信息(包括算法和密钥)更新此临时状态一次。

然而,对于添加了XFRM_MSG_NEWSA( ip xfrm state add) 的状态,例如,出境对于本地没有分配 SPI 的 SA,或者更新过一次的 SA,内核只允许更改非常具体的信息。截至撰写本文时(即内核版本 6.3/6.4),这包括:

  • UDP 封装的端口(但不包括是否使用封装或 IP)
  • MIPv6 转交地址(如果有)
  • 一生
  • XFRM 接口 ID
  • SA 在已处理数据包上设置的标记

但无法更改此类 SA 的算法或密钥等基本信息。

相关内容