Киви Берд - Гигабайты власти
В конце сентября 1996 г. коллектив авторов из Bellcore, научно-исследовательского центра американской компании Bell, сообщил о том, что обнаружена серьезная потенциальная слабость общего характера в защищенных криптографических устройствах, в частности, в смарт-картах для электронных платежей. Авторы – Бонэ, ДеМилло и Липтон – назвали свой метод вскрытия «криптоанализом при сбоях оборудования», суть же его в том, что искусственно вызывая ошибку в работе электронной схемы с помощью ионизации или микроволнового облучения, а затем сравнивая сбойные значения на выходе устройства с заведомо правильными значениями, теоретически можно восстанавливать криптографическую информацию, хранящуюся в смарт-карте [BD97].
Исследования ученых показали, что новой угрозе подвержены все устройства, использующие криптоалгоритмы с открытыми ключами для шифрования информации и аутентификации пользователя. Это могут быть смарт-карты, применяемые для хранения данных (например, электронных денег); SIM-карточки для сотовой телефонии; карточки, генерирующие электронные подписи или обеспечивающие аутентификацию пользователя при удаленном доступе к корпоративным сетям. Правда, разработанная в Bellcore атака была применима для вскрытия ключей исключительно в криптосхемах с открытым ключом – RSA, алгоритм цифровой подписи Рабина, схема идентификации Фиата-Шамира и тому подобные конструкции.
Главным же результатом публикации Bellcore стало то, что к известной, вообще говоря, в узком кругу проблеме было привлечено внимание гораздо большего числа исследователей. И меньше чем через месяц после появления статьи Бонэ и его коллег, в октябре 1996 г., стало известно и о разработке аналогичной теоретической атаки в отношении симметричных шифров, т. е. криптоалгоритмов закрытия данных с общим секретным ключом. Новый метод был разработан знаменитым тандемом израильских криптографов Эли Бихамом и Ади Шамиром, получив название «Дифференциальный анализ искажений» или ДАИ (по-английски DFA).
На примере самого распространенного блочного шифра DES эти авторы продемонстрировали, что в рамках той же «беллкоровской» модели сбоя в работе аппаратуры можно «вытащить» полный ключ DES из защищенной смарт-карты путем анализа менее 200 блоков шифртекста (блок DES – 8 байт). Более того, впоследствии появился еще ряд работ Бихама-Шамира с описанием методов извлечения ключа из смарт-карты в условиях, когда о реализованной внутри криптосхеме не известно практически ничего [BS97].
Наиболее часто критика в адрес ДАИ, особенно со стороны выпускающих смарт-карты фирм, сводилась к тому, что вся эта методика носит сугубо теоретический характер. Ведь никто, дескать, не продемонстрировал на практике, что сбойные ошибки можно вызывать именно в криптосхеме, причем конкретно в алгоритме разворачивания ключа…
Но уже весной 1997 года появилось описание не теоретической, а весьма практичной атаки, получившей название «усовершенствованный метод ДАИ». Авторы атаки, уже упоминавшиеся кембриджский профессор Росс Андерсон и его (в те времена) аспирант из Германии Маркус Кун, продемонстрировали, что могут извлекать ключ из смарт-карты менее чем по 10 блокам шифртекста. В основу нового метода была положена модель принудительных искажений или «глич-атак» (от английского glitch – всплеск, выброс), реально практикуемых кракерами при вскрытии смарт-карт платного телевидения. Под глич-атаками понимаются манипуляции с тактовой частотой или напряжением питания смарт-карт, что позволяет выдавать дампы с ключевым материалом на порт выхода устройства. Эффективность глич-атак продемонстрирована кембриджскими авторами как на симметричных криптосхемах, так и на вскрытии алгоритмов с открытым ключом [АК97].
Анализ побочных каналов утечкиЛетом 1998 г. пришло известие еще об одном методе вскрытия смарт-карт, также более чем успешно реализованном на практике. Совсем небольшая, состоящая из 4 человек консалтинговая криптофирма Cryptography Research из Сан-Франциско разработала чрезвычайно эффективный аналитический инструментарий для извлечения секретных ключей из криптографических устройств. По словам главы фирмы Пола Кочера, которому в ту пору было 25 лет, исследователям «не удалось найти ни одной карты, которую нельзя было бы вскрыть».
Кочер, надо отметить, по образованию биолог, а хакерством занимался с детства как хобби. Не исключено, что именно биологическое образование помогло ему выработать собственный стиль анализа «черных ящиков», относясь к ним как к живым организмам и внимательно исследуя все доступные признаки их «жизнедеятельности». В традиционном анализе криптоустроиств и защищенных протоколов принято предполагать, что входное и выходное сообщения доступны злоумышленнику, а какая-либо информация о хранимых внутри данных (криптоключах, например) ему неизвестна. Однако, любое электронное устройство состоит из конкретных элементов, выдающих в окружающую среду информацию о своей работе. А значит на самом деле атакующей стороне может быть доступна и всевозможная побочная информация, выдаваемая криптоустройством: электромагнитное излучение, сигналы об ошибках или об интервалах времени между выполняемыми инструкциями, колебания в потреблении электропитания и другие данные.
Вообще говоря, все это очень хорошо известно военным и спецслужбам, где разработаны специальные методы работы с побочными каналами утечки информации, но тема эта – под кодовым наименованием Tempest – строго засекречена и открытых публикаций о ней очень мало (подробнее см. раздел «Мужчины с ошеломительным оснащением»).
Кочер и его коллеги, можно сказать, переизобрели секретные методы спецслужб и научились вскрывать защиту смарт-карт с помощью привлечения аппарата математической статистики и алгебраических методов исправления ошибок для анализа флуктуации в потреблении чипом электропитания. Делалось это примерно в течение полутора лет с 1996 по 1998 год, когда специалисты Cryptography Research занимались задачей о том, каким образом можно было бы повысить стойкость портативных криптографических жетонов, включая смарт-карты. Не предавая свои исследования широкой огласке, они знакомили сообщество производителей смарт-карт с разработанными в фирме видами атак, получившими названия ПАП (простой анализ питания) и ДАЛ (дифференциальный анализ питания, или DPА) [KJ99].
Вполне очевидно, что данные методы анализа заслуживают самого серьезного внимания, поскольку атаки такого рода можно проводить быстро и используя уже готовое оборудование ценой от нескольких сотен до нескольких тысяч долларов. Базовые же концепции новой методики вскрытия сформулированы в более ранней и достаточно известной работе Пола Кочера «Криптоанализ на основе таймерной атаки» [РК96], где было продемонстрировано, что можно вскрывать криптоустройства, просто точно замеряя интервалы времени, которые тем требуются на обработку данных.