Im Kontext von Smartcards ist eine Application Protocol Data Unit ( APDU ) die Kommunikationseinheit zwischen einem Smartcard-Lesegerät und einer Smartcard. Die Struktur der APDU ist in ISO/IEC 7816-4 Organisation , Sicherheit und Befehle für den Datenaustausch definiert . [ 1 ]
APDU-Nachrichten-Befehl-Antwort-Paar
Es gibt zwei Kategorien von APDUs: Befehls-APDUs und Antwort-APDUs. Eine Befehls-APDU wird vom Lesegerät an die Karte gesendet – sie enthält einen obligatorischen 4- Byte -Header (CLA, INS, P1, P2) [ 2 ] und 0 bis 65.535 Byte Daten. Eine Antwort-APDU wird von der Karte an das Lesegerät gesendet – sie enthält 0 bis 65.536 Byte Daten und zwei obligatorische Statusbytes (SW1, SW2).
| Befehl APDU | ||
|---|---|---|
| Feldname | Länge (Bytes) | Beschreibung |
| CLA | 1 | Befehlsklasse – gibt die Art des Befehls an, z. B. branchenübergreifend oder proprietär. |
| INS | 1 | Befehlscode – gibt den spezifischen Befehl an, z. B. „select“, „write data“ |
| P1-P2 | 2 | Befehlsparameter, z. B. der Offset in der Datei, an dem die Daten geschrieben werden sollen. |
| L c | 0, 1 oder 3 | Kodiert die Anzahl (N c ) der folgenden Bytes an Befehlsdaten. 0 Bytes bedeuten N c = 0; 1 Byte mit einem Wert von 1 bis 255 bedeutet N c mit der gleichen Länge; 3 Bytes, von denen das erste 0 sein muss, bedeuten N c im Bereich von 1 bis 65; 535 (alle drei Bytes dürfen nicht null sein). |
| Befehlsdaten | N c | N c Bytes an Daten |
| L e | 0, 1, 2 oder 3 | Kodiert die maximale Anzahl (N e ) der erwarteten Antwortbytes. 0 Bytes bedeuten N <sub>e</sub> = 0. 1 Byte im Bereich von 1 bis 255 bedeutet diesen Wert von N<sub> e</sub> , oder 0 bedeutet N <sub>e</sub> = 256. 2 Bytes (falls das erweiterte L<sub> c </sub> im Befehl vorhanden war) im Bereich von 1 bis 65.535 bedeuten N<sub> e</sub> mit diesem Wert, oder zwei Null-Bytes bedeuten 65.536. 3 Bytes (falls L<sub> c</sub> nicht im Befehl vorhanden war), von denen das erste 0 sein muss, bedeuten N<sub> e</sub> auf die gleiche Weise wie ein zweibyte L<sub> e</sub>. |
| Antwort APDU | ||
| Antwortdaten | N r (höchstens N e ) | Antwortdaten |
| SW1-SW2 (Einsatzanhänger) | 2 | Der Status der Befehlsverarbeitung, z. B. 90 00 ( hexadezimal ), bedeutet Erfolg [ 2 ]. |
Siehe auch
Referenzen
- ^ ISO/IEC 7816-4:2020 — Identifikationskarten — Karten mit integrierten Schaltkreisen .
- ^ a b Celer, Victor (2021-12-25). „Using the SIMcard as a Security Module (HSM)“ . CelerSMS . 1 (2): 13–17 . ISSN 2745-2336 . OCLC 1295467772 .