Атака по сторонним каналам
Атака по сторонним каналам (англ. side-channel attack) — это класс методов криптоанализа, основанных на анализе побочной информации (физических параметров), возникающей при выполнении криптографических или иных вычислительных операций на реальном устройстве. В отличие от традиционных атак, направленных на математическую структуру алгоритма (например, подбор ключа перебором или поиск коллизий), атаки по сторонним каналам используют утечки информации из физической реализации системы: время выполнения операций, потребляемую мощность, электромагнитное излучение, акустические шумы или тепловые следы. Данный класс атак представляет серьёзную угрозу для аппаратных и программных реализаций криптосистем, особенно в устройствах с ограниченными ресурсами (смарт-карты, мобильные телефоны, IoT-устройства). Эффективная защита требует как аппаратных контрмер (экранирование, шумогенерация), так и программных (постоянное время выполнения, маскирование данных).
История
Первые упоминания об утечках информации через физические каналы относятся к 1950-м годам, когда в разведывательных службах США и Великобритании изучали перехват электромагнитного излучения от электронных устройств (проект TEMPEST). Однако как самостоятельная область криптоанализа атаки по сторонним каналам сформировались в середине 1990-х годов. В 1996 году Пол Кохер (Paul Kocher) опубликовал работу, демонстрирующую атаку по времени выполнения (timing attack) на алгоритм RSA, что стало отправной точкой для систематического изучения этого направления. В 1999 году Кохер, Джошуа Яффе и Бенджамин Жюн представили атаку по анализу мощности (power analysis attack), показавшую возможность извлечения секретных ключей из смарт-карт. С тех пор область активно развивалась: в 2000-х годах были открыты атаки на основе электромагнитного излучения (EMA), акустические атаки (например, на принтеры и клавиатуры), а в 2010-х — атаки на кэш-память (Cache Attacks) и спекулятивное выполнение (Spectre, Meltdown). В России исследования в этой области ведутся в рамках криптографических стандартов (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012) и разработки защищённых аппаратных решений.
Классификация атак по сторонним каналам
Атаки по сторонним каналам классифицируются по типу используемого физического канала, способу доступа к устройству и методологии анализа. Основные категории представлены в таблице.
| Тип канала | Физический параметр | Примеры атак | Устройства-мишени |
|---|---|---|---|
| Временной (Timing) | Время выполнения операций | Атака на RSA по времени возведения в степень | Смарт-карты, серверы |
| Мощностной (Power) | Потребляемая мощность | Простая атака по мощности (SPA), дифференциальная атака по мощности (DPA) | Смарт-карты, мобильные устройства |
| Электромагнитный (EM) | Электромагнитное излучение | Атака на AES через излучение шины данных | Микроконтроллеры, ноутбуки |
| Акустический | Звуковые колебания | Атака на клавиатуру по звуку нажатия клавиш | Клавиатуры, принтеры |
| Тепловой (Thermal) | Температурные профили | Атака на PIN-код по тепловому следу | Банкоматы, клавиатуры |
| Оптический | Световое излучение | Атака на светодиоды состояния | Сетевые устройства |
| Кэш-атака (Cache) | Задержки доступа к кэш-памяти | Prime+Probe, Flush+Reload | Процессоры x86, ARM |
По способу доступа
- Инвазивные — требуют физического вскрытия устройства (например, снятие защитного слоя чипа для доступа к шинам данных). Применяются в лабораторных условиях.
- Полуинвазивные — не требуют разрушения корпуса, но предполагают модификацию (например, лазерное облучение для сбоя вычислений).
- Неинвазивные — работают с внешними измерениями (время, мощность, излучение) без вмешательства в устройство. Наиболее практичны для реальных атак.
По методологии анализа
- Простые атаки (Simple Side-Channel Attacks, SSA) — анализируют одну или несколько трасс (например, осциллограмм мощности) для прямого выявления операций (SPA, SEMA).
- Дифференциальные атаки (Differential Side-Channel Attacks, DSA) — используют статистические методы (DPA, DEMA) для выделения слабого сигнала из множества измерений, усредняя шумы.
- Атаки по шаблону (Template Attacks) — предварительно обучаются на эталонном устройстве для создания профиля утечки, затем применяют к целевому.
Механизмы утечки
Физические процессы в электронных устройствах неизбежно создают побочные сигналы, коррелирующие с обрабатываемыми данными. Основные механизмы:
- Изменение потребляемой мощности: при переключении логических элементов (транзисторов) происходит кратковременный всплеск тока, зависящий от обрабатываемых битов. Например, в алгоритме AES (Advanced Encryption Standard) операция SubBytes реализуется через таблицы замен (S-box), и доступ к разным элементам таблицы потребляет разную мощность.
- Электромагнитное излучение: токи в проводниках создают магнитное поле, которое может быть зафиксировано антенной. Излучение особенно сильно на тактовой частоте и её гармониках.
- Временные задержки: условные переходы (if/else) в коде могут выполняться за разное время в зависимости от данных. В криптографии это характерно для операций модульного возведения в степень (RSA) или умножения в эллиптических кривых.
- Акустические колебания: компоненты (конденсаторы, катушки индуктивности) могут издавать звук при изменении напряжения, особенно на частотах, слышимых человеком (до 20 кГц).
- Тепловыделение: локальный нагрев микросхемы зависит от активности отдельных блоков; тепловые камеры позволяют определить, какие участки чипа были задействованы.
Примеры известных атак
Атака по времени на RSA (1996)
Пол Кохер показал, что время возведения в степень в RSA зависит от количества единичных битов в секретном ключе. Измеряя время для множества подписей, можно восстановить ключ бит за битом. Контрмера — реализация с постоянным временем (например, метод Montgomery ladder).
Дифференциальная атака по мощности на AES (1999)
Исследователи из RSA Laboratories продемонстрировали, что, записывая осциллограммы потребляемой мощности смарт-карты при шифровании, и применяя статистический анализ (DPA), можно восстановить ключ AES за несколько тысяч измерений. Контрмеры включают маскирование данных (разделение на случайные доли) и шумогенерацию.
Атака Spectre (2018)
Атака на спекулятивное выполнение в процессорах Intel, AMD и ARM (организация признана иноагентом в РФ) использует утечку через кэш-память. Спекулятивно выполненный код может загружать данные в кэш, которые затем извлекаются через анализ времени доступа (Flush+Reload). Это позволяет читать память других процессов, включая криптографические ключи. Уязвимость затронула миллиарды устройств.
Атака на клавиатуру по звуку (2005)
Группа исследователей из Калифорнийского университета в Беркли показала, что запись звука нажатия клавиш с помощью микрофона (например, в смартфоне) позволяет восстановить вводимый текст с точностью до 90% для английского языка. Анализ основан на различиях в акустическом спектре каждой клавиши.
Атака на PIN-код по тепловому следу (2011)
После ввода PIN-кода на клавиатуре банкомата тепловая камера фиксирует остаточное тепло от пальцев. Порядок нажатия определяется по времени остывания клавиш. Контрмера — использование сенсорных экранов с равномерным нагревом.
Методы защиты
Защита от атак по сторонним каналам требует комплексного подхода, включающего аппаратные и программные контрмеры.
Аппаратные контрмеры
- Экранирование: металлические корпуса и фильтры для подавления электромагнитного излучения (стандарт TEMPEST).
- Шумогенерация: введение случайных токов или тактовых импульсов для маскировки полезного сигнала.
- Сбалансированная логика: использование дифференциальных схем (например, SABL — Sense Amplifier Based Logic), где потребление мощности не зависит от данных.
- Детекторы атак: мониторинг напряжения, тактовой частоты и температуры для обнаружения попыток измерения.
Программные контрмеры
- Постоянное время выполнения: исключение условных переходов, зависящих от секретных данных (например, использование арифметики с фиксированным числом шагов).
- Маскирование (Blinding): разделение секретных данных на случайные доли (additive masking) или умножение на случайное число (multiplicative blinding). Например, в RSA перед возведением в степень сообщение умножается на случайное число, а после — делится на него.
- Случайные задержки: вставка случайных пауз в выполнение операций для усложнения временного анализа.
- Кэш-барьеры: инструкции, очищающие кэш-память после критических операций (CLFLUSH в x86).
Стандарты и рекомендации
- ISO/IEC 19790 — требования к криптографическим модулям, включая защиту от атак по сторонним каналам.
- NIST SP 800-140 — рекомендации по тестированию на устойчивость к атакам по мощности и времени.
- ГОСТ Р 34.10-2012 — российский стандарт электронной подписи, предусматривающий контрмеры (например, обязательное использование постоянного времени для операций с эллиптическими кривыми).
Значение и критика
Атаки по сторонним каналам представляют собой одну из наиболее практичных угроз для современных криптографических систем, особенно в области встраиваемых устройств и интернета вещей (IoT). Они показали, что теоретическая стойкость алгоритма (например, AES или RSA) не гарантирует безопасности при реальной реализации. Критика данного направления связана с тем, что многие атаки требуют физического доступа к устройству или дорогостоящего оборудования (осциллографы, тепловизоры), что ограничивает их применение в реальных условиях. Однако развитие удалённых атак (например, через кэш-память или акустику) расширяет область угроз. В России исследования в этой области координируются Техническим комитетом по стандартизации «Криптографическая защита информации» (ТК 26), а также учитываются при сертификации средств криптографической защиты информации (СКЗИ) в ФСБ России.
Источники
- 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.
- Kocher P., Genkin D., Gruss D. 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.
- ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
- NIST SP 800-140 (Draft) — Side-Channel Attack Resistant Implementation of Cryptographic Algorithms.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →