1.7. Атаки на шифраторы, использующие утечки данных по побочным каналам

Фрагмент книги "Алгоритмы шифрования. Специальный справочник". © Панасенко Сергей, 2009

Все описанные в предыдущем разделе атаки объединяло одно – они использовали некоторые уязвимости структуры атакуемого алгоритма. Т. е. данные атаки, фактически, рассматривали алгоритм шифрования только с теоретической точки зрения – как некое математическое преобразование, с помощью которого из открытого текста получается шифртекст.

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

Все атаки, использующие утечки данных по побочным каналам (side-channel attacks), можно разделить на две категории [307]:

В этом разделе рассмотрим подробно пассивные атаки. Активные атаки будут рассмотрены далее.

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

Начало подобным атакам положили работы Пола Кохера (Paul Kocher), прежде всего, статья [228], в которой была представлена атака по времени выполнения (timing attack). Данная атака использует тот факт, что на некоторых аппаратных платформах определенные операции могут выполняться за различное число тактов процессора. Результат – различное время выполнения операций. Соответственно, криптоаналитик путем высокоточных замеров времени выполнения шифратором определенных операций может сделать какие-либо предположения о значении определенных фрагментов секретного ключа.

В отчете [283] приведена следующая классификация используемых в криптоалгоритмах операций по степени их подверженности атакам по времени выполнения:

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

Рассмотрим раунд данного алгоритма (см. рис. 3.154). Как видно, в раунде RC5 присутствуют операции вращения на переменное число битов, что приводит к появлению неких, зависящих от обрабатываемых данных и значения секретного ключа, временных характеристик. Это делает атаку на RC5 теоретически возможной. Среди других алгоритмов, подверженных данной атаке, Кохер в [228] упоминает такие известные алгоритмы, как IDEA (см. разд. 3.26), Blowfish (см. разд. 3.8) и DES (см. разд. 3.15).

В качестве «противоядия» к атакам по времени выполнения Кохер предлагает следующее [228].

Атаки по потребляемой мощности

Еще одна из пассивных атак предложена также Полом Кохером при участии ряда других сотрудников американской компании Cryptography Research: атака по потребляемой мощности (SPA – simple power analysis) [229]. Данная атака во многом похожа на предыдущую, однако, высокоточному замеру подлежит мощность, потребляемая шифратором в процессе выполнения криптографических преобразований.

В работе [229] доказывается, что такой высокоточный замер мощности, достаточный для криптоанализа, вполне возможен. В качестве доказательства, в частности, приводится результат замера мощности, потребляемой шифратором в процессе выполнения раундов №№ 2 и 3 алгоритма DES (иллюстрация из работы [229] приведена на рис. 1.22).

Пример высокоточного замера потребляемой мощности

Рис. 1.22. Пример высокоточного замера потребляемой мощности

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

В качестве противодействия SPA в [229] предлагаются различные методы зашумления – аналогично атакам по времени выполнения.

Усилением SPA является дифференциальный криптоанализ по потребляемой мощности DPA (differential power analysis), также предложенный в [229]. Данная атака является более эффективной, чем SPA, но и более сложно реализуемой на практике.

Другие пассивные атаки

В 2000 г. была предложена атака, использующая высокоточные измерения электромагнитного излучения шифратора, возникающего в процессе шифрования (см., например, [158]). Аналогично SPA и DPA, рассматриваются два варианта такой атаки: SEMA (simple electromagnetic analysis) и DEMA (differential electromagnetic analysis). Авторы статьи [158] в качестве атакуемых устройств избрали криптографические смарт-карты, реализующие алгоритмы DES, RSA и COMP128. Во всех трех случаях атака методом DEMA позволила вычислить значения ключей шифрования.

Еще одна атака основана на предположении, что шифраторы должны каким-либо образом сообщать о возникновении ошибочных ситуаций, которые могут возникнуть при расшифровании данных. Простейший вариант – попытка расшифрования неверным ключом. Сам факт ошибки расшифрования может в определенных случаях дать криптоаналитику некоторую полезную информацию (причем, в общем случае, сообщение шифратора об ошибке может быть достаточно развернутым и информативным). Практически реализуемая атака, основанная на сообщениях об ошибках (error message leakage), была предложена известным криптологом Сержем Воденэ (Serge Vaudenay) в [383].

Успех описанных атак зависит от множества различных факторов, в частности:

Наиболее часто атакуемыми оказываются криптографические смарт-карты, т. е. достаточно низкоскоростные шифраторы, работающие в условиях ограниченных ресурсов. В данном случае для проведения атаки нет необходимости в столь высокоточных замерах, какие были бы необходимы, например, для атаки на программный шифратор, работающий на современном персональном компьютере. Помимо упомянутой статьи [158], весьма показательной в данном случае является работа [136], посвященная атаке по времени выполнения на смарт-карту CASCADE.

Информация, полученная с помощью атак с использованием утечек данных по побочным каналам, может использоваться криптоаналитиком в контексте других атак, например, для сужения области возможных значений ключа шифрования. Однако, как показано в [158], возможен и идеальный для криптоаналитика вариант: полное раскрытие алгоритма (т. е. вычисление ключа шифрования) только за счет пассивной side-channel-атаки.

Алгоритмы шифрования...

Rambler's Top100

Перейти на главную страницу

Карта сайта

Перейти к информации о книге