Connessioni di rete sicure con IPsec

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 destinatario. Il problema maggiore di questi pacchetti, che attraversano diversi router per arrivare ai destinatari, è che il protocollo di rete in se non possiede meccanismi di crittografia e autentificazione. Così i dati vengono trasmessi da un router ad un altro senza essere cifrati e possono essere letti o manipolati da terzi in qualsiasi momento, dato che non sono garantiti i tre pilastri della sicurezza informatica, cioè confidenzialità, autenticità e integrità.

Per questo motivo è stata sviluppata la suite di protocolli Internet Protocol Security, abbreviata in IPsec, che amplia il protocollo di rete con numerose funzioni di sicurezza. Questi protocolli, combinati insieme, si occupano di garantire un alto standard di sicurezza durante la trasmissione dei pacchetti dati nelle reti pubbliche e perciò IPsec è un componente importante di molte connessioni VPN (Virtual Private Network).

Che cos’è IPsec?

IPsec fa parte di una serie di protocolli e la sua architettura è stata proposta come standard dall’ Internet Engineering Task Force (IETF), un’organizzazione che si occupa di continuare lo sviluppo tecnico di Internet. IPsec è stato sviluppato per la nuova versione del protocollo di rete (IPv6) e successivamente anche per l’IPv4. In base alle funzioni svolte, si può suddividere essenzialmente in tre gruppi:

  • Protocolli di trasferimento: Authentication Header (AH), Encapsulating Security Payload (ESP)
  • Gestione del processo di crittografia: Internet Security Association and Key Management Protocol (ISAKMP), Internet Key Exchange (IKE)
  • Database: Security Association Database (SAD), Security Policy Database (SPD)

Grazie ai due protocolli di trasferimento AH e ESP, IPsec garantisce l’autenticità e l’integrità dei dati inviati, assicurando così che il contenuto provenga dal mittente dichiarato e che arrivi invariato a destinazione. A questo scopo il protocollo AH consente, tramite l’estensione dell’header del pacchetto, da una parte l’autenticazione della sorgente dei dati, confermandone così l’autenticità, e dall’altra una protezione contro la modifica dei pacchetti durante la trasmissione. Inoltre, il protocollo AH aggiunge all’header una sequenza numerica, così da impedire l’invio ripetuto dei pacchetti.

Il protocollo ESP garantisce, oltre alla verifica dell‘identità e dell’integrità dei dati, anche la cifratura dei dati inviati. Tuttavia, l’ autenticazione ESP si differenzia da quella del protocollo AH, dal fatto che non considera l’header IP più esterno e quindi non è completa. Con l’aiuto di un incapsulamento aggiuntivo, i contenuti ESP vengono consegnati correttamente, attraversando le reti collegate tramite NAT (Network Address Translation), come avviene solitamente nelle reti ADSL private.

Per la gestione della crittografia ESP è principalmente responsabile il protocollo IKE, che regola gli accordi di sicurezza (Security Associations) tra mittente e destinatario, utilizza l’algoritmo di Diffie-Hellman per garantire uno scambio delle chiavi protetto e realizza così l’intera procedura tramite il framework ISAKMP.

Le informazioni necessarie per l’invio dei pacchetti, utilizzando IPsec, si trovano nei due database locali SPD e SAD. I parametri contenuti nel Security Policy Database determinano ad esempio quali protocolli di trasferimento (AH, ESP o entrambi) devono essere utilizzati per stabilire una connessione sicura. Il SAD gestisce invece i parametri specifici della Security Association, creati dal protocollo IKE, e prestabilisce così l’intero procedimento di crittografia per il mittente, che comprende le chiavi da utilizzare durante lo scambio dati, e la successiva fase di decodifica, svolta dal destinatario.

Le due modalità di funzionamento di IPsec: tunnel mode vs. transport mode

Per stabilire delle connessioni sicure con IPsec esistono due diverse modalità di trasmissione: quella di trasporto (transport mode), dove due endpoint vengono collegati direttamente tra loro, e la modalità tunnel (tunnel mode), che instaura una connessione tra due reti IP.

Transport mode

Ciò che succede utilizzando IPsec nella modalità di trasporto è che tra l’header IP dei pacchetti, che rimane invariato, e l’area dati viene aggiunto il corrispettivo protocollo di trasferimento. La protezione comincia sul computer in uscita e viene mantenuta durante tutta la trasmissione fino a raggiungimento del computer di destinazione. Solo dopo la ricezione del pacchetto vengono decompressi i dati originari e messi a disposizione del destinatario; così gli endpoint sono crittograficamente e comunicativamente identici. Il transport mode ha il vantaggio di avere un tempo di elaborazione molto basso, ma garantisce solo la sicurezza dei dati, mentre gli indirizzi di origine e di destinazione rimangono non protetti. Questa modalità viene solitamente utilizzata per connessioni 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 originario, quello di destinazione e i dati. Inoltre viene anche implementato l’header del rispettivo protocollo di trasferimento, come anche nel caso del transport mode, e per questo motivo si dice anche che il pacchetto originario viene incapsulato. Il nuovo header IP più esterno definisce gli endpoint crittografati, che non sono però identici agli endpoint di comunicazione fissati nell’header IP interno vero e proprio. Solo quando il pacchetto è stato decompresso negli endpoint crittografati, chiamati gateway di sicurezza, sarà inoltrato ai destinatari. Di default la trasmissione dati nel tunnel mode avviene gateway-to-gateway, ma sono anche possibili connessioni host-to-gateway e host-to-host.

Punti di forza e punti deboli di IPsec

Creando delle reti VPN, dove si applica maggiormente la suite dei protocolli, IPsec ha un vantaggio decisivo rispetto ad alternative come SSL: a livello di rete IPsec può essere impiegato come standard, senza modificare le applicazioni. Una volta che è stata stabilita una connessione, le diverse forme del traffico dati, sia che si tratti di e-mail, trasferimento di file o IP nella telefonia, si svolgono senza che si debbano installare dei tool specifici per il programma. Ciò rende lo stack dei protocolli la soluzione più conveniente per le connessioni VPN. Invece, l’aggiunta di IPsec richiede un software particolare per gli accessi remoti, che devono essere installati, configurati e gestiti sul client corrispondente. Tuttavia, la sua indipendenza dalle applicazioni può diventare presto un problema nel caso si verifichino accessi indesiderati che non vengono bloccati da un firewall centralizzato, mettendo così a rischio non solo l’applicazione coinvolta, ma anche tutte le altre.

Per quanto riguarda la performance e l’affidabilità, i vantaggi di IPsec sono indubbi: su un sistema collegato tramite cluster, in caso di problemi, un gateway può essere sostituito tranquillamente da un altro e allo stesso tempo migliaia di utenti continueranno a ricevere i pacchetti dati. Infine, IPsec rappresenta un’ottima soluzione per la protezione dei dati sensibili, soprattutto grazie ai suoi elevati standard di sicurezza, e per il traffico dati all’interno della rete aziendale, che impedisce la connessione di utenti anonimi.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top