Wykład 5: Komunikacja z kartą elektroniczną



Podobne dokumenty
Wykład 5: Komunikacja z kartą elektroniczną

Laboratorium Programowania Kart Elektronicznych

Programowanie kart elektronicznych. wykład 9: Polecenia - część 1

Laboratorium Programowania Kart Elektronicznych

Programowanie kart elektronicznych. wykład 11: System zarządzania plikami

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Przesyłania danych przez protokół TCP/IP

Hardware mikrokontrolera X51

Magistrala LIN

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

Problematyka sieci miejscowej LIN

Laboratorium Programowania Kart Elektronicznych

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A

Interfejs transmisji danych

Kod produktu: MP01105

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

OPIS KODU ZDALNEJ SYNCHRONIZACJI CZASU

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

Adres rejestru. szesnastkowo. Typ zmiennej. Numer funkcji Modbus. Opis zmiennej. (dziesiętnie)

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

Komunikacja w mikrokontrolerach Laboratorium

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

SYGNALIZATORY MIEJSCA ZWARCIA W SIECI KABLOWEJ SN Z SERII SMZ-4DM INSTRUKCJA OBSŁUGI PRZEZ PROTOKÓŁ MODBUS RTU

Tranzystor JFET i MOSFET zas. działania

Aparat telefoniczny POTS i łącze abonenckie

Programowanie mikrokontrolerów. 8 listopada 2007

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Gatesms.eu Mobilne Rozwiązania dla biznesu

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

16MB - 2GB 2MB - 128MB

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

asix4 Podręcznik użytkownika MELSECA - drajwer dedykowanego protokołu sterowników MITSUBISHI Podręcznik użytkownika

CR232.S v2 KONWERTER CAN / RS232

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Systemy wbudowane - wykład 7

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

DOKUMENTACJA TECHNICZNA SMS API MT

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

Karta kibica - wymagania dla systemów stadionowych Strona 1 z 9

Laboratorium Programowania Kart Elektronicznych

SM211 RS485 - JBUS/MODBUS dla SM103E. Æ Instrukcja obsługi

Konfiguracja parametrów pozycjonowania GPS /5

Laboratorium Komputerowe Systemy Pomiarowe

Wbudowane układy komunikacyjne cz. 1 Wykład 10

DODATEK A OPIS INTERFEJSU SIECIOWEGO FMP300

RFID. Czytniki RFID. Instrukcja rev. 1.01

Mikroprocesor Operacje wejścia / wyjścia

Organizacja typowego mikroprocesora

asix5 Podręcznik użytkownika Strategia buforowa

Programowanie Mikrokontrolerów

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

dr inż. Jarosław Forenc

Architektura komputerów. Układy wejścia-wyjścia komputera

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Spis treści. 1 Moduł Modbus TCP 4

TECHNIKA MIKROPROCESOROWA

1 Moduł Modbus ASCII/RTU 3

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Tabela wewnętrzna - definicja

interfejs szeregowy wyświetlaczy do systemów PLC

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Struktura i działanie jednostki centralnej

Kod produktu: MP01105T

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Wykład 3. Interfejsy CAN, USB

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Interfejsy systemów pomiarowych

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

asix4 Podręcznik użytkownika AS511 - drajwer protokołu AS511 dla SIMATIC Podręcznik użytkownika

4.1.5 Zakładka: Monitoring GPRS Zakładka: LogicProcessor. Konfiguracja systemu.

RS-H0-06 BZ M12. Czytnik RFID MHz Mifare. Karta produktu

Warstwy i funkcje modelu ISO/OSI

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

asix4 Podręcznik użytkownika LUMBUS - drajwer regulatorów firmy LUMEL Podręcznik użytkownika

UKŁADY MIKROPROGRAMOWALNE

LEKCJA TEMAT: Zasada działania komputera.

Wykład PASCAL - Pliki tekstowe

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

PRZEDSTAWIENIE WYNIKÓW ANALIZY STRUKTURY NAGŁÓWKA RAMKI CAN POD KĄTEM WPŁYWU POSZCZEGÓLNYCH PÓL NA LICZBĘ WSTAWEK BITOWYCH

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Instrukcja obsługi czytnika MM-R32

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

Komunikacja RS485 - MODBUS

Transkrypt:

Wykład 5: Komunikacja z kartą elektroniczną dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011

KOMUNIKACJA Z KARTĄ ELEKTRONICZNĄ podstawy komunikacji, podstawowe komunikaty, bezpieczna transmisja danych, kanały i protokoły warstwy łącza danych, łączenie terminali z systemami wyższego poziomu dr inż. dr Marek inż. Marek Mika, Mika, Instytut Instytut Informatyki, Politechnika Poznańska, 2011 2011 2

