Chipkartenstandards: Was bedeuten sie?
Da es so viele Normen für Chipkarten gibt, ist es wichtig zu verstehen, was diese bedeuten und inwiefern sie relevant sind. In diesem Artikel geben wir einen Überblick über mehrere Schlüsselstandards und ihre Rolle im Chipkarten-Ökosystem.
Jeder in diesem Artikel diskutierte Standard definiert einen Schlüsselaspekt des Verhaltens oder der Funktionalität von Chipkarten. Diese Kernstandards sind das Herzstück der meisten wichtigen Chipkarten, die heute auf dem Markt sind.
Die in diesem Artikel diskutierten Standards sind:
ISO 7816
ISO 7816, einer der wichtigsten Standards für Chipkarten, ist ein Kernstandard, der vielen heute verfügbaren Chipkarten zugrunde liegt. Viele andere Smartcard-Technologien basieren in Bezug auf Aspekte ihrer Funktionalität auf Teilen der ISO 7816.
ISO 7816 besteht aus 15 Teilen, von denen jeder einen anderen Aspekt der Fähigkeiten auf Kartenebene definiert. Wir werden hier nicht alle 15 Teile beschreiben, aber zwei entscheidende Aspekte, die durch den Standard definiert sind, sind (1) die elektrische Schnittstelle mit der Karte über Kontakte und (2) das Kommunikationsprotokoll zwischen einem Chipkartenleser (im Standard ein Schnittstellengerät genannt) und eine Chipkarte.
ISO 7816 wurde ursprünglich für Karten mit elektrischen Kontakten geschrieben, die auf der Kartenoberfläche freiliegen („Kontaktkarten“). Der Standard beschreibt die Signale und Übertragungsprotokolle an der elektrischen Schnittstelle für Kontaktkarten. Diese Informationen werden von Hardware-Herstellern verwendet, die Kartenlesegeräte herstellen und wissen müssen, wie sie mit einer Karte auf der untersten E/A-Ebene kommunizieren können. Kontaktlose Chipkarten werden durch eine separate Norm definiert, ISO 14443, die weiter unten behandelt wird.
Das durch ISO 7816 definierte Kommunikationsprotokoll besteht aus einer Reihe von Befehlen, die zur Steuerung und für das Management einer Chipkarte verwendet werden können, sowie aus der Struktur der Befehls-/Antwortnutzlasten, die zwischen einem Chipkartenleser und einer Chipkarte ausgetauscht werden, der Application Protocol Data Unit (APDU).
APDUs gibt es in zwei Formen: Kommando-APDUs und Antwort-APDUs. Befehls-APDUs werden von einem Kartenlesegerät an eine Karte gesendet und enthalten den Befehlscode, Parameter und Daten. Antwort-APDUs werden von einer Karte zurück an das Kartenlesegerät gesendet und enthalten die Antwortdaten und den Statuscode.
ISO 14443
ISO 14443 definiert den Betrieb von kontaktlosen Chipkarten, oder Annäherungskarten, als Karten, in die eine Funkfrequenz (RF)-Antenne eingebettet ist. Der Standard beschreibt das drahtlose Kommunikationsprotokoll, das auf der Verbindungsschicht zwischen einer Karte und einem Kartenleser verwendet wird, der bei 13,56 MHz (RFID HF) arbeitet.
ISO 14443 Annäherungskarten werden durch elektromagnetische Induktion gespeist, wenn die Karte in das von einem Kartenleser erzeugte HF-Feld gebracht wird. Konforme Karten haben eine Reichweite von bis zu 10 cm, die jedoch durch die Größe der Antenne in der Karte und die Signalleistung des Kartenlesers oder Terminals begrenzt ist, so dass die Reichweite in der Praxis oft innerhalb von 1 cm liegt.
Wichtig ist, dass ISO 14443 nicht das von Anwendungen verwendete Kommunikationsprotokoll auf höherer Ebene (den Befehlssatz) definiert. Viele ISO-14443-konforme Karten verwenden den in ISO 7816-4 definierten Befehlssatz. Einige, wie der MiFARE DESFire, verwenden jedoch ihren eigenen.
NFC
NFC, (Near Field Communication) ist eine Reihe drahtloser Nahbereichskommunikationsprotokolle, die es zwei Geräten ermöglichen, miteinander zu kommunizieren und Daten auszutauschen. NFC umfasst mehrere Standards, darunter ISO 14443 (siehe oben).
NFC definiert zwei Kommunikationsarten, aktiv und passiv. Im passiven Modus erzeugt ein stromversorgtes Gerät wie ein Chipkartenlesegerät ein HF-Feld, das das Ziel, zum Beispiel eine Chipkarte, mit Strom versorgt. Der aktive Modus ermöglicht es zwei NFC-Geräten, Peer-to-Peer zu kommunizieren.
NFC definiert drei Betriebsarten wie folgt:
- Reader/Writer – In diesem Modus kann sich das NFC-fähige Gerät wie ein herkömmliches Hardware-Schnittstellengerät verhalten, das kontaktlose (ISO 14443) Chipkarten/Tags lesen und beschreiben kann.
- Card Emulation – In diesem Modus kann ein NFC-fähiges Gerät, wie z. B. ein Smartphone, wie eine Smart Card oder ein Tag funktionieren und zum Ziel für ein anderes NFC-fähiges Gerät wie ein Kartenzahlungsterminal werden. Mobile Zahlungstechnologie wie Apple Pay funktioniert mit dem Smartphone, das in diesem Modus arbeitet.
- Peer-to-Peer – Im Peer-to-Peer-Modus können zwei NFC-Geräte an einer Zwei-Wege-Kommunikation teilnehmen, um Daten auf benutzerdefinierte Weise auszutauschen.
PC/SC
PC/SC ist de facto eine plattformübergreifende API zur Integration von Chipkarten in Desktop-Anwendungen. Sie wurde ursprünglich Ende der 1990er Jahre von Microsoft für Windows definiert und als WinSCard API bezeichnet. Sie wurde durch das PCSC-Lite-Projekt auf Linux und Mac portiert.
Die PC/SC-API ermöglicht es einer Anwendung, Chipkartenlesegeräte, die an den Host-Computer angeschlossen sind, zu erkennen, und dann eine Verbindung zu einer in einem Lesegerät vorhandenen Chipkarte herzustellen und mit dieser zu kommunizieren. Die API unterscheidet nicht, wie die Karte ins Lesegerät gelangt. Bei der Karte kann es sich um eine herkömmliche Kontaktkarte handeln, die in ein Lesegerät eingeführt wird, oder um eine kontaktlose Karte, die einem kontaktlosen Kartenlesegerät vorgelegt wird.
ISO 7810
Dieser Standard definiert die physikalischen Eigenschaften von Ausweisen, einschließlich Größe, Biegefestigkeit und Haltbarkeit.
Wichtige Größen, die durch diesen Standard definiert werden, sind
- ID-1 – Eine Größe von 85,60 × 53,98 mm. Diese wird für die meisten Chipkarten verwendet, einschließlich Bankkarten (Kreditkarten, Debitkarten usw.), Reisekarten. Sie werden in vielen Ländern auch für Führerscheine verwendet.
- ID-000 – Eine Größe von 25 mm × 15 mm mit einer abgeschnittenen Ecke. Diese Größe wird für SIM-Karten in Mobiltelefonen verwendet.
Java Card
Java Card ist eine Technologie für Chipkarten, die es ermöglicht, On-Card-Anwendungen in Java zu schreiben. Java-Card-Chipkarten (Java Cards) betreiben eine minimale Java-Umgebung und die On-Card-Anwendungen werden als Applets geschrieben, die darauf laufen. Java Cards werden häufig für e-ID-Anwendungen (z. B. PKI, ID-Karten), Zahlungskarten (Kredit-/Debitkarten) und SIM-Karten für Mobiltelefone verwendet.
Ein Java-Card-Applet verarbeitet normalerweise einen benutzerdefinierten Befehlssatz und kann optional jeden der in ISO 7816-4 definierten Befehle verarbeiten.
Java Card bietet eine sichere Umgebung für die Speicherung sensibler Informationen. Die Applets sind voneinander und vom zugrunde liegenden Kartenbetriebssystem und der Hardware isoliert. Java Card-Applets greifen über die Java-Card-Bibliothek und während der Laufzeit auf kryptographische Funktionen einer Karte zu.
GlobalPlatform
GlobalPlatform ist ein Standard für die sichere Verwaltung des Inhalts einer Chipkarte, z. B. die Installation und Entfernung von Anwendungen auf/von der Karte. Die Verwaltung erfolgt über kryptographische Protokolle, wodurch der Prozess authentifiziert und gesichert wird.