Представлена техника атаки для определения ключей ECDSA и DSA

15 июня 2018 года

Исследователи из компании NCC Group разработали (Архивная копия от 5 мая 2020 на Wayback Machine) новый метод атаки по сторонним каналам (CVE-2018-0495, PDF (Архивная копия от 17 июля 2019 на Wayback Machine)), позволяющий воссоздать применяемые для создания цифровых подписей закрытые ключи ECDSA и DSA, используя технику извлечения информации из процессорного кэша для оценки изменения задержки при выполнении вычислений.

Для атаки необходимо наличие непривилегированного доступа к хосту, на котором выполняется генерация цифровой подписи, или к соседней виртуальной машине. В ходе атаки в момент создания очередной цифровой подписи осуществляется определение значения базовых параметров, путём перебора нахождения вероятных значений в кэше и оценки времени выполнения математических вычислений. Проверяемые значения выбираются с учётом того, что в библиотеках используются математическая операция вычисления модуля, время выполнения которой меняется в зависимости от выбранных значений.

Для успешного воссоздания 256-разрядного закрытого ключа ECDSA достаточно наблюдения за созданием нескольких тысяч цифровых подписей (например, можно анализировать работу во время установки TLS или SSH соединений с использованием ECDSA). Рабочий прототип эксплота предоставлен для OpenSSL. Для защиты от атаки предлагается использовать в процессе математических вычислений дополнительное случайное число, на которое выполняется умножение секретного параметра, а затем инвертируется результат.

Наибольшую опасность уязвимость представляет для систем виртуализации, в которых атакующий потенциально может определить серверный SSH-ключ или закрытые ключи TLS, применяемые в другой виртуальной машине. Но в реальных условиях атака достаточно трудна в проведении и её успешность зависит от множества сопуствующих факторов, таких как необходимость привязки виртуальной машины атакующего к тому же физическому CPU.

Проблеме подвержены библиотеки OpenSSL, LibreSSL, Libgcrypt (ECDSA), Mozilla NSS, Botan (ECDSA), WolfCrypt (ECDSA), LibTomCrypt (ECDSA), LibSunEC (ECDSA), MatrixSSL (ECDSA), BoringSSL (DSA) и CryptLib. Обновления с устранением уязвимости уже выпущены для LibreSSL 2.7.4/2.6.5, BoringSSL и Libgcrypt 1.8.3/1.7.10 (GnuPG). Уязвимость не затрагивает библиотеки Nettle (ECDSA), BearSSL и Libsecp256k1, так как математические вычисления в них всегда выполняются за постоянное время. Библиотека NaCl не подвержена проблемам, так как не поддерживает цифровые подписи ECDSA и DSA (в NaCl применяется только алгоритм Ed25519).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Представлена техника атаки для определения ключей ECDSA и DSA», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.