В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Анализ мощности — это форма атаки по сторонним каналам , в которой злоумышленник изучает энергопотребление криптографического аппаратного устройства. Эти атаки основаны на базовых физических свойствах устройства: полупроводниковые устройства подчиняются законам физики, которые гласят, что изменения напряжений внутри устройства требуют очень малых перемещений электрических зарядов (токов). Измеряя эти токи, можно узнать небольшое количество информации о данных, которые подвергаются манипуляциям.
Простой анализ мощности ( 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]