ESP
L'ESP (Encapsulating Security Payload) si occupa dei servizi legati alla confidenzialità .Esiste un'altra versione dell' ESP che fornisce anche l'autenticazione .Il pacchetto ESP è così costituito:
![]()
- Security Parameters Index:Identifica i parametri che individuano una security association ed ha una lunghezza di 32 bits.
- Payload Data:Campo di lunghezza variabile protetto dalla crittografia.
- Padding:Questo campo serve per aumentare il numero di bytes richiesti qualora fosse necessario effettuare l'allineamento (in parole di 32 bits) oppure raggiungere la lunghezza specificata dagli algoritmi di crittografia . La sua lunghezza può variare da 0 (quando non bisogna effettuare il riempimento) fino a 255 bytes.
- Pad Length:Questo campo di 8 bits ha lo scopo di specificare il numero di bytes che sono stati utilizzati per effettuare il padding.
- Next Header:Individua il tipo dei dati contenuti nel campo Payload Data, identificando il primo header . Ha una lunghezza di 8 bits.
Transport e Tunnel Modes
Come già osservato nel caso dell'AH , si ha la possibilità di realizzare l'ESP con due modalità differenti : nel caso di transport mode si ha una cooperazione diretta , mentre con il tunnel mode si utilizza una sorta di "rete virtuale".
![]()
Le figure seguenti mostrano come si utilizza il transport mode nel caso di IPv4 e IPv6:
IPv4
orig IP hdr ESP hdr TCP Dati ESP trl ESP
authIPv6
orig IP hdr hop-by-hop,dest,routing,frag ESP hdr dest TCP Dati ESP trl ESP auth Nell'IPv4 l'header ESP viene inserito all'interno del pacchetto IP , prima dell'header relativo al protocollo di transporto, tuttavia alcuni campi ( Padding, Pad Lenght e Next Header) vengono collocati dopo il pacchetto IP e definiscono l'"ESP trailer" ; quest'ultimo, insieme al segmento del livello di transporto (ad esempio TCP) costituisce il testo cifrato. Per quanto riguarda, invece, l'IPv6, l'ESP header viene posto dopo il vecchio header IP e i campi hop-by-hop, routing, destination e fragment. Il protocollo si occupa di cifrare il testo esattamente come nel caso dell' IPv4. In conclusione il transport mode stabilisce che il testo cifrato, realizzato dal mittente, non può essere assolutamente processato dai routers intermedi durante la trasmissione.
In ricezione, il nodo di destinazione andrà a leggere il contenuto del campo SPI
(Security Parameters Index) al fine di decifrare il resto del pacchetto e recuperare quella parte relativa al livello di transporto.
Passando ad analizzare la modalità di tunneling, in questo caso l'ESP header viene collocato prima del pacchetto IP che verrà cifrato insieme all'ESP trailer. Siccome in questo caso il testo cifrato contiene informazioni riguardanti il routing, è necessario utilizzare un altro pacchetto IP, non coperto da crittografia, che possa , quindi, essere esaminato dai routers intermedi durante la trasmissione.IPv4
new Ip hdr ESP hdr orig IP hdr TCP Dati ESP trl ESP auth IPv6
new Ip hdr ext headers ESP hdr orig IP hdr ext headers TCP Dati ESP trl ESP auth In conclusione, il tunnel mode prevede che il pacchetto prima descritto venga consegnato al firewall di destinazione che, sulla base delle informazioni contenute nell'SPI, si occupa di decifrare e ottenere l'originale pacchetto IP che verrrà trasmesso sulla rete interna.