2011-06-09 13 views
6

He comprobado la interfaz de programación para las etiquetas MIFARE Ultralight y TOPAZ/Jewel IC. La API describe muy bien cómo se guardan los bytes en la tarjeta, cómo abordar los bloques de memoria, cómo hacer todas las operaciones como lectura, lectura-todo, uso de la función OTP (One Time Programmable), cómo leer los bytes de ROM, cómo pasar del estado inactivo al estado listo (comandos REQA, WUPA), dice si los comandos están protegidos contra CRC, cómo acceder al UID de la etiqueta, etc.Comando ATR al programar el lector de PC/SC

Cuando miraba para programar el lector NFC (ACR122U o SCL010) encontré que toda comunicación entre PCD (lector) y un PICC (etiqueta) comienza con el comando ATR (Respuesta a reinicio), que es como se describe en Internet un comando que el PCD envía al PICC con fines de identificación.

Pero ninguna de las etiquetas de la documentación menciona el comando ATR: todas las comunicaciones con etiquetas cuando se activan (PQR) comienzan con los comandos REQA, WUPA para cambiar la tarjeta al modo Preparado.

Según entiendo, ATR está construido por PC/SC según la tarjeta NFC con la que se comunicó el lector. Una vez que el lector detecta qué tipo de tecnología es la etiqueta basada en ella, crea el ATR. También según la documentación, ATR para diferentes lectores de NFC son diferentes para las mismas etiquetas de NFC.

¿Estoy en lo cierto? ¿PC/SC construye el ATR?

BR Sten

Respuesta

13

Respuesta corta:

  • Estás en lo correcto acerca de ATR siendo generado por el lector PCSC
  • creo que el ATR seguirá siendo el mismo, independientemente de que el lector de tarjetas sin contacto

Respuesta larga:

ATR es para tarjetas de contacto y está especificado en ISO 7816. Para tarjetas sin contacto, es el lector de PC/SC (IFD) el que genera el ATR.

El ATR se construye a partir de:

  • ATS (respuesta a Seleccionar) para tarjetas ISO A 14443 Tipo
  • ATQB y ATTRIB bytes para tarjetas ISO 14443 Tipo B

El ATR será de la forma 3B 8X 80 01 HB_ATS Parity_Byte donde X es el número de bytes de bytes históricos de ATS (HB_ATS).

La construcción exacta de ATR para tarjetas sin contacto se da en la sección 3.1.3.2.3 de la especificación PC/SC .

Dado que la única variable es ATS, debería ser la misma independientemente del lector.

--Sid

+2

+1 Así que me puede decir qué es exactamente el comando ATR? En formato hexadecimal, he estado mirando pero no trato :( – Roylee

+0

¿Tengo la misma preocupación? ¿Podría ayudarme – neo

1

ATR contiene campos fijos, así como campos opcionales (condicional). De modo que dependiendo de algunos valores de un campo, los campos subsiguientes pueden omitirse, por lo tanto, el ATR puede ser diferente para diferentes lectores, pero todos se ajustan a los estándares.

Consulte el tutorial de la tarjeta inteligente here.
En resumen, marco ATR es la siguiente:
enter image description here

+0

ATR es generada por la tarjeta (PICC) en respuesta al comando RESET emitido por el lector (PCD o IFD). – Chand51

+0

¿Cuál es la Comando RESET que el lector envía a la tarjeta? – neo