Resolving an Apparent Key-Dependent Timing Side-Channel in Bouncy Castle ML-DSA-65 Signing: A Pre-Registered Discrimination
Cet article démontre qu'une apparente faille temporelle liée à la clé dans l'implémentation de ML-DSA-65 de Bouncy Castle est en réalité un artefact statistique de la variation naturelle de l'échantillonnage par rejet, qui disparaît lorsque le chronométrage est analysé au sein d'un protocole pré-enregistré qui conditionne l'analyse sur le nombre exact d'itérations effectuées, confirmant ainsi la sécurité de l'implémentation à travers tous les ensembles de paramètres standardisés.
Article original sous licence CC BY 4.0 (https://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 de la sécurité numérique, les serrures les plus puissantes sont souvent celles qui sont les plus longues à crocheter. Depuis des décennies, des mathématiciens conçoivent des systèmes de chiffrement qui reposent sur des problèmes complexes pour protéger les données. À mesure que les ordinateurs deviennent plus puissants, et alors que la promesse des ordinateurs quantiques se profile, les scientifiques font la course pour construire de nouvelles serrures que même ces futures machines ne pourront pas briser. L'un des nouveaux modèles les plus prometteurs s'appelle ML-DSA. Il s'agit d'une méthode de création de signatures numériques, l'équivalent électronique d'une signature manuscrite sur un contrat ou un certificat. Ces signatures prouvent qu'un message provient d'une personne spécifique et qu'il n'a pas été altéré.
Cependant, un nouveau type de danger est apparu parallèlement à ces verrous mathématiques. Il ne s'agit pas d'une faille dans les mathématiques elles-mêmes, mais d'une faille dans la manière dont les mathématiques sont exécutées sur un ordinateur. C'est ce que l'on appelle une attaque par canal auxiliaire de type temporel (timing side-channel attack). Imaginez un coffre-fort qui clique légèrement plus fort lorsqu'une bonne combinaison est saisie, ou une porte qui met une fraction de seconde de plus à s'ouvrir lorsqu'une bonne clé est utilisée. Si un attaquant peut mesurer ces infimes différences de temps avec une précision extrême, il pourrait être en mesure de déduire la clé secrète. Pour le nouveau système ML-DSA, les concepteurs ont intégré une caractéristique de sécurité : le processus implique beaucoup d'essais et d'erreurs. L'ordinateur tente de générer une signature, vérifie si elle est valide et, si elle ne l'est pas, la jette et réessaie. Comme le nombre d'essais varie de manière aléatoire, le temps total nécessaire pour signer un message varie également. Ce caractère aléatoire est censé masquer la clé secrète, rendant impossible de savoir si un délai spécifique était causé par la clé ou simplement par la malchance.
Un chercheur nommé Arpan Sharma a récemment examiné si cette caractéristique de sécurité fonctionnait comme prévu dans une bibliothèque logicielle populaire appelée Bouncy Castle. Cette bibliothèque est largement utilisée pour sécuriser tout, des mises à jour logicielles aux connexions web sécurisées. Lorsque Sharma a examiné les données pour la première fois, il a vu quelque chose qui ressemblait à une fuite. En comparant le temps nécessaire pour signer des messages avec vingt clés secrètes différentes, il a constaté que certaines clés prenaient systématiquement plus de temps que d'autres. La différence était minime — environ 1,35 % — mais dans le monde de la sécurité, même une différence infime et constante peut être un signal indiquant qu'un secret est révélé. La question était de savoir si cette différence était une véritable vulnérabilité, une faille dans le code permettant à la clé secrète d'influencer le temps, ou simplement une illusion statistique causée par la nature aléatoire du système.
Pour répondre à cela, Sharma ne s'est pas appuyé sur une simple supposition ou un test rapide. Il a conçu une expérience rigoureuse et planifiée pour séparer le signal du bruit. Le cœur de sa méthode consistait à observer le travail réellement effectué par l'ordinateur pour chaque signature, plutôt que de regarder simplement le temps final. Il a construit un outil qui enregistrait exactement combien de fois l'ordinateur avait dû essayer et échouer avant de trouver une signature valide. Cela est crucial car le temps nécessaire pour signer un message est directement lié au nombre de fois où l'ordinateur doit réessayer. Si une clé s'avérait avoir un ensemble de messages « chanceux » nécessitant moins de tentatives, elle finirait plus vite, non pas parce que la clé était différente, mais parce que les mathématiques étaient plus faciles ce jour-là.
Sharma a mené une campagne massive, générant plus de 1,2 million de signatures pour chacune des vingt clés. Il a ensuite regroupé les signatures en fonction de la quantité exacte de travail requise. Il a posé une question simple : si deux signatures nécessitaient exactement le même nombre de tentatives et passaient par les mêmes étapes, présentaient-elles toujours des durées différentes selon la clé utilisée ? La réponse fut un non définitif. Une fois qu'il a pris en compte le nombre de tentatives, la différence de temps entre les clés a disparu. Les variations infimes qui restaient étaient si petites qu'elles pouvaient être expliquées par les fluctuations naturelles et aléatoires du processeur et de la mémoire de l'ordinateur, plutôt que par les clés secrètes elles-mêmes.
L'étude est allée plus loin pour s'assurer que les résultats n'étaient pas un coup de chance lié à l'ordinateur spécifique ou à la façon dont le logiciel était chargé en mémoire. Sharma a répété l'expérience avec un nouvel ensemble de clés et un nouvel ensemble de messages. Il a également effectué un test de contrôle où il a mélangé l'ordre dans lequel l'ordinateur traitait les données. Si les différences de temps étaient causées par les clés secrètes, l'ordre des clés n'aurait pas d'importance. Si les différences étaient causées par l'endroit où les données se trouvaient dans la mémoire de l'ordinateur, l'ordre changerait les résultats. L'expérience a montré que les différences de temps ne suivaient pas les clés ; elles suivaient la disposition de la mémoire. Cela a confirmé que la fuite apparente était un artefact de l'environnement de l'ordinateur, et non une faille dans la sécurité du code.
La recherche a également examiné la partie du code qui était connue pour être légèrement différente selon les données. Le logiciel vérifie la taille des nombres pendant le processus, et si un nombre est trop grand, il arrête immédiatement la vérification du reste de la liste. Il s'agit d'une optimisation standard pour gagner du temps, mais cela signifie que l'ordinateur peut s'arrêter plus tôt pour certains intrants que pour d'autres. Sharma a mesuré l'impact de ce raccourci et a constaté qu'il contribuait à un retard d'environ une nanoseconde. C'est une nanoseconde, une échelle de temps si petite qu'elle est bien en dessous du seuil de ce qu'un attaquant pourrait raisonnablement mesurer ou utiliser pour voler une clé.
Les conclusions ont été appliquées à toute la famille de ces nouvelles normes de signature numérique, y compris les versions plus petites et plus grandes utilisées pour différents niveaux de sécurité. Dans chaque cas, le résultat était le même. L'implémentation logicielle était propre. Les différences de temps apparentes n'étaient pas le signe que les clés secrètes étaient fuitées. Au contraire, elles étaient le résultat naturel d'un système conçu pour faire varier son travail afin de protéger ces mêmes clés. L'étude a conclu que la bibliothèque Bouncy Castle est à l'abri de ce type spécifique d'attaque. L'écart de 1,35 % dans le temps qui avait initialement suscité l'alarme n'était que le son de vingt clés différentes tirant vingt échantillons différents d'une distribution aléatoire, un écho statistique plutôt qu'une faille de sécurité.
Cette enquête rappelle à quel point il est difficile de prouver qu'un système est sûr. Par le passé, les chercheurs auraient pu s'arrêter à la première trace d'une différence de temps et déclarer une vulnérabilité. Cette étude montre que dans les systèmes complexes et aléatoires, le premier signe est souvent le signe que le système fait son travail. En mesurant soigneusement le travail effectué et en contrôlant l'environnement, le chercheur a pu distinguer une véritable fuite d'une illusion statistique. Le résultat est une confirmation que les nouvelles signatures numériques sont robustes, et que les variations aléatoires de leur vitesse sont une caractéristique, et non un défaut. Pour les millions d'appareils qui comptent sur ces signatures pour rester en sécurité, le message est clair : la serrure tient, et le temps nécessaire pour tourner la clé ne vous dit rien sur le secret qu'elle renferme.
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.