Geschichte, Entwicklung, Eigenschaften, Kartentypen, Betriebssystem, etc.
Dieser Artikel bezieht sich auf:
Die Geschichte der Plastikkarten
1950 wurde vom Diners Club die erste Plastikkarte für Zahlungszwecke ausgegeben. Der Gebrauch solcher Plastikkarten setzte sich sehr schnell durch, sowohl wegen des geringen PVC-Preises als auch deswegen, weil Visa und Mastercard ebenfalls in diesen Markt eintraten.
Auf die ersten Plastikkarten waren allgemeine Daten wie Kartennummer und Karteninhaber per Hochprägung aufgebracht. Durch Unterschriftsfelder und Sicherheitsdruck wurden die Karten vor Fälschung geschützt. Es erwies sich sehr schnell, dass diese Sicherheitsmaßnahmen nicht ausreichend waren, da die Überprüfung ausschliesslich vom Einzelhandel abhängig war. Die Bearbeitungskosten und Verluste durch Betrug stiegen von Jahr zu Jahr. Eine Verbesserung der Sicherheit und Senkung der Kosten wurde als dringend notwendig erachtet.
Um die Bearbeitungskosten zu senken, wurde die Magnetkarte, wie wir sie kennen, entwickelt. Durch den Magnetstreifen auf der Rückseite der Plastikkarte konnten Daten in maschinenlesbarer Form gespeichert werden. Es wurde jedoch sehr schnell offensichtlich, dass diese Daten immer noch ziemlich ungeschützt waren. Sie konnten von jedem mit der entsprechenden Ausrüstung gelesen, gelöscht und überschrieben werden. Um sich vor Betrug zu schützen, mussten die Einzelhändler bei jedem Verkauf in direkten Kontakt mit dem Kartenaussteller treten. Hierdurch stiegen wiederum die Bearbeitungskosten an. Eine visuelle Kontrolle der Unterschrift musste immer noch durch das Personal im Einzelhandel erfolgen, so dass die Sicherheit immer noch ein grosses Problem blieb. Mit Weiterentwicklung der Technik wurden off-line Transaktionen notwendig. Der Bedarf für eine "intelligente" Karte war da.
Die Entwicklung der Smart Card 1968 Die beiden deutschen Erfinder Jürgen Dethloff und Helmut Grötrupp beantragten ein Patent für die Idee, einen IC (integrierten Schaltkreis) auf einer Plastikkarte einzubauen.
1970 Kunitaka Arimura, ein japanischer Erfinder, legte das erste Patent für die Mikroprozessorkarte vor, wie sie heute verwendet wird.
1974 Der Franzose Roland Moréno ließ sich einige funktionelle Eigenschaften der Mikroprozessorkarten patentieren und begann damit, Lizenzen an Hersteller zu verkaufen.
1984 Die französische Post und Telekommunikationsgesellschaft führte einen erfolgreichen Feldversuch mit Telefonkarten durch.
1984/85 In Deutschland wurde ein Pilotprojekt für Telefonkarten durchgeführt, in dem Magnetstreifenkarten, Holographiekarten und Mikroprozessorkarten getestet wurden. Die Mikroprozessorkarten erwiesen sich als sicherster, flexibelster und zuverlässigster Kartentyp.
1990 Mehr als 60 Millionen Mikroprozessorkarten waren als Telefonkarten in Frankreich im Umlauf.
1993 Durch die Umstellung im deutschen Krankenversicherungssystem erhielt jeder Versicherte eine Krankenversichertenkarte (ca. 79 Millionen).
Was ist eine Smart Card? Eine Smart Card ist eine Plastikkarte mit implantiertem Mikrochip (Mikroprozessorkarte). Sie hat die Grösse einer konventionellen Plastikkarte.
Physikalische Eigenschaften
ISO 7810 (ID-1 Karten-Standard) Maße - 85,6 mm x 54 mm
Radius der Ecken - 3,18 mm
Dicke der Karte - 0,76 mm
ISO 7816-2 (Lage des Chips und der Kontakte)
Elektrische Eigenschaften
Die Mehrzahl der Chipkarten besitzt acht Kontaktfelder. Diese Felder stellen die elektrische Verbindung zwischen dem Kartenleser und dem Mikroprozessor dar. Zwei der acht Kontaktfelder (C4) und (C8) sind laut ISO 7816-2 für spätere, noch zu definierende Funktionen reserviert. Aus diesem Grund sind einige Hersteller dazu übergegangen, Chipkarten mit sechs Kontaktflächen herzustellen. Im Moment ist die Funktionalität identisch.
Eine Chipkarte benötigt eine Versorgungsspannung von 5 Volt +/- 10 %. Durch die Zunahme des Chipkarteneinsatzes im Mobiltelefonsektor gibt es mittlerweile Bestrebungen, auch die 3-Volt-Technik zuzulassen. In Zukunft wird wohl ein Spannungsbereich von 3 - 5 Volt zugelassen werden.
Kartentypen mit und ohne Kontakte
Kontaktbehaftete Karten Die Karten mit Kontaktfeldern bestehen aus dem Kartenkörper, den elektrischen Kontakten (vergoldet) und dem Chip. Um Daten mit diesem Kartentyp austauschen zu können, muss sie in einen Chipkartenleser eingeführt werden.
Kontaktlose Karten Eine kontaktlose Chipkarte besteht aus zwei Kartenkörpern, einem Chip und einer Antenne. Der Datenaustausch mit diesem Kartentyp kann berührungslos zwischen Antenne und Koppler erfolgen.
Es gibt zwei Arten der Kontakt-Karten: Speicherkarten und Mikroprozessorkarten. Manchmal werden auch Speicherkarten als Smart Cards ("intelligente" Karten) bezeichnet, eigentlich trifft diese Bezeichnung aber nur für die Mikroprozessorkarte zu.
Mikroprozessorkarten (Smart Cards) Eine Mikroprozessorkarte besitzt einen Prozessor, ein RAM, ein EEPROM und ein ROM, sie ist ein "Computer in Chipform". Hierdurch wird erreicht, dass Übertragung, Speicherung und Verarbeitung der Daten mit hoher Sicherheit möglich ist. Das Betriebs- und Sicherheitssystem auf dem Chip überwacht die Datenübertragung über die serielle Schnittstelle. Kontrolliert werden die Funktionen Schreiben, Lesen und Löschen.
ROM - Read Only Memory, dieser Speicher kann nur während der Produktion beschrieben werden. Er enthält den grössten Teil des Betriebssystems, sowie Funktionen für Diagnose und Tests. Das ROM stellt das Sicherheitssystem der Chipkarte dar. Es verhindert unberechtigten Zugang und Manipulationen durch Programmierer.
EEPROM - Electrical Erasable Programmable Read Only Memory, in diesem Speicherbereich werden alle die Daten und Programme abgelegt, die veränderbar oder löschbar sein sollen. Das EEPROM übernimmt in diesem System die Funktion einer Festplatte. Die Daten bleiben erhalten, auch wenn die Stromzufuhr unterbrochen ist.
RAM - Random Access Memory, dies ist der Arbeitsspeicher. Wenn die Versorgungsspannung abgeschaltet wird, werden alle Daten gelöscht.
CPU - Central Processing Unit, der Prozessor interpretiert Anweisungen und führt sie aus, er ist das "Gehirn".
Smart Card Betriebssystem
Das Betriebssystem der Smart Card enthält üblicherweise 3 bis 24 Kbyte Programmcode, je nach verwendeter Applikation für die die Chipkarte verwendet wird. Im Unterschied zu den gebräuchlichen Betriebssystemen eines PCs hat das Betriebssystem einer Chipkarte keine Benutzerschnittstelle. Es gibt keine Verbindung zu Peripheriegeräten oder Speichermedien. Das Betriebssystem ist verantwortlich für:
Dateimanagement
Speicherverwaltung
Ausführung und Kontrolle programmierter Anweisungen
Kontrollierter Datenzugriff
Laden, Ausführen und Verwalten der Anwendungsprogramme
Datenübertragung
Ausführung und Verwaltung der kryptographischen Algorithmen
Asynchrone Datenübertragung Die Kommunikation zwischen Chipkarte und Leser wird über den C7-Kontakt ausgeführt, der als Input/Output-Kontakt definiert wurde. Da die Datenübertragung ausschliesslich auf diesen Kontakt beschränkt ist, wird die Kommunikation als "half-duplex" bezeichnet. Dies heisst lediglich, dass immer nur eine Partei Daten senden kann, entweder die Karte oder das Terminal (Leser).
Die Kommunikation geht immer vom Terminal (Leser) aus, die Karte antwortet nur auf die Anweisungen des Terminals. Ohne Anfrage vom Terminal werden keine Daten von der Karte übertragen. Hiermit wird eine Client - Server -Struktur nachgeahmt, mit der Chipkarte als Client und dem Terminal als Server.
Kommunikation zwischen Karte und Terminal
Schritt 1 - die Chipkarte wird in den Leser gesteckt
Schritt 2 - die elektrischen Kontakte der Chipkarte werden aktiviert
Schritt 3 - Die Prozessorkarte führt ein Reset aus und sendet den ATR (answer-to-reset) zum Terminal.
Schritt 4 - Das Terminal überprüft den ATR und identifiziert verschiedene Parameter der Karte. Je nach Kartentyp wird an dieser Stelle vom Terminal der PTS-Befehl (Protocol Type Selection) gesendet. Hiermit werden die vom Protokoll abhängigen Parameter für die Übertragung festgelegt. Einige Einzelheiten zu verschiedenen Protokollen werden im nächsten Abschnitt beschrieben.
Schritt 5 - If the PTS instruction was sent to the Smart Card, the Smart Card responds with an answer.
Schritt 6 - Die Kommunikation wird fortgesetzt (half duplex). Das Terminal sendet eine Anweisung, die Karte antwortet. Dies wird fortgesetzt bis die Karte deaktiviert wird, d.h. aus dem Leser genommen wird.
Die Kommunikation zwischen Chipkarte und Terminal ist seriell. Dies heisst, dass alle verarbeiteten Daten in einen seriellen Datenstrom konvertiert werden (ein Byte wird in acht Bits zerlegt, die eins nach dem anderen übertragen werden). Die Datenübertragung bei Mikroprozessorkarten ist asynchron. Das bedeutet, dass zusätzlich zu den gesendeten Datenbits weitere Bits übertragen werden müssen, wie z.B. ein Startbit. Dieses Startbit signalisiert den Beginn einer Datenübertragung. Nach dem gesendeten Byte folgt ein parity bit zur Fehlerkontrolle und ein oder zwei Stop Bits. Während die Stop Bits gesendet werden (in der guard time), erfolgt die Kontrolle des gesendeten Bytes. Im Fehlerfall wird eine Meldung erzeugt, die zur Wiederholung des fehlerhaft gesendeten Bytes führt. Der Vorteil der asynchronen Datenübertragung ist, dass kein Takt benötigt wird. Die Übertragung ist nur vom Abstand der gesendeten Daten und nicht einer vorgegebenen Taktfrequenz abhängig.
Übertragungsprotokolle
Ein Protokoll ist ein Satz von Regelungen und Verfahren, die den Austausch von Informationen zwischen Smart Card und Terminal regeln. Das Protokoll liefert die Gesamtstruktur der Kommunikation.
Protokoll
Beschreibung
T = 0
Asynchron, half-duplex, Byte orientiert
T = 1
Asynchron, half-duplex, Block orientiert
T = 2
Asynchron, full-duplex, Block orientiert
T = 3
Full duplex, wird momentan nicht verwendet
T = 4
Asynchron, half-duplex, Byte orientiert (Erweiterung von T=0)
T = 14
für nationale Funktionen
Die Protokolle T=0 und T=1 werden weltweit am häufigsten verwendet. Die Protokolle T=5 bis T=13 und T=15 sind für zukünftige Anwendungen und Funktionen reserviert. T=14 wird gegenwärtig in deutschen Kartentelefonen verwendet.
Übertragungsprotokoll T=0
Die kleinste Einheit, die von diesem Protokoll verarbeitet wird, ist ein einzelnes Byte, daher die Bezeichnung "Byte-orientiert". Da das Protokoll Byte-orientiert arbeitet, muss bei fehlerhafter Übertragung das Byte noch einmal gesendet werden. Eine Fehlerkontrolle ist möglich, weil am Ende jedes Byte ein Paritybit gesendet wird. Das folgende Diagramm soll das Übertragungsschema mit dem Protokoll T=O verdeutlichen.
Die Hauptfunktion der "guard time"-Bits ist, die einzelnen Bytes während der Übertragung zu trennen. Dies stellt Sender und Empfänger mehr Zeit zur Verfügung, die Funktionen dieses Protokolls auszuführen. Im Falle eines Übertragungsfehlers wird während der guard time der Fehler gemeldet, das gesendete Byte wird daraufhin wiederholt.
Übertragungsprotokoll T=1 T=1 ist ein Block-Protokoll. Die kleinste Dateneinheit, die verarbeitet wird ist ein Block. Ein Block ist die kleinste Dateneinheit, die zwischen Karte und Terminal übertragen werden kann. Ein Block ist eine Gruppe von Bytes.
Es gibt drei verschiedene Block-Arten:
Informations Block (I-Block) - wird für den transparenten Datenaustausch der Anwendungsebene verwendet.
Reception Acknowledgment Block (R-Block) - dient zur Bestätigung des Empfangs, enthält kein Informationsfeld.
System Block (S-Block) - wird für Kontrolldaten benutzt, die in direktem Zusammenhang mit dem Protokoll stehen.
Blockstruktur für Übertragung mit T=1
Ein Block besteht aus Prolog-, Informations- und Epilogfeld. Prolog- und Epilog-Feld sind obligatorisch.
Prolog-Feld - wird am Anfang des Block übertragen und enthält NAD, PCB und LEN (s. oben)
NAD - Node address - enthält Sende- und Empfangsadresse des Blocks
PCB - Protocol Control Byte - dient zu Kontrolle und Überwachung des Übertragungsprotokolls
LEN - Length - gibt die Länge des Informationsfelds in hexadezimalem Format an.
Informations-Feld - in einem I-Block enthält das Informationsfeld Daten der Anwendungsebene. Der Inhalt dieses Felds wird transparent übertragen. Dies bedeutet, dass die Information vom Übertragungsprotokoll ohne Analyse oder Überprüfung weitergeleitet wird. Ein Informationsfeld in einem S-Block enthält Daten.
APDU - Application Protocol Data Unit, command ADPU - Anweisungen für die Karte, response ADPU - Antwort von der Karte
Epilog-Feld - wird am Ende des Blocks übertragen und enthält einen Code zur Fehlererkennung (EDC: error detection code)
Speicherkarten Eine Speicherkarte enthält einen Speicherchip mit Lese- und Schreibfähigkeit und in einigen Fällen auch fest verdrahtete Sicherheitsfunktionen. Speicherkarten sind billiger als Mikroprozessorkarten, haben aber auch weniger Einsatzmöglichkeiten. Sie enthalten eine begrenzte Adress- und Sicherheitslogik , EEPROM und ROM Speicher. Das ROM ist fest beschrieben, das EEPROM ist schreib- und löschbar und frei lesbar. Bei einem einfachen Kartendesign verhindert die Logik das Schreiben und Löschen. Bei komplizierteren Designs ist auch eine Beschränkung des Lesezugriffs möglich. Ein Beispiel für den Einsatz vom Speicherkarten sind Telefonkarten mit Guthabenfunktion.
Synchrone Datenübertragung Synchrone Übertragung ist ein Protokoll, bei dem die Daten synchron zum Takt übertragen werden, der damit den zeitlichen Ablauf des Datenaustauschs regelt. Das Protokoll ist sehr simpel. Die synchrone Übertragung erlaubt über das Terminal den direkten Zugriff einer Applikation auf die Speicheradresssen. Es werden nur wenige logische Schaltkreise benötigt, weshalb die Karten auch billig hergestellt werden können. Das Terminal übernimmt vollständig die physikalische Speicheradressierung. Die Karte kann lediglich einige Bereiche mit einem Löschschutz versehen. Die Übertragungsprotokolle für Speicherkarten heissen S=8, S=9, S=10.
Chipkartenleser Ein Kartenleser wird in der Industrie auch als IFD (interface device), CAD (chip-accepting device), Smart Card Adapter oder CCR (chip-card reader) bezeichnet. Im Vergleich zu den Lesern sind die Chipkarten selbst sehr ähnlich im Aufbau.
Die Leser können stationär oder vernetzt sein, online oder offline arbeiten, batteriebetrieben sein oder an ein Stromversorgungssystem angeschlossen. Im Folgenden werden stationäre Leser behandelt, die über einen PC mit Strom versorgt werden. Der Begriff Terminal wurde bereits mehrfach verwendet: ein Terminal besteht aus zwei Komponenten, einem Kartenleser und einem Computersystem. Der Leser selbst übernimmt lediglich mechanische Funktionen. Das Computersystem kontrolliert die Stromversorgung, stellt die Verbindung zu anderen Systemen her und stellt eine Schnittstelle zur Administration zur Verfügung.
Mechanik der Chipkartenleser Damit eine Chipkarte mit dem Terminal kommunizieren kann, muss ein Kontakt hergestellt werden, mit dem Information elektronisch übertragen werden können. Wenn eine Karte in den Leser eingesteckt wird, stellen Kontakte im Leser eine leitende Verbindung zwischen Kartenkontakt und Computer des Terminals her. Dies ist für den Datenaustausch notwendig.
Leser-Kontakte Es gibt zwei verschiedene Kontaktarten in Lesern: Absenk- und Schleifkontakte. Schleifkontakte enthalten eine Feder, mit der die Kontaktflächen angedrückt werden (beim Einführen der Karte schleifen diese Flächen über einen Teil der Chipkarte und ihres Kontaktfeldes). Leser mit Schleifkontakten sind kostengünstiger. Die Schleifkontakte hinterlassen jedoch Kratzer auf der Karte und nutzen mit der Zeit die Goldkontakte ab (es ist jedoch noch kein Fall bekannt, dass eine Chipkarte dadurch zerstört wurde). Die andere Art der Kontakte benutzt einen Absenkmechanismus. Das Einführen der Karte setzt einen Mechanismus in Gang, der die Kontaktflächen an die Kartenkontakte andrückt und sie nicht verkratzt. Dies erhöht die Lebenszeit sowohl der Karten als auch der Leser.