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