Запись карты Mifare упирается в одну ключевую проверку: прежде чем записывать данные в сектор, нужно аутентифицироваться с правильным ключом доступа — иначе чип отклонит операцию, а при неправильной записи блока доступа сектор можно заблокировать навсегда. Именно ошибки с ключами и битами доступа чаще всего становятся причиной «убитых» карт, которые перестают читаться системами контроля доступа.
Карты стандарта Mifare (Classic, Ultralight, DESFire и другие семейства от NXP) используются повсеместно: пропуска СКУД, транспортные карты, брелоки домофонов, метки для учёта. Записать на них данные можно как специализированным программатором, так и обычным смартфоном с NFC-модулем — но подход и ограничения у каждого способа свои. В этом материале разберём структуру памяти карт, необходимое оборудование, пошаговый порядок записи и типичные ошибки.
Структура памяти карт Mifare: что нужно понимать перед записью
Наиболее распространённый тип — Mifare Classic 1K. Его память разделена на 16 секторов, каждый сектор содержит 4 блока по 16 байт. Три блока отведены под данные, а четвёртый — блок трейлера (sector trailer) — хранит два ключа доступа (Key A и Key B) и биты доступа, определяющие права на чтение и запись остальных блоков сектора.
Нулевой блок нулевого сектора — особый: там записан UID (уникальный идентификатор карты) и данные производителя. На обычных картах этот блок доступен только для чтения. Перезаписать его можно лишь на специальных картах с изменяемым UID, которые часто называют «китайскими» или magic-картами.
У Mifare Ultralight структура проще: память организована страницами по 4 байта, криптозащита отсутствует, поэтому запись выполняется проще, но и защищённость такой карты минимальна. Семейство DESFire использует файловую структуру с приложениями и требует совсем другого подхода — рассмотрение его специфики выходит за рамки базовой инструкции.
💡Главное правило записи Mifare Classic: сначала аутентификация ключом к сектору, затем запись. Блок трейлера перезаписывайте только при полном понимании формата битов доступа.