Pourquoi Proton a choisi Rust pour son nouvel Authenticator open source

Lorsque Proton a lancé son Authenticator open source, la question du langage utilisé pour bâtir l’application pouvait sembler secondaire. Mais dans un billet de blog, l’entreprise suisse revient sur un choix stratégique (et open source) qui pourrait bien faire école : miser sur Rust, ce langage réputé pour sa sécurité mémoire et sa performance. Explications du développeur Carlos Quintana.

Dans sa présentation à destination des développeurs, Proton souligne que les utilisateurs de Proton Pass avaient déjà profité de la stabilité offerte par Rust. L’arrivée d’Authenticator marque une nouvelle étape : « Nous avons déplacé davantage de logique vers Rust afin d’assurer une sécurité renforcée, des performances rapides et une cohérence multiplateforme », explique Carlos Quintana.

Le langage s’impose d’abord par ses garanties de sûreté. Contrairement à d’autres solutions, Rust évite les erreurs de gestion mémoire, l’une des principales causes de failles de sécurité. Il offre aussi un environnement robuste pour la concurrence et la sérialisation des données, deux aspects critiques lorsqu’il s’agit de générer et de synchroniser des codes de double authentification.

Autre avantage mis en avant : la portabilité. Grâce à Rust, Proton peut développer une base de code commune, directement utilisable sur Android, iOS, Windows, macOS ou Linux. Plus besoin de maintenir plusieurs implémentations parallèles, ce qui réduit le risque d’incohérences. Dans le cas d’un outil de 2FA, la moindre divergence entre deux appareils serait catastrophique.

Ce choix a des retombées très concrètes pour les utilisateurs. La logique d’import des données depuis d’autres applications concurrentes a été écrite en Rust, garantissant une migration fluide sur toutes les plateformes. Le moteur de synchronisation repose également sur le langage, ce qui assure un comportement identique qu’il s’agisse de modifier un code sur smartphone, tablette ou PC.

Carlos Quintana insiste aussi sur le rôle de Rust dans le chiffrement. Proton Authenticator utilise AES-GCM via la bibliothèque RustCrypto, une solution audité et éprouvée. Toutes les données sont chiffrées côté client avant même de transiter vers les serveurs, avec la promesse que Proton lui-même ne puisse y accéder. En coulisses, Proton a structuré son code en modules (crates), séparant une librairie centrale purement écrite en Rust des déclinaisons mobiles et web. Une organisation qui facilite les tests, limite les effets de bord et permet d’évoluer rapidement sans fragiliser l’ensemble.

Pour l’entreprise, ce n’est qu’un début : Rust est désormais au cœur de sa stratégie technique, apprend-on dans cet article de blog. L’objectif est de migrer encore davantage de composants critiques – de la gestion des sessions aux requêtes HTTP – vers une implémentation partagée. Une manière d’assurer cohérence, rapidité de développement et interopérabilité entre ses différents services.

Retour en haut