Application Protocol Data Unit
Wygląd
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 lub 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
[edytuj | edytuj kod]- ↑ ISO/IEC 7816-4:2005 Identification cards – Integrated circuit cards – Part 4: Organization, security and commands for interchange. Iso.org, 2008-10-037.
- ↑ Opis wybranych kodów SW1 i SW2. cheef.ru. [zarchiwizowane z tego adresu (2009-06-23)]..