3 Stimmen

Wiederherstellen des Mifare Classic-Schlüssels aus der Authentifizierungsspuren

Ich habe eine Mifare Classic-Authentifizierungsspur erhalten und frage mich, ob es Tools oder Tutorials gibt, die ich verwenden könnte, um den Schlüssel zu erhalten?

Start    | End     | Src | Data
---------|---------|-----|--------
0        | 4704    | Rdr | 60 00 f5 7b
6708     | 11380   | Tag | 21 91 c4 03
82240    | 83552   | Rdr | 26
249792   | 250848  | Rdr | 26
252020   | 254388  | Tag | 04 00
333568   | 336032  | Rdr | 93 20
337204   | 343092  | Tag | 45 c7 a6 23 07
446208   | 456672  | Rdr | 93 70 45 c7 a6 23 07 f8 f6
457908   | 461428  | Tag | 88 be 59
1870544  | 1875248 | Rdr | 60 00 f5 7b
1877252  | 1881924 | Tag | be fd 8b 22
1953424  | 1954736 | Rdr | 26
2120208  | 2121264 | Rdr | 26
2122452  | 2124820 | Tag | 04 00
2205152  | 2207616 | Rdr | 93 20
2208788  | 2214676 | Tag | 45 c7 a6 23 07
2317024  | 2327488 | Rdr | 93 70 45 c7 a6 23 07 f8 f6
2328724  | 2332244 | Tag | 88 be 59
2538400  | 2543104 | Rdr | 60 00 f5 7b
2545108  | 2549844 | Tag | b3 38 4c d0
2651552  | 2660864 | Rdr | 55 09 6b fe ec fa ba c2 !crc
2662100  | 2666836 | Tag | a3! bf! 4f 07
17282768 |17287536 | Rdr | ef b6 fc 33 !crc

4voto

Michael Roland Punkte 38503

Das Paper Garcia et al.: Demontage von MIFARE Classic (ESORICS 2008) sollte Ihnen einen guten Ausgangspunkt bieten:

"Der zweite und effizientere Angriff nutzt eine kryptographische Schwäche des CRYPTO1-Verschlüsselungsalgorithmus, die es uns ermöglicht, den internen Zustand des Verschlüsselungsalgorithmus wiederherzustellen, wenn ein kleiner Teil des Schlüsselstroms bekannt ist. Um diesen Angriff durchzuführen, benötigt man nur eine oder zwei teilweise Authentifizierungen eines Lesegeräts, um den geheimen Schlüssel innerhalb einer Sekunde auf gewöhnlicher Hardware wiederherzustellen. Dieser Angriff erfordert keine Vorab-Berechnung und benötigt nur etwa 8 MB Speicher, um durchgeführt zu werden.

Wenn ein Angreifer die Kommunikation zwischen einem Tag und einem Lesegerät abfängt, ermöglichen uns die gleichen Methoden, alle Schlüssel, die in der Spur verwendet wurden, wiederherzustellen und zu entschlüsseln. Dies liefert uns ausreichende Informationen, um eine Karte zu lesen, eine Karte zu klonen oder eine Karte auf einen früheren Zustand wiederherzustellen. Wir haben diese Angriffe erfolgreich gegen reale Systeme durchgeführt, einschließlich der Londoner Oyster Card und der niederländischen OV-Chipkaart."

Zusätzlich sollte Ihnen die CRAPTO1-Bibliothek (basierend auf dem obigen Paper und einigen anderen Entdeckungen) einen Anfangspunkt geben, wie Sie ein Tool implementieren können, um Schlüssel aus aufgezeichneten MIFARE Classic-Spuren wiederherzustellen.

Die interessanten Teile dieser Spur sind:

  446208 | 456672 | Rdr | 93 70 45 c7 a6 23 07 f8 f6

Das ist der Wähle-Befehl des Lesegeräts, aus dem Sie die UID des Tags erhalten können: 45 c7 a6 23.

 1870544 | 1875248 | Rdr | 60 00 f5 7b

Das ist ein Authentifizierungsbefehl mit Schlüssel A für Sektor 0.

 1877252 | 1881924 | Tag | be fd 8b 22

Das ist die vom Tag als Antwort auf den Authentifizierungsbefehl gesendete Zufallszahl. Der Befehl wird abgebrochen, nachdem das Tag die Zufallszahl gesendet hat.

 2538400 | 2543104 | Rdr | 60 00 f5 7b

Das ist ein Authentifizierungsbefehl mit Schlüssel A für Sektor 0.

 2545108 | 2549844 | Tag | b3 38 4c d0

Das ist die vom Tag als Antwort auf den Authentifizierungsbefehl gesendete Zufallszahl.

 2651552 | 2660864 | Rdr | 55 09 6b fe ec fa ba c2 !crc

Das ist die Zufallszahl des Lesegeräts (verschlüsselt mit Schlüsselstrom ks1) und die Antwort des Lesegeräts auf die Herausforderung des Tags (Zufallszahl) basierend auf dem Authentifizierungsschlüssel (verschlüsselt mit Schlüsselstrom ks2).

 2662100 | 2666836 | Tag | a3! bf! 4f 07 

Das ist die Antwort des Tags auf die Herausforderung des Lesegeräts (Zufallszahl) basierend auf dem Authentifizierungsschlüssel (verschlüsselt mit Schlüsselstrom ks3).


Ich frage mich, ob meine Berechnung richtig ist und der Schlüssel 36 ... 41 ist!?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X