Шрифт:
1) полностью восстановить секретную схему алгоритма шифрования Crypto-1, запечатанного в чип для защиты данных;
2) отыскать относительно простой и дешевый метод для извлечения криптоключей из чипа.
В результате удалось смоделировать атаку и успешно клонировать карточку-пропуск Mifare Classic для входа в здания университета.
Платформа Mifare до последнего времени включала в себя пять основных типов микросхем для карт с бесконтактным, двойным (чип/магнитная полоса) и тройным (чип/полоса/USB) интерфейсом. В связи с компрометацией Mifare Classic фирма NXP только что объявила о вводе до конца 2008 года нового, криптографически более сильного чипа Mifare Plus, в основе которого лежит алгоритм AES.
Самые простые, а потому самые дешевые и распространенные в реальных приложениях типы - это Ultralight (MF0 U10, U11) и Classic или Standard (MF1 S50, S70). У этих чипов нет процессора и, соответственно, операционной системы, а у Ultralight нет и никакой криптографии. Объем памяти EEPROM - от 512 байт (Ultralight) до 1 и 4 Кбайт (Classic).
Остальные три типа построены на основе процессора 80С51. Они имеют более развитую функциональность на основе Java, но и стоят существенно дороже - доллары, а не десятки центов, как Mifare Classic или копеечный Ultralight. Самый дешевый чип из числа дорогих, DESFire (MF3 D40), реализует крепкий шифр 3DES и имеет перезаписываемую память 4 Кбайт. Карта Mifare ProX (P8RF) имеет двойной интерфейс (плюс магнитная полоса), 3DES и криптографию с открытым ключом, от 32 до 64 Кбайт оперативной памяти. Самый продвинутый чип для бесконтактных карт, SmartMX (P5xD, P5CT), оснащен тройным интерфейсом (плюс USB), более вместительной памятью ROM и EEPROM, а в наборе шифров дополнен стойким современным криптостандартом AES. В приложениях, связанных с оснащением новых "электронных" паспортов технологией RFID, чипы SmartMX являются общепринятым стандартным решением.
Бесконтактная смарт-карта Mifare Classic была разработана в середине 1990-х годов. По сути, это чип памяти с дополнительными функциями защиты содержимого. Поскольку здесь нет процессора, функциональность карты не программируется. Криптографические операции, которые способен выполнять чип, реализованы на аппаратном уровне в виде так называемого регистра сдвига с линейной обратной связью, или LFSR (linear feedback shift register), и "фильтр-функции" для усложнения генерируемой шифр-последовательности. Этот криптоалгоритм, носящий имя Crypto-1, является коммерческой тайной NXP и никогда не публиковался для независимого анализа. Таким образом, безопасность карт Mifare Classic в значительной степени опирается на то, что устройство криптоалгоритма хранится в тайне. Такой подход принято именовать "безопасность через неясность" (security by obscurity), причем среди большинства серьезных криптографов он считается в корне ошибочным и бессчетное количество раз скомпрометированным. Не стал исключением и случай с Crypto-1.
Типичный способ применения криптографии карт Mifare Classic - в процедурах аутентификации. Цель таких процедур, как известно, состоит в том, что две связывающиеся стороны неким формальным способом доказывают друг другу, кем они являются. Делается это предъявлением какой-либо известной обеим сторонам секретной информации, так называемого разделяемого секрета (или, иначе, общего криптоключа). Обе стороны, в данном случае карта Mifare и считывающий ее прибор, выполняют определенные операции, а затем сверяют получившиеся результаты, дабы быть уверенными в легитимности оппонента.
Успешное завершение процедуры аутентификации является необходимым условием не только для открытия двери или турникета и входа на охраняемый объект, но и для обмена информацией с памятью Mifare Classic. Память чипа поделена на независимые секторы, каждый из которых защищен двумя криптографическими ключами.
Правильное управление криптографическими ключами - важная область исследований. Ошибки здесь часто приводят к серьезным последствиям для безопасности. Для случая Mifare Classic имеется два основных способа управления ключами.
1. Все карты и все кардридеры, используемые в одном приложении, имеют одни и те же ключи для аутентификации. Это общепринятый подход для карт в системах контроля доступа.
2. Каждая карта имеет свои собственные криптографические ключи. Для проверки ключей кардридер сначала должен определить, с какой именно картой начат обмен, а уже затем найти и вычислить связанные с нею ключи. Такая процедура именуется диверсификацией ключей и применяется в более разветвленных приложениях.
Взлом Mifare Ultralight. В мае-июне 2007 года студенты Амстердамского университета Питер Зикерман и Морис ван дер Шее проанализировали защиту самой простой версии RFID-чипов Mifare - в карточках Mifare Ultralight, используемых в качестве картонных одноразовых билетов на транспорте. Студенты выявили три серьезных проблемы, что позволило им на основе всего лишь единственной карточки изготовить устройство для бесплатного проезда неограниченное число раз. Две из этих проблем решаются доработкой программы в считывателе турникета, что было вскоре и сделано голландскими транспортниками. Третья проблема решается только сменой архитектуры системы.
Германская атака на Mifare Classic. В декабре 2007 года германские исследователи Карстен Ноль и Хенрик Плётц в рамках хакерской конференции 24th Chaos Communication Congress в Берлине продемонстрировали свои результаты по обратной инженерной разработке чипа карты Mifare Classic. Они применили технически один из самых сложных методов разрушающего анализа, удаляя один слой чипа за другим и восстанавливая схематику по фотоснимкам слоев, сделанным с помощью микроскопа. Крайне трудоемкий процесс выделения и распознавания типовых элементов в схеме оказалось возможным автоматизировать с помощью специальной программы, в итоге удалось найти участок, реализующий секретный криптоалгоритм Crypto-1, и восстановить его работу в общих чертах. В марте 2008-го Карстен Ноль опубликовал в Сети статью с итогами полного восстановления схемы Crypto-1 и первичных результатов ее криптоанализа. В статье показано, что реализованный в Mifare Classic шифр имеет серьезнейшие слабости. Причем очень похоже, что схема ослаблена искусственно, дабы облегчить вскрытие тому, кто знает "секрет".