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

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 03:47, 22 декабря 2015.
Side-Channel Attacks: Ten Years After Its Publication and the Impacts on Cryptographic Module Security Testing
Side-Channel Attacks.jpg
Авторы YongBin Zhou, DengGuo Feng
Опубликован 2005 г.
Перевели Чубатая Анастасия
Год перевода 2015 г.
Скачать оригинал

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

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

Содержание

Введение

Безопасность давно является серьезной проблемой в вычислительных и коммуникационных системах и значительная научно-исследовательская работа была посвящена ее расширению. Криптографические алгоритмы, в том числе симметричные шифры, шифры с открытыми ключами и хэш-функции образуют множество примитивов, которые могут быть использованы в качестве строительных блоков для построения механизмов безопасности, которые нацелены на конкретные цели[1]. К примеру, протоколы безопасности сети, такие как SSH и TLS, объединяют эти примитивы для обеспечения аутентификации между взаимодействующими субъектами и обеспечивают конфиденциальность и целостность сообщаемых сведений. На практике эти механизмы безопасности только указывают, какие функции должны быть выполнены, независимо от того, как эти функции реализованы. К примеру, спецификация протокола безопасности обычно не зависит от того, реализуются ли алгоритмы шифрования в программном обеспечении, работающем в центральном процессоре, или с помощью специальных аппаратных компонентов, и находится ли память, используемая для хранения промежуточных данных во время этих вычислений, на одном и том же чипе в вычислительно устройстве или на отдельном чипе.

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

Тем не менее, на практике эти механизмы безопасности в одиночку далеко не полные решения для обеспечения безопасности[2]. Невозможно предположить, что злоумышленники попытаются непосредственно посчитать вычислительную сложность взлома шифровальных примитивов, используемых в механизмах безопасности[3]. Интересную аналогию можно провести в связи с этим между сильными криптографическими алгоритмами и весьма надежным замком на входной двери дома. Грабители, пытающиеся ворваться в дом, редко будут перебирать все комбинации, необходимые, чтобы отпереть замок. Они могут вломиться через окна, сорвать дверь с петель, или отнять у владельца ключи, так как они пытаются попасть в дом. Точно так же почти все известные атаки на безопасность на криптографические системы нацелены на слабые места в реализации и размещении механизмов и их криптографических алгоритмов. Эти недостатки могут позволить злоумышленникам полностью обойти, или значительно ослабить, теоретическую прочность решений в области безопасности.

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

В действительности, криптографические алгоритмы всегда реализуются в программном или аппаратном обеспечении на физических устройствах, которые взаимодействуют с окружающей средой и находятся под ее влиянием. Эти физические взаимодействия могут быть спровоцированы и контролируемы противниками, такими как Ева, и могут дать информацию, полезную в криптоанализе. Этот тип информации называется побочным каналом информации, и атаки, использующие побочные каналы информации называются атаками по побочным каналам информации (впоследствии SCA - side-channel attacks). Основная идея атак по побочным каналам - посмотреть, как реализованы криптографические алгоритмы, а не на сам алгоритм.

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

Первая официальная информация об атаках по побочным каналам относится к 1965 году. Питер Райт (ученый Центра Правительственной Связи (GCHQ) в то время) сообщил в своей работе [6], что МИ-5, Британское Разведывательное Агентство, пытались взломать шифр, используемый египетским посольством в Лондоне, но их усилия были напрасны из-за пределов мощности их вычислительной техники. Райт предложил разместить микрофон рядом с роторно-шифровальной машиной, используемой египтянами, чтобы шпионить за щелчками, которые издает машина. Прислушиваясь к щелчкам роторов, которые шифровальщики сбрасывали каждое утро, МИ-5 успешно вывела 2 или 3 базовые позиции роторных машин. Эта дополнительная информация снизила вычислительные усилия, необходимые, чтобы взломать шифр, и МИ-5 могли шпионить за переговорами посольства в течение многих лет.

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

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

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

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

Физически атакуя криптографическое устройство, злоумышленник так или иначе надеется разрушить корректность его свойств безопасности, обычно извлекая некоторый ключ, который устройство, как предполагается, не раскрывает. На первый взгляд естественным способом достигнуть этой цели является прямой подход: так или иначе обойти меры защиты криптографических модулей и считать данные. К счастью, в практике проектирования, этой прямой атаке могут легко мешать так называемые удароустойчивые методы. Даже при том, что этот прямой подход может часто оказываться довольно успешным, появилось довольно сложное семейство косвенных подходов, где противник пытается вызвать ошибку в работе модулей через некоторый физический отказ; если модуль продолжает работать несмотря на ошибку, это может в конечном итоге выявить достаточно информации для злоумышленника, чтобы восстановить ключ. Исследователи Bellcore первоначально описали эту атаку в теоретическом контексте, как ошибки в криптографическом оборудовании, которые осуществляются на основе китайской теоремы об остатках в реализации RSA[8]. Этот результат вызвали волну последующих результатов, один из которых стал известен как дифференциальный анализ сбоев. Эти теоретические атаки в конечном счете стали практичными и доказуемыми, и в конечном счете получили название атак Bellcore, по авторам исходной статьи[8].

Один из самых популярных жаргонов безопасности системы сегодня является Trusted Platform Module (TPM в продолжении). TPM обычно принимает форму криптографически безопасного модуля и является ядром доверительных вычислений платформы[9][10]. Ключевым компонентом таких криптографических модулей является то, что они сохраняют и используют ключи, несмотря на попытки противника — возможно, с прямым физическим доступом — извлечь их.

Однокристальные устройства — особенно смарт-карты — заслужили большое внимание среди злоумышленников, возможно из-за повсеместного использования смарт-карт в низкопроизводительных коммерческих приложениях (что обеспечило мотивацию), и низкой стоимости (что позволило проводить эксперименты и деструктивный анализ, осуществимый большим количеством людей). Работы Андерсона и Куна[11][12][13] обеспечивают разъяснительный (и интересный) обзор различных методов, которые они сочли эффективным на практике.

Не так давно произошли два события, связанные с исследованием SCA в Европе, которые должны прочно приковать взор сообщества криптографии во всем мире, особенно тех, кто интересуется исследованием SCA: проект SCARD (Side Channel Analysis Resistant Design Flow - Проектирование Устойчивого Процесса Анализа Побочных Каналов)[14] и проект ECRYPT (European Network of Excellence for Cryptology - Европейская Сеть Передового опыта в Криптологии). Оба проекта - международные планы совместного проекта среди европейских участников исследования - и от научно-исследовательских институтов криптографии, и от соответствующих отраслей.

В SCARD предложили улучшить типичный процесс проектирования микрочипа — от высокоуровневого системного описания поверх описания уровня межрегистровых пересылок до низкоуровневых списков сетевых соединений, и, наконец, размещение и маршрутизацию микрочипа — чтобы обеспечить средства для разработки устойчивых к схемам и системам анализа побочных каналов. Кроме того, это предназначено, чтобы изучить целое явление анализа побочных каналов последовательно, а также обеспечить надлежащие аналитические инструменты и разработать средства проектирования для конструктора безопасных систем. Фактически, эти дополнительные компоненты традиционного процесса проектирования микрочипов, как полагают, необходимы для создания следующего поколения безопасных и надежных устройств. ECRYPT - 4-летняя сеть передового опыта, финансируемого Технологической Программой Информационных обществ Европейской комиссии (Information Societies Technology Programme of the European Commission). Она подпадает под направление деятельности, связанное с глобальной надежностью и платформой безопасности, и ее цель состоит в том, чтобы усилить сотрудничество европейских исследователей в информационной безопасности, и в частности в криптологии и создании цифровых водяных знаков. Чтобы достигнуть этой цели, 32 ведущих игрока интегрируют свои исследовательские возможности в пяти виртуальных лабораториях, которые сфокусированы на различных базовых исследовательских областях с одной являющейся безопасной и эффективной реализацией (VAMPIRE). Одна из четырех рабочих групп VAMPIRE - исследовательская группа анализа SCA.

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

Интересно, что оценка атак SCA была уже была предложена много лет назад, и включалась в оценку криптографического алгоритма во многих международных организациях по стандартизации, таких как архитектура безопасности 3GPP[15]. Однако из-за отсутствия тестируемых методов и практических инструментов, это конструктивное предложение фактически не рассматривалось. Таким образом, очень просто понять, что заключительный отчет об оценке этих организаций по стандартизации приводит к выводу, что “в процессе проектирования был сделан вывод о нецелесообразности разработки общего алгоритма, который отдельно не будет уязвима для атак по сторонним каналам”[16].

