Universität Karlsruhe Fakultät für Informatik Universität Karlsruhe

Seminar Digitale Zahlungssysteme

Funktionsweise von EC-Karten

Mathias Waag

Inhaltsverzeichnis

        Einleitung
        Magnetkarten
                Abmessungen der Magnetkarte und Lage des Magnetstreifens
                Die drei ISO-Spuren innerhalb des Magnetstreifens
                Codierung der Information
                Das magnetische Aufzeichnungsverfahren
                Vorteile
                Nachteile
                Aufbau und Inhalt der Spur 1
                Aufbau und Inhalt der Spur 2
                Aufbau und Inhalt der Spur 3
                Das MM-Schlüssel-System
                Sicherheitsmerkmale
        PIN
                Data Encryption Standard (DES)
                Generierung der PIN mit dem DES-Verfahren
                Ratewahrscheinlichkeit
                Offset
                Sicherheit von DES
        Änderungen seit 1997
        Gerichtsurteile
        Beispiele von EC-Kartenbetrug
        Bedeutung der EC-Kartensymbole
        Literatur

Einleitung

Leider war es mir bis zum Vortragszeitpunkt des Seminars nicht möglich, die aktuellsten Informationen zu EC-Karten zu bekommen, so dass ich mich hier mit der EC-Karte bis 1997 beschäftige. Unter ´Änderungen seit 1997´ findet man neuere Informationen.

Magnetkarten

Eine Magnetkarte besteht im wesentlichen aus zwei Bestandteilen: dem Trägermaterial - beispielsweise bei Bankkarten Kunststoff (Polyvinylchlorid, kurz PVC) und bei Parkscheinen Pappe - und dem Magnetstreifen. Von der Anwendung hängt auch die Wahl des Magnetstreifens ab. Möchte man eine ISO-konforme Karte mit drei Spuren haben, wählt man ein 12.7 mm (1/2 Zoll) breites Magnetband. Der Träger einer Bankkarte besteht aus vier Schichten. Als Ausgangsmaterial dient ein ca. 90 mm bis 100 mm breites Kunststoffband mit einer Dicke von 200 µm. Diese vier Kunststoffbänder werden dann durch Hitze und einen hohen Druck miteinander "verschmolzen". Anschließend wird der Magnetstreifen mit einem Schmelzkleber auf den Träger gebracht und in einem letzten Schritt gegen ein eventuelles Ablösen gesichert. Beim Herstellungsprozess ist darauf zu achten, dass die maximale Kartendicke von 0.76 mm, die nach ISO erlaubt ist, nicht überschritten wird.

Abmessungen der Magnetkarte und Lage des Magnetstreifens

Die äußeren Abmessungen der Magnetkarte und die Lage des Magnetstreifens auf dem Trägermaterial sind genormt. Die Karte hat eine Länge von 85.6 mm und eine Breite von 54.1 mm. Die abgerundeten Ecken der Karte weisen einen Radius von 3.18 mm auf.

Der Bereich für den Magnetstreifen wird in Bezug auf die obere und die rechte Kante der Magnetkarte angegeben. Der Magnetstreifen darf maximal 5.54 mm von der oberen und 2.92 mm von der rechten Bezugskante entfernt liegen. Die Breite des Magnetstreifen hängt davon ab, welche Spuren man verwenden möchte. Nach den ISO-Vorschriften muß sich der Magnetstreifen bis 11.89 mm unterhalb der oberen Bezugskante erstrecken, wenn man nur Spur 1 und 2 verwendet (für den Lesebetrieb spezifiziert), und 15.82 mm, wenn man noch zusätzlich die Spur 3 verwendet (kann auch beschrieben werden).Das erste gültige Datenbit muß in einem Abstand von 7.44 mm von der rechten Kartenkante gesehen auf dem Magnetstreifen stehen. Hier handelt es sich um das erste Bit des Startzeichens. Das letzte Daten-Bit, dabei handelt es sich um das des LRC (Longitudinal Redundancy Check)-Zeichens, muß spätestens 6.93 mm vor der linken Kartenkante stehen.

Die drei ISO-Spuren innerhalb des Magnetstreifens

Die Informationen stehen auf den 3 Spuren mit unterschiedlichen Bit-Dichten. Auf Spur 1 und 3 beträgt die Bit-Dichte 210 bpi (bpi = bits per inch). Das sind 8.3 Bit/mm. Auf Spur 2 beträgt die Schreibdichte 75bpi (3 Bit/mm). Diese Spur kann auch von Durchzugslesegeräten gelesen werden, die nur Daten mit geringer Bitdichte lesen können. Die Darstellung der Zeichen auf der Spur 1 wird mit 7-Bit inklusive Paritäts-Bit, welches die Daten-Bits auf ungerade Parität ergänzt, codiert. Damit lassen sich auf dieser Spur alphanumerische Zeichen unterbringen. Auf Spur 2 und 3 werden die Zeichen mit 5-Bit inklusive einem Paritäts-Bit codiert. Durch die 5-Bit breiten Zeichen lassen sich nur numerische Zahlen im BCD (Binary Coded Decimal)-Code darstellen. Aus der Schreibdichte und der Anzahl der Bits pro Zeichen ergibt sich eine maximale Anzahl von Zeichen, die auf jede Spur geschrieben werden können. Auf Spur 1 beträgt diese 79, auf Spur 2 maximal 40 und auf Spur 3 maximal 107 Zeichen. Das niederwertigste Bit (b0) kommt jeweils zuerst, das Parity-Bit zum Schluss als fünftes (b4) beziehungsweise als siebtes Bit (b6).

Codierung der Information

Bei der 5-Bit-Codierung lassen sich mit 4-Bit insgesamt 16 Zeichen darstellen. Darunter befinden sich numerische Ziffern zwischen 0 und 9 im BCD-Code sowie ein Start-, Stop- und Trennzeichen. Die Codierung auf Spur 1 erfolgt mit 7-Bit inklusive Paritäts-Bit. Mit den 6-Bit [BIT] lassen sich insgesamt 64 Zeichen darstellen. Darunter befinden sich numerische und alphanumerische Ziffern sowie ein Start-, Stop- und Trennzeichen. Mit dem Paritäts-Bit kann die Gültigkeit des Zeichens überpüft werden. Die Berechnung des Bits erfolgt so, dass die Anzahl der Daten-Bits mit einer 1 ungerade wird, d.h. die Zeichen werden auf ungerade (odd) Parität ergänzt. Falls aber beim Lesen eine gerade Anzahl Bits kippen, bleibt der Fehler unerkannt. Am Ende jedes Datensatzes einer Spur gibt es ein LRC-Zeichen, welches zur Überprüfung der Gültigkeit des gesamten Datensates dient. Die Bitlänge des LRC-Zeichens entspricht der der Zeichen. Die Berechnung der einzelnen Bits geschieht folgendermaßen: Man zählt von allen Zeichen, also inklusive Start- und Stopzeichen, alle "1" Bits an derselben Bitposition und setzt dann das Bit derselben Position des LRC-Zeichens so, daß die Anzahl gerade wird. Dies wiederholt man für alle Bitpositionen, außer der Position des Paritäts-Bits. Das Paritäts-Bit des LRC-Zeichens wird ganz normal auf ungerade Parität ergänzt.

Das magnetische Aufzeichnungsverfahren

Beim magnetischen Aufzeichnungsverfahren wird die zu speichernde Information auf magnetischem Material durch eine örtlich verteilte remanente (zurückbleibende) Magnetisierung aufgezeichnet. Dies hat den Vorteil, daß man die Information bei Bedarf wieder löschen oder verändern kann. Die Magnetisierung wird mit einem kombinierten Schreib-/Lesekopf vorgenommen. Dabei bewirkt ein Wechsel der Signalstromrichtung einen magnetischen Wechselfluß innerhalb des Ringkerns des Schreib-/Lesekopfes. Die magnetischen Feldlinien können am Spalt des Ringkerns austreten und in der vorbeilaufenden magnetisierbaren Schicht des Magnetbandes eine remanente Magnetisierung hinterlassen.

Um die in Form von remanenter Magnetisierung aufgebrachte Information wieder zu lesen, wird das Magnetband am Lesekopf vorbei geführt. Das auf dem Band befindliche Magnetfeld induziert in der Wicklung des Lesekopfes eine elektrische Spannung. Diese wird verstärkt und anschließend zu logischen Pegeln "0" oder "1" aufbereitet. Heutige Magnetbänder, die bei der Magnetkarte zum Einsatz kommen, bestehen aus einem etwa 16 µm dicken Kunststoffträgerband, auf das ein sehr dünnes und homogen verteiltes magnetisierbares Material aufgebracht ist. Standardbänder werden mit einem Magnetfeld der Stärke 238 A/cm beschrieben. Magnetkarten mit diesen Bänder werden als LoCo-Karten (Low Coercitivity) bezeichnet. Man spricht von HiCo-Karten (High Coercitivity), wenn sich auf der Magnetkarte Bänder mit einer Koerzitivkraft von 2180 bis 3180 A/cm befinden. Solche Magnetkarten werden im Bereich der Schwerindustrie eingesetzt, um ein versehentliches Löschen der Information durch äußere Magnetfeldeinwirkungen zu verhindern. Ein weiteres Anwendungsgebiet von HiCo-Karten ist der Einsatz bei sicherheitsrelevanten Daten, da übliche Magnetköpfe nicht in der Lage sind, so hohe Magnetfelder zu erzeugen, daß die Daten auf dem Magnetband gelöscht oder verfälscht werden können.

Vorteile

Nachteile

Aufbau und Inhalt der Spur 1

Diese Spur wird bei der Kreditkarte benutzt, nicht aber bei der EC-Karte.

SSFCPANFSNAMEFSADDITIONAL DATAESLRC
   Primary Account Number
(max. 19 Stellen)
 

Name
(max. 26 alphanumerische Zeichen)

 

Expiration Date
Service Code
Discretionary Data

 

 

Aufbau und Inhalt der Spur 2

SSPANFSADDITIONAL DATAESLRC
 

Primary Account Number
(max. 19 Stellen)

 

Country Code
Expiration Date
Service Code
Discretionary Data

  

Aufbau und Inhalt der Spur 3

SSFCPANFSUSE AND SECURITY DATAADDITIONAL DATAESLRC
  

Primary Account Number
(max. 19 Stellen)

 

Country Code
Currency Code
Currency Exponent
Amount Authorizized per Cycle Period
Amount remaining this Cycle
Cycle Begin
Cycle Length
Retry Count
PINPARM
Interchange Control
PAN Service Restriction
SAN-1 Service Restriction
SAN-2 Service Restriction
Expiration Date
ard Sequence Number
Card Security Number

SAN-1
SAN-2
Relay Marker
Crypto Check Digits
Transaction Date
Additional Verification Value
Alternative Card Sequence Number
Discretionary Data

   

Das MM-Schlüssel-System

Das MM-Schlüssel-System (MM heisst moduliert maschinenfähig) wurde 1979 vom deutschen Kreditgewerbe eingeführt. Es dient dazu, im institutsübergreifenden Geldausgabeautomaten-System Kartenfälschungen oder Verfälschungen von Daten auf dem Magnetstreifen sicher maschinell zu erkennen (dieses Merkmal wird im Ausland nicht überprüft). Dafür bietet die Industrie die Möglichkeit an, eine Zahl (der sog. MM-Schlüssel) in das Kartenmaterial einzudrucken, die nicht ohne Spezialwissen wieder gelesen werden kann. Die unveränderlichen Daten auf dem Magnetstreifen, wie Kontonummer und Bankleitzahl werden mit diesem MM-Schlüssel über einen Algorithmus, der wiederum einen Schlüssel benötigt, verrechnet und das Ergebnis, der MM-Code, wird auf den Magnetstreifen geschrieben.

