Hintergrund Kapitel Abbildungen Literatur Dialog

7    Chipkarten

Einstieg Chipkarten dienen zur nichtflüchtigen Speicherung von mittleren Datenmengen. Das Spektrum ihrer Anwendungen reicht von preiswerten Nur-Lese-Ausführungen bis zu hochsicheren und frei programmierbaren Systemen.
Summary Smart Cards contain non-volatile memory of medium size. Their range of applications extends from low cost passive read-only types to free programmable crypto-systems.

7.1   Definition und Einteilung

Unter Chipkarten versteht man ganz allgemein kleine Plastikkarten mit einem oder mehreren eingebetteten Mikroelektronik-Schaltkreisen. Das noch relativ junge Gebiet der Chipkartentechnik expandiert nach wie vor mit ungebremster Geschwindigkeit. Deshalb werde ich mich darauf beschränken, die Grundlagen weitverbreiteter Kartentypen zu beschreiben, die ihren Niederschlag in ISO- und DIN-Normen gefunden haben, ergänzt durch Anwendungsbeispiele mit großer Verbreitung in Deutschland.
Doch zunächst will ich versuchen, einige Schneisen in den Chipkarten-Dschungel zu schlagen und einige Kartentypen kurz zu beschreiben. Die folgende Übersicht stellt keine Bewertung dar und erhebt keinen Anspruch auf Vollständigkeit. Auch sind die Bezeichnungen in der Literatur nicht immer einheitlich.

Speicheridentifikationskarten ("Memory Cards")

Diese preiswerten Kartentypen werden in vielen Anwendungen und in hohen Stückzahlen eingesetzt. Sie enthalten Halbleiterspeicher (EPROM und/oder EEPROM oder ein wesentlich schnelleres FRAM) und festverdrahtete Lese-/Schreiblogik. Viele ihrer Eigenschaften sind in ISO 7816 (DIN-EN 27816) beschrieben. Sie verwenden synchrone Übertragungsprotokolle. Die Lage der 8 (oder 6) Kontaktflächen ist ebenfalls genormt.

Intelligente Identifikationskarten ("Smart Cards")

Smart Cards enthalten zusätzliche Intelligenz in Form eines Controllers, der hier ein asynchrones Protokoll abwickelt. Sie sind ebenfalls in ISO 7816 genormt. Durch ihre Intelligenz sind sie vielseitig einsetzbar, aber auch teurer als Memory Cards und deshalb weniger verbreitet. Äußerlich kann man die beiden Typen nicht unterscheiden.

Identifikationskarten mit Peripherie ("Super Smart Cards")

Dieser Kartentyp besitzt zusätzlich eine kleine, numerische Tastatur und ein LCD. Fehlende Normung und hoher Preis beschränken den Einsatz auf Spezialanwendungen.

Hochsichere Identifikationskarten ("Crypto Cards")

Für Anwendungen mit besonders hohen Sicherheitsanforderungen gibt es Karten mit eingebautem Crypto-Controller. Diese Spezialcontroller können zusätzlich zu den üblichen Standardfunktionen Ver- und Entschlüsselung besonders schnell durchführen.

Identifikationskarten im Spezialformat

Ebenfalls für Spezialanwendungen gibt es "Karten" in Schlüsselform und besonders kleine Karten ("Mini Cards") zum Beispiel in den Formaten 67 x 47 mm, 65 x 30 mm, 66 x 33 mm und 25 x 15 mm. Die Normung der Mini Cards ist noch nicht abgeschlossen.

PC-Speicherkarten (PC-cards nach PCMIA und JEIDA)

Diese Kartentypen haben die Breite von Identifikationskarten, sind aber dicker und manchmal auch länger als diese und haben eine Vielzahl seitlicher Kontakte. Sie dienen als externe Speicher für Computer und werden hier nicht weiter behandelt.

Kontaktlose Karten

Zur Erhöhung der Lebensdauer und zur Verwendung in rauer Umgebung wird bei diesen Kartentypen auf Kontakte ganz verzichtet. Die Übertragung der Daten erfolgt induktiv oder kapazitiv, die Versorgung ebenfalls induktiv oder durch eingebaute Batterien. Die Bauform und einige Anwendungsgebiete haben sie mit den kontaktbehafteten Karten gemeinsam. In Architektur und Funktion sind sie jedoch mehr den Transpondern verwandt und werden deshalb dort beschrieben.

7.2   Anwendungen - Übersicht

Auch dieser Abschnitt kann keine vollständige Beschreibung aller aktuellen und geplanten Verwendungsmöglichkeiten für Chipkarten geben. Nach einer einleitenden, eher allgemeinen Einordnung folgen einige willkürliche Anwendungsbeispiele, die die Vielseitigkeit dieser Technik nur ansatzweise verdeutlichen können.
Chipkarten bieten eine preiswerte Möglichkeit zur nichtflüchtigen, einmaligen oder beliebig oft wiederholbaren Speicherung kleiner bis mittlerer Datenmengen. Sie wurden zunächst als Ersatz für Magnetkarten in Bereichen eingesetzt, wo die besseren Eigenschaften den höheren Preis rechtfertigten. Inzwischen haben sie aber auch Anwendungsgebiete erschlossen, die weit über die Möglichkeiten der Magnetkarten hinausgehen. Insbesondere sind sie diesen in folgenden Eigenschaften überlegen:
  • Speicherkapazität: Auf dem herkömmlichen Magnetstreifen lassen sich einige hundert Zeichen unterbringen. Die Kapazität von Chipkarten liegt derzeit etwa um den Faktor 1000 höher. Die Grenze ist dadurch gegeben, dass die Chipfläche wegen auftretender Biegebeanspruchung nicht beliebig groß gemacht werden kann.

  • Datensicherheit: Daten sind immer gefährdet, verloren zu gehen oder verfälscht zu werden, in welcher Form sie auch gespeichert sind. Die Gefährdungen für den Magnetstreifen durch Magnetfelder, Abrieb und Kratzer sind jedoch im Alltag häufiger anzutreffen als die für eingebettete Chips (UV- und Röntgenstrahlen, Elektrostatik und starke Verformung).

  • Fälschbarkeit: Magnetkarten können mit relativ einfachen Mitteln kopiert oder umprogrammiert werden. Bei Chipkarten gibt es dagegen eine abgestufte Palette von Sicherheitsfunktionen, angefangen von irreversibler Löschung einzelner Daten bis zu ausgefeilten Crypto-Controllern.

Der Hauptnachteil der Chipkarte gegenüber der Magnetkarte soll jedoch nicht verschwiegen werden: der höhere Preis. Steigender Einsatz und damit sinkende Preise der Chipkarten werden jedoch die Magnetkarten auf kostensensitive und sicherheitsunkritische Anwendungen zurückdrängen.

Nach der Anwendungsfunktionalität lassen sich Chipkarten derzeit in drei Gruppen einteilen.
  • Karten mit reinen Identifikationsfunktionen: Je nach Anforderung der Anwendung enthält die Karte eine Kombination der folgenden Daten:
    • Personendaten (Name, Wohnung, Geburtsdatum)
    • Registriernummer (Mitgliedsnummer, Kundennummer, Kontonummer)
    • Geheimnummer (nicht auslesbar)
    • Gültigkeitsbereich
    • Gültigkeitszeitraum

    Solche Karten werden eingesetzt für
    • Zugangskontrolle (Firmenausweis, Sportanlagen)
    • Authentifizierung (Scheckkarte)

    Identifikationskarten sind normalerweise nicht übertragbar (inhaberspezifisch). Gegen Verlust sind sie mehr oder weniger gut geschützt.

  • Debitkarten werden von einem Ausgeber elektronisch aufgewertet. Die Aufladung kann einmalig (Telefonkarte) oder wiederholt (Elektronische Geldbörse) erfolgen. Mit ausgeberspezifischen Karten kann man nur die Leistungen des Ausgebers bezahlen (Beispiele: Telefonkarte, Pay-TV). Bei der elektronischen Geldbörse handelt es sich um einen ausgeberunabhängigen Typ. Reine Debitkarten sind übertragbar. Gegen Verlust sind sie etwa so gut geschützt wie Bargeld in der Hosentasche. Als Informationen enthalten sie mindestens den aktuellen Wert sowie eine Identifikationsmöglichkeit des Ausgebers.


  • Kreditkarten sind spezielle Identifikationskarten, die durch Angabe eines Bankkontos und eines Kreditrahmens um zusätzliche Informationen ergänzt sind. Kreditkarten sind immer inhaberbezogen und daher nicht übertragbar. Gegen Verlust sind sie meist dadurch geschützt, dass sie zur Benutzung die Eingabe einer Geheimnummer erfordern, die nicht-auslesbar auf der Karte gespeichert ist. Zusätzlichen Schutz können fälschungssicher auf der Karte angebrachtes Porträt und Unterschrift des Inhabers bieten. Bei Benutzung bucht der Ausgeber den Betrag nachträglich vom Bankkonto ab.

In folgenden Anwendungsgebieten sind Chipkarten vorteilhaft einsetzbar oder bereits im Einsatz:

Telekommunikation

Telefonkarte
Anwendungstyp Debitkarte, übertragbar, nicht wiederaufladbar
Technischer Typ Memory Card, 128 bit EEPROM, ohne Controller, Protokoll synchron
Status weit verbreitet
Beschreibung Man kauft Telefonkarten mit einem bestimmten Anfangswert bei einer Telefongesellschaft oder einem autorisierten Händler. Bei Benutzung an einem öffentlichen Fernsprecher wird ein interner Zähler erniedrigt.


Telefonbuchungskarte ("Telekarte")
Anwendungstyp Kreditkarte, nicht übertragbar, gesichert durch Geheimnummer
Technischer Typ Smart Card, mit Controller, Protokoll asynchron
Status eingeführt
Beschreibung Zum Telefonieren wird zusätzlich eine Geheimnummer eingegeben. Die anfallenden Gebühren werden nachträglich vom Bankkonto abgebucht oder der persönlichen Fernsprechrechnung zugeschlagen


Mobiltelefonkarte
Anwendungstyp a) Debitkarte, wiederaufladbar, mit Identifikationsfunktion (Rufnummer und Geheimnummer)
b) Kreditkarte (Rufnummer, Geheimnummer, Inhaber, Bankverbindung)
Technischer Typ Smart Card, mit Controller, Größe: Plug-In-Card 25 x 15 mm, asynchrones Protokoll
Status weit verbreitet
Beschreibung Beim bisherigen drahtgebundenen Telefon ist die Rufnummer immer einem Apparat zugeordnet, beim Mobilfunknetz dagegen dem Benutzer. Das Mobiltelefon ist nur mit eingesteckter Karte betriebsbereit. Die Anmeldung am Netz erfolgt mit der auf der Karte gespeicherten Rufnummer. Der Teilnehmer ist dann auch über dieses Gerät erreichbar.


Faxkarte
Anwendungstyp Identifikationskarte
Technischer Typ Smart Card oder Crypto Card
Status Spezialanwendungen
Beschreibung Faxkarten haben zwei verschiedene Funktionen, die einzeln oder kombiniert sein können: Beim geschützten Empfang werden die gespeichrten Nachrichten erst ausgegeben, wenn sich der Empfänger durch seine Karte ausgewiesen hat. Beim Senden werden die Daten mit dem in der Karte gespeicherten Schlüssel verschlüsselt.

