Выявлен метод клонирования ключей из криптографических токенов на базе чипов NXP
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Исследователи безопасности из компании NinjaLab разработали новый вид атаки по сторонним каналам (CVE-2021-3011), позволяющей клонировать ECDSA-ключи, хранимые в USB-токенах на базе чипов NXP. Атака продемонстрирована для токенов двухфакторной аутентификции Google Titan на базе чипа NXP A700X, но теоретически применима и для криптографических токенов Yubico и Feitian, использующих тот же чип.
Предложенный метод позволяет атакующему воссоздать хранимые в токене ключи ECDSA на основе данных, полученных через анализ электромагнитного сигнала, излучаемого токеном во время генерации цифровых подписей. Исследователи показали, что электромагнитный сигнал коррелирует с информацией об эфемерном ключе ECDSA, которой достаточно для восстановления секретного ключа с использованием методов машинного обучения.
В частности, характер изменения сигнала позволяет выделить информацию об отдельных битах во время выполнения умножения на скаляр при операциях с эллиптической кривой. Для ECDSA определения даже нескольких битов с информацией о векторе инициализации (nonce) достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для восстановления секретного ключа в токене Google Titan достаточно анализа около 6000 операций с цифровыми подписями на основе ключа ECDSA, используемых для двухфакторной аутентификации FIDO U2F при подключении к учётной записи Google.
Для поиска слабых мест в реализации алгоритма ECDSA в чипах NXP ECDSA использовалась открытая платформа для создания смарткарт NXP J3D081 (JavaCard), которая очень похожа на чипы NXP A700X и использует идентичную криптографическую библиотеку, но при этом предоставляет больше возможностей для изучения работы движка ECDSA. Для восстановления ключа из JavaCard оказалось достаточно анализа около 4000 операций.
Для проведения атаки необходимо наличие физического доступа к токену, т.е. токен на длительное время должен оказаться доступен для исследования атакующим. Более того, чип экранирован алюминиевым экраном, поэтому требуется разбор корпуса, что затрудняет скрытие следов атаки, например, токены Google Titan запаяны в пластик и без видимых следов разобрать их не получится (как вариант предлагается печать на 3D-принтере нового корпуса). На восстановления ключа для одной учётной записи FIDO U2F необходимо около 6 часов плюс ещё около 4 часов требуется для разборки и сборки токена.
Для атаки также требуется достаточно дорогое оборудование, стоимостью приблизительно 10 тысяч евро, навыки по реверс инжинирингу микросхем и специальное программное обеспечение, которое публично не распространяется (возможность атаки подтверждена Google и NXP). В процессе атаки использовался измерительный комплекс Langer ICR HH 500-6, применяемый для испытаний микросхем на электромагнитную совместимость, усилитель Langer BT 706, микроманипулятор Thorlabs PT3/M с разрешением 10 мкм и четырёхканальный осциллограф PicoScope 6404D.
В качестве реализуемого на стороне сервера метода для частичной защиты от применения клонированных токенов при двухфакторной аутентификции предлагается использовать механизм счётчиков, описанный в спецификации FIDO U2F. Стандарт FIDO U2F изначально подразумевает наличие только одного набора ключей, что обусловлено тем, что протокол поддерживает только две базовые операции - регистрация и аутентификация.
На стадии регистрации генерируется новая пара ключей, закрытый ключ сохраняется в токене, а открытый передаётся на сервер. Операция аутентификации на стороне токена создаёт цифровую подпись ECDSA для переданных сервером данных, которая затем может быть проверена на сервере при помощи открытого ключа. Закрытый ключ всегда остаётся в токене и не может быть скопирован, поэтому при необходимости привязки нового токена создаётся новая пара ключей, а старый ключ помещается в список отозванных ключей.
Суть предлагаемого в FIDO U2F механизма защиты от клонирования ключей в том, что токен ведёт счётчик выполненных операций и передаёт его на сервер, который сравнивает переданное значение и значение, сохранённое при выполнении прошлой операции с тем же токеном. Если переданное значение оказалось меньше сохранённого, то делается вывод о наличии нескольких устройств с идентичной парой ключей. Данный механизм уже используется при аутентификации в сервисах Google и позволяет блокировать учётные записи при выявлении активности с клонированных токенов.
Среди подверженных атаке продуктов отмечены:
- Google Titan Security Key
- Yubico Yubikey Neo
- Feitian FIDO NFC USB-A / K9
- Feitian MultiPass FIDO / K13
- Feitian ePass FIDO USB-C / K21
- Feitian FIDO NFC USB-C / K40
- NXP J3D081_M59_DF
- NXP J3A081
- NXP J2E081_M64
- NXP J3D145_M59
- NXP J3D081_M59
- NXP J3E145_M64
- NXP J3E081_M64_DF
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://ninjalab.io/a-side-jou...)
- OpenNews: Google представил открытый проект OpenTitan для создания заслуживающих доверия чипов
- OpenNews: Google представил открытый стек OpenSK для создания криптографических токенов
- OpenNews: Новая техника атаки по сторонним каналам, позволяющая восстановить ключи ECDSA
- OpenNews: Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях
- OpenNews: Google, SiFive и WD основали альянс для продвижения открытых чипов и SoC
Похожие новости:
- [Законодательство в IT, Облачные сервисы, История IT, Социальные сети и сообщества, IT-компании] Parler в осаде: Apple и Google удалили приложение, Amazon собирается отключить соцсеть от хостинга
- [Google Chrome, Браузеры, Законодательство в IT] Британское правительство открыло расследование действий Google со сторонними куки в Chrome
- [Информационная безопасность, Тестирование веб-сервисов] Атаки на JSON Web Tokens
- [Firefox, Google Chrome, Расширения для браузеров, Браузеры] Самые упоротые и забавные расширения для браузера: подборка
- [Ненормальное программирование, JavaScript, Google Chrome, PDF] Пугающие эксперименты с PDF: запускаем «Арканоид» в документе (перевод)
- [Карьера в IT-индустрии, IT-компании] У сотрудников Google появился профсоюз
- [Информационная безопасность, Google Chrome, Браузеры, Софт] Простые правила IT-гигиены
- [Поисковые технологии, Алгоритмы, Поисковая оптимизация, Копирайт] В 2020 году трафик пиратских сайтов резко упал из-за нового алгоритма Google
- Атаковавшие SolarWinds смогли получить доступ к коду Microsoft
- [Исследования и прогнозы в IT, История IT, Будущее здесь, IT-компании] Технологические итоги 2020 года: от всеобщей удаленки до запуска Spotify в России
Теги для поиска: #_nxp, #_google, #_titan, #_token, #_attack
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:41
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Исследователи безопасности из компании NinjaLab разработали новый вид атаки по сторонним каналам (CVE-2021-3011), позволяющей клонировать ECDSA-ключи, хранимые в USB-токенах на базе чипов NXP. Атака продемонстрирована для токенов двухфакторной аутентификции Google Titan на базе чипа NXP A700X, но теоретически применима и для криптографических токенов Yubico и Feitian, использующих тот же чип. Предложенный метод позволяет атакующему воссоздать хранимые в токене ключи ECDSA на основе данных, полученных через анализ электромагнитного сигнала, излучаемого токеном во время генерации цифровых подписей. Исследователи показали, что электромагнитный сигнал коррелирует с информацией об эфемерном ключе ECDSA, которой достаточно для восстановления секретного ключа с использованием методов машинного обучения. В частности, характер изменения сигнала позволяет выделить информацию об отдельных битах во время выполнения умножения на скаляр при операциях с эллиптической кривой. Для ECDSA определения даже нескольких битов с информацией о векторе инициализации (nonce) достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для восстановления секретного ключа в токене Google Titan достаточно анализа около 6000 операций с цифровыми подписями на основе ключа ECDSA, используемых для двухфакторной аутентификации FIDO U2F при подключении к учётной записи Google. Для поиска слабых мест в реализации алгоритма ECDSA в чипах NXP ECDSA использовалась открытая платформа для создания смарткарт NXP J3D081 (JavaCard), которая очень похожа на чипы NXP A700X и использует идентичную криптографическую библиотеку, но при этом предоставляет больше возможностей для изучения работы движка ECDSA. Для восстановления ключа из JavaCard оказалось достаточно анализа около 4000 операций. Для проведения атаки необходимо наличие физического доступа к токену, т.е. токен на длительное время должен оказаться доступен для исследования атакующим. Более того, чип экранирован алюминиевым экраном, поэтому требуется разбор корпуса, что затрудняет скрытие следов атаки, например, токены Google Titan запаяны в пластик и без видимых следов разобрать их не получится (как вариант предлагается печать на 3D-принтере нового корпуса). На восстановления ключа для одной учётной записи FIDO U2F необходимо около 6 часов плюс ещё около 4 часов требуется для разборки и сборки токена. Для атаки также требуется достаточно дорогое оборудование, стоимостью приблизительно 10 тысяч евро, навыки по реверс инжинирингу микросхем и специальное программное обеспечение, которое публично не распространяется (возможность атаки подтверждена Google и NXP). В процессе атаки использовался измерительный комплекс Langer ICR HH 500-6, применяемый для испытаний микросхем на электромагнитную совместимость, усилитель Langer BT 706, микроманипулятор Thorlabs PT3/M с разрешением 10 мкм и четырёхканальный осциллограф PicoScope 6404D. В качестве реализуемого на стороне сервера метода для частичной защиты от применения клонированных токенов при двухфакторной аутентификции предлагается использовать механизм счётчиков, описанный в спецификации FIDO U2F. Стандарт FIDO U2F изначально подразумевает наличие только одного набора ключей, что обусловлено тем, что протокол поддерживает только две базовые операции - регистрация и аутентификация. На стадии регистрации генерируется новая пара ключей, закрытый ключ сохраняется в токене, а открытый передаётся на сервер. Операция аутентификации на стороне токена создаёт цифровую подпись ECDSA для переданных сервером данных, которая затем может быть проверена на сервере при помощи открытого ключа. Закрытый ключ всегда остаётся в токене и не может быть скопирован, поэтому при необходимости привязки нового токена создаётся новая пара ключей, а старый ключ помещается в список отозванных ключей. Суть предлагаемого в FIDO U2F механизма защиты от клонирования ключей в том, что токен ведёт счётчик выполненных операций и передаёт его на сервер, который сравнивает переданное значение и значение, сохранённое при выполнении прошлой операции с тем же токеном. Если переданное значение оказалось меньше сохранённого, то делается вывод о наличии нескольких устройств с идентичной парой ключей. Данный механизм уже используется при аутентификации в сервисах Google и позволяет блокировать учётные записи при выявлении активности с клонированных токенов. Среди подверженных атаке продуктов отмечены:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:41
Часовой пояс: UTC + 5