|
|
|
Chipkarten unter Linux
Generell unterscheidet man 2 Arten von Chipkarten: Speicherkarten und
Prozessorkarten.
Bild 1: Aufbau versch. Chipkarten
Speicherkarten:
- speichern Daten im EEPROM
- kein Leseschutz moeglich
- bei manchen Schreibschutz durch eingebaute Logik (Telefonkarte)
- Speichergroessen von 256Byte bis ca. 16kByte
- serieller Zugriff ueber synchrone Protokolle wie
I²C-, 2-Draht- oder 3-Draht-Bus
- wenig flexibel aber preiswerte Herstellung
Prozessorkarten:
- besitzen einen Microcontroller
- oft kommen dabei CPU's der Intel 8051 oder Motorola 6805
Architektur zum Einsatz
- einige (z.B. Cryptokarten) besitzen sogar noch einen
mathematischen Coprozessor
- das Betriebssystem liegt in einem eingebauten ROM (ca.
40kByte gross) und ist meist speziell fuer diese Karten
entwickelt worden
- der eingebaute RAM wird aus Kosten- und Platzgruenden meist
sehr klein gehalten (ca. 256Byte)
- die Daten werden auch hier in einem EEPROM gespeichert
- Speicherzugriffe kontrolliert das Kartenbetriebssystem
- Daten im EEPROM sind in einem hierarchischen Dateisystem
gespeichert
- Kommunikation ueber asynchrone Protokolle (z.B. T=0, T=1)
Die Kommunikation mit dem Chipkartenterminal und den Chipkarten erfolgt
ueber standardisierte Pakete, sogenannte APDU's (Application Protocoll Data
Units).
Bild2: APDU
Fuer die Entwicklung von Programmen zum Zugriff auf Chipkarten stehen einem
unter Linux verschiedene Programmierschnittstellen zur Verfuegung.
- CT-API:
- als Standard fuer Krankenversicherungskarten entwickelt
- geringer Funktionsumfang (nur 3 Funktionen)
- Programmierer muss APDU's selbst zusammenbauen
- PC/SC:
- Standard fuer die Benutzung von Chipkarten unter Windows
- wurde von vielen namhaften Unternehmen entwickelt
(IBM, Sun Microsystems, HP, ...)
- Implementation fuer Linux durch das MUSCLE-Projekt
- erleichtert Entwicklung von Chipkartenapplikationen
fuer verschiedene Betriebssysteme
- Unterstuetzt den Zugriff auf verschiedene Karten durch
spezielle Kartentreiber (Service Provider)
- SCEZ:
- freie Bibliothek entwickelt von einer Privatperson
- einfache Benutzung, portabel (sogar auf Palm Pilot)
- bietet Treiber fuer gaengige Karten
- kapselt viele Operationen in bequeme Funktionen
|
|
|
|
© CLUG 2000. Layout: tisc, pad |
|
|