3.4. Payload KE
3.4. Payload KE
Le payload KE contient une clé publique Diffie-Hellman. Si le groupe Diffie-Hellman utilisé nécessite plusieurs clés (par exemple, les groupes à courbe elliptique), le payload KE contient plusieurs clés concaténées (classées par ordre décroissant du nombre de bits de la clé).
Le format du payload KE est le suivant :
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 : Format du payload KE
o Diffie-Hellman Group Num (2 octets) - Indique le groupe DH utilisé. Cette valeur est tirée du registre IANA "IKEv2 Security Association and Key Management Protocol Parameters", section "Transform Type 4 - Diffie-Hellman Group Transform IDs".
o RESERVED (2 octets) - DOIT être envoyé à zéro et DOIT être ignoré à la réception.
o Key Exchange Data (longueur variable) - Entier non signé en boutien (big-endian) dont la taille est déterminée par la valeur du groupe Diffie-Hellman. La taille de cet entier est la taille du nombre premier du groupe DH (dans l'arithmétique modulaire). Pour le groupe Oakley 768-bit MODP, ce champ fait 96 octets, rempli avec des zéros en tête.