Start Chipkarten Technik
06 | 02 | 2012
Technik

Einführung

Warum die Chipkartenpage?

Bei unserer Suche durchs Internet ist uns aufgefallen, dass zwar viel über die Chipkarte geschrieben wird, aber nichts über die Technik. Die Lücke wollen wir versuchen zu stopfen. Die hier vorgestellten Informationen wurden durch eigenen Testprotokolle rausgefunden und können mit den gängigen Informationsquellen nachvollzogen werden.

Es gibt sicherlich eine Unzahl an Protokollen, die bei Chipkarten gängig sind. Die Protokolle bzw. technischen Informationen, die wir hier vorstellen, sind die gängigsten im Bereich Telefonkarten, Krankenversichertenkarte, Geldkarte, u. a. - und sollte damit 90% der eingesetzten Kartentechnik abdecken.

Beim Kartenleser beziehen wir uns zukünftig immer auf einen B1-Leser, der i. d. R. mit dem verschiedenen Kartentypen problemlos arbeitet und auch in der Lage ist, autom. die unterschiedlichen Protokolle zu erkennen.

Das Betriebssystem

Wie läuft es bei der Produktion der Chipkarte?

Das Betriebssystem wird als ROM in der Chipkarte (Mikrokontroller) beim Hersteller eingebaut. Das EEPROM ist für die spätere Verwendung leer. Treten beim Test des Chips keine Fehler auf, so werden vom Hersteller Schmelzbrücken physikalisch aufgetrennt, die einen späteren Zugriff auf die Testfunktionen unterbinden.

Vor dem ausliefern der Chipkarten werden diese noch mit einem Transportcode versehen, der vom Kunden eingegeben werden muss, um seine eigene Software einzubringen. Eigene Software einbringen bedeutet, dass der Kunde die Karte für seine speziellen Wünsche personalisieren kann, d.h. den leeren EEPROM beschreibt.

Nach der Personalisierung geht die Karte zum Endverbraucher, der die Karte für einen festgelegten Zeitraum (max. für ca. 100.000 Steckzyklen) verwenden kann.

Das DOS der Chipkarte - Wie sieht's mit dem Betriebssystem aus?

Den meisten von euch wird klar sein, was sie unter einem Betriebssystem zu verstehen haben. Für die verschiedenen Computermodelle gibt es eine Vielzahl an Betriebssystemen (z. B. DOS, Windows, Unix, etc.), die das Interface zwischen Hardware und der Software zur Verfügung stellen.

Genauso wie ein großer Computer, braucht auch der Chipkartenmikrocontroller ein Betriebssystem, dass die Steuerung und Kontrolle der Programme übernimmt. Bei einer Chipkarte steht nicht so sehr die Kontrolle von externer Hardware im Vordergrund, sondern viel mehr die folgenden Funktionen:

  • Datenaustausch mit der Chipkarte
  • Dateiverwaltung
  • Kryptographische Funktionen
  • Zugriffskontrolle und Sicherheit

So wie z. B. das Betriebssystem DOS für Disk Operation System steht, gibt es die Bezeichnung COS für das Chipcard Operating System. Viele Hersteller setzen häufig noch ihre Produktbezeichnung vorne an (z. B. TCOS Telesec Chipcard Operating System, ODS-COS Oldenbourg Datensysteme, STARCOS, etc.). Die Systeme richten sich i. d. R. nach der ISO-Norm 7816-4 und stellen alle dort festgelegten Commandos zur Verfügung.

Wie groß ist der Codeumfang vom COS eigentlich?

Im Gegensatz zu Windows und Unix (mehrere Megabyte), ist das COS mit max. 16 KByte ROM recht klein. Dies wird u.a. dadurch erreicht, dass die Karte unter Assembler programmiert wird. Ein Update wie bei Computern ist nach der Herstellung nicht mehr möglich.

Wie arbeitet das Betriebsystem?

Die Befehle erreichen den Mikrocontroller über die serielle IO-Schnittstelle. Fehler werden vom IO-Manager unabhängig von den anderen Modulen gehandelt. Sofern ein Kommando erfolgreich empfangen wurde, wird dieses vom Security Mangager ggf. entschlüsselt und auf Korrektheit überprüft. Anschließend analysiert der Kommandointerpreter den Befehl und führt ihn aus bzw. generiert mit dem Rückmeldungsmanager einen Fehler der über den IO-Manager ein Statusfehlerwort für den Terminal zurückliefert.

Wenn alles geklappt hat, dann geht der Befehl an den Kanalmanager, der bis zu vier logische Kanäle parallel verwalten kann (entsprechend der Chipkartenanwendungen). Danach wird die Zustandsmaschine aufgerufen.

Hier wird die erste semantische Prüfung durchgeführt, nämlich ob der Befehl mit den gegebenen Parametern im aktuellen Zustand der Zustandsmaschine überhaupt erlaubt ist. Verläuft die Prüfung positiv, wird der Befehl in den eigentlich Programmcode konvertiert und ausgeführt. Andernfalls wird wieder mit dem Rückmeldungsmanager ein Fehler über den IO-Manager an das Terminal gesendet.

Sofern der Befehl einen Dateizugriff auslöst, dann wird dies mit Hilfe der Dateiverwaltung ausgeführt, die die logischen Adressen in einer internen physikalischen Adressdarstellung umwandelt und auch die Bereichsgrenzen sowie die Zugriffsbedingungen kontrolliert.

Wie ist die Dateiverwaltung organisiert?

Die Dateiverwaltung ist ähnlich der vom DOS (hierarchisch / Baumstruktur) und für Chipkarten in der Norm ISO 7816-4 definiert.

Das Masterfile (MF) stellt das Wurzelverzeichnis, dass immer beim Reset der Chipkarte selektiert ist. Sofern eine Chipkarte über mehr als eine Anwendung verfügt, können noch Dedactedfiles (DF) angelegt werden, unter denen die verschiedenen Anwendungen Platz finden. Die Schachtelungstiefe der DF's (Unterverzeichnisse) ist beliebig und nur durch den Speicherplatz begrenzt.

Die eigentlichen Daten sind in den Elementaryfiles (EF) abgelegt, die sich unterhalb des Masterfiles (MF) oder der Dedactedfiles (DF) befinden können.

Wie kann ich nun auf eine Datei zugreifen?

Bevor Du auf eine Datei zugreifen kannst, musst Du die Applikation (Anwendung) selektieren in der sich die Datei befindet und schließlich die Datei selber selektieren.

Die Applikationsbezeichnungen sind mit einer Länge von 5-15 Bytes hexcodiert und bestehen aus zwei Einheiten. Die Identifikationskennung (RID) mit einer festen Länge von 5 Bytes (Ländercode, Anwendungskategorie und Nummer für den Anwendungsanbieter) und einer optionalen Kennung PIX, die 0-11 Byte lang sein kann.

Damit Du die Datei selektieren kannst, musst Du diese über einen Namen (FID Fileidentifier) ansprechen können. Dieser Name besteht aus 2 Byte hexcodierten Zahlen (z. B. 3F00 für das Masterfile).

Die Datenstrukturen sind häufig im ASN.1 (Abstract Syntax Notation One) gehalten, die sich z. B. schon bei der Krankenversichertenkarte Einzug gehalten hat.

Die Dateiübertragung

Wie funktioniert die Kommunikation zwischen Chipkarte und Terminal?

Die Kommunikation erfolgt über eine Leitung, die die Daten nur wechselseitig (Halbduplexverfahren) übertragen kann. Ein Vollduplexverfahren ist noch nicht implementiert, aber technisch realisierbar.

Der Datenaustausch verläuft immer nach einem Master-Slave-Prinzip, mit dem Terminal als Master und der Karte als Slave.

Welche Bedeutung hat die ATR?

ATR heißt Answer To Reset. Die Chipkarte sendet bei jedem Reset eine ATR, um unter anderem das verwendete Protokoll dem Terminal mitzuteilen.

Auf die Details wollen wir nicht weiter eingehen, weil die verschiedenen Kommunikationsprotokolle z. B. vom B1-Kartenleser automatisch festgestellt werden.

Welche Übertragungsprotokolle gibt es?

