Карта MIFARE Classic, которая не читается после попытки записи, чаще всего оказывается заблокированной из-за некорректной записи трейлера сектора — блока, где хранятся ключи доступа и биты прав. Одна ошибка в этих байтах способна навсегда закрыть сектор даже для владельца, поэтому кодирование карт MIFARE требует понимания структуры памяти ещё до первой команды записи.
В этой статье разберём, как устроена память карт семейства MIFARE, чем отличаются MIFARE Classic, Ultralight и DESFire, какие инструменты применяются для кодирования и каких ошибок следует избегать при записи данных.
Что такое кодирование карты MIFARE
Под кодированием понимают запись данных в память карты: идентификаторов сотрудников, номеров пропусков, баланса, служебной информации. В отличие от простого чтения UID (уникального серийного номера), полноценное кодирование затрагивает блоки данных и требует аутентификации по ключу.
Важно различать два сценария. Первый — использование заводского UID без записи: карта просто предъявляется считывателю, а вся логика хранится в контроллере СКУД. Второй — собственно кодирование, когда в сектора карты записываются данные, защищённые ключами доступа. Именно второй сценарий требует аккуратности и понимания прав доступа.
💡Кодирование MIFARE — это запись в блоки данных с аутентификацией по ключу, а не просто считывание заводского UID.