Telefonkarten
Geschrieben von Marc Ruef <marc.ruef@computec.ch> für http://www.computec.ch/
Version 1.2a 2. April 2000


1.0 Inhaltsverzeichnis
1.0 Inhaltsverzeichnis

2.0 Einführung

2.1 Die eingesetzten Kartentypen
3.0 Der Kartenleser
3.1 Der Shutter
4.0 Der Chip

5.0 Der Speicher

5.1 Die Seriennummer

5.2 Das Herstellungsdatum

5.3 Der Hersteller

5.4 Der Anfangswert

5.5 Das Restguthaben

5.6 Der Transaktionsablauf

6.0 Das Übertragungsprotokoll
6.1 Adresszähler auf 0 setzen

6.2 Adresszähler erhöhen

6.3 Bit schreiben

6.4 Bit schreiben mit Übertrag (WriteCarry)

7.0 Die Angriffsmöglichkeiten
2.0 Einführung
Im Sommer 1989 wurde in Deutschland von der Telekom mit der bundesweiten Einführung des öffentlichen Telefons mit Hilfe von Chipkarten begonnen. Um den Weg für diese Einführung zu ebnen, musste sich die damals neue Technik durch verschiedene Versuche und Test-Phasen behaupten können, welche schon 1983 in den verschiedensten Gebieten des Landes stattfanden. In dieser Probezeit wurden auch verschiedene physikalische Eigenschaften der Karte in Betracht gezogen, wobei sich eine Speicherkarte aus Kunststoff als den geeignetsten Träger für die vorbezahlten Beträge eignete.

Die in der Schweiz eingesetzten Karten nach ISO 7816 sind 3 Jahre ab Produktionsdatum "haltbar". Ausserdem besteht die Seriennummer aus Monat/Jahr/24-Bit Hex-Zahl - so ist es moeglich pro Monat 16,77 Mio Karten herzustellen und jede einzelne genau zu identifizieren, was die Möglichkeit von Schattenkonten und Kartensperrungen nach sich zieht. Anders sieht es da bei den eingesetzten Karten in Deutschland aus, bei denen 100 Karten die gleiche Identifikationsnummer tragen.

2.1 Die eingesetzten Kartentypen

Die in Deutschland von der Telekom installierten Kartentelefone können prinzipiell mit zwei verschiedenen Kartentypen betrieben werden. Der erste Kartentyp ist die in sehr grosser Stückzahl produzierte und vertriebene Guthabenkarte, die sicher jeder schon einmal zu Gesicht bekommen hat. Sie ist kaufmännisch gesehen eine Debitkarte, wobei der Kunde im Voraus einen Betrag entlöhnen muss, bevor er den Dienst effektiv nutzen darf. Technisch realisiert diese Karte einen irreversiblen Zähler, ein Sicherheitsmerkmal und eine synchrone Datenübertragung.

Die andere Variante der Telefonkarte ist die weniger verbreitete Buchungskarte. Sie ist eine Art Kreditkarte, da der Benutzer seine Einheiten erst nach Inbetriebnahme des Dienstes, in periodischerweise begleichen muss.  Technisch gesehen werden solche Chipkarten mit einem Mikrocontroller realisiert. Die Datenübertragung zum Kartentelefon findet dabei durch einen zentralen Steuerrechner mit dem Datenübertragungsprotokoll T=14 statt.

3.0 Der Kartenleser
Die eingebauten Kartenleser können die Chipkarten mit einer externen Programmierspannung von 5 bis 25,5 Volt in 255 Schritten versorgen. Da jedoch praktisch alle neuen Speicherkarten die Programmierspannung für das EEPROM intern aus der normalen Versorgungsspannung mit einem Spannungsumwandler erzeugen, ist dies rein technisch gesehen eigentlich nicht mehr notwendig. Der Grund dafür liegt in der - wie so oft scheinbar nötigen - Kompatibilität zu älteren Generationen von Chipkarten.

Wird eine Buchungskarte verwendet, dann kann der Kartenleser eine Taktfrequenz von 1,2 MHz bis 9,8 MHz wählen. Bei synchronen Karten ist es von Nöten, den Takt auf einen Bereich von 20 kHz zu senken, um eine funktionstüchtige Kommunikation aufzubauen.

