Найден способ взлома постквантового шифрования
Уязвимости в механизме инкапсуляции ключей шифрования Kyber позволяют вычислять секретный ключ через анализ временной разницы. Проблема, впрочем, решается довольно простым способом.
Уязвимости в постквантовом шифровании
«Многочисленные уязвимости в механизме инкапсуляции ключей шифрования для постквантового шифрования Kyber могут приводить к тому, что ключи оказывается возможным извлечь», - утверждается в публикации издания Bleeping Computer. Эксперты компании Cryspen Гутам Тамвада (Goutam Tamvada), Картикеян Бхаргаван (Karthikeyan Bhargavan) и Францискус Кифер (Franziskus Kiefer) обозначили выявленные ими уязвимости в Kyber общим наименованием KyberSlash.
Механизмы инкапсуляции ключей (KEM) - это класс методов шифрования, предназначенных для защиты содержимого симметричного криптографического ключа при передаче с использованием асимметричного (открытого) ключа.
В свою очередь, постквантовым (или квантово-устойчивым) называется шифрование, которое достаточно устойчиво, чтобы противостоять попыткам взлома с применением (пока что гипотетических) квантовых компьютеров.
У механизма Kyber есть официальная реализация, которая называется CRYSTALS-Kyber, и которая входит в набор Cryptographic Suite for Algebraic Lattices (криптографический набор [алгоритмов] для алгебраических решеток). Эти алгоритмы одобрены американским Национальным институтом стандартов и технологий (National Institute of Standards and Technlology).
CRYSTALS-Kyber, в частности, использует мессенджер Signal (в качестве дополнительного слоя защиты).
Уязвимости KyberSlash связаны с тем, как Kyber осуществляет определенные операции деления при декапсуляции ключа: анализируя разницу во времени исполнения, потенциальные злоумышленники могут вычленить сведения, которые позволят скомпрометировать шифрование.
Например, если служба, использующая Kyber, допускает направление множественных запросов на операции к одной и той же паре ключей, то, измеряя разницу во времени выполнения этих операций оказывается возможным постепенно вычислить секретный ключ шифрования.
Патчи на подходе
Эксперты Cryspen проинформировали разработчиков Kyber о выявленных уязвимостях в ноябре, и уже первого декабря появился патч к первой уязвимости (из двух).
Однако это исправление вообще не было отмечено как что-либо, имеющее отношение к безопасности, так что далеко не все разработчики проектов, использующих Kyber, осознали, что им тоже следует принять меры.
С середины декабря эксперты Cryspen начали целенаправленно оповещать разработчиков о необходимости внести исправления. А 30 декабря стало известно о второй уязвимости в Kyber, вызванной теми же причинами, что и первая.
Разработчики VPN-продукта Mullvad утверждают, что, в их случае уязвимости в Kyber использовать невозможно, поскольку для каждого туннеля используется уникальная пара ключей.
«Соответствующие патчи уже выпущены, и владельцам проектов необходимо как можно скорее обновиться, но обновление защитит проекты только от этих двух конкретных уязвимостей. Если будет выявлена аналогичная проблема - возможность ее эксплуатации не исчезнет», - считает технический директор компании SEQ Алексей Водясов. По его словам, можно использовать и другой подход кроме обновления: уникальные ключи для каждого потока. «Это действенный метод предотвращения подобных атак, поскольку анализ разницы во времени оказывается невозможным, а значит, и сама атака - неосуществимой. Но здесь встает вопрос в том, насколько затратной оказывается генерация уникальных ключей», - заключил Алексей Водясов.