3.9. Nonce Payload
3.9. Nonce Payload
Nonce 负载包含一个用于防止重放攻击和确保新鲜性的随机值。
Nonce 负载格式如下:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Nonce Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12: Nonce 负载格式
o Nonce Data (变长) - 包含随机数据的负载。Random data SHOULD 是随机的,并且对于 IKE_SA_INIT 交换 MUST 至少为 8 个八位组,对于 CREATE_CHILD_SA 交换 MUST 至少为 16 个八位组。Nonce 数据 MUST 由发起方或响应方生成,并且 MUST 保密。
Nonce 由交换的发起方和响应方生成,并使用伪随机函数生成密钥材料(参见第 2.13 和 2.14 节)。
注意:较大的 Nonce 提高了对密码分析攻击的抵抗力。实现 SHOULD 使用至少 32 个八位组的 Nonce。