Alle Geldbeträge werden offiziell fälschungssicher in einem Sicherheitsmodul im Telefon kryptologisch gesichert und gespeichert. Die Abrechnung mit dem Herausgeber der Telefonkarten erfolgt automatisch: Das Telefon überträgt mit 2400 Bit/Sek gesichert und regelmässig die aktuellen Werte zu einem Managementsystem. Damit kann die Gutschrift der eingenommenen Gebühren auf das Konto des Gerätebetreibers erfolgen. Umgekehrt können neue Vorgaben des Betreibers im Telefon geladen werden.

3.1 Der Shutter

Um die sehr harten Anforderungen des täglichen Dienstes eines öffentlichen Telefones gerecht zu werden, besteht dieses Telefon aus einem sehr stabilen und metallischen Gehäuse. Die Kartenleser haben zudem zum Schutz vor Dummy-Karten einen sehr massiven Shutter, welcher mit einem Schlagmesser gegebenenfalls alle aus dem Schlitz ragenden Drähte oder Kabel abtrennen würde. Damit wollen die Telefongesellschaften ein Abhören oder Manipulieren der Datenübertragung von Karte zu Terminal unmöglich machen.

Doch es existieren einige Wege, um den Shutter auszutricksen. Mit dem Telefonkartenadapter (TKA) ist es möglich den Shutter von Kartentelefonen der deutschen Telekom zu überlisten, wobei eine Verbindung der innen liegenden Kontaktzungen zur Aussenwelt geschaffen werden muss. Wegen der Überlänge des TKA schliesst sich der Shutter nicht komplett, was zur Folge hat, dass das Kartentelefon den Betrieb verweigert. Wenn der Shutter geschlossen ist, wird im inneren des Kartentelefons ein Endschalter betätigt, der die Meldung "Shutter geschlossen" weitergibt. Durch Federbandstahl ist es möglich, diesen Endschalter von aussen zu manipulieren.

Desweiteren können von den 5 genutzten Kontaktelementen des Chips auf der Karte hauchdünne, aus einem  Streifen Aluminium bestehende Stränge angebracht werden, welche schlussendlich aus dem Schlitz des Kartenterminals der Telefonzelle ragen. Man sollte unbedingt beachten, dass jene Aluminium-Streifen gut isoliert werden müssen, da sont bei Kontakt mit dem Metall des Kartentelefons jenes den Dienst aufgrund eines Sicherheitsschutzes vor Stromschlägen für rund 20 Minuten verweigert. Am einfachsten Lackiert man seine Streifen vor in Betriebnahme. Die beiden grössten Nachteile bei dieser Geschichte entstehen durch die nicht sonderlich ausgeprägte Reissfestigkeit des Aluminiums, und der relativ schlechten Haftbarkeit des Lacks auf den Streifen. Natürlich dürften misstrauische Blicke von Passanten ein vielleicht amüsanter, und zugleich störender Nebeneffekt sein.

Das Ziel des Überlistens des Shutters offenbart sich, als das nach Aussen führen der Kontakte der Chipkarte. Dadurch kann man mit Hilfe eines Laptops das Protokoll zwischen Chipkarte und Telefonzelle mitschneiden, manipulieren oder emuliert.

4.0 Der Chip
Als Chip wird ein SLE 4436 von Siemens verwendet. Die schweizer Telefonkarte gehört somit zur 3. Generation der Telefonkarten, die mit einem sogenannten Eurochip ausgerüstet sind. In Deutschland werden noch oft die Karten der 1. und 2. Generation eingesetzt, was das Fälschen jener durchaus zu erleichtern vermag.
Hersteller : Siemens
Typ : SLE 4406 (Siemens Eurochip)
Speicher insgesamt : 104 Bit
ROM : 16 Bit
PROM : 48 Bit
EEPROM : 40 Bit
Vcc : 5 Volt
Strom : 1,5 mA
W/E-Zyklus : 10'000
Dauer W/E : 10 ms
HW : Zähler für zirka 20'000 Einheiten
Die neueren Telefonchips haben meist nur noch sechs Kontakte, da für die volle Funktionalität des Speicherchips zur Zeit nur fünf Kontakte notwendig, und somit die anderen überflüssig sind. Die Belegungen gestalten sich nach ISO 7816-2 wie folgt:
Die Kontaktbelegung
K1 Betriebsspannung (5 Volt ± 5 %)
K2 Steuereingang
K3 Takteingang (ca. 20 kHz)
K5 Masse
K7 Datenübertragung
Alle anderen Kontakte sind (zur Zeit) nicht belegt