Gesundheitswesen

Krankenversichertenkarte
Anwendungstyp Identifikationskarte, in Ausnahmefällen änderbar
Technischer Typ Memory Card, serielles Protokoll ähnlich ISO
Status weit verbreitet
Beschreibung Die Karte wird von einer Krankenversicherung an ihre Mitglieder ausgegeben. Sie enthält persönliche Daten, die Mitgliedsnummer und ein Gültigkeitsdatum. Sie dient beim Arztbesuch zum Versicherungsnachweis und zur Übernahme der Personendaten für die Abrechnung


Patientenkarte, Gesundheitskarte
Anwendungstyp Identifikationskarte, mit änderbaren medizinischen Daten
Technischer Typ Smart Card, asynchrones Protokoll
Status Pilotversuche
Beschreibung Die Karte wird aus Gründen des Datenschutzes (und aus Kostengründen) nur an Notfallpatienten ausgegeben. Sie enthält zusätzlich zu den Personalien medizinische Angaben zu Blutgruppe, Allergien, benötigten Medikamenten und weitere Besonderheiten. Sie ermöglicht nötige Behandlungen auf Reisen und bei Nichterreichbarkeit des üblicherweise behandelnden Arztes.

Verkehr

Busticket
Anwendungstyp a) Debitkarte, übertragbar
b) Kreditkarte, begrenzt übertragbar
Technischer Typ Debitkarte als Memory Card denkbar, sonst Smart Card mit Controller und asynchronem Protokoll
Status Pilotversuche
Beschreibung Die Karte wird beim Betreten und beim Verlassen des Verkehrsmittels in ein Lesegerät gesteckt (oder bei kontaktlosen Typen in die Nähe gebracht), das daraus den Fahrpreis berechnet und von der Debitkarte abbucht bzw. bei der Kreditkarte ein persönliches Konto belastet. Debitkarten werden von gelegentlichen, datenschutzbewussten oder nicht kreditwürdigen Fahrgästen benutzt, Kreditkarten vom (kleinen) Rest. Kreditkarten haben allerdings zwei Vorteile: sie sind niemals leer und können Vielfahrern zu Rabatten verhelfen.


Straßenbenutzung
Anwendungstyp a) Debitkarte
b) Kreditkarte
Technischer Typ a) Memory Card
b) Smart Card, meist kontaktlos
Status eingeführt, aber noch nicht flächendeckend
Beschreibung Bei der Entrichtung von Autobahngebühren lässt sich der Verkehrsfluss beträchtlich erhöhen, wenn ein im Auto eingebautes Lesegerät mit dem Computer der Zugangsstation Daten über Funk austauscht. Durch Einsatz der Transpondertechnik wird das Lesegerät überflüssig.


KFZ-Identifizierung
Anwendungstyp Identifikation
Technischer Typ a) Memory Card
b) Smart Card
Status in Planung
Beschreibung Ein mögliches System könnte eine Kombination von 3 Karten verwenden:
Karte 1 enthält technische und besitzrechtliche Daten ("KFZ-Brief")
Karte 2 enthält technische und benutzungsrechtliche Daten ("KFZ-Schein")
Karte 3 enthält allgemeine Fahrzeugdaten ("Elektronisches Nummernschild") und ist fest mit dem Fahrzeug verbunden.


Parkplatzzugang
Anwendungstyp a) Debitkarte
b) Kreditkarte
c) Identifikationskarte
Technischer Typ a) Memory Card
b) Smart Card
Status eingeführt
Beschreibung Einsatzmöglichkeiten bei Firmenparkplätzen oder fest gemieteten Stellplätzen. Sonst werden in Parkhäusern fast nur Kärtchen mit Magnetstreifen verwendet.


Flugverkehr
Anwendungstyp Identifikationskarte
Technischer Typ Memory Card, kontaktlos
Status eingeführt, Flächendeckung nicht beabsichtigt
Beschreibung Die Karte wird von der deutschen Lufthansa an ihre Stammkunden ausgegeben und ermöglicht diesen das automatische und damit schnellere Einchecken. Auf der reinen Identifikationskarte sind nur wenige personenbezogene Daten gespeichert, alles weitere übernimmt das Hintergrundsystem.

Industrie

Warenfluss und Fertigung
Anwendungstyp Identifikationskarte
Technischer Typ a) Memory Card
b) Smart Card
Form beliebig, kontaktlose Typen bevorzugt
Status Speziallösungen
Beschreibung Zur Steuerung der Fertigung und des Warenflusses können an vielen Stellen Barcodes durch die wesentlich flexiblere Speicherung in Chips ersetzt werden. Gespeichert werden zum Beispiel Ausführung, Fertigungsstand und Prüfstand einer Ware. Begleitpapiere werden dadurch oft überflüssig. Der Datenaustausch erfolgt meist kontaktlos, die Form des Identifikationsträgers hat mit einer Karte meist nichts mehr zu tun. Eine genauere Beschreibung folgt im Abschnitt über Transponder.

Handel und Banken

Kreditkarte ("pay later")
Anwendungstyp Identifikationskarte
Technischer Typ a) Karten mit hochgeprägtem Text, aber ohne Elektronik
b) Memory Card
Status eingeführt
Beschreibung Die vor allem im Ausland beliebten Karten ohne Elektronik sind zu unsicher gegen Fälschung und Missbrauch. Sie konnten sich in Deutschland nie richtig durchsetzen. Durch den Einsatz von Chipkarten ließe sich zwar das Risiko vermindern. Trotzdem wird diese Zahlungsart keine große Zukunft haben, weil der Handel auf längere Sicht nicht bereit ist, die relativ hohen Systemkosten zu tragen.


Scheckkarte ("pay now")
Anwendungstyp a) Identifikationskarte
b) Kreditkarte
Technischer Typ a) Memory Card
b) Smart Card
Status eingeführt
Beschreibung Dieser Kartentyp ist in Deutschland weit verbreitet. Hielt man bei seiner Einführung die Speicherung der Daten auf Magnetstreifen in Kombination mit einer Geheimnummer für sicher genug gegen Fälschung und Missbrauch, sind inzwischen die meisten Karten auf echte Smart Cards mit Microcontrollern umgerüstet. Man kann drei Einsatzfälle unterscheiden: Als reine Identifikationskarte dient eine Scheckkarte zum Beispiel bei den Kontoauszugsdruckern der Banken. Für Online-Abbuchung (zum Beispiel an Geldausgabeautomaten) ist zusätzlich die Eingabe einer Geheimnummer erforderlich. Die Offline-Abbuchung (ohne Geheimzahl, aber mit unterschriebener Abbuchungserlaubnis) spart Leitungs- und Buchungsgebühren und ist deshalb besonders beim Handel beliebt.


Elektronische Geldbörse ("pay before")
Anwendungstyp Debitkarte, übertragbar
Technischer Typ Smart Card, meist Crypto Card
Status in Einführung (seit Jahren)
Beschreibung Eine Chipkarte mit dieser Funktion wird üblicherweise vom Benutzer bei seiner Bank mit einem bestimmten Geldbetrag aufgeladen. Er kann dann überall "bargeldlos" bezahlen, wo ein entsprechendes Terminal installiert ist (Läden, Automaten). Alle Vorteile des Systems liegen bei Banken und Händlern, alle Nachteile beim Kunden.


Elektronische Banknote
Anwendungstyp Identifikation
Technischer Typ Crypto Card (?), kontaktlos (?)
Status Brainstorming
Beschreibung In die Banknote wird ein Chip eingelassen, der die Seriennummer verschlüsselt enthält. Zur Erhöhung der Fälschungssicherheit könnte so das volle Potential der Chipkartentechnik ausgeschöpft werden.
Wird derzeit diskutiert für Euro-Scheine.
Probleme: Echter Nutzen entsteht erst nach komplettem Austausch aller umlaufenden Banknoten. Wie schützt sich ein Privatmann vor "Blüten" ohne Chip?

Verwaltung

Zugangskontrolle
Anwendungstyp Identifikationskarte, meist nicht übertragbar
Technischer Typ Memory Card, ohne Controller
Status Magnetkarten werden nur langsam verdrängt
Beschreibung Mit Chipkarten lässt sich wie auch mit Magnetkarten der Zugang zu geschützten Bereichen kontrollieren. Beispiele: Flughäfen, Kernkraftwerke, Banktresore, High-Tech-Forschungseinrichtungen, Firmen, Rechnernetze, Softwarelizenzen, Sportanlagen. Die Chipkarte wird sich dort zur Zugangskontrolle durchsetzen, wo die Sicherheitsanforderungen durch Magnetkarten nicht erfüllt werden können. Oft ist sie auch erst sinnvoll, wenn noch andere Funktionen eingebaut sind.


Personalausweis
Anwendungstyp Identifikationskarte
Technischer Typ Smart Card, Crypto Card
Status Eingeführt in Macao, geplant z.B. in USA und China, diskutiert in Deutschland.
Beschreibung Die Karte enthält außer den "normalen" Daten auch biometrische Merkmale, z.B. Passbild und Fingerabdruck. Die Einführung bereitet keine technischen, sondern politische Schwierigkeiten. Nach einer flächendeckenden Einführung wären z.B. politische Abstimmungen ohne "Wahllokale" denkbar.


Multifunktionskarte
Anwendungstyp Beliebige Kombinationen
Technischer Typ Smart Card, Crypto Card
Status In Pilotanwendungen realisiert, vor flächendeckendem Einsatz ist weitere Normung notwendig
Beschreibung Der Controller auf der Karte verwaltet mehrere Speicherbereiche für verschiedene Anwendungen. Das Kartenterminal prüft über eine Schlüsselnummer, ob die Karte die erforderliche Funktion besitzt. Für offene Systeme werden diese Anwendungsnummern zentral vergeben (ISO 7816-5).
Beispiele Kreditkarte mit Telefonfunktion
Firmenausweis mit Parkplatzzugang, Kantinenkredit und Arbeitszeiterfassung

7.2.1 Telefonkarte

Für den Benutzer besteht das System vordergründig aus der Chipkarte, die er bei einer Telefongesellschaft oder einem autorisierten Händler kauft, und aus dem Kartenleser in der Telefonzelle, der ihm Zugang zum Telefonnetz verschafft und seine Karte mehr oder weniger schnell entwertet. Es handelt sich um eine (vorbezahlte) Debit-Karte, die aus Sicherheitsgründen nicht wiederaufladbar ist.
Aus technischer Sicht handelt es sich um eine Speicherkarte mit geringer, festverdrahteter Intelligenz. Sie enthält auf ROM eine Seriennummer, Herstelljahr und -monat des Chips, ein Herstellermerkmal, den Anfangswert und ein geheimes Sicherheitsmerkmal. Ein irreversibler Abwärtszähler speichert das Restguthaben in einem EEPROM (Tab. 7-1).
Die Abrechnungseinheit eines Kartentelefons besteht aus dem Kartenleser, einem lokalen Prozessor, der die Kommunikation mit der Karte abwickelt, und einem zentralen Rechnernetz in mehreren Hierarchiestufen. Der eigentliche Leser besteht aus einem stabilen Metallgehäuse, in das die Karte eingesteckt werden muss. Er enthält ein "Mini-Fallbeil" mit Schlagmesser zum Abtrennen von Kabeln, die möglicherweise zum Zwecke des "Reverse Engineering" an die Karte angeschlossen sind. Der Leser kontaktiert die Karte über 6 Kontaktfelder. Er ist kurzschlussfest und von der nachgeschalteten Auswerteeinheit galvanisch getrennt.
Die Steuersoftware für die Kommunikation mit der Karte und für das Abbuchen der Gebühr befindet sich im lokalen Prozessor. Sie kann ferngeladen werden. Bei Ausfall des Rechnernetzes arbeitet sie autark.

