Introduction
En 2016, le monde de la sécurité des protocoles de transport a vu émerger un projet qui allait marquer un tournant : Rustls. En seulement dix ans, Rustls a non seulement gagné en maturité, mais a aussi redéfini les standards de la sécurité TLS (Transport Layer Security). Retour sur une décennie d'innovations, d'améliorations et d'engagement communautaire.
Les débuts prometteurs
Le 2 mai 2016, Joe Birr-Pixton initie le projet avec un premier commit. Moins de quatre mois plus tard, Rustls atteint une première version fonctionnelle, 0.1.0, le 27 août 2016. Dès le départ, Rustls bénéficiait de contributions externes significatives, notamment de @briansmith et @djc. En 2018, le projet s'enrichit du support QUIC grâce à @djc et @Ralith, marquant une première contribution externe majeure.
Croissance et contributions externes
Entre 2018 et 2020, le projet s'oriente vers une audit externe, financée par CNCF et réalisée par Cure53, pour renforcer sa robustesse. En 2021, Rustls franchit une nouvelle étape avec ses premières contributions rémunérées, notamment par l'initiative Prossimo d'ISRG, permettant d'accélérer le développement de fonctionnalités essentielles.
Les versions jusqu'à 0.23 : Stabilité et fonctionnalités
De la version 0.1.0 à 0.23, Rustls a connu une série de mises à jour progressives, consolidant ses fonctionnalités et renforçant son API. La version 0.23, sortie le 29 février 2024, a introduit des améliorations notables comme la cryptographie certifiée FIPS, la compression des certificats et la cryptographie post-quantique.
L'actuel : Vers la version 0.24
La version 0.24, en cours de préparation, promet une multitude d'améliorations. Parmi elles, le buffering externe qui optimise les performances de traitement massif de données, un support accru pour les usages asynchrones, et un "mode split" pour une gestion plus flexible du fournisseur de cryptographie.
Performances de buffering externe
Initialement, toutes les données transitaient par les traits std::io, entraînant des copies inutiles et une gestion d'erreurs complexe. La version 0.24 introduit le trait TlsInputBuffer, qui déplace le buffering en dehors de Rustls, améliorant ainsi le contrôle des tailles de buffer et évitant les copies.
Perspectives d'avenir
Avec des fonctionnalités comme le support des environnements no_std et l'échange de clés post-quantique, Rustls continue de se positionner en leader de l'innovation TLS. L'avenir pourrait voir l'émergence de nouvelles fonctionnalités axées sur la performance et la sécurité, soutenues par une communauté engagée.
Conclusion
Rustls a su s'imposer comme un acteur incontournable dans le domaine de la sécurité TLS. Sa capacité à innover et à s'adapter aux besoins changeants de l'industrie en fait un projet à suivre de près. Discutons de ton projet en 15 minutes.