Negli ultimi mesi, Proton VPN ha lavorato a Proton protocols, una nuova codebase per protocolli VPN lato client. Conosciuta internamente con il nome in codice ProTUN, questa nuova architettura di codice è scritta in Rust. Sebbene abbiamo effettuato un fork del codice di crittografia dal progetto BoringTun(nuova finestra) di Cloudflare, l’architettura completamente riprogettata è di Proton.
Perché ci serve un nuovo core VPN
WireGuard® è un protocollo VPN all’avanguardia, sicuro quanto OpenVPN ma più veloce e potente. Ecco perché stiamo iniziando a rimuovere il supporto a OpenVPN dalle nostre app ufficiali, per concentrarci invece su WireGuard.
Tuttavia, attualmente le nostre app utilizzano l’implementazione ufficiale wireguard-go di WireGuard. Si tratta di un’ottima implementazione, con un design elegantemente minimale che la rende veloce, sicura e più facile da sottoporre ad audit rispetto ai protocolli VPN tradizionali.
Tuttavia, wireguard-go non si integra bene con i linguaggi che usiamo nativamente per sviluppare Proton VPN sulle molteplici piattaforme che supportiamo (come Kotlin su Android e Swift su iOS). Ciò rallenta lo sviluppo, complica il debug e introduce sfide di stabilità.
Proton protocols risolve questi problemi.
Proton protocols è un nuovo framework VPN lato client basato su WireGuard. Essendo scritto in Rust e progettato come un core condiviso ed estensibile, ProTUN può essere distribuito in modo coerente su varie piattaforme e adattato a diversi ambienti di rete. Questo ci consentirà di diagnosticare i problemi più velocemente, migliorare la stabilità e integrare funzionalità avanzate direttamente nello stack VPN.
Cosa ancora più importante, Proton protocols ci offre la flessibilità necessaria per rispondere rapidamente alla censura e alle interferenze di rete, un ambito in cui ci aspettiamo i maggiori vantaggi a lungo termine.
Sotto il cofano
Crittografare il traffico con un nuovo core WireGuard
Al centro del progetto Proton protocols c’è libpvpnclient, un’implementazione pulita e autonoma del protocollo WireGuard scritta in Rust. Il suo compito è semplice ma fondamentale: crittografare il tuo traffico internet e mantenere sicura la tua connessione.
Ciò che lo differenzia da wireguard-go è il modo in cui è costruito. Mentre wireguard-go è un semplice client WireGuard, libpvpnclient è un framework completamente nuovo su cui possiamo sviluppare nuove funzionalità avanzate.
E invece di essere strettamente legato a un sistema operativo specifico, libpvpnclient è progettato come un core puro e indipendente dalla piattaforma. Questo ci consente di riutilizzare la stessa implementazione di alta qualità ovunque: su desktop, dispositivi mobili e non solo. Questa separazione fa una grande differenza dietro le quinte. Ci permette di:
- Testare ed eseguire il debug di casi limite complessi in ambienti controllati e ripetibili
- Rilasciare miglioramenti in modo più rapido e coerente su varie piattaforme
- Sperimentare nuove tecniche per resistere alla censura e al blocco del traffico
Per te, questo si traduce in aggiornamenti più rapidi, meno problemi specifici della piattaforma e una VPN che si adatta più velocemente al variare delle condizioni di rete e dei metodi di censura. ProTUN stesso è il nome del wrapper intorno a libpvpnclient che adatta la libreria basata su Rust a ciascun sistema operativo che supportiamo.
Funziona di pari passo con LocalAgent. Si tratta del nostro canale di controllo interno che ci consente di implementare l’autenticazione basata su certificati, e che abbiamo appena ottimizzato e riscritto in Rust.
Questo nuovo core VPN è disponibile per essere testato fin da ora come funzionalità beta (accesso anticipato) sulle seguenti piattaforme:
- Windows
- Android
- iOS e iPadOS (con supporto per il kill switch avanzato)
- App GUI per Linux (che introduce il supporto per il nostro protocollo Stealth resistente alla censura)
Rendere più facile raggiungere i server Proton VPN
Stiamo lavorando anche alla seconda fase di Proton protocols. Con il nome in codice muon, si tratta di un livello di rete flessibile che connette in sicurezza le nostre app alle API VPN di Proton, anche nei casi in cui le API di Proton stesse siano censurate.
Prima che una VPN possa proteggere il tuo traffico, deve innanzitutto connettersi in sicurezza alle API di Proton. E questo sta diventando sempre più difficile. In alcuni paesi e reti, le connessioni alle API sono bloccate o monitorate a livello DNS, oppure identificate esaminando i nomi dei server (una tecnica nota come SNI snooping).
Per far fronte a questo problema, stiamo sviluppando muon, un nuovo gateway tra le nostre app e le API di Proton. Scritto anch’esso in Rust per garantire sicurezza e prestazioni, muon gestisce le primissime richieste di rete effettuate dalla tua app, per poi instradarle in sicurezza verso il protocollo WireGuard di Proton VPN (a lungo termine, questa funzionalità sostituirà la nostra attuale soluzione anti-censura di percorso alternativo(nuova finestra)).
In termini pratici, questo significa che dal momento in cui apri l’app Proton VPN in un paese in cui l’accesso è notoriamente censurato, la tua comunicazione con le API di Proton sarà già protetta (ancora prima che la connessione VPN a livello di sistema sia completamente stabilita). E nei paesi restrittivi, il tuo ISP non saprà nemmeno che ti stai connettendo alle API di Proton.
Questa protezione sarà automatica e invisibile per te, il che significa che avrai maggiori probabilità di stabilire una connessione funzionante nei paesi soggetti a censura. Di fatto, muon è così utile per contrastare la censura che lo utilizzeremo su tutte le app Proton (non solo sulla VPN), offrendoti una protezione integrata contro la censura in tutto il nostro ecosistema fin dall’inizio. Lo distribuiremo presto, quindi resta sintonizzato.
Una solida base per il futuro
libpvpnclient (con il wrapper di Proton protocols) e muon formano insieme una nuova piattaforma che offre ai nostri ingegneri molta più flessibilità. Questo ci consente di sperimentare in sicurezza miglioramenti nella stabilità della connessione, nel consumo di batteria e nella resilienza, ponendo le basi per tecnologie future, come tecniche anti-censura più efficaci e la crittografia post-quantistica.
Consideriamo questo come un importante passo avanti per rendere internet più accessibile, affidabile e privato per tutti. E questo è solo l’inizio. Non vediamo l’ora di scoprire dove questa nuova base porterà Proton VPN nel 2026 e oltre.
“WireGuard” è un marchio registrato(nuova finestra) di Jason A. Donenfeld.