Komunikacja z kartą elektroniczną podstawy ATR Answer to Reset PPS Protocol Parameter Selection struktura komunikatu APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 3

Komunikacja z kartą elektroniczną W protokołach ISO/IEC T=0 i T=1 tylko jedna linia przeznaczona dla celów komunikacji Półdupleks dupleks możliwy (np. AUX1 lub AUX2) Master-slave Tryb uśpienia karty (niskiego poboru energii) pomiędzy komunikatami Inicjowanie komunikacji odbywa się według określonego schematu KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 4

Stany karty podczas aktywacji i komunikacji z terminalem smart card electrically deactivated smart card electrically activated smart card powered up send ATR smart card in sleep pmode smart card recives data (command APDU or PPS request) smart card in active mode Karta po otrzymaniu komunikatu od terminala, przetwarza go, po czym wysyła odpowiedź i przechodzi w stan uśpienia, aż do momentu otrzymania następnego komunikatu z terminala smart card sends data (response APDU or PPS response) KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 5

Początek komunikacji terminal - KE terminal suitable protocol? yes no initial reset as part of the activation sequence (power-on reset/cold reset) ATR for T=14 reset via reset line (warm reset) ATR for T=1 command 1 response 1... smart card - karta trafia do terminala - styki karty mechanicznie łączone ze stykami terminala - aktywne styki karty są aktywowane elektrycznie w odpowiedniej sekwencji - karta automatycznie wykonuje power-on reset - karta wysyła do terminala ATR (Answer to Request) - terminal przetwarza ATR (parametry karty i transmisji) - terminal wysyła pierwsze polecenie - karta przetwarza polecenie i generuje odpowiedź - karta wysyła odpowiedź do terminala KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 6

Komunikacja terminal - KE Po nawiązaniu komunikacji przesyłanie poleceń i odpowiedzi jest kontynuowane do momentu dezaktywacji karty Pomiędzy ATR a pierwszym poleceniem terminal może wysłać PPS (Protocol Parameter Selection) PPS podobnie jak ATR jest niezależne od protokołu transmisji i może być używane do konfigurowania parametrów protokołu transmisji karty KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 7

Model OSI dla komunikacji terminal -KE OSI layer 7 - application OSI layer 2 data link ISO/IEC 7816 parts: 4,7,8,9; EN 1546-3; EMV 2000; TS 51.011; TS 51.014; TS 31.102; TS 31.111; TS 102 222 ISO/IEC 7816-3 (T=0, T=1) USB specification OSI layer 1 - physical with contacts: ISO/IEC 7816-3 USB specification contactless: ISO/IEC 14 443 ISO/IEC 15 693 KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 8

Komunikacja z kartą elektroniczną W praktyce KE często nie mają wszystkich opcji protokołu transmisji ze względu na ograniczony rozmiar pamięci Z funkcjonalnego punktu widzenia wybiera się tylko te opcje, które są istotne dla danej aplikacji lub karty elektronicznej Wybrane opcje nie mogą być unikalne ze względu na konieczność komunikowania się z różnymi terminalami W terminalach implementowana jest na ogół pełna funkcjonalność KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 9

Komunikacja z kartą elektroniczną podstawy ATR Answer to Reset PPS Protocol Parameter Selection struktura komunikatu APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 10

ATR - charakterystyka Kiedy: bezpośrednio po zastosowaniu sygnałów napięcia, zegara i reset Kierunek: karta terminal Długość: do 33 bajtów (rzadko, częściej krótszy komunikat) Zawartość: parametry związane z kartą i protokołem transmisji danych dzielnik 372 (zgodność z ISO/IEC 7816-3 uniezależnienie od parametrów transmisji) KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 11

ATR zależności czasowe reset high t low I/O undefined t 1 start bit t Musi wystąpić między 400 a 40 000 cyklem zegarowym po sygnale reset z terminala: 112 s 11,2 ms dla zegara 3,5 MHz 81,4 s 8,1 ms dla zegara 4,9 MHz Jeśli terminal nie otrzyma sygnału początku ATR, to ponawia sekwencję aktywacji (do 3 razy) Jeśli terminal nie otrzyma po trzech próbach sygnału ATR, to przyjmuje, że karta jest uszkodzona Według ISO/IEC 7816-3 maksymalny odstęp pomiędzy zboczami narastającymi dwóch kolejnych bajtów w transmisji ATR wynosi 9600 etu (tzw. initial waiting time) tj. 1 s dla zegara 3,5 MHz W niektórych systemach operacyjnych KE czas ten jest wykorzystywany na wewnętrzne obliczenia i operacje zapisu do pamięci EEPROM KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 12

