Proton choisit Rust pour son outil Authentificator

Par:
francoistonic

lun, 15/09/2025 - 10:30

L'utilisation de Rust dans la sécurité n'est pas nouvelle, ni même pour renforcer la stabilité du code applicatif. Proton explique son choix d'utiliser Rust dans son outil Authentificator. L'objectif était de migrer le code logique en Rust pour la sécurité des données, les performances et le multiplateforme. "La sécurité est un élément essentiel pour garantir la sécurité et la stabilité. Grâce à des fonctionnalités telles qu'un puissant système de gestion de la mémoire et des garanties d'accès simultanés, Rust nous permet de développer nos produits avec le haut niveau de qualité que nous recherchons." explique le post Proton. 

Les arguments en facteur de Rust sont assez classiques :

- offre les meilleurs outils et la meilleure expérience de développement, parmi les mieux adaptés à nos besoins ;
- offre le meilleur support pour les plateformes sur lesquelles nous nous concentrons actuellement ;
- dispose d'un bon écosystème de bibliothèques tierces sur lesquelles nous pouvons nous appuyer.
Moins souvent mis en avant, le multiplateforme : grâce aux fonctionnalités multiplateformes de Rust, nous pouvons coder des éléments une seule fois et les exécuter directement sur toutes les plateformes prises en charge (Android, iOS, Windows, Mac et Linux). Grâce à une implémentation commune unique, nous garantissons cohérence, rapidité et moins de bugs que si nous codions les mêmes fonctionnalités plusieurs fois. Imaginez si vos codes TOTP étaient différents sur chaque appareil ! Ce serait un désastre ! Nous avons commencé à privilégier Rust dans tous nos nouveaux projets il y a quelque temps, et nous ne regrettons absolument pas ce choix !
Une des fonctions critiques d'Authentificator est le transfert des données 2FA provenant d'autres logiciels. L'outil intègre donc un mécanisme d'importation. Elle doit garantir un transfert sans fuite de données et garantir l'intégrité des données. 
Avec Rust, les équipes ont conçu une librairie misant sur les crates, la modularité et de facto améliorer la maintenance et l'évolution. La structure Crate repose sur une approche purement Rust en misant sur un code indépendant des plateformes et contenant l'ensemble des fonctionnalités de chiffrement, de validation des données, de sérialisation, etc. 
Proton ne veut pas s'arrêter à Authentificator. D'autres services devraient suivre dans les prochains mois.