ROCA-уязвимость

редактировать
Криптографическая ценность
ROCA-уязвимость
идентификаторы CVE CVE - 2017 -15361
Дата обнаруженияфевраль 2017 г.; 3 года назад (февраль 2017 г.)
ПервооткрывательМатуш Немец, Марек Сис и др. al (Университет Масарика )
Затронутое оборудованиеTPM, Yubikey, Gemalto IDPrime.NET смарт-карты
Затронутое программное обеспечениеЛюбое общедоступное - шифрование с закрытым ключом с использованием RSALib, включая BitLocker и PGP

. Уязвимость ROCA - это криптографическая слабость, которая позволяет использовать закрытый ключ пары ключей, которая должна быть восстановлена ​​из открытого ключа в ключах, сгенерированных устройствами с уязвимостью. «ROCA» является аббревиатурой от «Возвращение атаки Копперсмита ». уязвимости присвоен идентификатор CVE -2017-15361.

Уязвимость возникает из-за проблемы с подходом к RSA генерации ключа, используемому в программная библиотека, RSALib, предоставляемая Infineon Technologies и встроенная во многие смарт-карты, Trusted Platform Module (TPM) и аппаратные модули безопасности ( HSM), включая токены YubiKey 4, часто используемые для генерации ключей PGP. 512, 1024 и 2048 бит, сгенерированные с использованием библиотеки Infineon, уязвимы для практической атаки ROCA. Исследовательская группа, обнаружившая атаку (все с Университетом Масарика и возглавляемые Матушем Немеком и Мареком Сисом), оценивает, что она затрагивает около четверти всех существующих устройств TPM во всем мире. Считается, что затронуты миллионы смарт-карт.

Команда проинформировала Infineon о проблеме RSALib в феврале 2017 года, но не уведомляла публику до середины октября, сославшись на ответственное раскрытие. Тогда они объявили об атаке и предоставили инструмент для проверки открытых ключей на уязвимость. Они опубликовали подробности атаки в ноябре.

Содержание
  • 1 Технические подробности
  • 2 Смягчение
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
Технические подробности

Создание ключа RSA включает в себя выбор двух больших случайно сгенерированных простых чисел, процесс, который может занять много времени, особенно на небольших устройствах, таких как смарт-карты. Помимо того, что числа являются простыми числами, они должны обладать некоторыми другими свойствами для обеспечения максимальной безопасности. Уязвимый процесс выбора RSALib быстро создает простые числа желаемого типа, проверяя только числа простоты вида:

k ∗ M + (65537 a mod M) {\ displaystyle k * M + (65537 ^ {a} \ mod { M})}{\ displaystyle k * M + (65537 ^ {a} \ mod {M})}

где M {\ displaystyle M}M - произведение первых n последовательных простых чисел (2, 3, 5, 7, 11, 13,...), а n - константа, которая зависит только от желаемого размера ключа. Безопасность основана на секретных константах k {\ displaystyle k}k и a {\ displaystyle a}a . Атака ROCA использует этот конкретный формат для простых чисел, используя вариант метода Копперсмита. Кроме того, сгенерированные таким образом открытые ключи имеют отличительный отпечаток, который можно быстро распознать, попытавшись вычислить дискретный логарифм мода открытого ключа M {\ displaystyle M}M на базу 65537. Вычисление дискретных логарифмов в большой группе обычно чрезвычайно сложно, но в этом случае это может быть эффективно выполнено с помощью алгоритма Полига – Хеллмана, поскольку M {\ displaystyle M}M является гладкое число. В Интернете доступен тестовый сайт. Короче говоря, ключи, которые соответствуют этому формату, имеют значительно низкую энтропию и могут быть атакованы относительно эффективно (от недель до месяцев), а формат может быть подтвержден («снят отпечатками пальцев») злоумышленником очень быстро (микросекунды). Множественные реализации атаки общедоступны.

Снижение риска

Авторы ROCA считают уязвимыми открытые ключи длиной 512, 1024 и 2048 бит, сгенерированные RSALib. Поскольку детали генерации ключей различаются для разных длин ключей, более короткие ключи не обязательно более уязвимы, чем более длинные ключи. Например, 1952-битный ключ RSAlib сильнее 2048-битного ключа, а 4096-битный ключ слабее 3072-битного ключа.

По мнению авторов, лучшим средством защиты является создание ключей RSA с использованием более надежного метода, например, с помощью OpenSSL. Если это невозможно, авторы ROCA предлагают использовать длины ключей, которые менее восприимчивы к ROCA, такие как 3936 бит, 3072 бит или, если максимальный размер ключа 2048 бит, 1952 бит.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-03 04:49:21
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте