Minerva: Eine Reihe von Sicherheitslücken in ECDSA / EdDSA-Implementierungen

Minerva

Forscher der Masaryk-Universität enthüllten Informationen wichtig über Schwachstellen in verschiedene iImplementierungen des Algorithmus zur Erzeugung digitaler Signaturen von ECDSA / EdDSA, Dies ermöglicht die Wiederherstellung des Werts des privaten Schlüssels basierend auf der Analyse von Informationslecks auf einzelnen Bits, die beim Anwenden von Analysemethoden über Kanäle von Drittanbietern auftreten. Die Sicherheitslücken tragen den Codenamen Minerva.

Die bekanntesten Projekte das beeinflusst Die vorgeschlagenen Angriffsmethoden sind OpenJDK, OracleJDK (CVE-2019-2894) und die Bibliothek libgcrypt (CVE-2019-13627) in GnuPG verwendet. Die Probleme sind auch anfällig für Bibliotheken MatrixSSL, Crypto ++, wolfCrypt, elliptisch, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa und auch einige Smartcards Athena IDProtect, TecSec-Panzerkarte, SafeNet eToken 4300, gültiger S / A-IDflex V.

Zusätzlich zu den derzeit genannten Sicherheitslücken sind sie nicht betroffen OpenSSL, Botan, mbedTLS und BoringSSL. Mozilla NSS, LibreSSL, Brennnessel, BearSSL, Cryptlib, OpenSSL im FIPS-Modus. Microsoft .NET-Krypto, Linux-Kernel libkcapi, Sodium und GnuTLS müssen noch getestet werden.

Wir haben Implementierungen gefunden, die die Bitlänge des Skalars während der Skalarmultiplikation in ECC verlieren. Dieses Leck mag winzig erscheinen, da die Bitlänge eine sehr kleine Menge an Informationen im Skalar enthält. Im Fall der ECDSA / EdDSA-Signaturerzeugung ist das Filtern der Bitlänge der zufälligen Nonce jedoch ausreichend, um den privaten Schlüssel wiederherzustellen, der verwendet wird, nachdem einige hundert bis einige tausend Signaturen in bekannten Nachrichten aufgrund von beobachtet wurden zur Anwendung einiger Techniken.

Wir glauben, dass alle vorherigen Karten betroffen sind, da sie eine gemeinsame ECDSA-Komponente (FIPS 214-Modul) verwenden, die in Inside Secure AT2SC A755 (Firmware) als Athena OS90 ECDSA1.0-Komponente beschrieben wird. Wir haben die Sicherheitsanfälligkeit nur auf der Athena IDProtect-Karte mit CPLC- und ATR-Daten getestet

Das Problem wird durch die Fähigkeit verursacht, einzelne Bitwerte zu bestimmen während der Multiplikation mit einem Skalar während des ECC-Handels. Indirekte Methoden, wie das Schätzen der Verzögerung bei der Durchführung von Berechnungen, werden verwendet, um Informationen aus Bits zu extrahieren.

Ein Angriff erfordert einen nicht privilegierten Zugriff auf den Host bei dem die digitale Signatur generiert wird (ein Remote-Angriff ist nicht ausgeschlossen, aber sehr kompliziert und erfordert eine große Datenmenge für die Analyse, daher kann dies als unwahrscheinlich angesehen werden).

Trotz der geringen Größe des Lecks reicht für ECDSA die Definition einiger Bits mit Informationen über den Initialisierungsvektor (Nonce) aus, um einen Angriff auszuführen, um den vollständigen privaten Schlüssel nacheinander wiederherzustellen.

Nach Angaben der Autoren der Methode, Für eine erfolgreiche Schlüsselwiederherstellung ist die Analyse von mehreren hundert bis mehreren tausend generierten digitalen Signaturen ausreichend für Nachrichten, die dem Angreifer bekannt sind. Um beispielsweise den in der Athena IDProtect-Smartcard verwendeten privaten Schlüssel basierend auf dem Inside Secure AT90SC-Chip unter Verwendung der elliptischen Kurve secp256r1 zu bestimmen, wurden 11 digitale Signaturen analysiert. Die Gesamtangriffszeit betrug 30 Minuten.

Unser Angriffscode und Proof of Concept ist von der Brumley & Tuveri-Methode inspiriert.

Das Problem wurde bereits in libgcrypt 1.8.5 und wolfCrypt 4.1.0 behobenAndere Projekte haben noch keine Updates generiert. Es ist auch möglich, die Sicherheitsanfälligkeit im libgcrypt-Paket in Distributionen auf diesen Seiten zu verfolgen: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

Die Forscher testeten auch andere Karten und Bibliotheken, von denen die folgenden nicht anfällig sind:

  • OpenSSL 1.1.1d
  • Hüpfburg 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Starten Sie 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-Krypto

Karten

  • Warmwasser 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

Wenn Sie mehr über den verwendeten Angriff und die erkannten Sicherheitslücken erfahren möchten, können Sie dies in der folgenden Link Die zum Replizieren des Angriffs verwendeten Tools stehen zum Download zur Verfügung.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.