Zum Starten des Ablaufs steckt der Benutzer die Karte in den Leser. Der Verschluss schließt sich und entzieht die Karte dem Zugriff des Benutzers. Der Leser kontaktiert die Karte und testet durch eine Anschaltsequenz, ob es sich um eine Speicherkarte (mit synchronem Protokoll) oder eine Buchungskarte (mit asynchronem Protokoll) handelt. Dadurch wird gleichzeitig die Karte aktiviert. Jetzt werden die ersten 16 bit ausgelesen und dabei überprüft, ob die Speicherkarte auch eine Telefonkarte ist. Nach weiteren internen Prüfungen wird das Restguthaben ausgelesen und angezeigt. Kommt anschließend ein Verbindungsaufbau zustande, liefert der übergeordnete Rechner Gebührenimpulse zum Abbuchen der Gebühreneinheiten. Bei jedem Impuls dekrementiert das Kartentelefon den Zähler der Karte um die Gebühreneinheit. Der neue Guthabenstand wird sofort wieder gelesen und verglichen. Bei Ungereimtheiten wird die Verbindung sofort unterbrochen.

Telefonbuchungskarten benutzen das asynchrone Protokoll T=14, das nur in Deutschland eingesetzt wird und nicht international genormt ist. Bei Speicherkarten werden nur synchrone Protokolle eingesetzt, und zwar je nach Hersteller und Typ der Karte
  • 3 Draht-Protokoll (Takt, Daten, Steuerung (Reset-Anschluss))
  • 2 Draht Protokoll (Takt, Daten)
  • I2C Protokoll (Takt, Daten)

7.2.2 Krankenversichertenkarte (KVK)

Auch bei der Krankenversichertenkarte handelt es sich in der ersten Stufe um eine reine Speicherkarte. Das System ist jedoch so ausgelegt, dass eine Erweiterung auf Prozessorkarten problemlos möglich ist. Der Weg zur "Gesundheits-Chipkarte", die derzeit aus Datenschutzgründen nur für Notfallpatienten eingesetzt wird, bleibt dadurch offen.
Die KVK, die alle Mitglieder der gesetzlichen Krankenversicherung oder einer Ersatzkasse bekommen haben, dient dem Versicherten als Ausweis gegenüber dem Arzt. Außerdem können die maschinenlesbaren Daten vom Kartenleser entweder direkt in Formulare gedruckt oder an den Praxiscomputer weitergeleitet werden.
Alle Daten werden im Normalfall nur gelesen. Auf der Karte sind sie außer der Adresse auch in Klarschrift vorhanden. Spezielle Terminals der Krankenkassen können jedoch einzelne Daten auch überschreiben.
Der angeschlossene Computer verkehrt mit dem Terminal über das asynchrone Protokoll T=1. Das Terminal kann jedoch nur eine Untermenge der dort definierten Befehle empfangen und ausführen:
  • RESET mit ATR
  • READ BINARY (einzeln oder komplett)
  • WRITE BINARY (nur die Spezial-Terminals der Krankenkassen)
Der Datenverkehr zwischen Terminal und Speicherkarte benutzt ein synchrones Protokoll (3-Draht, 2-Draht oder I2C). Das Terminal muss die Daten vom und zum Hauptrechner also entsprechend umsetzen. Bei einem späteren Einsatz intelligenter Karten kann diese Umsetzung entfallen; die Daten können transparent durchgereicht werden.
Um die Struktur der gespeicherten Daten ohne Kompatibilitätsprobleme ändern oder erweitern zu können, sind die Daten nach den Forderungen der Datenbeschreibungssprache ASN.1 in TLV-Blöcken variabler Länger strukturiert:

T: Tag = Typ des Datenelements
L: Length = Anzahl der folgenden Datenbytes
V: Value = Parameter, Daten

Die verwendeten Tags gelten für alle KVKs. (Tab. 7-2) zeigt eine Liste der verwendeten Tags. Grau hinterlegte Felder bezeichnen optionale Datenelemente. Mit $60 wird die Gesamtlänge der verwendeten Daten angegeben, mit $C0 die Anzahl der aufgefüllten Leerzeichen. (Tab. 7-3) zeigt ein willkürliches Beispiel, mit falschem CRC Code.

7.2.3 Elektronische Geldbörse

Diese dritte bargeldlose Zahlungsart (neben Kredit- und Scheckkarte) kommt in ihrer Handhabung dem echten Bargeld am nächsten. Die Karten werden von autorisierter Stelle mit einem bestimmten Betrag aufgeladen und beim Bezahlvorgang völlig lokal in beliebiger Stückelung abgewertet. Da bei der Bezahlung weder eine Datenverbindung noch eine Bank beteiligt sind, entfallen Buchungskosten komplett. Erst dadurch wird es wirtschaftlich sinnvoll, auch Kleinstbeträge, zum Beispiel an Automaten, bargeldlos zu bezahlen.
Für Banken und Handel bieten Elektronische Börsen große Vorteile:
  • Reduzierte Bevorratung und Bearbeitung von Bargeld
  • Kein Bargeldtransport von Läden und Automaten
  • Billigere Automaten ohne Münzprüfung
  • Schnellerer Zahlvorgang
  • Reduziertes Risiko gegen Raub
Für den Kunden sind die vorteilhaften Auswirkungen schon bescheidener:
  • Schnellerer Bezahlvorgang
  • Flexiblere Kleingeldbevorratung (echte Münzen werden trotzdem nie überflüssig)
Dafür entstehen ihm je nach Ausgestaltung des konkreten Systems beträchtliche Nachteile:
  • Bei anonymen Systemen ist seine Börse gegen Verlust ebenso gut geschützt wie echtes Bargeld in der Hosentasche
  • Elektronische Börsen sind kein offizielles Zahlungsmittel. Sie müssen nicht von jedem akzeptiert werden und werden bei Zahlungsunfähigkeit des Börsenbetreibers wertlos.
  • Bei technischem Versagen kann der enthaltene Betrag verloren gehen. (Würden Sie ein koffeinhaltiges Erfrischungsgetränk aus einem Automaten mit einer Börse bezahlen, die mit € 200.- aufgeladen ist?)
  • Zum Auslesen des verfügbaren Betrags ist zusätzliche technische Ausrüstung erforderlich
  • Eine Übertragung zwischen Privatpersonen ("purse-to-purse") ist entweder überhaupt nicht oder nur mit technischem Zusatzaufwand möglich.
Ein abstraktes System für elektronische Geldbörsen ist in der Norm EN 1546 detailliert beschrieben. Diese Norm ist so allgemein gehalten, dass sie wahrscheinlich allgemein akzeptiert und lange leben wird. Eine Kompatibilität zwischen verschiedenen konkreten Systemen kann sie aber nicht garantieren, auch wenn jedes für sich normgerecht ist.
Abb. 7-4 zeigt alle am System beteiligten Teilnehmer, technische Einrichtungen und Vorgänge, wie sie in der Norm beschrieben werden: Der Börsenbetreiber, meist eine Bank oder eine bankenähnliche Organisation, erteilt dem Aufladebevollmächtigten, wie schon der Name sagt, eine Vollmacht zum Aufladen der Börsen. Dabei muss es sich nicht unbedingt um verschiedene Personen oder Organisationen handeln. Da aber verschiedene Einrichtungen und unterschiedliche Vorgänge beteiligt sind, macht hier die Norm eine durchaus sinnvolle gedankliche Trennung.
An einer Aufladevorrichtung kann "echtes" Geld in elektronisches umgetauscht werden. Die Börse wird mit einem frei wählbaren Betrag aufgeladen. Ein Überladen einer teilweise aufgeladenen Börse ist bis zu einem festgelegten Höchstbetrag möglich. Wird der Vorgang bar bezahlt, handelt es sich gewissermaßen um die Stückelung in beliebige Einheiten (ein Sack voller Cent- oder Euromünzen, der jedoch die Hosentaschen nicht ausbeult). Bei Bezahlung durch Kontoabbuchung wird das Geld lediglich anonymisiert, mit allen damit verbundenen Vor- und Nachteilen.
Beim eigentlichen Einkauf von Waren oder Dienstleistungen wird der verfügbare Betrag in der Börse des Kunden erniedrigt und gleichzeitig der Saldo in der Börse des Leistungsanbieters erhöht. Händlerbörsen sind meist ortsfest und können dadurch besser gesichert werden als die mobilen Kundenbörsen.
Der Händler reicht seine gefüllte Börse bei einem Acquirer ein, was natürlich auch online geschehen kann, und bekommt den entsprechenden Betrag gutgeschrieben oder in bar ausbezahlt. Der Acquirer kann wieder der Börsenbetreiber selbst sein oder auch eine externe Stelle, zum Beispiel die Zentrale einer Filialkette.
Der Acquirer ist zuständig für die Errichtung und Verwaltung der datentechnischen Verbindungen zwischen Börsenanbieter und Leistungsanbieter. Außerdem kann er Kleinbeträge bündeln, bevor er sie beim Börsenanbieter einreicht und so den Kreis wieder schließt.

Zwei eingeführte Börsenanwendungen möchte ich herausgreifen und etwas näher beschreiben:

Das deutsche ec-System hält sich im wesentlichen an EN 1546 und besteht aus zwei Komponenten: ec-Cash und ec-Geldkarte . Dafür gibt es drei verschiedene Kartentypen:
  • Scheckkarte (ec-Cash) mit Geldkarte
  • Geldkarte nicht anonym
  • Geldkarte anonym