Недавно Тири и Verbauwhede представили цифровой процесс проектирования Сверхбольшой Интегральной Схемы для создания безопасных, устойчивых к атакам по побочным каналам интегральных схем (ИС в дальнейшем)[17]. Даже при том, что это первая значительная попытка в безопасном проектировании ИС, они только рассматривали атаку анализа потребляемой мощности во всестороннем нисходящем автоматизированном синхронном процессе проектирования ИС, который рассматривает постоянное рассеяние мощности. Кохер и другие[7] предложили точку зрения, что безопасность нужно рассматривать как неотъемлемый аспект в проекте встроенных систем. Рави и др.[18] обсуждали основные удароустойчивые, запирающие методы для безопасных встроенных систем. Они разработали предварительный систематический подход к проектированию встроенной системы безопасности. В их тематическом исследовании было представлено понятие основы доверительных вычислений, который напоминает достоверную вычислительную базу в контексте безопасной операционной системы.

Угроза атак SCA также обратила на себя внимание научного сообщества NoC[19]. Gebotys и др. представили платформу для безопасности NoC, обеспечив криптографию симметричного ключа сетевого уровня для ключевого распределения и на уровне ядра иллюстрируя модификацию программного обеспечения с чрезвычайно низкими системными издержками для дополнительной защиты против атак энергопотребления[19].

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

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

Остальная часть этой статьи организована следующим образом. В разделе 2 мы представим модели для атак по побочным каналам. Стандарт FIPS 140 кратко упомянут в разделе 3, и затем обозначены некоторые проблемы о текущей версии этого стандарта. В Разделе 4 обсуждена классификация атак SCA. В разделе 5 мы представим конкретные побочные каналы, обнаруженные до настоящего времени и соответствующие контрмеры. В разделе 6 мы поделимся своими идеями о возможных влияниях атак SCA на криптографическое тестирование безопасности модуля. Заключительные комментарии даны в Разделе 7.

Модели атак по побочным каналам

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


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

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

Рисунок 2: Криптографическая модель, включающая сторонние каналы
Атаки, которые рассматриваются в этой традиционной модели обеспечения безопасности, используют математическую спецификацию протокола. В последние годы исследователи все больше и больше осведомлены о возможности атак, которые используют определенные свойства реализации и операционной среды. Такие атаки SCA используют утечку информации во время выполнения протокола и не рассмотрены в традиционных моделях обеспечения безопасности. Например, злоумышленник может быть в состоянии контролировать потребляемую мощность или электромагнитное излучение, испускаемое смарт-картой, в то время как выполняются операции с закрытым ключом, такие как генерация подписи и дешифрование. Злоумышленник может также измерить время, которое требуется, чтобы выполнить криптографическую работу или проанализировать, как криптографическое устройство ведет себя, когда встречается с определенными ошибками. Информацию побочного канала можно легко собрать на практике и поэтому важно, чтобы угроза атак SCA была определена количественно при оценке полной безопасности системы, см. сценарий, проиллюстрированный в рисунке 2.


Побочные каналы определяются как непреднамеренные выходные каналы из системы. Пол Кохер в 1996 году опубликовал основополагающую статью "Тайминг-атаки на реализации шифра Диффи-Хеллмана, RSA, DSS и других систем", показывая, что непостоянное время работы шифров может привести к утечке информации о ключе. Когда реализации используют в своих интересах оптимизацию, проблема может стать более явной.

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

Стандарт FISP 140 и некоторые проблемы, связанные с ним

FIPS 140 - стандарт, который используется федеральными организациями (американскими) при определении криптографических систем безопасности, чтобы обеспечить защиту для уязвимых или ценных данных (поддерживающий конфиденциальность и целостность информации). Стандарт FIPS 140 определяет требования к защите, которые будут удовлетворены криптографическим модулем в четырех качественных уровнях безопасности (Уровень 1 - 4, от низко до высокого), как показано далее:

  • Уровень безопасности 1 обеспечивает самый низкий уровень безопасности. Он определяет основные требования к защите для криптографического модуля. (Только для реализации программного обеспечения).
  • Уровень безопасности 2 улучшает физическую безопасность Уровня безопасности 1 криптографического модуля, добавляя требование для вскрытия покрытий или уплотнения, или для стойких к выбору блокировок.
  • Уровень безопасности 3 требует улучшенной физической безопасности, пытаясь препятствовать тому, чтобы злоумышленник получил доступ к критическим параметрам безопасности, сохраненным в модуле.
  • Уровень безопасности 4 обеспечивает высший уровень безопасности. Физическая безопасность уровня 4 обеспечивает защитную оболочку вокруг криптографического модуля, чтобы обнаружить проникновение устройства в любом направлении.

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

Стандарт FIPS 140 пересматривается или вновь подтверждается каждые пять лет. Стандарт FIPS 140-1 определяет требования к безопасности, которые должны соблюдаться в криптографическом модуле, используемом в системе безопасности, защищающем несекретные сведения в компьютерных и телекоммуникационных систем (в том числе голосовых систем). FIPS 140-2 заменил FIPS 140-1 в 2001 году с техническими изменениями, учитывающими технологические достижения, которые произошли с момента выпуска FIPS 140-1.

На самом деле есть некоторые проблемы с текущей версией FIPS 140-2. В первую очередь, эта версия стандарта, главным образом, фокусируется на аппаратных модулях и не очень хорошо адаптирована к программным модулям. Ожидается, что этот статус может измениться в ближайшей версии FIPS 140-3. Во-вторых, эта версия стандарта охватывает слишком узкие рамки системы, которая будет протестирована. Наконец, функциональные требования этой версии стандарта уже устарели. Требования, определенные в FIPS 140-2, отстали от фактических потребностей информационной безопасности как в теории, так и в практике.

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

В частности, поскольку были затронуты атаки по побочным каналам, то в FIPS 140-1 не упоминается безопасность криптографических модулей от атак по побочным каналам , в то время как FIPS 140-2 только коротко останавливается на указаниях смягчения атак, для которых в настоящее время нет тестируемых (проверяемых) требований.

Классификация атак по побочным каналам

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

  • Классификаций в зависимости от контроля за ходом вычислительного процесса;
  • Классификации в зависимости от способа доступа в модуль;
  • Классификаций в зависимости от метода, используемого в процессе анализа.

Контроль за вычислительным процессом

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

Способы получения доступа к модулю

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

Агрессивные атаки

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

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

Полуагрессивные атаки

Понятие полуагрессивной атаки впервые разработали Скоробогатов и Андерсон [22]. Этот вид атаки включает в себя доступ к устройству без повреждения пассивирующиего слоя или установку электрического контакта только с санкционированной поверхностью. Например, в вызванной отказом атаке, злоумышленник может использовать лазерный луч, чтобы ионизировать устройство, чтобы изменить некоторые участки его памяти и таким образом изменить вывод этого устройства.

Неагрессивные атаки

Неагрессивная атака включает в себя тщательное наблюдение или манипулирование процессами устройства. Эта атака использует только внешне доступную информацию, которая часто неумышленно пропускается. Типичный пример такой атаки - временной анализ: измерение времени, использованного устройством, чтобы выполнить работу и его корреляцию с вычислением, выполненным устройством, чтобы вывести значение секретных ключей.

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

Применяемые методы анализа

В зависимости от методов, используемых в процессе анализа выбранных данных, атаки SCA могут быть разделены на простую атаку по побочным каналам ('SSCA' в продолжении) и дифференциальную атаку по побочным каналам ('DSCA' в продолжении).

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

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

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

Рисунок 3: Общая идея DSCA [24]


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

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

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

Известные атаки по побочным каналам и конкретные контрмеры

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

До сих пор атаки SCA успешно использовались, чтобы повредить аппаратные средства или реализации программного обеспечения многих криптографических систем включая блочные шифры (такие как DES ,AES, Camellia, IDEA, Misty1, и т.д.), поточные шифры (такие как RC4, RC6 ,A5/1, SOBER-t32, и т.д.), шифры с открытым ключом (такие как шифры RSA-типа, шифры ElGamal-типа, ECC, XTR, и т.д.), чтобы повредить реализации схем подписи, схемы кода аутентификации сообщений, реализацию криптографических протоколов, реализацию криптографических систем, и даже повредить сетевые системы.

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

Известные атаки по побочным каналам

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

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

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

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

Реализации криптографических алгоритмов часто выполняют вычисления за различное время из-за оптимизации производительности. Если такие операции затрагивают секретные параметры, то эти временные вариации могут пропустить некоторую часть информации и, если под рукой достаточно знаний о реализации, то тщательный статистический анализ может даже привести к полному восстановлению этих секретных параметров. Эта идея была представлена и разработана Кохером и др.[4][5], в которой на практике проводилась атака по времени против современной реализации смарт-карты RSA.

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

Основные положения временного анализа:

  1. Время выполнения криптографической операции зависит в некоторой степени от ключа. С существующими аппаратными средствами это, вероятно, будет так, но обратите внимание, что существуют различные предложения эффективных аппаратных средств сделать атаку временным анализом менее выполнимой через ‘шумовую инжекцию’. Подходы программного обеспечения для того, чтобы сделать атаку временным анализом неосуществимой основываются на идее, что вычисления в двух ответвлениях условного выражения должны занять то же количество времени (‘коррекция ответвления’).
  2. Достаточно большое количество кодировок может быть выполнено, и за это время ключ не изменится. Протокол вызов-ответ идеален для атак по времени.
  3. Время может быть измерено с известной ошибкой. Чем меньше ошибка, тем меньше временных измерений требуется.

