Ny sidekanalangrepsteknikk for å gjenopprette ECDSA-nøkler

Forskere fra universitetet. Masaryk avdekket informasjon om sårbarheter i ulike implementeringer av ECDSA/EdDSA-algoritmen for opprettelse av digitale signaturer, som lar deg gjenopprette verdien av en privat nøkkel basert på en analyse av lekkasjer av informasjon om individuelle biter som dukker opp ved bruk av tredjeparts analysemetoder. Sårbarhetene fikk kodenavnet Minerva.

De mest kjente prosjektene som er berørt av den foreslåtte angrepsmetoden er OpenJDK/OracleJDK (CVE-2019-2894) og biblioteket libgcrypt (CVE-2019-13627) brukt i GnuPG. Også mottakelig for problemet MatrixSSL, Krypto++, wolfCrypt, elliptisk, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, lett-ecc og Athena IDProtect smartkort. Ikke testet, men Gyldig S/A IDflex V, SafeNet eToken 4300 og TecSec Armored Card-kort, som bruker en standard ECDSA-modul, er også erklært som potensielt sårbare.

Problemet er allerede løst i utgivelsene av libgcrypt 1.8.5 og wolfCrypt 4.1.0, de gjenværende prosjektene har ennå ikke generert oppdateringer. Du kan spore løsningen for sårbarheten i libgcrypt-pakken i distribusjoner på disse sidene: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

Sårbarheter ikke mottakelig OpenSSL, Botan, mbedTLS og BoringSSL. Ikke testet ennå Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL i FIPS-modus, Microsoft .NET crypto,
libkcapi fra Linux-kjernen, Sodium og GnuTLS.

Problemet er forårsaket av evnen til å bestemme verdiene til individuelle biter under skalar multiplikasjon i elliptiske kurveoperasjoner. Indirekte metoder, som å estimere beregningsforsinkelse, brukes til å trekke ut bitinformasjon. Et angrep krever uprivilegert tilgang til verten som den digitale signaturen genereres på (ikke ekskludert og et eksternt angrep, men det er veldig komplisert og krever en stor mengde data for analyse, så det kan anses som usannsynlig). For lasting tilgjengelig verktøy som brukes til angrep.

Til tross for den ubetydelige størrelsen på lekkasjen, for ECDSA er deteksjon av til og med noen få biter med informasjon om initialiseringsvektoren (nonce) nok til å utføre et angrep for sekvensielt å gjenopprette hele den private nøkkelen. Ifølge forfatterne av metoden, for å lykkes med å gjenopprette en nøkkel, er en analyse av flere hundre til flere tusen digitale signaturer generert for meldinger kjent for angriperen tilstrekkelig. For eksempel ble 90 tusen digitale signaturer analysert ved å bruke den elliptiske kurven secp256r1 for å bestemme den private nøkkelen som ble brukt på Athena IDProtect-smartkortet basert på Inside Secure AT11SC-brikken. Den totale angrepstiden var 30 minutter.

Kilde: opennet.ru

Legg til en kommentar