Атака по энергопотреблению
Атака по энергопотреблению (англ. power analysis attack, side-channel power attack) — это класс методов криптоанализа, основанных на анализе зависимости между выполняемыми криптографическими или иными вычислительными операциями и мгновенным энергопотреблением устройства. Относится к категории атак по побочным каналам (side-channel attacks), которые эксплуатируют физическую реализацию системы (электромагнитное излучение, время выполнения, тепловыделение, акустические шумы), а не математическую уязвимость алгоритма. Атаки по энергопотреблению представляют серьёзную угрозу для аппаратных реализаций криптографии, особенно в устройствах с ограниченными ресурсами: смарт-картах, RFID-метках, микроконтроллерах, банковских терминалах, аппаратных кошельках для криптовалют.
Принцип действия
Любая цифровая микросхема (например, процессор или ASIC) потребляет электрический ток, величина которого изменяется в зависимости от выполняемых операций. В CMOS-логике основной вклад в энергопотребление вносит переключение транзисторов (заряд и разряд ёмкостей затворов). Разные инструкции (сложение, умножение, чтение из памяти) и разные значения обрабатываемых данных (количество битов, равных единице) приводят к различным, хотя и малым, колебаниям тока.
Злоумышленник, имеющий физический доступ к устройству (или способный измерять его энергопотребление дистанционно через анализ электромагнитного поля), регистрирует сигнал с помощью осциллографа или специализированного оборудования (токоизмерительный шунт, датчик Холла). Полученная последовательность измерений (трасса энергопотребления) синхронизируется с выполняемыми операциями (например, с моментами начала шифрования). Затем трасса анализируется статистическими методами для извлечения секретных данных (ключа).
Классификация
Атаки по энергопотреблению делятся на два основных типа: простые (SPA) и дифференциальные (DPA), а также их модификации.
Простая атака по энергопотреблению (SPA)
Простая атака по энергопотреблению (Simple Power Analysis, SPA) предполагает визуальный или автоматический анализ одной или нескольких трасс энергопотребления без применения статистического усреднения. Цель — выявить крупные структурные особенности алгоритма: последовательность операций, количество итераций цикла, тип выполняемых инструкций.
SPA эффективна против алгоритмов, где ветвление выполнения зависит от секретных данных. Например, в некоторых реализациях RSA возведение в степень по модулю выполняется по схеме «квадрат и умножь»: при значении бита ключа, равном 1, выполняется дополнительная операция умножения. На трассе энергопотребления это проявляется как дополнительный всплеск. Анализируя трассу, злоумышленник может восстановить биты ключа по порядку.
SPA также позволяет определить, какой именно алгоритм выполняется (AES, DES, RSA), и выявить наличие защитных контрмер (например, вставка случайных задержек или дублирование операций).
Дифференциальная атака по энергопотреблению (DPA)
Дифференциальная атака по энергопотреблению (Differential Power Analysis, DPA) — более мощный и статистический метод, разработанный Полом Кохером, Джошуа Яффе и Бенджамином Юном в 1999 году. DPA не требует детального знания алгоритма и может восстанавливать ключ даже при наличии шумов и контрмер.
Метод DPA основан на гипотезе о том, что энергопотребление в определённый момент времени коррелирует с промежуточным значением, зависящим от небольшого фрагмента ключа (например, одного байта). Атакующий:
- Собирает множество (сотни или тысячи) трасс энергопотребления для разных входных данных (открытых текстов).
- Выдвигает гипотезу о значении фрагмента ключа.
- Для каждой гипотезы вычисляет ожидаемое промежуточное значение (например, выход S-блока в AES) и моделирует энергопотребление (например, по весу Хэмминга — количеству единичных битов).
- Разделяет трассы на две группы: те, где моделируемое значение равно 0, и те, где равно 1.
- Вычисляет разность средних энергопотреблений между группами. Если гипотеза верна, разность будет иметь статистически значимый пик в момент обработки этого промежуточного значения. Если гипотеза неверна, разность будет близка к нулю (шум).
- Повторяет для всех возможных значений фрагмента (например, 256 вариантов для байта) и выбирает гипотезу с максимальной корреляцией.
DPA позволяет последовательно восстанавливать все фрагменты ключа, комбинируя их в полный ключ.
Усовершенствованные методы
- Корреляционная атака по энергопотреблению (CPA) — использует коэффициент корреляции Пирсона между измеренным энергопотреблением и моделируемым значением (например, весом Хэмминга), что более устойчиво к шумам, чем DPA.
- Атака по электромагнитному излучению (EMA) — вариант атаки по побочному каналу, где измеряется не ток, а электромагнитное поле, создаваемое микросхемой. EMA может быть более локализованной (выделять отдельные блоки чипа) и менее подверженной помехам от питания.
- Атака по шаблону (Template Attack) — требует предварительной фазы обучения на эталонном устройстве, где строится многомерная статистическая модель (шаблон) энергопотребления для каждого возможного значения ключа. Затем эта модель используется для распознавания ключа на целевом устройстве. Считается одной из самых мощных атак, но требует доступа к идентичному устройству.
- Атака по взаимной информации (Mutual Information Analysis, MIA) — непараметрический метод, не требующий точной модели энергопотребления, основанный на оценке взаимной информации между измерением и гипотезой.
История и развитие
Первые работы по анализу энергопотребления как побочному каналу появились в середине 1990-х годов. В 1996 году Пол Кохер опубликовал исследование о временных атаках на RSA. В 1999 году он же совместно с коллегами представил концепцию SPA и DPA на конференции CRYPTO, что стало поворотным моментом в области аппаратной безопасности.
После публикации Кохера началось активное изучение уязвимости коммерческих продуктов. Было показано, что DPA позволяет вскрывать ключи смарт-карт стандарта ISO 7816, банковских чипов (в том числе EMV), а также аппаратных реализаций AES, DES, RSA, ECC. В ответ индустрия начала внедрять контрмеры.
В 2000-х годах атаки были распространены на более сложные устройства: FPGA, ASIC, процессоры общего назначения. Появились методы CPA, EMA, шаблонные атаки. В 2010-х годах внимание сместилось к встраиваемым системам Интернета вещей (IoT) и мобильным устройствам.
В 2020-х годах атаки по энергопотреблению эволюционировали в сторону машинного обучения: нейронные сети и методы глубокого обучения (DL-SCA) используются для автоматического выделения признаков и анализа трасс, что снижает требования к экспертизе атакующего.
Примеры атак
- Вскрытие AES на смарт-карте. Атакующий подаёт на смарт-карту 1000 случайных блоков открытого текста, измеряет трассы энергопотребления во время шифрования. С помощью DPA или CPA восстанавливает каждый байт ключа за несколько минут.
- Восстановление ключа RSA по SPA. На осциллограмме видны всплески, соответствующие операциям умножения. Подсчитывая их количество и расположение, атакующий получает биты секретного ключа (d).
- Атака на аппаратный кошелёк для биткоина. Измерение энергопотребления во время подписи ECDSA позволяет восстановить закрытый ключ, что даёт доступ к криптовалютным средствам.
- Взлом SIM-карт. В 2013 году группа исследователей (Karsten Nohl, Security Research Labs) продемонстрировала атаку DPA на SIM-карты с алгоритмом DES, что позволило удалённо клонировать карты и перехватывать SMS.
Контрмеры
Защита от атак по энергопотреблению делится на аппаратные и программные методы.
Аппаратные контрмеры
- Сглаживание энергопотребления. Использование стабилизаторов напряжения, конденсаторов, фильтров, которые сглаживают колебания тока, делая трассу более равномерной.
- Случайный шум. Встроенные генераторы шума (например, на основе диодов) добавляют случайные флуктуации к измеряемому сигналу, затрудняя статистический анализ.
- Экранирование. Металлические экраны, заливка компаундом, использование корпусов, затрудняющих доступ к измерительным точкам.
- Сбалансированная логика. Применение дифференциальных логических схем (например, SABL, WDDL), где каждый бит данных представлен парой проводников, а энергопотребление не зависит от значения бита.
- Дублирование и рандомизация операций. Вставка фиктивных циклов, перестановка порядка операций, использование случайных задержек.
Программные контрмеры
- Маскирование (blinding). Разделение секретных данных на несколько случайных частей (масок), которые обрабатываются отдельно, а затем объединяются. Энергопотребление каждой части не коррелирует с оригинальным значением.
- Скремблирование порядка операций. Перемешивание байтов ключа или порядка выполнения раундов.
- Постоянное время выполнения. Устранение условных переходов, зависящих от данных (например, замена ветвления на маскированные вычисления).
- Проверка целостности. Включение в алгоритм этапов самодиагностики, которые выявляют аномалии в энергопотреблении (например, обнаружение отклонений от ожидаемого профиля).
Значение и критика
Атаки по энергопотреблению кардинально изменили подход к проектированию защищённых систем. До их открытия считалось, что криптографические алгоритмы (например, AES) математически стойки, и безопасность обеспечивается только секретностью ключа. DPA показала, что физическая реализация может быть слабее алгоритма. Это стимулировало развитие области аппаратной безопасности: появление стандартов Common Criteria (EAL4+), FIPS 140-3, внедрение требований к устойчивости к атакам по побочным каналам в сертификационных схемах.
Критика методов связана с их практической применимостью: для успешной DPA требуется физический доступ к устройству (или возможность дистанционного измерения с высокой точностью), что ограничивает угрозу для большинства потребительских устройств. Однако в контексте смарт-карт, банкоматов, платежных терминалов и аппаратных криптокошельков угроза реальна. Также критикуется сложность и стоимость внедрения контрмер, особенно для массовых недорогих устройств IoT.
Интересные факты
- В 2019 году исследователи из Университета штата Пенсильвания показали, что атака DPA возможна даже на процессоры общего назначения (Intel Core i7) при измерении энергопотребления через USB-порт.
- В 2021 году группа из Университета Алабамы в Бирмингеме продемонстрировала восстановление ключа AES с помощью анализа акустического шума (акустическая атака по побочному каналу), что является вариантом атаки по энергопотреблению, но через звуковые колебания.
- Некоторые производители смарт-карт (например, NXP, Infineon) специально проектируют чипы с встроенными датчиками, которые обнаруживают попытки измерения энергопотребления и стирают ключи.
Источники
- Kocher, P., Jaffe, J., Jun, B. (1999). "Differential Power Analysis". CRYPTO'99.
- Mangard, S., Oswald, E., Popp, T. (2007). "Power Analysis Attacks: Revealing the Secrets of Smart Cards". Springer.
- Standaert, F.-X. (2010). "Introduction to Side-Channel Attacks". In: Secure Integrated Circuits and Systems.
- Nohl, K. (2013). "Rooting SIM Cards". Security Research Labs.
- ГОСТ Р 53113.1-2008. "Информационная технология. Защита информации. Атаки по побочным каналам. Общие положения".
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →