Ряд имплементаций Kyber, механизма инкапсуляции ключа (KEM), который используют для квантово-устойчивого шифрования, содержит несколько уязвимостей, объединённых под именем «KyberSlash». Эксплуатация позволяет восстановить секретные ключи.
CRYSTALS-Kyber, официальная имплементация Kyber и часть набора CRYSTALS, предназначена для общего шифрования. Национальный институт стандартов и технологий США (NIST) включил её в набор алгоритмов, предназначенных для отражения атак с квантовых компьютеров.
Имплементации Kyber используют, например, мессенджер Signal и Mullvad VPN. Кстати, в сентябре разработчики Signal ввели квантово-устойчивое шифрование PQXDH.
Эксплуатация выявленных уязвимостей KyberSlash является классической тайминг-атакой и завязана на методе обработки определённых операций деления в процессе декапсуляции.
Бреши позволяют условному злоумышленнику проанализировать время выполнения и вытащить секреты, которые могут привести к компрометации шифрования.
Если реализующая Kyber служба допускает несколько запросов к одной паре ключей, атакующий может вычислить разницу во времени и постепенно извлечь секретный ключ.
На проблемные куски кода, ответственные за наличие уязвимостей KyberSlash (KyberSplash1 и KyberSplash2) указали специалисты Cryspen. Эксперты даже записали пробную эксплуатацию KyberSlash1 на системе Raspberry Pi, по результатам которой удалось восстановить секретный ключ Kyber в двух из трёх попыток.
Выявив наличие KyberSlash1 в конце ноября, исследователи сразу же сообщили о проблеме разработчикам Kyber. Последние же выпустили патч 1 декабря 2023 года.
Тем не менее остались и непропатченные проекты, со списком которых можно ознакомиться по этой ссылке.