3 ESP (Encapsulating Security Payload)

Il protocollo ESP (Encapsulating Security Payload) fornisce servizi di riservatezza, autenticazione, integrità e protezione anti-replay. È possibile utilizzare solo il servizio di riservatezza, oppure solo i servizi di autenticazione e integrità (ed eventualmente anti-replay), oppure tutti i servizi insieme. Per quanto riguarda l'autenticazione, questa differisce da quella fornita dal protocollo AH in quanto non copre l'header IP esterno. La posizione di ESP all'interno del pacchetto IP nelle modalità tunnel e trasporto è mostrata in figura 2.3.

Figura 2.3: Posizionamento di ESP all'interno del pacchetto IP.
\includegraphics{immagini/esp_tt.eps}

Come si vede nella figura 2.3, ESP aggiunge sia un header sia un trailer, perché incapsula tutti i dati che protegge. Ecco nel dettaglio il formato del pacchetto, mostrato in figura 2.4.

Security Parameters Index (SPI)
contiene un valore numerico che, insieme con l'indirizzo IP di destinazione e il protocollo (in questo caso ESP), permette di identificare la security association utilizzata. È analogo all'omonimo campo presente in AH.
Sequence number
contiene il numero di sequenza del pacchetto nell'ambito della security association, come in AH.
Payload data
contiene il payload del pacchetto IP originale (se in modalità trasporto) oppure l'intero pacchetto IP originale (se in modalità tunnel), cifrato se si utilizza il servizio di riservatezza. Nel caso l'algoritmo di cifratura utilizzato necessiti di un vettore di inizializzazione (Initialization Vector -- IV), questo viene inserito all'inizio del payload.
Padding
il padding (variabile tra 0 e 255 byte) può essere necessario sia perché l'algoritmo di cifratura può richiedere che il testo in chiaro abbia una dimensione multipla di un certo valore, sia per assicurare il corretto allineamento dei campi successivi, come mostrato in figura 2.4. È anche possibile aggiungere un padding per limitare gli effetti di un'analisi del traffico basata sulla dimensione dei pacchetti.
Pad length
contiene la lunghezza del padding.
Next header
contiene il codice identificativo del protocollo per i dati contenuti nel payload, per esempio TCP o UDP. Si noti che, se si utilizza il servizio di riservatezza, questo campo è cifrato.
Authentication data
contiene il valore di controllo integrità (ICV), calcolato sull'intero pacchetto ESP escluso questo campo. È presente solo se si utilizza il servizio di autenticazione/integrità.

Figura 2.4: Formato del pacchetto ESP.
\includegraphics{immagini/esp.eps}

Anche ESP, come AH, presuppone che esista già una security association tra i due nodi e non si preoccupa di negoziarne i parametri. La specifica del protocollo ESP è contenuta in [4].

©2001 Davide Cerri