5.0 Der Speicher

Eine schweizerTelefonkarte sieht mit dem CardEditor V1.1 von Towitoko folgendermassen aus:
Seriennummer : 370727204xx
Hersteller : GemPlus, Filderstadt Sielmingen
Datum : JUL 1987/97
Neuwert : 60,00 DM
Restwert : 0,00 DM
Binäre darstellung (HEX) : 1B 54 FF 53 76 47 20 27 00 00 00 00 00 FF 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
5.1 Die Seriennummer
Jeder Telefonkarte in Deutschland erhält eine 7-stellige Seriennummer, wobei jedoch nur 5 Stellen im Speicher des Chips selber gespeichert sind. Der entscheidende Nachteil für die Telekom ist in diesem Falle, dass nicht einzelne Karten bei Verdacht auf Betrug gesperrt werden können. Lediglich die Sperrung einer Hundertergruppe kann vorgenommen werden. Gespeichert wird die Seriennummer in einem Teil des EEPROMs, das gegen Überschreiben oder Löschen gesperrt ist.
5.2 Das Herstellungsdatum
Während der Zeit der Produktion des Chips wird in einem EEPROM-Speicherbereich sowohl das Herstellungsjahr, als auch der -monat geschrieben. Diese Daten können nach dem Ausliefern der Karten nicht mehr verändert werden. Diese Daten beziehen sich auf die Implementation des Chips, und nicht auf die Karte selber.
5.3 Der Hersteller
Nachdem der Chip in den Kartenkörper implantiert wurde, schreibt der Kartenhersteller einen individuellen Code in den Speicher der Karte, welcher als Herstellermerkmal dienen soll, und auch nicht mehr abgeändert werden kann.
5.4 Der Anfangswert
Besonders interessant ist der in der Chipkarte fest eingegebene Anfangswert, also das Ausgangsguthaben, welches theoretisch beim Erstehen der Karte noch an Einheiten auf der Karte verbleiben sollten.
5.5 Das Restguthaben
Dies ist das einzige Datenelement der Karte, welches für die Funktionalität der vorbezahlten Telefonkarte funktionell notwendig ist. In einem fünfstufigen irreversiblen oktalen Zähler im EEPROM werden vom Kartentelefon die einzelnen Einheiten nacheinander abgebucht. Der Zähler besteht damit aus 5 Bytes mit je 8 Bits, was einen maximalen Zählbereich von 85 = 32'768 ergibt. Während der Kartenfertigung setzt man den Zähler auf den gewünschten Wert herab, so dass die Karte den entsprechenden Stand bei Auslieferung aufweisen kann. Danach kann man den Zähler während der Benutzung der Karte immer weiter gegen Null dekrementieren lassen.
5.6 Der Transaktionsablauf
Als erstes schliesst sich beim Einstecken der Karte in den Schlitz der Shutter, und die Kontakte des Kartenlesers setzen sich parallel dazu auf die korrespondierenden Kontaktfelder der Chipkarte. Danach führt das Kartentelefon eine durch die ISO spezifizierte Anschaltsequenz aus, und aktiviert so die Karte. Anschliessend setzt das Kartentelefon den Adresszeiger im Speicherbereich auf Null und liest die ersten 16 Bit aus. Verläuft dies positiv, dann ist die Telefonkarte funktionstüchtig. Diese 16 Bits werden vom Terminal als eine Art ATR (Answer to Reset) interpretiert, in dem diverse Betriebsparameter für die Karte enthalten sind. Das Terminal prüft nun anhand dieser Parameter, ob die eingeführte Karte zu den erlaubten Kartenarten gehört und damit überhaupt der Dienst der Telefongesellschaft beansprucht werden kann und darf. Ausserdem wird getestet, ob die Karte in allen notwendigen Funktionen angesteuert werden kann. Die  ebenfalls ausgelesene Seriennummer wird parallel dazu über das DOV-Modem in die nächste übergeordnete Ebene gesendet, wo mit einer Sperrliste verglichen wird. Ist dort kein Eintrag vorhanden, so darf die Karte benutzt werden, das Kartentelefon erhält eine entsprechende Nachricht, und lässt weitere Schritte zu.

