5 Elaborazione dei pacchetti IPsec

In una macchina che implementa IPsec, tutto il traffico è soggetto alle politiche di IPsec per cui è necessario consultare il Security Policy Database (SPD) per decidere se un pacchetto deve essere lasciato passare normalmente, deve essere passato all'elaborazione IPsec, oppure deve essere scartato21. Nell'analizzare l'elaborazione dei pacchetti IPsec si distingue il traffico in uscita (outbound, ovvero diretto verso un'interfaccia di rete) dal traffico in entrata (inbound, ovvero proveniente da un'interfaccia di rete). Si noti che un security gateway può elaborare lo stesso pacchetto due volte: prima in entrata, proveniente da un'interfaccia, e poi in uscita, diretto verso un'altra interfaccia.

Per il traffico in uscita, bisogna innanzitutto cercare nel SPD un selettore applicabile al pacchetto. Se questo richiede un'elaborazione IPsec bisogna associare il pacchetto ad una SA esistente (cercandola nel SAD) oppure invocare IKE per crearne una nuova, poi si esegue l'elaborazione necessaria (autenticazione, cifratura, incapsulamento del pacchetto in uno nuovo -- che deve essere costruito -- se è richiesta la modalità tunnel) e infine si passa il pacchetto al livello inferiore (figura 2.8-a). In un host (non in un security gateway) con un'implementazione basata sui socket, è possibile consultare il SPD quando il socket viene creato, in modo da determinare una sola volta l'elaborazione IPsec necessaria per il traffico associato a quel socket.

Per il traffico in ingresso, bisogna innanzitutto ricomporre il datagramma IP nel caso sia stato frammentato, dopo di che si identificano i pacchetti che devono essere elaborati con IPsec tramite la presenza dei valori relativi a ESP oppure ad AH nel campo ``protocol'' dell'header IP. Per i pacchetti IPsec, si identifica la SA relativa grazie al valore SPI presente nell'header AH o ESP, si applica l'elaborazione IPsec richiesta, e si controlla il SPD per accertarsi che le operazioni effettuate corrispondano alle politiche specificate. Infine il pacchetto viene inoltrato verso la destinazione successiva oppure passato al livello superiore (figura 2.8-b).

Figura 2.8: Elaborazione dei pacchetti IPsec.
\includegraphics{immagini/IPsec_processing.eps}



Footnotes

... scartato21
Quest'ultima è la scelta di default, se non è specificata una politica applicabile al pacchetto.
©2001 Davide Cerri