Не удается аутентифицировать тег NFC с 7-байтовым UID ACR122U

У меня есть два типа тегов Mifare Classic. У одного UID 4 байта, а у другого 7 байт. Я пытаюсь прочитать блок обоих. Мне удалось прочитать блок тега с 4-байтовым UID, но не удалось пройти аутентификацию в случае 7-байтового UID. Я использую считыватель ACR122U и считываю с помощью инструмента ACR122U.


person Community    schedule 03.09.2014    source источник


Ответы (1)


Предполагая, что вы используете более старую версию ACR122U, вы должны использовать команду обмена данными PN532 для отправки команды аутентификации:

FF 00 0000 0F D440 <TAG_ID> <AUTH_TYPE> <BLOCK> <KEY> <UID>

<TAG_ID> — это индекс тега на считывателе (обычно 0x01). <AUTH_TYPE> равно 0x60, если вы хотите аутентифицироваться с помощью ключа A, и 0x61, если вы хотите аутентифицироваться с помощью ключа B. <BLOCK> — это блок для аутентификации. <KEY> — это 6-байтовый ключ (например, FF FF FF FF FF FF для ключа по умолчанию). <UID> — это 4-байтовый UID (или последние 4 байта 7-байтового UID).

Итак, если вы хотите аутентифицироваться с помощью ключа A A0 A1 A2 A3 A4 A5 для блока 0 в теге с UID 04 AA BB CC DD EE FF, вы должны использовать следующую команду:

FF 00 0000 0F D440 01 60 00 A0A1A2A3A4A5 CCDDEEFF

В более новых версиях считывателя вместо этого вы должны использовать стандартизированный механизм для бесконтактных карт памяти, определенный PC/SC:

  • Загрузить ключи аутентификации:

    FF 82 0000 06 <KEY>
    
  • Аутентификация:

    FF 86 0000 05 0100 <BLOCK> <AUTH_TYPE> 00
    
person Michael Roland    schedule 21.09.2014
comment
Привет! Не могли бы вы уточнить точное значение старых и новых версий? например: версия микропрограммы или аппаратная версия. - person Free Consulting; 18.02.2015
comment
Есть ли у вас информация о номерах версий F/W? Я спрашиваю, потому что мой читатель сообщает об относительно новой версии ACR122U213, но все же не может аутентифицировать 7-байтовую UID-карту с инструкциями 82 и 86. Спасибо. - person Free Consulting; 20.02.2015
comment
Старый это как минимум версия 101-103(или была 102?). Я предполагаю, что старым является все, что имеет размер 1xx, а новым является все, что имеет размер 2xx (как у вас), но в настоящее время у меня есть только 101 и 102, из которых я знаю, что они поддерживают только прямые команды PN532. - person Michael Roland; 20.02.2015
comment
Вы пробовали, работает ли это, если вы используете прямую команду PN532 для аутентификации? Возможно, ACS неправильно усекла UID до 4 байтов в своей реализации команды аутентификации ПК/SC... - person Michael Roland; 20.02.2015