Podstawowa struktura ATR TS 1 2 T0 b1...b4 b5 b6 b7 b8 1 0 TA 1 TB 1 TD 1 b1...b4 b5 b6 b7 b8 2 protocol TA 2 TB 2 TD 2 b1...b4 b5 b6 b7 b8 3 protocol TC 1 TC 2 TS znak inicjujący T0 znak formatu TA 1,TB 1,TC 1,TD 1, - znaki interfejsu T1,T2,,TK znaki historyczne TCK znak kontrolny TA 3 TB 3 TC 3 3 TD 3 b1...b4 b5 b6 b7 b8 4 protocol TA 4 TB 4 TC 4 4 TD 4 0 T1, T2,, TK TCK KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 13

TS znak inicjujący Określa konwencję używaną dla kolejnych bajtów ATR-u i następującego po nim protokołu komunikacyjnego Zawiera wzorzec bitowy umożliwiający terminalowi obliczenie dzielnika: pomiar czasu pomiędzy dwoma pierwszymi zboczami opadającymi i podzielenie przez 3 wynikiem etu zazwyczaj nie obliczane ze względu na ustaloną wartość dzielnika 372 Bajt obowiązkowy Dopuszczalne wartości: 3B konwencja bezpośrednia (Niemcy), 3F konwencja odwrócona (Francja) Wszystkie terminale i większość kart działa w obydwu konwencjach KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 14

TS konwencja bezpośrednia 3B bit number bit value b1 1 b2 1 b3 0 b4 1 b5 1 b6 1 b7 0 b8 0 I/O high low 0 1 2 3 4 5 6 7 8 9 10 t [etu] start bit data bits 1 8 parity bit KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 15

TS konwencja odwrócona 3F bit number bit value b8 0 b7 0 b6 1 b5 1 b4 1 b3 1 b2 1 b2 1 I/O high low 0 1 2 3 4 5 6 7 8 9 10 t [etu] start bit data bits 8 1 parity bit KOMUNIKACJA Z KE - PODSTAWY dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 16

T0 znak formatu Drugi bajt komunikatu ATR Bajt obowiązkowy Określa, jakie następne znaki interfejsu wystąpią w komunikacie oraz liczbę znaków historycznych Kodowanie znaku T0: bity znaczenie b8=1 przesyłany TD 1 b7=1 przesyłany TC 1 b6=1 przesyłany TB 1 b5=1 przesyłany TA 1 b4 b1 liczba znaków historycznych 0-15 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 17

Znaki interfejsu TA i,tb i,tc i,td i Określają parametry transmisji stosowanego protokołu Opcjonalne Dla wszystkich parametrów zdefiniowane wartości domyślne nie ma potrzeby przesyłania odpowiadających im bajtów Dwie grupy parametrów: globalne (wspólne dla wszystkich protokołów lub tylko dla T=0) i specjalne (charakterystyczne dla konkretnego protokołu) KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 18

Znaki interfejsu TD i Służą wyłącznie wskazaniu, które znaki protokołu wystąpią w dalszej części komunikatu Starsze 4 bity bajta zawierają wzorzec dotyczący bajtów TA i+1,tb i+1,tc i+1,td i+1 taki sam jak w T0 Młodsze 4 bity oznaczają numer protokołu Bajt TD i nie występuje, bity znaczenie jeśli nie występuje żaden b8=1 przesyłany TD i+1 z bajtów TA i+1,tb i+1,tc i+1, b7=1 przesyłany TC i+1 TD i+1 b6=1 przesyłany TB i+1 Kodowanie znaku TD i b5=1 przesyłany TA i+1 b4 b1 numer protokołu *0,, 15+ KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 19

Globalny znak interfejsu TA 1 Starsze cztery bity kodują parametr F i (dzielnik współczynnik konwersji częstotliwości zegara) Cztery młodsze bity kodują parametr D i (współczynnik regulacji szybkości transmisji) Interwał bitowy dla ATR i PPS początkowa podstawowa jednostka czasu (initial etu) 372 initialetu [s] f Interwał bitowy dla protokołu stosowanego po ATR i PPS robocza podstawowa jednostka czasu F 1 work etu [s] D f KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 20

Wartośd binarna F i (bity 8 5) f max (bity 8 5) *MHz] D i (bity 4 1) 0000 372 4 ZPZ 0001 372 5 1 Kodowanie TA 1 0010 558 6 2 0011 744 8 4 0100 1 116 12 8 0101 1 488 16 16 0110 1 860 20 32 0111 ZPZ n/d 64 1000 ZPZ n/d 12 1001 512 5 20 1010 512 7,5 ZPZ 1011 768 10 ZPZ 1100 1 536 15 ZPZ KOMUNIKACJA Z KE - ATR 1101 2 048 20 ZPZ 1110 ZPZ n/d ZPZ 1111 ZPZ n/d ZPZ dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 21

Globalny znak interfejsu TA i b8-b7 00 nie wspierany 01 niski poziom 10 wysoki poziom 11 brak preferowanego stanu X TA i koduje dwie wartości: wskaźnik stopu X (bity 8-7) określający logiczny stan, jaki powinien być osiągnięty po zatrzymaniu wskaźnik klasy Y (bity 6-1) określający klasę napięcia zasilającego (wartości obecnie nieużywane zarezerwowane dla przyszłych zastosowań) Znak TA i jest interpretowany jako globalny, gdy i>2 oraz T=15 w TD i-1 b6 b1 00 0001 Klasa A (4,5-5,5 V) 00 0010 Klasa B (2,7-3,3 V) 00 0100 Klasa C (1,62-1,98 V) 00 0011 Klasy A i B 00 0110 Klasy B i C 00 0111 Klasy A, B i C Y KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 22

Globalny znak interfejsu TC 1 TC 1 koduje parametr N czas dodatkowej przerwy w transmisji definiowanej jako rozszerzenie bitu stopu Wartość N określa ile dodatkowych etu jest dodawanych do sygnału przerwy (liniowo od 0 do 254) Wartość 255 ( FF) ma specjalne znaczenie: dla protokołu T=0 przerwa 2 etu dla protokołu T=1 przerwa skrócona z 2 do 1 etu (daje skrócenie transmisji rzędu 10% - 11 bitów zamiast 12) KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 23

Specjalny znak interfejsu TC 2 Definiowany dla protokołu T=0 Koduje parametr WI służący do wyznaczenia czasu oczekiwania WT maksymalnego odstępu pomiędzy zboczami narastającymi dwóch kolejnych bajtów Wartość domyślna WI=10 WT WI i F 960 f work etu KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 24

Specjalny znak interfejsu TA i (i>2) Koduje maksymalną długość pola informacji (IFSC Information Field Size for the Card), jakie może być odebrane przez kartę Wartości od 1 do 254 Wartość domyślna 32 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 25

Specjalny znak interfejsu TB i (i>2) Młodszy półbajt (bity b4 do b1): parametr CWI służący do wyznaczenia czasu oczekiwania znaku CWT określonego wzorem: CWT Starszy półbajt (bity b8 do b5): parametr BWI służący do wyznaczenia czasu oczekiwania bloku BWT określonego wzorem BWT KOMUNIKACJA Z KE - ATR 11 CWI 11 2 work etu 2 BW I 960 dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 26 F f d work etu

Specjalny znak interfejsu TC i (i>2) Koduje na bicie b1 sposób obliczania kodu detekcji błędów: 0 dla metody LRC 1 dla metody CRC Bity b8-b2 zarezerwowane do przyszłych zastosowań KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 27

Globalny znak interfejsu TA 2 Koduje dopuszczalne tryby dla komunikatu PPS Bity Wartośd Znaczenie b8 0 Możliwe przełączenie między trybem negocjowanym a specjalnym b8 1 Niemożliwe przełączanie między trybem negocjowanym a specjalnym b7-b6 00 Zarezerwowane do przyszłych zastosowao b5 0 Parametry transmisji jawnie określone znakami interfejsu b5 1 Parametry transmisji niejawnie określone znakami interfejsu b4-b1 X Protokół T=X jest używany KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 28

Znaki historyczne Przez długi czas nie ujęte w żadnym standardzie efekt wiele specyfikacji dla tych znaków, które obowiązują wyłącznie w danym systemie operacyjnym Często używane jako identyfikator: systemu operacyjnego, numeru wersji maski ROM lub flash OS Kodowane zazwyczaj w ASCII Opcjonalne i często pomijane KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 29

Znaki historyczne c.d. Norma ISO/IEC 7816-4 przewiduje obok znaków historycznych również plik o zarezerwowanym FID= 2F01 Plik położony jest tuż za plikiem MF Dane kodowane w ASN.1; Struktura pliku nie określona w normie Dane w pliku bądź w znakach historycznych mogą zawierać informacje o: karcie, systemie operacyjnym, funkcjach, wydawcy karty, numerze seryjnym karty i mikrokontrolera itp. Wg ISO/IEC 7816-4 znaki historyczne mogą zawierać: obowiązkowy wskaźnik kategorii (bajt T1), 1 lub więcej opcjonalnych bloków danych w kompaktowym formacie TLV (T-I-szy półbajt/l-ii-gi półbajt), opcjonalny wskaźnik stanu Wskaźnik stanu wskazuje etap cyklu życia karty elektronicznej KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 30

