Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

В эталонной реализации механизма инкапсуляции ключей (KEM) обнаружена уязвимость, позволяющая получить секретные данные через атаку по стороннему каналу. Опасная проблема Kyber, виновником которой оказался компилятор, уже устранена.

Американский институт стандартов и технологий (NIST) собирается стандартизировать Kyber как ML-KEM, пригодный для квантово-устойчивого шифрования. Однако даже самый криптостойкий алгоритм может оказаться неэффективным, если его реализация содержит уязвимости, и такой подводный камень обнаружили в PQShield.

Выявленная уязвимость может проявиться, когда компилятор — в данном случае Clang — оптимизирует код. Как оказалось, он при этом порождает в функции poly_frommsg переход, зависящий от обрабатываемого секрета.

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

Для этого, по словам экспертов, достаточно просто измерить время, за которое совершается декапсуляция. PoC-код, созданный в PQShield для машин с архитектурой x86, успешно эксплойтит тайминг-уязвимость и позволяет получить ключ ML-KEM 512 менее чем за 10 минут.

Исследователям удалось найти противоядие, объединив усилия с командой Kyber. Ненадежное условное перемещение было реализовано как функция в отдельном файле, и Clang, встретив флаг условия, переставал модифицировать код.

Об опасной находке были извещены авторы проектов на базе Kyber, в частности, liboqs, aws-lc, pq-code-package, WolfSS, PQClean и rustpq/pqcrypto. Исследователи не исключают, что уязвимыми могут оказаться даже библиотеки, не использующие функцию poly_frommsg.

В конце прошлого года в некоторых реализациях KEM были выявлены уязвимости, тоже грозящие раскрытием криптоключей через тайминг-атаку. Им было присвоено общее имя KyberSlash.

Подпишитесь на новости

В 5G-смартфоны хотят поселить Кузнечика, но модемы пока не готовы

Надписи «поддерживает 5G» для российского рынка в перспективе может оказаться мало. Минцифры подготовило проект требований, по которым смартфоны в отечественных сетях пятого поколения должны поддерживать российский алгоритм шифрования «Кузнечик».

Срок — 1 марта 2032 года: производителям предлагают заранее подготовиться. О проекте сообщает РБК.

Пока это инициатива, не утверждённое правило. Длинный переходный период нужен для появления совместимых устройств.

Главная загвоздка находится внутри смартфона. Как объясняют опрошенные эксперты, шифрованием радиоканала занимается модем, а используемые чипы Qualcomm и Unisoc российский алгоритм не поддерживают.

Просто поменять сим-карту не получится: для массового внедрения нужна аппаратная поддержка.

По оценке главы «Сигналтека» Алексея Алясева, поддержка в телефонах может появиться не раньше 2030 года. Доработка базовых станций для шифрования радиоканала тоже потребует времени и денег.

При этом объявлять нынешним смартфонам цифровую пенсию рано. В Минцифры заявили, что зарубежные устройства без российского шифра смогут работать в 5G как обычно.

Базовая станция должна включать отечественное шифрование, только если его поддерживает телефон. Порядок применения требований после 2032 года, включая уже купленные аппараты, ещё уточнят.

Напомним, 5G на частоте 4,9 ГГц в России пока ограничивается пилотными зонами.

RSS: Новости на портале Anti-Malware.ru