Открыть сервис

Простая атака по энергопотреблению

Простая атака по энергопотреблению (англ. Simple Power Analysis, SPA) — это метод криптоанализа, основанный на прямом наблюдении и анализе мгновенного энергопотребления (тока или напряжения) криптографического устройства в процессе выполнения им защищённых операций. В отличие от более сложных методов, SPA не требует статистической обработки большого количества замеров; злоумышленник визуально или с помощью простых алгоритмов интерпретирует один или несколько графиков (трасс) энергопотребления, чтобы извлечь секретные ключи или другую конфиденциальную информацию. Этот вид атаки относится к классу атак по сторонним каналам (side-channel attacks) и представляет серьёзную угрозу для аппаратных реализаций криптосистем, особенно в устройствах с ограниченными ресурсами, таких как смарт-карты, RFID-метки, микроконтроллеры и мобильные устройства.

История возникновения

Метод SPA был впервые систематически описан и продемонстрирован в 1999 году группой исследователей из IBM и Кембриджского университета под руководством Пола Кохера (Paul Kocher), Джошуа Яффе (Joshua Jaffe) и Бенджамина Юна (Benjamin Jun) в их знаковой работе «Differential Power Analysis». В ней авторы показали, что простое наблюдение за энергопотреблением устройства может раскрыть последовательность выполняемых инструкций, что особенно опасно для алгоритмов, чьё выполнение зависит от значений секретных данных (например, в модульном возведении в степень).

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

Физический принцип

Энергопотребление цифровых микросхем (CMOS-технология) зависит от переключения транзисторов. Каждое переключение логического элемента (с 0 на 1 или с 1 на 0) вызывает кратковременный всплеск тока. Разные инструкции процессора потребляют разное количество энергии, а также отличаются по длительности. Например, операция умножения в микроконтроллере может потреблять больше тока, чем операция сложения, а выполнение цикла — создавать периодические всплески.

В криптографических алгоритмах, таких как RSA, DSA или ECDSA, часто используется операция модульного возведения в степень, которая реализуется через последовательность умножений и возведений в квадрат. Если реализация «слепа» (не защищена), то последовательность этих операций напрямую зависит от битов секретного ключа: при бите «1» выполняется умножение, при бите «0» — только возведение в квадрат. График энергопотребления в таком случае будет иметь чётко различимые паттерны, соответствующие разным битам.

Методология проведения атаки

Необходимое оборудование

Для проведения SPA-атаки требуется:

Процесс

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

Пример для RSA

В алгоритме RSA операция расшифровки (или подписи) выполняется как \( m = c^d \mod n \), где \( d \) — секретный ключ. Часто используется алгоритм «квадрат-и-умножь» (square-and-multiply):

  • Для каждого бита ключа \( d_i \) (начиная со старшего):
  • Выполняется возведение в квадрат.
  • Если \( d_i = 1 \), дополнительно выполняется умножение.

На трассе SPA возведение в квадрат и умножение могут выглядеть по-разному по длительности или амплитуде. Если умножение даёт более высокий пик, то последовательность пиков однозначно указывает на биты ключа. Например, трасса с пиками «квадрат, квадрат, умножение, квадрат, умножение» соответствует ключу 1101.

Отличия от дифференциального анализа энергопотребления (DPA)

SPA и DPA — два основных подкласса атак по энергопотреблению. Их ключевые различия:

ХарактеристикаSPA (Simple Power Analysis)DPA (Differential Power Analysis)
Количество трассОдна или несколькоМного (сотни и тысячи)
Метод анализаВизуальный или простой алгоритмСтатистический (средние, корреляции)
Требования к оборудованиюНизкие (осциллограф)Высокие (точный синхронизатор, большой объём памяти)
Сложность реализацииНизкаяВысокая
ЗащитаПростые контрмеры (шум, рандомизация)Более сложные контрмеры

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

Уязвимые устройства и алгоритмы

