Passa al contenuto principale

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.