3.9. Payload Nonce
3.9. Payload Nonce
Il payload Nonce contiene un valore casuale utilizzato per prevenire attacchi di riproduzione e garantire la freschezza.
Il formato del payload Nonce è il seguente:
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: Formato del payload Nonce
o Nonce Data (lunghezza variabile) - Carico utile contenente dati casuali. I dati casuali DEVONO essere casuali e DEVONO essere di almeno 8 ottetti per lo scambio IKE_SA_INIT e di almeno 16 ottetti per lo scambio CREATE_CHILD_SA. I dati del nonce DEVONO essere generati dall'iniziatore o dal risponditore e DEVONO rimanere riservati.
I nonce sono generati dall'iniziatore e dal risponditore dello scambio e vengono utilizzati per generare il materiale di chiave usando la funzione pseudo-casuale (vedere sezioni 2.13 e 2.14).
Nota: nonce più grandi migliorano la resistenza agli attacchi di crittoanalisi. Le implementazioni DOVREBBERO usare nonce di almeno 32 ottetti.