← Derniers articles
💻 computer science

KEM-IND-CCA-Preserving Compilation of Jasmin's ML-KEM

Cet article présente une preuve entièrement mécanisée dans le prouveur Rocq que le compilateur Jasmin préserve à la fois la correction fonctionnelle et la sécurité KEM-IND-CCA pour l'implémentation hautement optimisée de ML-KEM utilisée dans Signal, réalisée grâce à un nouveau cadre de sécurité basé sur des jeux, une sémantique d'arbre d'interaction supportant les calculs probabilistes, et une logique de Hoare relationnelle.

Auteurs originaux : Santiago Arranz-Olmos, Gilles Barthe, Lionel Blatter, Benjamin Grégoire, Vincent Laporte, Paolo Torrini

Publié 2026-08-18
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Santiago Arranz-Olmos, Gilles Barthe, Lionel Blatter, Benjamin Grégoire, Vincent Laporte, Paolo Torrini

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Dans le monde à enjeux élevés de la sécurité numérique, la cryptographie agit comme le verrou invisible qui protège tout, des messages privés aux transactions financières. Depuis des décennies, les experts s'appuient sur des preuves mathématiques pour garantir que ces verrous sont incassables, mais un fossé critique est demeuré entre l'élégante mathématique sur papier et la réalité désordonnée du code informatique qui les exécute. Même lorsqu'un schéma cryptographique est prouvé sûr en théorie, le processus de traduction de cette théorie en instructions spécifiques comprises par un processeur informatique peut introduire des erreurs subtiles. Ces erreurs, souvent introduites par les compilateurs qui effectuent la traduction, peuvent créer des vulnérabilités que les attaquants exploitent. Alors que le monde se prépare à la transition vers de nouveaux standards de chiffrement résistants au calcul quantique pour se protéger contre les menaces futures, garantir que ces nouveaux systèmes restent sûrs jusqu'au code machine n'est plus seulement une préoccupation théorique ; c'est une nécessité pour la sécurité des réseaux de communication mondiaux.

Une équipe de chercheurs a maintenant comblé ce fossé pour l'un des nouveaux standards de chiffrement les plus importants, connu sous le nom de ML-KEM, qui est déjà utilisé dans des applications de messagerie sécurisée populaires comme Signal. Leurs travaux démontrent que l'outil logiciel spécifique utilisé pour traduire le code de sécurité de haut niveau en instructions machine ne brise pas accidentellement les garanties de sécurité. En substance, ils ont prouvé que les propriétés de sécurité établies pour le code original, lisible par l'humain, sont parfaitement préservées dans le code assembleur final optimisé que l'ordinateur exécute réellement. Cette réalisation est significative car elle élimine la nécessité de faire confiance au compilateur en tant que « boîte noire » qui pourrait contenir des bugs cachés ; au contraire, le compilateur lui-même a été mathématiquement vérifié comme étant un pont sûr entre les preuves de sécurité abstraites et le matériel physique.

Le défi auquel les chercheurs ont été confrontés était unique à la nature de la cryptographie moderne. L'algorithme spécifique qu'ils ont étudié, ML-KEM, repose sur une technique appelée échantillonnage par rejet (rejection sampling), où l'ordinateur essaie de manière répétée des nombres aléatoires jusqu'à ce qu'il en trouve un qui correspond à un motif spécifique. Ce processus signifie que le programme ne s'exécute pas toujours pendant un temps fixe ; il peut se terminer rapidement, ou il peut nécessiter bien plus d'essais que prévu. Les méthodes précédentes de vérification de compilateurs étaient conçues pour des programmes qui s'exécutent selon une séquence d'étapes prévisible et fixe. Elles peinaient à gérer ce genre de comportement probabiliste, où le chemin emprunté par le code dépend du hasard. Si un outil de vérification de compilateur ne peut pas rendre compte de ces boucles aléatoires, il ne peut pas garantir que le code machine final se comporte de la même manière que la conception originale, laissant ainsi une faille potentielle dans la chaîne de sécurité.

