Открыть сервис

Корреляционная атака по энергопотреблению

Корреляционная атака по энергопотреблению (англ. 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

  1. Сбор трасс энергопотребления: С помощью осциллографа или специализированного оборудования (например, платы ChipWhisperer) записываются временные ряды напряжения или тока при многократном выполнении криптографической операции (например, шифрования одного и того же открытого текста с разными ключами или одного ключа с разными текстами). Количество трасс может варьироваться от нескольких сотен до десятков тысяч в зависимости от уровня шума и контрмер.
  1. Выбор точки атаки: Определяется конкретная операция, в которой промежуточное значение данных зависит от небольшой части ключа (например, байта). Для AES часто выбирается операция SubBytes (замена байта через S-box) на первом раунде.
  1. Построение гипотез: Для каждого возможного значения целевого байта ключа (от 0 до 255) вычисляется предсказанное значение энергопотребления по выбранной модели (например, вес Хэмминга результата SubBytes).
  1. Корреляционный анализ: Для каждой временной точки трассы вычисляется коэффициент корреляции Пирсона между измеренными значениями энергопотребления и предсказанными значениями для всех гипотез. Гипотеза, дающая наибольший абсолютный коэффициент корреляции в некоторой временной точке, считается верной.
  1. Повторение для остальных байтов: Процедура повторяется для каждого байта ключа, что позволяет восстановить полный ключ.

Математическая основа

Коэффициент корреляции Пирсона \( 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 →