|
|
 |
 |
|
Smart Card Betriebssysteme
| Grundlagen zum Answer to Reset - ATR
|
Smart Card Kommunikation |
| |
|
|
|
Da bei Smart Cards nur eine Leitung benutzt werden kann, läuft die Kommunikation nur im halbduplex Verfahren. Die beiden freien Kontakte könnten zukünftig für ein Vollduplexverfahren oder USB genutzt werden. Die Kommunikation erfolgt nach einem Master-Slave-Prinzip, sie wird immer vom Terminal angestoßen, die Smart Card sendet selbst nie Daten. Auf ein Kommando des Terminals erfolgt eine Antwort der Karte. Die erste Kommunikation ist ein Reset vom Terminal auf den die Karte mit einem ATR (answer to reset)antwortet, der Karten und Übertragungsparameter enthält. Möglicherweise sendet das Terminal danach noch einen PPS (protocol parameter select). Danach beginnt die Kommando-Antwort Sequenz.
|
Protokolle und Schichten |
Auch die Protokolle zur Kommunikation mit einer Smart Card kann anhand eines dreiteiligen Schichtenmodells klassifiziert werden.
Protokolle der Anwendungsschicht zuzurechnen sind: ISO/IEC 7816-4 u. 7-9, GSM, EMV, TS 31.111 (UMTS) EN 1546-3 (IEP)
Protokolle der Leitungschicht: ISO/IEC 7816-3 (T=0, T=1) ISO 10536-4 (T=2), T=14, USB, Bei T=1 nach EMV sind einige Einschränkungen gegenüber T1 nach ISO getroffen worden. Das in ISO 14443 definierte Protokoll wird oft auch T=CL genannt.
Die physikalische Übertragung: ISO/IEC 7816-2, und die Standards für kontaktlose Karten ISO/IEC 10536, ISO/IEC 14443, ISO/IEC 15693.
|
|
ISO 7816-4,7,8,9 GSM, EMV, TS 31.111, EN 1546-3 proprietäre Protokolle |
ISO 7816-3 ISO 14443-4 |
ISO 7816-2 ISO 14443-2 (Typ A, Typ B) |
|
 |
 |
 |
 |
 |
|
APDUs |
Der Datenaustausch auf der Anwendungsschicht findet mit APDUs (application protocol data units) statt, unabhängig vom darunter liegenden Übertragungsprotokoll bei dem man von TPDUs (transport protocol data unit) spricht. Gemäß der Master-Slave Beziehung existieren Kommando-APDUs (C-APDU) und Antwort-APDUs (R-APDU).
Eine C-APDU besteht aus Header und Body, wobei der Header aus einem Class-Byte einem Instruction-Byte und ein oder zwei Parameterbytes besteht. Während das Class-Byte oft dazu verwendet wird Anwendungen und ihren Befehlssatz zu kennzeichnen, wird im Instruction-Byte das eigentliche Kommando codiert. Der optionale Body enthält die Daten zum Kommando, das Lc - Feld enthält die Länge des Datenfelds (length command) die Daten und eventuell ein Le-Feld welches die Länge der Antwort festlegt (length expected)
Eine R-APDU hat einen optionalen Body, der Daten enthält sowie einen verpflichtenden Trailer. Der Trailer besteht aus den beiden Bytes SW1 und SW2 (Status Word) und stellen den Returncode dar. Die über 50 verschiedenen Returncodes sind systematisch klassifiziert und zeigen die normale Bearbeitung oder bestimmte Warnungen an, bzw. wenn der Prozess abgebrochen wurde, ob es sich um einen Fehler bei der Ausführung oder bei einer durchgeführten Prüfung handelt.
|
Secure Messaging |
Über die Kontaktfläche, über welche die Kommunikation läuft, kann natürlich relativ einfach alles aufgezeichnet werden, bzw. Kommandos und Antworten manipuliert werden können ist zum Austausch sensitiver Informationen in einer nicht vertrauenswürdigen Umgebung ein besonderes Verfahren notwendig.
"Secure Messaging" kann entweder die Integrität durch Checksummen (MACs) oder auch zusätzlich Vertraulichkeit durch Verschlüsselung sicherstellen. Die Integration eines Sendefolgenzählers verhindert dabei ein Wiedereinspielen von Kommunikation.
|
 |
|
Schnittstellen zum Rechner |
Die Kommunikation von Smart Cards mit externen Rechnern kann über PKCS #11
oder bei Windows auch mittels eines für die Smart Card bestimmten CSP (Cryptographic Service Provider) durchgeführt werden.
|
|
|
Linktipps |
|
Cryptoshop Tipps |
|
Handbuch der Chipkarten
Rankl/Effing bei Amazon Das Buch bietet einen praxisorientierten umfassenden Überblick über die Chipkartentechnik. Zunächst werden die erforderlichen Grundlagen, wie Kartenaufbau, elektrische und physikalische Eigenschaften, verwendete Microcontroller dargestellt. Darauf aufbauend werden die für die Entwicklung von Chipkartensystemen wichtigen Techniken, wie Sicherheits- und Informationstechnik, Betriebssystemarchitektur und Befehlssätze, ausführlich behandelt. |
|
Chipkarten-Anwendungen
von Wolfgang Rankl bei Amazon Die meisten Chipkarten-Systeme beruhen auf ähnlichen Lösungen. Dennoch wird häufig viel Zeit investiert, um längst bekannte Mechanismen, Abläufe und Prinzipien neu zu erfinden. Dieses Buch zeigt, dass das nicht sein muss, und stellt eine Vielzahl von Entwurfsmustern und Ideen zur Realisierung von Chipkarten-Anwendungen vor. Zwei Chipkarten inclusive: Testen Sie die vorgestellten Lösungen direkt mit der im Buch enthaltenen Java Card oder der BasicCard |
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|