3.1. ESP Header Location (Posizione dell'intestazione ESP)
3.1. ESP Header Location (Posizione dell'intestazione ESP)
ESP può essere utilizzato in due modi: modalità trasporto o modalità tunnel.
3.1.1. Transport Mode Processing (Elaborazione in modalità trasporto)
In modalità trasporto, ESP viene inserito dopo l'intestazione IP e prima di un protocollo di livello successivo, ad esempio TCP, UDP, ICMP, ecc. Nel contesto di IPv4, questo si traduce nel posizionamento di ESP dopo l'intestazione IP (e tutte le opzioni che contiene), ma prima del protocollo di livello successivo. (Se AH viene applicato anche a un pacchetto, viene applicato all'intestazione ESP, al payload, al trailer ESP e all'ICV, se presente.) (Si noti che il termine modalità "trasporto" non deve essere frainteso come una limitazione del suo utilizzo a TCP e UDP.) Il seguente diagramma illustra il posizionamento della modalità trasporto ESP per un tipico pacchetto IPv4, su base "prima e dopo". (Questo e i diagrammi successivi in questa sezione mostrano il campo ICV, la cui presenza è una funzione dei servizi di sicurezza e dell'algoritmo/modalità selezionata.)
PRIMA DI APPLICARE ESP
----------------------------
IPv4 |orig IP hdr | | |
|(any options)| TCP | Data |
----------------------------
DOPO L'APPLICAZIONE DI ESP
-------------------------------------------------
IPv4 |orig IP hdr | ESP | | | ESP | ESP|
|(any options)| Hdr | TCP | Data | Trailer | ICV|
-------------------------------------------------
|<---- encryption ---->|
|<-------- integrity ------->|
Nel contesto IPv6, ESP è visto come un payload end-to-end e quindi dovrebbe apparire dopo le intestazioni di estensione hop-by-hop, routing e fragmentation. Le intestazioni di estensione delle opzioni di destinazione potrebbero apparire prima, dopo o sia prima che dopo l'intestazione ESP a seconda della semantica desiderata. Tuttavia, poiché ESP protegge solo i campi dopo l'intestazione ESP, sarà generalmente desiderabile posizionare le intestazioni delle opzioni di destinazione dopo l'intestazione ESP. Il seguente diagramma illustra il posizionamento della modalità trasporto ESP per un tipico pacchetto IPv6.
PRIMA DI APPLICARE ESP
---------------------------------------
IPv6 | | ext hdrs | | |
| orig IP hdr |if present| TCP | Data |
---------------------------------------
DOPO L'APPLICAZIONE DI ESP
---------------------------------------------------------
IPv6 | orig |hop-by-hop,dest*,| |dest| | | ESP | ESP|
|IP hdr|routing,fragment.|ESP|opt*|TCP|Data|Trailer| ICV|
---------------------------------------------------------
|<--- encryption ---->|
|<------ integrity ------>|
* = se presente, può essere prima di ESP, dopo ESP o entrambi
Si noti che in modalità trasporto, per le implementazioni "bump-in-the-stack" o "bump-in-the-wire", come definite nel documento Security Architecture, i frammenti IP in entrata e in uscita possono richiedere che un'implementazione IPsec esegua un riassemblaggio/frammentazione IP extra per conformarsi sia a questa specifica che per fornire un supporto IPsec trasparente. È necessaria particolare attenzione per eseguire tali operazioni all'interno di queste implementazioni quando sono in uso più interfacce.
3.1.2. Tunnel Mode Processing (Elaborazione in modalità tunnel)
In modalità tunnel, l'intestazione IP "interna" trasporta gli indirizzi di origine e destinazione (IP) finali, mentre un'intestazione IP "esterna" contiene gli indirizzi dei "peer" IPsec, ad esempio gli indirizzi dei gateway di sicurezza. Sono consentite versioni IP interne ed esterne miste, ovvero IPv6 su IPv4 e IPv4 su IPv6. In modalità tunnel, ESP protegge l'intero pacchetto IP interno, inclusa l'intera intestazione IP interna. La posizione di ESP in modalità tunnel, relativa all'intestazione IP esterna, è la stessa di ESP in modalità trasporto. Il seguente diagramma illustra il posizionamento della modalità tunnel ESP per pacchetti IPv4 e IPv6 tipici.
PRIMA DI APPLICARE ESP
----------------------------
IPv4 |orig IP hdr | | |
|(any options)| TCP | Data |
----------------------------
DOPO L'APPLICAZIONE DI ESP
-----------------------------------------------------------
IPv4 | new IP hdr* | | orig IP hdr* | | | ESP | ESP|
|(any options)| ESP | (any options) |TCP|Data|Trailer| ICV|
-----------------------------------------------------------
|<--------- encryption --------->|
|<------------- integrity ------------>|
PRIMA DI APPLICARE ESP
---------------------------------------
IPv6 | | ext hdrs | | |
| orig IP hdr |if present| TCP | Data |
---------------------------------------
DOPO L'APPLICAZIONE DI ESP
------------------------------------------------------------
IPv6 | new* |new ext | | orig*|orig ext | | | ESP | ESP|
|IP hdr| hdrs* |ESP|IP hdr| hdrs * |TCP|Data|Trailer| ICV|
------------------------------------------------------------
|<--------- encryption ---------->|
|<------------ integrity ------------>|
* = se presente, la costruzione dell'intestazione/estensioni IP esterna
e la modifica dell'intestazione/estensioni IP interna sono discusse
nel documento Security Architecture.