Атаки по времени были представлены в 1996 Кохером [4], где подверглось нападению модульное возведение в степень RSA. Шиндлер представил атаки по времени на реализации модульного возведения в степень RSA, которое использует Китайскую Теорему Остатка (CRT в продолжении)[25]. О результатах эксперимента для реализации RSA на смарт-карте сообщил Дэм и др[26]. Атаки по времени на DES, которые восстанавливают вес Хэмминга секретного ключа, были описаны Хевиа и др[27].
.

OpenSSL - известная бесплатная (с открытым исходным кодом) криптографическая библиотека, которой часто пользуются на веб-серверах Apache, чтобы обеспечить функции SSL. Брумли и Боне[28] продемонстрировали, что атаки по времени могут раскрыть закрытые ключи RSA с веб-сервера, основанного на OpenSSL, по локальной сети. Они показали, что модифицированная версия атаки Кокэра может осуществляться дистанционно с серверов, работающих под управлением OpenSSL. Делая ~1/3 миллиона запросов (~2 часа), могут быть найдены факторы 1024-битного модуля. Канвел и др [29]. разработали атаки по времени на CBC-режиме шифрования схем, используемых на SSL и TLS; их атаки могут дешифровать распространенный шифрованный текст, такой как шифрование пароля.

На 10-м Симпозиуме Безопасности Usenix Сонг и др[30]. представили временной анализ нажатий клавиш и атаки по времени на протокол SSH. Они применяли методы трафик-анализа интерактивных связей SSH для того, чтобы вывести информацию о зашифрованном содержимом соединения. Они пришли к выводу, что данные синхронизации нажатия клавиши, заметные в реализации SSH, показывают очень существенное количество информации о пользовательских терминальных сеансах — достаточно, чтобы определить местоположение введенных паролей в потоке данных сеанса и уменьшить вычислительную работу, включенную в предположение об этих паролях фактором 50.

Катало и др.[31] предложили атаку по времени на идентификационной схеме GPS проекта NESSIE в Европе[32]. Они показали, что достаточно 800 измерений времени, чтобы злоумышленник нашел секретный ключ в течение несколько секунд на ПК с вероятностью успеха 80%. Интересно, что их атакующим методам противостоят некоторым классическим контрмеры.

Наблюдая время отказа подписи от оракула дешифрования, Сакурай и др. [33] представили атаку по времени против криптографической системы с открытым ключом EPOC-2, которая, как доказывали, была IND-CCA2 безопасной в соответствии с предположением факторинга в модели со случайным оракулом. Интереснее, что EPOC-2 был уже вписана в стандартную спецификацию P1363 в IEEE и была кандидатом криптографической системы с открытым ключом в нескольких международных стандартах по криптографии, например, NESSIE, CRYPTREC, ISO, и т.д.

Недавно, Левайн и др. представил атаку по времени против микс-систем с малыми задержками, которые являются прокси связи, которые пытаются скрыть корреспонденцию между входящими и исходящими сообщениями. Также ими был предложен новый метод - защитное отбрасывание, чтобы мешать атакам по времени. Кто-то утверждает, что установка этой атаки через сеть вряд ли будет успешной, потому что измерение времени слишком неточно. Однако мы полагаем, что в распределенной системе со свойствами реального времени, атаки по времени на протоколы системы безопасности такой системы могут стать реальной угрозой.

Один простой подход к защите заключается в том, чтобы сделать рабочие параметры независимыми от входных данных. Возможность этого подхода зависит от функционирования. Например, в RSA, можно использовать случайные данные, для проведения преобразований параметров операций вслепую (известные как зашумление), и затем для обратного преобразования. Однако выполнение этого подхода на платформе доверительных вычислений, у которой нет хорошего случайного источника может быть сложным. Фактически, начиная с исходной статьи Кохера (1996) пользователям RSA строго рекомендовали использовать вычисления вслепую. Некоторые реализации программного обеспечения (такие как код криптографии Netscape) действительно были слепыми, однако множество реализаций (OpenSSL, GnuTLS, GPG, и другие) были фиксированы. Между прочим, преобразование вслепую добавляет приблизительно 2-10% издержек. Другая контрмера к атакам этого типа состоит в устранении обработки переходов в алгоритме реализации так, чтобы времена шифрования были эквивалентны (также известная как коррекция перехода).

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

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

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

Атака на основе сбоев

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

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

  • Точность, которую злоумышленник может достигнуть при выборе времени и места, на котором сбой происходит во время выполнения криптографического модуля.
  • Длина данных, затронутая сбоем; например, только один бит или один байт.
  • Постоянство ошибки; переменная ли ошибка или постоянная.
  • Тип сбоя; такие как инверсия одного бита; инверсия одного бита, но только в одном направлении (например, от 1 до 0); байт изменился на случайное (неизвестное) значение; и т.д.

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

Рисунок 4. Атака на основе сбоя на смарт-карту
Вообще говоря, успешная атака на основе сбоя на криптографические модули или устройства требует двух шагов: внесение неисправности и ошибочное эксплуатирование шагов. Эти два шага проиллюстрированы в рисунке 4. Первый шаг состоит во введении ошибки в подходящий момент во время процесса. Внесение ошибки очень зависит от аппаратных средств устройств. Сбои могут быть вызваны в смарт-карте действием на ее окружающую среду и помещая ее в аварийные условия. Некоторые из них- это неправильное и резкое низкое или высокое напряжение, такт, температура, излучения, свет, и т.д. Проблема методов индукции сбоя была решена во многой литературе, и мы отсылаем Вас к [11][12]. Второй шаг состоит в использовании ошибочного результата или непредвиденного поведения. Эксплуатация ошибки зависит от проектирования программного обеспечения и реализации. В случае алгоритма это будет также зависеть от его спецификации, так как эксплуатация ошибки будет объединена с криптоанализом большую часть времени. В зависимости от типа выполненного анализа, внесение ошибки должно будет быть сделано в определенный момент или примерно в установленный период времени.


Атаку анализа сбоев сначала рассмотрел в 1997 Бонэ и др.[8][34], который описал такие атаки на схему подписи RSA и идентификационные протоколы Fiat-Shamir и Schnorr. Бао и др[35]. представили атаку анализа сбоев на ElGamal, Schnorr и схемах подписи DSA. Атака анализа сбоев на схемы шифрования открытого ключа эллиптической кривой были представлены Biehl и др[36]. Их атаки успешно выполняются, если ошибка во время процесса дешифрования производит точку, которая не находится на допустимой эллиптической кривой. Атаки могут быть предотвращены путем обеспечения того, что точки, являющиеся результатом криптографического вычисления, действительно лежат на корректной эллиптической кривой. Бихам и Шамир[37] представили атаку анализа сбоев на схеме шифрования с симметричным ключом DES. Андерсон и Кун[12] обсуждали некоторые реальные способы вызвать ошибки переходных процессов, которые они назвали незначительный сбой (глюк).

Скоробогатов и Андерсон[22] предложили мощную, но все же удивительно практичную оптическую атаку сбоев. Они продемонстрировали, что недорогое оборудование может использоваться, чтобы вызвать сбои в смарт-карте при освещении определенных транзисторов; они также предложили контрмеры этим атакам оптическим индуцированием сбоев. Эта атака может снова убедить читателя, что внесение ошибок, безусловно, проблема достойная рассмотрения при разработке и тестировании защищенной системы или устройства.

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

Если мы предполагаем, что злоумышленник не может вызвать такую же ошибку дважды, одна из лучших контрмер для защиты симметричных алгоритмов, таких как DES и AES, является вычисление всего или части цикла дважды (в том числе ключевое планирование). Конечно, это приведет к ухудшению производительности. В случае алгоритмов с открытым ключом, один подход защиты должен проверить подпись (выход операции с закрытым ключом) с помощью открытого ключа перед отправкой подписи. Интереснее, что Йен и др.[38] показали, что проверка корректности вычисленного результата прежде, чем передать его другим, может быть не достаточно, чтобы предотвратить аппаратный сбой на основе криптоанализа.

Другая контрмера, предложенная для защиты алгоритмов с открытым ключом от некоторых определенных атак сбоя, должна проверить целостность секретного ключа в конце вычисления подписи. Также были предложены другие общие приемы независимо от конкретных алгоритмов, в том числе контрольные суммы, рандомизация выполнения, счетчики ратификации и приманки, повторные обновления[39].

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

Атака анализа энергопотребления

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

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

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

В основном атака анализа потребляемой мощности может быть разделена на Простой и Дифференциальный Анализ Энергопотребления (называемый SPA и DPA, соответственно). В атаках SPA цель состоит в том, чтобы по существу предположить по следу потребимой мощности, какая определенная инструкция выполняется в определенное время и оценить что находится на входе и выходе. Поэтому злоумышленник должен точно знать реализацию, чтобы осуществить такую атаку. С другой стороны, для атаки DPA не нужно знание деталей реализации и альтернативного использования статистических методов в аналитическом процессе. DPA - одна из самых мощных атак SCA, но она может быть установлена при помощи очень малого количества ресурсов.

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

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

