ネイティブ モードで desfire カードを使用して認証したいと考えています。これが私の現在の手順です:
- マスター アプリケーションを選択します
(AID = 0×00 0×00 0×00)
- カードからの応答 (「チャレンジ」、randB) を受け取る
- 次に、2 番目のステップで、応答 (randA) を生成します。8 バイトの rand A と、復号化およびローテーションされた 8 バイトの rand B を連結します。
- 暗号化してカードに送り返します。
答えが返ってきました91 ae
が、理由がわかりません。メッセージのシーケンスは次のとおりです。
- カードへ: 90 0A 00 00 01 00 00
- カードから 5B 57 69 C7 CE 4B 16 7B 91 AF
- 暗号化された RandB = 5B 57 69 C7 CE 4B 16 7B
- 解読された RandB' = 17 8D 23 57 10 C9 32 D5
- 1 バイト lshitf RandB' = 8D 23 57 10 C9 32 D5 17
- 生成されたランド A = 43 9D 17 8E 9A 5F BA 70
- Rand A と Rand B を連結する'' = 43 9D 17 8E 9A 5F BA 70 8D 23 57 10 C9 32 D5 17
- 暗号化された Rand A + Rand B'' = 9E ED DC 4F BC E7 BE BD 09 02 CF 99 F7 40 34 7B
- カードへ: 90 AF 00 00 10 43 9D 17 8E 9A 5F BA 70 8D 23 57 10 C9 32 D5 17 00
- カードから: 91 AE
何か間違っているところがありましたらご指摘いただけますでしょうか。どのような問題が発生する可能性がありますか?