Анализ мощности - Power analysis

Схема дифференциального анализа мощности.
Наблюдение за ключевыми битами RSA с использованием анализа мощности: левый пик показывает энергопотребление на этапе возведения в квадрат , правый (более широкий) пик показывает этап умножения, позволяя различать биты 0 и 1 экспоненты.

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

Анализ мощности - это форма атаки по побочному каналу, при которой злоумышленник изучает энергопотребление криптографического аппаратного устройства. Эти атаки основаны на основных физических свойствах устройства: полупроводниковые устройства регулируются законами физики, согласно которым изменения напряжения внутри устройства требуют очень небольших перемещений электрических зарядов (токов). Измеряя эти токи, можно получить небольшой объем информации о обрабатываемых данных.

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

Простой анализ мощности

Простой анализ мощности ( SPA ) - это атака по побочному каналу, которая включает визуальное изучение графиков тока, используемого устройством во времени. Изменения в энергопотреблении возникают из-за того, что устройство выполняет различные операции. Например, разные инструкции, выполняемые микропроцессором, будут иметь разные профили энергопотребления.

Кодовый поток, который зависит от секретного значения, таким образом, приведет к утечке кодового потока через мониторинг энергопотребления (и, таким образом, также будет утечка секретного значения). В качестве простого примера рассмотрим проверку пароля следующим образом:

bool check_password(const char input[]){
  const char correct_password[] = "hunter2";

   if (strlen(input) != strlen(correct_password)) return false;

   for (int i = 0; i < strlen(correct_password); i++){
       if (input[i] != correct_password[i]) {
           return false;
       }
   }

   return true;
}

Эта проверка пароля потенциально содержит атаку по времени , поскольку время выполнения не является постоянным. Однако функция может не выводить пользователю пригодный для использования результат, например, может существовать компенсирующая задержка перед возвратом ответа. Наблюдение за потребляемой мощностью позволит понять количество выполненных циклов.

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

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

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

Дифференциальный анализ мощности высокого порядка

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

Анализ мощности и алгоритмическая безопасность

Анализ мощности дает возможность «заглянуть внутрь», иначе «защищенное от взлома» оборудование. Например, расписание ключей DES включает ротацию 28-битных регистров ключей. Многие реализации проверяют младший бит, чтобы узнать, равен ли он 1. Если это так, устройство сдвигает регистр вправо и добавляет 1 к левому концу. Если бит равен нулю, регистр сдвигается вправо без добавления 1. Анализ мощности может различать эти процессы, позволяя противнику определять биты секретного ключа.

Реализации таких алгоритмов, как AES и тройной DES , которые считаются математически сильными, могут быть тривиально взломаны с использованием атак анализа мощности. В результате атаки с анализом мощности сочетают в себе элементы алгоритмического криптоанализа и безопасности реализации.

Стандарты и практические аспекты безопасности

Для приложений, где устройства могут попасть в физическое владение злоумышленником, защита от анализа мощности обычно является основным требованием к проектированию. Сообщается, что анализ мощности также использовался в отношении модулей условного доступа, используемых в системах платного телевидения.

Оборудование, необходимое для проведения атак с анализом мощности, широко доступно. Например, большинство осциллографов с цифровым запоминающим устройством обеспечивают необходимые функции сбора данных, а анализ данных обычно выполняется с использованием обычных компьютеров. Также доступны коммерческие продукты, предназначенные для испытательных лабораторий. Проект ChipWhisperer с открытым исходным кодом был первым полным набором инструментов аппаратного и программного обеспечения с открытым исходным кодом для экспериментов по анализу мощности.

Предотвращение простых и дифференциальных атак с анализом мощности

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

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

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

Патенты

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

Некоторые компании, такие как RamBus, заявляют права интеллектуальной собственности на механизмы защиты DPA.

Рекомендации

  1. ^ П. Кочер, Дж. Джаффе, Б. Джун, Дифференциальный анализ мощности , технический отчет, 1998; позже опубликовано в журнале «Достижения криптологии - Crypto 99 Proceedings, Lecture Notes in Computer Science Vol. 1666, М. Винер, изд., Springer-Verlag, 1999.
  2. ^ Пол Кочер, Джошуа Джаффе, Бенджамин Джун, « Введение в дифференциальный анализ мощности и связанные атаки (1998) »
  3. ^ «Домашняя страница - Киберпиратство: правда» . Архивировано из оригинала на 2002-11-13.
  4. ^ "Платформа анализа рабочих станций DPA" . Рамбус .
  5. ^ ChipWhisperer: платформа с открытым исходным кодом для исследования встроенной аппаратной безопасности
  6. ^ Xavier Charvet, Herve Пельтье, " Улучшение атаки DPA с использованием вейвлет - преобразования (2005) в архив 2016-03-04 в Wayback Machine "
  7. ^ Джаспер ван Вуденберг, Марк Виттеман, Брэм Баккер « Улучшение анализа дифференциальной мощности с помощью упругого выравнивания (2011) »
  8. ^ «Лицензированные меры противодействия» . Рамбус .