14.1.1
Sécurité
Les transpondeurs Mifare contiennent des dispositifs de sécurité qui contrôlent l'accès aux secteurs de la mémoire au moyen de deux clés de sécurité et des règles
d'accès correspondantes.
Les clés, appelées clé A et clé B, ont chacune une longueur de six octets. Les règles d'accès définissent quelle clé doit être utilisée pour effectuer des commandes
de lecture/écriture sur chaque bloc de mémoire. Les options contrôlées par les bits d'accès sont les suivantes
•
l'accès à un bloc se fait en lecture/écriture ;
•
l'accès à un bloc est en lecture seule ;
•
l'accès à un bloc se fait uniquement en écriture ;
•
les données sont stockées dans un format de données ou de valeurs standard ;
•
utiliser la touche A et/ou la touche B pour y accéder.
Chaque commande de transpondeur doit être accompagnée de la bonne clé. L'accès peut nécessiter les conditions
suivantes :
•
l'utilisation de la clé A uniquement ;
•
l'utilisation de la clé B uniquement ;
•
l'utilisation de la clé A ou de la clé B.
ou l'accès peut être refusé quelle que soit la clé utilisée.
Dans le dernier cas, la commande sélectionnée ne peut pas être exécutée sur ce bloc de mémoire. Ces conditions d'accès sont définies séparément pour
chacune des commandes - lecture, écriture, incrémentation, décrémentation et transfert. Un bloc de données peut être rendu "en lecture seule" en empêchant
l'utilisation de la commande d'écriture.
Les cartes Mifare 1k et les blocs de la moitié inférieure des cartes 4k peuvent avoir des conditions d'accès différentes pour chaque bloc. Pour la moitié supérieure
des cartes 4k, les conditions sont définies pour des groupes de cinq blocs. Les bits de contrôle d'accès eux-mêmes peuvent également être protégés, en
empêchant toute commande d'écriture sur leur propre bloc. L'effet de cette mesure est permanent et doit être soigneusement planifié. (Cela ne fera pas partie de
ces exercices !)
Le module de lecture RWD-MICODE contient un tableau de mémoire qui permet de stocker jusqu'à 32 clés de 6 octets. Chaque commande de lecture/écriture du
transpondeur doit inclure l'index du tableau pour la clé utilisée, ainsi qu'un drapeau indiquant si la clé doit être utilisée en tant que clé A ou clé B.
L'opération demandée ne sera autorisée que si
•
la clé adressée dans le module de lecture correspond à la clé équivalente dans le transpondeur pour le secteur adressé.
•
les bits d'accès permettent d'effectuer l'opération demandée à l'aide de la clé fournie.
L'exercice suivant utilise la fonction StoreRFIDKey pour créer une nouvelle valeur de clé. Les fonctions ReadRFIDBlock et ReadRFIDBuffer sont utilisées pour
transférer les données de la mémoire du transpondeur à la mémoire tampon du module de lecture, puis à l'écran LCD.
14.2
Objectif
Concevoir et tester un programme Flowcode qui démontrera l'utilisation de clés de sécurité pour accéder aux données d'un transpondeur Mifare. Lorsque la
bonne clé est utilisée, les données sont lues dans le bloc 5 de la mémoire du transpondeur et affichées sur l'écran LCD.
39