Dieses Kapitel gibt einen Überblick über die verschiedenen Arten von Zahlungskarten. In vielen Anwendungen ist es von Interesse mehrere Arten miteinander zu kombinieren, um eine Migration neuer Karten zu erleichtern.
Durch Kreditkarten oder ec-Karten sind Magnetstreifenkarten hinreichend bekannt. In der ISO-Norm 7811, in den Teilen 2, 4 und 5, sind die Eigenschaften des Magnetstreifens, die Codiertechnik sowie die Lage der Magnetspuren spezifiziert. Insgesamt können sich drei Spuren auf dem Magnetstreifen befinden. Die Spuren 1 und 2 sind nur für den Lesebetrieb gedacht, während Spur 3 auch beschrieben werden kann. Die Speicherkapazität ist mit ca. 1000 Bit nicht sehr groß. Sie reicht aber aus, um alle in der Hochprägung vorhandenen Daten zu codieren und in Spur 3 aktuelle Daten zu speichern.
Zum Lesen des Magnetstreifens wird dieser von Hand oder maschinell an einem Lesekopf vorbeigezogen, wobei die Daten gelesen und elektronisch gespeichert werden.
Der Hauptnachteil der Magnetstreifentechnik besteht darin, daß die gespeicherten Daten leicht mit einem handelsüblichen Schreib-/Lesegerät verändert werden können.
Während für Kreditkarten und ec-Karten bisher nur Magnetstreifenkarten verwendet wurden, werden für Wertkarten Chipkarten eingesetzt. Diese verfügen über eine integrierte Schaltung, die aus Elementen zur Datenübertragung, zur Speicherung von Daten und zur Verarbeitung von Daten besteht.
Die maximale Speicherkapazität von Chipkarten ist um ein Vielfaches größer als bei Magnetstreifenkarten. Es werden bereits Schaltkreise mit ca. 16 Kilobyte Speicher angeboten. Nur die im nachfolgenden Kapitel 3.3 beschriebenen optischen Speicherkarten haben eine noch größere Kapazität.
Einer der wichtigsten Vorteile der Chipkarte liegt jedoch darin, daß die in ihr gespeicherten Daten gegen unerwünschten Zugriff und Manipulation geschützt werden können. Chipkarten haben bei Anwendern und Systembetreibern nur dann Chancen, wenn sie hohe Sicherheit gegen Mißbrauch bieten können.
Unerlaubte Manipulationen könnten z.B. sein:
Benutzung der Karte durch Nichtberechtigte,
Auslesen von geheimen
Daten,
Auslesen der Programmierung,
Ändern von Daten,
Nachahmung.
Bei einer Chipkarte kann selektiv entschieden werden, welche Speicherbereiche veränderbar sind und welche es nicht sind. Die veränderbaren Bereiche können außerdem mit einer Schutzlogik versehen werden, die nur bestimmte Veränderungen zuläßt. So ist es bei der Telefonkarte mit einem Einheitenzähler erforderlich, dafür zu sorgen, daß der Zählerwert niemals durch die Besitzer der Karte erhöht werden kann, denn das würde einem Wiederaufladen der Karte entsprechen. Dieser strafbare Mißbrauch von Telefonkarten ist auch schon aktenkundig. Im Juni 1996 flog ein Trio von Betrügern auf, das Telefonkarten in großem Stil (Abnehmer erst ab 20000 Stück) angeboten hatte. Jedesmal, wenn der 50-Mark-Nennwert dieser Karten bis auf eine Mark erschöpft war, lud sich der Einheitenzähler wieder bis zum vollen Nennwert auf. Auch die Krankenversichertenkarte ist ins Kreuzfeuer der Kritik geraten, weil sie, je nach verwendetem Chip, von unbefugter Seite lesbar und zum Teil auch ver-änderbar ist. Ausführliche Anleitungen hierfür wurden bereits in Computer-Fachzeitschriften veröffentlicht. Die unzureichende Sicherheit der Krankenversichertenkarte liegt nicht an der Chipkartentechnologie, sondern daran, daß optionale Sicherheitsmerkmale für die Krankenversichertenkarte aus Kostengründen nicht gewählt wurden.
Wegen der Unterschiede in der Funktionalität, der Sicherheitslogik, aber auch im Preis, werden die Chipkarten in Speicherkarten, Mikroprozessorkarten und Karten mit Krypto-Controllern unterteilt.
Der zentrale Bestandteil einer Chipkarte ist der in der Mitte unter dem Kontaktfeld eingebettete Mikrocontroller von ca. 5 x 5 Millimetern.

