2. Format de l'en-tête d'authentification
L'en-tête de protocole (IPv4, IPv6, ou extension IPv6) précédant immédiatement l'en-tête AH DOIT contenir la valeur 51 dans ses champs Protocol (IPv4) ou Next Header (IPv6, Extension) [DH98]. La figure 1 illustre le format pour AH.
0 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 Header | Payload Len | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Parameters Index (SPI) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number Field |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Integrity Check Value-ICV (variable) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1. AH Format
Le tableau suivant fait référence aux champs qui composent AH, (illustrés dans la figure 1), plus d'autres champs inclus dans le calcul d'intégrité, et illustre quels champs sont couverts par l'ICV et ce qui est transmis.
| Field | # of bytes | Requ'd [1] | Integ Covers | What is Xmtd |
|---|---|---|---|---|
| IP Header | variable | M | [2] | plain |
| Next Header | 1 | M | Y | plain |
| Payload Len | 1 | M | Y | plain |
| RESERVED | 2 | M | Y | plain |
| SPI | 4 | M | Y | plain |
| Seq# (low-order 32 bits) | 4 | M | Y | plain |
| ICV | variable | M | Y[3] | plain |
| IP datagram [4] | variable | M | Y | plain |
| Seq# (high-order 32 bits) | 4 | if ESN | Y | not xmtd |
| ICV Padding | variable | if need | Y | not xmtd |
[1] - M = mandatory
[2] - Voir section 3.3.3, "Calcul de la valeur de vérification d'intégrité", pour les détails des champs d'en-tête IP couverts.
[3] - Mis à zéro avant le calcul de l'ICV (l'ICV résultant est placé ici après le calcul)
[4] - Si mode tunnel -> datagramme IP
Si mode transport -> en-tête suivant et données
Les sous-sections suivantes définissent les champs qui composent le format AH. Tous les champs décrits ici sont obligatoires; c'est-à-dire qu'ils sont toujours présents dans le format AH et sont inclus dans le calcul de la valeur de vérification d'intégrité (ICV) (voir sections 2.6 et 3.3.3).
Note: Tous les algorithmes cryptographiques utilisés dans IPsec attendent leur entrée dans l'ordre des octets du réseau canonique (voir Annexe de la RFC 791 [RFC791]) et génèrent leur sortie dans l'ordre des octets du réseau canonique. Les paquets IP sont également transmis dans l'ordre des octets du réseau.
AH ne contient pas de numéro de version, donc s'il y a des préoccupations concernant la compatibilité ascendante, elles DOIVENT être traitées en utilisant un mécanisme de signalisation entre les deux pairs IPsec pour assurer des versions compatibles d'AH, par exemple, IKE [IKEv2] ou un mécanisme de configuration hors bande.