Команда ATR при программировании PC / SC ридера - PullRequest
6 голосов
/ 09 июня 2011

Я проверил интерфейс программирования для меток MIFARE Ultralight и TOPAZ / Jewel IC.API довольно хорошо описывает, как байты сохраняются на карте, как обращаться к блокам памяти, как выполнять все операции, такие как чтение, чтение, использование функции OTP (One Time Programmable), как читать байты ROM,как переключаться из состояния ожидания в состояние готовности (команды REQA, WUPA), в нем говорится, защищены ли команды с помощью CRC, как получить доступ к метке UID и т. д.

При просмотре для программирования считывателя NFC (ACR122U или SCL010)Я обнаружил, что вся связь между PCD (считыватель) PICC (тег) начинается с команды ATR (ответ-на-сброс), которая, как описано в Интернете, является командой, которую PCD отправляет PICC для идентификации.

Но ни в одной документации по тегам не упоминается команда ATR - вся связь с тегами, когда они получают питание (PQR), начинается с команд REQA, WUPA, чтобы переключить карту в режим готовности.

Насколько я понимаю, ATR построен на ПК / SC на основе карты NFC, с которой общался ридер.После того, как читатель определит, к какому типу технологий относится метка, он создает ATR.Также согласно документации ATR для разных считывателей NFC различны для одних и тех же тегов NFC.

Я прав?PC / SC строит ATR?

BR STeN

Ответы [ 2 ]

14 голосов
/ 23 июня 2011

Краткий ответ:

  • Вы правы в том, что ATR генерируется считывателем PCSC
  • Я думаю, что ATR останется неизменным независимо от считывателя для бесконтактных карт

Длинный ответ:

ATR для карточек контактов и определено в ISO 7816. Для бесконтактных карточек это считыватель PC / SC (IFD), который генерирует ATR.

ATR построен на основе:

  • ATS (Ответ на выбор) для карт ISO типа 14443 * A 1016 *
  • байтов ATQB и ATTRIB для карт типа ISO 14443 типа B

ATR будет иметь вид 3B 8X 80 01 HB_ATS Parity_Byte, где X - количество байтов исторических байтов ATS (HB_ATS).

Точная конструкция ATR для бесконтактных карт приведена враздел 3.1.3.2.3 спецификации PC / SC.

Учитывая, что единственной переменной является ATS, она должна быть одинаковой независимо от считывателя.

- Sid

1 голос
/ 26 февраля 2013

ATR содержит фиксированные поля, а также дополнительные поля (условные).Таким образом, в зависимости от некоторых значений поля, последующие поля могут быть опущены, поэтому ATR может быть разным для разных считывателей, но все они соответствуют стандартам.

Ознакомьтесь с руководством по смарт-карте здесь .Короче говоря, кадр ATR выглядит следующим образом:enter image description here

...