stringtranslate.com

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

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

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

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

Фон

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

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

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

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

bool check_password ( const char input []){ const char правильный_пароль [] = "hunter2" ;         if ( strlen ( input ) != strlen ( корректный_пароль )) вернуть false ;      for ( int i = 0 ; i < strlen ( правильный_пароль ); я ++ ) { if ( input [ i ] != правильный_пароль [ i ]) { return 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. ^ П. Кохер, Дж. Яффе, Б. Джун, Анализ дифференциальной мощности, технический отчет, 1998; позже опубликовано в журнале Advances in Cryptology – Crypto 99 Proceedings, Lecture Notes in Computer Science Vol. 1666, М. Винер, изд., Springer-Verlag, 1999.
  2. ^ Пол Кохер, Джошуа Яффе, Бенджамин Джун, «Введение в анализ дифференциальной мощности и связанные с ним атаки (1998)»
  3. ^ "Домашняя страница - Кибер-пиратство: Правда" . Архивировано из оригинала 13 ноября 2002 г.
  4. ^ «Платформа анализа рабочих станций DPA» . Рамбус .
  5. ^ ChipWhisperer: платформа с открытым исходным кодом для исследований безопасности встроенного оборудования.
  6. ^ Ксавье Шарве, Эрве Пеллетье, «Улучшение атаки DPA с использованием вейвлет-преобразования (2005). Архивировано 4 марта 2016 г. в Wayback Machine »
  7. ^ Джаспер ван Вуденберг, Марк Виттеман, Брэм Баккер «Улучшение анализа дифференциальной мощности за счет упругого выравнивания (2011)»