Minerva: una sèrie de vulnerabilitats en implementacions de ECDSA / EdDSA

Minerva

Investigadors de la Universitat Masaryk van revelar informació important sobre vulnerabilitats en diverses implementaciones de l'algoritme de generació de signatura digital ECDSA / EdDSA, que permet recuperar el valor de la clau privada en funció de l'anàlisi de fuites d'informació sobre bits individuals que apareixen a l'aplicar mètodes d'anàlisi a través de canals de tercers. Les vulnerabilitats tenen el nom en codi de Minerva.

Els projectes més famosos que afecten el mètode d'atac proposat són OpenJDK, OracleJDK (CVE-2019-2894) i la biblioteca Libgcrypt (CVE-2019-13627) utilitzada en GnuPG. Els problemes són també susceptibles per a les biblioteques MatrixSSL, Crypto ++, wolfCrypt, el·líptica, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa i també a algunes targetes intel·ligents Athena IDProtect, TecSec Armored Card, SafeNet eToken 4300, Valid S / A IDflex V.

A més de les vulnerabilitats esmentades de moment no es veuen afectats OpenSSL, Boten, mbedTLS i BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL en mode FIPS. Microsoft .NET crypto, libkcapi de el nucli de Linux, Sodium i GnuTLS encara no s'han provat.

Hem trobat implementacions que perden la longitud de bits de l'escalar durant multiplicació escalar en ECC. Aquesta fugida pot semblar minúscula ja que la longitud de bits presenta una quantitat molt petita d'informació present en l'escalar. No obstant això, en el cas de la generació de signatures ECDSA / EdDSA, la filtració la longitud de bits de l'nonce aleatori és suficient per a la recuperació completa de la clau privada utilitzat després d'observar uns centenars a uns milers de signatures en coneguts missatges, a causa a l'aplicació d'algunes tècniques.

Creiem que totes les targetes anteriors es veuen afectades perquè comparteixen un component ECDSA comú (mòdul FIPS 214), que es descriu com Component ECDSA2 Athena OS755 a Inside Secure AT90SC A1.0 (Firmware). Hem provat la vulnerabilitat només a la targeta Athena IDProtect amb dades CPLC i ATR

El problema és causat per la capacitat de determinar els valors de bits individuals durant la multiplicació per un escalar durant les operacions amb ECC. Els mètodes indirectes, com l'estimació de l'retard en la realització dels càlculs, s'utilitzen per extreure informació de bits.

Un atac requereix accés sense privilegis a l'amfitrió en el qual es genera la signatura digital (no s'exclou un atac remot, però és molt complicat i requereix una gran quantitat de dades per a l'anàlisi, per tant, pot considerar improbable).

Tot i la petita grandària de la fugida, per ECDSA la definició de fins i tot uns pocs bits amb informació sobre el vector d'inicialització (nonce) és suficient per dur a terme un atac per restaurar seqüencialment la clau privada completa.

Segons els autors de l'mètode, per a una recuperació de clau reeixida, és suficient l'anàlisi de diversos centenars a diversos milers de signatures digitals generades per a missatges coneguts per l'atacant. Per exemple, per determinar la clau privada utilitzada en la targeta intel·ligent Athena IDProtect basada en el xip Inside Secure AT90SC, utilitzant la corba el·líptica secp256r1, es van analitzar 11 mil signatures digitals. El temps total d'atac va ser de 30 minuts.

El nostre codi d'atac i prova de concepte està inspirat en el mètode de Brumley & Tuveri.

El problema ja s'ha solucionat en libgcrypt 1.8.5 i wolfCrypt 4.1.0, Altres projectes encara no han generat actualitzacions. També és possible rastrejar la correcció de la vulnerabilitat en el paquet libgcrypt en distribucions en aquestes pàgines: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arc.

També els investigadors van realitzar proves a altres targetes i biblioteques, de les quals no són vulnerables són les següents:

  • OpenSSL 1.1.1d
  • BouncyCastle 1.58
  • AvorritSSL 974f4dddf
  • libtomcrypt 1.18.2
  • boten 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-Crypto

Targetes

  • ACS ACOSJ 40K
  • Feitian A22CR
  • G & D SmartCafe 6.0
  • G & D SmartCafe 7.0
  • Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4
  • Infineon SLE78 Universal JCard
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • Volta SIMOME TaiSYS

Si vols conèixer més a l'respecte sobre l'atac utilitzat i sobre les vulnerabilitats detectades, pots fer-ho al següent enllaç. Les eines utilitzades per replicar l'atac estan disponibles per descarregar.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.