Die Zahlung mit ec-Cash erfordert bei Online-Abbuchung am Händlerterminal oder am Geldausgabeautomaten die Eingabe einer PIN. Außerdem ist eine relativ zeit- und kostenintensive Echtzeit-Datenverbindung zur kontoführenden Bank nötig. Beides entfällt, wenn die Abbuchung mittels unterschriebener Abbuchungserlaubnis offline und gesammelt durchgeführt wird.
Bei Bezahlung mit Geldkarte entfallen PIN und Unterschrift, da die Karte echtes Geld in elektronischer Form enthält. Geldkarten können an Ladeterminals gegen Bargeld oder ec-Cash mit bestimmten Geldbeträgen aufgeladen werden. Beim Bezahlen von Waren wird der geforderte Betrag von der Geldkarte des Kunden auf eine Händlerkarte übertragen. Händlerkarten sind entweder mobil und können dann dadurch gegen Raub geschützt werden, dass sie nur Beträge annehmen, aber nicht weitergeben können. Meistens sind sie aber ortsfest oder virtuell als Software im Rechner des Händlers und übertragen das Guthaben direkt über eine Datenverbindung zur Bank des Händlers.
Eine sogenannte Börsenevidenzzentrale erfüllt die Funktionen des Börsenbetreibers, des Aufladebevollmächtigten und des Acquirers. Sie sorgt für die Abrechnung zwischen Händler, Kreditinstitut und Karteninhaber. Bei der bevorzugten und für den Kunden sichereren nicht-anonymen Variante führt die Börsenevidenzzentrale außerdem ein Börsenverrechnungskonto ( "Schattenkonto"), das bei technischem Versagen der Karte deren Inhalt rekonstruieren kann. Beim bargeldlosen Aufladen wird Geld vom Kundenkonto auf dieses Schattenkonto (und auf die Geldkarte) übertragen, beim Bezahlen werden Geldkarte und Schattenkonto belastet. Eine direkte Übertragung zwischen Kunden-Geldkarten (purse-to-purse) ist auch bei der anonymen Variante nicht vorgesehen. Die Kombinationskarte ist als Multifunktionskarte ausgelegt und könnte später mit weiteren Anwendungen nachgeladen werden.

Das britische Mondex System ist schon etwas älter; die ersten Pilotversuche liefen bereits 1995. Im Gegensatz zum ec-System versucht es, wirklich alle Funktionen echten Bargelds nachzubilden:
  • Übertragbarkeit
  • Teilbarkeit
  • Dezentraler Geldfluss
  • Fälschungssicherheit
  • Anonymität
  • Bestandsübersicht
Es handelt sich hier ebenso um ein System mit drei Beteiligten: dem Systembetreiber, dem Börseninhaber und dem Leistungsanbieter. Es läuft jedoch völlig dezentral und bietet deshalb auch die Möglichkeit der Geldübertragung zwischen Börseninhabern, also Privatpersonen. Dazu gibt es sogenannte "Wallets", einfache und billige Geräte, die nicht nur die technische Seite der Übertragung bewerkstelligen, sondern die auch dafür sorgen, dass es dabei weder zu Geldvermehrung noch zu -verlust kommt. Ein Lesegerät mit Display in Form eines Schlüsselanhängers sorgt dafür, dass man den Überblick über den Börseninhalt behält und beim Bezahlvorgang keine bösen Überraschungen erlebt. Das Wallet bietet aber auch noch andere Vorteile: Durch einen einzelnen Tastendruck lässt sich die Börse sperren und ist so für einen Finder oder Dieb wertlos. Durch Eingabe einer PIN lässt sie sich jederzeit wieder entsperren. In Verbindung mit einem Modem lässt sich Geld von der Börse auch über eine Datenverbindung übertragen und ermöglicht so zum Beispiel Internet-Einkauf. Als Sicherheitsfunktionen sind Sperrlisten vorhanden und eine Begrenzung der Anzahl der Transaktionen, die möglich sind, bevor die Börse vom Börsenbetreiber aufgeladen oder überprüft werden muss.
Durch diese Beschränkung kann sichergestellt werden, dass Karten nicht unkontrolliert sehr lange im Umlauf sind. Man kann dabei neue Anwendungen und neue Schlüssel laden, die außerdem in einer Art Schneeballsystem auch von Börse zu Börse weitergegeben werden.
Von den Händlerbörsen, die aus Sicherheitsgründen so eingestellt werden können, dass sie nur Geld annehmen, aber nicht weiterübertragen können, ist jedoch eine Online-Übertragung an die Bank möglich.

7.3   Eigenschaften

Die mechanischen und physikalischen Anforderungen an Chipkarten des meistverwendeten Typs ID-1 entsprechen weitgehend denen von Magnetkarten und sind in DIN-ISO 7810 beschrieben. Zusätzliche Anforderungen stellt die in der Karte enthaltene Elektronik. Sie sind Gegenstand der Norm DIN-EN 27816-1 (ISO 7816-1):
  • UV- und Röntgenstrahlenempfindlichkeit
  • Empfindlichkeit gegen elektrostatische Auf- oder Entladung
  • Biegesicherheit
  • Kontaktwiderstände
Anzahl, Position, Abmessungen und Belegung der Kontakte sind in DIN-EN 27816-2 (ISO 7816-2) beschrieben (Abb. 7-5).
Laut Definition enthält eine Chipkarte einen oder mehrere elektronische Mikroschaltkreise. Beim Kartentyp ID-1 sind diese in der Kontaktzone, aber auf der Rückseite der Karte angebracht, durch dünne Golddrähte mit den durchkontaktierten Anschlüssen verbunden und zum Schutz mit einem undurchsichtigen Laminat versehen.

Drei weitere Normen befassen sich mit kontaktlosen Chipkarten:

ISO/IEC 10536: Close coupling cards (kein Abstand zwischen Karte und Terminal)
ISO/IEC 14443: Proximity Integrated Circuit(s) Cards (Reichweite ca. 10 cm)
ISO/IEC 15693 Vicinity Integrated Circuit(s) Cards (Reichweite bis 1 m)

Auch Combi-Cards lassen sich realisieren, bei denen die Vorteile der kontaktlosen Variante ausgenutzt werden können, aus Gründen der Abwärtskompatibilität die Anschlüsse des Chip auch auf herkömmliche Kontakte geführt sind. Noch besser, aber noch teurer sind Ausführungen mit zwei getrennten Chips für kontaktbehaftete und kontaktlose Funktion.

7.4   Funktion

Ähnlich wie Magnetkarten werden Chipkarten zur Auswertung oder Änderung der gespeicherten Information in spezielle Geräte eingeführt (bei kontaktlosem Betrieb in die Nähe gebracht). Diese Geräte werden als (Karten-)Terminal, Schreib-/Leseeinrichtung oder als Kartenzugangsgerät bezeichnet. Sie dienen zur Aufnahme und Kontaktierung der Karte und besitzen mehr oder weniger Eigenintelligenz. Über eine (meist serielle) Schnittstelle sind sie an einen Host-Computer angeschlossen. Bei der Kommunikation fungiert das Terminal als Master, die Chipkarte als Slave.
Ein typischer Betriebsablauf gliedert sich in vier aufeinanderfolgende Abschnitte (Abb. 7-6):

1. Kontaktierung: Anschluss und Aktivierung der Kontakte durch das Kartenterminal
2. Rücksetzen: Initialisierung der Karte durch einen Anfangsdialog
3. Kommunikation: Informationsaustausch zwischen Karte und Terminal
4. Entnahme: Deaktivierung der Kontakte durch das Kartenterminal

Nach ihrer Funktion lassen sich Chipkarten zunächst in zwei Gruppen einteilen:
  • Speicherkarten ("Memory Cards") verwenden synchrone, bit-orientierte Protokolle, d.h. pro Taktimpuls, den das Terminal anlegt, wird genau 1 bit übertragen. Der Geschwindigkeitsbereich beträgt dabei üblicherweise 10 ... 100 kHz (= 10 ... 100 kbit/s), bei Telefonkarten beispielsweise 20 kHz. Jeder Kartentyp ist auf genau ein synchrones Protokoll festgelegt.

  • Prozessorkarten ("Smart Cards") verwenden asynchrone, Byte- oder blockorientierte Protokolle. Dabei legt das Terminal einen Takt mit einer Frequenz von einigen MHz auf die Taktleitung (z.B. 3.5712 MHz oder 4.9152 MHz). Ein Parameter "Teiler" legt fest, wieviele Takte zur Übertragung von 1 bit benötigt werden (z.B. 372 oder 512). Daraus errechnen sich Baudrate (im Beispiel 9600 bit/s) und "Elementary Time Unit (etu)", die Zeit zur Übertragung eines Bits (im Beispiel 104 µs).

    Die Übertragung aller Daten erfolgt Byte-weise und benutzt folgendes Datenformat:
    1 Startbit, 8 Datenbit, 1 Paritätsbit (gerade Parität), 2 Stopbit.
    Die Datenleitung ist im Ruhezustand hochohmig und durch einen Pull-Up-Widerstand auf HIGH-Pegel gelegt. Zur Übertragung von 0- und 1-Bits kann sie von beiden Teilnehmern auf Aktiv-LOW gezogen werden. Dabei wird in einem Parameter des Anfangsdialogs unterschieden zwischen

    "Direct Convention": 0 = LOW 1 = HIGH LSB first
    "Inverse Convention": 0 = HIGH 1 = LOW MSB first

    Es gibt Terminals, die viele (oder fast alle) Protokolle und alle Befehle beherrschen, Karten dagegen sind eingeschränkt:
    Speicherkarten sind auf genau ein synchrones Protokoll festgelegt. Prozessorkarten können auf mehrere asynchrone Protokolle ausgelegt sein, um mehrere Anwendungen aufnehmen zu können. Auch sie beherrschen in der Regel nur einen eingeschränkten Befehlssatz.


7.4.1 Kontaktierung

Die Chipkarte wird von Hand in das Kartenterminal geschoben. Die Auswertung erfolgt jedoch nicht wie bei der Magnetkarte während der Bewegung, sondern in der Endposition. Probleme durch ungleichmäßiges Schieben (wie beim Magnetkarten-Durchzugsleser) können deshalb nicht auftreten. Damit entfällt auch das einzige Argument für einen motorischen Einzug, der deswegen höchstens bei Hybridlesern anzutreffen ist, die Magnet- und Chipkarten in einer Einheit auswerten können.
Modernere Kartenterminals haben zur Schonung der Kontakte meist eine Vorrichtung, die erkennt, dass die Karte die Endposition erreicht hat und erst dann die Kontakte des Terminals auf die Kontaktflächen der Karte absenkt. Anschließend führt das Terminal die Anschaltsequenz durch und aktiviert die Anschlüsse in festgelegter Reihenfolge:

GND = LOW
RESET = LOW
VCC = HIGH (3 V / 5 V)
I/O in Empfangsmodus
CLOCK anlegen
RESET = HIGH

7.4.2 Rücksetzen

Es gibt drei verschiedene Rücksetztypen:

IR "Internal Reset"
AL "Active Low Reset"
SH "Synchronous Active High Reset"

Jeder Kartentyp spricht auf genau eine Rücksetzmethode an. Wie die Namensgebung ahnen lässt, verwenden Karten mit synchronem Protokoll die Rücksetzmethode SH, Karten mit asynchronen Protokollen die Typen IR oder AL. Einfache Terminals sind für genau eine Rücksetzmethode ausgelegt. Karten , die darauf nicht oder falsch reagieren, werden zurückgewiesen, und der Dialog wird abgebrochen.
Die Prozeduren der einzelnen Methoden sind jedoch so ausgelegt, dass intelligente Terminals nacheinander auf verschiedene Kartentypen abfragen können, ohne dass es zu Fehlerkennungen kommt. Die Norm lässt dabei mehrere Reihenfolgen zu:

IR -- AL IR -- AL -- SH SH -- IR -- AL

7.4.2.1 Internal Reset (IR)

RESET bleibt LOW, während der Takt angelegt wird. Die ersten Taktimpulse setzen die Karte zurück, die nach 400 ... 40000 Taktimpulsen mit ihrer ATR-Sequenz ("Answer To Reset") antwortet.

Bild gifs/AH.gif


7.4.2.2 Active Low Reset (AL)

