Выбрать главу

Члены группы Digital Security поставили перед собой цель отыскать слабости в собственных пропусках, а найдя их, попытаться клонировать карты. Результатом исследований стало обнаружение серьезных дефектов в механизме аутентификации Mifare Classic, позволивших:

1) полностью восстановить секретную схему алгоритма шифрования Crypto-1, запечатанного в чип для защиты данных;

2) отыскать относительно простой и дешевый метод для извлечения криптоключей из чипа.

В результате удалось смоделировать атаку и успешно клонировать карточку-пропуск Mifare Classic для входа в здания университета.

Типы карт Mifare

Платформа 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. Каждая карта имеет свои собственные криптографические ключи. Для проверки ключей кардридер сначала должен определить, с какой именно картой начат обмен, а уже затем найти и вычислить связанные с нею ключи. Такая процедура именуется диверсификацией ключей и применяется в более разветвленных приложениях.