Minerva: поредица от уязвимости в изпълненията на ECDSA / EdDSA

Minerva

Изследователи от университета Masaryk разкриха информация важно за уязвимости в различни iПриложения на алгоритъма за генериране на цифров подпис ECDSA / EdDSA, което позволява да се възстанови стойността на частния ключ въз основа на анализ на изтичане на информация за отделни битове, които се появяват при прилагане на методи за анализ чрез канали на трети страни. Уязвимостите са с кодово име Minerva.

Най-известните проекти които засягат предложените методи за атака са OpenJDK, OracleJDK (CVE-2019-2894) и библиотеката libgcrypt (CVE-2019-13627), използван в GnuPG. Проблемите са също податлив за библиотеки MatrixSSL, Crypto ++, wolfCrypt, елиптичен, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa а също и някои смарт карти Athena IDProtect, бронирана карта TecSec, SafeNet eToken 4300, валиден S / A IDflex V.

В допълнение към споменатите уязвимости в момента те не са засегнати OpenSSL, Botan, mbedTLS и BoringSSL. Mozilla NSS, LibreSSL, коприва, BearSSL, cryptlib, OpenSSL в режим FIPS. Microsoft .NET crypto, Linux ядро ​​libkcapi, Sodium и GnuTLS все още не са тествани.

Намерихме реализации, които губят битовата дължина на скалара по време на умножение на скалари в ECC. Това изтичане може да изглежда малко, тъй като битовата дължина има много малко количество информация, налична в скалара. Въпреки това, в случай на генериране на подпис ECDSA / EdDSA, филтрирането на битовата дължина на произволния nonce е достатъчно за пълното възстановяване на използвания частен ключ след наблюдение на няколкостотин до няколко хиляди подписа в известни съобщения, поради приложението на някои техники.

Ние вярваме, че всички предишни карти са засегнати, защото те споделят общ ECDSA компонент (модул FIPS 214), който е описан като Athena OS2 ECDSA755 компонент в Inside Secure AT90SC A1.0 (фърмуер). Тествахме уязвимостта само на картата Athena IDProtect с CPLC и ATR данни

Проблемът е причинен от възможността за определяне на отделни битови стойности по време на умножение по скалар по време на ECC търговия. За извличане на битова информация се използват непреки методи, като например изчисляване на забавяне при извършване на изчисления.

Атаката изисква непривилегирован достъп до хоста в който се генерира цифров подпис (отдалечена атака не е изключена, но е много сложна и изисква голямо количество данни за анализ, поради което може да се счита за малко вероятно).

Въпреки малкия размер на изтичането, за ECDSA дефиницията дори на няколко бита с информация за инициализиращия вектор (nonce) е достатъчна за извършване на атака за последователно възстановяване на пълния частен ключ.

Според авторите на метода, за успешно възстановяване на ключове е достатъчен анализ на няколкостотин до няколко хиляди генерирани цифрови подписи за съобщения, известни на нападателя. Например, за да се определи частният ключ, използван в смарт картата Athena IDProtect на базата на чипа Inside Secure AT90SC, като се използва елиптичната крива secp256r1, бяха анализирани 11 хиляди цифрови подписа. Общото време за атака беше 30 минути.

Нашият код за атака и доказателство за концепция са вдъхновени от метода Brumley & Tuveri.

Проблемът вече е отстранен в libgcrypt 1.8.5 и wolfCrypt 4.1.0, други проекти все още не са генерирали актуализации. Също така е възможно да се проследи корекцията на уязвимостта в пакета libgcrypt в дистрибуции на тези страници: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Арх.

Изследователите тестваха и други карти и библиотеки, от които следните не са уязвими:

  • OpenSSL 1.1.1d
  • Bouncy Castle 1.58
  • СкучноSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Ботан 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-крипто

карти

  • БГВ ACOSJ 40K
  • Feitian A22CR
  • G&D SmartCafe 6.0
  • G&D SmartCafe 7.0
  • Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4
  • Универсална JCard карта Infineon SLE78
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • SIMOME TaiSYS Vault

Ако искате да научите повече за използваната атака и откритите уязвимости, можете да го направите в следваща връзка. Инструментите, използвани за възпроизвеждане на атаката, са достъпни за изтегляне.


Съдържанието на статията се придържа към нашите принципи на редакторска етика. За да съобщите за грешка, щракнете върху тук.

Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван.

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.