2. Authentication Header Format (Formato dell'Authentication Header)
L'intestazione del protocollo (IPv4, IPv6 o IPv6 Extension) immediatamente precedente l'intestazione AH DEVE contenere il valore 51 nei suoi campi Protocol (IPv4) o Next Header (IPv6, Extension) [DH98]. La Figura 1 illustra il formato per 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
La seguente tabella si riferisce ai campi che compongono AH, (illustrati nella Figura 1), più altri campi inclusi nel calcolo dell'integrità, e illustra quali campi sono coperti dall'ICV e cosa viene trasmesso.
| 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 = obbligatorio
[2] - Vedere la Sezione 3.3.3, "Integrity Check Value Calculation", per i dettagli su quali campi dell'intestazione IP sono coperti.
[3] - Azzerato prima del calcolo ICV (l'ICV risultante viene posizionato qui dopo il calcolo)
[4] - Se modalità tunnel -> datagramma IP
Se modalità trasporto -> intestazione successiva e dati
Le seguenti sottosezioni definiscono i campi che compongono il formato AH. Tutti i campi descritti qui sono obbligatori; cioè, sono sempre presenti nel formato AH e sono inclusi nel calcolo dell'Integrity Check Value (ICV) (vedere le Sezioni 2.6 e 3.3.3).
Nota: Tutti gli algoritmi crittografici utilizzati in IPsec si aspettano il loro input nell'ordine dei byte di rete canonico (vedere l'Appendice di RFC 791 [RFC791]) e generano il loro output nell'ordine dei byte di rete canonico. Anche i pacchetti IP vengono trasmessi nell'ordine dei byte di rete.
AH non contiene un numero di versione, pertanto se ci sono preoccupazioni sulla compatibilità con le versioni precedenti, queste DEVONO essere affrontate utilizzando un meccanismo di segnalazione tra i due peer IPsec per garantire versioni compatibili di AH, ad esempio, IKE [IKEv2] o un meccanismo di configurazione fuori banda.