T1 wskaźnik kategorii Zawiera informację o strukturze danych w ATR Dane po wskaźniku kategorii zawierają informacje o funkcjach i usługach oferowanych przez system operacyjny karty Wartośd Znaczenie 00 Informacja o stanie jest umieszczona na koocu znaków historycznych 10 Odwołanie do pliku DIR 80 Informacje o stanie są przechowywane w obiekcie danych kodowanym w kompaktowym TLV 81 8F pozostałe Zarezerwowane dla przyszłych zastosowao Zależne od aplikacji KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 31

Bity Wartość Znaczenie Kodowanie obiektu danych w kompaktowym TLV 31 (3-znacznik, 1-długość) KOMUNIKACJA Z KE - ATR Kodowanie usług karty niezależnych od zastosowań b8 1 Wybór zastosowao z pełną nazwą pliku DF b7 1 Wybór zastosowao z częściową nazwą pliku DF b6 1 Obiekty danych dostępne w pliku DIR b5 1 Obiekty danych dostępne w pliku ATR b4 1 Obiekty danych mogą byd odczytane z DIR lub ATR poleceniem READ BINARY b4 0 Obiekty danych mogą byd odczytane z DIR lub ATR poleceniem READ RECORD b3 b1 000 Nie używany dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 32

Kodowanie funkcji karty tablica pierwsza Bity Wartość Znaczenie b8 1 Wybór DF z pełną nazwą DF b7 1 Wybór DF z częściową nazwą DF b6 1 Wybór DF przez określenie ścieżki b5 1 Wybór DF z FID b4 1 Pośredni wybór DF (z wymaganym zastosowaniem) b3 1 Obsługiwane są krótkie FID-y b2 1 Obsługiwana liczba rekordów b1 1 Obsługiwane identyfikatory rekordów Kodowanie obiektu danych w kompaktowym TLV 71, 72, 73 w zależności od ilości danych KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 33

Kodowanie funkcji karty tablica druga Bity Wartość Znaczenie b7-b6 00 Polecenie WRITE działa jak funkcja zapisu jednorazowego b7-b6 01 Zachowanie polecenia WRITE zależy od zastosowania b7-b6 10 Polecenie WRITE działa jak suma logiczna OR b7-b6 11 Polecenie WRITE działa jak iloczyn logiczny AND b4 1 Pośredni wybór DF (z wymaganym zastosowaniem) b3-b1 xxx Rozmiar jednostki danych wyrażony w półbajtach modulo 2 b8,b5-b4 0 00 Nie używane Kodowanie obiektu danych w kompaktowym TLV 71, 72, 73 w zależności od ilości danych KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 34

Kodowanie funkcji karty tablica trzecia Bity Wartość Znaczenie b8 1 Dopuszczalny łaocuch poleceo b7 1 Rozszerzone pole L c i /L e b5-b4 10 Kanały logiczne przydzielane przez kartę przy zastosowaniu polecenia MANAGE CHANNEL b5-b4 01 Kanały logiczne przydzielane przez terminal przy zastosowaniu polecenia MANAGE CHANNEL b5-b4 00 Kanały logiczne nie obsługiwane b6, b3-b1 x yzt Maksymalna liczba kanałów logicznych (8x + 4y + 2z + t + 1) Kodowanie obiektu danych w kompaktowym TLV 71, 72, 73 w zależności od ilości danych KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 35

Znak kontrolny TCK Ostatni bajt komunikatu ATR Suma XOR wszystkich znaków od T0 Stosowany do kontroli poprawności transmisji Jeśli jedynym protokołem jest T=0, to znak TCK jest niedopuszczalny Jeśli stosowany jest protokół T=1 to znak TCK jest obowiązkowy KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 36

Praktyczne przykłady zastosowań ATR Karta z protokołem T=1 i konwencją bezpośrednią Karta STARCOS z protokołem T=1 i konwencją bezpośrednią oraz niepełnym systemem operacyjnym Karta STARCOS z protokołem T=0 i konwencją bezpośrednią oraz pełnym system operacyjnym Karta Visa Cash z protokołem T=1 i konwencją bezpośrednią Karta GSM z protokołem T=0 i konwencją bezpośrednią Karta GSM z protokołem T=0 i konwencją odwróconą KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 37

Karta z T=1 i konwencją bezpośrednią Znak Wart. Znaczenie Uwagi TS 3B konwencja bezpośrednia T0 B5 Y 1 =1011= B ; K= 5 TA 1,TB 1 i TD 1 oraz 5 znaków historycznych TA 1 11 F i =0001= 1 ; D i =0001= 1 F = 372 i D = 1 TB 1 00 I i =0; PI 1 =0000= 0 I=0, styk Vpp nie używany TD 1 81 Y 2 =1000= 8 ; T= 1 następny znak TD 2 i protokół T = 1 TD 2 31 Y 2 =0011= 3 ; T= 1 następne znaki TA 3 i TB 3 oraz T = 1 TA 3 46 rozmiar bufora I/O = 70 B rozmiar bufora I/O ICC (warstwa 7) TB 3 15 BWI= 1 ; CWI= 5 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 38