Der Takt wird angelegt, RESET bleibt LOW für mindestens 40000 Taktimpulse und wird dann auf HIGH gesetzt. Die Karte benötigt die RESET=LOW Phase zum Rücksetzen. Erst mit RESET=HIGH beginnt sie zu arbeiten und antwortet nach weiteren 400 ... 40000 Taktimpulsen mit ihrer ATR-Sequenz.

Bild gifs/AL.gif


7.4.2.3 Synchronous Active High Reset (SH)

Die Karte wird rückgesetzt durch einen kurzen positiven RESET-Impuls, in den ein positiver CLOCK-Impuls eingebettet ist. Unmittelbar darauf reagiert die Karte bereits auf weitere Taktimpulse und gibt ihren Inhalt aus, der bei normgerechtem Protokoll mit der ATR-Sequenz beginnt.

Bild gifs/SH.gif


7.4.3 Answer To Reset (ATR)

Auf Reset antwortet die Chipkarte mit einer Sequenz, in der wichtige Übertragungsparameter enthalten sind. Struktur und Inhalt sind unterschiedlich für synchrone und asynchrone Protokolle:

7.4.3.1 Answer To Reset bei synchronem Protokoll

Verhält sich die Karte normgerecht (was nicht bei allen Speicherkarten der Fall ist), sendet sie als Antwort genau 4 Bytes, die als H1, H2, H3 und H4 bezeichnet werden (s. Abb. 7-7). Das Terminal muss dafür genau 32 Taktimpulse anlegen. Davon enthalten die ersten beiden Bytes die eigentlich wichtigen Informationen, nämlich den Typ des Protokolls (2-Draht, 3-Draht, I2C) und die Länge der auf der Karte gespeicherten Daten. Weitere Informationen über den Kartenchip können in einem "Inhaltsverzeichnis" enthalten sein. H4 des ATR gibt an, ob dieses existiert und wo es zu finden ist.

7.4.3.2 Answer To Reset bei asynchronem Protokoll

Zum Vereinbaren der Übertragungsparameter dienen bei asynchronem Protokoll die verbindliche ATR- und die optionale PTS-Sequenz ("Protocol Type Selection").
Die ATR-Sequenz selbst arbeitet mit Default-Parametern, die in der Norm festgelegt sind:

Teilerverhältnis Clock Rate Conversion Factor = 372
Polarität und Reihenfolge Convention implizit im ersten Byte
Maximaler Abstand zwischen aufeinanderfolgenden Bytes Initial Waiting Time 9600 etu

Die ATR-Sequenz darf maximal 33 Byte lang sein, insbesondere bei zeitkritischen Anwendungen ist sie jedoch sehr viel kürzer. Frühestens 400 (= 81.38 ... 112 µs) und spätestens 40000 Taktzyklen (= 8.14 ... 11.2 ms) nach dem Reset muss die Karte ihren ATR beginnen. Andernfalls wiederholt das Terminal den Reset-Vorgang (bis zu dreimal). Erfolgt auch dann keine Reaktion, wird die Karte als fehlerhaft zurückgewiesen. Struktur und Inhalt des ATR sind in ISO/IEC 7816-3 definiert. (Einen Überblick zeigt Abb. 7-8). "Initial Character (TS)" und "Format Character (T0)" müssen vorhanden sein und enthalten lebenswichtige Parameter. "Interface Characters (TA1 ... TD4)", "Historical Characters (T1 ... TK)" und Check Character (TCK)" sind optional.
Ist das Terminal mit den von der Karte gewünschten Parametern nicht einverstanden, kann es einen PTS-Dialog anschließen, in dem die strittigen Parameter ausgehandelt werden. Enthält der ATR mehr als einen Protokolltyp, ist PTS zwingend und dient zur Auswahl des zu verwendenden Protokolls.
TS dient zur Bitsynchronisation und zur Festlegung der Pegelzuordnung:

Für Direct Convention hat es den Wert Start b0 b1 b2 b3 b4 b5 b6 b7 P=E Stop
3B hex Start 1 1 0 1 1 1 0 0 1 Stop
Für Inverse Convention hat es den Wert Start b7 b6 b5 b4 b3 b2 b1 b0 P=E Stop
3F hex Start 0 0 1 1 1 1 1 1 0 Stop

Für mehrere Anwendungen auf der Karte kann der ATR mehrere Protokolltypen enthalten. Die Interface Characters sind in maximal 4 Blöcken zu je 4 Byte angeordnet:

TA1 TB1 TC1 TD1
TA2 TB2 TC2 TD2
TA3 TB3 TC3 TD3
TA4 TB4 TC4 TD4


TDi enthält jeweils den Protokolltyp und ein Flag, ob weitere Blöcke folgen. Werden für ein Protokoll mehr als 3 Byte Parameter benötigt, enthalten TDi und TDi+1 den gleichen Protokolltyp. Ist das Protokoll T=0 beteiligt, ist es in TD1 definiert. Ist T=0 das einzige vorhandene Protokoll, entfällt TCK.

7.4.4 Kommunikation

Sowohl bei der synchronen als auch bei der asynchronen Übertragung gibt es jeweils mehrere Protokolle. Die gebräuchlichsten sollen im folgenden näher erklärt werden:
  • Synchrone Protokolle:
    • Drei-Draht-Protokoll
    • Zwei-Draht-Protokoll
    • I2C-Bus-Protokoll



  • Asynchrone Protokolle
    • Byte-orientiertes Protokoll T=0
    • Blockorientiertes Protokoll T=1
    • Protokoll T=14 (ungenormt, nur in Deutschland verwendet; hier nicht beschrieben)



7.4.4.1 Drei-Draht-Protokoll

Zur Datenübertragung werden 3 Leitungen verwendet (Abb. 7-9 oben links):

Steuerleitung RST
Taktleitung CLK
Datenleitung I/O

Zum Rücksetzen wird während RST=HIGH vom Terminal ein CLK-Impuls ausgegeben. Dies setzt den Adresszeiger der Karte auf 0. Jetzt kann gelesen werden, indem das Terminal bei fallender CLK-Flanke die Daten übernimmt und die Karte bei steigender CLK-Flanke ihren Adresszeiger erhöht. Durch wiederholtes Lesen (mit oder ohne Datenauswertung) kann der Adresszeiger auf eine bestimmte Stelle gesetzt werden, an der geschrieben werden soll. Dazu gibt das Terminal auf der Steuerleitung (während CLK=LOW) einen positiven Impuls aus und setzt gleichzeitig die Datenleitung auf den gewünschten Wert. Die Dauer des nachfolgenden CLK-Impulses bestimmt die Schreibdauer.

7.4.4.2 I2C-Bus-Protokoll

Der (auch auf anderen Gebieten weitverbreitete) I2C-Bus verwendet zur Datenübertragung 2 Leitungen (Abb. 7-9 unten):

Serial Clock SCL hier auf CLK
Serial Data SDA hier auf I/O

Ein Master, hier das Terminal, übernimmt den Bus, indem er eine Startbedingung (fallende Flanke an SDA bei SCL=HIGH) erzeugt. Durch eine Stop-Bedingung (steigende Flanke an SDA bei SCL=HIGH) gibt er ihn wieder frei.
Es gibt fünf verschiedene Vorgänge, die in jeweils einem Byte übertragen werden:
  • Baustein Auswahl Schreiben (Device Select Write) selektiert den Baustein und setzt ihn auf Datenannahme (Write). Darauf folgt...

  • Adressauswahl (Address Select) schreibt die lokale Adresse in einen Puffer.

  • Daten Schreiben (Data Write) schreibt Daten in die vorher angewählte Adresse und erhöht den Adresszähler.

  • Baustein Auswahl Lesen selektiert den Baustein und setzt ihn auf Datenausgabe (Read). Zum nachfolgenden...

  • Daten Lesen (Data Read) wird ebenfalls die vorher eingestellte lokale Adresse verwendet, die ebenso danach erhöht wird.

Device Select Write und Device Select Read unterscheiden sich nur im LSB. Jedes übertragene Byte wird mit ACK quittiert, indem der Empfänger die Datenleitung einen Takt lang auf LOW legt. Das MSB wird zuerst übertragen.
In Abb. 7-9 sind Schreib- und Lesevorgang in einem gemeinsamen Diagramm dargestellt. Deswegen verzweigen sich die "Lebenslinien" von Terminal und Karte nach dem 2. Byte.

7.4.4.3 Zwei-Draht-Protokoll

Der Zweidraht-Bus verwendet die gleiche Methode wie I2C zum Starten und Stoppen einer Übertragungssequenz vom Terminal zur Karte. Diese Sequenz besteht aus drei direkt aufeinanderfolgenden Bytes: CONTROL, ADDRESS und DATA. Die Daten sind gültig bei der steigenden Flanke von CLK. Sie werden mit dem LSB zuerst übertragen und nicht quittiert (Abb. 7-9 oben rechts).
Bei einer Lesesequenz hat das Byte DATA keine Bedeutung, bei einer Schreibsequenz enthält es die zu speichernden Daten. Sie werden mit dem LSB zuerst übertragen und nicht quittiert.
Jede Sequenz wird von der Karte beantwortet. Beim Lesen werden Lesedaten mit der fallenden Taktflanke auf die I/O-Leitung geschoben, und zwar so lange, bis ein positiver RST-Impuls den Lesevorgang beendet. Beim Schreiben antwortet die Karte mit einem BUSY-Signal auf der I/O-Leitung, während die Daten intern geschrieben werden. Mit der steigenden Flanke von BUSY ist der Schreibvorgang abgeschlossen.

7.4.4.4 Asynchrones Protokoll T=0

Wie schon erwähnt läuft auch die eigentliche Kommunikation asynchron und im Halbduplexbetrieb ab. Abb. 7-10 zeigt die Struktur und Abb. 7-11 den Ablauf einer Befehlssequenz. Die Initiative geht immer vom Terminal aus. Es schickt ein Kommando, das von der Karte beantwortet wird.
Jedes Kommando beginnt mit einem 5-Byte-Header, an den sich Daten anschließen können.

CLA gibt die Klasse an, in der der Befehlstyp definiert ist (z.B. ISO 7816, GSM11, EMV-2)
INS Typ des Befehls. In diesem "Instruction Code" ist implizit enthalten, ob nachfolgend Daten gesendet oder erwartet werden.
(Da früher die Programmierspannung ebenfalls über dieses Byte gesteuert wurde, sind nur gerade Codes erlaubt. Die Codebereiche 6x und 9x sind für andere Zwecke reserviert.)
Eine Liste der wichtigsten Befehle zeigt Abb. 7-13.
P1, P2 Enthalten eine nähere Spezifikation des Befehls. Oft werden sie benutzt für die Angabe einer Adresse auf der Karte.
P3 Länge der Daten (maximal 255); Code 00 bedeutet 0 bei Schreibbefehlen, 256 bei Lesebefehlen.

Einfache Übertragungsfehler werden am unpassenden Paritätsbit erkannt. Der Empfänger meldet sie mit einem LOW-Signal in einem Teil der Wartezeit. Das Byte wird dann sofort wiederholt.
Der Header wird von der Karte bei Schreibbefehlen mit einem "Procedure Byte" beantwortet:

ACK = INS Die Karte gibt bekannt, dass sie die angekündigten Schreibdaten am Stück akzeptiert
ACK = \INS Die Karte arbeitet langsamer und möchte die Daten deswegen Byte für Byte empfangen. Jedes Byte wird dann einzeln akzeptiert, bis mit ACK=INS der Rest angefordert wird.
NULL = 60 hex Mit diesem Code bittet die Karte um Aufschub für eine weitere "Working Waiting Time", bevor sie die Bestätigung schickt.

Die Karte signalisiert mit 2 Bytes das Ende der Eingabedaten (bei einem Lesebefehl also gleich nach dem Header)

SW1, SW2 90 00 hex 90: Übertragung erfolgreich; 00: keine weiteren Daten
61 xx hex Lesedaten der Länge xx sind abholbereit
6y xx hex y: Fehlertyp (z.B. Warnung oder Fehler)
9x xx hex xx: Fehlercode

Hat es sich um einen Schreibbefehl gehandelt, ist der Befehlszyklus damit zu Ende. Bei einem Lesekommando enthält SW2 die Anzahl der verfügbaren Lesedaten der Karte. Das Terminal schickt daraufhin einen GET RESPONSE Befehl, der in P3 die Anzahl der gewünschten Lesedaten enthält. Die Karte antwortet mit den verfügbaren Daten und einem abschließenden SW1,SW2.

7.4.4.5 Asynchrones Protokoll T=1

Mit diesem jüngeren und "moderneren" blockorientierten Protokoll wird eine strikte Schichtentrennung eingeführt. Abb. 7-10 zeigt die Struktur und Abb. 7-12 den Ablauf einer Befehlssequenz. Kommandos und Daten der Anwendungsschicht (APDU = application protocol data unit) werden zur Übertragung in Blöcke (TPDU = transport protocol data unit) verpackt. Die Leitungsschicht weiß daher nicht, was sie überträgt. Erst damit wird eine Verschlüsselung der Daten möglich bzw. sinnvoll. Das gleiche Protokoll wird übrigens häufig auch zwischen Host-Rechner und Kartenterminal verwendet.
Das Format der (verpackten) Kommandos (APDUs) ist im wesentlichen das gleiche wie bei T=0, lediglich die Längenangaben für alle Daten sind konsequent mit im Befehl enthalten. Der Header besteht in diesem Fall aus 4 Byte (CLA, INS, P1, P2), gefolgt vom optionalen Body, der sich zusammensetzen kann aus Lc (Länge der Schreibdaten; "length command"), Schreibdaten und Le (Länge der erwarteten Lesedaten; "length expected"). Die Antwort der Karte besteht aus den Lesedaten (falls gewünscht und vorhanden) und aus dem obligatorischen Trailer SW1, SW2.
Das Protokoll T=1 wird in voller Schönheit spezifiziert in ISO/IEC 7816-3 und etwas abgemagert im EMV-2-Standard.
Auch hier wird abwechselnd gesendet, aber nicht Bytes, sondern Blöcke; das Terminal beginnt. Die Übertragungsblöcke dienen zwei verschiedenen Zwecken: zur Übertragung von anwendungsspezifischen Daten und für Managementaufgaben (Steuerdaten und Fehlerbehandlung). Übertragungsblöcke (TPDUs) bestehen aus 2 oder 3 Feldern und werden in 3 verschiedene Typen eingeteilt:

TPDU: Feld1 TPDU: Feld 2 (APDU) TPDU: Feld 3
Blocktyp= I: Information Prolog: 3 Byte Information: 0..254 Byte Epilog 1..2 Byte
Blocktyp= R: Empfangsbestätigung Prolog: 3 Byte --- Epilog 1..2 Byte
Blocktyp= S: System Prolog: 3 Byte (Information) Epilog 1..2 Byte

Das Prologfeld besteht aus drei Teilen (zu je 1 Byte):

NAD Knotenadresse (Node Address) Zielknotenadresse (DAD destination address)
Quellknotenadresse (SAD source address)
PCB Protocol Control Byte Blockkennung (I, R, S), Management
LEN Length Länge des Informationsfeldes (0...254)

Im Informationsfeld werden im Fall eines S-Blocks Daten für das Übertragungsprotokoll, im Falle eines I-Blocks transparente Anwenderdaten befördert. Die Länge ist einstellbar, der Defaultwert ist 32 Byte.
Das Epilogfeld dient der Fehlererkennung. Dazu wird entweder ein CRC-Verfahren (aufwändig, aber sicher) oder ein LRC (Longitudinal redundancy check) verwendet. Meistens kommt LRC zur Anwendung, bei dem nur eine XOR-Summe über alle Bits des Blocks gebildet wird. Dieses Verfahren ist zwar nicht so effektiv, aber wesentlich schneller.
Jeder Informationsblock enthält 1 Bit, das als Sendefolgenzähler verwendet wird. Der Empfänger kann damit ermitteln, ob es sich um einen neuen oder einen wiederholten Block handelt.
Es sind drei verschiedene Wartezeiten definiert, bei deren Überschreitung bzw. Unterschreitung durch festgelegte Aktionen eine Blockierung des Protokolls verhindert wird. Zur Optimierung der Kommunikation werden sie in ATR und PTS ausgehandelt:
  • Zeichenwartezeit (CWT character waiting time) ist definiert als maximaler Abstand der Startflanken aufeinanderfolgender Zeichen. Sie gilt für beide Übertragungsrichtungen.

  • Blockwartezeit (BWT block waiting time) ist der maximale Abstand zwischen Sendeblock (vom Terminal) und Antwortblock (von der Karte), genauer zwischen der Startflanke des letzten Sendezeichens und der Startflanke des ersten Antwortzeichens. Durch einen speziellen S-Block kann die Karte eine Wartezeitverlängerung anfordern.

  • Blockschutzzeit (BGT block guard time) ist der minimale Abstand zwischen letztem Zeichen einer Übertragungsrichtung und dem ersten Zeichen in Gegenrichtung. Sie muss von beiden Partnern eingehalten werden und gibt dem anderen Zeit, von Senden auf Empfangen umzuschalten.

7.4.5 Deaktivierung und Entnahme

Wird eine Karte während der Kommunikation aus dem Terminal entfernt, etwa durch einfaches Herausziehen, kann es je nach Anwendung Probleme geben, vom Datenverlust bis hin zur Beschädigung der Karte. Zur Vermeidung dieser Probleme sind verschiedene Entnahmetechniken entwickelt worden. Bei allen ist sichergestellt, dass die Anschlüsse in festgelegter Reihenfolge deaktiviert werden, bevor die Karte entnommen werden kann:
  • Push-Only: Der Benutzer hält die Karte manuell kurzzeitig in der Leseposition und entnimmt sie durch Herausziehen, sobald ihm das Ende des Kommunikationsvorgangs signalisiert wird (Beispiel Türöffner)

  • Push-Pull: Nach dem Stecken hält die Leseeinrichtung die Karte in Position und gibt sie nach der Kommunikation frei. Der Benutzer zieht sie dann heraus.

  • Push-Push (Überhubauslösung): Durch nochmaliges Drücken auf die Kartenkante wird die Karte durch Federkraft in die Entnahmeposition gebracht. Während des Überhubs werden die Kontakte gelöst.

  • Push-Press: Der Bediener drückt auf den Führungsrahmen und löst so das Auswerfen der Karte aus. Der weitere Vorgang läuft ab wie bei Push-Push.

  • Push-Lift: Im Lesezustand wird die Karte mechanisch gegen Entnahme gesperrt. Durch Druck auf die Kartenunterseite wird die Entnahmesperre gelöst; die Karte bewegt sich in die Entnahmeposition.

  • Push-Matic: Die Karte wird bündig in einen Frontplattenschlitz gesteckt und ist dadurch für die Dauer des Lesevorgangs dem Zugriff entzogen. Nach dem Lesevorgang wird die Verriegelung elektromagnetisch gelöst und die Karte "automatisch" ausgeworfen.

7.5   Sicherheit

Zunächst einmal erfordert ein störungsfreier Betrieb die Absicherung des Verfahrens gegen Funktionsstörungen und versehentlich verfälschte Daten. Dafür werden robuste Technik und bekannte fehlerkorrigierende Protokolle eingesetzt.
Das eigentliche Thema bei Chipkarten ist aber die Absicherung gegen bewusste missbräuchliche Benutzung. Chipkarten werden ja im Zahlungsverkehr und für Berechtigungsnachweise aller Art eingesetzt. Dementsprechend groß ist die Versuchung, sich durch Diebstahl oder Manipulation illegale Vorteile zu verschaffen.
Je nach Sicherheitsrelevanz der Anwendung kann deshalb ein hoher Aufwand nötig sein, um das System und den einzelnen Betreiber gegen kriminelle Angriffe zu schützen. Viele Verschlüsselungsverfahren wurden erfunden und werden ständig weiterentwickelt, auf die ich nicht näher eingehen will, und die alle dazu dienen, um folgende Tatbestände zu überprüfen:

Echtheit des Inhabers: Identifizierung
Echtheit der Karte: einseitige / gegenseitige Authentisierung
Echtheit des Terminals: einseitige /gegenseitige Authentisierung
Echtheit des Vorgangs: Signatur

7.5.1 Identifizierung

Wird die Identität eines Menschen durch einen anderen Menschen überprüft, gibt es mehrere Möglichkeiten:
  • Der Überprüfte ist dem Prüfer bekannt, der ihn durch Vergleich von Merkmalen erkennt, die er in seinem Gedächtnis gespeichert hat: Aussehen, Bewegung, Stimme usw.

  • Der Überprüfte kennt ein gemeinsames Geheimnis (Losungswort, gemeinsame Bekannte, gemeinsame Erlebnisse)

  • Der Überprüfte besitzt einen (möglichst fälschungssicheren) Ausweis, ausgestellt durch eine Institution, der auch der Überprüfer vertraut.

Die gleichen Möglichkeiten gibt es im Prinzip bei der Überprüfung durch eine Maschine:
Biometrische Verfahren, bei denen ein oder mehrere unveränderliche Merkmale verglichen werden, gelten als sehr sicher, sind aber so aufwändig, dass sie sich bisher noch nicht im großen Stil durchsetzen konnten. Als Merkmale können dienen:
  • Fingerabdruck
  • Gesicht
  • Iris
  • Hand-Geometrie
  • Stimme
  • Unterschrift (dynamischer Ablauf)
  • Tastatureingabe (Schreibrhythmus)
Bei herkömmlichen Ausweisen gibt es mehrere Probleme: Fälschung, Manipulation und unrechtmäßiger Besitz können von der Maschine nur sehr schwer erkannt werden.
Als praktikabler Weg bleibt das gemeinsame Geheimnis. Da es aber in Form der Terminals zu viele potentielle Überprüfer gibt, um ihnen allen dieses Geheimnis vorher anzuvertrauen, hat man es mit in die Chipkarte verpackt, aber so, dass es weder ein Mensch noch eine Maschine für Missbrauchszwecke auslesen kann. Wir sprechen von der PIN ("Personal Identification Number"), einem Passwort, das aus Aufwandsgründen nur aus Ziffern besteht, und zwar aus höchstens fünf, um das Gedächtnis des Durchschnittsbenutzers nicht überzustrapazieren. (Auch Gedächtnisakrobaten können Schwierigkeiten bekommen, wenn sie ein halbes Dutzend Karten mit unterschiedlichen PINs mit sich herumtragen.) Die Eingabe der PIN dient übrigens nicht nur zur Identifizierung, sondern in ihrer Funktion als Ersatzunterschrift auch als Willenserklärung des Benutzers.

