Nowa technika ataku bocznego kanału w celu odzyskania kluczy ECDSA

Naukowcy z Uniwersytetu. Masaryka nieosłonięty Informacja o luki w zabezpieczeniach w różnych implementacjach algorytmu tworzenia podpisu cyfrowego ECDSA/EdDSA, który pozwala na odtworzenie wartości klucza prywatnego na podstawie analizy wycieków informacji o poszczególnych bitach, które pojawiają się podczas korzystania z zewnętrznych metod analitycznych. Lukom nadano kryptonim Minerva.

Najbardziej znane projekty, na które wpływa proponowana metoda ataku, to OpenJDK/OracleJDK (CVE-2019-2894) i biblioteka libgcrypt (CVE-2019-13627) używany w GnuPG. Również podatny na problem MatrixSSL, Krypto++, wilkCrypt, eliptyczny, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, łatwe ew i karty inteligentne Athena IDProtect. Nie testowano, ale karty Valid S/A IDflex V, SafeNet eToken 4300 i TecSec Armored Card, które korzystają ze standardowego modułu ECDSA, również zostały uznane za potencjalnie podatne na ataki.

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

Luki w zabezpieczeniach nie podatny OpenSSL, Botan, mbedTLS i BoringSSL. Jeszcze nie testowane Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL w trybie FIPS, Microsoft .NET crypto,
libkcapi z jądra Linuksa, Sodium i GnuTLS.

Problem wynika z możliwości określenia wartości poszczególnych bitów podczas mnożenia skalarnego w operacjach na krzywych eliptycznych. Do wyodrębnienia informacji bitowych stosuje się metody pośrednie, takie jak szacowanie opóźnienia obliczeniowego. Atak wymaga nieuprzywilejowanego dostępu do hosta, na którym generowany jest podpis cyfrowy (nie wyłączony i zdalny atak, ale jest to bardzo skomplikowane i wymaga dużej ilości danych do analizy, więc można to uznać za mało prawdopodobne). Do załadunku dostępny narzędzia użyte do ataku.

Pomimo nieznacznej wielkości wycieku, dla ECDSA wykrycie nawet kilku bitów z informacją o wektorze inicjującym (nonce) wystarczy, aby przeprowadzić atak mający na celu sekwencyjne odzyskanie całego klucza prywatnego. Zdaniem autorów metody, aby skutecznie odzyskać klucz, wystarczy analiza kilkuset do kilku tysięcy podpisów cyfrowych wygenerowanych pod wiadomościami znanymi atakującemu. Przykładowo, za pomocą krzywej eliptycznej secp90r256 przeanalizowano 1 tys. podpisów cyfrowych w celu ustalenia klucza prywatnego używanego na karcie inteligentnej Athena IDProtect opartej na chipie Inside Secure AT11SC. Całkowity czas ataku wynosił 30 minut.

Źródło: opennet.ru

Dodaj komentarz