Проблемы защиты смарт-карт.
Проблемы защиты смарт-карт
По прогнозам фирмы Dataquest, рынок смарт-карт ожидает значительный скачок от нынешних 941 миллиона карт в год до 4,7 миллиардов в 2002 г. Смарт-карта — инженерно-техническое устройство размером с кредитную карточку, которое содержит миниатюрный компьютерный чип и используется для самых разнообразных целей: от аутентификации пользователя ПК, хранения его криптографических ключей, шифрования электронной почты вплоть до хранения так называемых «цифровых наличных». При этом, как достаточно уверенно заявляют официальные представители смарт-картной индустрии, «чип-карты — это наиболее безопасная из существующих технологий. Их очень сложно вскрывать». Но так ли это на самом деле?
Общая формулировка концепции аналитического метода
Типичная смарт-карта — это 8-битный микропроцессор, постоянное запоминающее устройство или ПЗУ (ROM), электрически перепрограммируемое ПЗУ (EEPROM), ОЗУ (RAM), последовательные вход и выход. Все это размещается в одном чипе, заключенном в корпус пластиковую карту. Криптографический ключевой материал хранится в EEPROM. Стандартное криптографическое устройство (и, в частности, смарт-карта) использует секретный ключ для обработки входной информации и/или выработки выходной информации. Общепринятые традиционные конструкции протоколов предполагают, что входное и выходное сообщения доступны злоумышленнику, а какаялибо информация о ключах ему не известна. Однако на самом деле атакующей стороне может быть доступна и всевозможная побочная информация, выдаваемая криптоустройством: электромагнитное излучение, сигналы об ошибках или об интервалах времени между выполняемыми инструкциями, колебания в потреблении электропитания и другие данные (П. Кочер, Д. Джаффе, В. Джун «Введение в дифференциальный анализ питания»). Как свидетельствуют достаточно многочисленные опубликованные работы ученых-исследователей, всю эту утекающую информацию можно использовать для анализа и вскрытия чипов с целью доступа к хранящимся в них секретным сведениям.
«Криптоанализ сбоев» для вскрытия схем с открытым ключом
Известно, что к инженерно-защищенным устройствам типа смарт-карт, которые обычно малы и компактны, с целью вызова вычислительной ошибки можно применить некоторые уровни радиационного облучения или нагревания, подачу неправильного напряжения питания или нестандартную частоту таймера. Известно также, что при возникновении сбоя в вычислениях компьютерное устройство может выдать информацию, полезную для восстановления секретных данных. В конце сентября 1996 г. коллектив авторов из Bellcorc, научно-исследовательского центра американской компании Bell, сообщил о том, что обнаружена серьезная потенциальная слабость общего характера в защищенных криптографических устройствах, в частности, в смарт-картах для электронных платежей. Авторами данной исследовательской работы были Дэн Бонэ (Dan Boneh) — ученый-исследователь Bellcore; Рич ДеМилло (Rich DeMillo), возглавляющий информационно-технологическую лабораторию центра, и Ричард Липтон (Richard Lipton), профессор Принстонского университета и по совместительству консультант Bellcore.
Авторы назвали свой метод вскрытия «Криптоанализом при сбоях оборудования» (Cryptanalysis in the Presence of Hardware Faults), в основе его лежит алгоритм сравнения сбойных значений с правильными значениями, позволяющий затем восстановить криптографическую информацию, хранящуюся в смарткарте. Исследования показали, что новой угрозе подвержены все инженерно-защищенные устройства, использующие криптоалгоритмы с открытыми ключами для шифрования информации и аутентификации пользователя. Это могут быть смарт-карты, применяемые для хранения некоторых данных (например, электронных денег); идентификационные карточки для сотовой телефонии; карточки, генерирующие электронные подписи или обеспечивающие аутентификацию пользователя при удаленном доступе к корпоративным сетям. Разработанная учеными Bellcore атака применима именно к устройствам, использующим криптографию с открытым ключом. Было показано, что с помощью их новой методики могут быть вскрыты такие известные криптоалгоритмы, как RSA, схема цифровой подписи Рабина и схема идентификации Фиата-Шамира. Атака Bellcore основана на специфических алгебраических свойствах модульной арифметики и не может применяться к сложным побитовым манипуляциям, лежащим в основе большинства алгоритмов с секретным ключом типа DES.
Авторы теоретически продемонстрировали, что предложенная ими атака является намного более мощной, нежели известный криптоанализ на основе факторизации. Поскольку реальные физические воздействия требуют создания специальных лабораторных исследований, авторы ограничились тестированием алгоритма лишь при гипотетических вычислительных сбоях. Однако в криптографическом сообществе считается, что нет необходимости полностью моделировать атаку для того, чтобы показать ее серьезность. Уже хорошо известно, что даже одна возможность существования подобной атаки — признак большой опасности. Одним из путей защиты против обнаруженного метода вскрытия является проверка криптоустройством вычисленных значений, например, путем повторения вычислений и сравнения полученных в обоих случаях значений. К сожалению, такая форма защиты обычно снижает скорость вычислений примерно в два раза. Для некоторых приложений такой путь вычислений неприменим.
Рис. 1. Традиционные криптографические предположения
Дифференциальный анализ искажений или ДАИ
Меньше чем через месяц после появления работы ученых Bellcore (в октябре 1996 г.) стало известно и о разработке аналогичной теоретической атаки в отношении симметричных криптоалгоритмов. Новый метод вскрытия криптографических смарт-карт получил название «дифференциальный анализ искажений» или ДАЙ (Differential Fault Analysis, DFA). Его авторами стали известные израильские криптографы Эли Бихам (Eli Biham) из Института Технион и Ади Шамир (Adi Shamir) из Института Вейцмана. В мире компьютерной безопасности эти ученые наиболее известны благодаря разработанному ими в начале 90-х годов методу дифференциального криптоанализа. Сегодня на принципах этого метода базируются практически все криптоаналитическис атаки в отношении блочных шифров. В основу же метода ДАЙ Бихам и Шамир заложили идею исследователей из Bellcore. То есть выдвинуто фундаментальное предположение, что подвергнув защищенное от инженерного доступа устройство (такое как смарт-карта) определенному физическому воздействию (например, ионизации или микроволновому излучению), можно с существенной вероятностью вызвать искажение бита в одном из произвольных мест одного из регистров в каком-то произвольном промежуточном состоянии процесса криптографических вычислений. Далее предполагается, что атакующий имеет физический доступ к смарт-карте, то есть возможность повторить свой эксперимент с теми же самыми открытым текстом и ключом, но уже без применения внешнего физического воздействия. В результате — два шифртекста, полученных из одного и того же (неизвестного) открытого текста и на одном ключе, но где один из шифртекстов корректный, а другой — результат вычисления, искаженного сбоем одного бита в процессе преобразований. Разработанная израильскими авторами техника анализа такого рода пар текстов оказалась применима практически ко всем криптосистемам с секретным ключом, описанным в открытой литературе. В частности, они применили ДАЙ к случаю DES и показали, что в рамках той же модели сбоя в работе аппаратуры, рассмотренной в Bellcore, можно «вытащить» полный ключ DES из запечатанного и защищенного от методов инженерного доступа шифратора путем анализа менее 200 блоков шифртекста, порожденных неизвестным открытым текстом. Мощность метода ДАЙ можно проиллюстрировать тем фактом, что даже если DES заменить на тройной DES (чей ключ длиной 168 бит позволял считать его практически недоступным для «классического» криптоанализа), то та же самая атака позволяет вскрывать его с помощью такого же количества шифртекстов.
Рис. 2. Действительно доступная информация
В ряде последующих публикаций и работе Э. Бихама и А. Шамира «Дифференциальный анализ искажений в криптосистемах с секретным ключом», заключающей данное исследование, авторы представили модифицированную модель ДАЙ, которая позволяет отыскивать секретный ключ, хранящийся в смарт-карте в условиях, когда об архитектуре и функционировании конкретной криптосистемы не известно практически ничего. На примере DESподобного блочного шифра авторы доказали, что за полиномиальное время можно установить структуру неизвестного криптоалгоритма, скрытого в инженерно-защищенном устройстве, включая определение его цикловых функций, S-боксов и субключей.
Усовершенствование метода ДАИ с помощью техники «глич-атак»
Теоретические атаки, описанные выше, получили достаточно широкий резонанс в прессе и, наряду со значительным интересом, вызвали массу критических откликов. Наиболее часто критические замечания сводились к тому, что вся эта методика носит чисто теоретический характер: никто не продемонстрировал на практике, что в реальном криптоустройстве отдельные битовые ошибки действительно можно вызывать именно в алгоритме разворачивания ключа. Известно, что в большинстве смарт-карт ключи хранятся в перепрограммируемой памяти EEPROM, где также содержатся и почти все программные приложения данного устройства. Поэтому ошибки, вызываемые ионизирующим излучением, гораздо вероятнее повредят программное обеспечение, что приведет либо к выходу из строя всей системы в целом, либо к неинформативным ошибочным действиям. Однако весной 1997 г. была опубликована значительно более практичная и усовершенствованная атака типа ДАЙ, требующая менее 10 шифртекстов (Р. Андерсон, М. Кун «Недорогие атаки против защищенных от вскрытия устройств»). Новый метод вполне практичен, так как использует модель принудительных искажений, уже успешно реализованную в атаках на реальные смарт-карты. Трюк заключается в индуцировании небольших изменений в программных кодах, а не в попытках вызвать искажения в ключах или других данных. Метод Куна и Андерсона построен на том важном обстоятельстве, что смарт-карты и другие криптопроцессоры часто могут быть атакованы посредством манипуляций с тактовой частотой или напряжением питания (так называемые «глич-атаки»). Значительное увеличение тактовой частоты или кратковременные скачки по питанию вызывают ситуации, когда программный счетчик увеличивает свое значение, а текущая инструкция либо выполняется некорректно, либо вообще не выполняется. Типичная атака, применяемая крэкерами при вскрытии платного телевидения, — заменять в смарткарте тактовый импульс частотой в 5 МГц на четыре импульса частотой 20 МГц. Тем самым растягиваются циклы вывода, что дает возможность выдавать дампы с ключевым материалом на порт выхода. Авторы подчеркивают, что атаки, основанные на нештатных инструкциях, не только подтверждены практически (в отличие от чисто теоретических методов искажения отдельных бит облучением), но и служат основой для более мощных атак на многие криптографические алгоритмы. В частности, они демонстрируют модель эффективной «глич-атаки» для вскрытия подписи по алгоритму RSA, модель вскрытия 40 бит ключа DES по 8 блокам искаженного шифртекста (остальные 16 бит ключа находятся тривиальным перебором), а также методику восстановления структуры неизвестного блочного шифра, скрытого в инженерно-защищенном корпусе (Р. Андерсон, М. Кун «Стойкость к вскрытию. Предупреждение»).
Дифференциальный анализ питания или ДАП
Летом 1998 г. стало известно еще об одном методе вскрытия смарт-карт, причем более чем успешно реализованном на практике. Как выяснилось, состоящая из 4 человек консалтинговая криптофирма Cryptography Research из СанФранциско разработала технически сложные и чрезвычайно эффективные инструменты анализа, которые потенциальный злоумышленник может использовать для извлечения секретных ключей из криптографических устройств. Как сказал Пол Кочер (Paul Kocher), 25-летний глава фирмы, «мы пока не нашли ни одной карты, которую нельзя было бы вскрыть». Кочер и его коллеги сумели вскрыть защиту смарт-карт с помощью привлечения математического аппарата для анализа флуктуаций в потреблении чипом электрического питания.
На самом деле в течение полутора лет специалисты из Cryptography Research работали над задачей о том, каким образом можно было бы повысить стойкость портативных криптографических жетонов, включая смарт-карты. Все эти месяцы, не предавая свои исследования широкой огласке, они знакомили сообщество производителей смарт-карт с разработанными в фирме видами атак, получившими названия «простой анализ питания» (ПАП), «дифференциальный анализ питания» (ДАЛ) и «дифференциальный анализ высокого порядка» (ДАВП) (П. Кочер, Д. Джаффе, В. Джун «Введение в дифференциальный анализ питания»). Исследователи уверены, что данные методы анализа следует рассматривать всерьез, поскольку такого рода атаки можно проводить быстро и используя уже готовое оборудование ценой от нескольких сотен до нескольких тысяч долларов. Базовые концепции новой методики вскрытия были сформулированы в известной работе Пола Кочера (1995 г.) «Криптоанализ на основе таймерной атаки», показавшей, что можно вскрывать криптоустройства, просто точно замеряя интервалы времени, которые тем требуются на обработку данных.
В ПАП-атаках криптоаналитик непосредственно наблюдает за динамикой потребления энергии системой. Количество расходуемой энергии изменяется в зависимости от выполняемой микропроцессором инструкции. Характеристики питания можно точно измерять. В частности, для отслеживания флуктуаций в потреблении питания можно использовать простой амперметр, сконструированный на базе резистивной нагрузки. Можно выявлять большие блоки инструкций, такие как циклы DES, операции RSA и т.д., поскольку эти операции, выполняемые процессором, имеют внутри себя существенно различающиеся по виду фрагменты. При более сильном усилении можно выделять и отдельные инструкции. Хотя исследователями Cryptography Research обнаружено множество смарт-карт, уязвимых к ПАП-анализу, одновременно признается, что создание стойких к ПАП-атакам устройств не представляет особых сложностей.
Дифференциальный анализ питания (ДАП) значительно более мощная атака, нежели ПАП, и значительно более сложная для противодействия. В то время как ПАП-атаки главным образом строятся на визуальном анализе с целью выделения значимых флуктуаций питания. метод ДАП построен на статистическом анализе и технологиях исправления ошибок для выделения информации, имеющей корреляции с секретными ключами. Для использования статистической техники анализируются результаты 1000 транзакций.
Еще более сложный метод анализа — ДАП-ВП. В то время как ДАП-техника анализирует информацию между образцами данных на протяжении отдельного события, метод анализа дифференциалов высокого порядка можно использовать для коррелирования информации между многими криптографическими субоперациями. В ДАП-атаках высокого порядка сигналы собираются от многих источников, для их сбора применяются различные техники измерения, а сигналы с различными сдвигами по времени комбинируются в процессе применения методов ДАП.
Специалисты Cryptography Research разработали ряд методов противодействия ДАП и связанным с ним атакам. В частности, создана конструкция полупроводниковой вентильной логики, обеспечивающая значительно меньший уровень просачивания информации. Для систем с физическими или стоимостными ограничениями в Cryptography Research разработаны аппаратные и программные методы, которые включают в себя сокращение просачиваемой информации, внесение шума в измерения, декоррелирование внутренних переменных и секретных параметров, а также декоррелирование по времени криптографических операций (П. Кочер, Д. Джаффе, В. Джун «Введение в дифференциальный анализ питания»).
Физические и разрушающие атаки
Все описанные выше способы вскрытия смарткарт являются достаточно «мягкими» и для их проведения не требуется вскрытие корпуса устройства. Однако существуют и другие, более жесткие методы, когда для добычи информации злоумышленники идут на разрушение смарт-карты. Именно таким способам физических и разрушающих атак на криптоконтроллеры было посвящено выступление уже упоминавшихся Куна и Андерсона на Втором семинаре USENIX по электронной коммерции (Р. Андерсон, М. Кун «Стойкость к вскрытию. Предупреждение»). Приведем некоторые выдержки из этого доклада.
Физические атаки на некоторые микроконтроллеры почти тривиальны. Например, запирающий бит некоторых ранних устройств с памятью EEPROM, расположенной на чипе, обнулялся простым фокусированием пучка ультрафиолета на его ячейке, которая находилась достаточно далеко от остальной памяти. К современным смарт-картам подступиться несколько сложнее, но не намного. Как правило, самое большее, что делают производители для защиты кристалла, это устанавливают емкостный датчик либо оптический сенсор под светонепроницаемой оболочкой.
Однако практика показывает, что данные средства применяются не так уж часто, а если и применяются, то их несложно обнаружить и обойти. Типичный чиповый модуль имеет тонкое пластиковое основание размером около квадратного сантиметра с контактными зонами с обеих сторон. Одна сторона модуля видна на самой смарт-карте и контактирует со считывателем: кремниевая матрица приклеена к другой стороне основания, подсоединяясь с помощью тонких золотых или алюминиевых проводов. Та сторона пластины, где находится чип, покрывается эпоксидной смолой, и получившийся чиповый модуль вклеивается в карту. Вынуть чип из карты легко. Сначала с помощью острого ножа или ланцета срезается пластик тыльной стороны карты до тех пор, пока не покажется эпоксидная смола. Затем на смолу наносится несколько капель концентрированной азотной кислоты (>98% НМОз) и выжидается несколько минут, пока часть смолы не растворится (процесс может быть ускорен путем нагревания кислоты инфракрасным излучением). Прежде, чем кислота растворит слишком много эпоксидного слоя и затвердеет, кислоту и смолу смывают ацетоном. Эта процедура повторяется от 5 до 10 раз, пока полностью не покажется кремниевая матрица. После этого чип можно промыть и он будет полностью функциональным, если не была повреждена соединительная проводка. У большинства чипов имеется защитный поверхностный слой из оксида или нитрата кремния, который предохраняет их от излучений оборудования и диффузии ионов.
Рис. 3. Полностью функциональный процессор смарткарты, пластиковый корпус которой удален для экспериментов с микропробником. Все необходимые для этого удаления инструменты были приобретены в аптеке за 30 дол.
Азотная кислота на него не действует, поэтому для его удаления специалисты используют сложный метод сухого травления. Но это не единственная возможность для доступа к чипу. Другим методом является использование микроигл-пробников, которые с помощью ультразвуковой вибрации удаляют защитный слой непосредственно под точкой контакта. Кроме того, для локального удаления защитного слоя можно также использовать лазерные резаки-микроскопы, применяемые в лабораториях клеточной биологии. Техника вскрытия, описанная выше, успешно применяется любителями-крэкерами. Далее же вкратце будут описаны некоторые технологии, доступные хорошо оснащенным лабораториям, занимающимся изучением полупроводников. Сегодня в мире имеется нескольких сотен таких лабораторий, например, в университетах и промышленных исследовательских центрах.
В 1993 г. был опубликован обзор технологии, созданной в Кавендишской лаборатории Кембриджа для обратного восстановления схемы сложных кремниевых чипов. Авторами статьи разработана техника, позволяющая последовательно снимать слои чипа один за другим. Одно из примененных новшеств — техника показа примесных N и Р слоев на основе эффекта Шоттки (Schottky): тонкая пленка из золота или палладия накладывается на чип, образуя диод, который может быть виден в электронном луче. Изображения последовательных слоев чипа вводятся в компьютер, специальное программное обеспечение очищает первоначально нечеткие образы, выдает их ясное представление и распознает стандартные элементы чипа. Данная система была протестирована на процессоре Intel 80386 и ряде других устройств. Работа над восстановлением 80386 заняла две недели, причем для правильной реконструкции обычно требуется около шести образцов чипа. Результатом работ могут быть диаграммы масок и схем или даже список библиотечных ячеек, из которых чип был сконструирован.
В условиях, когда конструкция и принципы функционирования чипа уже известны, существует очень мощная технология, разработанная в IBM для исследования чипа в работе даже без удаления защитного слоя. Для измерения рабочих характеристик устройства над ним помещают кристалл ниобата лития. Показатель преломления этой субстанции изменяется при изменении электрического поля, и потенциал находящегося под ней кремния может считываться с помощью ультрафиолетового лазерного луча, проходящего через кристалл под скользящим углом наклона. Возможности этой технологии таковы, что можно считывать сигнал в 5 Ви с частотой до 25 МГц. Понятно, что это стандартный путь для хорошо оснащенных лабораторий при восстановлении криптоключей в чипах, конструкция которых известна.
Ответом изготовителей чипов на атаки такого рода стала разработка «специального клея» покрытия для чипов, которое не только непрозрачно и обладает проводимостью, но также надежно противостоит попыткам уничтожить его, обычно разрушая кремниевый слой, находящийся под ним. Такие покрытия относятся к федеральному стандарту США FIPS 140-1 и широко используются в американской военной промышленности, но не являются общедоступными.
Имеются весьма сложные методы и для реконструкции чипа с хорошо защищенной поверхностью. Например, рассекреченная недавно технология, изобретенная в Национальной лаборатории Сэндиа (США), позволяет исследовать содержимое чипа с задней стороны с помощью инфракрасного лазера с длиной волны, при которой кремниевый субстрат становится прозрачным. Эта технология позволяет исследовать операции устройства и идентифицировать логические состояния отдельных транзисторов.
Исследование техники разрезания чипа ведет к более общей (и сравнительно неисследованной) проблеме — атакам, которые включают в себя активную модификацию исследуемого чипа, а не просто пассивное его исследование. К примеру, есть все основания полагать, что некоторые успешные атаки пиратов на систему платного ТВ проводились с использованием рабочих станций с фокусированием ионного пучка (focused ion beam workstation — FIB). Такой аппарат может вырезать траки в металлизированном слое чипа и формировать новые траки или изолирующие слои. Кроме того, аппарат может имплантировать ионы для изменения толщины слоя кремния и даже строить сквозные переходы к проводящим структурам в нижележащих слоях чипа. Такие аппараты стоят несколько миллионов долларов, но недостаточно богатые злоумышленники арендуют их на некоторое время у крупных полупроводниковых компаний. Обеспеченные таким инструментарием атаки на смарт-карты становятся более простыми и мощными. Типичная атака заключается в отсоединении почти всех процессов ЦПУ от шины, кроме EEPROM и компоненты ЦПУ, генерирующей доступ по чтению. Например, программный счетчик может быть оставлен подсоединенным таким образом, что области памяти будут по порядку доступны по мере подачи тактовых импульсов.
Как только это сделано, атакующему требуется лишь одна игла микропробника или электрооптический пробник для считывания всего содержимого EEPROM. В результате процесс анализа становится более легким, чем при пассивном исследовании, когда обычно анализируется только трасса выполнения. Также это помогает избежать чисто механических’ трудностей одновременной работы с несколькими микроиглами-пробниками на линиях шины, ширина которых составляет лишь несколько микрон (Р. Андерсон, М. Кун «Стойкость к вскрытию. Предупреждение»).
Некотрые выводы
Вся представленная здесь информация свидетельствует о том, что неразумно предполагать, будто конструкция миниатюрного кремниевого чипа или информация, хранящаяся в нем, может быть недоступна хорошо подготовленному злоумышленнику.
Доверие общественности к новой технологии — это важнейший фактор для реализации планов индустрии по широкому внедрению смарткарт. Именно поэтому промышленные и торговые круги, занимающиеся смарт-картами, стараются либо просто не замечать сообщений о взломе устройств, либо максимально принизить их значение, именуя «чисто лабораторными атаками», повторить которые по силам лишь нескольким специалистам во всем мире.
Однако результаты исследований специалистов свидетельствуют об обратном. И нелишне напомнить слова Пола Кочера, совсем небольшая фирма которого не располагает каким-либо сверхсложным дорогостоящим оборудованием: «Мы пока не нашли ни одной карты, которую нельзя было бы вскрыть».
Рис. 4. Модифицированная атака на криптопроцессор с помощью рабочей станции FIB, позволяющая легко осуществить доступ к засекреченному содержимому EEPROM, используя единственную иглу-микропробник