Анализ мощности

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

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

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

Фон

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

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

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

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

bool check_password ( const char input []) { const char correct_password [] = "hunter2" ;         если ( strlen ( input ) != strlen ( correct_password )) вернуть false ;      для ( int i = 0 ; i < strlen ( правильный_пароль ); i ++ ) { если ( input [ i ] != правильный_пароль [ i ]) { вернуть false ; } }                  вернуть истину ; } 

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

Аналогично, операции возведения в квадрат и умножения в реализациях 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]

Ссылки

  1. ^ P. Kocher, J. Jaffe, B. Jun, Differential Power Analysis, технический отчет, 1998; позднее опубликовано в Advances in Cryptology – Crypto 99 Proceedings, Lecture Notes in Computer Science Vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
  2. ^ Пол Кохер, Джошуа Джаффе, Бенджамин Джун, «Введение в дифференциальный анализ мощности и связанные с ним атаки (1998)»
  3. ^ "Домашняя страница - Киберпиратство: Правда". Архивировано из оригинала 2002-11-13.
  4. ^ «Платформа анализа рабочих станций DPA» . Рамбус .
  5. ^ ChipWhisperer: Платформа с открытым исходным кодом для исследования безопасности встроенных аппаратных средств
  6. ^ Ксавье Шарве, Эрве Пеллетье, «Улучшение атаки DPA с использованием вейвлет-преобразования (2005) Архивировано 04.03.2016 на Wayback Machine »
  7. ^ Джаспер ван Вуденберг, Марк Виттеман, Брэм Баккер «Улучшение анализа дифференциальной мощности за счет упругого выравнивания (2011)»
Взято с "https://en.wikipedia.org/w/index.php?title=Анализ_мощности&oldid=1250410599"