- •3.1. Методы защиты информации. Их достоинства и недостатки. Примеры применения различных методов защиты информации.
- •3.2. Поточные шрифты. Требования к гамме. Проблема генерации ключевой последовательности.
- •9.1. Вредноносные программы и способы защиты от них.
- •9.2 Криптографические методы защиты информации. Определение шифра. Виды шифров. Принцип Кергофса.
- •10.1 Классификация мер защиты автоматизированной системы обработки информации. Понятие политики безопасности.
- •10.2. Математические модели шифров. Расстояние единственности. Совершенные по Шеннону шифры.
- •11.1 Этапы жизненного цикла системы безопасности автоматизированной системы обработки информации.
- •11.2. Требования к шифрам.
- •12.1. Принципы построения системы безопасности автоматизированной системы обработки информации.
- •12.2. Криптоанализ шифра простой замены.
- •15.1. Административно-организационные меры защиты информации, их роль и место в построении системы защиты информации.
- •15.2. Виды криптоаналитических атак.
- •16.1. Преднамеренные и непреднамеренные (случайные) угрозы безопасности автоматизированной системы обработки информации.
- •16.2. Криптоанализ шифра вертикальной перестановки.
- •17.1. Основные методы нарушения конфиденциальности и целостности информации и работоспособности системы. Понятие ценности информации.
- •17.2. Метод протяжки вероятного слова.
- •18.1 Программно-технические методы защиты информации.
- •18.2. Требования к шифрам.
- •19.1 Применение паролей для защиты информации. Правила составления паролей.
- •19.2. Однонаправленные функции и их применение в криптографических системах с открытым ключом.
15.2. Виды криптоаналитических атак.
Все атаки, использующие утечки данных по побочным каналам (side-channel attacks) можно разделить на две категории:
1. Пассивные (passive) атаки, в процессе реализации которых криптоаналитик лишь пассивно «прослушивает» шифратор с целью получения необходимой информации для ее последующего анализа.
2. Активные (active) атаки, для проведения которых криптоаналитик производит различные воздействия на шифратор с целью заставить его работать в нештатном режиме, вследствие чего шифратор может выдавать существенно больше полезной информации по побочным каналам.
Атака по времени выполнения
Начало подобным атакам положили работы Пола Кохера (Paul Kocher), прежде всего, статья [3], в которой была представлена атака по времени выполнения (timing attack). Данная атака использует тот факт, что на некоторых аппаратных платформах определенные операции могут выполняться за различное число тактов процессора. Результат – различное время выполнения операций. Соответственно, криптоаналитик может путем высокоточных замеров времени выполнения шифратором определенных операций может сделать какие-либо предположения о значении определенных фрагментов секретного ключа.
Атаки по потребляемой мощности
Еще одна из пассивных атак предложена также Полом Кохером при участии ряда других сотрудников американской компании Cryptographic Research: атака по потребляемой мощности (SPA – simple power analysis). Данная атака во многом похожа на предыдущую, однако, высокоточному замеру подлежит мощность, потребляемая шифратором в процессе выполнения криптографических преобразований.
Например, замер мощности, потребляемой шифратором в процессе выполнения раундов №№ 2 и 3 алгоритма DES. На рисунке отчетливо видны операции вращения ключевых регистров процедуры расширения ключа DES: перед вторым раундом вращение выполняется на 1 бит, а перед третьим – на два бита (стрелочки на рис.). Отчетливо видны различия между данными раундами (выделенные области) – эти различия могут проистекать, из-за того, что в этих раундах используются различные биты ключа. Соответственно, они могут быть проанализированы криптоаналитиком с целью получения какой-либо информации о ключе шифрования.
В 2000 г. была предложена атака, использующая высокоточные измерения электромагнитного излучения шифратора, возникающего в процессе шифрования. Аналогично SPA и DPA, рассматриваются два варианта такой атаки: SEMA (simple electromagnetic analysis) и DEMA (differential electromagnetic analysis). В качестве атакуемых устройств избрали криптографические смарт-карты, реализующие алгоритмы DES, RSA и COMP128. Во всех трех случаях атака методом DEMA позволила вычислить значения ключей шифрования.
Еще одна атака основана на предположении, что шифраторы должны каким-либо образом сообщать о возникновении ошибочных ситуаций, которые могут возникнуть при расшифровании данных. Простейший вариант – попытка расшифрования неверным ключом. Сам факт ошибки расшифрования может в определенных случаях дать криптоаналитику некоторую полезную информацию (причем, в общем случае, сообщение шифратора об ошибке может быть достаточно развернутым и информативным).
Практически реализуемая атака, основанная на сообщениях об ошибках (error message leakage), была предложена известным криптологом Сержем Воденэ (Serge Vaudenay) в [9].
Метод бумеранга (boomerang attack) предложен в 1999 г. известнейшим криптоаналитиком – профессором университета Беркли (Калифорния, США) Дэвидом Вагнером (David Wagner). Данный метод, фактически, является усилением дифференциального криптоанализа и состоит в использовании «квартета» (т.е. четырех вместо двух) открытых текстов и соответствующих им шифртекстов, связанных следующими соотношениями:
Сдвиговая атака
Сдвиговая атака (slide attack) предложена в 1999 г. Алексом Бирюковым (Alex Biryukov) из института Technion, Хайфа, Израиль и упоминавшимся выше Дэвидом Вагнером. Уникальность атаки состоит в том, что ее успешность не зависит от количества раундов атакуемого алгоритма. Однако, с помощью сдвиговой атаки можно вскрыть только те алгоритмы, раунды которых являются идентичными.
Метод интерполяции (interpolation attack) предложен в 1997 г. двумя датскими криптологами: Томасом Якобсеном (Thomas Jakobsen) и Ларсом Кнудсеном (Lars Knudsen) – и описан в их работе. Атаке подвержены алгоритмы шифрования, использующие достаточно простые алгебраические операции, в результате чего криптоаналитик может построить некий полином, определяющий соотношение между шифртекстом и открытым текстом.
Невозможные дифференциалы
В 1998 г. изобретателями дифференциального криптоанализа Эли Бихамом (Eli Biham) и Эди Шамиром (Adi Shamir) совместно с упоминавшимся выше Алексом Бирюковым были опубликованы две работы, в которых был предложен принципиально новый вариант дифференциального криптоанализа, использующий невозможные дифференциалы (impossible differentials). Краткое описание:
Выбирается нужное количество пар открытых текстов с требуемой разностью; получаются соответствующие им шифртексты.
Выполняется анализ полученных данных, в рамках которого все варианты ключа шифрования, приводящие к невозможным дифференциалам, считаются неверными и отбрасываются.
В результате остается единственный возможный вариант ключа или некое подмножество ключевого множества, не приводящие к невозможным дифференциалам; в случае подмножества может быть использован его полный перебор для нахождения верного ключа.
Дифференциалы с нулевой вероятностью могут быть заменены дифференциалами с минимальной вероятностью – действия криптоаналитика при этом аналогичны описанным выше.
Атаки на алгоритм шифрования:
Категория 1. Криптоаналитик имеет только возможность пассивного прослушивания некоего канала, по которому пересылаются зашифрованные данные. В результате у злоумышленника есть лишь набор шифртекстов, зашифрованных на определенном ключе. Такая атака называется атакой с известным шифртекстом. Она наиболее сложна, но данный вариант атаки наиболее распространен, поскольку он является самым «жизненным» – в подавляющем большинстве реальных случаев криптоаналитик не имеет возможности получить больше данных.
Категория 2. Предполагает, что у криптоаналитика есть некое шифрующее устройство с прошитым ключом шифрования, который и является целью атаки (например, криптографическая смарт-карта). Криптоаналитик может выполнять с шифратором определенные (допускаемые шифратором и его техническим окружением, а также тактическими условиями осуществления атаки) действия для получения требуемой ему информации, например, «прогонять» через шифратор какие-либо открытые тексты для получения соответствующих им шифртекстов.
В зависимости от данных, которые криптоаналитик может «добыть» у шифратора, существуют следующие виды атак:
1. Атака с известным открытым текстом. Предполагает наличие у криптоаналитика некоторого количества пар текстов, каждая из которых представляет собой открытый текст и соответствующий ему шифртекст.
2. Атака с выбранным открытым текстом. У криптоаналитика есть возможность выбора открытых текстов для получения соответствующих им шифртекстов.
3. Адаптивная атака с выбором открытого текста. Криптоаналитик может не просто выбирать открытые тексты для зашифрования, но и делать это многократно, с учетом результатов анализа ранее полученных данных.
4. Атака с выбором шифртекста. Криптоаналитик может выбирать шифртексты и, прогоняя их через шифратор, получать путем расшифрования соответствующие им открытые тексты.
5. Адаптивная атака с выбором шифртекста. По аналогии с описанными ранее атаками ясно, что криптоаналитик может многократно выбирать шифртексты для их расшифрования с учетом предыдущих результатов.