Minerva: niz ranjivosti u implementacijama ECDSA / EdDSA

Minerva

Istraživači sa sveučilišta Masaryk otkrili su informacije važno o ranjivostima u razni iImplementacija ECDSA / EdDSA algoritma za generiranje digitalnog potpisa, koji omogućuje povrat vrijednosti privatnog ključa na temelju analize curenja informacija na pojedinačnim bitovima koji se pojavljuju prilikom primjene metoda analize putem nezavisnih kanala. Ranjivosti imaju kodno ime Minerva.

Najpoznatiji projekti koji utječu predložena metoda napada su OpenJDK, OracleJDK (CVE-2019-2894) i knjižnica libgcrypt (CVE-2019-13627) koji se koristi u GnuPG-u. Problemi su podložan i knjižnicama MatrixSSL, Crypto ++, wolfCrypt, eliptični, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa a također i neke pametne kartice Athena IDProtect, TecSec oklopna kartica, SafeNet eToken 4300, važeća S / A IDflex V.

Uz ranjivosti spomenute u ovom trenutku, one nisu pogođene OpenSSL, Botan, mbedTLS i BoringSSL. Mozilla NSS, LibreSSL, Kopriva, BearSSL, cryptlib, OpenSSL u načinu rada FIPS. Microsoft .NET kripto, Linux kernel libkcapi, Sodium i GnuTLS tek trebaju biti testirani.

Pronašli smo implementacije koje gube bitnu duljinu skalara tijekom množenja skalara u ECC. Ovo curenje može se činiti malim, jer duljina bita ima vrlo malu količinu informacija prisutnih u skalaru. Međutim, u slučaju generiranja ECDSA / EdDSA potpisa, filtriranje duljine bita slučajnog noncea dovoljno je za potpuni oporavak privatnog ključa koji se koristi nakon promatranja nekoliko stotina do nekoliko tisuća potpisa u poznatim porukama, zbog aplikacije nekih tehnika.

Vjerujemo da to utječe na sve prethodne kartice jer dijele zajedničku ECDSA komponentu (modul FIPS 214), koja je opisana kao Athena OS2 ECDSA755 komponenta u Inside Secure AT90SC A1.0 (firmware). Testirali smo ranjivost samo na Athena IDProtect kartici s CPLC i ATR podacima

Problem uzrokuje sposobnost određivanja pojedinačnih vrijednosti bita tijekom množenja skalarom tijekom ECC trgovanja. Neizravne metode, poput procjene kašnjenja u izvođenju izračuna, koriste se za izdvajanje podataka iz bitova.

Za napad je potreban neprivilegirani pristup hostu u kojem se generira digitalni potpis (daljinski napad nije isključen, ali je vrlo složen i zahtijeva veliku količinu podataka za analizu, stoga se može smatrati malo vjerojatnim).

Unatoč maloj veličini curenja, za ECDSA je dovoljna definicija čak nekoliko bitova s ​​informacijama o vektoru inicijalizacije (nonce) za izvođenje napada za sekvencijalno vraćanje cjelovitog privatnog ključa.

Prema autorima metode, za uspješan oporavak ključa dovoljna je analiza nekoliko stotina do nekoliko tisuća generiranih digitalnih potpisa za poruke koje su napadaču poznate. Primjerice, da bi se odredio privatni ključ koji se koristi u Athena IDProtect pametnoj kartici na temelju čipa Inside Secure AT90SC, koristeći eliptičnu krivulju secp256r1, analizirano je 11 tisuća digitalnih potpisa. Ukupno vrijeme napada bilo je 30 minuta.

Naš napadački kod i dokaz koncepta nadahnuti su metodom Brumley & Tuveri.

Problem je već riješen u libgcrypt 1.8.5 i wolfCrypt 4.1.0, drugi projekti još nisu generirali ažuriranja. Također je moguće pratiti popravak ranjivosti u paketu libgcrypt u distribucijama na ovim stranicama: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arh.

Istraživači su također testirali druge kartice i knjižnice, od kojih sljedeće nisu ranjive:

  • OpenSSL 1.1.1d
  • Bouncy Castle 1.58
  • DosadanSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Pokreni 2.11.0
  • Microsoftov CNG
  • mbedTLS 2.16.0
  • Intel IPP-kripto

kartice

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

Ako želite znati više o napadu koji se koristi i otkrivenim ranjivostima, to možete učiniti u sljedeći link. Alati koji se koriste za repliciranje napada dostupni su za preuzimanje.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.