Application Protocol Data Unit

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Application Protocol Data Unit (APDU) – struktura danych w protokole komunikacji między czytnikiem a kartą elektroniczną (np. między telefonem a kartą SIM). Struktura ramki APDU zdefiniowana jest w ISO/IEC 7816-4 Organization, security and commands for interchange[1].

Istnieją 2 kategorie APDU: polecenie APDU (od czytnika do karty) oraz odpowiedź APDU (od karty do czytnika). Polecenie APDU składa się z obowiązkowego nagłówka (4 bajty na pola: CLA, INS, P1, P2) i z opcjonalnej liczby danych (od 0 do 255 bajtów). Odpowiedź APDU stanowią 2 bajty statusowe oraz od 0 do 256 bajtów z danymi.

Polecenie APDU
Pole Długość (w bajtach) Opis
CLA 1 określa klasę instrukcji, do której należy polecenie
INS 1 określa konkretną instrukcję do wykonania na karcie, np: "zapisz dane"
P1-P2 2 określa parametry instrukcji, np. offset w pliku, do którego mają być zapisane dane
Lc 0, 1 lub 3 określa liczbę (Nc) bajtów z danymi
Dane instrukcji Nc Nc bajtów z danymi
Le 0, 1, 2 or 3 określa maksymalną liczbę (Ne) bajtów spodziewanych w odpowiedzi
Odpowiedź APDU
Dane odpowiedzi. Nr (max. Ne) Dane zwrócone przez kartę na zadaną instrukcję z parametrami.
SW1-SW2[2]
2 Kody statusu odpowiedzi, np 90 00 (szesnastkowo) oznacza prawidłową odpowiedź

Przypisy