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

Minerva

Исследователи из Университета Масарика раскрыли информацию важный об уязвимостях в различные яРеализации алгоритма генерации цифровой подписи ECDSA / EdDSA, что позволяет восстанавливать значение закрытого ключа на основе анализа утечек информации по отдельным битам, возникающих при применении методов анализа через сторонние каналы. Уязвимости имеют кодовое название Minerva.

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

Помимо упомянутых на данный момент уязвимостей они не затронуты OpenSSL, Botan, mbedTLS и BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL в режиме FIPS. Microsoft .NET crypto, ядро ​​Linux libkcapi, Sodium и GnuTLS еще предстоит протестировать.

Мы нашли реализации, которые теряют битовую длину скаляра во время скалярного умножения в ECC. Эта утечка может показаться незначительной, так как длина в битах содержит очень мало информации в скаляре. Однако в случае генерации подписи ECDSA / EdDSA фильтрации длины в битах случайного одноразового номера достаточно для полного восстановления закрытого ключа, используемого после наблюдения от нескольких сотен до нескольких тысяч подписей в известных сообщениях, из-за применения некоторые техники.

Мы полагаем, что все предыдущие карты затронуты, потому что они используют общий компонент 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, Мягкая фетровая шляпа, openSUSE / SUSE, FreeBSD, Arch.

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

  • OpenSSL 1.1.1d
  • Надувной Замок 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Ботан 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-Crypto

Карты

  • САУ ACOSJ 40K
  • Feitian A22CR
  • G&D SmartCafe 6.0
  • G&D SmartCafe 7.0
  • Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4
  • Infineon SLE78 Универсальная карта JCard
  • 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.