Abbildung 6: Beispiel eines Moduls von Mikroconroller und Kontaktfeld
Er steuert, initiert und überwacht alle Aktivitäten. Die speziell für diesen Zweck entwickelten Mikrocontroller sind vollständige Miniaturcomputer. Alle wichtigen funktionellen Bausteine sind vorhanden: der Prozessor, der Speicher - bestehend aus drei verschiedenen Speicherarten RAM, ROM und EEPROM - und eine Schnittstelle zur Außenwelt. Diese Schnittstelle ist eine serielle bidirektionale Datenleitung. Alle Informationen können nur Bit für Bit übertragen werden. Die bei Chipkarten verwendeten Mikrocontroller sind keine Standardbauelemente, die man überall kaufen kann.
Wie so oft geht auch hier der Trend zu immer kleineren Strukturen - schon allein deshalb, weil der Chip einerseits wegen der Bruchgefahr nicht zu groß werden darf, andererseits aber immer mehr Funktionen auf sich vereinen soll. Ein Mikrocontroller ist bis zu 25 Quadratmillimeter groß.
In der unteren Abbildung 8 ist ein Mikrocontroller abgebildet; hier wird veranschaulicht, wieviel Transistoren, Kondensatoren und Verbindungen auf dieser kleinen Fläche Platz finden müssen.

