Как только это сделано, атакующему требуется лишь одна игла микропробника для считывания всего содержимого EEPROM. В результате процесс анализа становится более легким, чем при пассивном исследовании, когда обычно анализируется только трасса выполнения. Также это помогает избежать чисто механических трудностей одновременной работы с несколькими иглами-микропробниками на линиях шины, ширина которых составляет лишь несколько микрон.
Program Counter load
load low high
Microcode Control Unit
1
земля
X X
шина данных (8 bit)
адресная шина (16 bit)
игла микропробника
сигнал синхронизации
EEPROM
X-удалeнное соединение, *-созданное новое соединение
В принципе, создателям вычислительной техники давно известно, что к инженерно-защищенным устройствам типа смарт-карт, которые обычно малы и компактны, с целью вызова вычислительной ошибки можно применить некоторые уровни радиационного облучения или нагревания, подачу неправильного напряжения питания или нестандартную тактовую частоту. Известно также и то, что при возникновении сбоя в вычислениях компьютерное устройство может выдать информацию, полезную для восстановления секретных данных. Однако, насколько серьезна эта угроза в действительности, долгое время мало кто подозревал.
В конце сентября 1996 г. коллектив авторов из Bellcore, научно-исследовательского центра американской компании Bell, сообщил о том, что обнаружена серьезная потенциальная слабость общего характера в защищенных криптографических устройствах, в частности, в смарт-картах для электронных платежей. Авторы – Бонэ, ДеМилло и Липтон – назвали свой метод вскрытия «криптоанализом при сбоях оборудования», суть же его в том, что искусственно вызывая ошибку в работе электронной схемы с помощью ионизации или микроволнового облучения, а затем сравнивая сбойные значения на выходе устройства с заведомо правильными значениями, теоретически можно восстанавливать криптографическую информацию, хранящуюся в смарт-карте [BD97].
Исследования ученых показали, что новой угрозе подвержены все устройства, использующие криптоалгоритмы с открытыми ключами для шифрования информации и аутентификации пользователя. Это могут быть смарт-карты, применяемые для хранения данных (например, электронных денег); SIM-карточки для сотовой телефонии; карточки, генерирующие электронные подписи или обеспечивающие аутентификацию пользователя при удаленном доступе к корпоративным сетям. Правда, разработанная в Bellcore атака была применима для вскрытия ключей исключительно в криптосхемах с открытым ключом – RSA, алгоритм цифровой подписи Рабина, схема идентификации Фиата-Шамира и тому подобные конструкции.
Главным же результатом публикации Bellcore стало то, что к известной, вообще говоря, в узком кругу проблеме было привлечено внимание гораздо большего числа исследователей. И меньше чем через месяц после появления статьи Бонэ и его коллег, в октябре 1996 г., стало известно и о разработке аналогичной теоретической атаки в отношении симметричных шифров, т.е. криптоалгоритмов закрытия данных с общим секретным ключом. Новый метод был разработан знаменитым тандемом израильских криптографов Эли Бихамом и Ади Шамиром, получив название «Дифференциальный анализ искажений» или ДАИ (по-английски DFA).
На примере самого распространенного блочного шифра DES эти авторы продемонстрировали, что в рамках той же «беллкоровской» модели сбоя в работе аппаратуры можно «вытащить» полный ключ DES из защищенной смарт-карты путем анализа менее 200 блоков шифртекста (блок DES – 8 байт). Более того, впоследствии появился еще ряд работ Бихама-Шамира с описанием методов извлечения ключа из смарт-карты в условиях, когда о реализованной внутри криптосхеме не известно практически ничего [BS97].
Наиболее часто критика в адрес ДАИ, особенно со стороны выпускающих смарт-карты фирм, сводилась к тому, что вся эта методика носит сугубо теоретический характер. Ведь никто, дескать, не продемонстрировал на практике, что сбойные ошибки можно вызывать именно в криптосхеме, причем конкретно в алгоритме разворачивания ключа…