Una respuesta al reinicio ( ATR ) es un mensaje emitido por una tarjeta inteligente de contacto que cumple con los estándares ISO / IEC 7816 , luego del reinicio eléctrico del chip de la tarjeta mediante un lector de tarjetas. El ATR transmite información sobre los parámetros de comunicación propuestos por la tarjeta y la naturaleza y el estado de la tarjeta.
Por extensión, ATR a menudo se refiere a un mensaje obtenido de una tarjeta inteligente en una etapa temprana de comunicación; o desde el lector de tarjetas utilizado para acceder a esa tarjeta, que puede transformar el mensaje de la tarjeta en un formato similar a ATR (esto ocurre, por ejemplo, para algunos lectores de tarjetas PC / SC [1] [2] cuando se accede a una tarjeta inteligente ISO / IEC 14443 ) .
La presencia de un ATR se utiliza a menudo como una primera indicación de que una tarjeta inteligente parece estar operativa, y su contenido se examina como una primera prueba de que es del tipo apropiado para un uso determinado.
Las tarjetas inteligentes de contacto se comunican a través de una señal denominada Entrada / Salida (E / S) ya sea de forma síncrona (los bits de datos se envían y reciben al ritmo de uno por período del reloj suministrado a la tarjeta en su señal CLK) o de forma asíncrona (los bits de datos son intercambiado sobre E / S con otro mecanismo de delimitación de bits, similar a la comunicación serial asíncrona tradicional ). Los dos modos son exclusivos en una sesión de comunicación determinada, y la mayoría de las tarjetas se crean con soporte para un solo modo. Las tarjetas inteligentes de contacto basadas en microprocesador son en su mayoría de la variedad asíncrona, y se utilizan para todos los módulos de identidad de suscriptor (SIM) para teléfonos móviles, aquellas tarjetas bancarias con contactos que cumplen con las especificaciones EMV , todas las tarjetas Java de contacto y tarjetas inteligentes para televisión de pago . Las tarjetas de solo memoria son generalmente de la variedad síncrona.
Los ATR en transmisión asíncrona y síncrona tienen una forma y contenido completamente diferentes. El ATR en la transmisión asíncrona está precisamente normalizado (para permitir la interoperabilidad entre tarjetas y lectores de diferente origen) y es relativamente complejo de analizar.
Algunas tarjetas inteligentes (en su mayoría de la variedad asincrónica) envían diferentes ATR dependiendo de si el reinicio es el primero desde el encendido ( Cold ATR ) o no ( Warm ATR ).
Nota: Answer To Reset no debe confundirse con ATtRibute REQuest (ATR_REQ) y ATtRibute RESponse (ATR_RES) de NFC , también abreviado ATR. [3] ATR_RES transmite información sobre los parámetros de comunicación admitidos, al igual que Answer To Reset, pero su estructura es diferente.
ATR en transmisión asíncrona
El estándar que define el ATR en transmisión asíncrona es ISO / IEC 7816-3. [4] Se utilizan subconjuntos de la especificación ATR completa para algunas aplicaciones de tarjetas inteligentes, por ejemplo, EMV. [5]
Forma física y sincronización en la interfaz de tarjeta / lector
En transmisión asíncrona, el ATR es transmitido por una tarjeta a un lector como caracteres, codificados como bits sobre el contacto designado I / O (C7), con una duración nominal de bit denotada como Unidad de Tiempo Elemental (ETU), igual durante todo el ATR a 372 períodos de la señal de reloj suministrada por el lector en el contacto CLK (C3). La línea de E / S está por defecto en un estado H (el voltaje más alto de dos niveles lógicos ), y una transición al estado L, denotado como borde de ataque, define el inicio de un carácter. El borde de entrada del primer carácter ocurre entre 400 y 40000 ciclos de reloj después de que el lector cambia el contacto RST (C2) de L a H.
Cada carácter comprende un bit de inicio en el estado L, 8 bits de datos, 1 bit de paridad, seguido (error ausente) por un retardo en el estado H (un alto voltaje en E / S) de modo que el borde anterior de los caracteres en el ATR es al menos 12 ETU, con un tiempo de espera máximo designado WT = 9 600 ETU durante todo el ATR (las especificaciones de Eurocard MasterCard Visa agregan que el lector debe tolerar 10 800 ETU, es decir, un 5% más). El valor del byte codificado por un carácter se define de acuerdo con las convenciones determinadas por el primer carácter del ATR, designado TS.
El final del ATR físico entre la tarjeta y el lector puede ser determinado por el lector mediante el análisis sobre la marcha de los valores de TS, T0 y cualquier TD i (ver más abajo), o / y sobre la base de WT. El último método incurre en un retraso adicional (aproximadamente 0,8 sa la frecuencia de reloj máxima de 5 MHz aplicable durante ATR). EMV (pero no ISO / IEC 7816-3) también permite al lector considerar que el ATR debe terminar después de 20 160 ETU (aproximadamente 1,5 sa 5 MHz) contados desde el borde de entrada de TS.
Nota: Cuando se comunica en modo asíncrono con una tarjeta inteligente de contacto ISO / IEC 7816-3 utilizando un dispositivo de interfaz en serie que funciona según la convención directa (como un UART estándar ), se puede configurar en 8 bits, 1 bit de paridad par, 2 paradas bits (en ocasiones negociables a 1, ver TC 1 ); durante el ATR, la velocidad en baudios debe ser 1/372 de la frecuencia de reloj recibida por la tarjeta (correspondiente a una ETU de 372 ciclos de reloj). Normalmente no habrá error de paridad o error de trama. El primer byte recibido es '3B' si la tarjeta opera en convención directa, '03' si las tarjetas funcionan en la convención inversa, en cuyo caso la polaridad y el orden de los 8 bits de cada byte que pasan por el dispositivo de interfaz en serie deben invertirse, lo que en particular cambiará el primer byte '03' a '3F' .
Nota histórica: la disposición para tarjetas que utilizan una fuente de reloj interno y una ETU fija de 1/9 600 segundos durante ATR existía en ISO / IEC 7816-3: 1989, y se eliminó de la edición de 1997 en adelante.
Estructura general
El ATR procede en cinco pasos: carácter inicial TS; byte de formato T0; bytes de interfaz TA i , TB i , TC i , TD i (opcionales, número de variable); bytes históricos T i (opcionales, hasta 15), y el byte de verificación TCK (opcional). Hay un total de 2 a 33 caracteres, incluido TS.
Nombre | Define | Codifica | Presente cuando |
TS | Orden de bits y polaridad | (siempre) | |
T0 | Número de T i , presencia de TA 1 ..TD 1 | K en [0..15] | (siempre) |
TA 1 | Frecuencia de reloj máxima, duración de bit propuesta | FI ↦ Fi yf max ; DI ↦ Di | El quinto bit de T0 es 1 |
TB 1 | Obsoleto: requisitos de V PP | PI1 ↦ P, II ↦ I | El sexto bit de T0 es 1 |
TC 1 | Retardo adicional entre bytes requeridos por la tarjeta | N ↦ EGT ↦ GT | El séptimo bit de T0 es 1 |
TD 1 | Primer protocolo de transmisión ofrecido, presencia de TA 2 ..TD 2 | T en [0..14] | El octavo bit de T0 es 1 |
TA 2 | Protocolo y parámetros específicos que se utilizarán después del ATR | T en [0..14] | El quinto bit de TD 1 es 1 |
TB 2 | En desuso: V PP requisito de voltaje preciso | PI2 ↦ P | El sexto bit de TD 1 es 1 |
TC 2 | Tiempo máximo de espera para el protocolo T = 0 | WI ↦ PESO | El séptimo bit de TD 1 es 1 |
TD 2 | Un protocolo compatible o más parámetros globales, presencia de TA 3 ..TD 3 | T en [0..15] | El octavo bit de TD 1 es 1 |
TA i | Para T = 1 [#] : tamaño de bloque máximo que la tarjeta puede recibir Si T = 15 [#] : voltajes de suministro admitidos y modos de bajo consumo | IFSC X; Y | El quinto bit de TD i -1 es 1 |
TB i | Para T = 1 [#] : retardos máximos entre caracteres Si T = 15 [#] : uso del contacto SPU C6 | CWI ↦ CWT; BWI ↦ BWT | El sexto bit de TD i -1 es 1 |
TC i | Para T = 1 [#] : tipo de código de detección de error utilizado | El séptimo bit de TD i -1 es 1 | |
TD i | Un protocolo admitido o más parámetros globales, presencia de TA i +1 ..TD i +1 | T en [0..15] | El octavo bit de TD i -1 es 1 |
T 1 | El formato de bytes históricos T i | K ≥ 1 | |
T i | Bytes históricos que indican características operativas, según ISO / IEC 7816-4 cuando T 1 es '00' , '10' o '8 X ' , | K ≥ yo | |
TCK | Permitir la detección de un error de transmisión accidental (el XOR de los bytes T0 a TCK es normalmente cero) | T en cualquiera de los bytes TD i no es 0 |
[#] El significado dado es asumir i > 2, e i -1 es el único j con 1 < j < i tal que TD j codifica el valor establecido de T. Cuando ese T está en el rango [0..14], el significado del byte se aplica solo al protocolo correspondiente (byte específico). Cuando ese T = 15, el significado se aplica independientemente del protocolo (byte global).
El carácter inicial TS siempre está físicamente presente, pero está excluido de la Respuesta para restablecer en la definición dada por ISO / IEC 7816-3: 2006: el valor de la cadena de bytes (como máximo 32 bytes) codificado en la secuencia de caracteres que siguen al carácter inicial TS . ISO / IEC 7816-4: 2005 coincide, [6] indicando que TS es un carácter o patrón de sincronización, no un byte. Sin embargo, la práctica (en PC / SC, EMV, ETSI y Calypso al menos) sigue siendo considerar que TS es parte del ATR, como lo era en ISO / IEC 7816-3: 1997 y anteriores. En particular, el ATR devuelto por los lectores de tarjetas de PC / SC y las pilas de software incluye TS como primer byte, con valor '3B' o '3F' .
Carácter inicial TS
El carácter inicial TS codifica la convención utilizada para la codificación del ATR y otras comunicaciones hasta el siguiente reinicio. En directo [resp. inversa] convención, bits con valor lógico '1' se transfieren como alto voltaje (H) [resp. a Baja tensión (L)]; bits con valor lógico '0' se transfieren como L [resp. H]; y el bit menos significativo de cada byte de datos es el primero (o el último) en la transmisión física por la tarjeta.
Por convención directa, TS es (H) L HHLHHHLL H (H) y codifica el byte '3B' .
Para la convención inversa, TS es (H) L HHLLLLLL H (H) y codifica el byte '3F' .
[ (H) representa el estado inactivo (alto, marca) de la línea de E / S. Los 8 bits de datos se muestran en cursiva . ]
Los bits en bytes que siguen a TS en el ATR, y las comunicaciones posteriores hasta el siguiente reinicio, se numeran del 1 al 8 de orden inferior a superior, y se anota su valor. 0 o 1 , independientemente del orden cronológico y la representación eléctrica, definido por TS. El bit que sigue a los 8 bits de datos en estos bytes es un bit de paridad par, es decir, que hay un número par de Bits '1' (H o L según la convención directa o inversa definida por TS) entre los 8 bits de datos y el bit de paridad.
TS también permite que el lector de tarjetas confirme o determine la ETU, como un tercio del retraso entre la primera y la segunda transición H-a-L en TS. Esto es opcional, y la definición principal de ETU en el ATR de tarjetas inteligentes asíncronas que cumplen con los estándares es 372 períodos del reloj recibido por la tarjeta.
Formato de byte T0
El byte de formato T0 codifica en sus 4 bits de orden inferior (4º MSbit al 1º LSbit) el número K de bytes históricos T i , en el rango [0..15].
También codifica en sus 4 bits de orden superior la presencia de como máximo otros 4 bytes de interfaz: TA 1 (resp. TB 1 , TC 1 , TD 1 ) siguen, en ese orden, si el 5 (resp. 6, 7, 8) el bit de T0 es 1 .
Bytes de interfaz TA i , TB i , TC i , TD i
Los bytes de interfaz TA 1 , TB 1 , TC 1 , TD 1 , TA 2 , TB 2 , TC 2 , TD 2 , TA 3 , TB 3 , .. son todos opcionales y codifican los parámetros y protocolos de comunicación que la tarjeta propone utilizar .
Hay tres tipos de bytes de interfaz : los bytes de interfaz global se aplican a todos los protocolos; bytes de interfaz específicos se aplican a un protocolo específico; y los bytes de interfaz estructural introducen más bytes de interfaz y protocolos.
Byte de interfaz TA 1
El byte de interfaz TA 1 , si está presente, es global y codifica la frecuencia de reloj máxima f max admitida por la tarjeta, y el número de períodos de reloj por ETU que sugiere usar después del ATR, expresado como la relación Fi / Di de dos enteros. Cuando TA 1 está ausente, se asume que el valor predeterminado es '11' , correspondiente af max = 5 MHz, Fi = 372, Di = 1.
Los 4 bits de orden inferior de TA 1 (4o MSbit a 1er LSbit) codifican Di como:
4.o a 1.o bits | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Di | RFU | 1 | 2 | 4 | 8 | dieciséis | 32 | 64 (#) | 12 | 20 | RFU | RFU | RFU | RFU | RFU | RFU |
(#) Esto fue RFU en ISO / IEC 7816-3: 1997 y anterior. Algunos lectores o controladores de tarjetas pueden rechazar erróneamente las tarjetas que utilizan este valor (u otro RFU). Algunos lectores de PC / SC, como solución a dicho comportamiento del controlador, borran el primer bit de TA 1 cuando sus 4 bits de orden inferior codifican 7 y, en consecuencia, ajustan TCK (si está presente), a menos que hayan recibido un comando especial.
Los 4 bits de orden superior de TA 1 (8th MSbit a 5th LSbit) codifican f max y Fi como:
8vo a 5to bits | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Fi | 372 (*) | 372 | 558 | 744 | 1 116 | 1 488 | 1860 | RFU | RFU | 512 | 768 | 1024 | 1 536 | 2 048 | RFU | RFU |
f máx (MHz) | 4 (*) | 5 | 6 | 8 | 12 | dieciséis | 20 | - | - | 5 | 7.5 | 10 | 15 | 20 | - | - |
(*) Nota histórica: en ISO / IEC 7816-3: 1989, se asignó a tarjetas con reloj interno, sin Fi of (máx.) Asignado.
Nota: EMV e ISO / IEC 7816-3 antes de la edición de 2006, utilizan adicionalmente la notación DI (resp. FI) para los 4 bits de orden inferior (respectivamente de orden superior) de TA 1 . Por tanto, DI codifica Di, y FI codifica Fi yf máx .
Nota: La notación de EMV usa D (resp. F) donde ISO / IEC 7816-3 usa Di (resp. Fi).
Ejemplo: TA 1 = 'B5' = 10110101 , en el que FI es 1011 y DI es 0101 , codifica f max = 10 MHz, Fi = 1024, Di = 16, por lo tanto Fi / Di = 1024/16 = 64. Esto invita al lector de tarjetas a tomar (después del ATR) los pasos necesarios para reducir la ETU a 64 ciclos de reloj por ETU (desde 372 durante ATR) y aumentar la frecuencia de reloj hasta 10 MHz (desde quizás 4 MHz durante ATR).
Byte de interfaz TB 1
TB 1 , si está presente, es global. El uso de TB 1 está obsoleto desde la edición de 2006 de la norma, que prescribe que las tarjetas no deben incluir TB 1 en el ATR, y los lectores deben ignorar TB 1 si está presente. EMV aún requiere que la tarjeta incluya TB 1 = '00' , y eso sigue siendo una práctica común; al hacerlo, se indica explícitamente que la tarjeta no utiliza el contacto dedicado C6 con el fin de suministrar un voltaje de programación (V PP ) a la tarjeta; Sin embargo, las tarjetas pueden usar C6 para uso estándar o patentado (SPU), como comunicarse con un extremo frontal NFC mediante el protocolo de cable único (SWP). En el lado del lector, EMV requiere hacer un ATR cálido para tarjetas con TB 1 que no sea '00' en el ATR frío , y manipular cualquier TB 1 en un ATR cálido como si fuera '00' .
TB 1 indicaba previamente (toscamente) el voltaje de programación V PP y la corriente de programación máxima requerida por algunas tarjetas en el contacto dedicado C6 durante la programación de su memoria EPROM . Las tarjetas inteligentes modernas generan internamente el voltaje de programación para su EEPROM o memoria Flash y, por lo tanto, no usan V PP . En las ediciones de 1997 y anteriores de la norma:
- Los 5 bits bajos de TB 1 (5º MSbit al 1º LSbit) codifican PI1; si TB 2 está ausente, PI1 = 0 indica que el contacto C6 (asignado a V PP ) no está conectado en la tarjeta; PI1 en el rango [5..25] codifica el valor de V PP en Volt (el lector aplicará ese voltaje solo a demanda específica de la tarjeta, con una tolerancia del 2.5%, hasta la corriente máxima de programación; en caso contrario, dejará el Contacto C6 utilizado para V PP dentro del 5% del voltaje V CC , hasta 20 mA); si TB 2 está presente, reemplaza la indicación dada por TB 1 en el campo PI1, con respecto a la conexión V PP o voltaje.
- El bit alto de TB 1 (octavo bits) está reservado, se 0 y el lector puede ignorarlo.
- Los bits 6 y 5 de TB 1 codifican la corriente máxima de programación (asumiendo que ni TB 1 ni TB 2 indican que V PP no está conectado en la tarjeta).
Séptimo y sexto bits | 00 | 01 | 10 | 11 |
Corriente máxima de programación | 25 mA | 50 mA | RFU (#) | RFU |
(#) Esto fue 100 mA en ISO / IEC 7816-3: 1989.
Byte de interfaz TC 1
TC 1 , si está presente, es global y codifica el número entero de tiempo de protección adicional (N), de 0 a 255 (8º MSbit al 1º LSbit); de lo contrario, N = 0. N define cuánto tiempo de protección debe aplicar el lector varía desde una línea de base de 12 ETU (correspondiente a 1 bit de inicio, 8 bits de datos, 1 bit de paridad y 2 bits de parada; con el segundo bit de parada posiblemente utilizado para una indicación de error por parte del receptor bajo el protocolo T = 0). El tiempo de guardia es el retardo mínimo entre el borde anterior del carácter anterior y el borde anterior del siguiente carácter enviado.
Excepto cuando N es 255, el tiempo de guarda es: GT = 12 ETU + R * N / f
donde:
- f es la frecuencia de reloj que genera el lector;
- R es un número de ciclos de reloj, ya sea:
- por ETU, R = F / D, si T = 15 está ausente del ATR;
- definido por TA 1 , R = F i / D i (o su valor predeterminado), si T = 15 está presente en el ATR.
N = 255 tiene un significado que depende del protocolo: GT = 12 ETU durante PPS (selección de protocolo y parámetros) y protocolo T = 0, GT = 11 ETU bajo el protocolo T = 1 (correspondiente a 1 bit de inicio, 8 bits de datos, 1 paridad bit y 1 bit de parada; sin indicación de error).
Excepto en el protocolo T = 1, la tarjeta transmite con un tiempo de protección de 12 ETU, independientemente de N.En el protocolo T = 1, el tiempo de protección definido por N también es el tiempo de protección de caracteres (CGT) y se aplica a la tarjeta y al lector. para personajes enviados en la misma dirección.
Nota: El lector permanece sujeto al Guard Time GT definido por N cuando otras prescripciones especifican otro retraso mínimo entre los bordes iniciales de los caracteres en diferentes direcciones, incluso cuando ese mínimo es menor que GT.
Nota histórica: ISO / IEC 7816-3: 1989 solo definió que N codifica el EGT como un número de ETU, el método que se usa ahora cuando T = 15 está ausente del ATR. Con esta convención, las tarjetas que permiten la negociación de un número reducido de ciclos de reloj por ETU después de PPS también deben permitir un número reducido proporcionalmente de ciclos de reloj para el EGT, lo que no coincide con una motivación EGT común: tener en cuenta los retrasos antes de que la tarjeta pueda recibir el siguiente carácter. La edición de 1997 del estándar introdujo que cuando T = 15 está presente en el ATR, N codifica el EGT como un múltiplo del número de ciclos de reloj por ETU codificado por TA 1 , haciendo que el EGT sea efectivamente independiente del número de ciclos de reloj por ETU negoció, manteniendo la compatibilidad con lectores anteriores al menos si no cambiaban el número de ciclos de reloj por ETU.
Bytes de interfaz TD i
Los bytes de interfaz TD i para i ≥1, si están presentes, son estructurales.
TD i codifica en sus 4 bits de orden superior la presencia de como máximo otros 4 bytes de interfaz: TA i +1 (resp. TB i +1 , TC i +1 , TD i +1 ) siguen, en ese orden, si el El bit 5 (resp. 6, 7, 8) de TD i es 1 .
TD i codifica en sus 4 bits de orden inferior (4º MSbit al 1º LSbit) un entero T, en el rango [0..15]. T = 15 no es válido en TD 1 , y en otros TD i califica los siguientes TA i +1 TB i +1 , TC i +1 , TD i +1 (si están presentes) como bytes de interfaz global. Otros valores de T indican un protocolo que la tarjeta está dispuesta a usar, y que TA i +1 TB i +1 , TC i +1 , TD i +1 (si están presentes) son bytes de interfaz específicos que se aplican solo a ese protocolo. T = 0 es un protocolo orientado a caracteres. T = 1 es un protocolo orientado a bloques. T en el rango [3..14] es RFU.
Nota histórica: la disposición para calificar dinámicamente bytes de interfaz como globales usando T = 15 no existía en ISO / IEC 7816-3: 1989.
Byte de interfaz TA 2
El byte de interfaz TA 2 , si está presente, es global y se denomina byte de modo específico .
La presencia de TA 2 ordena que el lector utilice el modo específico definido por TA 2 y bytes globales anteriores, en lugar del modo negociable cuando TA 2 está ausente.
TA 2 codifica en sus 4 bits de orden inferior un entero T que define el protocolo requerido por la tarjeta, en la convención utilizada para TD 1 (EMV prescribe que una tarjeta que T codificada en TA 2 no coincide con la de TD 1 será rechazada ).
El quinto bit es 0 para codificar que la duración de ETU requerida es ciclos de reloj F i / D i según lo definido por TA 1 (o su valor predeterminado si está ausente); o 1 para indicar que la duración de la ETU se conoce implícitamente (por alguna convención o configuración del lector; EMV prescribe que dicha tarjeta debe ser rechazada).
El sexto y séptimo bit están reservados para uso futuro; 0 indica que no se utiliza.
El octavo bit es 1 para indicar que la tarjeta no puede cambiar el modo negociable / específico (es decir, no propone otras configuraciones); o 0 para indicar que la carta tiene esa habilidad (quizás después de un ATR cálido).
Nota histórica: La disposición para el modo específico no existía en ISO / IEC 7816-3: 1989. En aquel entonces, el carácter de interfaz TA 2 no tenía un nombre o función en particular, y era específico (al protocolo introducido por TD 1 ). ISO / IEC 7816-3: 1997 introdujo el modo específico y el byte de modo específico, con notas intermedias que ayudan a las tarjetas con el byte de modo específico TA 2 en su ATR que tratan con un lector que no implementó el modo específico.
Byte de interfaz TB 2
TB 2 , si está presente, es global. El uso de TB 2 está obsoleto desde la edición de 2006 del estándar, que prescribe que las tarjetas no deben incluir TB 2 en el ATR, y los lectores deben ignorar TB 2 si está presente.
En la edición de 1997 del estándar, TB 2 (8 ° al 1 ° bit) codifica PI2, que cuando está en el rango 50..250 (los otros valores son RFU) codifica V PP en incrementos de 0.1 V, y subsume la indicación más gruesa dada por PI1 de TB 1 . Consulte esa sección para saber por qué las tarjetas inteligentes modernas no utilizan V PP y, por lo tanto, TB 2 .
Nota histórica: La disposición para TB 2 no existía en ISO / IEC 7816-3: 1989 y se introdujo porque V PP = 12,5 V se convirtió en un valor popular en la tecnología EEPROM, reemplazando 25 V y 21 V.
Bytes históricos T i
Los caracteres históricos T i para i ≥1, si están presentes (según lo definido por K codificado en T0), suelen contener información sobre el creador de la tarjeta, el tipo de tarjeta (tamaño, etc.), el número de versión y el estado de la tarjeta.
Comprobar byte TCK
El byte ChecK (si está presente) permite verificar la integridad de los datos en el ATR. Si está presente, TCK es el OR exclusivo de los bytes en el ATR desde T0 (incluido) hasta TCK (excluido).
TCK estará presente si y sólo si alguno de los TD i presentes en el ATR codifica un valor de T distinto de 0.
Esa regla para la presencia de TCK es según ISO / IEC 7816-3: 1989. Las últimas ISO / IEC 7816-3: 1997 e ISO / IEC 7816-3: 2006 coinciden, al menos siempre que TA 2 esté ausente o codifique la misma T que TD 1 (que es ordenada por EMV). La práctica común (por ejemplo, en las tarjetas SIM) es aplicar esa regla, a pesar de la prescripción contradictoria en EMV 4.3 Libro 1, sección 8.3.4, que el ATR no contendrá TCK si solo se va a usar T = 0 , en lugar de leer esa prescripción como si terminara en si solo se indica T = 0 .
ATR en transmisión síncrona
La referencia oficial que define el ATR en transmisión síncrona es el estándar ISO / IEC 7816-10 . [7]
El ATR comienza con un encabezado de 32 bits organizado en 4 bytes, denominado H1 a H4. H1 codifica el protocolo (con '00' y 'FF' no es válido), H2 codifica parámetros del protocolo. Poco más está estandarizado.
Referencias
- ^ "Sección 5.3.3.1 en SCM Microsystems SDI011 Reference Manual - versión 1.05 " (PDF) . Archivado desde el original (PDF) el 2011-10-01 . Consultado el 30 de agosto de 2011 .
- ^ Sección 3.2 en la Guía para desarrolladores de lectores de tarjetas inteligentes sin contacto OMNIKEY Archivada el 6 de octubre de 2011 en Wayback Machine
- ^ ISO / IEC 18092: 2004 - Tecnología de la información - Telecomunicaciones e intercambio de información entre sistemas - Comunicación de campo cercano - Interfaz y protocolo (NFCIP-1)
- ^ ISO / IEC 7816-3: 2006 - Tarjetas de identificación - Tarjetas de circuitos integrados - Parte 3: Tarjetas con contactos - Interfaz eléctrica y protocolos de transmisión (vista previa parcial)
- ^ [1] , Especificaciones de la tarjeta de circuito integrado EMV 4.3 para sistemas de pago - Libro 1 - Requisitos de interfaz de ICC a terminal independientes de la aplicación
- ^ [2] (copia archivada), ISO / IEC 7816-4: 2005 (Tarjetas de identificación - Tarjetas de circuitos integrados - Parte 3: Tarjetas con contactos - Organización, seguridad y comandos para el intercambio), nota en la sección 7.4.2
- ^ ISO / IEC 7816-10: 1999 - Tarjetas de identificación - Tarjetas de circuitos integrados - Parte 3: Tarjetas con contactos - Señales electrónicas y respuesta a reset para tarjetas síncronas (vista previa parcial)
enlaces externos
- Herramienta de análisis en línea de análisis ATR de tarjetas inteligentes