# Chipkartenleser

Chipkartenleser oder Chipkartenlesegerät sind Geräte, die Chipkarten ansteuern. Dabei werden nicht nur Daten gelesen, sondern auch geschrieben oder Applikationen auf der Chipkarte angesteuert; daher spricht man auch von einem Chipkartenterminal.
Die Geräte versorgen die Chipkarte mit Strom, takten sie und etablieren die Kommunikation gemäß den unterstützten Parametern der Karte, welche die Karte über die ATR (Answer to Reset) dem Leser mitteilt. Ob nun Lese-, Schreib- oder Rechenbefehle, sogenannte APDUs, an die Karte gesendet werden, bestimmt die Hostsoftware. Dennoch werden die angebotenen Chipkartenleser häufig nach dem Haupteinsatzgebiet unterschieden. So bietet der Markt neben den Modellen für Verwaltung und Finanzen auch solche für Mobilfunk, die üblicherweise zusätzlich über Kontaktiereinrichtungen für die kleinen Chipkartentypen (ISO 7816, ID-000) verfügen.
Die Ansteuerung kann über an die Kontakte angelegte Stromsignale erfolgen. In Anwendungsgebieten, bei denen kontaktbehaftete Chipkarten nicht vorteilhaft sind, werden sie mit RFID zu Transponderkarten verbunden.

## Sicherheitsklassen

Für sicherheitsrelevante Anwendungen, wie etwa Internetbanking, werden Kartenleser gemäß einer DK-Spezifikation in vier Sicherheitsklassen eingeteilt:

### Sicherheitsklasse 1

    Geräte dieser Klasse haben keine besonderen Sicherheitsmerkmale. Der Kartenleser dient nur als Kontaktiereinheit für die Chipkarte.

### Sicherheitsklasse 2

    Diese Chipkartenleser besitzen eine Tastatur, über die zum Beispiel die PIN fürs Homebanking direkt eingegeben werden kann. Dadurch wird das Ausspähen der PIN (zum Beispiel durch Keylogger oder Trojaner) praktisch ausgeschlossen. Eine Veränderung der Daten eines Homebankingvorgangs vor dem Signieren ist jedoch mit einem Trojanischen Pferd möglich.

### Sicherheitsklasse 3

    Zusätzlich zur Tastatur haben diese Geräte ein Display sowie Firmware, mit der zum Beispiel auch das Bezahlen mit der Geldkarte im Internet möglich ist. Secoder-fähige Geräte erlauben zudem die manipulationssichere Anzeige der Signaturdaten im Gerätedisplay. Das erste Klasse-3-Chipkartenlesegerät, das vom Zentralen Kreditausschuss (ZKA – heute
    Die Deutsche Kreditwirtschaft, DK) zugelassen war, wurde 2001 von Kobil aus Worms ausgeliefert.

### Sicherheitsklasse 4

    Diese Lesegeräte verfügen zusätzlich über mindestens einen weiteren Kartensteckplatz. In diesem steckt ein Authentifizierungsmodul (Secure Access Module bzw. SAM), das das Lesegerät bzw. den Betreiber eindeutig identifiziert. SAM-Module haben (meist) einen ID-000-Formfaktor und sind (oft) gegen unberechtigtes Entfernen im Inneren des Gerätes untergebracht. Vergleiche auch
    POS-Terminals (Point of Sale) (z. B. Electronic Cash, Händlerterminal für Geldkarte). Diese Lesegeräte sind zumeist sogenannte Hybridgeräte, die auch Karten mit Magnetstreifen lesen und verarbeiten können.

## Gerätearten

Kartenlesegeräte gibt es sowohl als externe als auch als interne Form. Die externe Form ist ein kleines Kästchen, das meistens mit einem USB-Kabel an den PC angeschlossen wird und über das Protokoll CCID (englisch chip card interface device) angesprochen wird. Auch der Anschluss über eine serielle Schnittstelle ist je nach Bauart möglich. Die interne Form befindet sich im PC-Gehäuse und ist über ein Kabel mit der Hauptplatine des PC verbunden. Mittlerweile haben einige normale Haushaltsgeräte einen integrierten Kartenleser: Alle Mobiltelefone sprechen SIM-Karten an, und Digitalkameras oder MP3-Spieler lesen und beschreiben Speicherkarten.
Kartenlesegeräte können auch in einem Kartendrucker implementiert werden. Das hat den Vorteil, dass Chipkarten, RFID-Transponder oder auch Smartcards innerhalb eines einzigen Arbeitsschritts bedruckt bzw. personalisiert sowie ausgelesen und kodiert werden können. Auch selektives Auslesen oder Kodieren ist mit einer entsprechenden Kartensoftware möglich. Verbreitet sind Kartendrucker mit fest eingebautem Kartenlesemodul bei lokalen Personalisierungen (z. B. bei der Fertigung von Besucherausweisen mit eingeschränkter Bewegungserlaubnis) und bei Bezahlanwendungen.