SPA и DPA атаки были представлены в 1999 Кохером и др[5]. Они осуществляли практическую атаку анализа энергопотребления на реализацию DES в аппаратных средствах. Корон[45] был первым, кто применил эти атаки к эллиптическим криптографическим схемам и предложил стойкий к SPA методы для умножения точки и DPA-стойкий метод рандомизации проективных координат. Освальд[46] показал, как множитель k может быть определен, используя частичную информацию, полученную о NAF(k) от трассировки питания выполнения двоичного метода умножения точки NAF. О результатах эксперимента с атаками анализа энергопотребления на смарт-карты сообщил Аккар и др.[47], а также Messerges[41] и др., в то время как об этом сообщает Gebotys и др. на примере ядра DSP процессора[48].

Шари и др.[49] представили некоторые общие SPA и DPA контрмеры, а также формальную методологию для оценки их эффективности. Предложения защиты аппаратных средств от атак анализа энергопотребления включают использование внутреннего источника питания, рандомизацию порядка, в котором инструкции выполняются (May и др.[50]), рандомизированное переименование регистра (May и др. [51]) и использование двух конденсаторов, один из которых заряжен внешним источником питания и другим, подающим питание к устройству (Шамир[52]).

Один из эффективных методов защиты от атак SPA в точке умножения является использование формулы сложения эллиптической кривой, которая может также использоваться для удвоения. Этот подход был изучен Лиардетом и др.[53] для кривых в форме Якоби, Джойе и др.[54] для кривых в форме Гессе, и Бриером и Джойе[55] для кривых в нормальной форме Вейерштрасса. Идзу и др.[56] разрабатывал активную атаку (не использующий анализ энергопотребления) на формуле Бриера-Джойе, которая может показать несколько битов закрытого ключа в схемах эллиптической кривой, которые используют умножение точки с фиксированным множителем. Хасан[57] изучал атаку анализа энергопотребления на умножении точки для кривых Коблиц и предложил некоторые контрмеры, которые не приводят к существенному ухудшению производительности.

Другая стратегия противостояния SPA состоит в том, чтобы использовать алгоритмы умножения точки, такие как метод Корона[45], где образец дополнения и двойных операций независим от множителя. Другие примеры - умножение точки Монтгомери (см. методы Окея и др.[58]), и методики, представленные Мёллером[59][60], Хичкоком и др. [61], а также Идзу и Такаги[62]. Безопасность и эффективность (улучшенные версии) Мёллера[59] и методы Идзу-Такаги[62] были тщательно проанализированы Идзу и др[63]. Другой подход, представленный Тричина и др.[64], а также Gebotys и др.[48], должен создать формулы для дополнения и двойных операций, у которые имеют ту же схему операций (дополнение, вычитание, умножение и возведение в квадрат).

Джойе и др. [65] предложил использовать в случайно выбранную эллиптическую кривую, изоморфную данной и случайно выбранные представления для базовых полей, как контрмеры к атакам DPA. Гоубин [66] показал, что даже если умножение точки защищено с помощью SPA-стойких методов (таких как метод Корона [45]) и DPA-стойких методов (таких как рандомизированные проективные координаты, рандомизированная эллиптическая кривая, или рандомизированное полевое представление), умножение точки может все еще быть уязвимо для атаки DPA в ситуациях, где злоумышленник может выбрать базисную точку (как, например, с ECIES). Наблюдения Гоубина подчеркивают трудность в обеспечении умножения точки против атак анализа энергопотребления.

SPA просто наблюдает несколько потребляемых мощностей устройства, и DPA дополнительно разрешено использовать статистический инструмент, чтобы разгадать секретную информацию. Стойкая к SPA схема может быть преобразована, чтобы быть DPA-стойкой, рандомизировав параметры базовой системы[45][65].

Есть три различных типа стойких к SPA схем, доступных в настоящее время, для скалярного умножения ECC:

  1. неразличимая формула сложения, которая использует одну формулу для обоих из эллиптического дополнений и удвоений[53][55][54];
  2. добавление цепи, которая всегда вычисляет эллиптическое дополнение и удвоение для каждого бита [45][55][58][62][67];
  3. окно, основанное на добавлении цепи с фиксированным образцом[59][60][68][69].

Защита против дифференциальной атаки анализа энергопотребления трудна, так как она в основном только уменьшает сигнал, который противник считывает, вместо того, чтобы устранить его. Интересно, что эффективный метод рандомизации, используя некоторые случайные переменные в операции сложения точки, был также предложен как возможная контрмера против атаки DPA-стиля[70].

Атака по электромагнитному излучению

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

Подобно атакам анализа энергопотребления, атаки по электромагнитному излучению (EMA) могут также быть разделены на две основных категории: Простой Анализ Электромагнитного Излучения (SEMA) и Дифференциальный Анализ Электромагнитного Излучения (DEMA).

Потенциал использования электромагнитных излучений был известен в военных кругах в течение длительного времени. Например, посмотрите на недавно рассекреченный документ TEMPEST, написанный Агентством Национальной Безопасности[71], который исследует различные нежелательные излучения, включая электромагнитное излучение, линии проводимости и акустические эмиссии. Несекретная литература по методам атак и контрмерам также обширна. Например, Кун и др.[72] обсуждали методы, основанные на программном обеспечении, для запуска и предотвращение атак на основе выведения информации на видео экраны от испускаемых электромагнитных излучений. Результаты эксперимента на электромагнитных аналитических атаках на криптографические устройства, такие как смарт-карты и сравнения с атаками анализа энергопотребления были сначала представлены Quisquater и др.[73], а также Гандолфи и др[74]. Наиболее полное несекретное исследование атак EMA на сегодняшний день - работа Agrawal и др[75]. Они показали, что мало того, что излучения EM могут использоваться, чтобы атаковать криптографические устройства, где полномочия побочного канала недоступны, они могут даже использоваться, чтобы разрушить контрмеры против атак энергопотребления.

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

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

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

Совсем недавно Шамир и др.[76] демонстрировали предварительное подтверждение концепции, что корреляция существует между звуком процессора и его вычислением. Можно считать, что подход П. Райт, используемый в 1965, скорее всего, одна из примитивных акустических атак. Тем не менее, это относительно новое направление, и еще многое предстоит сделать.

Атаки по видимому излучению

Кун демонстрировал[13] — как с помощью сложного анализа, а также с помощью прямого эксперимента — что средней яркости диффузного отражения ЭЛТ от стены может быть достаточно, чтобы восстановить сигнал, выведенный на экран на ЭЛТ (так что экранирование ЭЛТ для защиты от утечки информации через электромагнитное излучение может оказаться недостаточно). Одной из выдающихся характеристик этой атаки является то, что физический доступ не требуется. Кун также размышлял, что те же методы одинаково применимы к сигналам LED. Даже без угла обзора, злоумышленник может быть в состоянии считать сигналы, которые испускает платформа доверительных вычислений оптических каналов выхода.

Loughry и Umphress [77] описали, как оптическое излучение, испускаемое от компьютерного LED, может быть проанализировано, чтобы вывести данные, обрабатываемые устройством. В работе [77] разработана классификация ущерба оптических излучений, и описаны конструктивные изменения, которые успешно блокируют этот вид атак “оптического TEMPEST”.

Атака с помощью сообщения об ошибке

Во многих стандартах, например, SSL / TLS, IPSEC, WTLS сообщения предварительно форматируются, затем шифруются в режиме CBC (блочный шифр). Для расшифровки необходимо проверить, является ли формат допустимым. Допустимость формата легко вытекает из протоколов связи в выбранной атаке шифротекста, так как приемник обычно посылает подтверждение или сообщение об ошибке. Этот факт может быть полезным побочным каналом для криптоанализа, и атаку, использующую побочный канал, часто называют атакой с помощью сообщения об ошибке.

На практике встречаются случаи, когда невозможно получить доступ к дешифратору. Однако, злоумышленник может использовать побочные каналы, с помощью которых получает достаточно информации о шифротексте для его расшифровки. Очень часто побочные каналы позволяют злоумышленнику вызвать предсказуемые изменения в открытом тексте за счет модификации зашифрованного текста. Мы рассмотрим некоторые из этих атак, с симметричным и асимметричным методами шифрования. Эта атака работает следующим образом: ведет себя как '(padding) oracle, который возвращает VALID (допустимый), если исходный текст корректно padded, в противном случае INVALID (недопустимый).

