3.4. Payload KE
3.4. Payload KE
Il payload KE contiene una chiave pubblica Diffie-Hellman. Se il gruppo Diffie-Hellman utilizzato richiede più chiavi (ad esempio, i gruppi a curva ellittica), il payload KE contiene più chiavi concatenate (ordinate in ordine decrescente di numero di bit della chiave).
Il formato del payload KE è 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Diffie-Hellman Group Num | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Key Exchange Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Formato del payload KE
o Diffie-Hellman Group Num (2 ottetti) - Indica il gruppo DH utilizzato. Questo valore è tratto dal registro IANA "IKEv2 Security Association and Key Management Protocol Parameters", sezione "Transform Type 4 - Diffie-Hellman Group Transform IDs".
o RESERVED (2 ottetti) - DEVE essere inviato come zero e DEVE essere ignorato al ricevimento.
o Key Exchange Data (lunghezza variabile) - Intero senza segno in formato big-endian la cui dimensione è determinata dal valore del gruppo Diffie-Hellman. La dimensione di questo intero è la dimensione del numero primo del gruppo DH (nell'aritmetica modulare). Per il gruppo Oakley 768-bit MODP, questo campo è di 96 ottetti, riempito con zeri iniziali.