7.5.2 Authentisierung

Zusätzlich zur Identität des Benutzers müssen auch die Echtheit (Authentizität) der Karte und des Terminals geprüft werden. Diesen Vorgang nennt man Authentisierung oder Authentifizierung. Zur Einteilung der Authentisierungsverfahren werden folgende Parameter verwendet:

Algorithmus: symmetrisch / asymmetrisch
Beteiligte : einseitig / gegenseitig
Ablauf : statisch / dynamisch
Verfahren: Challenge - Response

Ein Partner stellt dem anderen eine zufällig erzeugte Frage ("Challenge"), dieser berechnet (verschlüsselt) mit einem beiden Partnern bekannten Algorithmus eine Antwort und sendet sie zurück ("Response"). Partner 1 entschlüsselt diese Nachricht mit dem Umkehr-Algorithmus und vergleicht das Ergebnis mit der gesendeten Anfrage. (Alternativ kann er auch die ursprüngliche Nachricht verschlüsseln und die verschlüsselten Ergebnisse vergleichen.) Wird der Vorgang jetzt beendet, handelt es sich um eine einseitige Authentisierung, wird er in Gegenrichtung wiederholt, um eine gegenseitige.
Für hohe Sicherheitsanforderungen ist eine gegenseitige, dynamische Authentisierung mit asymmetrischer Verschlüsselung wünschenswert, aus Aufwandsgründen werden jedoch oft die einfacheren Methoden verwendet.

7.5.3 Signatur

Hat der Benutzer sein Einverständnis erklärt, zum Beispiel mit der Art des Vorgangs und dem Inhalt der beteiligten Daten, dürfen diese Daten nicht mehr unbemerkt verändert werden. Man erreicht dieses durch Zufügen einer digitalen Signatur. Sie wird gebildet mit Methoden, wie sie bei Fehlererkennung oder -korrektur verwendet werden. Sie wird verschlüsselt mit einem Schlüssel, der auf der Chipkarte vorhanden ist, und den sonst nur die Institution kennt, die die Authentizität der Nachricht überprüfen soll. In den meisten Fällen handelt es sich hier um den Ersteller der Karte.
Die Nachricht selbst wird für die Übertragung nicht verschlüsselt. Die angefügte Signatur wird bezeichnet mit SIG oder MAC ("Message Authentication Code").

7.6   Standardisierung

Bei technischen Innovationen, die bestehende Technologien ersetzen oder ganz neue Märkte eröffnen, spielen sich immer wieder ähnliche Prozesse ab. Diese Gesetzmäßigkeiten sind auch bei der Chipkartentechnik sehr ausgeprägt, weshalb ich sie im folgenden etwas allgemeiner beschreiben möchte.
In der ersten Phase setzen die Vorreiter ihre Forschungsergebnisse in meist inkompatible technische Lösungen um. Im zunächst normfreien Raum versucht man sich mit seinen firmenspezifischen Lösungen von den Mitbewerbern abzugrenzen, in der Hoffnung, dass sich die eigenen Produkte als überlegen erweisen und so der Marktanteil möglichst groß wird. In dieser ersten Auslesephase werden schon einmal völlig ungeeignete Ansätze ausgefiltert, nur einige erfolgversprechende überleben.
Erst jetzt ist der Zeitpunkt gekommen, wo die Marktteilnehmer zur Einsicht kommen, dass ein weiteres Marktwachstum allen zugute kommt, was sich aber nur durch eine bessere Kompatibilität der Geräte oder Verfahren erreichen lässt. Notwendigkeit und Vorteile einer Standardisierung werden erkannt. Diese bietet zwar auch Neueinsteigern bessere Chancen, die "Platzhirsche" sitzen aber jetzt schon so fest im Sattel, dass sie diese neue Konkurrenz nicht fürchten.
Allerdings stellt sich jetzt die Frage, wann und mit welchen Mitteln man die nötigen Normen schaffen will. Normt man zu früh, besteht die Gefahr, dass die technische Weiterentwicklung durch ein zu enges Normenkorsett behindert wird. Das kann dann dazu führen, dass die Normen nicht eingehalten werden, oder dass der Markt durch ständig neue Versionen verunsichert wird. Normt man zu spät, kann es sein, dass sich mehrere inkompatible Systeme auf dem Markt so etabliert haben, dass eine Anpassung an die Norm für die Produzenten zu teuer wäre. Die Folge ist, dass die Norm entweder ignoriert oder so schwammig formuliert wird, dass sie niemandem mehr nützt.
Die zweite Frage ist, in welchem Rahmen man die Normungsarbeit betreiben will. Die offiziellen Normungsgremien (ISO, DIN, CCITT usw.) arbeiten zwar sehr gründlich, aber für die Dynamik der Elektronik und Informatik viel zu langsam und teilweise am Bedarf vorbei (Beispiel ISO/OSI-Schichtenmodell). Auch ihre längst überholte Finanzierung (durch den Verkauf gedruckter Normblätter!) trägt durch die damit verbundene Bevorzugung von Großfirmen nicht gerade zur Verbreitung und zum Erfolg einer Norm bei.
Deshalb entstehen in jüngerer Zeit immer häufiger Konsortien von Marktteilnehmern, die durch die Schaffung von "Industriestandards" schneller auf die Erfordernisse des Markts reagieren können. Die Feinarbeit überlassen sie dann meist wieder den offiziellen Gremien.
Auf dem Gebiet der Chipkarten ist die offizielle Normung mit ISO/IEC 7816 so weit fortgeschritten, dass die Zusammenarbeit zwischen Karten und Kartenlesern reibungslos läuft, was mechanische und elektrische Eigenschaften sowie Kommunikationsprotokolle betrifft. Etwas anders sieht es aus beim Anschluss von Lesegeräten an Hostrechner und bei der gemeinsamen Nutzung von Chipkarten für verschiedene Anwendungen. Gerade hier kommt man aber ohne Normung kaum weiter. So spricht und schreibt man schon seit vielen Jahren über das ungeheure Marktpotenzial von multifunktionalen Chipkarten und Anwendungen, die man auf jedem PC betreiben kann. Die Standardisierung kommt aber nur mühsam und schleppend voran, erkennbar beispielsweise an dem Aufstöhnen der Krankenkassen, wenn ihnen die Politik das Ziel vorgibt, die multifunktionale Gesundheitskarte in zwei Jahren (endlich) einzuführen.
Im folgenden möchte ich beispielhaft zwei Standardisierungsinitiativen vorstellen, deren Erfolgsaussichten sehr unterschiedlich beurteilt werden, obwohl hinter beiden durchaus renommierte Firmen und Institutionen stehen. Beide haben die Zielrichtung, dass Anwendungen auf Hostrechnern unabhängig von Hersteller und Typ des Kartenterminals erstellt und gepflegt werden können, und dass mehrere davon eine Chipkarte gemeinsam verwenden können, ohne sich gegenseitig zu stören. Der Weg für zukünftige Entwicklungen soll dabei möglichst offen gehalten werden.

7.6.1 Multifunktionales Kartenterminal (MKT)

Der vollständige Titel dieser Spezifikation (die erste Version wurde etwa 1994 veröffentlicht) zeigt gleichzeitig ihre Stoßrichtung: "Multifunktionale KartenTerminals MKT für das Gesundheitswesen und andere Anwendungsgebiete". Diese deutsche Initiative, getragen durch vier Partner (Deutsche Telekom, GMD, TÜV, TeleTrusT), versucht eine Standardisierung zunächst im Gesundheitsbereich, mit dem Angebot an andere Interessenten, sich an diesen Kristallisationspunkt anzuschließen. Es ist auch zu verschmerzen, wenn dieser Effekt nicht eintritt: Die Anwender im Gesundheitswesen (Ärzte, Apotheken, Krankenkassen, Krankenhäuser, Kurheime usw.) bilden einen ziemlich abgeschlossenen Bereich, der sich mit anderen für Chipkartenanwendungen einträglichen Gebieten wie Geldwesen, Verkehr oder Kommunikation nur wenig überschneidet; niemand will wohl derzeit Scheckkarten- und Gesundheitskartenfunktionen auf eine Karte packen. Schade wäre es allerdings, wenn sich in anderen Ländern wieder einmal inkompatible Lösungen durchsetzen würden.
Die Spezifikation beschreibt Kartenterminals (Chipkartenlesegeräte) und ihre Schnittstellen zu Host-PC und zu einer oder mehreren daran kontaktierten Speicher- oder Prozessorkarten Abb. 7-15; links) in 8 Teilen und 3 Anhängen:

Teil 1 MKT-Basiskonzept Basic concept
Teil 2 CT-ICC-Interface: MKT-Schnittstellen für kontaktorientierte Chipkarten mit synchroner und asynchroner Übertragung CT-ICC-Interface: MCT interfaces for contactoriented ICCs with asynchronous and synchronous transmission
Teil 3 CT-API 1.1: Anwendungsunabhängiges Card Terminal Application Programming Interface CT-API
Teil 4 CT-BCS: Anwendungsunabhängiger Card Terminal Basic Command Set CT-BCS
Teil 5 Chipkarten mit synchroner Übertragung; Teil 1: ATR und Datenbereiche IC Cards with synchronous transmission; Part 1: ATR and data section
Teil 6 Chipkarten mit synchroner Übertragung; Teil 2: Übertragungsprotokolle IC Cards with synchronous transmission; Part 2: Transmission protocols
Teil 7 Chipkarten mit synchroner Übertragung; Teil 3: Anwendung von Inter-Industry-Commands IC Cards with synchronous transmission; Part 3: Usage of inter-industry commands
Teil 8 Host-CT-Schnittstelle für MKTs mit V.24/V.28-Anschluss Host-CT-interface for MCTs with V.24/V.28 connection

    MKT

Das eigentliche Terminal kann als integrierte Systemkomponente (z.B. integriert in eine Tastatur) oder als eigenständiges Endgerät realisiert sein. Zum Lieferumfang des Herstellers gehört außerdem die auf sein Gerät abgestimmte Treibersoftware (HTSI; Host Terminal SW Interface).
Das Terminal enthält mindestens eine Kontaktiereinheit für ID-1-Karten, eine zweite für ID-1- oder ID-000-Karten ist optional. Optional sind auch Tastatur (12 oder 16 Tasten) und Display (mindestens 2 * 16 Zeichen). Weitere Funktionen (z.B. Sicherheitsmodule oder zusätzliche Kontaktiereinheiten) lässt die Spezifikation offen, ebenso die Art der Verbindung zum Host (seriell, USB usw.) und das dabei verwendete Protokoll.

    ICC-Interface

Ein MKT unterstützt kontaktorientierte Speicherkarten mit synchronen Protokollen (SDAP (I2C), 3WBP, 2WBP) und Prozessorkarten mit den asynchronen Protokollen T=0 und T=1. Es kapselt diese unterschiedlichen Typen gegenüber dem Anwendungssystem, d.h. das Anwendungsprogramm kann für alle identisch sein.

    CT-API