Vaudenay[78] описал анализ атаки сообщением об ошибке на симметричном ключе шифрования, когда сообщения сначала форматируются паддингом (padding), а затем шифруются блочным кодом в режиме CBC. В случае CBC симметричного типа, длина блока должна быть такая, чтобы нацело делить длину сообщения. В противном случае нужно использовать паддинг. Действия приемника после получения дешифровки с недопустимым паддингом зависят от используемого протокола. В случае SSL/TLS происходит завершение сеансе, ESP в IPSec[79] просто фиксирует ошибку в логах, а WTLS[80] возвращает сообщение об ошибке. Если злоумышленник способен выяснить состояние ошибки паддинга, то он может использовать это как побочный канал для проведения CCA (Атака на основе подобранного шифротекста) атаки.

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

Патерсон и Яу[81] использовали метод паддинговой атаки, схожий с Воденайским, для анализа паддинговых методов стандарта ISO CBC. Совсем недавно, на FSE 2005 Яу и др[82]. обобщили сведения о паддинговой оракульной атаке, направленной на блочные шифры CBC. Они исследовали устойчивость CBC шифрования против паддинг атак.

Атаки по побочному каналу, основанные на сообщении об ошибке, характерны не только для симметричных систем, но так же и для криптосистем с открытым ключом. Предположим, что злоумышленник имеет доступ к оракулу, который возвращает бит, показывающий соответствует ли шифр данным, зашифрованным в соответствии с RSA стандарта PKCS#1. На стороне приемника, получатель анализирует блоки слева направо, чтобы определить соответствие PKCS#1. Используя оракул, который сообщает является ли шифротекст PKCS#1, злоумышленник может взломать шифровку RSA с помощью 1 миллиона запросов[83][84].

Наиболее известным и убедительным примером атак, использующих сообщение об ошибке, может послужить атака Блеиченбакера[83] на модель шифрования RSA, которая указана в PKCS#1 v1.5 стандарте. Эта версия RSA шифрования, которая определяет метод форматирования открытого текста, предшествует применению функций RSA, широко используется на практике, включая SSL протокол для защиты интернет коммуникаций. Для 1024-битного RSA модуля, атака Блеиченбакера позволяет злоумышленнику добыть дешифровку нужного шифротекста с помощью предоставленных 1 миллиона тщательно отобранных шифротекстов, связанных с жертвой и определяющих отклонен ли шифротекст. Эта атака сделала необходимым выход исправления для многих реализаций SSL. RSA-OAEP шифрование было предложено Белларо и Рогавеем[85] и оказалось безопасным в случайной оракульной модели, созданной Соупом[86] и Фуджисаки[87]. Оно было внесено во множество стандартов, включая версию 2.2 PKCS#1. Менгер[84] представил свою атаку на RSA-OAEP в 2001.

После публикации результатов Блеченбачера и Мангера[83][84], многие верили, что важно добавить сильную проверку целостности в RSA шифрование. Этап между дешифровкой и проверкой целостности опасен, так как любая утечка информации может представить серьезную угрозу безопасности. Версия 2 PKCS#1 представила новый алгоритм RSA-OAEP, который использует OAEP (Optimal Asymmetric Encryption Padding) для противодействия предыдущей атаки.

Клима и др.[88] представили новый вариант атаки с помощью побочного канала на открытый текст, зашифрованный EME-OAEP PKCS#1 v2.1. Целью атаки была часть открытого текста, защищенная OAEP методом. Так же они показали, что атаки Блеченбачера и Мангера на RSA PKCS#1 v1.5 и EME-OAEP PKCS#1 v2.1 могут быть превращены в атаки на схемы подписей RSA с любым сообщением кодирования (не только с PKCS). Так же была представлена основная идея атак, основанных на неисправностях, на RSA-KEM. Эти атаки подчеркнут тот факт, что RSA-KEM не является полностью универсальным решением проблем RSAES-OAEP реализации, и что даже здесь способ реализации существенен.

Более того, Клима и др.[89] указали на то, что включение проверки версии в открытом тексте PKCS#1, использованном в SSL/TLS, так же создает побочный канал, который позволяет злоумышленнику инвертировать RSA шифрование. Используя эту атаку, он может и восстановить premaster-secret, и подписать сообщение от имени сервера во время SSL/TLS сессии.

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

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

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

Атака основанная на кэше

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

Первоначальная идея того, что кэш память может быть использована как побочный канал, из которого просачивается информация во время запуска криптоалгоритма, была выдвинута Келси [90]. Идея была расширена Пейджем для систематической проверки теоретического использования кэш памяти как криптоаналитического побочного канала. Такие атаки, использующие информацию основанную на задержке ЦП, направленные на блочные шифры, предложены в MISTY1 и Camellia[91][92]. Обычно их классифицируют как побочные атаки на программно реализованные шифры, с их помощью были успешно взломаны MISTY1[92], DES, AES и Camellia[91].

Освик[93] расширил идею в сторону блочного шифрования с заменой и перестановкой сетевой структуры, как например AES. Их метод атаки может быть использован для криптоанализа криптографических примитив, которые используют зависимые от данных табличные поиски. Что еще более важно, они показали очень сильный тип атак, которые не требуют знания ни специфических открытых текстов, ни шифротекстов, и работают за счет наблюдения воздействия криптографических процессов на кэш.

Было предложено множество контрмер для уменьшения атак на основе кэша, таких как ограничение доступа к кэшу, выключение очистки кэша, использование специфических алгоритмов маскировки, ввести зависимость от управляющей системы поддержки, принять разделенную аппаратную структуру кэша и т.д.[93][94][95]

Утверждалось, что примитивы, которые обычно выполняются без таблиц поиска, такие как семейство SHA и Serpent, непроницаемы для атак, описанных здесь. Тем временем, нахождение эффективного решения, программно и аппаратно независимого, все еще остается открытым.

Атаки основанный на частоте

Лиу предложил атаку основанную на частоте, которая была направлена против мобильных устройств, таких как смартфоны, телефоны и пейджеры[96]. Его метод эффективен даже когда следы смещены в реальных экспериментах по атаке, в то время как ранее исследованная DEMA проваливалась в таких условиях. В дополнение, выдвинутая частотная атака первого порядка способна победить рассинхронизирующую контрмеру, которая вставляла случайные задержки. Однако жаль, что контрмеры против такого вида частотных атак не рассматриваются.

Атаки основанные на сканировании

Тест основанный на сканировании является очень сильным инструментом проверки. Однако, он в равной степени может стать и мощным инструментом для атаки. В 2004 Ян[97] использовал сканирование цепей как побочный канал для восстановления секретных ключей из аппаратной части DES.

При использовании одной встроенной схемы для тестирования, внутренний статус криптографического чипа не будет просканирован, таким образом можно избежать атак основанные на сканировании. Такой вид тестирования уже предусмотрен в FIPS 140-2, который требует физическую защиту криптографических чипов[21]. Тем не менее, он отметил, что большое покрытие неисправностей теста, основанного на сканировании, делает разработку безопасного метода сканирования криптографических микросхем интересным.

Комбинации атак по побочным каналам

В [98] сочетание атаки по времени и атаки анализа энергопотребления было использовано для теоретических атак. Такая комбинация может быть использована для обхода некоторых контрмер, направленных против специфических атак по побочным каналам. Простым примером применения нескольких побочных каналов является измерение времени между существенными особенностями в энергетическом следе. Совсем недавно исследователи так же проверили возможность для многоканальной атаки, которая использует сразу несколько побочных каналов, например одновременно энергопотребление и электромагнитное излучение.

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

Комбинация SCA и математических атак

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

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

Оптимизация атак

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

Для того, чтобы использовать информацию побочного канала оптимальным образом, Шиндлер разработал общий подход к оптимизации атаки SCA через использование стохастических технологических операций и теории статистических решений [99]. Было показано, что при применении соответствующих методов стохастических можно было значительно повысить эффективность ряда известных атак, иногда даже в 50 раз.

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

Контрмеры

В настоящее время существует множество стратегий (как в области аппаратного и программного обеспечения), предлагаемые для борьбы с атаками по побочному каналу, среди которых некоторые общие стратегии[100]:

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

В [49][100] было показано, что среди всех видов контрмер, алгоритмические методы являются наиболее универсальными, всеохватывающими, и может быть самым мощным. Кроме того, во многих случаях они являются самыми дешевыми при внедрении. Программные контрмеры включают введение фиктивных инструкции, рандомизации последовательности выполнения команд, балансировка весов Хэмминга внутренних данных и разделение битов. На аппаратном уровне, контрмеры, как правило, включают в себя рандомизацию часов [101][102], рандомизацию энергопотребления или компенсацию [103], рандомизации набора команд исполнения и / или использования регистра [51]. Тем не менее, влияние этих контрмер может быть уменьшено с помощью различных методик обработки сигналов [104]. Программное обеспечение противодействия против SCA атак значительно снижает производительность криптографических алгоритмов с точки зрения памяти, времени исполнения или и того, и другого. Одна из проблем заключается в достижении безопасной реализации при минимальных дополнительных затратах.

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

