EUCLEAK, cette faille qui touche bien plus que les clés YubiKey

faille EUCLEAK YubiKey

Deux Français attirent l’attention sur une faille cryptographique dans un microcontrôleur qui équipe notamment les YubiKey. Ils avaient déjà trouvé une vulnérabilité du même ordre touchant les clés Titan de Google.

Les clés FIDO Google Titan, pas si sécurisées ? Début 2021, Victor Lomné et Thomas Roche l’avaient prouvé.

Les deux hommes, fondateurs de NinjaLab (entreprise montpelliéraine spécialisée en cryptographie), avaient plus précisément découvert une faille dans l’implémentation ECDSA sur le microcontrôleur de ces clés (le P5x de NXP). Elle permettait des attaques par canal auxiliaire… et, au bout, la récupération des clés privées.

Les intéressés ont récidivé sur une autre implémentation d’ECDSA : celle d’Infineon pour son microcontrôleur SLE78. Celui-ci équipe notamment des clés YubiKey. On le trouve aussi, entre autres, dans la smart card Feitian A22. C’est elle que V. Lomné et T. Roche ont utilisée en premier lieu, pour comprendre l’implémentation en question.

La vulnérabilité se trouve au niveau de l’inversion modulaire du nonce (nombre aléatoire destiné à randomiser la signature). Lors des signatures comme de leur vérification, le nombre d’itérations varie en fonction des exécutions. Le coupable : l’EEA (algorithme d’Euclide étendu).

EUCLEAK, une faille spécifique à Infineon

Pour sécuriser l’inversion modulaire du nonce, Infineon emploie une technique commune : le masque de multiplication. Avec elle, on ne calcule pas directement l’inverse du nonce k. On calcule l’inverse de k’, défini comme le produit de m et de k mod N (où m est un entier positif non nul). On peut ensuite facilement trouver k-1 mod N à partir de k’-1 mod N, grâce à une autre multiplication par m.

Problème : le masque de multiplication n’est pas suffisamment complexe (32 bits) pour éviter les ataques par force brute. Récupérer k’ par canal auxiliaire revient alors à récupérer le nonce, puis la clé ECDSA.

Les deux chercheurs avaient amorcé leurs démarches début 2022. Avec le temps, ils ont amélioré leur compréhension des traces capturées, jusqu’à pouvoir réaliser l’attaque en pratique. Sur 6 exécutions EEA, elle a réussi 5 fois avec moins de 228 appels.

La réalisation de l’attaque suppose d’avoir, pendant quelques minutes, un accès physique à l’appareil ciblé, pour la capture de signaux électromagnétiques. La suite du processus se fait hors ligne. Avec le bon degré d’automatisation et une configuration à moins de 10 000 €, il peut prendre moins d’une heure. L’attaque doit être répétée pour chacun des secrets stockés ; par exemple, sur une clé FIDO, pour chaque service web protégé.

Deux autres gammes d’éléments sécurisés plus récents (Optiga Trust M et Optiga TPM) sont aussi vulnérables. En conséquence, sont susceptibles de l’être aussi les appareils utilisant ces puces et la bibliothèque de cryptographie à courbes elliptiques d’Infineon. Cela inclut des portefeuilles de cryptomonnaies, des passeports électroniques, du V2X, le protocole Matter, etc. Est en tout cas confirmée la vulnérabilité des YubiKey 5 jusqu’au firmware 5.7 (6 mai 2024).

Infineon dit disposer d’un correctif testé. Il augmente la taille du masque de multiplication jusqu’à celle de la courbe elliptique.
Il n’est pas possible d’installer ce correctif sur tous les appareils concernés (sur les YubiKey 5, par exemple). Dans ce cas, on essaiera d’éviter ECDSA (des protocoles comme FIDO2 et PGP permettent de changer d’algo). Ou bien d’opter pour une défense en profondeur (PIN ou biométrie pour accéder à l’appareil).

Illustration