Атаки по второстепенным каналам  02

SIDE CHANNEL ATTACKS

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

они определяют данные алгоритма по изменению физических параметров вычислительного устройства, на котором выполняется этот алгоритм.

Связь между данными и параметрами системы легко объясняются. Большинство современных полупроводниковых устройств создается по технологии КМОП (комплементарная структура металл-оксид-полупроводник). Логические элементы, реализованных по такой технологии, не потребляют энергии в статическом стостоянии, т.е. когда входы логического элемента остаются постоянными.

Зато во время транзакции, т.е. когда один из входов заменяется с `1` на `0` или с `0` на `1`, происходит множество физических явлений, начиная от падения входного напряжения и заканчивая фотонным излучением. Таким образом, образуется связь между бинарными данными и физическими параметрами устройства. Осталось лишь эту связь определить и использовать, и именно этим занимаются атаки по второстепенным каналам.

Самое большое сомнение, пожалуй, вызывает не наличие связи между данными и физическими процессами, а уровень полезного сигнала по сравнению с шумами. Как показали две работы Пола Кохера "Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and Other Systems" и "Differetial power analysis", вышедшие в середине 90х годов прошлого века, с помощью современных статистических методов обрабатываемые данные и шаг алгоритма могут быть легко вычислены по физическим параметрам вычислительной системы.

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

 

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

Атаки по второстепенным каналам не ограничиваются лишь рассмотренным выше методом. Существуют атаки по шаблонам (Template Attacks), реверс инжиниринг по второстепенным каналам (side-channel based reverse engineering), алгебраические атаки (algebraic side channel attacks) и другие направления для взлома криптографических алгоритмов, реверс-инжиниринга или получения другой информации об алгоритме. Такие атаки используют весь арсенал статистики и линейной алгебры для более точного и быстрого определения результатов.

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

 

1. Комплекс средств, регистрирующих второстепенные каналы: осциллоскоп, камера, пробы и т.д.

 

2. Средства синхронизации, призванные определить момент работы алгоритма, с которого начнется запись каналов утечки.


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

4. Программный комплекс для анализа данных.

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

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

Атаки по второстепенным каналам не тривиальны и уникальны, но они показали свою применимость против современных устройств, например, в работе David Oswald "Breaking Mifare DESFire MF3ICD40: Power Analysis and Templates in the Real World" - CHES'11. Атаки по второстепенным каналам можно комбинировать с другими методами, например, для реверс- инжиниринга, синхронизации и т.д. 

www.cybears.ru