Karta z T=1 i konwencją bezpośrednią c.d. Znak Wart. Znaczenie Uwagi T1 56 V V 1.0 T2 20 T3 31 1 T4 2E. T5 30 0 TCK 1E znak kontrolny suma XOR T0 do T5 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 39

STARCOS z T=1 i konwencją bezpośrednią (niepełny OS) Znak Wart. Znaczenie Uwagi TS 3B konwencja bezpośrednia T0 9C Y 1 =1001= 9 ; K= C TA 1 i TD 1 oraz 12 znaków historycznych TA 1 11 F i =0001= 1 ; D i =0001= 1 F = 372 i D = 1 TD 1 81 Y 2 =1000= 8 ; T= 1 następny znak TD 2 i protokół T = 1 TD 2 21 Y 2 =0010= 2 ; T= 1 następny znak TB 3 i protokół T = 1 TB 3 34 BWI= 3 ; CWI= 4 T1 T12 53 43 20 53 56 20 31 2E 31 20 4E 43 SC SV 1.1 NC TCK 0F znak kontrolny suma XOR T0 do T12 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 40

STARCOS z T=1 i konwencją bezpośrednią (pełny OS) Znak Wart. Znaczenie Uwagi TS 3B konwencja bezpośrednia T0 BF Y 1 =1001= 9 ; K= C TA 1 i TD 1 oraz 12 znaków historycznych TA 1 11 F i =0001= 1 ; D i =0001= 1 F = 372 i D = 1 TD 1 81 Y 2 =1000= 8 ; T= 1 następny znak TD 2 i protokół T = 1 TD 2 21 Y 2 =0010= 2 ; T= 1 następny znak TB 3 i protokół T = 1 TB 3 34 BWI= 3 ; CWI= 4 T1 T11 53 54 41 52 43 4F 53 32 31 20 43 STARCOS21 C TCK 0F znak kontrolny suma XOR T0 do T12 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 41

Visa Cash z T=1 i konwencją bezpośrednią Znak Wart. Znaczenie Uwagi TS 3B konwencja bezpośrednia T0 E3 Y 1 =1110= E ; K= 3 TB 1,TC 1 i TD 1 oraz 3 znaki historyczne TB 1 11 I i =00; PI 1 =0000= 0 Vpp nie używane, napięcie potrzebne do programowania EEPROM-u generowane wewn. TC 1 00 N=0 bez wydłużonego czasu przerwy TD 1 81 Y 2 =1000= 8 ; T= 1 następny znak TD 2 i protokół T = 1 TD 2 31 Y 2 =0011= 3 ; T= 1 następne znaki TA 3 i TB 3 oraz T = 1 TA 3 6F IFSC= 6F =111 rozmiar pola informacyjnego bazy 111 bajtów TB 3 45 BWI= 4 ; CWI= 5 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 42

Visa Cash z T=1 i konwencją bezpośrednią c.d. Znak Wart. Znaczenie Uwagi T1 80 wskaźnik kategorii po komunikacie ATR obiekt danych w kompaktowym formacie TLV T2 31 dane usług karty znacznik 3 i rozmiar 1 obiektu z danymi o usługach karty T3 C0 C0 =1200 0000 wybór zastosowao z pełną lub częściową nazwą DF TCK 08 znak kontrolny suma XOR T0 do T3 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 43

GSM z T=0 i konwencją bezpośrednią Znak Wart. Znaczenie Uwagi TS 3B konwencja bezpośrednia T0 89 Y 1 =1000= 8 ; K= 9 TD 1 oraz 9 znaków historycznych TD 1 40 Y 2 =0100= 4 ; T= 1 następny znak TD 2 i protokół T = 1 TC 2 14 WI= 14 roboczy czas oczekiwania WWT=20 T1 T9 47 47 32 34 4D 35 32 38 30 GG24M5280 KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 44

GSM z T=0 i konwencją odwróconą Znak Wart. Znaczenie Uwagi TS 3F konwencja odwrócona T0 2F Y 1 =0010= 2 ; K= F =15 TB 1 oraz 12 znaków historycznych TB 1 00 PI 1 =0000= 0 ; I i = 1 Styk Vpp nie używany; Napięcie zasilania przy programowaniu EEPROM generowane wewnętrznie T1 T15 80 69 AE 02 02 01 36 00 00 0A 0E 83 3E 9F 16 Charakterystyczne dane producenta karty KOMUNIKACJA Z KE - ATR dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 45

