Корреляционная атака по энергопотреблению
Корреляционная атака по энергопотреблению (англ. Correlation Power Analysis, CPA) — это метод криптоанализа, относящийся к классу атак по сторонним каналам (side-channel attacks), который позволяет извлекать секретные ключи или иные конфиденциальные данные из криптографических устройств путём статистического анализа зависимости между мгновенным энергопотреблением устройства и обрабатываемыми данными. В отличие от простого анализа энергопотребления (Simple Power Analysis, SPA), CPA использует математический аппарат корреляции для выявления слабых, но статистически значимых связей, что делает её эффективной даже при наличии шумов и противодействующих контрмер.
История развития
Метод корреляционной атаки по энергопотреблению был впервые предложен в 1999 году группой исследователей во главе с Полом Кохером (Paul Kocher), Джошуа Яффе (Joshua Jaffe) и Бенджамином Юном (Benjamin Jun) в рамках работы над дифференциальным анализом энергопотребления (Differential Power Analysis, DPA). В 2004 году Эрик Бриер (Eric Brier), Кристоф Клавиер (Christophe Clavier) и Фрэнсис Оливье (Francis Olivier) формализовали корреляционный подход, основанный на вычислении коэффициента корреляции Пирсона между измеренными трассами энергопотребления и предсказанными моделями. С тех пор CPA стал одним из наиболее распространённых и мощных инструментов в арсенале криптоаналитиков, особенно для атак на устройства с открытым исполнением, такие как смарт-карты, микроконтроллеры и аппаратные модули безопасности (HSM).
Физические принципы
Энергопотребление как информационный канал
Энергопотребление цифровых микросхем, в частности КМОП-транзисторов, зависит от переключения логических состояний. Каждое изменение бита (с 0 на 1 или с 1 на 0) вызывает кратковременный всплеск тока, пропорциональный ёмкости нагрузки и частоте переключения. В результате мгновенное энергопотребление устройства оказывается коррелированным с обрабатываемыми данными. Например, при выполнении операции XOR в алгоритме шифрования AES количество переключений в регистре может зависеть от значения ключа и открытого текста.
Модели утечки
Для проведения CPA необходимо построить модель, предсказывающую энергопотребление на основе гипотезы о значении части ключа. Наиболее распространённые модели:
- Модель Хэмминга (Hamming weight model): предполагает, что энергопотребление пропорционально количеству единичных битов в обрабатываемом слове. Используется для устройств, где энергопотребление слабо зависит от предыдущего состояния.
- Модель расстояния Хэмминга (Hamming distance model): учитывает количество переключений битов между двумя последовательными состояниями. Более точна для последовательных операций, например, в регистрах сдвига.
- Модель переключения (transition model): учитывает не только количество, но и направление переключений (0→1 или 1→0), что может быть актуально для некоторых типов логики.
Методология атаки
Этапы проведения CPA
- Сбор трасс энергопотребления: С помощью осциллографа или специализированного оборудования (например, платы ChipWhisperer) записываются временные ряды напряжения или тока при многократном выполнении криптографической операции (например, шифрования одного и того же открытого текста с разными ключами или одного ключа с разными текстами). Количество трасс может варьироваться от нескольких сотен до десятков тысяч в зависимости от уровня шума и контрмер.
- Выбор точки атаки: Определяется конкретная операция, в которой промежуточное значение данных зависит от небольшой части ключа (например, байта). Для AES часто выбирается операция SubBytes (замена байта через S-box) на первом раунде.
- Построение гипотез: Для каждого возможного значения целевого байта ключа (от 0 до 255) вычисляется предсказанное значение энергопотребления по выбранной модели (например, вес Хэмминга результата SubBytes).
- Корреляционный анализ: Для каждой временной точки трассы вычисляется коэффициент корреляции Пирсона между измеренными значениями энергопотребления и предсказанными значениями для всех гипотез. Гипотеза, дающая наибольший абсолютный коэффициент корреляции в некоторой временной точке, считается верной.
- Повторение для остальных байтов: Процедура повторяется для каждого байта ключа, что позволяет восстановить полный ключ.
Математическая основа
Коэффициент корреляции Пирсона \( r \) между двумя выборками \( X \) (измеренные значения) и \( Y \) (предсказанные значения) вычисляется по формуле:
\[ r = \frac{\sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n} (X_i - \bar{X})^2} \sqrt{\sum_{i=1}^{n} (Y_i - \bar{Y})^2}} \]
где \( n \) — количество трасс, \( \bar{X} \) и \( \bar{Y} \) — средние значения. Значение \( r \) лежит в диапазоне от -1 до 1. Для правильной гипотезы ожидается значимая корреляция (обычно \( |r| > 0.1 \) при достаточном количестве трасс), в то время как для неправильных гипотез корреляция стремится к нулю.
Применение
Целевые устройства
CPA эффективна против широкого круга устройств, где возможен прямой доступ к шине питания или электромагнитному излучению:
- Смарт-карты: классическая цель, так как они имеют открытый контакт питания и выполняют криптографические операции в изолированной среде.
- Микроконтроллеры: встраиваемые системы, например, в банкоматах, считывателях RFID-меток, IoT-устройствах.
- FPGA и ASIC: аппаратные реализации криптоалгоритмов, особенно в криптовалютных кошельках и модулях HSM.
- Мобильные устройства: атаки на процессоры смартфонов (например, через USB-порт или беспроводной канал).
Примеры успешных атак
- В 2008 году исследователи продемонстрировали полное восстановление 128-битного ключа AES с использованием CPA на смарт-карте Infineon SLE66 при 3000 трассах.
- В 2015 году команда из Университета Тель-Авива провела CPA на процессор ARM Cortex-M3, используя электромагнитное излучение, и восстановила ключ за 1000 измерений.
- В 2020 году атака на реализацию RSA в микроконтроллере STM32 показала возможность извлечения закрытого ключа при 5000 трассах.
Контрмеры
Аппаратные контрмеры
- Дублирование логики: использование дифференциальной логики (например, SABL — Sense Amplifier Based Logic), где энергопотребление каждого бита сбалансировано.
- Экранирование: добавление металлических экранов для снижения электромагнитного излучения.
- Генераторы шума: встроенные схемы, создающие случайные флуктуации напряжения, маскирующие полезный сигнал.
Алгоритмические контрмеры
- Маскирование (masking): разделение промежуточных значений на несколько случайных долей, так что ни одна доля не коррелирует с секретными данными. Например, в AES применяется маскирование S-box с помощью случайных чисел.
- Сглаживание энергопотребления: вставка фиктивных операций (dummy operations) или изменение порядка выполнения, чтобы усреднить энергопотребление.
- Случайные задержки: введение непредсказуемых пауз в выполнение кода, что затрудняет синхронизацию трасс.
Программные контрмеры
- Постоянное время выполнения: устранение зависимостей времени выполнения от данных (например, использование константных циклов).
- Перестановка раундов: случайное изменение порядка выполнения раундов шифрования.
Критика и ограничения
Корреляционная атака по энергопотреблению имеет ряд ограничений:
- Требует физического доступа: для сбора трасс необходимо либо подключение к устройству, либо близкое расположение (например, для электромагнитного анализа).
- Чувствительность к шумам: при высоком уровне шума или эффективных контрмерах количество необходимых трасс может превышать практические возможности (например, миллионы).
- Зависимость от модели: неверный выбор модели утечки (например, использование модели Хэмминга вместо расстояния Хэмминга) может привести к ложным результатам.
- Ограниченность по времени: атака требует синхронизации трасс, что затруднено при наличии случайных задержек или многопоточности.
Тем не менее, CPA остаётся одним из наиболее эффективных методов анализа, особенно в сочетании с другими методами, такими как дифференциальный анализ (DPA) или анализ по времени.
Интересные факты
- В 2011 году исследователи из Университета Карнеги-Меллон показали, что CPA может быть проведена удалённо через анализ электромагнитного излучения, улавливаемого с расстояния до 1 метра.
- В 2018 году был опубликован открытый проект ChipWhisperer, предоставляющий недорогие инструменты для проведения CPA и других атак, что сделало метод доступным для широкого круга исследователей.
- Некоторые реализации криптографических алгоритмов в российских стандартах (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012) также подвержены CPA, если не применяются контрмеры.
Источники
- Kocher P., Jaffe J., Jun B. Differential Power Analysis // Advances in Cryptology — CRYPTO’99. — Springer, 1999. — P. 388–397.
- Brier E., Clavier C., Olivier F. Correlation Power Analysis with a Leakage Model // Cryptographic Hardware and Embedded Systems — CHES 2004. — Springer, 2004. — P. 16–29.
- Mangard S., Oswald E., Popp T. Power Analysis Attacks: Revealing the Secrets of Smart Cards. — Springer, 2007. — 338 p.
- Standaert F.-X. Introduction to Side-Channel Attacks // Secure Integrated Circuits and Systems. — Springer, 2010. — P. 27–42.
- ChipWhisperer Project. Documentation and Tutorials. — NewAE Technology Inc., 2018.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →