Простая атака по энергопотреблению
Простая атака по энергопотреблению (англ. 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-атаки требуется:
- Целевое устройство (например, смарт-карта, микроконтроллер, FPGA).
- Осциллограф с достаточной полосой пропускания (обычно от 20 МГц до 1 ГГц) и высоким разрешением по времени.
- Токовый датчик (резистор малого сопротивления, включённый последовательно в цепь питания, или токоизмерительный усилитель).
- Персональный компьютер для записи и анализа трасс.
- Программное обеспечение для визуализации и обработки сигналов (например, GNU Octave, MATLAB, Python с библиотеками SciPy).
Процесс
- Подключение: Злоумышленник подключает осциллограф к цепи питания устройства через токовый датчик. Запуск сбора данных синхронизируется с началом криптографической операции.
- Запись трассы: Устройство выполняет одну операцию (например, подпись или расшифровку). Осциллограф записывает один или несколько графиков напряжения (пропорционального току) во времени.
- Визуальный анализ: Полученная трасса отображается на экране осциллографа или компьютера. Злоумышленник ищет характерные паттерны: пики, провалы, периодические структуры.
- Интерпретация: Сравнивая трассу с эталонными шаблонами (например, известными последовательностями инструкций), злоумышленник восстанавливает последовательность операций, а затем — секретный ключ.
Пример для 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 →