Komunikacja z kartą elektroniczną podstawy ATR Answer to Reset PPS Protocol Parameter Selection struktura komunikatu APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 46

PPS Protocol Parameter Selection Parametry transmisji określane znakami interfejsu w komunikacie ATR Terminal może dokonać zmiany jednego lub kilku parametrów komunikatem PPS, ale przed zastosowaniem protokołu Dwa tryby realizacji: negocjowany parametry F i D pozostają niezmienione do czasu poprawnego wykonania PPS specjalny parametry F i D muszą być również stosowane już podczas transmisji komunikatu PPS Wyboru trybu dokonuje karta (znak TA 1 komunikatu ATR) KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 47

Diagram stanów dla obu trybów PPS base state cold reset ATR 1 warm reset warm reset Negotiable mode Specific mode PPS transmission protocol active 1 cold reset/ warm reset KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 48

PPS wykonanie Żądanie PPS musi być wysłane bezpośrednio po otrzymaniu przez terminal komunikatu ATR Jeśli karta dopuszcza żądane zmiany parametrów, to wysyła otrzymane bajty PPS z powrotem do terminala. W przeciwnym przypadku karta nic nie wysyła i terminal musi wykonać nową sekwencję restartu, aby wyjść z tego stanu PPS może być wykonany tylko raz, bezpośrednio po ATR Norma ISO/IEC 7816 zabrania powtórnych wykonań komunikatu PPS KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 49

Podstawowa struktura i elementy danych komunikatu PPS PPSS PPS0 b1...b4 b5 b6 b7 b8 RFU protocol PPS 1 PPS 2 PPS 3 Element danych PPSS PPS0 Opis Znak inicjujący Znak formatu PCK PPS1, PPS2, PPS3 PCK Znaki parametrów Znak kontrolny KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 50

Znak inicjujący PPSS Znak inicjujący - informujący kartę o zainicjowaniu przez terminal komunikatu PPS Obowiązkowy Stała wartość FF KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 51

Znak formatu PPS0 Znak formatu Obowiązkowy Kodowanie: Bity Wartości Znaczenie b4-b1 xxxx Numer stosowanego protokołu b5 1 PPS 1 wystąpi w PPS b6 1 PPS 2 wystąpi w PPS b7 1 PPS 3 wystąpi w PPS b8 1 Zarezerwowane do przyszłych zastosowao KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 52

Znaki parametrów PPS 1, PPS 2 i PPS 3 Znaki opcjonalne Kodowanie PPS 1 PPS 2 umożliwia terminalowi przyłączenie styku SPU (do aktywowania innego protokołu np. USB) PPS 2 zarezerwowany do przyszłych zastosowań KOMUNIKACJA Z KE - PPS Bity Wartości Znaczenie b8-b5 xxxx F (tak samo jak w TA 1 ) b4-b1 xxxx D (tak samo jak w TA 1 ) dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 53

Znak kontrolny PCK Ostatni znak komunikatu PPS Suma kontrolna XOR wszystkich znaków występujących w komunikacie Obowiązkowy KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 54

Typowa sekwencja PPS dla karty SIM terminal activation sequence with reset smart card ATR PPS necassary? no yes PPS request PPS response command 1 yes PPS possible no response 1... wait for reset Wada dużo czasu upływa przed zastosowaniem właściwego protokołu KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 55

Typowa sekwencja zmiany protokołu gdy terminal nie może wykonać PPS terminal reset in the course of the activation sequence (power-on reset, cold reset) ATR for T=14 smart card Protocol OK? yes no reset via the reset line (warm reset) ATR for T=1 command 1 response 1... Gdy terminal nie jest w stanie zainicjować komunikatu PPS zamiana pomiędzy protokołami inicjowana jest przez reset KOMUNIKACJA Z KE - PPS dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 56

Komunikacja z kartą elektroniczną podstawy ATR Answer to Reset PPS Protocol Parameter Selection struktura komunikatu APDU bezpieczna transmisja danych kanały logiczne protokoły warstwy łącza danych łączenie terminali z systemami wyższego poziomu dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 57

Struktura komunikatu APDU APDU Application Protocol Data Unit Standardowa międzynarodowa jednostka danych na poziomie 7 warstwy modelu OSI Używane do wymiany wszelkich informacji pomiędzy kartą a terminalem Jednostki danych zależne od protokołu transmisji to tzw. TPDU (Transmission Protocol Data Unit) Rozróżnia się polecenia wysyłane do karty C-APDU (Command APDU) i odpowiedzi na te polecenia wysyłane przez kartę R-APDU (Response APDU) KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 58

