La versione breve: OpenVPN funziona. È stato verificato, distribuito e messo sotto stress per oltre due decenni. WireGuard fa lo stesso lavoro — tunnel cifrato e autenticato tra due endpoint — con un codebase più piccolo, primitive crittografiche moderne e prestazioni significativamente migliori sui dispositivi mobili. Per la stragrande maggioranza dei casi d'uso consumer e per la maggior parte di quelli enterprise, WireGuard è la scelta tecnica migliore nel 2026. OpenVPN vince ancora in scenari specifici e limitati: reti restrittive dove serve che il traffico in modalità TCP sembri HTTPS, integrazioni con PKI basata su certificati, e ambienti con una lunga storia di conformità che non ha ancora certificato WireGuard. Il resto di questo articolo fornisce i dettagli tecnici alla base di questo riassunto.
Cosa sono effettivamente questi protocolli
OpenVPN, rilasciato nel 2001 da James Yonan, è un protocollo VPN basato su SSL/TLS. Funziona nello spazio utente sulla maggior parte delle piattaforme. Usa la libreria OpenSSL o mbedTLS per la crittografia. Il canale dati può usare qualsiasi cifrario supportato da OpenSSL — AES-256-GCM è il default moderno. Il canale di controllo usa TLS, il che significa che può sfruttare l'intero ecosistema di certificati X.509 per l'autenticazione. Supporta sia UDP (il default, overhead inferiore) che TCP (più lento, ma funziona attraverso firewall restrittivi). Il modello di configurazione è ricco e flessibile — è possibile configurare route, DNS, assegnazione dinamica di IP, policy push e decine di altri parametri.
WireGuard, progettato da Jason Donenfeld e rilasciato nel 2016, è un design molto più compatto e orientato. Le primitive crittografiche sono fisse — non c'è negoziazione, nessuna lista di cipher suite. Il protocollo funziona nel kernel space su Linux, macOS e Windows (e in un'implementazione user-space su iOS). Supporta solo UDP — nessun fallback su TCP. L'autenticazione avviene tramite sole coppie di chiavi pubblica/privata statiche — nessun ecosistema di certificati, nessun username/password, nessuna PKI. Il modello di configurazione è minimalista: un elenco di peer, ciascuno con una chiave pubblica e un intervallo di IP consentiti. La semplicità è il punto di forza.
La semplificazione non è "funzionalità rimosse per capriccio." È uno scambio deliberato — rinunciare alla flessibilità dello spazio di configurazione completo di OpenVPN in cambio di una superficie d'attacco enormemente ridotta, un codebase enormemente più piccolo e prestazioni significativamente superiori. Il whitepaper originale di WireGuard lo afferma esplicitamente: il design riguarda il fare una cosa bene, non l'essere un coltellino svizzero.
Dimensione del codice e superficie di audit
Questa è la differenza più citata e più sottovalutata. L'implementazione di riferimento di WireGuard è di circa 4.000 righe di codice. Il codebase di OpenVPN supera le 100.000 righe, più tutto OpenSSL — che è esso stesso circa 500.000 righe di codice. La superficie di audit — la quantità di codice che deve essere esaminata per avere la certezza che non esistano vulnerabilità — differisce di due ordini di grandezza.
Questo conta perché le vulnerabilità di sicurezza reali nei protocolli VPN sono storicamente derivate da bug nell'implementazione, non da difetti nel design del protocollo. Il bug Heartbleed del 2014 in OpenSSL ha colpito ogni deployment di OpenVPN. Gli attacchi Lucky Thirteen e CBC padding-oracle hanno colpito il livello TLS su cui OpenVPN si basa. Nessuno di questi era un bug del protocollo OpenVPN in sé — erano vulnerabilità nei livelli sottostanti. Un protocollo con un'implementazione da 4.000 righe ha drasticamente meno posti dove tali bug possono nascondersi.
Non è un vantaggio ipotetico. I manutentori del kernel Linux — notoriamente scettici riguardo all'integrazione di nuovo codice — hanno accettato WireGuard nel kernel mainline nel 2020, in parte perché il codebase era abbastanza piccolo da essere esaminato dall'inizio alla fine. Linus Torvalds lo ha descritto pubblicamente come "un'opera d'arte" rispetto ad altre implementazioni VPN. OpenVPN non è mai stato integrato nel kernel perché la sua complessità lo rende impraticabile.
Primitive crittografiche
OpenVPN è agile sul piano crittografico — si configurano gli algoritmi di cifratura, MAC e scambio di chiavi, attingendo a quanto supportato da OpenSSL. I default moderni sono AES-256-GCM per i dati, SHA-256 per l'HMAC, e RSA o ECDSA per l'autenticazione basata su certificati. Questa agilità è stata un punto di forza in passato — quando un algoritmo risultava debole, era possibile sostituirlo senza cambiare il protocollo. È anche un punto debole — la maggior parte delle vulnerabilità TLS dell'ultimo decennio ha riguardato la logica di negoziazione (attacchi di downgrade, manipolazione della cipher suite, handshake di fallback) piuttosto che le primitive stesse.
WireGuard fissa le sue primitive. Usa ChaCha20 per la cifratura simmetrica, Poly1305 per l'autenticazione (combinati come ChaCha20-Poly1305 AEAD), Curve25519 per lo scambio di chiavi Diffie-Hellman su curva ellittica, BLAKE2s per l'hashing e HKDF per la derivazione delle chiavi. Nessuna di queste può essere negoziata. Se viene trovata una vulnerabilità in una di esse, la versione stessa del protocollo viene aggiornata — non esiste un percorso di downgrade in-band che un attaccante possa sfruttare. La scelta delle primitive è informata dalla crittoanalisi moderna: ChaCha20 è più efficiente di AES sui dispositivi senza accelerazione hardware AES (la maggior parte dei telefoni ARM più vecchi), Curve25519 è la curva ellittica più verificata in uso, e BLAKE2s è più veloce di SHA-256 pur essendo altrettanto sicuro.
Il compromesso: se una delle primitive scelte da WireGuard venisse mai compromessa, ogni deployment dovrebbe aggiornarsi in modo sincrono. Con l'agilità crittografica di OpenVPN, i singoli server possono procedere al proprio ritmo. La scommessa di WireGuard è che le primitive scelte siano abbastanza robuste da non rendere necessario questo aggiornamento per molti anni. Finora è stato così; se continuerà dipende da sviluppi crittoanalitici che nessuno può prevedere.
Modello di connessione — stateless vs stateful
OpenVPN mantiene una sessione con stato — c'è un handshake alla connessione, la connessione persiste, e la disconnessione è un evento deliberato. Il server tiene traccia dello stato per ogni client, incluse le chiavi di sessione negoziate, i numeri di sequenza correnti e l'IP virtuale assegnato. Se il server si riavvia o la connessione viene interrotta, la sessione deve essere ristabilita con un handshake completo.
WireGuard è concettualmente stateless dal punto di vista della rete. Ogni peer è identificato dalla propria chiave pubblica, non da un ID di sessione. Non esiste una "connessione" nel senso tradizionale — i pacchetti tra peer o si autenticano rispetto alla chiave pubblica nota oppure no. La rotazione delle chiavi avviene ogni due minuti (o quando viene superato un conteggio di byte configurabile), ma non richiede un re-handshake dal punto di vista dell'utente. Se un server si riavvia, il pacchetto successivo del client innesca un handshake automatico; l'utente non sperimenta alcuna interruzione al di là del round-trip-time di un singolo handshake.
Questo modello stateless è il motivo per cui WireGuard gestisce il roaming di rete così fluidamente. Su un telefono che passa dal Wi-Fi alla rete cellulare, OpenVPN richiede tipicamente un re-handshake completo (spesso 5-10 secondi e talvolta fallisce). WireGuard continua a funzionare — il nuovo pacchetto dal nuovo IP si autentica correttamente, il server aggiorna la mappatura dell'endpoint per quella chiave pubblica e il tunnel continua. Dal punto di vista dell'utente, il cambio di rete è invisibile.
Prestazioni — i numeri che contano davvero
I benchmark mostrano costantemente WireGuard con prestazioni significativamente superiori a OpenVPN in termini di throughput, latenza e utilizzo della CPU. I numeri variano in base all'hardware e alla configurazione, ma il pattern generale è coerente. Su un tipico laptop moderno su Ethernet gigabit, WireGuard raggiunge un throughput vicino alla velocità di linea (900+ Mbps); OpenVPN con AES-256-GCM e OpenSSL moderno raggiunge tipicamente 200-400 Mbps a causa delle copie user-space e dell'overhead del framing TLS. Sui telefoni ARM senza accelerazione hardware AES, il vantaggio di WireGuard è ancora maggiore — ChaCha20 è molto più veloce di AES software, e l'implementazione nel kernel evita i context switch.
I confronti sulla latenza sono meno drammatici ma favoriscono costantemente WireGuard. Un tipico tunnel WireGuard aggiunge 1-3ms di overhead per round trip su una rete veloce; OpenVPN aggiunge 5-15ms a seconda del cifrario e della piattaforma. Per l'uso interattivo — gaming, videochiamate, sessioni di terminale — la differenza è percepibile. Per i trasferimenti bulk è secondaria rispetto al throughput.
Impatto sulla batteria dei dispositivi mobili
Sugli smartphone, il divario di prestazioni si manifesta come divario sulla batteria. Due effetti si sommano: WireGuard elabora la stessa quantità di traffico di rete con meno cicli CPU (perché il protocollo è più semplice e la crittografia è più veloce su ARM), e WireGuard genera meno overhead di rete per byte utile trasmesso (meno pacchetti keep-alive, framing più compatto, nessun re-handshake periodico). Misurazioni indipendenti hanno ripetutamente mostrato WireGuard che consuma circa il 20-40% in meno di batteria per carichi di lavoro equivalenti su iOS e Android.
Il comportamento di roaming senza re-handshake aiuta ulteriormente la batteria. Con OpenVPN, ogni cambio di rete può causare un periodo di ritrasmissioni di pacchetti fallite mentre il client si rende conto che la connessione è interrotta e avvia la riconnessione — quel comportamento di retry mantiene la radio attiva più a lungo del necessario. WireGuard evita questo completamente.
Comportamento in roaming — cambio di rete a sessione attiva
Questo è il miglioramento più visibile all'utente che WireGuard offre. Immagina di essere in una videochiamata con la VPN connessa e il tuo telefono che passa dal Wi-Fi alla rete cellulare mentre esci di casa:
- Con OpenVPN — la rete cellulare assegna al telefono un nuovo IP. I pacchetti in uscita del client OpenVPN ora provengono da questo nuovo IP, ma lo stato del server per la tua sessione si aspetta pacchetti dal vecchio IP Wi-Fi. I pacchetti vengono scartati. Dopo alcuni secondi di silenzio, la logica keep-alive di OpenVPN rileva il guasto e innesca una riconnessione — handshake TLS completo, scambio di chiavi, tutto. La chiamata cade; ti riconnetti.
- Con WireGuard — lo stesso pacchetto dal nuovo IP arriva al server, si autentica rispetto alla chiave pubblica nota e viene accettato. Il server aggiorna in modo trasparente la mappatura dell'endpoint per quella chiave pubblica al nuovo IP. La risposta successiva va al nuovo IP. La chiamata non cade. L'utente non nota nulla.
Questo è il vantaggio in termini di esperienza utente che ha spinto l'industria VPN consumer ad adottare WireGuard. I ticket di supporto su "la VPN cade quando passo dal Wi-Fi alla rete cellulare" smettono semplicemente di arrivare una volta che un vendor migra da OpenVPN a WireGuard.
Dove OpenVPN vince ancora
OpenVPN non è morto, e ci sono scenari specifici in cui rimane la scelta migliore nel 2026:
Modalità TCP per reti restrittive
WireGuard è solo UDP. Alcune reti — firewall aziendali, Wi-Fi di hotel, ISP restrittivi in alcuni paesi — bloccano o limitano pesantemente il traffico UDP che non è sulle porte standard DNS/QUIC. La modalità TCP di OpenVPN (tipicamente sulla porta 443) può attraversare queste reti facendo sembrare il traffico VPN come normale HTTPS. WireGuard non ha una modalità TCP nativa; è necessario un livello di offuscamento aggiuntivo sopra (Cloak, Shadowsocks, AmneziaWG) oppure si ricade su OpenVPN.
Autenticazione basata su certificati con PKI esistente
OpenVPN si integra in modo nativo con l'infrastruttura di certificati X.509. Le organizzazioni che dispongono già di una PKI per altri scopi (smart card, S/MIME, TLS interno) possono estenderla all'autenticazione VPN senza dover creare nuova infrastruttura. WireGuard usa chiavi statiche, il che è operativamente più semplice ma non si integra con i flussi di lavoro PKI. Per le organizzazioni con un forte investimento in PKI, OpenVPN rimane la scelta naturale.
Storia di audit più lunga
OpenVPN è stato in produzione per oltre due decenni. È stato verificato più volte da più aziende indipendenti. La storia di WireGuard è più breve — otto anni di deployment in produzione e un numero inferiore di audit formali. Entrambi hanno un track record di sicurezza pulito; il track record di OpenVPN è semplicemente più lungo. Per i framework di conformità che richiedono una lunga storia di deployment (alcuni contesti FedRAMP, alcuni contesti FIPS), OpenVPN potrebbe ancora essere l'unica opzione.
Assegnazione dinamica di IP e policy push più ricche
Il server OpenVPN può assegnare dinamicamente IP virtuali, inviare impostazioni DNS, inviare route e inviare altre configurazioni ai client durante l'handshake. La configurazione di WireGuard è per lo più statica — gli IP consentiti di ciascun peer vengono configurati in anticipo. Per grandi deployment enterprise con frequente turnover degli endpoint, il modello dinamico di OpenVPN è operativamente più semplice.
Confronto proprietà per proprietà
| Proprietà | WireGuard | OpenVPN |
|---|---|---|
| Rilasciato | 2016 | 2001 |
| Dimensione codebase (impl. di riferimento) | ~4.000 righe | ~100.000+ righe (più OpenSSL ~500.000) |
| Primitive crittografiche | Fisse: ChaCha20-Poly1305, Curve25519, BLAKE2s | Negoziabili tramite OpenSSL; default AES-256-GCM + SHA-256 + RSA/ECDSA |
| Porta predefinita | 51820 UDP (configurabile) | 1194 UDP, 443 TCP (configurabile) |
| Supporto TCP | No (solo UDP) | Sì (modalità TCP disponibile) |
| Autenticazione | Coppie di chiavi pubbliche statiche | Certificati X.509, chiavi pre-condivise, username/password |
| Integrazione nel kernel Linux | Nel mainline dal kernel 5.6 (2020) | Solo user-space |
| Efficienza batteria mobile | ~20-40% di consumo inferiore nei test indipendenti | Consumo base maggiore; re-handshake periodici aggiungono costo |
| Roaming (Wi-Fi a rete cellulare) | Trasparente; nessun re-handshake richiesto | Innesca la riconnessione; drop di sessione visibile |
| Storico audit | ~8 anni in produzione; più audit formali | ~24 anni in produzione; ampio storico di audit |
| Resistenza alla censura (raw) | Inferiore (schema di handshake distintivo) | Superiore con modalità TCP/443 |
Perché la maggior parte dei servizi moderni usa WireGuard
Ogni principale VPN consumer — Mullvad, ProtonVPN, NordVPN, IVPN, Surfshark, ExpressVPN, Casper's Cloak — offre WireGuard, e la maggior parte lo ha reso il default. Le ragioni sono coerenti tra i vendor: è più veloce, consuma meno batteria, sopravvive al roaming di rete in modo fluido, ed è più facile da verificare. I costi di supporto scendono perché meno connessioni cadono. I costi server scendono perché ogni server può gestire più connessioni simultanee (CPU inferiore per connessione). L'esperienza utente migliora in modo misurabile sui dispositivi mobili.
La transizione è stata validata anche da seri adottanti istituzionali. Mullvad ha spiegato pubblicamente la loro migrazione completa a WireGuard e le ragioni tecniche alla base. I servizi Tailscale e Cloudflare WARP sono costruiti su protocolli derivati da WireGuard. Linux lo ha integrato nel mainline. macOS e iOS offrono supporto nativo. C'è un forte consenso industriale sul fatto che WireGuard sia il punto di partenza corretto per i nuovi deployment VPN, con OpenVPN mantenuto per scenari specifici di compatibilità. Per il contesto più ampio sul perché una VPN a pagamento che usa correttamente questi protocolli sia importante, la nostra guida VPN gratuita vs a pagamento copre il lato della fiducia e del finanziamento, mentre il nostro confronto con ProtonVPN analizza le differenze implementative tra vendor specifici.
Cosa usa Casper e perché
Casper's Cloak esegue WireGuard per impostazione predefinita su iOS, Android e Mac. Le ragioni si mappano direttamente sul confronto sopra: il minor consumo di batteria conta sui dispositivi che i nostri utenti portano davvero con sé; il roaming senza interruzione conta perché la maggior parte dei nostri clienti cambia rete ogni giorno; la superficie di codice ridotta si allinea con il nostro modello di minaccia (la difesa a livello di rete non dovrebbe introdurre ulteriore superficie di esecuzione del codice); e le primitive crittografiche sono il meglio della classe moderna.
Affianchiamo WireGuard con i nostri livelli di filtraggio e rilevamento — threat shield al resolver DNS, scoring ML delle minacce sui nuovi domini, e filtraggio dei tracker nel percorso di risposta. Il tunnel è il trasporto; il filtraggio attivo è ciò che rende la connessione utile al di là del semplice cambio di IP. Per il riferimento tecnico canonico su WireGuard stesso, il paper originale e la documentazione su wireguard.com/papers rimangono le migliori fonti primarie.
In sintesi
WireGuard è il default corretto nel 2026 per le VPN consumer, i deployment enterprise moderni e la maggior parte dei tunnel cloud-to-cloud. È più veloce, più efficiente in termini di batteria, più facile da verificare e significativamente migliore nella gestione del roaming su reti mobili. OpenVPN non è obsoleto e rimane la risposta giusta per le reti restrittive dove è necessaria la modalità TCP, per le organizzazioni con workflow PKI consolidati e per gli ambienti di conformità che richiedono la sua lunga storia di audit.
Per un utente tipico che sceglie una VPN consumer: scegli un vendor che offre WireGuard, usalo come default e tieni OpenVPN come fallback per le rare reti che non fanno passare il traffico UDP di WireGuard. I miglioramenti in termini di prestazioni e batteria sono reali, il modello di sicurezza è almeno altrettanto solido, e l'esperienza utente — in particolare sui dispositivi mobili — è significativamente migliore. La transizione che l'industria ha già compiuto è quella giusta, e non mostra alcun segno di inversione.