Und wie ist das mit dem PIN?

Aufmerksamen Lesern dürfte aufgefallen sein, dass wir für unsere bisherigen Untersuchungen, selbst für das Auslesen der Daten einer Postcard, keine PIN-Eingabe benötigt haben.

Die PIN wird nicht benötigt, um die Karte als echt zu authentifizieren, sondern um in einem Transaktions-Prozess den Karteninhaber als berechtigt auszuweisen. Dies geschieht bei der Postcard nach einem ehr eigenen Verfahren:

Neben dem schon erwähnten (schreibgeschützten) Datenbereich für die Karten-Authentifikation gibt es einen weiteren Datenbereich, in dem alle Transaktionen geloggt werden können, die mit der jeweiligen Postcard durchgeführt worden sind.

Dieser Bereich ist jedoch PIN-geschützt. Eine EFT/POS-Terminal authentifiziert einen Karteninhaber dadurch, dass es versucht, mittels der vom Kunden eingegebenen PIN, Zugriff auf diesen Speicherbereich zu erhalten. Ist dieser Zugriff auch nach einer PIN-Eingabe nicht möglich, "weiss" das Terminal, dass ein falscher PIN eingegeben worden ist und benachrichtigt den Anwender - "Falscher PIN".

Wichtig an dieser Stelle ist, dass das Terminal diese Verifikation auch offline durchführen kann. Es ist daher weder eine Online-Verbindung zur PostFinance, noch die Ablage der verschlüsselten PIN auf der Karte selbst notwendig (letzteres ist bis heute das übliche Authentifizierungsverfahren für Magnetstreifen-basierte Debit- und Bankkarten).

PIN-Verifikation und Zugriff auf den Transaktionsspeicher

Wie wir schon wissen, liegt auf den Postcards der Transaktionsspeicher ab der Adresse 0x02F8. Um auf diesen Speicher zuzugreifen, müssen wir zuerst den Befehl zur PIN-Verifikation an die Karte absetzen. Dieser hat folgende Form:

BC 20 00 00 04 XX XX XX XX

Die letzten vier Byte des Befehls werden aus der vier-stelligen PIN abgeleitet. Dies geschieht nach folgendem Verfahren:

Die PIN - als Beispiel wählen wir "2137" - wird als erstes als BCD-kodierte Zahl notiert:

00 00 21 37

Diese Zahl wird jetzt um 14 Bitstellen nach links geschoben, wobei von rechts eine logische "1" nachfolgt. In unserem Beispiel erhalten wir:

08 4D FF FF

Dies sind jetzt die vier Bytes, die wir an das Ende des PIN-Befehles einfügen müssen. Schicken wir diesen Befehl (mit der richtigen PIN) und den Prüfbefehl an die Postcard, so können wir anschliessend auf den Transaktionsspeicher zugreifen.

Verhalten der Postcard bei falscher PIN-Eingabe

Wird an einem Kartenterminal die falsche PIN eingegeben, ändert sich der ATR der Karte. Dies signalisiert dem Terminal beim nächsten Initialisieren, dass es PIN-Fehlversuche gegeben hat. Das letzte Byte des ATR beschreibt die Anzahl der Fehlversuche:

WertBedeutung
0x00Kein Fehlversuch registriert
0x10Ein Fehlversuch registriert
0x20Zwei Fehlversuche registriert
0x40Drei Fehlversuche registriert, Karte gesperrt

Wird bei einer noch nicht gesperrten Karte der korrekte PIN eingegeben, so wird der Fehlversuchszähler zurückgesetzt.

PIN-Änderung

Postcard-Benutzer können an PostFinance-Automaten ("Postomat") die PIN ändern. Dabei wird sowohl die PIN (besser gesagt der PIN-Offset) auf dem Magnetstreifen als auch der PIN für den Chip geändert. Nach einer PIN-Änderung werden folgende Informationen ausgegeben:

Weitere Änderungen in den lesbaren Speicherbereichen wurde nicht festgestellt.