Abbildung 7: Beispiel eines Mikrocontrollers von SGS-Thomson mit den Funktionseinheiten EEPROM, ROM, Prozessor und RAM (von links nach rechts)
3.2.1.1 Prozessortypen
Die in Chipkarten eingesetzten Prozessoren sind keine Spezialentwicklungen. Da sie extrem zuverlässig sein müssen, werden ältere und damit in der Praxis bewährte Prozessoren bevorzugt. Dies ist der Grund dafür, daß fast alle Typen noch auf einer Speicherbreite von acht Bit beruhen. Die Prozessoren basieren auf einer CISC (Complex Instruction Set Computer) Architektur. Sie benötigen für jeden Maschinenbefehl mehrere Takte und haben meist einen umfangreichen Befehlssatz, orientiert an der Motorola 6805 oder Intel 8051 Architektur.
3.2.1.2 Speichertypen
Neben dem Prozessor sind die verschiedenen Speicher die wichtigsten Bestandteile eines Mikrocontrollers. Die Aufteilung in die verschiedenen Typen hängt sehr stark vom Einsatzgebiet ab.
ROM (read only memory)
Das ROM ist eine Speicherart, die nur gelesen werden kann. Ein schreibender Zugriff ist nicht möglich. Der Inhalt des ROM ist herstellungsbedingt für alle Chips einer Produktionsserie identisch und während der Lebensdauer des Chips unveränderbar. Um die Daten im Speicher zu erhalten wird keine Spannung benötigt. ROM-Zellen brauchen von allen Speicherarten die kleinste Chipfläche pro Bit, nämlich nur einen Transistor. Sie sind am preiswertesten, dafür aber auch unflexibel.
EPROM (erasable read only memory)
In den Anfangsjahren der Chipkartentechnik wurden oftmals EPROMs verwendet, da das damals die einzige Speicherart war, in der auch ohne Spannung Daten erhalten blieben und einmal pro Bit geschrieben werden konnte.
Die ersten französischen Telefonkarten enthielten EPROMs. Beim Abbuchen der Beträge wurden die Zellen beschrieben, für jede Gebühreneinheit ein Bit.
Die Löschung geschieht bei EPROMs durch UV-Licht, das die gespeicherten Ladungen abfließen läßt. Dabei geht der gesamte Inhalt auf einmal verloren, ein selektives Löschen von Zellen ist nicht möglich. Dies ist auch der Grund dafür, warum sie heute für Neuanwendungen keine praktische Bedeutung mehr haben.
Eine EPROM-Zelle braucht die doppelte bis dreifache Chipfläche einer ROM-Zelle, ist also dementsprechend teurer.
EEPROM (electrical erasable read only memory)
Dieser Speichertyp ist fast beliebig oft löschbar und wieder neu beschreibbar, laut Herstellerangaben 104 bis 106 mal. Die einmal gespeicherten Daten können mindestens zehn Jahre erhalten bleiben, was die Lebensdauer einer Chipkarte bei heutigen Anwendungen bei weitem übersteigt.
Das EEPROM wird für Daten oder Programme verwendet, die irgendwann einmal verändert oder gelöscht werden sollen. Die Funktionalität entspricht in etwa der einer Festplatte eines PCs.
Eine EEPROM Zelle stellt im Prinzip einen winzigen Kondensator dar, der geladen oder entladen sein kann. Ein geladener Kondensator repräsentiert eine logische '1' und umgekehrt. Um ein Byte zu speichern braucht man also acht Kondensatoren und eine entsprechende Sensorik, um die Zustände der Kondensatoren abzufragen.
Aufladen und Entladen erfordert eine Programmierspannung von ca. 20 Volt, die höher ist, als die Versorgungsspannung von fünf Volt. Sie muß nicht extern zugeführt werden, sondern wird auf dem Chip mittels einer sogenannten Ladepumpe erzeugt, die nach dem Prinzip einer kaskadierenden Spannungsverdoppelung funktioniert. Der benötigte Strom ist äußert gering, und der Schreibvorgang dauert etwa zehn Millisekunden.
Wird eine EEPROM-Zelle durch Erhitzen oder starke Strahlung manipuliert, so kann der Kondensator sich entladen und die Zelle nimmt den sogenannten sicheren Zustand '0' an. Dieser Zustand ist für das Design von Chipkartenbetriebssystemen von elementarer Bedeutung, da sonst Sicherheitsbarrieren durch vorsätzliche Änderung der Umweltbedingungen durchbrochen werden könnten. Ein Beispiel: Würden durch Erhitzen die EEPROM-Zellen, die für die Speicherung des Geldbetrages zuständig sind, in den Zustand '1' übergehen, so könnte man dadurch die Chipkarte wieder auf den vollen Betrag aufladen.
Der Flächenbedarf eines EEPROMs ist etwa vier bis sieben mal größer als der einer ROM-Zelle. Ihr Aufbau ist komplizierter und damit teurer, aber in der Anwendung sind sie variabler, weshalb der Trend bei Chipkarten zum EEPROM geht.
RAM (random access memory)
Das RAM ist der Arbeitsspeicher des Mikrocontrollers einer Chipkarte, in dem kurzfristig Zwischenergebnisse abgelegt werden - etwa bei der Codierung oder Decodierung von Daten. Zur Funktionsfähigkeit benötigt es eine Spannungsversorgung. Ist die Betriebsspannung nicht mehr vorhanden, oder fällt sie kurzzeitg aus, so ist der Inhalt des RAMs nicht mehr definiert.
Eine RAM-Zelle ist aus vier oder sechs Transistoren aufgebaut, die so geschaltet sind, daß sie als bipolare Kippschaltung funktionieren. Der Schaltungszustand repräsentiert dann den Speicherinhalt eines Bits im RAM.
Das bei Chipkarten verwendete RAM ist statisch im Gegensatz zum dynamischen RAM, bei dem noch zusätzlich ein Takt anliegen muß, um den Speicherinhalt periodisch aufzufrischen. Ein statisches RAM ist einfacher im Aufbau, aber doppelt so groß wie ein dynamisches RAM. Statische RAMs werden verwendet, weil es möglich sein muß, die Taktversorgung einer Chipkarte anzuhalten. Zum Beispiel haben Mikrocontroller in Mobilfunktelefonen einen Strom-Spar-Modus, bei dem alle Teile des Chips bis auf den Ein-/Ausgabe-Interrupt deaktiviert sind.
Der Schreibvorgang bei RAMs verläuft rund 50000 mal schneller, und die Energie zum Schreiben ist um Faktor 106 kleiner als bei EEPROMS, sie sind aber 30 mal größer als ROM-Zellen. Weil das die Kosten empfindlich in die Höhe treibt, sollte das RAM möglichst klein sein, deshalb müssen die Entwickler von Verschlüssellungs-Algorithmen darauf achten, daß ihre Programmierung möglichst wenig RAM benutzt.

Abbildung 8: Platzbedarf für je ein Bit in Abhängigkeit von der Speicherart

Abbildung 9: Architektur einer Speicherkarte
Im oben gezeigten Blockschaltbild sind die Elemente eines Speicherchips dargestellt. Die kleinen Pfeile spiegeln die Kommunikationsverbindungen zwischen diesen Elementen wieder. Der Logikteil spielt die zentrale Rolle. Er vereinigt mehrere Funktionen zur Kontrolle des Chips:
Adreßzähler-Logik
Reset-Logik
Programmierlogik
Sicherheitslogik
(optional)
Die Adreßzähler-Logik wandelt die am seriellen Ein-/Ausgabekanal (Input/Output oder kurz I/O) gezählten Impulse in die interne Adreßdarstellung um. Die Reset-Logik ermittelt einen ordnungsgemäßen Reset und führt Aktionen wie das Zurücksetzen des Adreßzählers aus. Die Programmierlogik erkennt korrekte Programmiervorgänge und führt diese aus. Die Sicherheitslogik, welche im einfachsten Fall nur aus einem Schreib- oder Löschschutz für den Speicher oder einzelner Bereiche des Speichers besteht, kontrolliert die Speicherzugriffe. Es gibt aber auch Speicherchips mit komplexerer Sicherheitslogik, die auch einfache Verschlüsselungen durchführen können.
Im Speicher werden die für die Anwendung erforderlichen Daten und Programme abgelegt. Das ROM dient hierbei zur Speicherung von Informationen wie Seriennummer, Herstellercode und Fertigungsdatum. Das EEPROM enthält allgemeine Abläufe wie Ein-/Ausgabe-Funktionen oder Schreib-/Lese-Funktionen. Bei standardisierten Anwendungen wie der Telefonkarte stellt das ROM 80 Prozent des Speichers dar. Es wurden elementare Funktionen als sogenannte Maske direkt in das ROM gebrannt. Der EEPROM-Anteil am Speicher wird hierdurch kleiner und damit die Kosten geringer.
Für die Ein-/Ausgabe ist ein spezielles synchrones Übertragungsverfahren definiert, welches eine besonders einfache und damit preiswerte Realisierung im Chip ermöglicht. Wegen dieses synchronen Übertragungsprotokolls werden Speicherkarten auch als synchrone Karten bezeichnet.
Die Funktionalität der Speicherkarten ist meistens auf eine spezielle Anwendung hin optimiert. Hierdurch ist die Flexibilität in der Anwendung zwar stark eingeschränkt, dafür sind Speicherkarten aber auch besonders preiswert in der Herstellung. Typische Anwendungen für Speicherkarten sind Telefonkarten oder Krankenversichertenkarten.
Das Herz einer Mikroprozessorkarte ist - wie der Name schon sagt - der Prozessor (CPU), der in der Regel von vier weiteren Funktionsblöcken umgeben ist: Dem ROM, dem RAM, dem EEPROM und dem I/O-Port.

