Карта MIFARE Classic, которая не читается после попытки записи, чаще всего оказывается заблокированной из-за некорректной записи трейлера сектора — блока, где хранятся ключи доступа и биты прав. Одна ошибка в этих байтах способна навсегда закрыть сектор даже для владельца, поэтому кодирование карт MIFARE требует понимания структуры памяти ещё до первой команды записи.

В этой статье разберём, как устроена память карт семейства MIFARE, чем отличаются MIFARE Classic, Ultralight и DESFire, какие инструменты применяются для кодирования и каких ошибок следует избегать при записи данных.

Что такое кодирование карты MIFARE

Под кодированием понимают запись данных в память карты: идентификаторов сотрудников, номеров пропусков, баланса, служебной информации. В отличие от простого чтения UID (уникального серийного номера), полноценное кодирование затрагивает блоки данных и требует аутентификации по ключу.

Важно различать два сценария. Первый — использование заводского UID без записи: карта просто предъявляется считывателю, а вся логика хранится в контроллере СКУД. Второй — собственно кодирование, когда в сектора карты записываются данные, защищённые ключами доступа. Именно второй сценарий требует аккуратности и понимания прав доступа.

💡

Кодирование MIFARE — это запись в блоки данных с аутентификацией по ключу, а не просто считывание заводского UID.