Мы можем найти следующие вопросы и связанные с ними дискуссии в открытом литературы: атаки, контрмеры (как программных, так и аппаратных) и теоретические модели. На самом деле этой литературы не достаточно для предоставления возможности оценки атак и проектирования звуковых контрмер. Для получения первого приближенного значения, мы пренебрегаем эффектами соединения и создаем линейную модель атак, использующих мощность, то есть, мы предполагаем, что функция потребления мощности чипа просто сумма функций потребляемой мощности всех событий, которые занимают место [105]. На самом деле даже очень маленькие соединения могут обеспечить богатый источник компрометирующих излучений. Использование этих эманаций может быть гораздо более эффективным, чем попытка работы с прямыми эманации [75]. На самом деле, много интенсивной и совместной работы должны быть проведено в этих фундаментальных областях исследования.

Рандомизация

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

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

Стандарт DPA использует функцию корреляции, которая может различать связан ли конкретный бит с наблюдаемым вычислением. Для того чтобы противостоять DPA, нужно рандомизировать параметры эллиптических кривых. Есть три стандартных рандомизации[45][65], которые широко доступны сегодня:

  1. базовая точка маскируется случайной точкой;
  2. секретный скаляр рандомизируется с множителем порядка кривой;
  3. базовая точка рандомизирована в проективных координатах (или Якоби координатах).

Против всех контрмер было предложено несколько атак или слабых классов [58][66]. Однако, если эти методы рандомизации используются одновременно, то все известные атаки окажутся неэффективными для разрыва комбинированной схемы. Другими словами, SPA-устойчивые схемы могут быть легко преобразованы в DPA-стойкие при помощи рандомизации.

Напротив, все еще появляются некоторые схемы, которые пытаются добиться SPA- и DPA-устойчивости одновременно без использования комбинации, например, рандомизированные оконные методы [53][107][108][109], и т.д.


Ослепление

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

Первая методика ослепления была предложена Чаумом как часть слепой подписи Чаума[110][111]. Он основан на гомоморфном свойстве функции RSA подписи. Методы ослепления также является наиболее эффективной мерой противодействия дистанционному временному анализу веб-серверов[112] и анализу мощности и / или временному анализу аппаратных модулей безопасности.

Маскировка

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

Маскировка данных также является одним из самых мощных программных противодействий атакам по побочным каналам [49][113]. Идея очень проста: сообщение и ключ маскируются некоторыми случайными масками в начале вычислений, а затем все почти как обычно. Конечно, значение маски в конце некоторого фиксированного шага (например, в конце цикла или в конце линейной части вычислений) должны быть известны, чтобы восстановить ожидаемое значение данных на конец выполнения; мы называем этот процесс коррекцией маски.

В случае AES, эта контрмера означает, что нужно сделать промежуточные байты обработанные в вычислении AES. Маскировка байт значением означает выбор случайной (маски) и определение функции (маскировки), которая принимает оба значения в качестве входных данных для расчета выхода маски:. Оператор либо определяется как побитовая операция XOR, обозначается , (аддитивная маскировка), либо в качестве умножения, обозначается , над конечным полем (мультипликативный метод маскировки).

В работе [114], Трихина предложил оптимизированные контрмеры для блочного шифра AES, которые производят преобразование булевой маски в мультипликативную маску до нелинейной операции замещения байт (таким образом, избегая S-box повторных вычислений для каждого запуска или хранение нескольких таблиц S-box в оперативной памяти), сохраняя при этом логическое маску в остальных местах (адаптивный метод маскировки).

Возможное воздействие на криптографический модуль тестирования безопасности

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

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

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

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

Кроме существующих требований к тестированию безопасности, требования стандарта FIPS 140 должны быть расширены в увеличенном масштабе и охватывать следующие аспекты: анализ криптографических протоколов; анализ эффективности управления ключами; анализ побочных каналов или подобных уязвимостей; анализ правильности использования криптографический модуль в более крупных продуктах; любые заявления о non-FIPS утвержденных или ФИПС разрешенных алгоритмов; и так далее.

Для увеличения исключительно размера ключа, в некоторых случаях, не обязательно поднимать уровень безопасности. В работе [115][116], авторы утверждают, что "чем больше длина ключа, тем проще его атаковать". Даже то, что подвергся нападению в [115] на самом деле реализация RSA с использованием метода скользящих окон, успех атаки по-прежнему показывает некоторые значимые вещи. Увеличение длины ключа является стандартной меры противодействия криптоанализа. Тем не менее, более длинный ключ обычно значит большую утечку через побочный канал. Для встроенных криптографических RSA-систем увеличение утечки данных опережает рост секретных данных, так что, в противоположность улучшенной математической прочности, более длинные ключи могут, в действительности, привести к снижению безопасности [116].

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

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

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

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

Заключение

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

Как отметил доктор Брюс Шнайер в 1998 году[117], "Сильная криптография является очень мощным инструментом, когда она выполнена правильно, но это не панацея. Фокусировка на криптографических алгоритмах, игнорирование при этом других аспекты безопасности – это как защитить свой дом не строя забор вокруг него, но воткнуть огромный кол в землю и надеяться, что ваш противник побежит прямо на него ". В настоящее время этот аргумент должен быть дополнительно пересмотрен. Ведь строительство забора вокруг дома уже далеко не достаточно, кто может гарантировать, что злоумышленник не пророет туннель под забором, чтобы обойти защиту? Можно попытаться сделать землю как можно крепче, но кто может гарантировать, что ваш оппонент не спустится с неба когда-нибудь? Имейте в виду, что ваш оппонент не глупее вас на всех. Возможно, вы никогда не сможете определить, что ваш оппонент будет делать дальше.

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

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

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

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

Наконец, самый важный вывод из этого документа является то, что существует необходимость, в наступающей версии стандарта FIPS 140-3, оценивать криптографические модули на сопротивления против SCA атак.