Наиболее уязвимые устройства

  • Смарт-карты (банковские, SIM-карты): их энергопотребление легко измерить через контакты питания.
  • RFID-метки: пассивные метки питаются от поля считывателя, и их энергопотребление модулируется в ответном сигнале.
  • Микроконтроллеры (например, в IoT-устройствах): при отсутствии аппаратной защиты.
  • FPGA и ASIC (специализированные интегральные схемы): если алгоритм реализован без учёта побочных каналов.

Уязвимые алгоритмы

  • RSA, DSA, ECDSA: из-за зависимости от битов ключа при модульном возведении в степень.
  • AES: хотя AES использует S-блоки, SPA может выявить порядок выполнения операций (например, в реализациях с таблицами замен).
  • Эллиптическая криптография: операции удвоения и сложения точек могут различаться по энергопотреблению.

Контрмеры и защита

Для защиты от SPA применяются как аппаратные, так и программные методы:

Программные контрмеры

  • Регулярное выполнение: алгоритм модифицируется так, чтобы последовательность операций не зависела от данных. Например, в RSA используется метод «Montgomery ladder» (лестница Монтгомери), где на каждом шаге выполняются и возведение в квадрат, и умножение, независимо от бита ключа.
  • Рандомизация: вставка случайных задержек, холостых операций (NOP) или изменение порядка выполнения.
  • Маскирование: промежуточные значения криптографических операций смешиваются со случайными величинами, что делает энергопотребление непредсказуемым.

Аппаратные контрмеры

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

Организационные меры

  • Сертификация: устройства проходят тестирование на устойчивость к атакам по сторонним каналам (например, по стандарту FIPS 140-3).
  • Ограничение доступа: физическая защита устройств от несанкционированного доступа.

Примеры реальных атак

  • 2000-е годы: Исследователи из Университета Карнеги-Меллона продемонстрировали SPA-атаку на смарт-карты с алгоритмом RSA, используя осциллограф за 500 долларов. Они восстановили 1024-битный ключ за несколько минут.
  • 2010 год: Группа под руководством Томаса Плёса (Thomas Plos) показала, что SPA может быть применена к RFID-меткам, используемым в системах доступа. Атака позволила клонировать метку.
  • 2015 год: Исследователи из Технического университета Граца (Австрия) продемонстрировали SPA-атаку на мобильное устройство с процессором ARM, используя только внешний датчик тока и осциллограф.

Ограничения метода

Несмотря на простоту, SPA имеет ряд ограничений:

  • Требование к качеству сигнала: при наличии шума (например, от других компонентов устройства) визуальный анализ затруднён.
  • Необходимость синхронизации: злоумышленник должен точно знать момент начала криптографической операции.
  • Ограниченность алгоритмов: SPA эффективна только для алгоритмов с явной зависимостью от данных; современные защищённые реализации (с контрмерами) делают её практически бесполезной.
  • Физический доступ: для измерения энергопотребления требуется прямой контакт с устройством (хотя существуют бесконтактные методы, например, электромагнитное излучение).

Значение в современной криптографии

SPA является фундаментальной техникой, которая заставила разработчиков пересмотреть подходы к реализации криптоалгоритмов. Её изучение обязательно в курсах по аппаратной безопасности и криптографии. Понимание SPA необходимо для создания устойчивых к атакам по сторонним каналам устройств, особенно в контексте Интернета вещей (IoT) и банковских систем. Хотя современные устройства обычно защищены от SPA, метод остаётся актуальным как отправная точка для более сложных атак (например, DPA) и как инструмент для тестирования безопасности.

Источники

  • Kocher, P., Jaffe, J., Jun, B. (1999). «Differential Power Analysis». Advances in Cryptology — CRYPTO’99.
  • Mangard, S., Oswald, E., Popp, T. (2007). «Power Analysis Attacks: Revealing the Secrets of Smart Cards». Springer.
  • Messerges, T. S., Dabbish, E. A., Sloan, R. H. (2002). «Examining Smart-Card Security under the Threat of Power Analysis Attacks». IEEE Transactions on Computers.
  • Standaert, F.-X. (2010). «Introduction to Side-Channel Attacks». In: Secure Integrated Circuits and Systems.
  • Plos, T., et al. (2010). «Practical Power Analysis Attacks on RFID Tags». Proceedings of the 5th Workshop on RFID Security.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →