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

Дифференциальный анализ мощности

Дифференциальный анализ мощности (англ. Differential Power Analysis, DPA) — это класс методов криптоанализа, основанных на статистическом анализе энергопотребления электронного устройства во время выполнения криптографических операций. DPA относится к атакам по сторонним каналам (side-channel attacks) и позволяет извлекать секретные ключи или другие конфиденциальные данные, используя корреляцию между обрабатываемыми данными и мгновенной мощностью, потребляемой устройством.

История

Метод дифференциального анализа мощности был впервые представлен в 1999 году группой исследователей из IBM и Кембриджского университета — Полом Кохером, Джошуа Яффе и Бенджамином Юном. В своей работе «Differential Power Analysis» они продемонстрировали, что простые измерения энергопотребления, усреднённые по множеству криптографических операций, могут выявить статистические зависимости, достаточные для восстановления ключей шифрования. До этого существовали только атаки по времени выполнения (timing attacks) и простые атаки по мощности (Simple Power Analysis, SPA), которые требовали детального знания алгоритма и точных измерений.

Первоначально DPA был продемонстрирован на смарт-картах, которые широко используются в банковских системах, SIM-картах и системах доступа. Однако впоследствии метод был адаптирован для различных типов устройств, включая микроконтроллеры, FPGA, ASIC и даже облачные серверы.

Принцип работы

Основная идея

DPA использует тот факт, что энергопотребление цифрового устройства зависит от обрабатываемых данных. В частности, при переключении транзисторов в CMOS-логике потребляется ток, пропорциональный количеству изменяющихся битов. Если устройство выполняет криптографическую операцию, например, шифрование по алгоритму AES, то на каждом шаге (раунде) обрабатываются промежуточные значения, которые зависят от ключа и открытого текста.

Этапы атаки

  1. Сбор измерений: Злоумышленник записывает множество трасс энергопотребления (например, напряжение на шине питания) для разных входных данных (открытых текстов или шифротекстов). Обычно требуется от нескольких сотен до тысяч измерений.
  2. Выбор точки атаки: Определяется момент времени, в который обрабатывается промежуточное значение, зависящее от небольшой части ключа (например, одного байта). Для этого используется знание алгоритма.
  3. Формирование гипотез: Для каждого возможного значения ключа (например, 256 вариантов для байта) вычисляется ожидаемое промежуточное значение для каждого измерения.
  4. Статистический анализ: Измеренные трассы группируются по значению одного бита (или нескольких битов) промежуточного значения. Для каждой группы вычисляется средняя трасса, а затем разность между группами. Если гипотеза верна, разность будет содержать статистически значимый пик в момент обработки этого бита.
  5. Повторение: Процедура повторяется для всех частей ключа (например, 16 байт для AES-128), после чего полный ключ восстанавливается.

Отличие от SPA

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

Классификация методов

По типу статистической обработки

  • DPA первого порядка: Использует простую разность средних. Требует, чтобы зависимость энергопотребления от данных была линейной.
  • DPA высших порядков: Учитывает комбинации нескольких точек во времени или нескольких битов. Например, для противостояния маскированию (masking) — защитной технике, которая делает энергопотребление независимым от отдельных битов.
  • Корреляционный анализ мощности (CPA): Использует коэффициент корреляции Пирсона между измеренными трассами и моделями энергопотребления (например, модель Хэммингового веса или расстояния). CPA является более мощным и гибким, чем классический DPA.

По объекту атаки

  • Атаки на смарт-карты: Классический случай, где устройство имеет доступное питание и малый размер.
  • Атаки на микроконтроллеры: Встраиваемые системы, IoT-устройства.
  • Атаки на FPGA и ASIC: Специализированные чипы, часто используемые в криптографических ускорителях.
  • Атаки на облачные серверы: В последние годы показано, что DPA может быть проведён удалённо через анализ энергопотребления виртуальных машин или через тепловые каналы.

Применение

Криптоанализ

DPA применяется для взлома широко распространённых алгоритмов:

Защита от DPA

Для противодействия DPA разработаны следующие методы:

  • Маскирование (masking): Разделение промежуточных значений на несколько случайных частей, так что любые отдельные биты не зависят от ключа.
  • Сглаживание энергопотребления: Использование специальных схем, которые делают потребление тока постоянным (например, dual-rail logic).
  • Случайные задержки: Вставка случайных пауз в выполнение операций, чтобы затруднить синхронизацию трасс.
  • Шумогенераторы: Добавление электрического шума в цепь питания.
  • Аппаратные контрмеры: Экранирование, фильтры, использование батарей с внутренним питанием.

Примеры

Атака на AES-128

Для AES-128 ключ состоит из 16 байт. Атака DPA на AES обычно фокусируется на первом раунде, где выполняется операция SubBytes (S-блок). Злоумышленник:

  1. Для каждого из 256 возможных значений байта ключа вычисляет выход S-блока для каждого открытого текста.
  2. Группирует трассы по значению младшего бита (или другого бита) этого выхода.
  3. Вычисляет разность средних. Если гипотеза верна, в момент выполнения SubBytes будет пик.
  4. Повторяет для всех 16 байт.

Атака на RSA

Для RSA атака DPA может быть направлена на модульное возведение в степень. Злоумышленник анализирует энергопотребление при обработке каждого бита секретного ключа, используя корреляцию с промежуточными значениями.

Критика и ограничения

  • Требует физического доступа: Для большинства реализаций DPA необходим непосредственный контакт с устройством (например, подключение к шине питания). Однако существуют методы дистанционного сбора данных через электромагнитное излучение.
  • Высокая стоимость оборудования: Измерения требуют высокоточных осциллографов и усилителей, особенно для современных устройств с низким энергопотреблением.
  • Зависимость от реализации: DPA эффективен только если устройство не имеет контрмер. Защищённые устройства (например, с маскированием) могут потребовать экспоненциально больше измерений.
  • Шум и вариативность: В реальных условиях шум от других компонентов устройства или ошибки синхронизации могут снижать эффективность.

Интересные факты

  • DPA был впервые продемонстрирован на смарт-картах, которые до этого считались безопасными, так как их внутренние процессы были скрыты.
  • Метод DPA лёг в основу стандарта FIPS 140-3, который требует тестирования криптографических модулей на устойчивость к атакам по сторонним каналам.
  • В 2018 году исследователи показали, что DPA может быть проведён с использованием тепловых изображений (thermal imaging), что расширяет возможности атаки.

Источники

  • Kocher, P., Jaffe, J., Jun, B. (1999). "Differential Power Analysis". Proceedings of 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.
  • NIST (2019). "FIPS 140-3: Security Requirements for Cryptographic Modules".

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →