2 votes

Emulation de carte Mifare

Sur la base de cet article En fonction de l'APDU reçu, mon application doit répondre au bon APDU, simulant ainsi le comportement de la carte mifare.

avec rfidiot.py, la lecture d'une carte mifare me donne :

>  FF CA 00 00 00
<  CD EA 7D 2B 90 0 
    Tag ID: CDEA7D2B
    ATR: 3B8F8001804F0CA000000306030001000000006A

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  6C 10
>  FF B0 00 01 10
<  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 0 
    01: 00000000000000000000000000000000 ................

Avec mon application simulant la carte, j'ai obtenu un comportement erroné :

>  FF CA 00 00 00
<  08 F0 82 65 90 0 
    Tag ID: 08F08265
    ATR: 3B80800101

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  69 81
    Failed: Command incompatible with file structure

Une erreur apparaît sur la commande APDU FF B0 00 01 01. Et je ne sais pas d'où vient la commande APDU 6981

Quelqu'un peut-il m'aider sur ce "bug" ?

2voto

NFC guy Points 8052

Ce que vous essayez de faire n'est pas possible... Ce que @NikolayElenkov a fait est d'émuler une carte conforme à la norme ISO 7816-4. MIFARE Classic n'est pas conforme à la norme ISO 7816-4 (il n'utilise pas les commandes et les réponses APDU pour la communication). En fait, elle n'est même pas conforme à la norme ISO 14443-4 : elle utilise un cryptage propriétaire au-dessus de la norme ISO 14443-3.

Le fait que la communication ressemble à des APDU du côté du lecteur est dû au fait que votre lecteur supprime tout cryptage avant de transmettre les données et enveloppe ces données dans des APDU "virtuels". De cette façon, les cartes MIFARE peuvent être utilisées avec des logiciels qui ne peuvent traiter que des cartes conformes à la norme ISO 7816-4.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X