В последней статье я рассказывал как устроены карты Mifare 1K и как делаются их копии.
Но карты и сами по себе интересны с точки зрения возможностей их конфигурирования.
Если обратиться к документации, то увидим, что каждый сектор карты имеет блок ( блок 3 ), называемый "трейлером". в котором
хранятся ключи доступа к блокам А, Б и биты доступа ( которые определяют правила этого доступа к конкретному блоку сектора ).
Вот об этом и поговорим поподробнее.
Биты доступа находятся в байтах 6.7 и 8 блока 3 ("трейлера").
Последний байт 9 не имеет значения и может содержать любую информацию пользователя.
Каждому блоку ( 0 - 3 ) сектора соответствует 3 бита ( С1. С2 и С3 ).Понятно, что разные их сочетания могут задать в сумме 8 правил доступа к блоку и работу с ним.
Например, блок можно читать по ключу А и B, можно читать только по ключу А. можно писать по ключу А и B, можно писать только по ключу B,
можно вообще задать блокировку от чтения и записи и т. д. Интересно то, что ни при каких сочетаниях ключ А не может быть прочитан !!!
Когда карта новая, то в ней хранятся "транспортные" ключи доступа А и B, равные FF FF FF FF FF FFh , а байты доступа равны FF 07 80h.
Это означает чтение/запись по ключу А для "трейлера" и чтение/запись по ключам А и B для блоков данных.
Впрочем, лучше посмотреть как это всё можно увидеть на экране копировщика COPYR128-MIFARE-RFID:
Это байты доступа ( 6 - 9 ) для сектора 1 ( блоки 4 - 7 ).
Вот так они расшифровываются для "трейлера" ( блок 7 ).
Видно, что ключ А не читается, но может записываться по ключу А.
Байты доступа читаются и записываются по ключу А.
Ключ B может быть прочитан и записан по ключу А.
А так расшифровываются для блока 4 ( остальные блоки 5 - 6 расшифровываются аналогично ).
Видно, что чтение и запись блока может производиться по ключу А или B.
Операции над величинами могут производиться тоже по ключу А или B.
Ключ доступа А ( для сектора 1 ).
Ключ доступа B ( для сектора 1 ).
Причём блоки ( кроме блока "трейлера" ) могут существовать в двух "ипостасях". Как обычные блоки хранения данных и как блоки хранения величин ( со знаком ).
Второй вариант предназначен для создания электронных кошельков и работы с ними.
В документации есть подробные таблицы как биты доступа могут сконфигурировать блоки.
Самое главное - это то, что в байтах "трейлера" хранятся различные сочетания бит доступа ( прямые и инверсные ). При чтении
проверяется правильность их записи в "трейлер" и если её нет, то весь сектор может быть заблокирован !!!
Вообще, с этими битами надо быть очень и очень осторожными !!!
Так как можно выставить такую комбинацию, когда блоки или "трейлер" вообще могут больше не читаться или не записываться.
Ну а теперь, зная как это всё работает, можно самим попробовать конфигурировать любые блоки карты !!!
То есть экспериментировать с ключами доступа, битами доступа в различных сочетаниях ............
Но, не забывая золотое правило: "Семь раз отмерь - один раз отрежь !"
Сейчас в продаже появились новые заготовки Zero, которые позволяют копировать ключи Classic 1K c UID, равным 7 Байтам.
Продолжение следует ............
При перепечатке или цитировании этой статьи ссылка на мой сайт обязательна !!!!
|