Атака по сторонним (или побочным) каналам () — класс атак, направленный на уязвимости в практической реализации криптосистемы. В отличие от теоретического криптоанализа, атака по сторонним каналам использует информацию о физических процессах в устройстве, которые не рассматриваются в теоретическом описании криптографического алгоритма. Хотя подобные атаки были хорошо известны уже в 1980-х годах, они получили широкое распространение после публикации результатов в 1996 году.

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

«Классический» криптоанализ рассматривает криптографические примитивы с первой точки зрения. Второй подход используется в криптоанализе по побочным каналам. Среди параметров специфичных для конкретной реализации обычно используют время выполнения операций, потребляемую мощность, электромагнитное излучение, звуки, издаваемые устройством, и другие. Атаки по сторонним каналам обладают меньшей общностью чем традиционные атаки, основанные на математическом анализе криптографического алгоритма, но в то же время они существенно эффективнее. На текущий момент большинство осуществлённых на практике удачных атак используют слабости в реализации и размещении механизмов криптоалгоритма.

Классификация атак Атаки по сторонним каналам в литературе обычно классифицируют по следующим независимым признакам:

Контроль над вычислительным процессом В зависимости от степени воздействия на вычислительный процесс атаки можно разделить на: Пассивные — атакующий получает необходимую информацию без заметного влияния на систему; система при этом продолжает функционировать как прежде. Активные — атакующий реализует некоторое воздействие на систему, в результате которого изменяется её поведение; такое изменение может быть и неопределимым для атакуемой системы, но криптоаналитик в состоянии определить и использовать эту информацию.

Способ доступа к системе В зависимости от уровня доступаТаковыми являются физический, электрический или логический уровень интерфейсов доступных криптоаналитику. к аппаратному модулю можно выделить три класса атак: Агрессивные () — вскрытие системы криптоаналитиком и получение прямого доступа к внутренним компонентам. Полуагрессивные () — воздействие на внутренние компоненты происходит без непосредственного контакта с устройством: например с помощью лазерного луча. Неагрессивные () — без воздействия на исследуемую систему; используется только внешне доступная информация: например время вычисления или потребляемая энергия.

Следует заметить, что устройства обычно оборудуются защитными механизмами, защищающими от проникновения (агрессивных атак). Неагрессивные же атаки заметить и предотвратить практически невозможно. Неагрессивные атаки также более выгодны с экономической точки зрения: масштабные атаки почти не требуют увеличения стоимости оборудования.

Применяемый метод анализа В зависимости от методов, применяемых для анализа полученной информации, атаки по сторонним каналам можно поделить на: Простые () — исследование прямой зависимости между процессами в устройстве и полученной криптоаналитиком информацией; полезная информация в сигнале должна быть отделима от уровня шумов. Разностные () — криптоаналитик использует статистические методы для исследования зависимости между входными данными и информацией, полученной по стороннему каналу; используется множество измерений, специальная обработка сигнала и коррекция ошибок.

Известные типы атак

Атака зондированием Атака зондированием () — агрессивная пассивная простая атака. Для получения информации устройство вскрывается, с помощью оптического микроскопа исследуется печатная плата и устанавливаются щупы на проводники, по которым идут сигналы, или же с помощью микроскопаИспользуются электронные и ионные микроскопы исследуется состояние ячеек памяти. Процесс упрощается при использовании зондирующей установки, включающей в себя микроскопы и микроманипуляторы для установки щупов на поверхности чипа. Такие установки используются в полупроводниковой промышленности для тестирования образцов продукции; цена на вторичном рынке составляет порядка 10 тыс. долларов. Чтобы упростить наблюдение, криптоаналитик обычно замедляет тактовую частоту работы устройства.

Атаки по времени

Атака по времени () — первая из широко известных атак по сторонним каналам, предложенная Полом Кохером в 1996 году и применённая на практике против алгоритма RSA в 1998 году. Атака основана на предположении, что различные операции выполняются в устройстве за различное время, в зависимости от поданных входных данных. Таким образом, измеряя время вычислений и проводя статистический анализ данных, можно получить полную информацию о секретном ключе.

Выделяют степени подверженности алгоритмов данному типу атак: Атака невозможна на алгоритмы, операции которых выполняются за одинаковое число тактов на всех платформах: вращение, сдвиг и другие битовые операции над фиксированным числом бит. Возможна атака на алгоритмы, использующие сложение и вычитание. Особенно подвержены атакам по времени алгоритмы, использующие умножение, деление, возведение в степень и битовые операции над произвольным числом бит.

Одной из разновидностей атак по времени также являются атаки на кэш (). Данный тип атак основывается на измерениях времени и частоты промахов в кэш процессора и направлен на программные реализации шифров.

Атаки по времени также могут применяться удалённо. Так, например, известны атаки по сети на сервера использующие OpenSSL.

