I pacchetti IP, gli elementi alla base dello scambio dati su Internet, sono composti da due parti: l’area dati, tra cui rientra la lingua, il testo o le immagini e l’header, di cui fanno parte, tra gli altri, gli indirizzi del mittente e del de­sti­na­ta­rio. Il problema maggiore di questi pacchetti, che at­tra­ver­sa­no diversi router per arrivare ai de­sti­na­ta­ri, è che il pro­to­col­lo di rete in se non possiede mec­ca­ni­smi di crit­to­gra­fia e au­ten­ti­fi­ca­zio­ne. Così i dati vengono trasmessi da un router ad un altro senza essere cifrati e possono essere letti o ma­ni­po­la­ti da terzi in qualsiasi momento, dato che non sono garantiti i tre pilastri della sicurezza in­for­ma­ti­ca, cioè con­fi­den­zia­li­tà, au­ten­ti­ci­tà e integrità.

Per questo motivo è stata svi­lup­pa­ta la suite di pro­to­col­li Internet Protocol Security, ab­bre­via­ta in IPsec, che amplia il pro­to­col­lo di rete con numerose funzioni di sicurezza. Questi pro­to­col­li, combinati insieme, si occupano di garantire un alto standard di sicurezza durante la tra­smis­sio­ne dei pacchetti dati nelle reti pubbliche e perciò IPsec è un com­po­nen­te im­por­tan­te di molte con­nes­sio­ni VPN (Virtual Private Network).

Che cos’è IPsec?

IPsec fa parte di una serie di pro­to­col­li e la sua ar­chi­tet­tu­ra è stata proposta come standard dall’ Internet En­gi­nee­ring Task Force (IETF), un’or­ga­niz­za­zio­ne che si occupa di con­ti­nua­re lo sviluppo tecnico di Internet. IPsec è stato svi­lup­pa­to per la nuova versione del pro­to­col­lo di rete (IPv6) e suc­ces­si­va­men­te anche per l’IPv4. In base alle funzioni svolte, si può sud­di­vi­de­re es­sen­zial­men­te in tre gruppi:

  • Pro­to­col­li di tra­sfe­ri­men­to: Au­then­ti­ca­tion Header (AH), En­cap­su­la­ting Security Payload (ESP)
  • Gestione del processo di crit­to­gra­fia: Internet Security As­so­cia­tion and Key Ma­na­ge­ment Protocol (ISAKMP), Internet Key Exchange (IKE)
  • Database: Security As­so­cia­tion Database (SAD), Security Policy Database (SPD)

Grazie ai due pro­to­col­li di tra­sfe­ri­men­to AH e ESP, IPsec ga­ran­ti­sce l’au­ten­ti­ci­tà e l’integrità dei dati inviati, as­si­cu­ran­do così che il contenuto provenga dal mittente di­chia­ra­to e che arrivi invariato a de­sti­na­zio­ne. A questo scopo il pro­to­col­lo AH consente, tramite l’esten­sio­ne dell’header del pacchetto, da una parte l’au­ten­ti­ca­zio­ne della sorgente dei dati, con­fer­man­do­ne così l’au­ten­ti­ci­tà, e dall’altra una pro­te­zio­ne contro la modifica dei pacchetti durante la tra­smis­sio­ne. Inoltre, il pro­to­col­lo AH aggiunge all’header una sequenza numerica, così da impedire l’invio ripetuto dei pacchetti.

Il pro­to­col­lo ESP ga­ran­ti­sce, oltre alla verifica dell‘identità e dell’integrità dei dati, anche la cifratura dei dati inviati. Tuttavia, l’ au­ten­ti­ca­zio­ne ESP si dif­fe­ren­zia da quella del pro­to­col­lo AH, dal fatto che non considera l’header IP più esterno e quindi non è completa. Con l’aiuto di un in­cap­su­la­men­to ag­giun­ti­vo, i contenuti ESP vengono con­se­gna­ti cor­ret­ta­men­te, at­tra­ver­san­do le reti collegate tramite NAT (Network Address Trans­la­tion), come avviene so­li­ta­men­te nelle reti ADSL private.

Per la gestione della crit­to­gra­fia ESP è prin­ci­pal­men­te re­spon­sa­bi­le il pro­to­col­lo IKE, che regola gli accordi di sicurezza (Security As­so­cia­tions) tra mittente e de­sti­na­ta­rio, utilizza l’algoritmo di Diffie-Hellman per garantire uno scambio delle chiavi protetto e realizza così l’intera procedura tramite il framework ISAKMP.

Le in­for­ma­zio­ni ne­ces­sa­rie per l’invio dei pacchetti, uti­liz­zan­do IPsec, si trovano nei due database locali SPD e SAD. I parametri contenuti nel Security Policy Database de­ter­mi­na­no ad esempio quali pro­to­col­li di tra­sfe­ri­men­to (AH, ESP o entrambi) devono essere uti­liz­za­ti per stabilire una con­nes­sio­ne sicura. Il SAD gestisce invece i parametri specifici della Security As­so­cia­tion, creati dal pro­to­col­lo IKE, e pre­sta­bi­li­sce così l’intero pro­ce­di­men­to di crit­to­gra­fia per il mittente, che comprende le chiavi da uti­liz­za­re durante lo scambio dati, e la suc­ces­si­va fase di de­co­di­fi­ca, svolta dal de­sti­na­ta­rio.

Le due modalità di fun­zio­na­men­to di IPsec: tunnel mode vs. transport mode

Per stabilire delle con­nes­sio­ni sicure con IPsec esistono due diverse modalità di tra­smis­sio­ne: quella di trasporto (transport mode), dove due endpoint vengono collegati di­ret­ta­men­te tra loro, e la modalità tunnel (tunnel mode), che instaura una con­nes­sio­ne tra due reti IP.

Transport mode

Ciò che succede uti­liz­zan­do IPsec nella modalità di trasporto è che tra l’header IP dei pacchetti, che rimane invariato, e l’area dati viene aggiunto il cor­ri­spet­ti­vo pro­to­col­lo di tra­sfe­ri­men­to. La pro­te­zio­ne comincia sul computer in uscita e viene mantenuta durante tutta la tra­smis­sio­ne fino a rag­giun­gi­men­to del computer di de­sti­na­zio­ne. Solo dopo la ricezione del pacchetto vengono de­com­pres­si i dati originari e messi a di­spo­si­zio­ne del de­sti­na­ta­rio; così gli endpoint sono crit­to­gra­fi­ca­men­te e co­mu­ni­ca­ti­va­men­te identici. Il transport mode ha il vantaggio di avere un tempo di ela­bo­ra­zio­ne molto basso, ma ga­ran­ti­sce solo la sicurezza dei dati, mentre gli indirizzi di origine e di de­sti­na­zio­ne rimangono non protetti. Questa modalità viene so­li­ta­men­te uti­liz­za­ta per con­nes­sio­ni host-to-host o host-to-router, come ad esempio per la gestione di una rete.

Tunnel mode

Nel tunnel mode i pacchetti dati ricevono un nuovo header IP completo, in cui sono nascosti l’indirizzo ori­gi­na­rio, quello di de­sti­na­zio­ne e i dati. Inoltre viene anche im­ple­men­ta­to l’header del ri­spet­ti­vo pro­to­col­lo di tra­sfe­ri­men­to, come anche nel caso del transport mode, e per questo motivo si dice anche che il pacchetto ori­gi­na­rio viene in­cap­su­la­to. Il nuovo header IP più esterno definisce gli endpoint crit­to­gra­fa­ti, che non sono però identici agli endpoint di co­mu­ni­ca­zio­ne fissati nell’header IP interno vero e proprio. Solo quando il pacchetto è stato de­com­pres­so negli endpoint crit­to­gra­fa­ti, chiamati gateway di sicurezza, sarà inoltrato ai de­sti­na­ta­ri. Di default la tra­smis­sio­ne dati nel tunnel mode avviene gateway-to-gateway, ma sono anche possibili con­nes­sio­ni host-to-gateway e host-to-host.

Punti di forza e punti deboli di IPsec

Creando delle reti VPN, dove si applica mag­gior­men­te la suite dei pro­to­col­li, IPsec ha un vantaggio decisivo rispetto ad al­ter­na­ti­ve come SSL: a livello di rete IPsec può essere impiegato come standard, senza mo­di­fi­ca­re le ap­pli­ca­zio­ni. Una volta che è stata stabilita una con­nes­sio­ne, le diverse forme del traffico dati, sia che si tratti di e-mail, tra­sfe­ri­men­to di file o IP nella telefonia, si svolgono senza che si debbano in­stal­la­re dei tool specifici per il programma. Ciò rende lo stack dei pro­to­col­li la soluzione più con­ve­nien­te per le con­nes­sio­ni VPN. Invece, l’aggiunta di IPsec richiede un software par­ti­co­la­re per gli accessi remoti, che devono essere in­stal­la­ti, con­fi­gu­ra­ti e gestiti sul client cor­ri­spon­den­te. Tuttavia, la sua in­di­pen­den­za dalle ap­pli­ca­zio­ni può diventare presto un problema nel caso si ve­ri­fi­chi­no accessi in­de­si­de­ra­ti che non vengono bloccati da un firewall cen­tra­liz­za­to, mettendo così a rischio non solo l’ap­pli­ca­zio­ne coinvolta, ma anche tutte le altre.

Per quanto riguarda la per­for­man­ce e l’af­fi­da­bi­li­tà, i vantaggi di IPsec sono indubbi: su un sistema collegato tramite cluster, in caso di problemi, un gateway può essere so­sti­tui­to tran­quil­la­men­te da un altro e allo stesso tempo migliaia di utenti con­ti­nue­ran­no a ricevere i pacchetti dati. Infine, IPsec rap­pre­sen­ta un’ottima soluzione per la pro­te­zio­ne dei dati sensibili, so­prat­tut­to grazie ai suoi elevati standard di sicurezza, e per il traffico dati all’interno della rete aziendale, che impedisce la con­nes­sio­ne di utenti anonimi.

Vai al menu prin­ci­pa­le