跳到主要内容

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。