Pour résoudre cela, les chercheurs ont construit un nouveau cadre pour comprendre comment ces programmes se comportent. Ils ont traité l'exécution du code non pas comme une simple liste d'instructions, mais comme un arbre d'interactions possibles, où chaque choix aléatoire et chaque interaction avec le monde extérieur est une branche de l'arbre. Cette approche leur a permis de modéliser la terminaison « presque sûre » du programme — ce qui signifie qu'il finira par se terminer avec une probabilité de un, même si le temps exact est imprévisible. En utilisant ce nouveau modèle, ils ont pu définir ce que signifie pour un compilateur être correct dans un contexte probabiliste. Ils ont prouvé que pour chaque chemin possible que le code original pourrait prendre, le code compilé prend un chemin correspondant, préservant exactement la même distribution de résultats.

L'équipe a appliqué ce cadre au compilateur Jasmin, un outil spécifiquement conçu pour l'écriture de code cryptographique à haute assurance. Ils se sont concentrés sur l'implémentation de ML-KEM utilisée par Signal, une application de messagerie comptant des millions d'utilisateurs. À l'aide d'un assistant de preuve puissant, un outil logiciel qui vérifie les arguments mathématiques avec une rigueur absolue, ils ont vérifié que le compilateur traduit correctement le code source en langage assembleur sans altérer les propriétés de sécurité. Leur preuve couvre l'ensemble du processus de compilation, de la description initiale de haut niveau jusqu'aux instructions machine finales. Le résultat est une garantie que la sécurité du chiffrement, qui n'était auparavant prouvée que pour le code source, est désormais effective pour le code réel s'exécutant sur l'appareil de l'utilisateur.

Ce travail fait partie d'un effort plus large visant à apporter les plus hauts niveaux d'assurance à la transition post-quantique, un changement mondial vers des méthodes de chiffrement capables de résister aux attaques des futurs ordinateurs quantiques. Bien que les chercheurs n'aient pas encore étendu leur preuve pour couvrir les attaques par canaux auxiliaires (side-channel attacks) — où un attaquant pourrait découvrir des secrets en observant la durée d'un calcul ou la consommation d'énergie — ils ont posé les fondations nécessaires pour de tels travaux futurs. En établissant que le compilateur préserve le « jeu de sécurité » central, ils ont créé une base solide sur laquelle des garanties de sécurité plus complexes peuvent être construites. La vérification est entièrement mécanisée, ce qui signifie que chaque étape de la preuve a été vérifiée par un ordinateur, ne laissant aucune place à l'erreur humaine dans la logique elle-même.

Les implications de ce travail s'étendent au-delà d'un seul algorithme. Le cadre développé par les chercheurs est suffisamment général pour être appliqué à d'autres schémas cryptographiques et propriétés de sécurité. Ils ont montré qu'il est possible de raisonner sur la sécurité basée sur les jeux (game-based security), une manière standard de définir la force cryptographique, à travers le prisme de la correction du compilateur. Cela signifie qu'à mesure que de nouveaux standards de chiffrement sont développés et implémentés, ils peuvent être soumis au même processus de vérification rigoureux. Les chercheurs ont rendu leurs outils et leurs preuves open source, permettant à d'autres experts d'inspecter, de vérifier et de s'appuyer sur leur travail. Cette transparence est cruciale pour maintenir la confiance dans l'infrastructure numérique qui sous-tend la société moderne.

En fin de compte, cet article représente une étape importante vers un avenir où nous pourrons être convaincus que les verrous numériques protégeant nos données sont exactement aussi robustes que les mathématiciens qui les ont conçus l'ont promis. En comblant le fossé entre les preuves de sécurité abstraites et la réalité concrète du code machine, les chercheurs ont éliminé une source majeure d'incertitude de la chaîne d'approvisionnement cryptographique. Leur travail garantit que lorsque l'on envoie un message sécurisé, les garanties de sécurité sur lesquelles on compte ne sont pas seulement des idéaux théoriques, mais des propriétés mathématiquement préservées jusqu'aux puces de silicium de nos appareils. Ce niveau d'assurance est ce qui nous permet de faire confiance à la technologie qui nous connecte, même face à des menaces nouvelles et évolutives dans l'ère numérique.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →