ID TECH
Kontakt
Alle technischen Beiträge

Technischer Beitrag

So entschlüsseln Sie MagStripe-Daten

Bis vor Kurzem war das Auslesen von Kreditkartendaten so einfach wie das Durchziehen einer Karte durch ein Lesegerät (etwa eines der zahlreichen Lesegeräte von ID TECH) und das anschließende Erfassen der Trackdaten durch eine Virtuelle-Terminal-App (oder andere Anwendungen) – direkt aus dem Lesegerät heraus. Die betreffenden Daten erschienen dabei schlicht als unverschlüsselte Tastatureingaben auf dem Bildschirm.

Das waren noch Zeiten!

Es hat sich einiges verändert. Heutige Magnetstreifenleser geben in der Regel verschlüsselte Daten aus – über USB, häufig im HID-Modus statt im Tastaturmodus. Zudem müssen die meisten Kartenlesegeräte neben Magnetstreifenkarten auch Chipkarten verarbeiten. Chipkartendaten liegen in Form von TLVs (Tags, Länge, Werte) vor und unterscheiden sich mitunter erheblich von den „klassischen Magnetstreifendaten" früherer Jahre. Darüber hinaus sind sie ausnahmslos verschlüsselt.

Im Aktuelle Beiträgehabe ich gezeigt, wie sich Kreditkartendaten mithilfe der branchenüblichen Verschlüsselungsalgorithmen TDES und AES in Verbindung mit der nach ANSI X9.24 standardisierten DUKPT-Schlüsselableitungsmethode entschlüsseln lassen. Nicht behandelt haben wir dabei die Frage, wie dekodierte Magnetstreifendaten überhaupt gewonnen werden. Wie sehen „Kreditkarten-Magnetstreifendaten" heute aus? Wie lassen sie sich erfassen und dekodieren? Und woran erkennt man, welche Teile verschlüsselt sind?

Heutige Kartenlesegeräte geben in der Regel verschlüsselte Daten aus – über USB, häufig im HID-Modus statt im Tastaturmodus. Zudem müssen die meisten Kartenlesegeräte neben Magnetstreifenkarten auch Chipkarten verarbeiten.

Die Antwort auf die erste Frage – wie sehen Magnetstreifendaten aus? – fällt sehr unterschiedlich aus. Sie hängt nicht nur von Fabrikat und Modell des verwendeten Kartenlesegeräts ab, sondern auch davon, ob die jeweilige Transaktion per Magnetstreifen, Chip (Kontakt-EMV) oder kontaktlos/NFC durchgeführt wurde. Im Allgemeinen geht es dabei um weit mehr als das bloße Auslesen roher Trackdaten. Es werden auch ein KSN (Key Serial Number) für die Entschlüsselung sowie verschiedene transaktionsbezogene Metadaten erfasst. Zwar mag das eigentliche Ziel lediglich das Auslesen der rohen Track-2-Daten sein – auf dem Weg dorthin ist jedoch zwangsläufig eine Vielzahl weiterer Daten zu verarbeiten.

Sehen wir uns ein Praxisbeispiel an: eine Starbucks-Geschenkkarte, die mir eine reuige Barista als Wiedergutmachung überreicht hatte, nachdem der Mesopotamian Kumquat-Absinth-Latte unerwartet ausverkauft war. Zieht man die Starbucks-Karte durch das Augusta-Kartenlesegerät von ID TECH, das im Tastaturmodus betrieben wird, und hat dabei ein Notepad-Fenster geöffnet (mit dem Cursor im Textfeld), erscheinen in Notepad folgende Daten:

02ED01801F4C2800839B%*6010********8765^0254/SERVICERECOVERYUSD^*******************************?*;6010********8765=********************?*95025C86987E4F7DD07D58730EB79FDFB90AB7F23E6ECA6F4F04A67BF511EE13F950903BDE77624680C460E9C36C4F9136256BB93A38CB98F95626DCFAF9335CE0A213074CC1CD84CC911398E06756C464AB036B694228ADA7EC018F495A013AF8A04C976288FE2F80271E6E53D987DE19ACA2707BFF2C78000000000000000000000000000000000000000000000000000000000000000000000000000000003631335435333536313862994900750002A00308108E03

Dies ist weit mehr als bloße Trackdaten. Die maskierten Trackdaten sind zwar erkennbar – sie beginnen mit B% und enthalten zahlreiche Sternchen, gefolgt von ?* am Ende –, doch verbergen sie die tatsächlich verschlüsselte Primäre Kontonummer (PAN). Der Großteil der angezeigten Daten ist eine hexadezimale Darstellung der binären Ausgabedaten des Lesegeräts.

Diesen umfangreichen Datenblock zu analysieren ist einfach, wenn man weiß, wie es geht. Der schnellste Weg zur Dekodierung ist, die Daten durch das kostenlose Tool von ID TECH zu verarbeiten – Parsomatic Tool, bei dem es sich um ein HTML-Formular handelt, das alle Datenfelder übersichtlich darstellt.

