3.1 The IKE Header (Intestazione IKE)
3.1 The IKE Header (Intestazione IKE)
I messaggi IKE usano le porte UDP 500 e/o 4500, con un messaggio IKE per datagramma UDP. Le informazioni dall'inizio del pacchetto fino all'intestazione UDP sono in gran parte ignorate, salvo che gli indirizzi IP e le porte UDP delle intestazioni sono invertiti e usati per i pacchetti di ritorno. Sulla porta UDP 500 i messaggi IKE iniziano subito dopo l'intestazione UDP. Sulla porta 4500 i messaggi IKE hanno quattro ottetti zero anteposti. Questi quattro ottetti non fanno parte del messaggio IKE e non sono inclusi in campi di lunghezza o checksum definiti da IKE. Ogni messaggio IKE inizia con l'intestazione IKE, indicata come HDR in questo documento. Dopo l'intestazione seguono uno o più payload IKE, ciascuno identificato dal campo Next Payload del payload precedente. L'ordine si determina con Next Payload nell'intestazione IKE e poi in ogni payload fino a Next Payload zero. Se si trova un payload di tipo "Encrypted", viene decifrato e il contenuto analizzato come payload aggiuntivi. Un payload Encrypted DEVE essere l'ultimo nel pacchetto e un payload Encrypted NON DEVE contenere un altro Encrypted.
Lo SPI del rispondente nell'intestazione identifica un'istanza di IKE Security Association. Una singola istanza IKE può quindi multiplexare sessioni distinte con più peer, incluse più sessioni per peer.
Tutti i campi multi-ottetto che rappresentano interi sono in ordine big endian ("most significant byte first", ordine di rete).
Il formato dell'intestazione IKE è mostrato nella figura 4.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Initiator's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Responder's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload | MjVer | MnVer | Exchange Type | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: IKE Header Format
-
Initiator's SPI (8 ottetti) - Valore scelto dall'iniziatore per identificare univocamente un'IKE SA. Questo valore NON DEVE essere zero.
-
Responder's SPI (8 ottetti) - Valore scelto dal rispondente per identificare univocamente un'IKE SA. DEVE essere zero nel primo messaggio di uno scambio iniziale IKE (inclusi ripetizioni con cookie).
-
Next Payload (1 ottetto) - Tipo del payload che segue immediatamente l'intestazione.
-
Major Version (4 bit) - Versione maggiore IKE. Le implementazioni di questa versione DEVONO impostare 2. Le implementazioni IKE/ISAKMP precedenti DEVONO impostare 1. Le implementazioni IKEv2 di questo documento DEVONO rifiutare o ignorare messaggi con versione maggiore di 2 con notifica INVALID_MAJOR_VERSION (sezione 2.5).
-
Minor Version (4 bit) - Versione minore. Le implementazioni DEVONO impostare 0 e IGNORARE la versione minore ricevuta.
-
Exchange Type (1 ottetto) - Tipo di scambio. La tabella riflette la data di RFC 4306; valori aggiornati in [IKEV2IANA].
| Exchange Type | Value |
|---|---|
| IKE_SA_INIT | 34 |
| IKE_AUTH | 35 |
| CREATE_CHILD_SA | 36 |
| INFORMATIONAL | 37 |
- Flags (1 ottetto) - Opzioni come bit.
+-+-+-+-+-+-+-+-+
|X|X|R|V|I|X|X|X|
+-+-+-+-+-+-+-+-+
"Impostato" è 1, "cancellato" 0. I bit X DEVONO essere cancellati in invio e ignorati in ricezione.
-
R (Response) - Indica risposta a messaggio con stesso Message ID. DEVE essere cancellato nelle richieste e impostato nelle risposte. Un endpoint IKE NON DEVE generare risposta a messaggio marcato come risposta (eccezione sezione 2.21.2).
-
V (Version) - Capacità di parlare versione maggiore più alta. Le implementazioni IKEv2 DEVONO cancellare in invio e ignorare in ricezione.
-
I (Initiator) - DEVE essere impostato nei messaggi dell'iniziatore originale dell'IKE SA e cancellato nel rispondente originale. Cambia con chi ha iniziato l'ultimo rekey dell'IKE SA.
-
Message ID (4 ottetti, senza segno) - Ritrasmissione e abbinamento richiesta/risposta; essenziale contro replay. Sezioni 2.1 e 2.2.
-
Length (4 ottetti, senza segno) - Lunghezza totale del messaggio (intestazione + payload) in ottetti.