Configuration requise pour les carte de stockage

Cette section décrit les exigences générales de l’ensemble de commandes APDU pour les cartes non conformes ISO14443-4 (appelées cartes de stockage).

commande General-Authenticate

La commande General-Authenticate est utilisée pour effectuer la séquence d’authentification sur un carte MIFARE. Cette commande s’applique uniquement aux cartes MIFARE Mini, Classic 1K et 4K.

General-Authenticate format de commande

Commande Classe INS P1 P2 Lc Données entrantes
General-Authenticate 0xFF 0x86 0x00 0x00 0x01 Adresse MSB, Adresse LSB, Type de clé A ou B, Numéro de clé

General-Authenticate format de réponse

response
SW1, SW2

commande Get-Data

La commande Get-Data permet de récupérer des informations à partir de la balise/carte NFC sans contact.

Get-Data format de commande

Commande Classe INS P1 P2 L2
Get-Data 0xFF 0xCA 0x00 : Numéro de série du carte (ISO14443-A : UID, ISO14443-B : PUPI, Felica : IDm, Jewel : RID)

0x01 : Octets historiques du carte (Type A : Octets historiques d’ATR, Type B : Réponse ATTRIB)
0x00 0x00

Get-Data format de réponse

response
Sortie des données, SW1, SW2

commande Load-Key

La commande Load-Key est utilisée pour stocker les clés MIFARE dans le pilote. Cette commande s’applique uniquement aux cartes MIFARE Mini, Classic 1K et 4K.

Load-Key format de commande

Commande Classe INS P1 P2 Lc Données entrantes
Load-Key 0xFF 0x82 Structure de clé Numéro de clé 0x6 Valeur de clé

Load-Key format de réponse

response
SW1, SW2

Commande Gérer la session

L’implémentation de cette commande doit être conformément à la spécification PCSC.

Gérer le format de commande de session

Commande Classe INS P1 P2 Lc Données entrantes
Authentification générale 0xFF 0xC2 0x00 0x00 Variable Objet de données TLV

Les objets de données TLV requis pour être pris en charge par le pilote sont les suivants :

Tag Objet de données
0x80 Objet de données de version
0x81 Démarrer une session transparente
0x82 Mettre fin à la session transparente

commande Read-Binary

La commande Read-Binary permet de lire des données à partir de la balise/carte NFC sans contact. La commande s’applique uniquement aux cartes de stockage (cartes MIFARE Classic/UL, Felica, ISO15693 et Jewel/Topaz).

Read-Binary format de commande

Commande Classe INS P1 P2 Lc Données entrantes Li
Read-Binary 0xFF 0xB0 Adresse MSB Adresse LSB Longueur des données dans Données Longueur attendue

Read-Binary famille MIFARE

Commande 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

Read-Binary Famille Jewel

Commande CIA INS P1 P2 Le
LIRE TOUT 0xFF 0xB0 0x00 0x00 0x00
RID 0xFF 0xB0 0x00 0x00 0x06
READ 0xFF 0xB0 Bloquer non Décalage de bloc 0x01
LECTURE 8 0xFF 0xB0 Bloquer non 0x00 0x08
READ SEG 0xFF 0xB0 0x00 Segment Addr 0x80

Read-Binary famille Felica

Commande CIA INS P1 P2 Lc Données entrantes
CHECK 0xFF 0xB0 0x00 0x00 Longueur des données dans Nombre de services, nombre de blocs, liste de blocs

Famille ISO 15693

Commande CIA INS P1 P2 Le
READ 0xFF 0xB0 Numéro de bloc 0x00 0x04

Réponse de la famille ISO 15693

response
Sortie de données, SW1, SW2

Commande d’échange transparent

Format de commande Exchange transparent

Commande Classe INS P1 P2 Lc Données entrantes
Authentification générale 0xFF 0xC2 0x00 0x01 Variable Objet de données TLV

Voici les objets de données TLV requis pour transparent Exchange Command à prendre en charge par le pilote pour l’échange transparent de commandes vers des cartes de stockage :

Tag Objet de données
0x95 Émetteur - Transmettre et recevoir
0x5F46 Minuteur

commande Update-Binary

La commande Update-Binary est utilisée pour écrire des données dans la balise/carte NFC sans contact. La commande s’applique uniquement aux cartes de stockage (cartes MIFARE Classic/UL, Felica, ISO15693 et Jewel/Topaz). Le format de la demande et de la réponse pour la commande est celui décrit ci-dessous.

format de commande Update-Binary

Commande Classe INS P1 P2 Lc Données entrantes
Update-Binary 0xFF 0xD6 Adresse MSB Adresse LSB Longueur des données dans Données

Update-Binary famille MIFARE

Commande 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

Update-Binary Famille Jewel

Commande CIA INS P1 P2 Le
WRITE1-E 0xFF 0xD6 Numéro de bloc Décalage de bloc 0x01
WRITE8-E 0xFF 0xD6 Numéro de bloc 0x00 0x08

Update-Binary famille Felica

Commande CIA INS P1 P2 Le Données entrantes
UPDATE 0xFF 0xD6 0x00 0x00 Longueur des données entrantes Nombre de services, Nombre de blocs, Liste de blocs

Format de la réponse

Commande CIA INS P1 P2 Le
WRITE 0xFF 0xD6 Numéro de bloc 0x00 0x04