Struktura komunikatu APDU APDU jest typem kontenera mieszczącego całe polecenie dla karty lub całą odpowiedź od karty Transparentna transmisja APDU Zawartość i format APDU identyczny dla wszystkich typów protokołów KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 59

Struktura C-APDU CLA INS P1 P2 L c field data field L e field header body C-APDU składa się z nagłówka i ciała Ciało jest zmiennej długości lub może w ogóle nie wystąpić gdy pole z danymi jest puste Nagłówek składa się z 4 elementów: CLA bajt klasy, INS bajt instrukcji, P1 i P2 bajty parametrów KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 60

Kodowanie CLA według ISO/IEC 7816-4 Bity Wartości Znaczenie b2-b1 xx Numer logicznego kanału b4-b3 00 Bezpieczne komunikaty nie używane b4-b3 01 Bezpieczne komunikaty wg własnej metody b4-b3 10 Bezpieczne komunikaty zgodne z ISO: nagłówek nie uwierzytelniany b4-b3 11 Bezpieczne komunikaty zgodne z ISO: nagłówek uwierzytelniany b8-b5 0 Struktura i kodowanie wg ISO/IEC 7816 części 4,7 i 8 b8-b5 8, 9 Struktura wg ISO/IEC 7816-4; własne kodowanie i znaczenie poleceo i odpowiedzi b8-b5 A Struktura i kodowanie wg ISO/IEC 7816-4, określone innym dokumentem b8-b1 FF Zarezerwowane dla PPS KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 61

Powiązanie CLA z zastosowaniami Klasa Zastosowanie 0X Standardowe polecenia zgodne z ISO/IEC 7816-4/-7/-8 80 Elektroniczna portmonetka zgodna z EN 1546-3 8X Własne polecenia (firmowe i/lub zależne od zastosowania ) 8X Karty kredytowe chipowe zgodne z EMV A0 Systemy telekomunikacji mobilnej GSM (zgodne z TS 51.011) KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 62

Bajt instrukcji INS Koduje polecenia Tylko nieparzyste kody (historyczny powód związany z cechą protokołu T=0) Bit 1 używany do łączenia poleceń o ile są dłuższe niż 1 bajt KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 63

Bajty parametrów P1 i P2 Dodatkowe informacje o instrukcji Używane jako przełączniki dla różnych poleceń np. opcje polecenia SELECT FILE lub offset dla polecenia READ BINARY KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 64

Ciało komunikatu APDU Opcjonalne Zawartość: pole L c (length command) rozmiar sekcji danych wysyłanych do karty dane polecenia wysyłane do karty pole L e (length expected) rozmiar sekcji danych zwracany przez kartę (wartość 00 wysłana przez terminal jest prośbą o podanie maksymalnego rozmiaru) KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 65

Rozmiar pól L c i L e Standardowo 1 bajt Możliwe rozszerzenie do 3 bajtów (max reprezentowana wartość 65 536) 00 L c /L e (MSB) L c /L e (LSB) byte 1 byte 2 byte 3 Według normy jest ono zarezerwowane do przyszłych zastosowań, ale istnieją już systemy operacyjne dla kart z mikrokontrolerami o dużej pamięci obsługujące ten standard KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 66

Możliwe przypadki polecenia APDU Case 4 command APDU CLA INS P1 P2 L c data L e Case 3 command APDU CLA INS P1 P2 L c data Case 2 command APDU CLA INS P1 P2 L e Case 1 command APDU CLA INS P1 P2 command header command body KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 67

Odpowiedź APDU Wysyłana z karty do terminala w odpowiedzi na polecenie APDU Składa się z dwóch części: opcjonalnego ciała odpowiedzi obowiązkowego trailera odpowiedzi Ciało zawiera pole danych o rozmiarze określonym parametrem L e polecenia APDU Niezależnie od wartości parametru L e pole danych może mieć rozmiar 0 jeśli wystąpił błąd lub podano niewłaściwe parametry Informacja o powodzie zakończenia przetwarzania polecenia APDU zawarta w kodzie powrotu SW1 SW2 KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 68

Struktura odpowiedzi APDU data field SW1 SW2 response body response trailer SW1, SW2 kod powrotu KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 69

Wersje odpowiedzi APDU SW1 SW2 option 1 data field SW1 SW2 option 2 response body response trailer KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 70

Klasyfikacja kodów powrotu wg ISO/IEC 7816-4 return code (SW1 SW2) process completed process aborted normal processing warning processing execution error checking error 61XX, 9000' 62XX 63XX 64XX 65XX 67XX 6FXX Kody 63xx i 65xx wskazują na modyfikację danych w pamięci trwałej KOMUNIKACJA Z KE - APDU dr inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011 71