Application Protocol Data Unit
Die Application Protocol Data Unit ist die Kommunikationseinheit zwischen Chipkarte und einer Chipkartenanwendung nach dem ISO 7816-Standard. Die APDU ist eine Kommunikationseinheit auf Anwendungsebene. Im OSI-Schichtenmodel entspricht das der Schicht 7.Die APDU wird unterschieden in command APDUs, welche Kommandos an die Chipkarte übermitteln und response APDUs, die die Antwort der Karte auf ein Kommando übermittelt. Diese Kommunikation findet nach Etablierung der Kommunikation mittels Answer to Reset und optionaler Protocol Type Selection statt. Die Struktur von command APDU und response APDU sind in der Norm ISO_7816-4 festgelegt.
command APDU
Die Kommando-APDU besteht aus einem Kopf (Header) und einem optionalen Körper (Body).
Die einzelnen Bytes haben folgende Bedeutung:
Wenn keine Antwortdaten erwartet werden, wird das Le Byte des Body weggelassen. Genauso werden Lc Byte und die Daten weggelassen, wenn keine Kommandodaten nötig sind. Abhängig von Kommando- und Antwortdaten lassen sich vier Fälle mit unterschiedlicher Struktur des Kommandos unterscheiden. Sie werden mit case 1 bis case 4 bezeichnet.
Case 1 Kommando
Case 1 ist ein einfaches Kommando ohne Kommandodaten und ohne Antwortdaten. Deshalb kann auf den gesamten Body des Kommandos verzichtet werden:
Case 2 Kommando
Im Case 2 hat das Kommando keine Kommandodaten, erwartet aber Antwortdaten. Daraus ergibt sich folgender Kommandoaufbau:
Case 3 Kommando
Case 3 beschreibt ein Kommando mit Kommandodaten, das keine Antwortdaten erwartet und demnach folgendermaßen aussieht:
Case 4 Kommando
Ein Case 4 Kommando hat sowohl Kommando- als auch Antwortdaten und deswegen den vollständigen Kommandobody:
response APDU
Die response APDU besteht aus einem optionalen Körper (Body) und einem obligatorischen Abschluss (Trailer).
Der Trailer enthält die beiden Status Bytes SW1 und SW2, die zusammen das Statuswort (SW) bilden. Das Statuswort - auch Returncode genannt - gibt Auskunft über die erfolgreiche Abarbeitung des Kommandos oder die Art des Fehlers, der die Abarbeitung verhindert oder unterbrochen hat.
Der Body enthält die Antwortdaten des Kommandos, dessen Länge im Le Byte der command APDU angegeben war. Wenn Le Null ist oder die Kommandoabarbeitung wegen eines Fehlers abgebrochen wurde, werden keine Antwortdaten verschickt. Damit ergeben sich zwei Varianten einer response APDU:
* Le nicht Null und Kommando erfolgreich
* Le ist Null oder Kommando nicht erfolgreich
Statuswörter
Das Statuswort hat entweder den Wert 9000 und zeigt damit die fehlerfreie Abarbeitung des Kommandos an oder einen Wert 6xxx, der die Art der Abweichung vom normalen Ablauf angibt. Die Statuswörter unterliegen der in der Tabelle angegebenen Systematik.
Die folgende Tabelle zeigt die wichtigsten Statuswörter und ihre Bedeutung:
Weblinks
• Smart Card Kommunikation

