Child pages
  • ISO 7816-4 Schnelleinstiegs-Guide für Smartcards
Skip to end of metadata
Go to start of metadata


Application Protocol Data Unit Struktur

APDUs sind Dateneinheiten, die aus einer Instruktion, Meta-Informationen, Parametern und einem optionalen Datenfeld bestehen. 

Obligatorischer Teil:

  • 1 Class-Byte mit Metainformationen über z.B. Sicherheit, Übertragungs-Kanal
  • 1 Instruction-Byte
  • 2 seperate Parameter-Bytes

Struktur des Class-Byte:

Bit 8Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bedeutung
000




Format 1: Für Kanal-IDs zwischen 0 und 3



0



Letztes oder einziges Command in der Command Chain



1



Nicht letztes Command in der Command Chain




00

Kein Secure Messaging oder keine Angabe




01

Proprietäres Secure Messaging Format




10

Secure Messaging




11

Secure Messaging






XXÜbertragungskanal-ID (0-3)
01





Format 2: Für Kanal-IDs zwischen 4 und 19


0




Kein Secure Messaging oder keine Angabe


1




Secure Messaging



0



Letztes oder einziges Command in der Command Chain



1



Nicht letztes Command in der Command Chain




XXXXÜbertragungs-Kanal ID (Scope: 4-19, Offset von 4 auf den eigentlich angegebenen Wert)


Optionaler Teil:

  • Längenangabe der geschickten Daten L(c); 0 Byte bei keinen Daten(leer); 1 Byte bei Werten zwischen 1 und 256(0x00 steht für 256), 3 Byte bei Angaben zwischen 257 und 65535 wobei Byte 1 ein Indikator-Byte für eine in 2 Bytes kodierte Länge ist. Byte 2 und 3 kodieren in diesem Fall den eigentlichen Längenwert.
  • Data Load: Byte-Sequenz mit der Länge L(c); kann zwischen 0 und 65535 liegen
  • Erwartete Länge der Antwort-Daten L(e); 0 Byte wenn keine Daten erwartet, 1 Byte bei Werten zwischen 1 und 255; 2 Byte falls der Data Load schon extended war, das Indikator-Byte fällt weg. 3 Byte falls der Data Load zwischen 0 und 256 lag, in diesem Fall ist das erste Byte wieder ein Indikator(0x00) für ein in 2 Bytes kodierter Wert

Wichtigste Instructions

SELECT - 0xA4: 

Selektion von Ordnern, Dateien und Applikationen - Wechsel des Übertragungskanals

Parameter 1:

Parameter 2:. 

Data Load: 

Expected Length: 

Auswahl des Kanals erfolgt via Setzen der Bits im Class-Byte, die den Kanal angeben (siehe oben).

Besondere File Identifier:

3F00 - Master File


VERIFY - 0x20:

Authentifizierung mit der Smart Card, Herstellung einer Sicherheitsumgebung

Parameter 1:

Parameter 2:

Data Load:

Expected Length:


GET DATA - 0xCA bzw. 0xCB:

Abrufen von Dateien via Dateienbezeichner

INS-Code 0xCA dient zur Selektion via File Tag(Kategorie), Code 0xCB via File Identifier(Name).

TLV steht für "Tag-Length-Value", jedes Datenobjekt als 2- bzw. 3-Tupel gespeichert, wobei Value optional ist. Wenn Value fehlt, muss Länge gleich 0 sein. TLV können "Simple" (mit Scope 0-254 für den Tag) oder "(ASN.1) BER"-basierend sein.

CodeParameter 1Parameter 2Bedeutung
0xCA0x000x00File Dumping, Card-originated Byte Strings (Erklärung wird nachgereicht)

0x000x40 - 0xFFP2 beinhält den BER-TLV Tag der File

0x010x00 - 0xFF

Reserviert für proprietäre Funktionen


0x020x00 - 0xFFP2 beinhält den Simple-TLV Tag der File
0xCB0x000x01 - 0x1DShort File Identifier(max. 5 Bit) in Parameter 2, Scope 1-30

0x00-0xFF0x1E - 0xFFFile Identifier mit Wert 0-65535



Spezielle File Tags:

Historical Bytes: 5F52

Answer to Reset(ATR): 5F52


Alle Status Codes von Response APDUs



  • No labels