Введение
Форма атаки по сторонним каналам: анализ мощности в статистике
power analysis in statistics
Анализ мощности — это форма атаки по сторонним каналам, при которой злоумышленник изучает энергопотребление криптографического аппаратного устройства. Эти атаки основаны на фундаментальных физических свойствах устройства: полупроводниковые устройства подчиняются законам физики, которые определяют, что изменения напряжения внутри устройства требуют очень небольших перемещений электрических зарядов (токов). Измеряя эти токи, можно получить небольшую порцию информации о обрабатываемых данных. Простой анализ мощности (SPA) предполагает визуальную интерпретацию графиков потребления энергии, или графиков электрической активности во времени. Дифференциальный анализ мощности (DPA) — это более продвинутая форма анализа мощности, позволяющая злоумышленнику вычислять промежуточные значения в криптографических вычислениях посредством статистического анализа данных, собранных в ходе множественных криптографических операций. SPA и DPA были представлены криптографическому сообществу в 1998 году Полом Кохером, Джошуа Джаффе и Бенджамином Джуном.
Предыстория
В криптографии атака по сторонним каналам используется для извлечения секретных данных из защищенного устройства (например, смарт-карты, защищенного от взлома "черного ящика" или интегральной схемы). Анализ сторонних каналов обычно направлен на неинвазивное извлечение криптографических ключей и другой секретной информации из устройства. Простой пример этого – "немецкая проблема с танками": серийные номера танков раскрывают детали производственных данных. В физической безопасности неинвазивная атака аналогична отмычке замка, когда успешная атака не оставляет следов присутствия злоумышленника.
Дифференциальный анализ мощности
Дифференциальный анализ мощности (DPA) — это атака по сторонним каналам, включающая статистический анализ измерений энергопотребления криптосистемы. Атака использует статистические закономерности в изменяющемся энергопотреблении микропроцессоров или другого оборудования при выполнении операций с использованием секретных ключей. Атаки DPA обладают свойствами обработки сигналов и коррекции ошибок, позволяющими извлекать секреты из измерений, содержащих слишком много шума для анализа с помощью простого анализа мощности. Используя DPA, злоумышленник может получить секретные ключи, анализируя измерения энергопотребления, полученные в результате множественных криптографических операций, выполняемых уязвимой смарт-картой или другим устройством.
Анализ дифференциальной мощности высшего порядка
Дифференциальный анализ мощности высокого порядка (HO DPA) — это продвинутая форма DPA-атаки. HO DPA позволяет использовать несколько источников данных и различные временные сдвиги при анализе. HO DPA применяется реже, чем SPA и DPA, так как анализ сложен, и большинство уязвимых устройств можно взломать проще с помощью SPA или DPA.
Анализ мощности и алгоритмическая безопасность
Анализ мощности предоставляет возможность "заглянуть внутрь" аппаратно защищенных от взлома устройств. Например, расписание ключей DES включает в себя циклический сдвиг 28-битных ключевых регистров. Многие реализации проверяют младший значащий бит, чтобы определить, равен ли он 1. Если это так, устройство сдвигает регистр вправо и добавляет 1 в старший разряд. Если бит равен 0, регистр сдвигается вправо без добавления 1. Анализ мощности позволяет различить эти процессы, что дает злоумышленнику возможность определить биты секретного ключа. Реализации алгоритмов, таких как AES и тройной DES, которые считаются математически стойкими, могут быть тривиально взломаны с помощью атак на основе анализа мощности. В результате, атаки с использованием анализа мощности сочетают в себе элементы алгоритмического криптоанализа и безопасности реализации.
Стандарты и практические проблемы безопасности
Для приложений, где устройства могут оказаться в физическом распоряжении злоумышленника, защита от анализа потребляемой мощности обычно является важным требованием к разработке. Сообщалось также, что анализ потребляемой мощности использовался против модулей условного доступа, применяемых в системах платного телевидения. Оборудование, необходимое для проведения атак по анализу потребляемой мощности, широко доступно. Например, большинство цифровых запоминающих осциллографов предоставляют необходимую функциональность сбора данных, а анализ данных обычно выполняется на обычных персональных компьютерах. Также доступны коммерческие продукты, предназначенные для испытательных лабораторий. Проект ChipWhisperer с открытым исходным кодом стал первым полноценным комплексом аппаратных и программных средств с открытым исходным кодом для проведения экспериментов по анализу потребляемой мощности.
Предотвращение атак на основе анализа простой и дифференциальной мощности
Атаки по анализу мощности обычно не могут быть обнаружены устройством, поскольку наблюдение со стороны злоумышленника, как правило, является пассивным. Кроме того, атака является неинвазивной. В результате, физическая защита, возможности аудита и детекторы атак неэффективны. Вместо этого, разработчики криптосистем должны обеспечивать, чтобы колебания энергопотребления устройств не раскрывали информацию, которую могут использовать злоумышленники. Простой анализ мощности может легко различить результаты условных переходов при выполнении криптографического программного обеспечения, поскольку устройство выполняет разные действия (потребляя разное количество энергии) в зависимости от того, выполнен ли условный переход. По этой причине необходимо следить за тем, чтобы в реализации криптографического программного обеспечения не было секретных значений, влияющих на условные переходы. Другие источники вариаций, такие как различия в микрокоде, переходы, вносимые компиляторами, и колебания энергопотребления в умножителях, также часто приводят к уязвимостям SPA. Дифференциальный анализ мощности предотвратить сложнее, поскольку даже незначительные отклонения в энергопотреблении могут привести к эксплуатируемым слабостям. Некоторые стратегии противодействия включают алгоритмические модификации, при которых криптографические операции выполняются над данными, связанными с фактическим значением посредством математического преобразования, сохраняющегося после криптографической операции. Один из подходов заключается в маскировании параметров для рандомизации их значений. Другие стратегии противодействия, направленные на снижение эффективности атак DPA, включают аппаратные модификации: изменение внутренней тактовой частоты чипа рассматривается для рассинхронизации электрических сигналов, что, в свою очередь, приводит к алгоритмическим улучшениям традиционного DPA.
Патенты
В научной литературе предложено множество методов предотвращения атак SPA и DPA. В то время как системы с открытым ключом, такие как RSA, обычно защищаются за счет использования свойств лежащих в их основе алгебраических структур (в случае RSA – его мультипликативной гомоморфности), симметричные примитивы, такие как блочные шифры, требуют иных методов, например, "маскирования". Некоторые компании, такие как RamBus, заявляют о правах интеллектуальной собственности на механизмы защиты от DPA-атак.