DESfire EV1 カードで認証しようとしていますが、カードが応答しません。認証を試みる前に、カードをフォーマットして新しいアプリケーションを作成し、新しいアプリケーションを選択して、ファイルを作成する前に認証する必要があります。
format から fail への通信は次のとおりです。
Format card to start over
bsp_mifare --> 0b 01 90 fc 00 00 00 (tranceive, 56 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- 0b 01 91 00 (32 bits)
bsp_mifare --> 0a 01 90 0a 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- 0a 01 ad 51 73 29 dc 6e 33 cf 91 af (96 bits)
bsp_mifare --> 0b 01 90 af 00 00 10 2e 4a 13 9c a9 d4 23 61 25 28 48 ce 2c 73 2c 70 00 (tranceive, 192 bits)
bsp_mifare <-- 0b 01 fc 25 2e 4f 00 c3 86 e8 91 00 (96 bits)
Create application with default AES key
bsp_mifare --> 0a 01 90 ca 00 00 05 33 22 11 0b 84 00 (tranceive, 104 bits)
bsp_mifare <-- 0a 01 91 00 (32 bits)
Select application...
bsp_mifare --> 0b 01 90 5a 00 00 03 33 22 11 00 (tranceive, 88 bits)
bsp_mifare <-- 0b 01 91 00 (32 bits)
Authenticate...
bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- (0 bits)
bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- (0 bits)
Failed to authenticate with null AES key: 0x00
無効なキー番号 (num_keys が 4 の場合に 6 など) で認証しようとすると、「そのようなキーはありません」という応答が返されるため、カードは私の要求を少なくとも部分的に理解しています。
だから私の質問は、この「認証の開始」コマンドの何が問題なのかということです:
bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)
(表示されているデータはラッピングを含む生データです。実際のネイティブ コマンドは「aa 00」です)。