Jedes Kartenlesegerät hat seine eigene, herstellerspezifische Methode zur Darstellung von Kartendaten. ID TECH stellt MagStripe-Daten in einem Format dar, das als Enhanced Encrypted MSR-Format bekannt ist. Dieses Format umfasst 26 Datenfelder; alle 26 Felder sind im Dokument P/N 80000502-001 ausführlich beschrieben. ID TECH Verschlüsselte Datenausgabe.

Um Ihnen einen Eindruck davon zu geben, welche Informationen auf der Karte gespeichert sind, betrachten wir die ersten 5 Bytes der Daten (02 ED 01 80 1F). Laut Parsomaticenthalten diese 5 Bytes folgende Informationen:

Das erste Byte (02) ist schlicht STX, das „Start"-Byte. Die nächsten zwei Bytes (ED 01) geben die Gesamtlänge der Datennutzlast in Hexadezimal an (Little-Endian: ED 01 entspricht tatsächlich 0x01ED bzw. 493 Bytes an Daten). Der Card Encode Type ist 0x80, was bedeutet, dass unser Lesegerät diese Karte als Finanzkarte erkennt. Der Track Status (Wert: 0x1F) ist ein Statusbyte mit acht Bit-Flags, das angibt, welche Spuren auf dem Magnetstreifen vorhanden waren (es können bis zu 3 sein) und welche davon erfolgreich gelesen wurden. In diesem Fall wurden alle 3 physischen Spuren erfolgreich gelesen, jedoch sind Daten nur auf Spur 1 und Spur 2 vorhanden.

Schauen wir uns kurz die nächsten 5 Bytes an. Laut Parsomatichaben diese Bytes folgende Bedeutungen:

Bei einer Finanzkarte kann Spur 1 bis zu 79 Bytes lang sein, Spur 2 bis zu 40 Bytes und Spur 3 bis zu 107 Bytes. In diesem Fall liegen 76 Bytes (hex 0x4C) Daten für Spur 1 und 40 Bytes (0x28) Daten für Spur 2 vor. (Spur 3 enthielt null Bytes.) Diese Längenangaben sind wichtig, nicht nur für die Auswertung der maskierten Spurdaten, sondern auch für die Bestimmung der Länge der verschlüsselten Spuren. Die verschlüsselte Länge unterscheidet sich von der tatsächlichen nativen Spurlänge, da Spurdaten auf ein Vielfaches von 8 (bei TDES-Verschlüsselung) bzw. ein Vielfaches von 16 (bei AES-Verschlüsselung) aufgefüllt werden müssen.

Woher wissen wir, ob die Daten TDES- oder AES-verschlüsselt sind? Diese Information ist in Bit 4 des Clear/Mask Data Sent Status-Bytes enthalten (wie oben dargestellt). Es gibt außerdem ein Encrypted/Hash Data Sent-Statusbyte (ebenfalls oben gezeigt), das angibt, ob verschlüsselte Spurdaten (sowie Validierungs-Hashes) vorhanden sind und ob ein KSN existiert.

Nun folgen die maskierten Daten von Spur 1 und Spur 2, anschließend deren verschlüsselte Versionen, gefolgt von einigen Hash-Daten (in diesem Fall lauter Nullen) sowie weiteren Daten (nachfolgend beschrieben). Beachten Sie, dass Parsomatic die ASCII-Spurdaten nachfolgend in eine hexadezimale Darstellung umgewandelt hat:

Beachten Sie, dass Parsomatic neben verschlüsselten Daten einen Link „Diese Daten entschlüsseln" einfügt (siehe oben). Wenn Sie auf den Link klicken, gelangen Sie zu ID TECH's Verschlüsselungs-/Entschlüsselungstool, wo die betreffenden Daten in entschlüsselter Form eingesehen werden können.

Die abschließenden Datenfelder umfassen die Seriennummer des Lesegeräts, die Key Serial Number (KSN), einen LRC, eine Prüfsumme sowie ETX (End of Transmission). Der LRC ist schlicht ein Bytewert, der das XOR (exklusives ODER) aller Nutzdatenbytes darstellt, während die Prüfsumme eine einbytige arithmetische Summe (ohne Überlaufberücksichtigung) aller Bytes in den Nutzdaten ist. LRC und Prüfsumme lassen sich zur Überprüfung der Datenintegrität der Nutzdaten verwenden. (Sie sind etwas einfacher und schneller zu berechnen als ein herkömmlicher CRC.)

Fazit

Wie Sie sehen, steckt hinter Magnetstreifendaten weit mehr als bloße „Spurdaten". Wir haben die Bedeutung einiger Datenfelder noch nicht einmal angesprochen – vielleicht holen wir das in einem künftigen Beitrag nach. Auch zu EMV-Daten haben wir noch nichts gesagt – das wird definitiv einen eigenen Beitrag erfordern. Dieser Einstieg sollte Ihnen jedoch helfen, wenn Sie Daten aus einem ID TECH-Kartenlesegerät dekodieren möchten.

Für weitere Informationen empfehlen wir Ihnen – wie bereits erwähnt –, unsere technische Dokumentation zum Enhanced Encrypted MSR-Datenformat zu konsultieren: ID TECH Verschlüsselte Datenausgabe. ODER klicken Sie auf den nachstehenden Link, um den ersten Schritt hin zu optimierten Zahlungsprozessen zu machen!

Jetzt starten