Уязвимости криптоалгоритмов


Защита информации
4.0 / 5 (91 оценок)

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

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

X. Условный переход определяет выполнение операции умножения по модулю (sk • в mod n), при выполнении которой при некоторых значениях параметров Sk и в может превосходить время выполнения самой операции возведения в степень. Зная эти параметры злоумышленник может преднамеренно вызвать такие ситуации (изменением в), для получения информации о секрет X.

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

Отмечается возможность атак по времени выполнения и для алгоритмов цифровой подписи. В частности уязвимым выглядит американский стандарт DSS. Серия атак по времени выполнения на ряд блочных шифров рассматривается в работе.

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

выполнения критических операций в фиксированное время независимо от данных;

внедрение случайных задержек;

обходу условных переходов и ветвлений в алгоритмах;

использование техники «слепых вычислений» (blinding).

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

Атаки вызова ошибок (fault attacks)

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

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

В научной литературе первая атака вызова ошибок была представлена ​​для схемы цифровой подписи RSA и нескольких протоколов идентификации. Особенностью атаки является то, что она требует лишь одного ложного вычисления цифровой подписи. На основании полученного ложного значения можно определить факторы p и q.

Позже были представлены атаки на системы цифровой подписи ElGamal и DSA. Уязвимы к атакам также схемы шифрования на основе эллиптических кривых. Такие атаки имеют успех, если вызвана ошибка при дешифровке производит точку, не находится на заданной эллиптической кривой .

Известны и другие публикации, предлагают специфические атаки вызова ошибок, однако они мало чем отличаются от упомянутых ранее и в большей степени направлены на их модификацию или совершенствование. Конечно, это не означает, что другие алгоритмы не уязвимы к атаке: в отмечается уязвимость ряда популярных блочных шифров IDEA, RC5, Blowfish. Кроме того, в литературе приведено несколько других очевидных уязвимостей, которые можно использовать для атаки: например, влияние на счетчик циклов с целью выполнения только 2 или 3 раундов блочного шифра; вывод из строя счетчика команд и т.д.

Дифференциальная атака вызова ошибок предложена в, описывает анализ сравнения результатов выполнения алгоритма при нормальных и некорректных условиях для одинаковых входных данных. Некорректная условие вызывается во время или перед процессом выполнения алгоритма. С теоретической точки зрения, дифференциальная атака вызова ошибок пригодна к почти всех симметричных криптосистем.

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

проверка целостности секретных параметров в конце вычисления цифровой подписи;

проверка цифровой подписи перед его выходом из системы;

проверка принадлежности точки заданной эллиптической кривой;

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

Поскольку атаки вызова ошибок представляют реальную угрозу криптографическим

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

Атаки через анализ энергопотребления (power analysis attacks)

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

Поскольку простой анализ энергопотребления позволяет определить последовательность выполненных инструкций, он может быть использован для взлома систем в которых путь выполнения зависит от обрабатываемых.

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

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

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

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

Техника дифференциального криптоанализа через анализ энергопотребления оказалась эффективной в ряд криптосистем на основе эллиптических кривых. Уязвимыми в таких системах являются операции точечной умножения и методы представления целевого поля. Система RSA, с операциями возведения в степени и модульной коррекцией на основе КТЛ также оказалась подверженной дифференциального анализа через энергопотребления. В общем, через высокую вычислительную сложность операций умножения, сигналы с ПКВИ течение выполнения асимметричных алгоритмов более мощнее аналогичные сигналы реализаций симметричных алгоритмов.

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

балансировки энергопотребления через применение дополнительных регистров и вентилей;

снижение мощности сигнала с ПКВИ за счет использования постоянного пути выполнения кода, инструкций с меньшим сигналом утечки и т.д.;

добавление шумовых сигналов в измерения энергопотребления (за счет включения случайных вычислений);

маскировки секретных параметров;

рандомизация секретных параметров системы (эллиптических кривых).

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


Похожие публикации:
 SQL vs NoSQL: Как хранить данные правильно?
 Tester’s Mindset: Как находить баги там, где их быть не может
 Тренды языков программирования: кто набирает популярность?
 Нужно ли высшее образование в IT? Мнение HR и тимлидов
 УГРОЗЫ ИНФОРМАЦИОННЫХ СИСТЕМ

Добавить комментарий:
Введите ваше имя:

Комментарий:

Защита от спама - решите пример:

ЭТО ИНТЕРЕСНО:

Создание WAP-сайтов для учебных заведений Тема создания WAP-сайтов для учебных заведений относится к раннему этапу развития мобильного интернета.
Создание флэш-анимации для WAP-сайтов Значительное количество мобильных телефонов сейчас среди разнообразного программного обеспечения должны проигрыватель флэш-анимации.
Информационная ВОЙНА В ИНТЕРНЕТЕ В статье рассматривается актуальность защиты от информационных атак через интернет.
Уязвимости криптоалгоритмов Для построения механизмов безопасности с заданными целями используют структурные блоки, которые играют роль набора определенных примитивов.