Minerva: niz ranjivosti u implementacijama ECDSA / EdDSA

Minerva

Istraživači sa Univerziteta Masaryk otkrili su informacije važan o ranjivostima u razni iImplementacije ECDSA / EdDSA algoritma za generiranje digitalnog potpisa, koji omogućava oporavak vrijednosti privatnog ključa na osnovu 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 utiču predloženi način napada su OpenJDK, OracleJDK (CVE-2019-2894) i biblioteku libgcrypt (CVE-2019-13627) korišteno u GnuPG. Problemi su takođe podložan bibliotekama MatrixSSL, Crypto ++, wolfCrypt, eliptični, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa a takođe i neke pametne kartice Athena IDProtect, TecSec oklopna kartica, SafeNet eToken 4300, važeća S / A IDflex V.

Pored spomenutih ranjivosti u ovom trenutku one nisu pogođene OpenSSL, Botan, mbedTLS i BoringSSL. Mozilla NSS, LibreSSL, Kopriva, BearSSL, cryptlib, OpenSSL u režimu FIPS. Microsoft .NET kripto, Linux kernel libkcapi, Sodium i GnuTLS tek treba testirati.

Pronašli smo implementacije koje gube bitnu dužinu skalara za vrijeme 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 bitne duljine 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 na primenu nekih tehnika.

Vjerujemo da to utječe na sve prethodne kartice jer dijele zajedničku ECDSA komponentu (FIPS 214 modul), 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 nastaje zbog mogućnosti određivanja pojedinačnih vrijednosti bita tokom množenja skalarom tokom ECC trgovanja. Indirektne metode, poput procjene kašnjenja u izvođenju proračuna, koriste se za izdvajanje informacija iz bitova.

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

Uprkos 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 kompletnog 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. Na primjer, da bi se odredio privatni ključ koji se koristi u Athena IDProtect pametnoj kartici na osnovu č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š kod za napad 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đe je moguće pratiti ispravljanje ranjivosti u paketu libgcrypt u distribucijama na ovim stranicama: Debian, Ubuntu, RHEL, fedora, openSUSE / SUSE, FreeBSD, Arch.

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

  • OpenSSL 1.1.1d
  • Bouncy Castle 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Boot 2.11.0
  • Microsoft 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
  • SIMOME TaiSYS trezor

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.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.