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.

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.

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].

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.