Nuova tecnica di attacco del canale laterale per recuperare le chiavi ECDSA

Ricercatori dell'Università. Masaryk scoperto informazioni su vulnerabilità in varie implementazioni dell'algoritmo di creazione della firma digitale ECDSA/EdDSA, che consente di ripristinare il valore di una chiave privata sulla base di un'analisi delle fughe di informazioni sui singoli bit che emergono quando si utilizzano metodi di analisi di terze parti. Le vulnerabilità avevano il nome in codice Minerva.

I progetti più noti interessati dal metodo di attacco proposto sono OpenJDK/OracleJDK (CVE-2019-2894) e la libreria libgcrypt (CVE-2019-13627) utilizzato in GnuPG. Anche suscettibile al problema MatrixSSL, Crypto ++, lupoCrypt, ellittico, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, facile-ecc e le smart card Athena IDProtect. Non testate, ma anche le carte S/A valide IDflex V, SafeNet eToken 4300 e TecSec Armored Card, che utilizzano un modulo ECDSA standard, sono dichiarate potenzialmente vulnerabili.

Il problema è già stato risolto nelle versioni di libgcrypt 1.8.5 e wolfCrypt 4.1.0, i restanti progetti non hanno ancora generato aggiornamenti. Puoi tenere traccia della correzione della vulnerabilità nel pacchetto libgcrypt nelle distribuzioni su queste pagine: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arco.

Vulnerabilità non suscettibile OpenSSL, Botan, mbedTLS e BoringSSL. Non ancora testato Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL in modalità FIPS, Microsoft .NET crypto,
libkcapi dal kernel Linux, Sodium e GnuTLS.

Il problema è causato dalla capacità di determinare i valori dei singoli bit durante la moltiplicazione scalare nelle operazioni su curva ellittica. Per estrarre informazioni sui bit vengono utilizzati metodi indiretti, come la stima del ritardo computazionale. Un attacco richiede l'accesso non privilegiato all'host su cui viene generata la firma digitale (non esclusi e un attacco remoto, ma è molto complicato e richiede una grande quantità di dati per l'analisi, quindi può essere considerato improbabile). Per caricare è disponibile strumenti utilizzati per l'attacco.

Nonostante le dimensioni insignificanti della fuga di dati, per ECDSA è sufficiente il rilevamento anche di pochi bit con informazioni sul vettore di inizializzazione (nonce) per effettuare un attacco volto a recuperare in sequenza l'intera chiave privata. Secondo gli autori del metodo, per recuperare con successo una chiave è sufficiente l'analisi di diverse centinaia o diverse migliaia di firme digitali generate per messaggi noti all'aggressore. Ad esempio, sono state analizzate 90mila firme digitali utilizzando la curva ellittica secp256r1 per determinare la chiave privata utilizzata sulla smart card Athena IDProtect basata sul chip Inside Secure AT11SC. Il tempo totale di attacco è stato di 30 minuti.

Fonte: opennet.ru

Aggiungi un commento