Par défaut, la carte plus émise par nxp est une carte uninitialisée au niveau L0. À l’heure actuelle, l’opération active montre qu’elle prend en charge les caractéristiques de la carte CPU de l’ISO1443-4 (ATQA: 02 00, SAK: 20 UID: CD 65 E5 03), lors de l’exécution de l’écriture liée AES Après que la CLÉ et le bloc de données sont para paramélisés et engagés, il entre dans le niveau de sécurité L1. Son fonctionnement actif montre les caractéristiques d’une carte M1S70 (ATQA: 02 00, SAK: 18 UID: CD 65 E5 03), mais en fait il peut encore soutenir ISO1443-4 , Les rats sont exécutés avec succès (il doit également être pris en charge, sinon switchL2 et switch3 opérations ne peuvent pas être effectuées). Après l’authentification switchL2 est effectuée au niveau L1 et convertie au niveau L2, la valeur de retour après l’opération active est (ATQA: 02 00 SAK:11, UID: CD 65 E5 03). À l’heure actuelle, s’il n’y a pas un tel SAK correspondant dans le pilote existant, il s’agit d’un type de carte inconnu. Une fois que l’authentification switch3 est effectuée au niveau de sécurité L2, la carte est mise à niveau vers le niveau de sécurité L3, et la valeur de retour est (ATQA: 02 00 ,SAK:20, UID:CD 65 E5 03).
Exécuter les opérations de niveau L1 et L2 en état actif (couche ISO14443-3); lorsque la carte est au niveau L1, les interfaces liées à M1 peuvent être entièrement implémentées, ou la certification AES SL1 peut être effectuée d’abord, puis la certification M1 peut être effectuée. Après avoir effectué l’authentification AES SL1, il n’est pas nécessaire de générer une base de clé de session et de calculer avec la clé M1 pour dériver la nouvelle clé M1 comme la clé d’authentification M1 réelle, il suffit d’utiliser la clé M1 d’origine directement (ce point est différent du niveau L2).
Au niveau L0, le code de retour de PICC après l’exécution est ACK/NAK compatible avec la carte M1, il s’agit d’un code de retour grignotant sans CRC, donc lorsque la vérification CRC est activée, une erreur CRC se produit;
Dans le processus d’authentification AES SL1 de niveau L1, lorsque l’exécution est correcte, il retournera le code de retour et les informations avec CRC, et lorsqu’il y a une erreur (erreur de clé AES, erreur de décryptage RNDB, etc.), il retournera le NAK compatible avec la carte M1, qui est un demi-byte et il n’y a pas d’erreur CRC, donc lorsque la vérification CRC est activée , une erreur crc se produira.
L’instruction switchL2 est exécutée au niveau ISO14443-4. Une fois l’exécution réussie, le PICC entre dans le niveau de sécurité L2. À ce stade, l’instruction switchL2 est exécutée lors de la première transmission de Cmd+BNo+LenCap+PCDCap2, qui renvoie deux octets de statut 0x02, 0x09. 0x09 peut être compris comme un numéro de bloc invalide, mais 0x02 ne peut pas être compris.
Dans le niveau L2, comme indiqué dans le manuel, l’authentification AES doit être effectuée avant l’authentification M1, et les 6 octets inférieurs de la base de clé de session générée par AES sont XORed avec la clé M1 du bloc réel pour devenir la clé d’authentification du bloc M1 réel. Après le test, le type de clé AES doit être compatible avec le type de clé M1 (c’est-à-dire, les deux sont A ou B), sinon l’authentification M1 échouera! Lorsque les types et valeurs clés AES et M1du secteur A sont compatibles avec ceux du secteur B, l’accès au secteur B après l’authentification du secteur A est compatible avec l’accès au secteur A, et il n’est pas nécessaire d’accéder au secteur B. La certification.
Lors du débogage de mifPLAuthInPro au niveau de sécurité L2, lorsque s_AESCbcEnDecrypt est appelé, l’entrée iv sera réécrite une fois le cryptage et le décryptage terminés, ce qui se traduira par les prochains changements de cryptage et de décryptage iv et le cryptage et le décryptage échoue! Doit prêter attention à la valeur de iv!
Au niveau de sécurité L2, l’authentification obligatoire de la clé AES+M1 doit garder le type de clé AES compatible avec le type de clé M1 (c’est-à-dire la clé AES TypeA Key+M1 TypeA ou la clé TypeB TypeB AES Type+M1, comme l’authentification de la clé TypeA Key+M1 D’AES échouera même si les touches sont correctes!)
Après avoir terminé le débogage de niveau L2, vous pouvez effectuer FirstAuth à plusieurs reprises, et la valeur TI obtenue par FirstAuth est différente à chaque fois. Après avoir effectué une authentification FirstAuth correcte et obtenu TI, le suivi correctAuth peut être effectué (followAuth iv est basé sur l’authentification FirstAuth). Une fois que le FirstAuth correct est exécuté une fois, le followAuth peut être répété. Depuis firstauth et followAuth run en mode ISO14443-4, PICC reste en mode ISO14443-4 en cas d’erreur, et il n’est pas nécessaire de re-rechercher la carte.
Les commandes MultiWriteBlock et MultiReadBlock du niveau de sécurité L2 ne supportent que plusieurs opérations de lecture et d’écriture de blocs de données dans le même secteur ! Les commandes ReadBlock et WriteBlock du niveau de sécurité L3 soutiennent la lecture et l’écriture continues des blocs de données entre les secteurs (uniquement dans ce secteur!!!)
Niveau de sécurité L3 suivreAuth opération pour obtenir ENC KEY et MAC KEY cryptage utilisé iv vecteur est de 0 au lieu de TI +W_ctr +R_ctr!
Dans le fonctionnement du mode ISO14443-4, tant qu’il y a erreur, l’opération FirstAuth doit être effectuée !
Compréhension des opérations liées à la valeur de la carte M1 : L’essence de la commande Restaurer est de copier la valeur correspondante du bloc de données entrant (doit être en format portefeuille) à un tampon de transfert de 16 byte à l’intérieur de la carte M1, et l’essence de la commande de transfert est à la valeur tampon de transfert à l’intérieur de la carte M1 est copiée dans le bloc de données entrant. L’essence de la commande Increment est d’ajouter la valeur du bloc portefeuille d’entrée à la valeur ajoutée et de la copier au tampon de transfert, de sorte que la commande de transfert doit être appelée à nouveau pour copier la valeur du tampon de transfert dans le bloc de données spécifié.
https://www.szrcloud.com/card-reader/rfid-card-reader/rfid-card-reader-in-games.html