IPsec: la suite di protocolli trentennale dietro la maggior parte delle VPN aziendali
IPsec è il protocollo VPN di cui probabilmente non hai mai sentito parlare ma che usi ogni giorno. Quasi ogni VPN aziendale da sito a sito, ogni impostazione "VPN" nativa di iOS, ogni configurazione L2TP/IPsec su un router esegue IPsec al di sotto. È anche il protocollo che Bruce Schneier definì "troppo complesso per essere sicuro" nel 2003. Questa spiegazione spiega cos'è, come funziona effettivamente, dove brilla e dove i suoi 30 anni di complessità accumulata lo hanno danneggiato.
Il corpo completo dell'articolo è fornito in inglese di seguito.
Che cos'è IPsec
IPsec è un framework di sicurezza Layer 3 (livello di rete) definito da una suite di standard IETF, quelli fondamentali risalenti al 1995. A differenza di TLS (che opera a livello di trasporto) o SSH (livello di applicazione), IPsec si trova sotto il trasporto. Ogni pacchetto TCP, UDP, ICMP o qualsiasi altro protocollo che si sovrappone a IP può essere autenticato e crittografato in modo trasparente nell'applicazione.
In non è un singolo protocollo. È un framework costituito da diversi protocolli che lavorano insieme:
- Authentication Header (AH): integrità e autenticazione senza connessione, ma senza riservatezza. RFC originale 1826 (1995), ora RFC 4302.
- Encapsulating Security Payload (ESP): autenticazione, integrità, riservatezza e. RFC 1827 (1995), ora RFC 4303. Questo è ciò che quasi tutti usano oggi.
- Internet Key Exchange (IKE): il protocollo di gestione delle chiavi che negozia le chiavi utilizzate da ESP. IKEv1 (RFC 2409, 1998) è ampiamente deprecato. IKEv2 (RFC 7296, 2014) è la versione moderna.
- ISAKMP: il framework sottostante per la gestione delle chiavi autenticate, utilizzato da IKE.
Come funziona realmente
IPsec aggiunge un livello di intestazioni e un carico utile crittografato tra l'intestazione IP e il livello di trasporto carico utile. Sono disponibili due modalità:
Modalità di trasporto
Crittografa e autentica solo il carico utile di ciascun pacchetto. L'intestazione IP originale rimane intatta, solo con un cambio del numero di protocollo di sicurezza. Utilizzato da host a host; non nasconde gli IP effettivi di origine/destinazione dai router intermedi. NAT incompatibile quando AH è in uso, perché AH copre l'intestazione IP nel suo hash di autenticazione e NAT modifica le intestazioni in volo.
Tmodalità tunnel
Incapsula l'intero pacchetto IP originale all'interno di un nuovo pacchetto IP con una nuova intestazione esterna. Questo è ciò che utilizzano le VPN site-to-site aziendali. Due reti aziendali hanno ciascuna il proprio gateway e il traffico tra di loro scorre attraverso un tunnel IPsec in cui gli indirizzi interni sono invisibili a chiunque si trovi sul percorso. La modalità tunnel gestisce anche l'attraversamento NAT in modo nativo (incapsulamento UDP, RFC 3948).
Security Associations
Prima di scambiare dati, due endpoint negoziano un Security Association (SA): un accordo su quale algoritmo di crittografia (AES-GCM, ChaCha20-Poly1305, ecc.), quale funzione hash (SHA-256, SHA-512, BLAKE2), quale materiale della chiave, la durata delle chiavi e altri parametri. Le SA sono unidirezionali; una connessione bidirezionale ne richiede due.
Ogni SA è identificata da un indice dei parametri di sicurezza (SPI) più l'IP di destinazione. L'SPI indica all'endpoint ricevente quale chiave e algoritmo utilizzare per decrittografare un pacchetto in entrata. Questa è la parte mobile che si rompe più spesso nelle implementazioni reali: le discrepanze durature di SA tra i fornitori causano ogni giorno tempeste silenziose di rekey dei tunnel nelle reti aziendali.
LLa critica a Bruce Schneier
In un famoso articolo del 2003, i crittografi Niels Ferguson e Bruce Schneier hanno esaminato IPsec e lo hanno definito "una grande delusione". La loro argomentazione principale: Le specifiche di IPsec erano così flessibili, supportando un numero enorme di modalità opzionali, combinazioni di algoritmi e varianti operative, che quasi ogni implementazione reale era insicura non perché la crittografia fosse pessima, ma perché le configurazioni erano disallineate.
20+ anni dopo, quella critica ha ancora denti. Il moderno IPsec (IKEv2, AES-GCM, autenticazione basata su certificato, impostazioni predefinite sensate) è veramente sicuro. Ma ogni ingegnere IPsec ha storie di guerra sul debug di tunnel che funzionano perfettamente con Cisco ma non con Fortinet, o che funzionano su IPv4 ma non su IPv6, o che funzionano finché un lato non reinserisce la chiave all'ora 8 e rilascia silenziosamente ogni pacchetto per 30 secondi. sistemi" - e IPsec è stato specificamente nominato. Il gruppo di ricerca Logjam (2015) ha proposto un meccanismo plausibile: all’epoca, circa il 90% delle VPN IPsec indirizzabili utilizzava il secondo gruppo Oakley Diffie-Hellman per lo scambio di chiavi. Le dimensioni di quel gruppo significavano che un utente malintenzionato sufficientemente finanziato (un'agenzia di intelligence statale, ad esempio) avrebbe potuto precalcolare i registri discreti una volta e quindi interrompere lo scambio di chiavi di ogni singola sessione in modo economico.
La mitigazione è semplice: utilizzare gruppi Diffie-Hellman più grandi (gruppo 14 o superiore) o, meglio, Diffie-Hellman a curva ellittica con Curve25519. Le moderne implementazioni IPsec fanno questo; quelli legacy spesso no. Il set di strumenti di Equation Group (presumibilmente affiliato alla NSA) trapelato nel 2016 includeva exploit specifici destinati a vecchie implementazioni IPsec su firewall Cisco PIX e ASA.
Dove viene utilizzato IPsec oggi
- VPN aziendali da sito a sito: il caso d'uso dominante. Due siti aziendali collegati tramite la modalità tunnel IPsec è l'implementazione da manuale.
- VPN nativa per iOS/macOS: il client "VPN" integrato in iOS e macOS parla IKEv2/IPsec in modo nativo. I profili VPN sempre attivi gestiti da MDM utilizzano IPsec.
- VPN nativa di Windows: Windows fornisce IKEv2/IPsec come opzione di prima classe.
- L2TP/IPsec: il protocollo di tunneling L2TP trasportato su IPsec per la crittografia. Legacy, lento, ma ampiamente supportato. Per lo più deprecato a favore di IKEv2.
- Mandatory in IPv6 (originariamente): il supporto IPsec era obbligatorio nelle prime specifiche IPv6, successivamente reso facoltativo in RFC 6434.
IPsec vs WireGuard vs OpenVPN
- vs WireGuard: IPsec è più vecchio, più complesso, più configurabile e più lento. WireGuard è più nuovo, supponente, più piccolo e più veloce. La prova di sicurezza IND-CCA di WireGuard esiste; non esiste nulla di equivalente per IPsec nel suo insieme perché la superficie di configurazione è troppo grande per essere formalizzata.
- vs OpenVPN: IPsec opera nel kernel (più veloce); OpenVPN opera nello spazio utente (più flessibile). OpenVPN-TCP/443 può mascherarsi da HTTPS; IPsec non può davvero nascondersi.
- vs L2TP/IPsec: L2TP non aggiunge nulla in termini di sicurezza; è solo lo strato di tunneling che i clienti più vecchi sapevano come parlare. IKEv2/IPsec semplice è decisamente migliore.
Per speed grezzo su un server Linux moderno, IPsec con accelerazione hardware AES-NI è competitivo con WireGuard. Per quanto riguarda la batteria mobile e la facilità d'uso, IKEv2/IPsec in esecuzione nel kernel del sistema operativo è eccellente. Per l'utilizzo di VPN client-to-server consumer, WireGuard lo ha superato.
Estensioni post-quantum
LIl gruppo di lavoro ipsecme dell'IETF sta standardizzando attivamente lo scambio di chiavi post-quantum per IPsec. La bozza attuale mescola uno scambio di chiavi classico (Diffie-Hellman o ECDH) con un candidato post-quantistico (Kyber, NTRU, altri) in modo che anche se i computer quantistici riuscissero a rompere la metà classica, la chiave di sessione simmetrica rimane segreta. Diversi fornitori aziendali hanno iniziato a fornire le prime implementazioni.
Verdict
IPsec non è il protocollo che dovresti scegliere se scegli il nuovo oggi e non sei vincolato. WireGuard è più veloce e più pulito. OpenVPN-TCP/443 è più flessibile per le reti ostili. Ma IPsec è il protocollo che incontrerai inevitabilmente: nelle impostazioni VPN di ogni iPhone, in ogni firewall aziendale, in ogni configurazione legacy L2TP/IPsec, in ogni connettore da sito a sito di ogni provider cloud. Comprenderlo non è facoltativo se lavori con le reti.
Se oggi utilizzi una VPN IPsec e stai considerando la migrazione a WireGuard, il nostro confronto dei protocolli copre i compromessi.
Domande frequenti
- Qual è la differenza tra IPsec e IKEv2?
- IPsec è il protocollo che crittografa e autentica i pacchetti IP. IKEv2 è il protocollo che negozia le chiavi utilizzate da IPsec. Funzionano quasi sempre insieme: quando le persone dicono "VPN IKEv2", intendono IKEv2 che esegue lo scambio di chiavi e IPsec che esegue l'effettiva crittografia dei pacchetti.
- IPsec è sicuro?
- Le moderne configurazioni IPsec - IKEv2, AES-GCM o ChaCha20-Poly1305, scambio di chiavi ECDH con Curve25519 o gruppi DH più grandi, autenticazione basata su certificato - sono sicure. Le configurazioni precedenti che utilizzano piccoli gruppi Diffie-Hellman, modalità aggressiva IKEv1 o chiavi pre-condivise sono vulnerabili agli attacchi che possono essere lanciati da avversari ben finanziati. La complessità è il vero problema: è facile implementare IPsec in modo non sicuro senza saperlo.
- Cos'è L2TP/IPsec? Dovrei usarlo?
- L2TP/IPsec racchiude il vecchio protocollo di tunneling L2TP all'interno di IPsec per la crittografia. Era ampiamente supportato su sistemi operativi e router legacy. Nel 2026 non c'è una buona ragione per usarlo: i client del sistema operativo moderno parlano tutti direttamente IKEv2/IPsec, che è più pulito, più veloce e più semplice. Utilizza IKEv2 invece di L2TP/IPsec ovunque tu abbia la possibilità di scegliere.
- IPsec funziona tramite NAT?
- Sì, in modalità tunnel utilizzando NAT-Traversal (NAT-T, RFC 3948), che incapsula i pacchetti ESP all'interno di UDP. Quasi tutte le moderne implementazioni IPsec lo fanno automaticamente. AH (Authentication Header) non funziona tramite NAT perché l'autenticazione di AH copre l'intestazione IP stessa, che NAT modifica.
- IPsec è più veloce di WireGuard?
- Su un server Linux di fascia alta con accelerazione hardware AES-NI, IPsec può eguagliare il throughput di WireGuard. Su hardware di fascia bassa, dispositivi mobili o tempi di configurazione della connessione, WireGuard è solitamente più veloce. Per l'uso quotidiano della VPN da parte dei consumatori, la base di codice più piccola di WireGuard e la configurazione più semplice lo rendono l'impostazione predefinita migliore.