Перейти к содержимому

MIFARE

MIFARE — семейство бесконтактных чипов NXP для карт, брелоков и билетов: частота 13,56 МГц, стандарт ISO/IEC 14443 Type A, память от 64 байт до 8 КБ.

Как устроено семейство MIFARE

MIFARE — торговая марка NXP Semiconductors: бесконтактные чипы для карт, брелоков и билетов. Частота 13,56 МГц, стандарт ISO/IEC 14443 Type A, батареи внутри нет — чип питается от поля считывателя, поэтому подносить карту приходится вплотную, на считаные сантиметры. Технически это частный случай радиочастотной идентификации в высокочастотном диапазоне.

Первым считыватель получает UID — заводской номер в 4 или 7 байт, доступный ещё до аутентификации. Дальше перезаписываемая память: у Classic она разбита на секторы, секторы — на блоки по 16 байт (у 1K секторов шестнадцать, у 4K — сорок), к каждому привязаны два ключа, A и B, и биты условий доступа. Отсюда главное: на одной карте уживаются несколько независимых приложений, каждое видит только свой сектор.

Classic, Ultralight и DESFire

ЛинейкаПамятьШифрованиеПрименение
Classic 1K/4K1 или 4 КБCrypto-1, взломанПропуска, домофоны
Ultralightот 64 байтНет, 3DES у версии CРазовые билеты, отели
DESFire EV2/EV32, 4 или 8 КБAES-128Транспорт, доступ

Classic держит основную массу офисных пропусков в системах контроля доступа: дёшево и совместимо почти со всем оборудованием. Ultralight одноразовый по замыслу — разовый билет, браслет на фестиваль, карта гостя; чип стоит копейки. DESFire противоположный полюс: файловая система с независимыми приложениями и взаимной аутентификацией. MIFARE Plus совместим с инфраструктурой Classic, но работает на AES.

Безопасность: почему Classic копируют

Crypto-1 — проприетарный поточный шифр с 48-битным ключом. В 2008 году исследователи восстановили алгоритм и показали практические атаки: ключ сектора вычисляется за минуты на обычном ноутбуке. Появились карманные дубликаторы, а изрядная доля карт до сих пор ходит с заводскими ключами.

DESFire EV2 и EV3 устроены иначе: AES-128, взаимная аутентификация, шифрованный обмен, случайный идентификатор вместо постоянного UID. Новые объекты проектируют на них, а Classic оставляют там, где цена ошибки — бесплатный проход, а не доступ в серверную. Смартфон с NFC прочитает UID и открытые страницы Ultralight с записью NDEF, но защищённые секторы без ключей — нет.

Частые вопросы

Что такое карта MIFARE и где она применяется?

Это бесконтактная карта на чипе NXP, работающая на частоте 13,56 МГц по стандарту ISO/IEC 14443 Type A. Внутри пластика антенна и микросхема с перезаписываемой памятью — от 64 байт у Ultralight до 8 КБ у DESFire. Такие карты выдают как офисные пропуска, используют в транспорте, в отелях вместо ключа от номера, в программах лояльности и в студенческих билетах.

Чем считыватель MIFARE отличается от считывателя EM-Marine?

Рабочей частотой и тем, что он умеет. EM-Marine — это 125 кГц и передача одного лишь номера, а MIFARE — 13,56 МГц с аутентификацией по ключам и чтением содержимого секторов. Устройства несовместимы: считыватель одной частоты не увидит карту другой. Поэтому на объектах со смешанным парком ставят мультиформатные модели, которые держат оба диапазона сразу.

Можно ли скопировать карту MIFARE?

MIFARE Classic — да, и это делается массово. Шифр Crypto-1 взломан ещё в 2008 году, ключ сектора подбирается за минуты недорогим дубликатором, а многие карты вообще работают на заводских ключах. DESFire EV2 и EV3 с AES-128 так не копируются: без знания ключей злоумышленник получит только UID, которого для прохода недостаточно.

Чем MIFARE Classic отличается от DESFire?

Уровнем защиты и устройством памяти. Classic делит 1 или 4 КБ на секторы с двумя ключами и шифром Crypto-1, который давно скомпрометирован. DESFire несёт до 8 КБ, полноценную файловую систему с независимыми приложениями и криптографию AES-128 со взаимной аутентификацией и шифрованием обмена. Для новых систем доступа рекомендуют именно DESFire.

Может ли смартфон прочитать карту MIFARE?

Частично. Телефон с NFC работает на той же частоте 13,56 МГц, поэтому без труда считывает UID карты и открытые страницы чипов Ultralight с записью в формате NDEF. А вот защищённые секторы Classic и файлы DESFire он не покажет: для этого нужны ключи, а у DESFire ещё и поддержка соответствующих команд на стороне приложения.