Möchte man eine Auszahlung am Geldausgabeautomaten (GAA) vornehmen, so liest dieser zum einen die Daten, die auf dem Magnetstreifen stehen, und zum anderen den MM-Schlüssel der Karte. Anschließend wird der gleiche Verschlüsselungsalgorithmus, wie bei der Personalisierung der Karte angewendet. Der errechnete MM-Code wird mit dem des Magnetstreifens verglichen und nur wenn dieser Vergleich positiv ausfällt, nimmt der GAA die Auszahlung vor.

Werden Daten auf dem Magnetstreifen geändert, stimmt der errechnete MM-Code nicht mehr mit dem des Magnetstreifens überein. Eine Verfälschung der Daten wird somit sicher erkannt. Duplikate werden ebenso sicher erkannt, da sie nicht über den MM-Schlüssel im Kartenmaterial verfügen. Zum Lesen des MM-Schlüssels sind sogenannte MM-Boxen in GAA implementiert. Diese bestehen aus einem Sensorkopf, der den MM-Schlüssel vom Kartenmaterial wieder auslesen kann und aus einer Recheneinheit, die den MM-Code errechnet. Zu diesem Zweck ist der Schlüssel, der vom Verschlüsselungsalgorithmus benötigt wird, in einem nichtflüchtigen Speicher untergebracht. Ein Auslesen dieses Speichers ist für aussenstehende Personen nicht möglich. Ferner würden Manipulationsversuche eine Zerstörung des Speichers verursachen. Als Maßnahme gegen den Diebstahl der MM-Box wird diese im Safe-Bereich des GAA untergebracht. [VV]

Die c´t hat in ihrer Heftausgabe 7/96 geschrieben, dass man mit etwas Glück den MM-Schlüssel sehen kann. Dazu muss man die EC-Karte erwärmen bis sie weich wird. Nun kann man versuchen, die einzelnen Schichten voneinander zu lösen. Auf der mittleren Schicht wird im unteren Drittel der Karte eine streifenähnliche Struktur ähnlich eines Barcodes sichtbar, die beim Durchleuchten nicht zu erkennen ist. Diese Struktur ergibt sich aus dielektrisch unterschiedlichen Materialien, aus denen die mittlere Schicht besteht. Das Ganze (einige Bits) lässt sich kapazitiv abtasten und ergibt dann das `modulierte Merkmal`. [CM1]

Sicherheitsmerkmale

Neben dem MM-Verfahren gibt es noch andere Merkmale, die zur Sicherheit der Magnetkarte beitragen sollen.

Speziell für Zahlungskarten existieren weitere Verfahren, die von deren Herstellern vorgesehen oder bereits eingesetzt werden.

Das wichtigste Sicherheitsmerkmal ist jedoch die PIN, die im folgenden erläutert wird.

PIN

Zur Berechnung der Geheimzahl (PIN) verwendet die ausgebende Bank einen geheimen, nur ihr bekannten Code, den Institutsschlüssel. Es gibt auch noch drei Poolschlüssel (befinden sich in jedem GAA), die in den Anfangsjahren zur Offline-Authorisierung institutsfremder EC-Karten dienten. Der aus der vierten bis achten Stelle der Bankleitzahl, der Kontonummer des Kunden (10 Ziffern) und einer einstelligen Kartenfolgenummer (wird bei der Ausgabe einer neuen Karte um eins erhöht, so dass die neue PIN von der vorherigen unabhängig ist) gebildete 64-Bit-Wert wird nach dem Verschlüsselungsstandard DES im "electronic codebook"-Modus mit dem Institutsschlüssel verschlüsselt. Diese Operation ergibt einen 64-Bit-Wert, der ohne Kenntnis des Schlüssels wie eine zufällige Bitfolge wirkt. Aus vier Zahlen dieses Ergebnisses wird die PIN gewonnen. Sie kann einen beliebigen Wert von 1000 bis 9999 annehmen. Um die Sicherheitsmängel des eurocheque-Systems (bis 1997) zu erkennen, ist es zunächst einmal wichtig, den Ablauf der PIN-Generierung zu betrachten:

Data Encryption Standard (DES)

Bei DES werden Daten in 64 Bits großen Blöcken mit Hilfe eines 56-Bit-Schlüssels codiert. Der Algorithmus formt 64-Bit-Eingaben (plaintext) in mehreren Schritten in eine 64-Bit-Ausgabe (ciphertext) um. DES ist ein symmetrischer Algorithmus, d.h. Ver- und Entschlüsselung benutzen den gleichen Algorithmus und den gleichen Schlüssel (abgesehen von kleineren Unterschieden in der Verwendung des Schlüssels).

Zuerst durchläuft die 64-Bit-Eingabe eine Eingangspermutation. Danach wird der 64-Bit Block in zwei 32-Bit große Blöcke L und R geteilt. Dem folgt eine Phase, die aus 16 Iterationen der gleichen Funktion besteht. Eine Iteration läuft folgendermassen ab:

Zuerst wird Block R in einer Expansion (unter Verwendung einer Tabelle, die eine Permutation zuzüglich einer Erweiterung definiert) von 32 auf 48 Bit vergrössert. Die daraus resultierenden 48 Bits werden mittels XOR mit 48 Bits des Schlüssels kombiniert. Dieses 48-Bit-Ergebnis durchläuft eine Ersetzungsfunktion, die sogenannten S-Boxen, welche eine 32-Bit-Ausgabe erzeugen, die wiederum permutiert wird. Nach der Permutation werden die 32 Bit nun mit dem Block L XOR-verknüpft. Nun wird der Block R in L und das Ergebnis in R geschrieben und eine Iteration ist beendet.

Bei der Schlüsselerzeugung wird der 56-Bit-Schlüssel zunächst permutiert (Die Funktion erwartet eigentlich die Eingabe eines Schlüssels von 64 Bit. Es werden jedoch immer nur 56 Bit davon verwendet; die übrigen 8 Bit können als Paritätsbits verwendet oder einfach deaktiviert werden). Der sich ergebende 56-Bit-Schlüssel wird dann als zwei 28-Bit-Blöcke C und D betrachtet. Bei jeder Iteration werden C und D einzeln einer kreisförmigen Verschiebung (Rotation) nach links um 1 oder 2 Bits ausgesetzt. Diese verschobenen Werte dienen als Eingabe für die nächste Iteration. Ferner dienen sie als Eingabe für eine zweite Permutation, welche eine 48-Bit-Ausgabe erzeugt, die wiederum mit R XOR-verknüpft wird. [WIS]

Generierung der PIN mit dem DES-Verfahren

Um nach dem DES-Verfahren aus der 64-Bit-Ausgabe die PIN zu erzeugen, werden zunächst 4 festgelegte Hexadezimalzahlen aus dem Ergebnis entnommen. Da die PIN aber aus vier Dezimalzahlen bestehen muss, werden die Zahlen A, B, C, D, E und F auf 0, 1, 2, 3, 4 und 5 abgebildet (enspricht einer Operation modulo 10). Eine weitere Einschränkung ist, dass an erster Stelle keine Null stehen darf. Sie wird zu einer Eins.


Quelle: [MGK]

Bsp: Die vier ausgewählten Hexadezimalzahlen A2C8 werden zu 0228. Ist der geheime Schlüssel nicht der Institutsschlüssel, sondern einer der drei Poolschlüssel, so muss zu der erhaltenen 'natürlichen' PIN noch der Offset der Karte addiert werden, um die endgülige PIN zu erhalten. Im Beispiel ist der Offset 1707, so dass durch erneutes 'Umklappen' die PIN ensteht.

Ratewahrscheinlichkeit

Durch diese Abbildung der Hexadezimalzahlen auf die Dezimalzahlen kommen die Zahlen 0-5 statistisch gesehen sehr viel häufiger in den Geheimzahlen vor. Diese Ungleichverteilung ist besonders an der ersten Stelle der PIN zu sehen. Hier werden die vier Hexadezimalzahlen 0, 1, A und B alle auf 1 abgebildet. Daraus folgt, dass bis 1997 jede vierte PIN eine 1 an erster Stelle hatte.

