Они представили метод клонирования ключей токенов на чипах NXP.

Исследователи безопасности NinjaLab разработали новую атаку боковой канал (CVE-2021-3011) для клонирования ключей ECDSA, хранящихся на USB-токенах на базе чипов NXP.

Атака продемонстрировано для токенов двухфакторной аутентификации Google Titan основан на чипе NXP A700X, но теоретически применяется к крипто-токенам Yubico и Feitian, использующим один и тот же чип.

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

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

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

Для ECDSA, определить даже несколько бит с информацией по вектору инициализации (nonce) достаточно провести атаку и последовательно восстановить весь приватный ключ. Для восстановления секретного ключа в токене Google Titan достаточно проанализировать около 6.000 операций с цифровой подписью на основе ключа ECDSA, используемого для двухфакторной аутентификации FIDO U2F при подключении к учетной записи Google.

Чтобы найти слабые места в реализации алгоритма ECDSA на чипах NXP ECDSA, использовалась открытая платформа для создания смарт-карт NXP J3D081 (JavaCard), который очень похож на чипы NXP A700X и использует идентичную криптографическую библиотеку, но в то же время предоставляет больше возможностей для изучения работы движка ECDSA. Чтобы получить ключ JavaCard, достаточно было проанализировать около 4000 операций.

Чтобы осуществить атаку, у вас должен быть физический доступ к токену, то есть токен должен быть доступен злоумышленнику для расследования в течение длительного времени. Кроме того, чип бронирован алюминиевым экраном, поэтому корпус необходимо разбирать, что затрудняет скрытие следов атаки, например, токены Google Titan запечатаны в пластик и не могут быть разобраны без видимых следов. (As вариант, предлагается распечатать на 3D принтере нового корпуса).

На получение ключа уходит около 6 часов. учетной записи FIDO U2F и требует примерно Еще 4 часа на разборку и сборку жетона.

Для атаки также требуется довольно дорогое оборудование.стоимостью около 10 XNUMX евро, навыки реверс-инжиниринга микросхем и специального программного обеспечения, не распространяемого публично (возможность атаки подтверждена Google и NXP).

Во время атаки Измерительный комплекс Langer ICR HH 500-6 для тестирования микросхем для электромагнитной совместимости усилитель Langer BT 706, микроманипулятор Thorlabs PT3 / M с разрешением 10 мкм и четырехканальный осциллограф PicoScope 6404D.

В качестве метода, реализованного на стороне сервера для частичной защиты от использования клонированных токенов для двухфакторной аутентификации, предлагается использовать механизм счетчика, описанный в спецификации FIDO U2F.

Стандарт FIDO U2F изначально подразумевает наличие единого набора ключей, что связано с тем, что протокол поддерживает только две основные операции: регистрацию и аутентификацию.

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

Операция аутентификации на стороне токена создает цифровую подпись ECDSA для данных, передаваемых сервером, которая затем может быть проверена на сервере с использованием открытого ключа. Закрытый ключ всегда остается в токене и не может быть скопирован, поэтому, если необходимо привязать новый токен, создается новая пара ключей, а старый ключ помещается в список отозванных ключей.

источник: https://ninjalab.io


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.