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

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

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

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

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

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

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

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

bool check_password(const char Вход[]){  const char правильно_пароль[] = "охотник2";   если (Strlen(Вход) != Strlen(правильно_пароль)) возвращаться ложный;   за (int я = 0; я < Strlen(правильно_пароль); я++){       если (Вход[я] != правильно_пароль[я]) {           возвращаться ложный;       }   }   возвращаться истинный;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Патенты

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

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

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

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