Risques
- Atteinte à l'intégrité des données
- Atteinte à la confidentialité des données
Systèmes affectés
- Bibliothèque RSA Infineon version v1.02.013
- Infineon TPM "Trusted Platform Module"
Résumé
Le 16 octobre 2017, des chercheurs de l'université Masaryk (République Tchèque), ont publié un article sur la découverte d'une vulnérabilité dans la bibliothèque RSA développée par Infineon.
Leurs travaux seront présentés le 2 novembre 2017 à la conférence "ACM Conference on Computer and Communcations Security". D'après les chercheurs, un problème dans la génération du couple clé privée/publique permet de retrouver la clé privée à partir de la clé publique uniquement. Cette attaque est applicable en pratique et peu coûteuse (76$ pour une clé de 1024 bits et 40300$ pour une clé de 2048 bits). Les systèmes affectés sont nombreux et comptent notamment des TPMs, des clés de chiffrement Bitlocker, des certificats TLS, des clés PGP ou SSH ou encore des cartes à puce.
Solution
Le CERT-FR recommande l'application des correctifs de sécurité pour les TPM vulnérables ainsi que la génération de nouvelles clés cryptographiques et la révocation des clés précédemment générées.
Les correctifs des micrologiciels des TPM doivent être récupérés auprès du constructeur du système considéré. Un lien vers une liste non-exhaustive de logiciels et matériels impactés est disponible à la section Documentation.
L'ensemble des données chiffrées avec des clés faibles doivent être déchiffrées puis rechiffrées avec de nouvelles clés. Le surchiffrement des données peut être envisagé mais alourdira la manipulation de données chiffrées.
Les données signées avec des clés faibles doivent être signées avec de nouvelles clés.
Chaque infrastructure de gestion de clé doit faire l'objet d'une attention spécifique, pour identifier si les certificats émis sont vulnérables. Dans les environnements Microsoft, l'usage de clés faibles dans un domaine Active Directory ou par Bitlocker conduit à une niveau de sécurité particulièrement bas.
Contournement provisoire
Les chercheurs ont publié sur le site internet github.com un outil permettant de tester si une clé RSA est vulnérable (voir section documentation). L'outil supporte plusieurs formats d'entrée (X509 DER ou PEM, clés SSH, clés PGP...). Le test peut s'effectuer à partir d'une clé privée ou d'une clé publique.
Le CERT-FR recommande de générer de nouvelles paires de clés RSA, de taille minimum 3072 bits, en utilisant des bibliothèques non vulnérables et de révoquer les clés qui auraient pu être générées par cette bibliothèque. Cette taille de clé est recommandée dans l'annexe B1 du RGS.
Plusieurs éditeurs de logiciels utilisant des TPM ont mis en place une solution de contournement, disponible par mise à jour de ces logiciels. De manière générale, ces solutions permettent la génération de clés de manière logicielle à la place de l'utilisation du TPM. Ces solutions ne permettent pas de corriger la faiblesse de clés déjà générées. Seule la mise à jour du micrologiciel du TPM permettra le retour à une situation normale. Dans le cas particulier de Windows, un des correctifs de sécurité d'octobre ajoute une journalisation lors de l'usage d'un TPM vulnérable. Cette possibilité facilite l'identification des matériels vulnérables.
Documentation
- Article du centre pour la recherche en cryptographie et sécurité (CRoCS) https://crocs.fi.muni.cz/public/papers/rsa_ccs17
- Annexe B1 du RGS https://www.ssi.gouv.fr/uploads/2015/01/RGS_v-2-0_B1.pdf
- Article de presse d'Ars Technica du 16 octobre 2017 https://arstechnica.com/information-technology/2017/10/crypto-failure-cripples-millions-of-high-security-keys-750k-estonian-ids/
- Cas d'usage dans les environnements Windows, contournements provisoires et définitifs https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV170012
- Liste des matériels et logiciels vulnérables http://www.kb.cert.org/vuls/id/307015
- Outil permettant la détection de clés vulnérables https://github.com/crocs-muni/roca
- Référence CVE CVE-2017-15361 https://www.cve.org/CVERecord?id=CVE-2017-15361