Копирование карты Mifare Classic чаще всего заканчивается ошибкой «ключ не найден» или пустой картой-заглушкой, потому что пользователи пытаются считать защищённые сектора без подбора ключей доступа. Стандартные ключи (например, заводской FFFFFFFFFFFF) подходят только для неизменённых карт, а в реальных системах — домофонах, проездных, пропусках — ключи почти всегда заменены.
Эта технология построена на криптографическом протоколе Crypto1, уязвимости которого известны давно и описаны в открытых исследованиях. Поэтому копирование Mifare Classic технически возможно, но требует понимания структуры памяти карты, правильного оборудования и — что не менее важно — учёта правовых ограничений. Ниже разберём принципы работы, инструменты и типичные ошибки.
Структура памяти Mifare Classic
Карта Mifare Classic 1K содержит 16 секторов, каждый из которых делится на 4 блока по 16 байт. Первый блок нулевого сектора хранит UID — уникальный идентификатор, который у стандартных карт перезаписать нельзя. Именно по UID многие системы контроля доступа идентифицируют карту, не трогая остальную память.
Каждый сектор защищён парой ключей — Key A и Key B, а права доступа задаются битами в трейлере сектора. Если ключи заменены стандартных значений, простое считывание дампа становится невозможным без их восстановления.
- 🔑 Key A — основной ключ чтения и записи сектора
- 🔐 Key B — дополнительный ключ, иногда используется как данные
- 🧾 Access Bits — права доступа, задающие, что можно делать с блоками
- 🆔 UID — идентификатор в нулевом блоке, у обычных карт read-only
Почему протокол Crypto1 уязвим
Криптографическая схема Crypto1 использует 48-битные ключи и поточный шифр собственной разработки. Исследователи показали, что при известном одном ключе сектора остальные ключи карты можно восстановить атаками типа nested attack за разумное время. Эта работа легла в основу инструмента MFOC и последующих утилит.
Дополнительно существует атака darkside, позволяющая восстановить первый ключ даже без известных ключей, но она требует значительно больше времени. Практический вывод прост: защита Mifare Classic не считается криптографически стойкой, и производитель сам рекомендует миграцию на более современные карты семейства Mifare Plus или DESFire.
💡Mifare Classic взламывается из-за слабого протокола Crypto1 — это подтверждённый академический факт, а не слух. Поэтому копирование таких карт технически реализуемо стандартными инструментами.