Die Anwendungsschnittstelle stellt dem Anwendungsprogramm folgende Funktionen bereit, die unabhängig sind von den Typen der Lesegeräte und der Chipkarten:

CT_init(ctn, pn) Initialisieren der Host-CT-Verbindung
CT_data(ctn, dad, sad, lenc, command, lenr, response) Datenaustausch
CT_close(ctn) Kommunikation beenden

Dabei werden folgende Parameter verwendet:

ctn card terminal number logische Nummer
pn port number physikalische Schnittstelle
dad destination address Zieladresse
sad source address Quelladresse
lenc length of command Länge des Befehls
command command data Chipkarten- oder CT-Kommando
lenr length of response / buffer size Länge der Antwort bzw. des Puffers für die Antwort
response response data Antwortdaten

    CT-BCS

Der Basic Command Set definiert einige eigene Kommandos, die als Klassenbezeichner 20 benutzen. Außerdem wird noch die Verwendung bestimmter Inter-Industry-Kommandos empfohlen, die in ISO/IEC 7816 mit dem Klassenbezeichner 00 definiert sind.

20 11 ... RESET CT Rücksetzen
20 12 ... REQUEST ICC Kartenkontaktierung anfordern
20 13 ... GET STATUS Status abfragen
20 15 ... EJECT ICC Karte auswerfen
20 16 ... INPUT Eingabe (nur wenn Tastatur vorhanden)
20 17 ... OUTPUT Ausgabe (nur wenn Display vorhanden)
20 18 ... PERFORM VERIFICATION PIN anfordern und auswerten
20 19 ... MODIFY VERIFICATION DATA PIN ändern
00 A4 ... SELECT FILE Anwendung auf der Karte adressieren
00 B0 ... READ BINARY Daten lesen
00 D6 ... UPDATE BINARY Daten schreiben (nicht beim Arzt!)
00 20 ... VERIFY PIN anfordern und auswerten
00 24 ... CHANGE VERIFICATION DATA PIN ändern

7.6.2 Personal Computer / Smart Card (PC/SC)

Die PC/SC-Initiative wurde von 10 bedeutenden internationalen Firmen gegründet, mit dem erklärten Ziel, eine Spezifikation zu entwickeln, die die Fähigkeit zur Zusammenarbeit verschiedener Komponenten ermöglicht, damit die Chipkartentechnologie in der PC-Umgebung effektiv eingesetzt werden kann. Die Mitglieder der Arbeitsgemeinschaft verpflichten sich außerdem, Hardware- und Softwarekomponenten auf der Basis dieser Spezifikation zu entwickeln. Die dabei erworbenen Erfahrungen sollen dann bei der weiteren Verbesserung der Spezifikation einfließen. Beteiligt sind unter anderem IBM (wie am Schrägstrich im Titel unschwer zu erkennen ist) und Microsoft mit dem Interesse, dass die entwickelte Software vor allem (oder nur?) auf Windows-Systemen verwendet werden kann.
Die Spezifikation besteht aus 8 Teilen:

Teil 1 Introduction and Architecture Overview Einführung und Architekturübersicht
Teil 2 Interface Requirements for Compatible IC Cards and Readers Schnittstellenanforderungen für kompatible Chipkarten und Lesegeräte
Teil 3 Requirements for PC-Connected Interface Devices Anforderungen für am PC angeschlossene Kartenterminals
Teil 4 IFD Design Considerations and Reference Design Information Überlegungen und Referenz-Information zum Geräteentwurf
Teil 5 ICC Resource Manager Definition Definition des ICC Resource Manager
Teil 6 ICC Service Provider Interface Definition Definition der Schnittstelle zum ICC Service Provider
Teil 7 Application Domain and Developer Design Considerations Anwendungsschicht und Entwicklungsüberlegungen
Teil 8 Recommendations for ICC Security and Privacy Devices Empfehlungen zur Chipkarten-Sicherheit und für Verschlüsselungskomponenten

Abb. 7-15 rechts zeigt den Systemaufbau mit den wichtigsten Komponenten.

    Chipkartenanwendung ("ICC-Aware-Application")

Es handelt sich um ein beliebiges Software-Programm auf einer höheren Abstraktionsebene, in einer PC-Betriebsumgebung, das die Funktionalität einer oder mehrerer Chipkarten benutzen möchte. Zweck und Aufbau dieses Programms ist nicht Inhalt der Spezifikation. Es wird angenommen, dass diese Anwendung als Prozess in einer Mehrbenutzer-, Mehrprozess- und Mehrgeräteumgebung läuft. Die übrigen Architekturkomponenten verbinden diese Anwendung mit der Chipkarte, die im allgemeinen von einem Benutzer, aber von mehreren Anwendungen verwendet werden kann.

    Service Provider

Diese Software-Komponente auf niedrigerem Level kann das Anwendungsprogramm von Aufgaben wie Dateizugriff, Authentifizierung und Verschlüsselung entlasten. Sie kann als eigenständige Architekturkomponente existieren, ihre Aufgaben können aber auch vom ICC Resource Manager übernommen werden. Der Service Provider kann als ein Block realisiert sein, oft wird jedoch ein Cryptographic Service Provider abgespalten, der nur die Sicherheitsfunktionen liefert. Auch eine weitere Aufspaltung, z.B. in einer Client-Server-Architektur, ist denkbar.

    ICC Resource Manager

Auch bei dieser Komponente, die in der Regel vom Lieferanten des Betriebssystems bereitgestellt wird, handelt es sich um systemnahe Software. Sie hat drei Hauptaufgaben:
  • Identifizierung und Überwachung von Betriebsmitteln (Kartenleser und Chipkarten)

  • Zuordnung der Betriebsmittel zu den verschiedenen Anwendungen, nacheinander oder im Multiplex

  • Verwaltung und Überwachung von Transaktionen verschiedener Anwendungen, die aus mehreren Befehlen bestehen können und nicht unterbrochen werden dürfen.

    IFD Handler ("Interface Device Handler")

Diese Low-Level-Software-Komponente stellt den höheren Schichten ein API zur Verfügung, das die unterschiedlichen Schnittstellen zu den Chipkartenlesegeräten (IFDs) vereinheitlicht, bei "dummen" IFDs auch die verschiedenen Chipkartenprotokolle (T=0, T=1, synchron).

    Chipkartenlesegerät ("Interface Device", IFD)

Diese Hardwarekomponente besteht in ihrer "dummen" Ausführung praktisch nur aus einer Kontaktiereinheit. "Intelligente" Leser enthalten jedoch Software und können den Host-PC entlasten, indem sie einen beträchtlichen Teil der Vorverarbeitung übernehmen.
Das Lesegerät stellt die Verbindung her zwischen Chipkarte und Host-PC. Es beliefert die kontaktierte Chipkarte mit Versorgungsstrom und stellt ein Taktsignal zur Verfügung, mit dessen Hilfe Daten über einen I/O-Kanal ein- und ausgegeben werden können.
Auf der Kartenseite kann ein Lesegerät mehrere Kontaktiereinheiten mit unterschiedlichen Protokollen bedienen. Ebenso kann die Verbindung zum PC unterschiedlich realisiert sein: als Tastaturschnittstelle, PCMCIA, USB usw.

    Chipkarte ("Integrated Circuit Card"; ICC)

Die Spezifikation bezieht sich auf kontaktorientierte Chipkarten, die in ISO 7816-1, -2, -3 beschrieben sind. Auch ISO 7816-10 für synchrone Karten wird mit einbezogen. Ein besonderer Schwerpunkt der Spezifikation liegt auf den Sicherheitsfunktionen, für die Chipkarten ja prädestiniert sind.

7.7   Beispiel

Da sich derzeit die Verfahren schneller ändern als ein Laserdrucker diese Manuskriptseite ausdrucken kann, will ich hier nicht konkrete Verfahren in allen Einzelheiten beschreiben, sondern an einem fiktiven Beispiel die auftretenden Probleme und Möglichkeiten zu ihrer Lösung zeigen (s. Abb. 7-14):

Herr G. Urke hat sich im Baumarkt ein Kleingewächshaus gekauft und will nun bargeldlos mit einer Scheckkarte bezahlen.

Schritt 1: Identifizierung des Karteninhabers.
  • Herr Urke identifiziert sich als rechtmäßiger Inhaber der Karte, indem er kurzzeitig ein "Geheimnis" preisgibt, nämlich seine "Personal Identification Number" (PIN). Die hoffentlich gleiche Nummer ist auf der Karte gespeichert, der man aber nur ein "Passt" oder "Passt nicht" entlocken kann. Der kritische Vorgang ist hier die Eingabe der PIN. Man muss dafür sorgen, dass sie weder visuell noch elektronisch ausgespäht werden kann.

Schritt 2: Authentifizierung der Karte (einseitige Authentifizierung)
  • Der Baumarkt hat ein berechtigtes Interesse zu wissen, ob die Karte echt oder gefälscht ist. (Das berechtigte Interesse des Herrn Urke, ob das Terminal in irgendeiner Weise manipuliert ist, wird meistens vernachlässigt).

  • Das Kassenterminal fragt die nicht geheimen Identifizierungsdaten ID von der Karte ab. Diese verschlüsselt es mit dem Globalschlüssel K, der weder dem Kunden noch der Karte bekannt ist, und erhält den Karten-Authentisierungsschlüssel KA. Nach demselben Verfahren wurde KA auch bei der Ausgabe der Karte ermittelt und nicht auslesbar auf der Karte gespeichert.

  • Jetzt schickt das Terminal ein zufällig erzeugtes Datenwort C ("Challenge") an die Karte mit der höflichen Bitte, dieses mit ihrem Kartenschlüssel zu verschlüsseln. Die Antwort R ("Response") der Karte wird dann im Terminal mit dem vorher erzeugten KA entschlüsselt und mit C verglichen. Nur wenn C und das entschlüsselte R gleich sind, wird der Vorgang fortgesetzt.

Schritt 3: Signatur der Buchungsdaten
  • Aus den öffentlichen Daten der Karte und dem von der Kasse ermittelten Rechnungsbetrag erstellt das Terminal einen "elektronischen Scheck" mit beispielsweise folgenden Daten:
    Bank, BLZ, Kontonummer, Kontoinhaber, Datum, Betrag, Einreicher


  • Dieser wird von der Karte "unterschrieben" und vom Händler (online oder offline) bei der Bank von Herrn Urke eingereicht.

  • Dazu sendet das Terminal die Buchungsdaten D an die Karte. Diese berechnet daraus mit einem Schlüssel KS, der nur ihr und der Bank bekannt ist, eine Signatur SIG und fügt sie an D an. Jede nachträgliche Änderung an den Buchungsdaten macht diese Signatur und damit auch die Daten selbst ungültig. Der "signierte Scheck" wird elektronisch an die Bank übermittelt, dort automatisch überprüft und gebucht. Bei einer Online-Buchung erhalten der Baumarkt und Herr Urke eine Buchungsbestätigung. Erst jetzt kann er einigermaßen beruhigt das Gewächshaus auf seinem Kleintransporter verladen.