Minerva: seria luk w zabezpieczeniach implementacji ECDSA / EdDSA

Minerva

Naukowcy z Uniwersytetu Masaryka ujawnili informacje ważny o lukach w różne iImplementacje algorytmu generowania podpisu cyfrowego ECDSA / EdDSA, który pozwala odzyskać wartość klucza prywatnego na podstawie analizy wycieków informacji na poszczególnych bitach, które pojawiają się przy stosowaniu metod analitycznych za pośrednictwem zewnętrznych kanałów. Luki te mają nazwę kodową Minerva.

Najbardziej znane projekty ten wpływ proponowana metoda ataku to OpenJDK, OracleJDK (CVE-2019-2894) i bibliotekę libgcrypt (CVE-2019-13627) używany w GnuPG. Problemy są podatne również na biblioteki MatrixSSL, Crypto ++, wolfCrypt, eliptyczny, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa a także kilka kart inteligentnych Athena IDProtect, karta pancerna TecSec, SafeNet eToken 4300, Valid S / A IDflex V.

Oprócz wspomnianych w tej chwili luk nie są one zagrożone OpenSSL, Botan, mbedTLS i BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL w trybie FIPS. Krypto Microsoft .NET, jądro Linux libkcapi, Sodium i GnuTLS nie zostały jeszcze przetestowane.

Znaleźliśmy implementacje, które tracą długość bitową skalara podczas mnożenia skalarnego w ECC. Ten wyciek może wydawać się niewielki, ponieważ długość bitu zawiera bardzo małą ilość informacji zawartych w skalarach. Jednak w przypadku generowania podpisów ECDSA / EdDSA, przefiltrowanie długości bitowej losowej wartości jednorazowej jest wystarczające do pełnego odzyskania klucza prywatnego używanego po zaobserwowaniu kilkuset do kilku tysięcy podpisów w znanych wiadomościach, ze względu na zastosowanie niektóre techniki.

Uważamy, że problem dotyczy wszystkich poprzednich kart, ponieważ mają one wspólny komponent ECDSA (moduł FIPS 214), który jest opisany jako Athena OS2 ECDSA755 Component in Inside Secure AT90SC A1.0 (Firmware). Testowaliśmy lukę tylko na karcie Athena IDProtect z danymi CPLC i ATR

Problem jest spowodowany możliwością określenia poszczególnych wartości bitów podczas mnożenia przez skalar podczas operacji ESK. Do wydobywania informacji z bitów stosuje się metody pośrednie, takie jak szacowanie opóźnienia w wykonywaniu obliczeń.

Atak wymaga nieuprzywilejowanego dostępu do hosta w którym generowany jest podpis cyfrowy (nie wyklucza się ataku zdalnego, ale jest on bardzo skomplikowany i wymaga dużej ilości danych do analizy, dlatego można go uznać za mało prawdopodobny).

Pomimo niewielkich rozmiarów wycieku, dla ECDSA zdefiniowanie nawet kilku bitów z informacją o wektorze inicjalizacyjnym (nonce) jest wystarczające do przeprowadzenia ataku w celu sekwencyjnego odtworzenia całego klucza prywatnego.

Zdaniem autorów metody dla pomyślnego odzyskania klucza wystarczy analiza od kilkuset do kilku tysięcy wygenerowanych podpisów cyfrowych dla wiadomości znanych atakującemu. Na przykład, aby określić klucz prywatny używany w karcie inteligentnej Athena IDProtect opartej na chipie Inside Secure AT90SC, przy użyciu krzywej eliptycznej secp256r1, przeanalizowano 11 tysięcy podpisów cyfrowych. Całkowity czas ataku wyniósł 30 minut.

Nasz kod ataku i dowód słuszności koncepcji są inspirowane metodą Brumley & Tuveri.

Problem został już rozwiązany w libgcrypt 1.8.5 i wolfCrypt 4.1.0, inne projekty nie wygenerowały jeszcze aktualizacji. Możliwe jest również prześledzenie poprawki luki w pakiecie libgcrypt w dystrybucjach na tych stronach: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

Naukowcy przetestowali również inne karty i biblioteki, z których następujące nie są zagrożone:

  • OpenSSL 1.1.1d
  • Bouncy Castle 1.58
  • WytaczarkaSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Rozruch 2.11.0
  • CNG firmy Microsoft
  • mbedTLS 2.16.0
  • Intel IPP-Crypto

Karty

  • CWU ACOSJ 40K
  • Feitian A22CR
  • G&D SmartCafe 6.0
  • G&D SmartCafe 7.0
  • Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4
  • Uniwersalna karta JCard Infineon SLE78
  • NXP JCOP31 wersja 2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • SIMOME TaiSYS Vault

Jeśli chcesz dowiedzieć się więcej o zastosowanym ataku i wykrytych lukach, możesz to zrobić w następujący link. Do pobrania dostępne są narzędzia używane do replikacji ataku.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.