Предложен метод определения коллизий в SHA-1, пригодный для атаки на PGP
7 января 2020 года
Исследователи из французского государственного института исследований в информатике и автоматике (INRIA) и Наньянского технологического университета (Сингапур) представили метод атаки Shambles ( PDF), который преподносится как первая практическая реализация атаки на алгоритм SHA-1, которую можно использовать для создания фиктивных цифровых подписей PGP и GnuPG. Исследователи полагают, что теперь все практические атаки на MD5 могут применяться и для SHA-1, хотя пока всё ещё требуют значительных ресурсов для осуществления.
Метод основан на проведении коллизионной атаки с заданным префиксом, позволяющей для двух произвольных наборов данных подобрать дополнения, при прикреплении которых на выходе получатся вызывающие коллизию наборы, применение алгоритма SHA-1 для которых приведёт к формированию одного и того же результирующего хэша. Иными словами, для двух существующих документов можно вычислить два дополнения, и, если одно присоединить к первому документу, а другое ко второму - результирующие хэши SHA-1 для этих файлов будут одинаковы.
Новый метод отличается от ранее предлагавшихся похожих техник повышением эффективности поиска коллизии и демонстрацией практического применения для атаки на PGP. В частности, исследователи смогли подготовить два открытых PGP-ключа разного размера (RSA-8192 и RSA-6144) с отличающимися идентификаторами пользователя и с сертификатами, вызывающими коллизию SHA-1. Первый ключ включал идентификатор жертвы, а второй ключ включал имя и изображение атакующего. При этом благодаря подбору коллизии идентифицирующий ключи сертификат, включающий ключ и изображение атакующего, имел тот же SHA-1 хэш, что и идентификационный сертификат, включающий ключ и имя жертвы.
Атакующий мог запросить цифровую подпись для своего ключа и изображения в стороннем удостоверяющем центре, после чего перенести цифровую подпись для ключа жертвы. Цифровая подпись остаётся корректной из-за коллизии и заверения ключа атакующего удостоверяющим центром, что позволяет атакующему получить контроль и за ключом с именем жертвы (так как SHA-1 хэш для обоих ключей совпадает). В итоге атакующий может выдать себя за жертву и подписать любой документ от её имени.
Атака пока остаётся достаточно затратной, но уже вполне по карману спецслужбам и крупным корпорациям. Для простого подбора коллизии при использования более дешёвого GPU NVIDIA GTX 970 затраты составили 11 тысяч долларов, а для подбора коллизии с заданным префиксом - 45 тысяч долларов (для сравнения в 2012 году затраты на подбор коллизии в SHA-1 оценивались в 2 млн долларов, а в 2015 году - 700 тысяч). Для совершения практической атаки на PGP потребовалось два месяца вычислений с привлечением 900 GPU NVIDIA GTX 1060, аренда которых обошлась исследователям в 75 тысяч долларов.
Предложенный исследователями метод обнаружения коллизий примерно в 10 раз эффективней прошлых достижений - уровень сложности вычислений коллизии удалось свести к 261.2 операциям, вместо 264.7, а коллизии с заданным префиксом к 263.4 операциям вместо 267.1. Исследователи рекомендуют как можно скорее перейти с SHA-1 на использование SHA-256 или SHA-3, так как по их прогнозам в 2025 году стоимость проведения атаки снизится до 10 тысяч долларов.
Разработчики GnuPG были уведомлены о проблеме 1 октября (CVE-2019-14855) и 25 ноября в выпуске GnuPG 2.2.18 предприняли меры для блокирования проблемных сертификатов - все цифровые идентифицирующие подписи SHA-1, созданные после 19 января прошлого года, теперь признаются некорректными. В CAcert, одном из основных удостоверяющих центров для ключей PGP, планируют перейти на применение более безопасных хэш-функций для сертификации ключей. Разработчики OpenSSL в ответ на информацию о новом методе атаки решили отключить SHA-1 на предлагаемом по умолчанию первом уровне обеспечения безопасности (SHA-1 нельзя будет использовать для сертификатов и цифровых подписей в процессе согласования соединений).
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.