Minerva: серія вразливостей у реалізаціях ECDSA / EdDSA

Мінерва

Дослідники з університету Масарика розкрили інформацію важливо про вразливості в різні 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, ядро ​​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 хвилин.

Наш код атаки та доказ концепції натхненний методом Брамлі та Тувері.

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

Дослідники також протестували інші картки та бібліотеки, серед яких не є вразливими:

  • OpenSSL 1.1.1d
  • Надувний замок 1.58
  • НудноSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Ботан 2.11.0
  • CNG від Microsoft
  • 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 версії 2.4.2 R2
  • NXP JCOP версії 2.4.2 R3
  • Сховище SIMOME TaiSYS

Якщо ви хочете дізнатись більше про використовувану атаку та виявлені вразливості, ви можете це зробити в наступне посилання. Інструменти, що використовуються для відтворення атаки, доступні для завантаження.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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