Nowa technika ataku przez zewnętrzne kanały, umożliwiająca odzyskiwanie kluczy ECDSA

Badacze z Uniwersytetu Masaryka ujawnili informacje o lukach w różnych implementacjach algorytmu tworzenia podpisu cyfrowego ECDSA/EdDSA, umożliwiających odzyskanie wartości klucza prywatnego na podstawie analizy wycieków informacji o poszczególnych bitach, ujawniających się podczas stosowania metod analizy poprzez zewnętrzne kanały. Luki te otrzymały kryptonim Minerva.

Najbardziej znane projekty, których dotyczy proponowana metoda ataku, to OpenJDK/OracleJDK (CVE-2019-2894) oraz biblioteka Libgcrypt (CVE-2019-13627), używana w GnuPG. Problem dotyczy także MatrixSSL, Crypto++, wolfCrypt, elliptic, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, easy-ecc oraz kart smart Athena IDProtect. Nie zostały przetestowane, ale jako potencjalnie wrażliwe wskazano również karty Valid S/A IDflex V, SafeNet eToken 4300 i TecSec Armored Card, które wykorzystują standardowy moduł ECDSA.

Problem już został rozwiązany w wydaniach libgcrypt 1.8.5 i wolfCrypt 4.1.0, pozostałe projekty jeszcze nie wydały aktualizacji. Można śledzić naprawę luki w pakiecie libgcrypt w dystrybucjach na tych stronach: Debian, Ubuntu, RHEL, Fedora, openSUSE/SUSE, FreeBSD, Arch.

Podatności niepodatne OpenSSL, Botan, mbedTLS i BoringSSL. Jeszcze nie zostały przetestowane Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL w trybie FIPS, Microsoft .NET crypto,
libkcapi z jądra Linuksa, Sodium i GnuTLS.

Problem jest spowodowany możliwością określenia wartości poszczególnych bitów podczas wykonywania mnożenia przez skalar w operacjach z krzywą eliptyczną. Aby wydobyć informacje o bitach, stosowane są pośrednie metody, takie jak ocena opóźnienia przy wykonywaniu obliczeń. Do ataku wymagany jest dostęp nieuprzywilejowany do hosta, na którym odbywa się generacja podpisu cyfrowego (nie wyklucza atak zdalny, ale jest on znacznie utrudniony i wymaga dużej ilości danych do analizy, dlatego można go uznać za mało prawdopodobny). Aby pobrać dostępne narzędzie używane do ataku.

Mimo niewielkiego rozmiaru wycieku, dla ECDSA wystarczy zdefiniować nawet kilka bitów informacji o wektorze inicjalizacji (nonce), aby przeprowadzić atak na sekwencyjne odzyskiwanie całego klucza prywatnego. Według autorów metody, do pomyślnego odzyskania klucza wystarczy analiza od kilkuset do kilku tysięcy podpisów cyfrowych, wygenerowanych dla wiadomości znanych atakującemu. Na przykład, aby określić klucz prywatny używany w karcie smart 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.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster