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).
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
Elasticsearch revient à l'open source non pas en réadoptant Apache 2.0, mais en proposant une…
Le leader mondial du CRM rachète Tenyx, une start-up spécialisée dans le développement d'agents vocaux…
Arnaud Philippe, Directeur qualité et sécurité et DPO de Médiamétrie, détaille son approche de la…
Devoteam a déployé 4000 licences de l'assistant IA de Google auprès de ses équipes commerciales.…
Rebondissant sur les conclusions de la Cour des comptes à propos de La Suite Numérique,…
Microsoft invoque un bug après que Recall s'est trouvé désinstallable sur l'un des canaux expérimentaux…