Erzeugt man 2000 Geheimzahlen mittels dieser Methode und analysiert man anschließend die statistische Verteilung der in ihnen enthaltenen Zahlen, so läßt sich die Ungleichverteilung durch ein Balkendiagramm darstellen:


Quelle: [JL1]

Wie man sieht, kommen PINs mit einer Eins an erster Stelle und Zahlen zwischen Null und Fünf an den letzten drei Stellen am häufigsten vor. Es gibt genau 6*6*6=216 (jeweils 6 Möglichkeiten für die zweite, dritte und vierte Stelle) PINs, die dieses Kriterium erfüllen. Eine EC-Karte mit einer PIN aus diesem Bereich wird bei drei Versuchen mit einer Wahrscheinlichkeit von (1/216) + (1/215) + (1/214) = 1:72 geknackt.

Offset

Wenn man die Kartendaten (Bankleitzahl, Kontonummer, Kartenfolgenummer) nicht mit dem Institutsschlüssel, sondern mit einem der drei Poolschlüssel verschlüsselt, bekommt man als Ergebnis eine Zahl, die nicht mit der PIN übereinstimmt. Der Offset ist der Wert, den man zur Zahl hinzuaddieren muss, um die PIN zu erhalten. Der Offset wird auf der Karte gespeichert.

Falls nun alle drei Offsets auf der Karte gespeichert sind, so bietet sich hier eine weitere Angriffsmöglichkeit auf die PIN. Von der dritten Spur der Magnetkarte lassen sich die drei Offsets auslesen:

Ziel ist es, vier PIN-Ziffern P^ = (P^_1,P^_2,P^_3,P^_4) zu finden, die am wahrscheinlichsten mit der PIN der Karte übereinstimmen. ist die Zufallsvariable, die die j-te Stelle der PIN der Karte repräsentiert. O_(i,j) ist die Zufallsvariable, die die j-te Stelle in Oi repräsentiert (1<=i<=3,1<=j<=4). Die Wahrscheinlichkeit, dass an Stelle j die Zahl k steht, ist:

Die bedingte Wahrscheinlichkeit, dass an Stelle j in Oi die Zahl k steht, unter der Bedingung, dass die Stelle j der PIN gleich l ist, ist:

Eine höchstwahrscheinliche PIN P_dach ist ein P, für das die bedingte Wahrscheinlichkeit maximal wird. Unter der Voraussetzung, dass alle Stellen der PIN voneinander unabhängig sind, kann man die wahrscheinlichste PIN bestimmen, indem man für jede Stelle die maximale bedingte Wahrscheinlichkeit ausrechnet. Mit der Formel von Bayes erhält man:

Setzt man vorraus, dass die DES-Ergebnisse der drei Poolschlüssel voneinander unabhängig sind, so kann man die bedingte Wahrscheinlichkeit zur Kombination der Stellen von allen drei Offsets durch das Produkt der Wahrscheinlichkeiten der einzelnen Offsetstellen ersetzen.

Diese Formel lässt sich mit den ausgelesenen Offsets und den Gleichungen (1a) und (1b) vollständig lösen. Wenn wir jetzt für jede Stelle die maximale Wahrscheinlichkeit ausrechnen, erhalten wir eine höchstwahrscheinliche PIN. Die Wahrscheinlichkeit, dass diese PIN korrekt ist, ist das Produkt der Wahrscheinlichkeiten, dass die einzelnen Stellen korrekt sind. Die höchste Wahrscheinlichkeit liegt bei 0,948%. [MGK]

Sicherheit von DES

Änderungen seit 1997

Gerichtsurteile

Beispiele von EC-Kartenbetrug

Bedeutung der EC-Kartensymbole

Wem die EC-Karte abhanden kommt, der sollte sie sofort unter der Telefon-Nummer 01805/021021 sperren lassen.

Literatur

  [Universität Karlsruhe] [Institut für Technische Informatik] [E-Mail an Autor]  
Letzte Änderung: 2002-06-13 11:11:25