2016-12-22 1 views
1

Ich habe Probleme beim Erstellen neuer IV nach der Authentifizierung. Ich bin nicht sicher, ob mein Verständnis des Konzepts richtig ist, sogar mit MIFARE-Dokumentation. Daten auf der Karte sind vollständig verschlüsselt.Wie berechne ich IV auf AuthenticateISO auf DESFire EV1

Dies sind die Schritte Ich nehme:

  • AuthenticateISO mit Null-IV (0x1A mit 3K3DES key)
  • Antwort von der Karte (verschlüsselte Randa '): 08 48 CD A3 43 C5 00 FE 1D 78 D1 E5 A9 24 26 5A 91 00
  • ersten 8 Bytes sollten sein CMAC und aktualisiert IV (?): 08 48 CD A3 43 C5 00 FE
  • erstellen 3K3DES Sitzungsschlüssel: 74 EF 23 87 10 E4 3B E6 BE C8 4C 41 74 03 08 A9 7F F3 FA 59 15 E4 C5 06
  • Anruf getValue: 90 6C 00 00 01 [FileID] 00
  • Antwort von der Karte: A2 3C CB 70 BE 4D D5 22 91 00
  • Entschlüsseln ersten 8 Bytes von Reaktion mit Sitzungsschlüssel und aktualisiert IV
  • entschlüsselte Ergebnis: 7F 7D 80 F5 [CRC32]

Nach dem letzten Schritt werden die ersten vier Bytes der Wert sein sollte, und die letzten vier CRC32. Aber ich mache mit IV nichts richtiges, weil das Ergebnis nicht stimmt. Es sollte 0F A0 00 00 [CRC32] sein.

Könnte jemand irgendwelche Hinweise darauf haben, was ich falsch mache? Ich habe versucht, das für mindestens 2 Wochen zu lösen und habe nichts erreicht.

Antwort

0

Sie setzen Android Tag in Ihre Frage. Ich würde Ihnen empfehlen, TapLinx SDK zu verwenden, das kostenlos ist und Java Level APIs für MIFARE und einige andere NXP Karten anbietet. Es erleichtert die Kommunikation zur Karte und die Dokumentation ist gut.

+0

Danke für die Anregung. Zu der Zeit, als ich diese Frage gestellt, TapLinx SDK war immer noch in der Version 1.0 und meine Anwendung funktionierte nicht so, wie es sollte. Ihre Antworten im Forum haben auch nicht viel geholfen. Nachdem ich alles versucht hatte, gab ich auf und wollte versuchen, meine eigene Standalone-Version der Bibliothek zu erstellen, um eine Verbindung mit der DESFire EV1-Karte herzustellen. Dann irgendwann nach Neujahr veröffentlichten sie neue Version (v1.1) und alles begann zu arbeiten, wie es sollte. –

Verwandte Themen