Из распространённых алгоритмов атаке по времени подвержены DES, AES, IDEA, RC5.

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

Методы воздействия Наиболее распространённые методы воздействия:

Изменение напряжения питания криптосистемы. Отклонения в питании, сильно превышающие заданные производителем нормы, могут привести к ошибкам на определённых этапах работы, не мешая устройству в целом завершить процесс шифрования. Изменение конструкции шифратора (нарушение электрических контактов). Изменение тактовой частоты шифрующего устройства. При точном управлении отклонением тактовой частоты от заданной нормы можно добиться полного изменения выполнения инструкций в устройстве, вплоть до невыполнения выбранной инструкции. Такие атаки особенно применимы к смарт-картам, тактовый сигнал для которых задаётся внешним генератором. Воздействие лазерным лучом или сфокусированным световым пучком. С помощью такого воздействия можно изменять состояние ячеек памяти и влиять на условные переходы в исполнении кода. Воздействие переменным магнитным полем. Переменное магнитное поле вызывает в цепях устройства вихревые токи, которые могут изменять состояние ячеек памяти. Помещение устройства в сильное электромагнитное поле. Повышение температуры некоторой части шифратора.

Типы ошибок Атаки по ошибкам вычислений могут быть классифицированы по типу полученной ошибки: Постоянные или переменные ошибки. Постоянные ошибки влияют на всём времени исполнения алгоритма, например фиксирование значения в памяти или изменение пути прохождения сигнала. Переменные ошибки отражаются только на определённых этапах работы. Место возникновения ошибки: локальная ошибка, например изменения ячейки памяти, или ошибка в произвольном месте устройства, например атака с помощью электромагнитного поля. Время воздействия: некоторые атаки требуют применения воздействия в строго определённое время, как например изменения тактовой частоты, другие же позволяют осуществлять атаку в более широком диапазоне времени работы. Тип ошибки: смена значения бита, установка фиксированного значения, смена значения группы битов целиком, изменения потока исполнения команд и другие.

Примеры атак на ошибки вычислений Атаки на основе ошибок вычислений изучаются с 1996 года и с тех пор почти для всех алгоритмов была показана возможность взлома с помощью такого типа атак. Среди известных алгоритмов можно выделить: Атаки на RSA, использующие китайскую теорему об остатках Дифференциальный криптоанализ по ошибкам вычислений DES Криптоанализ AES Дифференциальный криптоанализ систем, основанных на эллиптических кривых

Атаки по энергопотреблению (потребляемой мощности) Атака по энергопотреблению, или атака по потребляемой мощности () — пассивная атака, предложенная Полом Кохером в 1999 году. Суть данной атаки состоит в том, что в процессе работы шифратора криптоаналитик с высокой точностью измеряет энергопотребление устройства и таким образом получает информацию о выполняемых в устройстве операциях и их параметрах. Так как питание устройства обычно предоставляется внешними источниками, такая атака очень легко осуществима: достаточно поставить последовательно в цепь питания резистор и точно измерять ток, проходящий через него. Другой способ — измерять изменения напряжения на выходах устройства в процессе шифрования.

Атаки по потребляемой мощности отличаются высокой эффективностью с точки зрения затрат на криптоанализ. Так например простая атака по потребляемой мощности () на смарт-карту осуществима за несколько секунд, а некоторые варианты разностных атак по потребляемой мощности () позволяют получить секретный ключ всего за 15 измерений.

Атаки по электромагнитному излучению Атака по электромагнитному излучению () — пассивная атака. Электронные шифрующие устройства излучают электромагнитное излучение во время своей работы. Связывая определённые спектральные компоненты этого излучения с операциями выполняемыми в устройстве, можно получить достаточно информации для определения секретного ключа или самой обрабатываемой информации.

Примером этого вида атак является перехват ван Эйка, осуществлённый в 1986 году. В дальнейшем атаки по электромагнитному излучению применялись к различным шифрам, таким как: DES и RSA Реализации AES и криптосистем на эллиптических кривых на FPGA Использования криптографических хеш-функций HMAC

Акустические атаки

Акустическая атака () — пассивная атака, направленная на получение информации из звуков, производимых устройством. Исторически данный тип атак связывается с прослушкой работы принтеров и клавиатур, но в последние годы были найдены уязвимости позволяющие использовать акустические атаки направленные на внутренние компоненты электронных шифраторов.

Атаки по видимому излучению Атака по видимому излучению () — пассивная атака, предложенная Маркусом Куном в 2002 году. В своей работе он показал, что используя высокоточный датчик интенсивности света можно измерить изменения в интенсивности рассеянного от монитора света, и таким образом восстановить изображение на экране. Данный тип атак также можно применить к шифраторам, использующим светодиодные индикаторы, анализируя данные от которых можно получить информацию об операциях в устройстве.

Методы противодействия