Minerva: en serie sårbarheter i implementering av ECDSA / EdDSA

Minerva

Masaryk University Researchers avslørte informasjon viktig om sårbarheter i forskjellige jegImplementeringer av ECDSA / EdDSA genereringsalgoritmen for digital signatur, som gjør det mulig å gjenopprette verdien av den private nøkkelen basert på analysen av informasjonslekkasjer på individuelle biter som vises når du bruker analysemetoder gjennom tredjepartskanaler. Sårbarhetene har kodenavnet Minerva.

De mest kjente prosjektene som påvirker den foreslåtte angrepsmetoden er OpenJDK, OracleJDK (CVE-2019-2894) og biblioteket libgcrypt (CVE-2019-13627) brukt i GnuPG. Problemene er også utsatt for biblioteker MatrixSSL, Crypto ++, wolfCrypt, elliptisk, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa og også noen smartkort Athena IDProtect, TecSec Armored Card, SafeNet eToken 4300, Valid S / A IDflex V.

I tillegg til de sårbarhetene som er nevnt for øyeblikket, blir de ikke berørt OpenSSL, Botan, mbedTLS og BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL i FIPS-modus. Microsoft .NET crypto, Linux-kjernen libkcapi, Sodium og GnuTLS har ennå ikke blitt testet.

Vi har funnet implementeringer som mister bitlengden på skalar under skalar multiplikasjon i ECC. Denne lekkasjen kan virke liten fordi bitlengden har en veldig liten mengde informasjon tilstede i skalaren. Imidlertid er det i tilfelle ECDSA / EdDSA signaturgenerering tilstrekkelig å filtrere bitlengden til den tilfeldige nonce for full gjenoppretting av den private nøkkelen som brukes etter å ha observert noen få hundre til noen få tusen signaturer i kjente meldinger, til anvendelse av noen teknikker.

Vi tror at alle tidligere kort påvirkes fordi de deler en felles ECDSA-komponent (FIPS 214-modul), som er beskrevet som Athena OS2 ECDSA755-komponent i Inside Secure AT90SC A1.0 (firmware). Vi har testet sårbarheten bare på Athena IDProtect-kortet med CPLC- og ATR-data

Problemet er forårsaket av muligheten til å bestemme individuelle bitverdier under multiplikasjon med en skalar under ECC-handel. Indirekte metoder, for eksempel estimering av forsinkelse i utførelse av beregninger, brukes til å trekke ut bitinformasjon.

Et angrep krever uprivilegert tilgang til verten der den digitale signaturen genereres (et eksternt angrep er ikke ekskludert, men det er veldig komplisert og krever en stor mengde data for analyse, derfor kan det regnes som usannsynlig).

Til tross for den lille størrelsen på lekkasjen er definisjonen av til og med noen få biter med informasjon om initialiseringsvektoren (nonce) for ECDSA tilstrekkelig til å utføre et angrep for å sekvensielt gjenopprette den komplette private nøkkelen.

I følge forfatterne av metoden, for vellykket nøkkelgjenoppretting er analyse av flere hundre til flere tusen genererte digitale signaturer tilstrekkelig for meldinger som er kjent for angriperen. For å bestemme den private nøkkelen som ble brukt i Athena IDProtect-smartkortet basert på Inside Secure AT90SC-brikken, ved hjelp av elliptisk kurve secp256r1, ble 11 30 digitale signaturer analysert. Den totale angrepstiden var XNUMX minutter.

Våre angrepskoder og bevis på konsept er inspirert av Brumley & Tuveri-metoden.

Problemet er allerede løst i libgcrypt 1.8.5 og wolfCrypt 4.1.0, andre prosjekter har ennå ikke generert oppdateringer. Det er også mulig å spore sikkerhetsproblemet i libgcrypt-pakken i distribusjoner på disse sidene: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

Forskerne testet også andre kort og biblioteker, hvorav følgende ikke er sårbare:

  • OpenSSL 1.1.1d
  • Hoppecastle 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Oppstart 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-krypto

kort

  • VV 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
  • SIMOME TaiSYS Vault

Hvis du vil vite mer om angrepet som er brukt og sårbarhetene som er oppdaget, kan du gjøre det i følgende lenke. Verktøyene som brukes til å replikere angrepet er tilgjengelige for nedlasting.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.