next up previous contents
Next: Protokoły warstwy łącza Up: Karty procesorowe Previous: Podsumowanie   Spis tresci


Łączność kart procesorowych ze światem zewnętrznym

Świat zewnętrzny komunikuje się z kartą procesorową za pośrednictwem czytnika.

Ze względu na fizyczny mechanizm komunikacji karty procesorowe dzielimy na kontaktowe oraz bezkontaktowe.

Komunikacja kontaktowych kart procesorowych z czytnikiem jest oparta na przesyłaniu sygnałów elektrycznych. Elektryczne styki są umieszczone w module karty. Za ich pośrednictwem czytnik komunikuje się z kartą oraz dostarcza do niej zasilanie. Kontaktowe karty procesorowe są aktywowane w momencie włożenia do czytnika. Komunikacja bezkontaktowych kart procesorowych z czytnikiem odbywa się za pomocą fal radiowych. Karty bezkontaktowe indukują napięcie z pola magnetycznego wytwarzanego przez czytnik. Są one aktywowane, gdy znajdą się w bliskim sąsiedztwie czytnika.

Przyjrzyjmy się, jak czytnik aktywuje kartę. Czytnik wysyła karcie polecenie, by rozpoczęła właściwą jej procedurę inicjowania, a w szczególności by zainicjowała swój mikroprocesor. Gdy karta zakończy tę procedurę, wysyła do czytnika ciąg danych -- ATR (ang. Answer To Reset). ATR zawiera informacje o inicjowanej karcie -- jej typ, model, przeznaczenie oraz protokół, za pomocą którego karta będzie komunikować się z czytnikiem. Norma ISO 7816-3 [27] definiuje dwa protokoły: T=0T=1, które zostaną opisane w dalszej części rozdziału. Gdy czytnik otrzyma od karty ATR, uznaje, że połączenie pomiędzy nim a kartą zostało ustanowione.

Fizyczny kanał komunikacyjny pomiędzy kartą a czytnikiem jest jednokierunkowy: albo karta oczekuje na dane wysyłane przez czytnik, albo czytnik oczekuje na dane od karty.

Ponad fizyczną warstwą komunikacyjną znajduje się warstwa łącza. Wprawdzie standardy przewidują istnienie wielu protokołów warstwy łącza, jednak obecnie używa się jedynie dwóch: T=0T=1.

Protokoły warstwy łącza pomiędzy czytnikiem a kartą należą do grupy protokołów polecenie-odpowiedź (ang. command-and-response protocol). Za pomocą tych protokołów czytnik wydaje karcie polecenia, dostarczając jednocześnie parametry potrzebne przy ich wykonaniu. Karta natomiast, po wykonaniu operacji zleconych przez czytnik, odsyła ich rezultaty wraz z informacją, czy działania zakończyły się powodzeniem, a jeśli nie, to jakim błędem. To zawsze czytnik inicjuje wykonanie wszelkich działań na karcie.

Z komunikacyjnej warstwy łącza korzystają protokoły warstwy aplikacji, które umożliwiają komunikowanie się aplikacji znajdującej się na karcie z aplikacjami działającymi po stronie czytnika. Struktury danych przesyłane pomiędzy tymi aplikacjami nazywamy strukturami APDU (ang. application protocol data unit).

W normie ISO/IEC 7816-4 [27] zdefiniowano dwa protokoły warstwy aplikacji. Jeden z nich pozwala aplikacjom znajdującym się po stronie czytnika manipulować systemem plików znajdującym się na karcie -- za jego pomocą można modyfikować i odczytywać zawartość uprzednio wybranych plików.

Drugi protokół umożliwia bezpieczną wymianę informacji pomiędzy kartą a światem zewnętrznym. Przy jego pomocy karta może udowodnić czytnikowi swoją tożsamość. Aplikacja znajdująca się po stronie czytnika może natomiast dowieść, że ma prawo dostępu do plików, znajdujących się na karcie, w żądany przez nią sposób. Z każdym plikiem znajdującym się na karcie związana jest bowiem lista praw dostępu, która określa, w jaki stan należy wprowadzić system operacyjny karty, by umożliwił odpowiednie korzystanie z tego pliku. Zatem aby aplikacja znajdująca się po stronie czytnika mogła korzystać z pliku w żądany przez nią sposób, musi wykonać poprawnie serię operacji zdefiniowaną w liście praw dostępu do pliku. W liście tej może być na przykład zapisane, że aby odczytać zawartość pliku, czytnik musi dostarczyć karcie odpowiedni numer PIN.



Subsections
next up previous contents
Next: Protokoły warstwy łącza Up: Karty procesorowe Previous: Podsumowanie   Spis tresci
Janina Mincer-Daszkiewicz 2001-11-21