Nun wird der Adresszeiger auf den Bereich des Gebührenzählers gesetzt, der noch vorhandene Gebührenbetrag aus dem EEPROM-Speicher ausgelesen und auf dem Display des Kartentelefons angezeigt. Nach der Wahl einer anwählbaren Telefonnummer und dem erfolgreichen Verbindungsaufbau zur gleichen, erhält das Kertentelefon laufend über das DOV-Modem die abzubuchende Gebühreneinheit. Das Kartentelefon dekrementiert daraufhin jeweils den Zähler in der Speicherkarte und liest ihn sofort danach wieder aus. Damit wird kontrolliert, ob der korrekte Betrag abgebucht werden konnte. Endet dies in einem Schlechtfall, wird die Verbindung sofort unterbrochen. Errechnet das Kartentelefon, dass das Guthaben in der Speicherkarte innerhalb der nächsten 20 Sekunden zu Ende gehen müsste, ertönt ein Signalton und die Karte kann ohne Gesprächsabbruch gewechselt werden.

6.0 Das Übertragungsprotokoll
 
Die Kommunikation vom Chip auf der Karte und dem Terminal geschieht über 3 Leitungen: RST, CLK und I/O. RST und CLK gelten als Steuerleitungen und I/O gibt stets den Zustand der EPROM-Speicherstelle aus, auf die der Adresszähler zeigt. Da es vom Hersteller und Dienst-Anbieter gewünscht ist, können solche Karten nicht wieder aufgeladen werden, sondern physikalisch nur gesetzte Bits gelöscht, also auf 0 gesetzt, werden.

Folgende 4 Befehle sind möglich:

6.1 Adresszähler auf 0 setzen

Positive Flanke an CLK während RST auf 1 ist.

RST 1 ------
    0
CLK 1   --
    0 --  --

6.2 Adresszähler erhöhen
Positive Flanke an CLK während RST auf 0 ist.

RST 1
    0 ------
CLK 1   --
    0 --  --

6.3 Bit schreiben
Impuls an RST während CLK auf 0 ist. Anschliessend Impuls an CLK während RST auf 0 bleibt. Der Adresszähler wird bei diesem Vorgang nicht verändert.

RST 1   --
    0 --  ------
CLK 1       --
    0 ------  --

6.4 Bit schreiben mit Übertrag (WriteCarry)
Wird die Sequenz zum Schreiben eines Bits zweimal hintereinander angewendet, wird das entsprechende Bit gelöscht, und der nachfolgende Zähler auf 11111111 (FFh) gesetzt.

RST 1   --      --
    0 --  ------  ------
CLK 1       --      --
    0 ------  ------  --

7.0 Die Angriffsmöglichkeiten
Wie seit jeher heisst es, dass Telefonkarten einfache Speicherkarten sind, welche allerdings gut gesichert wurden. Die einzige Möglichkeit besteht im Nachbau, was sich mit ein bisschen Geschick und Elan als durchaus erreichbares Ziel herrausstellt. Das Aufladen einer verbrauchten Karte ist physikalisch gar nicht ohne Eingriffe auf Hardware-Ebene möglich, und scheidet für den "Laien" somit aus.

Siehe auch SIM-Karten, Phreaking, Telekommunikation, Telematik

Dieser Text ist unverfälscht frei kopierbar!
Marc Ruef <marc.ruef@computec.ch>
http://www.computec.ch/