Литература

  1. A. J. Menezes, P. C. Oorschot, S. A. Vanstone. Handbood of applied cryptography(5th edition). CRC Press, 2001.
  2. R. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems. John Wiley & Sons, 2001.
  3. B. Schneier. Security pitfalls in cryptography. Available at http://www.s-chneier.com/essay-pitfalls.html.
  4. 4,0 4,1 4,2 4,3 P. Kocher. Timing attacks on implementations of Diffie-Hellmann, RSA, DSS,and other systems.CRYPTO’96, LNCS 1109,pp.104-113,1996.
  5. 5,0 5,1 5,2 5,3 P. Kocher, J. Jaffe, B. Jun. Differential power analysis. CRYPTO’99,LNCS 1666,pp.388-397,1999.
  6. P. Wright. Spy Catcher: The Candid Autobiography of a Senior Intelligence Officer. Viking Press,1987.
  7. 7,0 7,1 P. Kocher, R. Lee, G. McGraw, A. Raghunathan, S. Ravi. Security as a New Dimension in Embedded System Design. Proc of IEEE DAC’2004, pp.753-761,California,USA,2004.
  8. 8,0 8,1 8,2 8,3 D. Boneh, R.A. DeMillo, R.J. Lipton. On the importance of checking cryptographic protocols for faults. EUROCRYPT '97,LNCS 1233,pp.37-51,1997.
  9. https://www.trustedcomputinggroup.org/
  10. S.W. Smith. Trusted computing platforms: design and applications. Springer Press, 2005.
  11. 11,0 11,1 11,2 R. Anderson, M. Kuhn. Tamper resistance—a cautionary note. Proc of the 2nd USENIX Workshop on Electronic Commerce,pp.1-11, 1996.
  12. 12,0 12,1 12,2 12,3 R. Anderson, M. Kuhn. Low cost attacks on tamper resistant devices. Proc of the 1997 Security Protocols Workshop,pp.125-136,LNCS 1361, 1997.
  13. 13,0 13,1 M. Kuhn. Optical Time-Domain Eavesdropping Risks of CRT Displays. Proc of the 2002 Symposium on Security and Privacy, pp.3-18,2002.
  14. http://www.scard-project.org/
  15. 3GPP TS 35.205(V4.0.0). 3rd Generation Partnership Project;Technical Specification Group Services and System Aspects;3G Security;Specification of the MILENAGE Algorithm Set,April 2001.
  16. 3GPP ETSI TR 133-909(V4.0.1). Universal Mobile Telecommunications System (UMTS);3G Security;Report on the design and evaluation of the MILENAGE algorithm set; 3GPP TR 33.909 version 4.0.1 Release 4, June 2001.
  17. K. Tiri, I. Verbauwhede. A VLSI design flow for secure side-channel attack resistant ICs. Proc of the Design, Automation and Test in Europe Conference and Exhibition(DATE’05),pp.1530-1591,2005.
  18. S. Ravi,A. Raghunathan,S. Chakradhar. Tamper Resistance Mechanisms for Secure Embedded Systems. Proc of the 17th International Conference on VLSI Design(VLSID’04), pp.605-611,2004.
  19. 19,0 19,1 C.H. Gebotys, R.J. Gebotys. A Framework for Security on NoC Technologies. Proc of the IEEE Computer Society Annual Symposium on VLSI (ISVLSI’03),2003.
  20. R. Anderson, M. Bond, J. Clulow, S. Skorobogatov. Cryptographic Processors - A Survey. IEEE Special Issue, 2005.(to appear)
  21. 21,0 21,1 FIPS PUB 140-2 Security Requirements for Cryptographic Modules. available at http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf
  22. 22,0 22,1 S. Skorobogatov, R. Anderson. Optical Fault Induction Attacks. CHES 2002, LNCS 2523, pp.2-12,2003.
  23. I.F Blake, G. Serroussi, N.P. Smart. Advances in elliptic curve cryptography. Cambridge University Press, 2005.
  24. E. Oswald. On Side-Channel Attacks and the Application of Algorithmic Counterm- easures, PhD dissertation, 2004.
  25. W. Schindler. A timing attack against RSA with the Chinese Remainder Theorem. CHES 2000,LNCS 1965,pp.109-124,2000.
  26. J.F. Dhem, F. Koeune, P.A. Leroux, P. Mestre, J.J. Quisquater, J.L. Willems. A practical implementation ofthe timing attack. Proc. of CARDIS 1998, 1998.
  27. A. Hevia,M. Kiwi. Strength of two data encryption standard implementations under timing attacks. ACM Transactions on Information and System Security,Vol.2,pp416-437,1999.
  28. D. Brumley, D. Boneh. Remote Timing Attacks are Practical. Proc of 12th Usenix Security Symposium,2003.
  29. B. Canvel,A. Hiltgen,S. Vaudenay,M. Vuagnoux. Password Interception in a SSL/TLS Channel. CRYPTO 2003,LNCS 2729,pp.583-599,2003.
  30. D.X. Song, D. Wagner, X. Tian. Timing Analysis of Keystrokes and Timing Attacks on SSH. Proc of 10th USENIX Security Symposium, 2001.
  31. J. Cathalo, F. Koeune, J.J. Quisquater. A New Type of Timing Attack: Application to GPS. CHES 2003,LNCS 2779,pp.291-303,2003.
  32. NESSIE Project. http://www.cryptonessie.org/
  33. K. Sakurai, T. Takagi. A Reject Timing Attack on an IND-CCA2 Public-key Cryptosystem. ICISC 2002,LNCS 2587, pp.359-374,2003.
  34. D. Boneh, R.A. DeMillo, R.J. Lipton. On the Importance of Eliminating Errors in Cryptographic Computations. Journal of Cryptology, Vol.14, pp.101-119, 2001.
  35. F. Bao, R.H. Deng, Y. Han, A. Jeng, A.D. Narasimhalu, T. Ngair. Breaking public key cryptosystems on tamper resistant devices in the presence of transient faults. SP'98,LNCS 1361,pp.115-124,1998.
  36. I. Biehl, B. Meyer, V. Műller. Differential fault attacks on elliptic curve cryptosystems. CRYPTO 2000,LNCS 1880,pp.131–146,2000.
  37. 37,0 37,1 E. Biham, A. Shamir. Differential fault analysis of secret key cryptosystems. CRYPTO ’97,LNCS 1294,pp.513-525,1997.
  38. S.M. Yen, M. Joye. Checking before output may not be enough against fault-based cryptanalysis. IEEE Trans. on Computers,Vol.49,pp.967-970,2000.
  39. D. Naccache, P.Q. Nguy, M. Tunstall, C. Whelan. Experimenting with Faults, Lattices and the DSA. PKC 2005,LNCS 3386,pp.16-28,2005.
  40. R.M. Sommer. Smartly analyzing the simplicity and the power of simple power analysis on smartcards.CHES 2000, LNCS 1965,pp.78-92,2000.
  41. 41,0 41,1 T.S. Messerges, E.A. Dabbish, R.H. Sloan, Examining smart-card security under the threat of power analysis attacks. IEEE Trans. Computers, 51(5), pp.541-552, 2002.
  42. T.S. Messerges, E.A. Dabbish, R.H. Sloan. Power analysis attacks of modular exponentiation in smart cards. CHES’99, LNCS 1717,pp.144-157,1999.
  43. R. Novak. SPA-based adaptive chosen-ciphertext attack on RSA implementation. PKC 2002, LNCS 2274,pp.252-262,2002.
  44. C.D. Walter. Sliding windows succumbs to big mac attack. CHES 2001, LNCS 2162, pp.286-299,2001.
  45. 45,0 45,1 45,2 45,3 45,4 45,5 J.S. Coron. Resistance against Differential Power Analysis for Elliptic Curve Cryptosystems. CHES’99,LNCS 1717, pp.292-302,1999.
  46. E. Oswald. Enhancing simple power-analysis attacks on elliptic curve cryptosystems. CHES 2002,LNCS 2523,pp.82-97,2003.
  47. M. Akkar,R. Bevan,P. Dischamp,D. Moyart. Power analysis, what is now possible....ASIACRYPT 2000,LNCS 1976,pp.489-502,2000.
  48. 48,0 48,1 C.H. Gebotys, R.J. Gebotys. Secure elliptic curve implementations: an analysis of resistance to power-attacks in a DSP processor. CHES 2002,LNCS 2523,pp.114-128,2003.
  49. 49,0 49,1 49,2 S. Chari, C. Jutla, J. Rao, P. Rohatgi. Towards sound approaches to counteract power-analysis attacks. CRYPTO’99, LNCS 1666,pp398-412,1999.
  50. D. May, H. Muller,N. Smart. Non-deterministic processors. ACISP 2001,LNCS 2119,pp.115-129,2001.
  51. 51,0 51,1 D. May, L.H. Muller, N.P. Smart. Random register renaming to foil DPA. CHES 2001, LNCS 2162, pp.28-38,2001.
  52. A. Shamir. Protecting smart cards from passive power analysis with detached power supplies.CHES 2000,LNCS 1965,pp.71-77,2000.
  53. 53,0 53,1 53,2 P.Y. Liardet, N.P Smart. Preventing SPA/DPA in ECC systems using the Jacobi form. CHES 2001, LNCS 2162,pp.391-401,2001.
  54. 54,0 54,1 M. Joye, J.J. Quisquater. Hessian elliptic curves and side-channel attacks. CHES 2001, LNCS 2162, pp.402-410,2001.
  55. 55,0 55,1 55,2 E. Brier, M. Joye. Weierstrass Elliptic Curves and Side-Channel Attacks. PKC 2002, LNCS 2274,pp.335-345,2002.
  56. T. Izu,T. Takagi. Exceptional procedure attack on elliptic curve cryptosystems. PKC 2003, LNCS 2567,pp.224-239,2003.
  57. M. Hasan. Power analysis attacks and algorithmic approaches to their countermeasur- es for Koblitz curve cryptosystems. IEEE Transactions on Computers,Vol.50,pp.1071-1083,2001.
  58. 58,0 58,1 58,2 Okeya, K., Sakurai, K., Power Analysis Breaks Elliptic Curve Cryptosystems even Secure against the Timing Attack. INDOCRYPT 2000, LNCS1977,pp.178-190,2000.
  59. 59,0 59,1 59,2 B. Möller. Securing Elliptic Curve Point Multiplication against Side-Channel Attacks. ISC 2001, LNCS 2200, pp.324-334,2001.
  60. 60,0 60,1 B. Möller. Parallelizable Elliptic Curve Point Multiplication Method with Resistance against Side-Channel Attacks. ISC 2002, LNCS 2433,pp.402-413,2002.
  61. Y. Hitchcock,P. Montague. A new elliptic curve scalar multiplication algorithm to resist simple power analysis. ACISP 2002,LNCS 2384,pp.214-225,2002.
  62. 62,0 62,1 62,2 T. Izu, T. Takagi. A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks. PKC 2002, LNCS 2274,pp.280-296,2002.
  63. T. Izu,B. Möller,T. Takagi. Improved elliptic curve multiplication methods resistant against side channel attacks. INDOCRYPT 2002,LNCS 2551,pp.296-313, 2002.
  64. E. TRICHINA AND A. BELLEZZA. Implementation of elliptic curve cryptography with built-in counter measures against side channel attacks. CHES 2002,LNCS 2523,pp.98-113, 2002.
  65. 65,0 65,1 65,2 M. Joye,C. Tymen. Protections against differential analysis for elliptic curve cryptography: An algebraic approach. CHES’2001,LNCS 2162,pp.377-390, 2001.
  66. 66,0 66,1 L. Goubin. A Refined Power-Analysis Attack on Elliptic Curve Crypto -systems. PKC 2003, LNCS 2567,pp.199-211, 2003.
  67. W. Fischer, C. Giraud, E.W. Knudsen, J.P. Seifert. Parallel scalar multiplication on general elliptic curves over Fp hedged against Non-Differential Side-Channel Attacks. Available at http://eprint.iacr.org/2002/007/.
  68. K. Okeya, T. Takagi. The Width-w NAF Method Provides Small Memory and Fast Elliptic Scalar Multiplications Secure against Side Channel Attacks. CT-RSA 2003, LNCS 2612,pp.328-342,2003.
  69. B. Möller. Securing elliptic curve point multiplication against side-channel attacks, addendum: Efficiency improvement. Available at http://www.informatik.tudarmstadt.de/TI/Mitarb- eiter/moeller/ecc-scaisc01.pdf, (2001).
  70. C.H. Lim. A New Method for Securing Elliptic Scalar Multiplication Against Side-Channel Attacks. ACISP 2004, LNCS 3108, pp.289-300, 2004.
  71. National Security Agency. NACSIM 5000 Tempest Fundamentals (U). Fort George G. Meade, Maryland, USA. Available from http://cryptome.org/nacsim-5000.htm.
  72. M.G. Kuhn, R.J. Anderson. Soft tempest: hidden data transmission using electromagnetic emanations. Information Hiding 1998,LNCS 1525,pp.124-142,1998.
  73. J.J. Quisquater, D. Samyde. Electromagnetic analysis (EMA): measures and counte- rmeasures for smart cards. E-smart 2001,LNCS 2140,pp.200–210,2001.
  74. K. Gandolfi,C.Mourte,F. Olivier. Electromagnetic Analysis: Concrete Results. CHES 2001,LNCS 2162,pp.251-261, 2001.
  75. 75,0 75,1 D. Agrawal, B. Archambeault, J.R. Rao, P. Rohatgi. The EM Side–Channel(s). CHES 2002,LNCS 2523,pp.29-45,2003.
  76. A. Shamir, E.Tramer. Acoustic cryptanalysis: on nosy people and noisy machines. Eurocrypt 2004 rump session, 2004.
  77. 77,0 77,1 J. Loughry, D. Umphress. Information leakage from optical emanations.ACM Transactions on Information and System Security, Vol.5,pp.262–289, 2002.
  78. 78,0 78,1 S. Vaudenay. Security Flaws Induced by CBC Padding – Applications to SSL, IPSEC, WTLS .EUROCRYPT 2002, LNCS 2332, pp.534-545,2002.
  79. S. Kent, R. Atkinson. Security Architecture for the Internet Protocol. RFC 2401,standard tracks, the Internet Society, 1998.
  80. Wireless Transport Layer Security. Wireless Application Protocol WAP-261-WTLS-200 -10406-a. Wireless Application Protocol Forum, 2001.http://www.wapforum.org/
  81. K.G. Paterson,A. Yau. Padding Oracle Attacks on the ISO CBC Mode Padding Standard.CT-RSA 2004,LNCS 2964,,pp.305–323,2004.
  82. A.K.L. Yau,K.G. Paterson,C.J. Mitchell. Padding Oracle Attacks on CBC-Mode Encryption with Secret and Random IVs. FSE 2005,LNCS 3557,pp.299-319, 2005.
  83. 83,0 83,1 83,2 D. Bleichenbacher. Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1. CRYPTO'98, LNCS 1462, pp.1-12, 1998.
  84. 84,0 84,1 84,2 J. Manger. A Chosen Ciphertext Attack on RSA Optimal Asymmetric Encryption Padding (OAEP) as Standardized in PKCS #1 v2.0. CRYPTO 2001,LNCS 2139,pp.230-238,2001.
  85. M. Bellare,P. Rogaway. Optimal Asymmetric Encryption. EUROCRYPT 1994, LNCS 950,pp.92-111,1994.
  86. V. Shoup. OAEP reconsidered. Journal of Cryptology,Vol.15,pp.223-249,2002.
  87. E. Fujisaki,T. Okamoto,D. Pointcheval,J. Stern. RSA-OAEP is secure under the RSA assumption. CRYPTO 2001,LNCS 2139,pp. 260-274, 2001.
  88. V. Klíma,T. Rosa.Further results and considerations on side channel attacks on RSA. CHES 2002,LNCS 2523,pp.244-259,2002.
  89. V. Klíma,O. Pokorný,T. Rosa. Attacking RSA-Based Sessions in SSL/TLS. CHES 2003,LNCS 2779,pp.426-440,2003.
  90. J. Kelsey,B. Schneier,D. Wagner,C. Hall. Side channel cryptanalysis of product ciphers. Proc of 5th European Symposium on Research in Computer Security, LNCS 1485,pp.97–110,1998.
  91. 91,0 91,1 Y. Tsunoo, E. Tsujihara, K. Minematsu, H. Miyauchi. Cryptanalysis of Block Ciphers Implemented on Computers with Cache. ISITA 2002, 2002.
  92. 92,0 92,1 Y. Tsunoo, T. Saito, T. Suzaki, M. Shigeri, H. Miyauchi.Cryptanalysis of DES Implemented on Computers with Cache. CHES 2003, LNCS 2779, pp.62–76, 2003.
  93. 93,0 93,1 D.A. Osvik, A. Shamir, E. Tromer. Cache Attacks and Countermeasures: the Case of AES. Available at http://eprint.iacr.org/2005/271.pdf.
  94. D. Page. Defending against cache-based side-channel attacks. Information Security Technical Report,Vol.8, No.1,2003.
  95. D. Page. Theoretical Use of Cache Memory as a Cryptanalytic Side-Channel. Available at http://eprint.iacr.org/2002/169.pdf.
  96. C.C. Tiu. A New Frequency-Based Side Channel Attack for Embedded Systems. Master degree thesis, Deparment of Electrical and Computer Engineering,University of Waterloo,Waterloo, Ontario, Canada, 2005.
  97. B. Yang, K. Wu, R. Karri. Scan-based Side-Channel Attack on Dedicated Hardware Implementations of Data Encryption Standard. Proc of International Test Conference 2004(ITC'2004),Charlotte,2004.
  98. W. Schindler. A Combined Timing and Power Attack. PKC 2002,LNCS 2274,pp.263-279, 2002.
  99. W. Schindler. On the optimization of side-channel attacks by advanced stochastic methods. PKC 2005, LNCS 3386,pp.85-103,2005.
  100. 100,0 100,1 L. Goubin,J. Patarin.DES and differential power analysis.CHES’99, LNCS 1717,pp.158-172,1999.
  101. P. Kocher, J. Jaffe,B. Jun. Using unpredictable information to minimize leakage from smartcards and other cryptosystems. USA patent, International Publication number WO 99/63696,1999.
  102. M. Joye, A.K. Lenstra, J.J. Quisquater. Chinese remaindering cryptosystems in the presence of faults. Journal of Cryptology,Vol.12,pp.241-245,1999.
  103. S. Fruhauf,L. Sourge. Safety device against the unauthorized detection of protected data. U.S. patent 5,404,402,1995.
  104. C. Clavier, J.S. Coron, N. Dabbous. Differential Power Analysis in the Presence of Hardware Countermeasures. CHES 2000,LNCS 1965, pp.252-263,2000.
  105. S. Chari, C. Jutla, J. R. Rao,P. Rohatgi. A Cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards. Proc of 2nd Advanced Encryption Standard (AES) Candidate Conference, Rome, Italy, 1999.
  106. K. Okeya, T. Takagi. A More Flexible Countermeasure against Side Channel Attacks Using Window Method. CHES’2003,LNCS 2779,pp.397-410,2003.
  107. C.D. Walter. Seeing through Mist Given a Small Fraction of an RSA Private Key. CT-RSA 2003, LNCS 2612,pp.391-402,2003.
  108. E. Oswald, M. Aigner. Randomized Addition-Subtraction Chains as a Countermeasure against Power Attacks. CHES 2001, LNCS 2162,pp.39-50,2001.
  109. K. Itoh, J. Yajima ,M. Takenaka,N. Torii.DPA Countermeasures by improving the Window Method. CHES 2002, LNCS 2523,pp.318-332,2002.
  110. D. Chaum. Blind Signatures for untraceable payments. CRYPTO’82, pp.199-203,1983.
  111. D. Chaum. Showing credentials without identification: Transferring signatures between unconditionally unlinkable pseudonyms.AUSCRYPT’90, LNCS 453, pp.246-264,1990.
  112. E. Brier, M. Joye. Weierstraβ Elliptic Curves and Side-Channel Attacks. PKC 2002, LNCS 2274, pp.335-345, 2002.
  113. L. Goubin. A sound method for switching between boolean and arithmetic masking. CHES 2001,LNCS 2162,pp.3-15,2001.
  114. E. Trichina, D.D. Seta, L. Germani. Simplified Adaptive Multiplicative Masking for AES. CHES 2002, LNCS 2523, pp.187-197, 2003.
  115. 115,0 115,1 C.D. Walter. Sliding Windows Succumbs to Big Mac Attack. CHES 2001, LNCS 2162, pp.286-299, 2001.
  116. 116,0 116,1 C.D. Walter. Longer keys may facilitate side channel attacks .SAC 2003, LNCS 3006, pp. 42-57, 2004.
  117. B. Schneier. Cryptographic Design Vulnerabilities. IEEE Computer, Vol.31, No.9,pp.29- 33,1998.