Mit Karte, bitte!

Grundlagen und Standards von Chipkarten (Teil 2)
Kommentare

Windows Developer

Der Artikel „Mit Karte, bitte!“ von Helmut Stoiber ist erstmalig erschienen im Windows Developer 7.2012
Die kontaktbasierte Chipkarte ist in ISO/IEC 7816 standardisiert. Die gesamte

Windows Developer

Der Artikel „Mit Karte, bitte!“ von Helmut Stoiber ist erstmalig erschienen im Windows Developer 7.2012

Die kontaktbasierte Chipkarte ist in ISO/IEC 7816 standardisiert. Die gesamte Standardisierung erstreckt sich über viele Teilspezifikationen und unterliegt ständigen Erweiterungen. Die wichtigsten Dokumente und die zugehörigen Kurzbeschreibungen sind in Tabelle 1 zusammengestellt.

Tabelle 1: ISO-7816-Dokumente

ISO-7816-Dokument Kurzbeschreibung
ISO 7816-1 Physikalische Eigenschaften einer Chipkarte
ISO 7816-2 Position und Größe der Kontaktflächen auf dem Kartenkörper
ISO 7816-3 Spannungsversorgung, Taktfrequenz und Reset-Verhalten sowie die beiden Übertragungsprotokolle T=0 und T=1
ISO 7816-4 Dateistruktur und Aufbau von Dateien sowie Kommandostrukturen (APDU) und Secure Messaging
ISO 7816-13 Multiapplikations-Chipkarte
ISO 7816-15 Chipkarte gemäß PKCS#15-Spezifikation

Der Standard ISO/IEC 14443 (Tabelle 2) spezifiziert die Eigenschaften von kontaktlosen Chipkarten. In dieser vierteiligen Standardisierung werden kontaktlose Chipkarten als Proximity Integrated Circuit Card (PICC) bezeichnet. Die Leseeinheit trägt die Bezeichnung Proximity Coupling Device (POD).

Tabelle 2: ISO-14443-Dokumente

ISO-14443-Dokument Kurzbeschreibung
Teil 1 Physikalische Eigenschaften einer kontaktlosen Chipkarte
Teil 2 Funkfrequenzen und Modulationsverfahren
Teil 3 Kommunikation zwischen PICC und POD
Teil 4 Übertragungsprotokoll via Luftschnittstelle

Aus der Sicht der Programmierung ist 7816-4 einer der wichtigsten Teile, da hierin die für die Kommunikation erforderlichen Kommandos beschrieben sind. Weiterhin gewinnt ISO 7816-15 immer mehr an Bedeutung, da hier die Standards für Signatur- und Authentisierungskarten spezifiziert sind.

Chipkarten-Lesegeräte

Lesegeräte für Chipkarten sind entweder in speziellen Terminals integriert, wie sie beispielsweise in Geldautomaten eingesetzt werden, oder es handelt sich um separate Lesegeräte, die als physikalisches Interface zwischen Computer und Chipkarte fungieren. Lesegeräte versorgen die Chipkarte mit Strom, stellen das Taktsignal bereit und übertragen den gesamten Datenverkehr.

Chipkarten-Lesegeräte oder auch Smart Card Reader sind in verschiedenen Ausführungen und mit unterschiedlichen Anschlussmöglichkeiten erhältlich. Ursprünglich waren Lesegeräte mit einem seriellen Anschluss ausgestattet, der eine maximale Übertragungsrate von 9600 Baud erreichte. Mittlerweile verfügen die Leser über USB-Anschlüsse, sodass ein Standardleser 12 Mbps erreicht, wenn er an einem USB-2.0-Full-Speed-Port betrieben wird. Notebooks sind teilweise serienmäßig mit einem integrierten Smart Card Reader ausgestattet oder können mit einem PCMCIA-Reader einfach nachgerüstet werden. Abbildung 4 zeigt einen Standardleser mit USB-Anschluss für kontaktbasierte Chipkarten.

Abb. 4: Standardleser für kontaktbasierte Chipkarten
Abb. 4: Standardleser für kontaktbasierte Chipkarten

Für Anwendungen mit hohen Sicherheitsanforderungen werden vorzugsweise Lesegeräte mit integrierter Tastatur und optionalem Display eingesetzt, wobei die in Tabelle 3 gegebene Klassifizierung gemäß dem Zentralen Kreditausschuss (ZKA) zugrunde liegt.

Tabelle 3: Klassifizierung von Chipkartenlesern

Sicherheitsklasse Beschreibung
Klasse 1 Kontaktiereinheit mit einer Schnittstelle (z. B. USB), keine Sicherheitsmerkmale
Klasse 2 Klasse 1 und Tastatur (Pinpad), über die beispielsweise die direkt Eingabe einer PIN ermöglicht wird
Klasse 3 Klasse 2 und Anzeige (Display), eingebaute Funktionalitäten, die beispielsweise das Nachladen von ZKA-Komponenten unterstützen
Klasse 4 Klasse 3 und ein RSA-Prozessor, mindestens ein integriertes SAM (Secure Access Moduke) sowie direkte Ausführung von Programmen im Lesegerät

Lesegeräte ab Klasse 2 haben einen eigenen Prozessor, der die Kommunikation mit der Chipkarte übernimmt. Die Eingabe einer PIN erfolgt direkt an der Tastatur des Lesers, wobei die Verbindung zum Computer während der Eingabe der PIN vollständig getrennt wird. Dadurch sind Keylogger oder Trojaner, die die Eingaben der Computertastatur aufzeichnen und dadurch PINs und Passwörter ausspionieren können, unwirksam. In Abbildung 5 ist ein Chipkarten-Lesegerät mit Tastatur und Display für den Einsatz von kontaktlosen und kontaktbehafteten Chipkarten abgebildet.

Abb. 5: Klasse-3-Leser mit Tastatur für kontaktlose/kontaktbehaftete Chipkarten
Abb. 5: Klasse-3-Leser mit Tastatur für kontaktlose/kontaktbehaftete Chipkarten
PC/SC-Interface

Um sicherzustellen, dass die Einzelkomponenten eines Gesamtsystems, bestehend aus Chipkarte, Lesegerät und PC, zueinander kompatibel sind, bedarf es einer komponentenübergreifenden Spezifikation. Dieser Forderung versucht das Konsortium PC/SC-Workgroup gerecht zu werden, indem ein Standard gemäß Abbildung 6 spezifiziert wurde. Dieser Standard umfasst aktuell zehn Teilspezifikationen sowie ein Addendum und liegt derzeit in Version 2.0.1.9 vor [1].

Abb. 6: Gesamtarchitektur gemäß PC/SC-Workgroup
Abb. 6: Gesamtarchitektur gemäß PC/SC-Workgroup

Ausgehend von den physikalischen Größen der Karte (ICC) und des Lesers (IFD) sind die einzelnen Standards den jeweiligen Herstellern und Layern eindeutig zugeordnet, wobei aus der Sicht der Applikationsprogrammierung dem Betriebssystemhersteller die größte Bedeutung zukommt, da dieser in der Regel das API bereitstellt. Weiterhin werden Kompatibilitätsanforderungen bezüglich Treibern für Lesegeräte spezifiziert. Die zwischen der Applikationsschicht und dem ICC Ressource Manager liegende Softwareschicht (Middleware) stellt proprietäre Funktionalitäten des Chipkarten-Dienstanbieters bereit, die von der Chipkartenapplikation bei Bedarf genutzt werden können.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -