Nouvelle technique d'attaque par canal latéral pour récupérer les clés ECDSA

Chercheurs de l'Université. Masaryk découvert des informations sur vulnérabilités dans diverses implémentations de l'algorithme de création de signature numérique ECDSA/EdDSA, qui vous permet de restaurer la valeur d'une clé privée sur la base d'une analyse des fuites d'informations sur des bits individuels qui émergent lors de l'utilisation de méthodes d'analyse tierces. Les vulnérabilités portaient le nom de code Minerva.

Les projets les plus connus concernés par la méthode d'attaque proposée sont OpenJDK/OracleJDK (CVE-2019-2894) et la bibliothèque libgcrypt (CVE-2019-13627) utilisé dans GnuPG. Également sensible au problème MatriceSSL, Crypto ++, loupCrypte, elliptique, jsrsasign, python-ecdsa, ruby_ecdsa, Fastecdsa, facile-ecc et les cartes à puce Athena IDProtect. Non testées, mais les cartes Valid S/A IDflex V, SafeNet eToken 4300 et TecSec Armored Card, qui utilisent un module ECDSA standard, sont également déclarées comme potentiellement vulnérables.

Le problème a déjà été résolu dans les versions de libgcrypt 1.8.5 et wolfCrypt 4.1.0, les projets restants n'ont pas encore généré de mises à jour. Vous pouvez suivre le correctif de la vulnérabilité dans le package libgcrypt dans les distributions sur ces pages : Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, voûte.

Vulnérabilités non sensible OpenSSL, Botan, mbedTLS et BoringSSL. Pas encore testé Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL en mode FIPS, Microsoft .NET crypto,
libkcapi du noyau Linux, Sodium et GnuTLS.

Le problème est dû à la capacité de déterminer les valeurs de bits individuels lors de la multiplication scalaire dans les opérations sur les courbes elliptiques. Des méthodes indirectes, telles que l'estimation du délai de calcul, sont utilisées pour extraire les informations sur les bits. Une attaque nécessite un accès non privilégié à l'hôte sur lequel la signature numérique est générée (et non exclu et une attaque à distance, mais elle est très compliquée et nécessite une grande quantité de données pour l'analyse, elle peut donc être considérée comme peu probable). Pour le chargement est disponible outils utilisés pour l’attaque.

Malgré la taille insignifiante de la fuite, pour ECDSA, la détection même de quelques bits contenant des informations sur le vecteur d'initialisation (nonce) suffit pour mener une attaque visant à récupérer séquentiellement l'intégralité de la clé privée. Selon les auteurs de la méthode, pour réussir à récupérer une clé, une analyse de plusieurs centaines à plusieurs milliers de signatures numériques générées pour des messages connus de l'attaquant suffit. Par exemple, 90 256 signatures numériques ont été analysées à l'aide de la courbe elliptique secp1r11 pour déterminer la clé privée utilisée sur la carte à puce Athena IDProtect basée sur la puce Inside Secure AT30SC. La durée totale de l'attaque était de XNUMX minutes.

Source: opennet.ru

Ajouter un commentaire