Атаки KyberSlash ставят под угрозу проекты квантового шифрования

Многие реализации механизма инкапсуляции ключей Kyber для квантово-безопасного шифрования уязвимы к набору недостатков, получивших общее название KyberSlash, которые могут позволить восстановить секретные ключи.

CRYSTALS-Kyber – это официальная реализация механизма инкапсуляции ключей Kyber (KEM) для квантово-безопасного алгоритма (QSA) и часть набора алгоритмов CRYSTALS (Cryptographic Suite for Algebraic Lattices).

Он предназначен для общего шифрования и входит в подборку алгоритмов Национального института стандартов и технологий (NIST), разработанных для противостояния атакам квантовых компьютеров.

Среди популярных проектов, использующих реализацию Kyber, – Mullvad VPN и мессенджер Signal. Последний в прошлом году объявил о принятии CRYSTALS-Kyber KEM в качестве дополнительного слоя, который злоумышленники должны взломать, чтобы вычислить ключи, защищающие коммуникации пользователей.

Дефекты KyberSlash – это атаки по времени, связанные с тем, как Kyber выполняет определенные операции деления в процессе декапсуляции, что позволяет злоумышленникам анализировать время выполнения и извлекать секреты, которые могут скомпрометировать шифрование.

Если сервис, реализующий Kyber, позволяет выполнять несколько запросов операций для одной и той же пары ключей, злоумышленник может измерить разницу во времени и постепенно вычислить секретный ключ.

Проблемные части кода, из которых состоит уязвимости KyberSlash (KyberSplash1 и KyberSplash2), были обнаружены Гоутамом Тамвадой, Картикеяном Бхаргаваном и Францискусом Кифером – исследователями из Cryspen, поставщика инструментов проверки и математически обоснованного программного обеспечения.

В демонстрации KyberSlash1 на системе Raspberry Pi исследователи восстановили секретный ключ Kyber по таймингам расшифровки в двух из трех попыток.

Работа над исправлением ведется

Аналитики компании Cryspen обнаружили KyberSlash1 в конце ноября прошлого года и сообщили об этом разработчикам Kyber, которые выпустили патч для KyberSlash1 1 декабря 2023 года.

Однако исправление не было обозначено как проблема безопасности, и только 15 декабря Cryspen приняла более публичный подход и начала информировать затронутые проекты о необходимости обновить свои реализации Kyber.

30 декабря KyberSlash2 был исправлен после его обнаружения и ответственного сообщения №№2№№

По состоянию на 2 января 2024 года нижеперечисленные списки проектов были идентифицированы как затронутые проблемой и имели следующий статус исправления:

  • pq-crystals/kyber/ref – полностью исправлено
  • symbolicsoft/kyber-k2so – полностью исправлено
  • aws/aws-lc/crypto/kyber, main branch – полностью исправлено
  • zig/lib/std/crypto/kyber_d00.zig – полностью исправлено
  • liboqs/src/kem/kyber – исправлено только для KyberSlash1
  • aws/aws-lc/crypto/kyber, ветка fips-2022-11-02 – исправлено только для KyberSlash1
  • randombit/botan – исправлено только для KyberSlash1
  • mupq/pqm4/crypto_kem/kyber – исправлено только для KyberSlash1
  • antontutoveanu/crystals-kyber-javascript – не исправлено
  • Argyle-Software/kyber – не исправлено
  • debian/src/liboqs/unstable/src/kem/kyber – не исправлено
  • kudelskisecurity/crystals-.go – патча пока нет
  • PQClean/PQClean/crypto_kem/kyber/aarch64 – не исправлено
  • PQClean/PQClean/crypto_kem/kyber/clean – не исправлено
  • rustpq/pqcrypto/pqcrypto-kyber (используется в Signal) – не исправлено

Также, следующие библиотеки помечены как не затронутые, поскольку в них нет подразделений с секретными входами:

  • boringssl/crypto/kyber
  • filippo.io/mlkem768
  • formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/avx2
  • formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref
  • pq-.crystals/kyber/avx2
  • pqclean/crypto_kem/kyber/avx2

Наихудшим сценарием является утечка секретного ключа, но это не означает, что все проекты, использующие Kyber, уязвимы к утечке ключей.

Последствия KyberSlash зависят от реализации Kyber и могут варьироваться в зависимости от практических случаев использования и дополнительных мер безопасности.

Например, Муллвад утверждает, что KyberSlash не влияет на VPN-продукт компании, поскольку они используют уникальные пары ключей для каждого нового туннельного соединения, что делает невозможным проведение серии атак на одну и ту же пару.

BleepingComputer связался с Signal, чтобы узнать о реальном влиянии KyberSlash на ее криптографию и коммуникации пользователей, а также о планах проекта по устранению последствий, но комментарий не был получен.

Сударев Александр Эксперт по безопасности, криптовалютам и умным домам

Люблю технологии и криптовалюты. Создаю свой умный дом и делюсь этим с Вами. Знаю как предотвратить хакерскую атаку, так как немного смыслю в безопасности

Похожие статьи

Комментарии (0)