Bei jeder Datenübertragung ist die Einhaltung von Regeln notwendig, die in den Protokollen definiert sind. Die Chipkartenprotokolle sollen folgende Funktionen beinhalten:

  • Datenverluste auf der Übertragungsstrecke erkennen
  • Datenverfälschungen auf der Übertragungsstrecke erkennen
  • Synchronisation

Es sind insgesamt 15 Übertragungsprotokolle in der ISO-Norm 7816-3 vorgesehen. Ihre Bezeichnung setzt sich aus dem Ausdruck 'T=' und einer nachfolgenden natürlichen Zahl zusammen. Die folgende Tabelle zeigt einen Überblick:

Übertragungsprotokoll Beschreibung Bemerkung
T=0 asynchron, halbduplex byteorientiert - speziell in Frankreich sehr verbreitet
T=1 asynchron, halbduplex blockorientiert
fortschrittlichstes
Übertragungsprotokoll
T=2 reserviert für zukünftige
vollduplex Anwendungen
konkreter Standardisierungsvorschlag der
DeTeMobil GmbH
T=3 reserviert für zukünftige
vollduplex Anwendungen
-
T=4 asynchron, halbduplex byteorientiert - in Arbeit, Erweiterung von T=0
T=5 bis T=13 reserviert für zukünftige Anwendungen -
T=14 - für nationale Anwendungen,
nicht von ISO genormt
Protokoll der deutschen
Telekom AG
T=15 - reserviert für zukünftige Erweiterungen
Codierungsmöglichkeit bei mehr als 15 Protokollen

Am weitesten verbreitet sind die Protokolle T=0 und T=1. Das T=0 Protokoll ist für minimalen Speicherbedarf und maximale Einfachkeit ausgelegt und wird weltweit in den GSM-Karten verwendet. Beim T=0 Protokoll handelt es sich um ein Byteorientiertes Übertragungsprotokoll.

Die Sicherheit

Wie ist es mit der Sicherheit bei der Chipkarte gestellt?

  • Die geschützten Daten und Programme können nicht gelesen werden
  • Ein Fehlbedienungszähler sperrt die Karte nach Überschreitung permanent
  • Optional verschlüsselte Datenübertragung zwischen Karte und Terminal
  • Authentifikationsverfahren zwischen Host und Karte nach dem ChallengeResponseVerfahren
  • Kryptographische Funktionen

Weite Informationen findet Ihr auf unserer Chipkartenattacken Seite!

Befehlssatz

Jedes Betriebssystem verfügt über einen Befehlssatz - Wie sieht dieser beim COS aus?

Leider nicht unbedingt einheitlich und definiert. Du kannst im Prinzip von einem Basisbefehlssatz ausgehen, der von den Firmen um spezielle Befehle erweitert wird.

Für die Befehlssätze sind vier internationale Normen (GSM 11.11, prEN 726-3, prEN1546 und ISO 7816-4) vorgeschlagen worden, die mehr als 50 Befehle umfassen und alle voneinander abweisen.

Die Befehle können grob in folgende Gruppen eingegliedert werden:

  • Selektieren von Verzeichnissen und Dateien
  • Lesen und Schreiben von Daten
  • Operationen auf Dateien
  • Identifizierungsbefehle
  • Authentisierungsbefehle
  • Kryptographische Befehl
  • Verwaltung von Dateien

Chipkartenterminals/Leser

Wozu der Kartenleser?

Der Kartenleser ist das Bindeglied zwischen Host (Dein Computer) und der Chipkarte und ist in vielen Varianten erhältlich. Er versorgt die Chipkarte mit Strom und ermöglicht eine datentechnische Verbindung.

Auf unserer Homepage sprechen wir immer vom B1-Chipkartenleser. Dieser hat den Vorteil, dass er die unterschiedlichsten Kartenprotokolle unterstützt und auch gut dokumentiert ist.

Auf unserer Kartenleserpage gehen wir näher auf ein Modell ein. Selbstverständlich sind auch andere Modelle (einfach mal im Internet suchen) erhältlich.

 
Schlagzeilen

Mit dem Neustart unserer Homepage bieten wir exklusive den ultimativen Datenvernichter DateiEx ultra an. Weitere Infos...

Werbung
Conrad Electronic