跳到主要内容

4.7. GCKS 操作

GCKS 或其委托方可能出于多种原因发起 Rekey 消息, 例如组成员关系发生变化或密钥即将过期.

为了开始构造 rekey 数据报, GCKS 使用正确的 cookie 对构建 ISAKMP HDR, 并构建一个 SEQ payload, 其中包含比前一个 rekey 数据报大 1 的序列号.

随后添加 SA payload.其结构和含义与 GROUPKEY-PULL 交换中发送的 SA payload 相同.如果 KEK 发生变化 (静态 KEK 情况), 或组成员关系发生变化 (LKH 情况), 则向 SA 添加 SA_KEK attribute.如果存在一个或多个新的 TEK, 则添加 SA_TEK attribute 来描述该策略.

随后添加 KD payload.其结构和含义与 GROUPKEY-PULL 交换中发送的 KD payload 相同.如果 SA payload 中包含 SA_KEK attribute, 则包含对应的 KEK 密钥 (或 KEK 数组).对于 SA payload 中包含的每个 SA_TEK attribute, 都发送对应的 TEK 密钥.

如果发起方需要提供其证书, 则添加 CERT payload.

在倒数第二步中, 发起方对字符串 "rekey" 后接已形成的密钥管理消息进行哈希.该哈希被签名, 放入 SIG payload, 并添加到数据报中.

最后, 使用当前 KEK 加密密钥对 HDR 之后的 payload 进行加密.此时即可发送该数据报.