Side-channel attack
Атака по сторонним каналам (англ. side-channel attack, SCA) — класс методов криптоанализа, основанных на анализе побочной информации, возникающей при физической реализации криптографического алгоритма или иного вычислительного процесса. В отличие от классических атак на математическую модель шифра, атаки по сторонним каналам используют утечки информации через время выполнения операций, потребляемую мощность, электромагнитное излучение, акустические сигналы или тепловые следы. Эти методы не требуют взлома алгоритма как такового, а эксплуатируют несовершенства аппаратной или программной реализации.
История
Первые упоминания об использовании побочных каналов для получения секретной информации относятся к середине XX века. В 1943 году инженеры Bell Labs обнаружили, что осциллограф, подключённый к шифровальной машине, позволяет считывать её сигналы на расстоянии. В 1956 году британская разведка MI5 (Контрразведка Великобритании) использовала анализ акустических шумов для взлома шифратора французского посольства.
Научное оформление концепция получила в 1996 году, когда Пол Кохер (Paul Kocher) опубликовал работу по анализу времени выполнения операций RSA. В 1998 году он же совместно с коллегами представил метод дифференциального анализа мощности (DPA), который стал одним из самых известных видов SCA. В 2000-х годах исследования расширились на электромагнитные и акустические каналы, а в 2010-х — на кэш-атаки и атаки на микроархитектуру процессоров (например, Meltdown и Spectre, 2018 год).
Классификация
Атаки по сторонним каналам делятся по типу используемого физического канала и по способу анализа данных.
По типу канала утечки
- Временные атаки (timing attacks) — основаны на измерении времени выполнения криптографических операций. Различия во времени могут возникать из-за условных переходов, разной длины ключа или оптимизаций компилятора.
- Атаки по мощности (power analysis) — используют колебания потребляемой устройством электроэнергии. Различают простой анализ мощности (SPA) и дифференциальный анализ мощности (DPA), где статистически обрабатываются множественные замеры.
- Электромагнитные атаки (electromagnetic attacks) — регистрируют электромагнитное излучение, испускаемое микросхемами при переключении транзисторов. Позволяют восстанавливать данные даже при наличии экранирования.
- Акустические атаки (acoustic attacks) — анализируют звуковые колебания, генерируемые компонентами устройства (вентиляторы, конденсаторы, клавиатура). В 2013 году исследователи показали возможность восстановления ключа RSA по звуку работы процессора.
- Тепловые атаки (thermal attacks) — используют инфракрасную съёмку для определения температуры отдельных участков чипа, что может указывать на выполняемые операции.
- Оптические атаки — считывание данных через оптические каналы (например, по светодиодам индикации или через лазерное облучение корпуса микросхемы).
- Кэш-атаки (cache attacks) — эксплуатируют разницу во времени доступа к кэш-памяти и оперативной памяти. Примеры: Prime+Probe, Flush+Reload, Evict+Time.
- Атаки на микроархитектуру — используют особенности работы спекулятивного исполнения команд (Spectre, Meltdown) для доступа к защищённым областям памяти.
По способу анализа
- Инвазивные — требуют физического доступа к устройству, вскрытия корпуса, подключения зондов. Пример: снятие напряжения с шины данных.
- Полуинвазивные — не требуют разрушения корпуса, но используют внешнее воздействие (лазер, электромагнитное поле).
- Неинвазивные — проводятся дистанционно, без физического контакта с устройством. Наиболее распространены в реальных атаках.
Принцип действия
Любая электронная схема при работе порождает побочные сигналы, зависящие от обрабатываемых данных. Например, при выполнении операции умножения в RSA потребляемая мощность может отличаться от операции сложения. Если злоумышленник способен измерить этот сигнал с достаточной точностью, он может восстановить биты секретного ключа.
Для успешной атаки необходимы:
- Модель утечки — гипотеза о том, как данные влияют на физический параметр (например, вес Хэмминга для мощности).
- Измерительное оборудование — осциллографы, датчики, антенны, АЦП с высокой частотой дискретизации.
- Статистическая обработка — для дифференциальных атак требуется множество измерений (от сотен до миллионов) для выделения сигнала из шума.
Примеры атак
Временная атака на RSA (1996)
Пол Кохер показал, что время выполнения операции модульного возведения в степень зависит от битов ключа. Если бит равен 1, выполняется дополнительное умножение, увеличивающее время. Измеряя время для множества шифротекстов, можно восстановить ключ.
Атака по мощности на AES (1999)
Исследователи из IBM продемонстрировали, что по потребляемой мощности смарт-карты можно восстановить ключ AES. Атака DPA требует около 1000 замеров для 8-битного микроконтроллера.
Акустическая атака на RSA (2013)
Группа учёных из Тель-Авивского университета записала звук работы процессора во время расшифровки RSA-2048. По спектру звука удалось восстановить ключ с точностью 96%.
Meltdown и Spectre (2018)
Эти атаки на микроархитектуру процессоров Intel, AMD и ARM (организация признана нежелательной и запрещена в РФ) позволяют читать произвольную память ядра через спекулятивное исполнение. Meltdown использует разницу во времени доступа к кэшу после спекулятивной загрузки данных.
Методы защиты
Защита от атак по сторонним каналам включает аппаратные и программные меры.
Аппаратные методы
- Экранирование — металлические корпуса, фильтры в цепях питания, подавление электромагнитного излучения.
- Сбалансированная логика — использование дифференциальных сигналов (например, технология WDDL), при которых потребляемая мощность не зависит от данных.
- Генераторы шума — введение случайных задержек или дополнительных операций для маскировки временных характеристик.
- Изолированные кристаллы — разделение криптографического ядра и остальной логики на разных подложках.
Программные методы
- Константное время выполнения — написание кода без условных переходов, зависящих от секретных данных. Например, использование операций с фиксированным числом циклов.
- Маскирование — разделение секретных данных на случайные доли, которые обрабатываются отдельно, а затем объединяются.
- Слепое подписание — добавление случайного множителя к сообщению перед подписанием, чтобы скрыть структуру данных.
- Обнуление кэша — сброс кэш-памяти перед выполнением критических операций.
Значение и критика
Атаки по сторонним каналам представляют серьёзную угрозу для встраиваемых систем, смарт-карт, банковских чипов и облачных вычислений. Они показали, что даже математически стойкие алгоритмы (AES, RSA, ECC) могут быть скомпрометированы на практике. В ответ на это были разработаны стандарты защиты, например, FIPS 140-3 (США) и ГОСТ Р 34.10-2012 с рекомендациями по устойчивости к SCA.
Критика метода связана с необходимостью физического доступа к устройству (для многих атак) и высокой стоимостью оборудования. Однако развитие интернета вещей (IoT) и облачных технологий расширяет поверхность атаки: злоумышленник может арендовать виртуальную машину на том же физическом сервере, что и жертва, и проводить кэш-атаки удалённо.
Интересные факты
- В 2015 году исследователи из Университета Бен-Гуриона продемонстрировали атаку на изолированный компьютер (air-gap) через акустический канал, используя вентилятор процессора для передачи данных на частоте 0–10 кГц.
- В 2020 году группа из Технического университета Дармштадта показала возможность восстановления ключа Ed25519 по тепловому излучению смартфона через 10 секунд после подписания.
- Некоторые производители смарт-карт (например, Infineon) встраивают в чипы датчики напряжения и температуры, которые автоматически стирают ключи при обнаружении аномалий.
Источники
- Kocher P. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems // CRYPTO 1996.
- Kocher P., Jaffe J., Jun B. Differential Power Analysis // CRYPTO 1999.
- Genkin D., Shamir A., Tromer E. RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis // CRYPTO 2014.
- Lipp M. et al. Meltdown: Reading Kernel Memory from User Space // USENIX Security 2018.
- Kocher P. et al. Spectre Attacks: Exploiting Speculative Execution // IEEE S&P 2019.
- Mangard S., Oswald E., Popp T. Power Analysis Attacks: Revealing the Secrets of Smart Cards. Springer, 2007.
- Standaert F.-X. Introduction to Side-Channel Attacks // Secure Integrated Circuits and Systems. Springer, 2010.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →