Brian Jackson - Fotolia
ROCA : la vulnérabilité qui menace les clés de nombreux appareils
Liée à l’implémentation de l’algorithme RSA dans certaines puces cryptographiques d’Infineon, Roca permet de dériver une clé privée à partir d’une clé publique.
Des chercheurs ont levé le voile sur une faille dans l’implémentation de l’algorithme de chiffrement RSA qui peut permettre à des attaquants de dérober les clés secrètes d’appareils vulnérables.
Les chercheurs, issus de l’université Masaryk de Brno, en République Tchèque, d’Enigma Bridge, et de l’université Ca’ Foscari de Venise, en Italie, l’ont baptisé Roca, pour « Return of Coppersmith’s Attack ». Ils expliquent que la vulnérabilité liée à l’algorithme RSA « a été découverte dans l’implémentation de la génération de paires de clés RSA au sein d’une librairie utilisée dans un vaste éventail de puces cryptographiques produites par Infineon », et cela au moins depuis 2012.
Dans un billet de blog, les chercheurs détaillent : « la vulnérabilité est caractérisée par une structure spécifique des nombres premiers générés, ce qui rend possible la factorisation des clés de longueur courante, y compris sur 1024 et 2048 bits ». Dès lors, « seule la connaissance d’une clé publique est nécessaire et aucun accès physique à un appareil vulnérable n’est requis. La vulnérabilité ne dépend pas d’un générateur de nombres aléatoires défaillant ou faible – toutes les clés RSA générées par une puce vulnérable sont affectées ».
Selon les chercheurs, le coût d’exploitation de la vulnérabilité Roca dépend de la longueur des clés : une clé 512 bits coûte ainsi deux heures CPI, contre 97 jours CPU pour 1024 bits, et… tout de même près de 141 années CPU pour 2048 bits. Les chercheurs estiment que les clés 4096 bits « sont pas encore pratiquement factorisables, mais pourraient le devenir si l’attaque est améliorée ».
Quel impact ?
Les chercheurs proposent des outils permettant de tester la vulnérabilité des appareils. Et certaines cartes à puce ou modules de confiance (TPM) signés Google, HP, Lenovo ou encore Gemalto sont concernés, de même que certaines clés Yubikey. Ce qui a pu conduire à la création de clés SSH ou GPG de facto fragilisées.
Les risques associés à la vulnérabilité Roca varient et dépendent de la connaissance, par les attaquants, de la clé publique de leur cible. Mais une fois celle-ci en main, et pour peu qu’elle soit concernée, « la clé peut être utilisée pour usurper l’identité de son propriétaire légitime, déchiffrer des messages sensibles, falsifier des signatures numériques »…
Ironie du calendrier, Wordfence faisait récemment état d’importants efforts de pirates pour trouver des clés privées utilisées pour SSH sur des serveurs accessibles en ligne, et surtout mal configurés. Avec Roca, certains pourraient bien s’intéresser aussi aux clés publiques.
Anurag Kahol, directeur technique de Bitglass, souligne que le chiffrement « est un outil puissant pour la protection des données, mais il n’est efficace que s’il est mis en œuvre correctement ». Et dans le cas de Roca, « où les clés privées peuvent être dérivées des clés publiques, l’implémentation a été ratée ».
Plusieurs fournisseurs, dont Microsoft, Google, HP, Lenovo et Fujitsu proposent des mises à jour logicielles pour contrer le risque. Yubico estime pour sa part qu’environ 2 % de ses clients utilisant ses clés et la fonctionnalité OpenPGP de sa plateforme sont concernés. Il a publié des informations complètes sur le sujet, assorties de recommandations.