Next: Karta Schlumberger Cyberflex Access
Up: Łączność kart procesorowych ze
Previous: Protokół T=1
  Spis tresci
Protokoły warstwy aplikacji
Przyjrzyjmy się teraz bliżej protokołom warstwy aplikacji. Opisaliśmy już
krótko dwa protokoły warstwy aplikacji zdefiniowane w normie
ISO/IEC 7816-4 [27].
Protokołów warstwy aplikacji korzystających z komunikacyjnej warstwy łącza
może istnieć oczywiście dowolnie dużo. Zobaczmy więc, jaką strukturę mają
dane przesyłane pomiędzy aplikacją działającą na karcie a aplikacjami po stronie
czytnika.
Wyróżniamy dwie różne struktury danych (struktury APDU) przesyłane
w protokołach warstwy aplikacji. Pierwsza z nich to polecenie APDU
wysłane przez czytnik do karty.
Druga to odpowiedź APDU wysyłana przez kartę do czytnika.
Rysunek 2.4:
Struktura polecenia APDU
|
Polecenie APDU składa się z nagłówka i treści. Na rysunku
2.4 zaprezentowano strukturę polecenia APDU.
W nagłówku polecenia APDU mieszczą się cztery pola:
- CLA
- określa klasę instrukcji, do której należy polecenie,
- INS
- określa instrukcję, jaką należy wykonać na karcie po otrzymaniu polecenia,
- P1, P2
- zawierają parametry dla instrukcji wywoływanej na karcie.
Zauważmy, że pola nagłówka polecenia APDU pokrywają się z polami
nagłówka
polecenia TPDU w protokole T=0.
Treść polecenia APDU może mieć różną długość i strukturę.
Zależy ona od tego, czy wraz z nią aplikacja
działająca po stronie
czytnika przekazuje do karty dodatkowe dane oraz czy w odpowiedzi
oczekuje od karty pewnych danych.
Treść polecenia APDU może składać się maksymalnie z 3 części.
Pole Lc zawiera długość danych transmitowanych do karty przez
aplikację działającą po stronie czytnika. Pole z danymi przechowuje dane przeznaczone dla
karty. Pole Le określa, ilu danych oczekuje czytnik
w odpowiedzi na polecenie.
W zależności od tego jak wygląda treść polecenia APDU, wyróżnia się cztery
jej postacie.
- Przypadek 1
- Żadne dane nie są przekazywane na kartę ani z karty, więc polecenie
APDU zawiera jedynie nagłówek.
- Przypadek 2
- Dane są przekazywane jedynie z karty do aplikacji działającej po stronie
czytnika, treść polecenia APDU zawiera więc tylko pole Le.
- Przypadek 3
- Dane są przekazywane tylko przez czytnik do
aplikacji działającej na karcie, treść polecenia APDU zawiera
pole Lc i pole z danymi dla karty.
- Przypadek 4
- Dane są przekazywane zarówno z karty, jak i na kartę, treść polecenia zawiera
więc wszystkie trzy pola.
Rysunek 2.5:
Struktura odpowiedzi APDU
|
Struktura odpowiedzi APDU jest dużo prostsza niż polecenie
APDU i zaprezentowano ją na rysunku 2.5.
Odpowiedź składa się co najwyżej z dwóch elementów:
- pierwszym z nich jest blok danych, które karta wygenerowała
w związku z otrzymanym poleceniem APDU.
Jeśli polecenie wydany przez aplikację działającą po stronie
czytnika wymagało, by karta w odpowiedzi wysłała pewne dane
oraz wszystkie operacje, związane z otrzymanym poleceniem, aplikacja na
karcie wykonała pomyślnie, to treść odpowiedzi APDU zawiera pole z danymi
wygenerowanymi przez kartę. Długość pola z danymi, które karta wysyła
w odpowiedzi na polecenie do czytnika
jest równa wartości pola Le zawartego w tym poleceniu
APDU;
- drugi, obowiązkowy element odpowiedzi APDU to status zakończenia instrukcji
wykonanej przez aplikację działającą na karcie w wyniku otrzymania polecenia
APDU
od aplikacji działającej po stronie czytnika.
Next: Karta Schlumberger Cyberflex Access
Up: Łączność kart procesorowych ze
Previous: Protokół T=1
  Spis tresci
Janina Mincer-Daszkiewicz
2001-11-21