Compartilhar via


Requisitos de cartão de armazenamento

Esta seção descreve os requisitos gerais do conjunto de comandos APDU para cartões não compatíveis com ISO14443-4 (conhecidos como cartões de armazenamento).

comando General-Authenticate

O comando General-Authenticate é usado para executar a sequência de autenticação em um cartão MIFARE. Esse comando só é aplicável aos cartões MIFARE Mini, Classic 1k e 4k.

General-Authenticate formato de comando

Comando Classe INS P1 P2 Lc Entrada de Dados
General-Authenticate 0xFF 0x86 0x00 0x00 0x01 Endereço MSB, Endereço LSB, Tipo de Chave A ou B, Número da Chave

General-Authenticate formato de resposta

Resposta
SW1, SW2

comando Get-Data

O comando Get-Data é usado para recuperar informações da marca/cartão NFC sem contato.

Get-Data formato de comando

Comando Classe INS P1 P2 L2
Get-Data 0xFF 0xCA 0x00: número de série do cartão (ISO14443-A: UID, ISO14443-B: PUPI, Felica: IDm, Jewel: RID)

0x01: bytes históricos do cartão (Tipo A: bytes históricos de ATR, Tipo B: resposta ATTRIB)
0x00 0x00

Get-Data formato de resposta

Resposta
Saída de dados, SW1, SW2

comando Load-Key

O comando Load-Key é usado para armazenar chaves MIFARE no driver. Esse comando só é aplicável aos cartões MIFARE Mini, Classic 1k e 4k.

Load-Key formato de comando

Comando Classe INS P1 P2 Lc Entrada de Dados
Load-Key 0xFF 0x82 Estrutura de chave Número da Chave 0x6 Valor da chave

Load-Key formato de resposta

Resposta
SW1, SW2

Comando Gerenciar Sessão

A implementação desse comando deve ser de acordo com a especificação do PCSC.

Gerenciar formato de comando de sessão

Comando Classe INS P1 P2 Lc Entrada de Dados
Autenticação Geral 0xFF 0xC2 0x00 0x00 Variável Objeto de dados TLV

Veja a seguir os objetos de dados TLV necessários para serem compatíveis com o driver:

Marca Objeto de dados
0x80 Objeto de dados version
0x81 Iniciar Sessão Transparente
0x82 Encerrar Sessão Transparente

comando Read-Binary

O comando Read-Binary é usado para ler dados da marca/cartão NFC sem contato. O comando é aplicável somente a cartões de armazenamento (cartões MIFARE Classic/UL, Felica, ISO15693 e Jewel/Topaz).

Read-Binary formato de comando

Comando Classe INS P1 P2 Lc Entrada de Dados Li
Read-Binary 0xFF 0xB0 Endereço MSB Endereço LSB Comprimento dos dados em Dados Comprimento esperado

Read-Binary família MIFARE

Comando CIA INS P1 P2 Le
UL READ 16 0xFF 0xB0 0x00 0x00 0x15 0x10
CL 1k READ 16 0xFF 0xB0 0x00 0x00 0x3F 0x10
CL 4k READ 16 0xFF 0xB0 0x00 0x00 0xFF 0x10

família Read-Binary Jewel

Comando CIA INS P1 P2 Le
LEIA TUDO 0xFF 0xB0 0x00 0x00 0x00
RID 0xFF 0xB0 0x00 0x00 0x06
READ 0xFF 0xB0 Bloquear Não Deslocamento de bloco 0x01
LEIA 8 0xFF 0xB0 Bloquear Não 0x00 0x08
LEIA SEG 0xFF 0xB0 0x00 Segment Addr 0x80

Read-Binary família Felica

Comando CIA INS P1 P2 Lc Entrada de Dados
CHECK 0xFF 0xB0 0x00 0x00 Comprimento dos dados em Número de serviços, número de blocos, lista de blocos

Família ISO 15693

Comando CIA INS P1 P2 Le
READ 0xFF 0xB0 Número do Bloco 0x00 0x04

Resposta da família ISO 15693

Resposta
Data out, SW1, SW2

Comando de troca transparente

Formato de comando do Exchange Transparente

Comando Classe INS P1 P2 Lc Entrada de Dados
Autenticação Geral 0xFF 0xC2 0x00 0x01 Variável Objeto de dados TLV

Veja a seguir os objetos de dados TLV necessários para que o Transparent Exchange Command tenha suporte do driver para troca transparente de comandos em cartões de armazenamento:

Marca Objeto de dados
0x95 Transceive - Transmitir e receber
0x5F46 Timer

comando Update-Binary

O comando Update-Binary é usado para gravar dados na marca/cartão NFC sem contato. O comando é aplicável somente a cartões de armazenamento (cartões MIFARE Classic/UL, Felica, ISO15693 e Jewel/Topaz). O formato da solicitação e da resposta para o comando é conforme descrito abaixo.

Update-Binary formato de comando

Comando Classe INS P1 P2 Lc Entrada de Dados
Update-Binary 0xFF 0xD6 Endereço MSB Endereço LSB Comprimento dos dados em Dados

Update-Binary família MIFARE

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

família Update-Binary Jewel

Comando CIA INS P1 P2 Le
WRITE1-E 0xFF 0xD6 Número do Bloco Deslocamento de bloco 0x01
WRITE8-E 0xFF 0xD6 Número do Bloco 0x00 0x08

Update-Binary família Felica

Comando CIA INS P1 P2 Le Entrada de Dados
UPDATE 0xFF 0xD6 0x00 0x00 Comprimento dos dados em Número de Serviços, Número de blocos, Lista de blocos

Formato da resposta

Comando CIA INS P1 P2 Le
WRITE 0xFF 0xD6 Número do Bloco 0x00 0x04