## Beispiele von Funktionen

* Onlinebanking (beispielsweise per HBCI, FinTS, EBICS)
* Zeiterfassung am Arbeitsplatz
* Authentifizierung eines Benutzers am Computer
* Auslesen von Kontaktdaten auf einer SIM-Karte
* Auslesen des Geldbestandes einer Geldkarte; siehe auch Makatel
* Auslesen der auf einer Krankenkassenkarte (Deutschland)/eCard (Österreich) gespeicherten Daten
* Signierung mit der Bürgerkarte (Österreich)
* Autorisierung zum Empfang verschlüsselter Sendungen
* Auslesen von Speicherkarten; Hauptartikel Speicherkartenlesegerät
* elektronische Personalausweis (nPA)-Funktion (Deutschland)

## Software-Schnittstellen

Lange Zeit waren Kartenlesegeräte nur über proprietäre Schnittstellen ansprechbar. Das machte es für Softwareentwickler schwer, da sie nicht nur die Besonderheiten der Chipkarte, sondern auch die des Lesers berücksichtigt mussten. Für den Anwender bedeutete es, dass er an eine bestimmte Kombination aus Leser und Chipkarte gebunden war.

### Die CT-API

Ein erster Ansatz für eine standardisierte Anwendungsschnittstelle (API) war die CT-API (Card Terminal Application Programming Interface). Diese wurde im Rahmen der deutschen Krankenversichertenkarte entwickelt und besteht aus einer dynamischen Bibliothek (DLL) mit einer definierten einheitlichen Schnittstelle, die jeweils vom Hersteller des Kartenlesers bereitzustellen ist. International hat sich die CT-API nicht durchgesetzt; sie blieb im Wesentlichen auf den deutschen Markt begrenzt.

### Der PC/SC-Standard

Ein international erfolgreicher Ansatz zur Standardisierung ist der PC/SC-Standard. Er wurde von der PC/SC Workgroup erarbeitet und steht unter GNU / Linux, macOS, und Microsoft Windows zur Verfügung. Bei diesem Ansatz muss der Hersteller einen Gerätetreiber bereitstellen, auf den dann das Betriebssystem zugreift und die einheitliche Anwendungsschnittstelle bereitstellt. Alle Funktionsnamen dieser API beginnen mit dem Präfix-Text „SCard“. Einer der Nachteile der gängigen PC/SC-Implementierungen ist die fehlende Unterstützung für Speicher-Chipkarten.

### Der Secoder-Standard

Der vom deutschen Zentralen Kreditausschuss (ZKA – heute: Die Deutsche Kreditwirtschaft, DK) entwickelte Secoder-Standard erlaubt das Laden von Geldkarten via Internet. Der Secoder zeichnet sich durch besondere Sicherheitsmerkmale aus, die ihn von herkömmlichen Kartenlesern unterscheiden: Er verfügt über eine eingebaute Firewall, die die Karte und die Geheimzahl des Nutzers schützt, sowie ein Display, welches die Transaktionsdaten zur Kontrolle anzeigt, womit jede Manipulation auffällig wird. Die Secoder-Erweiterung für HBCI erlaubt etwa die manipulationssichere Anzeige der Secodervisualisierungstexte (Transaktionsdaten wie z. B. Zahlungsempfänger und Betrag) im Gerätedisplay. Diese muss allerdings von der jeweiligen Bank sowie der Homebanking-Software aktiv unterstützt werden. Außerdem ist die Eingabe der PIN auf dem Lesegerät zwingend. Angriffsversuche durch Schadsoftware wie Trojaner oder Keylogger soll der Secoder durch die Firewall abwehren, wodurch die Anwendungssoftware selbst keinen unmittelbaren Zugriff auf das Gerät erhält. Da der Secoder-Standard zwingend Tastatur und Display vorsieht, entsprechen derartige Kartenleser immer auch mindestens der Sicherheitsklasse 3.