1 Architettura di IPsec
La struttura di IPsec, specificata in [2], è piuttosto
complessa in quanto IPsec non è un singolo protocollo ma piuttosto
un'architettura di sicurezza a livello IP, composta da vari
protocolli e da altri elementi. I protocolli principali che
costituiscono IPsec sono tre: AH (Authentication
Header) che fornisce servizi di autenticazione e
integrità, ESP (Encapsulating Security Payload)
che fornisce servizi di riservatezza, autenticazione e
integrità, e IKE4 (Internet Key Exchange) che
gestisce lo scambio delle chiavi5. AH ed ESP non si
preoccupano dello scambio delle chiavi e presumono che i due
interlocutori si siano già accordati creando tra loro una
security association (SA),
ovvero un ``contratto'' che specifica quali meccanismi di
sicurezza utilizzare e con quali chiavi. Il compito di negoziare e
gestire le security association secondo delle politiche
definite localmente è affidato appunto a IKE6. Sia AH che ESP possono essere utilizzati
in modalità trasporto oppure in
modalità tunnel: nel primo caso
(non utilizzabile tra security gateway) si aggiungono gli header
dei protocolli utilizzati (AH e/o ESP) tra l'header IP e l'header
del protocollo di trasporto (TCP o UDP), mentre nel secondo il
pacchetto IP originario viene interamente incapsulato in un nuovo
pacchetto IP.
Un concetto fondamentale nell'ambito di IPsec, come accennato poco
fa, è quello di security association.
Una SA è una ``connessione'' tra due parti che comunicano
tramite IPsec, e specifica quali meccanismi di sicurezza vengono
utilizzati, quali algoritmi e quali chiavi, per proteggere il
traffico che vi fluisce. Le SA sono unidirezionali, per cui sono
necessarie due SA per permettere a due host di comunicare tra
loro, inoltre una SA può essere associata ad AH o ad ESP, ma non
ad entrambi. Tutte le security association
attive7 su un host (o
security gateway) sono contenute in un database detto SAD
(Security Association Database), mentre esiste un altro database detto SPD
(Security Policy Database)
che contiene le politiche di sicurezza: tramite esse il sistema
decide se un pacchetto IP debba essere scartato, lasciato passare
in chiaro oppure elaborato tramite IPsec, basandosi su parametri
come l'indirizzo IP sorgente o destinazione, la porta sorgente o
destinazione, il protocollo di trasporto. Le security association
possono essere combinate tra loro, sia nel caso che i nodi
terminali siano gli stessi sia nel caso siano diversi: per esempio
si potrebbero avere due SA in modalità trasporto tra due host (una per AH
e una per ESP), oppure una SA in modalità trasporto tra due host a
cui si aggiunge una SA in modalità tunnel tra due security
gateway che stanno tra i due host8.
Footnotes
- ...IKE4
- In IPv6 AH ed ESP sono due extension
header. IKE, sia in ambito IPv4 che IPv6, è invece un protocollo di livello
applicazione.
- ... chiavi5
- Per alcuni concetti base
relativi alla crittografia si veda l'appendice A.1.
- ... IKE6
- In [2] si fa esplicito riferimento ad IKE come protocollo
predefinito di IPsec, tuttavia si dice che è possibile adottare
anche altre soluzioni. A rigore, si può dire che il ``nucleo'' di IPsec è
costituito esclusivamente da AH, ESP e da alcuni elementi collegati (SA, SAD e SPD,
che verranno illustrati in seguito), mentre il meccanismo di scambio delle
chiavi, per quanto necessario, non fa propriamente parte di IPsec. Nel capitolo
5 si affronterà il problema dell'instaurazione della
connessione IPsec, analizzando alcune possibili estensioni e alternative
all'attuale protocollo IKE.
- ...
attive7
- Una SA ha un tempo di vita, che può essere specificato in termini
temporali oppure come quantità di dati trasferiti.
- ... host8
- Non c'è limite al numero di tunnel sovrapposti, mentre per la
modalità trasporto è possibile applicare solamente una volta
ciascuno dei protocolli AH e ESP (e in questo caso bisogna
necessariamente applicare prima ESP e poi AH).
©2001 Davide Cerri