Abbildung 10: Aufbau einer Mikroprozessorkarte
Der Prozessor (CPU) selbst enthält dank erheblicher Speicher- und Rechnerkapazität ein regelrechtes Betriebssystem und kann eine oder auch mehrere Anwendungen ohne die Verbindung zu einem zentralen Computersystem steuern. Mikroprozessorkarten werden deshalb auch als SmartCards bezeichnet.
Das RAM ist der Arbeitsspeicher des Prozessors. Dieser Speicherbereich ist flüchtig, d.h. alle darin gespeicherten Daten gehen verloren, wenn die Versorgungspannung des Chips abgeschaltet wird.
Das ROM enthält das Betriebssystem des Chips und wird während der Herstellung eingebrannt. Der Inhalt des ROM ist herstellungsbedingt für alle Chips eines Produktionsvorgangs identisch und während der Lebensdauer des Chips nicht veränderbar.
Das EEPROM ist der nichtflüchtige Speicherbereich des Chips, in dem Daten oder auch Programmcode unter Kontrolle des Betiebssystems geschrieben und gelesen werden können.
Die serielle I/O-Schnittstelle besteht meist nur aus einem einzigen Register, über welches die Daten Bit für Bit übertragen werden. Ihr Übertragungsprotokoll ist asynchron, weshalb Mikroprozessorkarten auch als asynchrone Karten bezeichnet werden.
Mkroprozessorkarten sind in der Anwendung sehr flexibel. Im einfachsten Fall enthalten sie ein auf eine einzige Anwendung hin optimiertes Programm und sind somit auch nur für diese Applikation verwendbar.
Modernere Chipkartenbetriebssysteme ermöglichen jedoch, verschiedene Anwendungen in einer einzigen Karte zu integrieren. Das ROM enthält in diesem Falle nur die Basisbefehle des Betriebssystems, während die anwendungsspezifischen Teile des Programms erst nach der Kartenproduktion in das EEPROM geladen werden.

Abbildung 11: Architektur einer Mikroprozessorkarte mit Krypto-Controller
Eine Krypto-Controller-Karte ist die Weiterentwicklung einer Mikroprozessorkarte. Sie enthält die Grundeinheit - eine oben beschriebene Mikroprozessorkarte - und einen zusätzlichen Krypto-Controller. Bei diesem Typ von Chipkarte wird sehr auf Sicherheit und Datenverschlüsselung geachtet. Sogenannte asymmetrische Verschlüsselungsverfahren werden hierbei angewendet. Sie benötigen zwei Schlüssel, einen zum Verschlüsseln den anderen zum Entschlüsseln. Sowohl Verschlüsselungsfunktion als auch ein Schlüssel selbst sind auf der Chipkarte gespeichert, sie verlassen aber die Karte nie und sind von außen her nicht lesbar. Diese Verschlüsselungsalgorithmen würden auch ohne Krypto-Controller arbeiten, allerdings müßte man auf eine berechnete Verschlüsselung dann ca. 160 Sekunden warten, was für Anwendungen nicht akzeptabel ist. Der Krypto-Coprozessor wurde so entwickelt, daß er die benötigten Rechenoperationen wie Multiplikation, Exponentation oder Modulo-Berechnungen wesentlich schneller ausführt, so daß eine Verschlüsselung nur noch etwa eine Sekunde dauert. Für die gleichen Berechnungen würde ein 486er PC 20 Sekunden benötigen. Diese Rechengeschwindigkeit kommt durch eine sehr breite Architektur von bis zu 140 Bit zustande. Aufgerufen wird der Krypto-Controller vom Prozessor, der entweder direkt die abzuarbeitenden Daten oder einen Zeiger auf diese übergibt und dann mit einem Befehl die Abarbeitung startet. Nachdem die Berechnung fertiggestellt und das Ergebnis im RAM abgelegt ist, erhält der Prozessor die Kontrolle über den Chip wieder zurück. Detailiertere Informationen zu Verschlüsselungstechniken befinden sich im Kapitel 7.
Zusammen mit der Fähigkeit Kryptoalgorithmen zu rechnen, ermöglicht die Chipkarte mit Krypto-Controller die Realisierung eines handlichen Sicherheitsmoduls. Diese spezielle Chipkarte ist ideal für die Anwendung als elektronische Geldbörse. Außerdem wären mögliche Einsätze beim Home-Banking oder für eine geschützte Sprach- und Faxübertragung denkbar.
Für Anwendungen, bei denen die Speicherkapazität der Chipkarten nicht ausreicht, bietet sich die optische Speicherkarte an, auf der mehrere Megabyte an Daten Platz finden. Allerdings können die Karten nur einmal beschrieben und nicht wieder gelöscht werden.
Die Normung der optischen Speicherkarten (ISO 11693 und 11694) ist noch nicht abgeschlossen.
Die Schreib- und Lesegeräte sind zur Zeit noch sehr teuer, was ihre Anwendungsmöglichkeiten bisher sehr einschränkt.
Eingesetzt werden optische Speicherkarten z.B. im Gesundheitswesen zur Speicherung von Röntgenbildern und Patientendaten.