Compartir a través de


Requisitos de la tarjeta de almacenamiento

En esta sección se describen los requisitos generales del conjunto de comandos apDU para tarjetas no compatibles con ISO14443-4 (conocidas como tarjetas de almacenamiento).

General-Authenticate command

El comando General-Authenticate se usa para realizar la secuencia de autenticación en una tarjeta MIFARE. Este comando solo es aplicable para tarjetas MIFARE Mini, Classic 1k y 4k.

formato de comando General-Authenticate

Command Class INS P1 P2 Lc Data In
General-Authenticate 0xFF 0x86 0x00 0x00 0x01 Dirección MSB, LSB de dirección, tipo de clave A o B, número de clave

formato de respuesta General-Authenticate

Response
SW1, SW2

Get-Data command

El comando Get-Data se usa para recuperar información de la etiqueta/tarjeta NFC sin contacto.

formato de comando Get-Data

Command Class INS P1 P2 L2
Get-Data 0xFF 0xCA 0x00: Número de serie de la tarjeta (ISO14443-A: UID, ISO14443-B: PUPI, Felica: IDm, Jewel: RID)

0x01: Bytes históricos de la tarjeta (Tipo A: Bytes históricos de ATR, Tipo B: Respuesta ATTRIB)
0x00 0x00

formato de respuesta Get-Data

Response
Salida de datos, SW1, SW2

Load-Key command

El comando Load-Key se usa para almacenar claves MIFARE en el controlador. Este comando solo es aplicable para tarjetas MIFARE Mini, Classic 1k y 4k.

formato de comando Load-Key

Command Class INS P1 P2 Lc Data In
Load-Key 0xFF 0x82 Key Structure Key Number 0x6 Key Value

formato de respuesta Load-Key

Response
SW1, SW2

Comando Administrar sesión

La implementación de este comando debe ser según la especificación PCSC.

Administrar formato de comando de sesión

Command Class INS P1 P2 Lc Data In
General Authenticate 0xFF 0xC2 0x00 0x00 Variable Objeto de datos TLV

A continuación se requieren objetos de datos TLV que el controlador admita:

Tag Data Object
0x80 Objeto de datos de versión
0x81 Iniciar sesión transparente
0x82 Finalizar sesión transparente

Read-Binary command

El comando Read-Binary se usa para leer datos de la etiqueta o tarjeta NFC sin contacto. El comando solo es aplicable a las tarjetas de almacenamiento (tarjetas MIFARE Classic/UL, Felica, ISO15693 y Jewel/Topaz).

formato de comando Read-Binary

Command Class INS P1 P2 Lc Data In Li
Read-Binary 0xFF 0xB0 Address MSB Address LSB Longitud de los datos en Data Length expected

Read-Binary familia MIFARE

Command CLA INS P1 P2 Le
UL READ 16 0xFF 0xB0 0x00 0x00 a 0x15 0x10
CL 1k READ 16 0xFF 0xB0 0x00 0x00 a 0x3F 0x10
CL 4k READ 16 0xFF 0xB0 0x00 0x00 a 0xFF 0x10

familia Read-Binary Jewel

Command CLA INS P1 P2 Le
READ ALL 0xFF 0xB0 0x00 0x00 0x00
RID 0xFF 0xB0 0x00 0x00 0x06
READ 0xFF 0xB0 Block No Block Offset 0x01
READ 8 0xFF 0xB0 Block No 0x00 0x08
READ SEG 0xFF 0xB0 0x00 Segment Addr 0x80

familia Read-Binary Felica

Command CLA INS P1 P2 Lc Data In
CHECK 0xFF 0xB0 0x00 0x00 Longitud de los datos en Número de servicios, número de bloques, lista de bloqueos

Familia ISO 15693

Command CLA INS P1 P2 Le
READ 0xFF 0xB0 Block Number 0x00 0x04

Respuesta de familia ISO 15693

Response
Salida de datos, SW1, SW2

Comando de intercambio transparente

Formato de comando de intercambio transparente

Command Class INS P1 P2 Lc Data In
General Authenticate 0xFF 0xC2 0x00 0x01 Variable Objeto de datos TLV

A continuación se muestran los objetos de datos TLV necesarios para que el comando de Exchange transparente sea compatible con el controlador para el intercambio transparente de comandos a tarjetas de almacenamiento:

Tag Data Object
0x95 Transceive: transmisión y recepción
0x5F46 Timer

Update-Binary command

El comando Update-Binary se usa para escribir datos en la etiqueta o tarjeta NFC sin contacto. El comando solo es aplicable a las tarjetas de almacenamiento (tarjetas MIFARE Classic/UL, Felica, ISO15693 y Jewel/Topaz). El formato de la solicitud y la respuesta para el comando es como se describe a continuación.

formato de comando Update-Binary

Command Class INS P1 P2 Lc Data In
Update-Binary 0xFF 0xD6 Address MSB Address LSB Longitud de los datos en Data

Update-Binary familia MIFARE

Command CLA INS P1 P2 Le
UL WRITE 4 0xFF 0xD6 0x00 0x00 a 0x15 0x04
CL 1k WRITE 16 0xFF 0xD6 0x00 0x00 a 0x3F 0x10
CL 4k WRITE 16 0xFF 0xB0 0x00 0x00 a 0xFF 0x10

familia Update-Binary Jewel

Command CLA INS P1 P2 Le
WRITE1-E 0xFF 0xD6 Block Number Block Offset 0x01
WRITE8-E 0xFF 0xD6 Block Number 0x00 0x08

familia Update-Binary Felica

Command CLA INS P1 P2 Le Data In
UPDATE 0xFF 0xD6 0x00 0x00 Longitud de los datos en Número de servicio, Número de bloques, Lista de bloqueos

Response format

Command CLA INS P1 P2 Le
WRITE 0xFF 0xD6 Block Number 0x00 0x04