Proton VPN a réécrit son noyau en Rust : Stealth arrive sur Linux
Proton VPN a remplacé le moteur de ses applications. C’était wireguard-go, l’implémentation de référence en Go ; le nouveau noyau est écrit en Rust et s’appelle Proton Protocols, ProTUN en interne. Sa base est une bibliothèque nommée libpvpnclient, une implémentation de WireGuard indépendante des plateformes, partagée par toutes les applications. Le changement est en bêta et se déploie sur Windows, Android, iOS, iPadOS et l’application de bureau Linux.
Pourquoi réécrire ce qui marche
L’ancien moteur s’entendait mal avec les langages dans lesquels les applications sont écrites, Kotlin sur Android et Swift sur iOS ; chaque plateforme accumulait donc ses particularités, ses bugs et son calendrier de sorties. Une bibliothèque commune en Rust fait qu’un correctif arrive partout en même temps et supprime toute une classe d’erreurs de mémoire que le code C et le code Go autorisent chacun à leur manière.
C’est de la plomberie, et c’est précisément elle qui décide si un kill switch tient au moment où la connexion tombe.
Ce que l’utilisateur gagne dès maintenant
Deux choses sont déjà visibles. L’application de bureau Linux a reçu Stealth, le protocole anticensure du fournisseur, qui y manquait jusqu’ici : les notes de version le datent de la bêta du 21 juillet. Et les applications ont reçu un kill switch avancé, celui qui bloque le trafic tant que le tunnel n’est pas établi au lieu de simplement se reconnecter en espérant.
Pourquoi Stealth compte là où les VPN sont filtrés
Le WireGuard nu se reconnaît facilement sur le réseau : un réseau qui veut bloquer les VPN commence donc par lui. Stealth enveloppe le tunnel pour que le trafic cesse de ressembler à une poignée de main VPN. Il est plus lent que le protocole brut, et il fait la différence entre une connexion qui passe dans un réseau filtré et une qui ne passe pas.
Ce qui n’est pas encore là
Un composant est présenté comme livré alors qu’il ne l’est pas. Muon, une couche réseau censée masquer les connexions de l’application à sa propre API vis-à-vis de celui qui observe votre trafic, afin que ni la requête de domaine ni le nom de serveur dans la poignée de main ne trahissent que vous parlez à un VPN, relève des fondations et non d’une fonction publiée. Idem pour la cryptographie post-quantique : le nouveau noyau est décrit comme sa base, pas comme sa livraison. La distinction compte, car la bonne question à poser à un client VPN est de savoir quelles protections fonctionnent aujourd’hui.
Ce qu’il faudra surveiller
Réécrire la partie qui transporte tout le trafic est un changement sérieux, et le mot bêta reste central. Quand les versions stables arriveront, mieux vaut vérifier ce que l’utilisateur peut constater lui-même : le kill switch tient-il lors d’une coupure, Stealth passe-t-il dans le réseau qui vous bloquait, et l’autonomie du téléphone est-elle restée la même.