Сбой ключей аутентификации загрузки MIFARE Classic 1K с ACR122U

Я использую устройство чтения/записи NFC ACR122U и карту MIFARE Classic 1K. Чтобы загрузить ключи аутентификации для карты MIFARE, я использую следующую команду APDU:

FF 82 20 00 06 FF FF FF FF FF FF

Читатель отвечает 90 00 (указывает на успех). Однако на другом ПК у меня тот же считыватель/запись и тот же тег, но я получаю код ответа 63 00, что означает, что операция не удалась.

Когда я читаю документацию ACR122U, в ней указывается команда как

FF 82 00 00 06 <KEY>

Этот байт называется структура ключа и в документации его значение равно 00. Может ли этот байт быть источником этой проблемы?

Может ли кто-нибудь помочь мне в этом и объяснить значение байта структуры ключа?


person FaizanHussainRabbani    schedule 22.03.2016    source источник


Ответы (2)


Я довольно удивлен, что вы нашли один ACR122U, который поддерживает ключевую структуру (P1), установленную на 0x20. руководство по API для чтения (см. раздел 5.1 < em>Загрузить ключи аутентификации) ясно указывает, что значения, отличные от 0x00, зарезервированы (т. е. не должны использоваться). Это означает, что ACR122U поддерживает только ключи-карты (т. е. ключи аутентификации для карт) в энергозависимой памяти (т. е. ключи удаляются из памяти при отключении считывателя).

Вы можете найти определение байта структуры ключа (P1) в спецификации ПК/SC. (в Часть 3. Требования к интерфейсным устройствам, подключаемым к ПК):

  • Бит 7: Этот бит указывает, является ли ключ, передаваемый в этой команде, ключом-картой («0») или ключом считывателя («1»). Ключи считывателя — это ключи, используемые для шифрования карточных ключей во время передачи в команде LOAD KEYS (см. бит 6).
  • Бит 6: Ключ, передаваемый в этой команде, передается в виде простого текста ('0') или зашифрованного ('1') с использованием считывающего ключа (см. биты 3..0).
  • Бит 5: Этот бит указывает, должен ли передаваемый ключ храниться в энергозависимой («0») или энергонезависимой («1») памяти.
  • Бит 4: зарезервирован и всегда установлен на «0».
  • Бит 3..0: номер ключа считывателя, используемый для шифрования передаваемого ключа, если установлен бит 6.
person Michael Roland    schedule 23.03.2016
comment
Ну, я даже пробовал такие значения, как 0x10, 0x30 и 0x40. Все они работали, кроме 40.. которые издавали непрерывный звуковой сигнал. - person FaizanHussainRabbani; 23.03.2016
comment
И моя проблема была решена путем изменения значения обратно на 0x00. Но что меня действительно удивляет, так это то, как эти значения работают на моем считывателе NFC? - person FaizanHussainRabbani; 23.03.2016

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

найти прикрепленную картинку

загрузить изображение ключа

Структура ключа: ключ 00, загруженный в энергозависимую память считывателя Номер ключа: расположение ключа 00~01 на считывателе Ключ: значение ключа, загруженное в считыватель, например {FF FF FF FF FF FF}

ответ: 90 00 операция завершена успешно : 63 00 операция не удалась

person EngBashir    schedule 21.05.2017