Questa sezione descrive i requisiti generali del set di comandi APDU per le schede non conformi a ISO14443-4 (note come schede di archiviazione).
comando General-Authenticate
Il comando General-Authenticate viene usato per eseguire la sequenza di autenticazione in una scheda MIFARE. Questo comando è applicabile solo per le schede MIFARE Mini, Classic 1k e 4k.
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
General-Authenticate |
0xff |
0x86 |
0x00 |
0x00 |
0x01 |
Indirizzo MSB, Address LSB, Key Type A o B, Key Number |
comando Get-Data
Il comando Get-Data viene usato per recuperare informazioni dal tag NFC o dalla scheda NFC contactless.
Comando |
Classe |
INS |
P1 |
P2 |
L2 |
Get-Data |
0xff |
0xCA |
0x00: Numero di serie della scheda (ISO14443-A: UID, ISO14443-B: PUPI, Felica: IDm, Jewel: RID)
0x01: byte cronologici della scheda (tipo A: byte cronologici da ATR, tipo B: risposta ATTRIB) |
0x00 |
0x00 |
Risposta |
Dati in uscita, SW1, SW2 |
comando Load-Key
Il comando Load-Key viene usato per archiviare le chiavi MIFARE nel driver. Questo comando è applicabile solo per le schede MIFARE Mini, Classic 1k e 4k.
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
Load-Key |
0xff |
0x82 |
Struttura chiave |
Numero chiave |
0x6 |
Valore chiave |
Comando Gestisci sessione
L'implementazione di questo comando deve essere in base alla specifica PCSC.
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
Autenticazione generale |
0xff |
0xC2 |
0x00 |
0x00 |
Variabile |
Oggetto dati TLV |
Per supportare il driver sono necessari gli oggetti dati TLV seguenti:
Tag |
Oggetto dati |
0x80 |
Oggetto dati version |
0x81 |
Avviare una sessione trasparente |
0x82 |
Termina sessione trasparente |
comando Read-Binary
Il comando Read-Binary viene usato per leggere i dati dal tag NFC o dalla scheda NFC contactless. Il comando è applicabile solo per le schede di archiviazione (carte MIFARE Classic/UL, Felica, ISO15693 e Jewel/Topaz).
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
Li |
Read-Binary |
0xff |
0xB0 |
MsB indirizzo |
Indirizzo LSB |
Lunghezza dei dati in |
Dati |
Lunghezza prevista |
Read-Binary famiglia MIFARE
Comando |
CIA |
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 |
Read-Binary famiglia gioiello
Comando |
CIA |
INS |
P1 |
P2 |
Le |
LEGGI TUTTO |
0xff |
0xB0 |
0x00 |
0x00 |
0x00 |
RID |
0xff |
0xB0 |
0x00 |
0x00 |
0x06 |
READ |
0xff |
0xB0 |
Blocca no |
Offset blocco |
0x01 |
LETTURA 8 |
0xff |
0xB0 |
Blocca no |
0x00 |
0x08 |
READ SEG |
0xff |
0xB0 |
0x00 |
Componente aggiuntivo segmento |
0x80 |
Read-Binary famiglia Felica
Comando |
CIA |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
CHECK |
0xff |
0xB0 |
0x00 |
0x00 |
Lunghezza dei dati in |
Numero di servizi, numero di blocchi, elenco blocchi |
Famiglia ISO 15693
Comando |
CIA |
INS |
P1 |
P2 |
Le |
READ |
0xff |
0xB0 |
Numero di blocco |
0x00 |
0x04 |
Risposta della famiglia ISO 15693
Risposta |
Dati out, SW1, SW2 |
Comando Di scambio trasparente
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
Autenticazione generale |
0xff |
0xC2 |
0x00 |
0x01 |
Variabile |
Oggetto dati TLV |
Di seguito sono riportati gli oggetti dati TLV necessari per il comando Transparent Exchange da supportare dal driver per lo scambio trasparente di comandi alle schede di archiviazione:
Tag |
Oggetto dati |
0x95 |
Trasceive - Trasmettere e ricevere |
0x5F46 |
Timer |
comando Update-Binary
Il comando Update-Binary viene usato per scrivere dati nel tag NFC senza contatto/scheda. Il comando è applicabile solo per le schede di archiviazione (MIFARE Classic/UL, Felica, ISO15693 e Jewel/Topaz card). Il formato della richiesta e della risposta per il comando è descritto di seguito.
Comando |
Classe |
INS |
P1 |
P2 |
Lc |
Dati in entrata |
Update-Binary |
0xff |
0xD6 |
MsB indirizzo |
Indirizzo LSB |
Lunghezza dei dati in |
Dati |
Update-Binary famiglia MIFARE
Comando |
CIA |
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 |
Update-Binary famiglia gioiello
Comando |
CIA |
INS |
P1 |
P2 |
Le |
WRITE1-E |
0xff |
0xD6 |
Numero di blocco |
Offset blocco |
0x01 |
WRITE8-E |
0xff |
0xD6 |
Numero di blocco |
0x00 |
0x08 |
Update-Binary famiglia Felica
Comando |
CIA |
INS |
P1 |
P2 |
Le |
Dati in entrata |
UPDATE |
0xff |
0xD6 |
0x00 |
0x00 |
Lunghezza dei dati in |
Numero di servizi, numero di blocchi, elenco blocchi |
Comando |
CIA |
INS |
P1 |
P2 |
Le |
WRITE |
0xff |
0xD6 |
Numero di blocco |
0x00 |
0x04 |