Wykład 5: Komunikacja z kartą elektroniczną

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

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

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych

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

Przesyłania danych przez protokół TCP/IP

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

Magistrala LIN

Karty inteligentne - programowanie i zastosowania. Piotr Nazimek

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Problematyka sieci miejscowej LIN

Hardware mikrokontrolera X51

Interfejs transmisji danych

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

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

Kod produktu: MP01105

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

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

Komunikacja w mikrokontrolerach Laboratorium

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Laboratorium Komputerowe Systemy Pomiarowe

Interfejsy systemów pomiarowych

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

Laboratorium Programowania Kart Elektronicznych

Szczegółowy opis przedmiotu zamówienia

Mikroprocesor Operacje wejścia / wyjścia

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

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

Warstwy i funkcje modelu ISO/OSI

LEKCJA TEMAT: Zasada działania komputera.

TRX API opis funkcji interfejsu

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

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

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A

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

interfejs szeregowy wyświetlaczy do systemów PLC

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

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

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

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

9 - Urządzenia. TachoTerminal PRO2. Funkcjonaloność urządzenia. TachoTerminal PRO2 TachoTerminal PRO1 TachoTerminal Reader

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

Gatesms.eu Mobilne Rozwiązania dla biznesu

Modułowy programowalny przekaźnik czasowy firmy Aniro.

TECHNIKA MIKROPROCESOROWA

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

Architektura komputerów

Kod produktu: MP01105T

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

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.

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

Aparat telefoniczny POTS i łącze abonenckie

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Szczegółowy opis przedmiotu zamówienia:

Organizacja typowego mikroprocesora

UKŁADY MIKROPROGRAMOWALNE

SSL (Secure Socket Layer)

Tranzystor JFET i MOSFET zas. działania

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

Komputery przemysłowe i systemy wbudowane

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

DOKUMENTACJA TECHNICZNA SMS API MT

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Tabela wewnętrzna - definicja

OPIS KODU ZDALNEJ SYNCHRONIZACJI CZASU

Interfejs DXI dostępu do sieci szerokopasmowej opartej na technice ATM

Sławomir Kulesza. Projektowanie automatów asynchronicznych

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

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

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

16MB - 2GB 2MB - 128MB

Sieci Komputerowe Modele warstwowe sieci

dr inż. Jarosław Forenc

CR232.S v2 KONWERTER CAN / RS232

Wykład 3. Interfejsy CAN, USB

Systemy wbudowane - wykład 7

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Kurs Podstawowy S7. Spis treści. Dzień 1

Programowanie mikrokontrolerów. 8 listopada 2007

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

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

Rejestratory Sił, Naprężeń.

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Standard transmisji równoległej LPT Centronics

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

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

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

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

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

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

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

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

Programowanie Mikrokontrolerów

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Transkrypt:

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

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 hab., dr hab. inż. Marek inż. Marek Mika, Mika, Instytut Instytut Informatyki, Politechnika Poznańska, 2011-2015 2011-2015 2

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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 sends data (response APDU or PPS response) 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 KOMUNIKACJA Z KE - PODSTAWY dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 poweron reset - karta wysyła do terminala ATR (Answer to Reset) - 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 9

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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 15

TS konwencja odwrócona 3F bit number bit value b8 0 b7 0 b6 1 b5 1 b4 1 b3 1 b2 1 b1 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 initial etu [s] f Interwał bitowy dla protokołu stosowanego po ATR i PPS robocza podstawowa jednostka czasu work etu F D 1 f [s] KOMUNIKACJA Z KE - ATR dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 20

Wartość 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 21

Globalny znak interfejsu TA i b8-b7 X 00 nie wspierany 01 niski poziom 10 wysoki poziom 11 brak preferowanego stanu 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) Y 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ń) 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 KOMUNIKACJA Z KE - ATR dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 BWI 960 dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 27

Globalny znak interfejsu TA 2 Koduje dopuszczalne tryby dla komunikatu PPS Bity Wartość 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 zastosowań 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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-Iszy 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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ść Znaczenie 00 Informacja o stanie jest umieszczona na końcu 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 zastosowań Zależne od aplikacji KOMUNIKACJA Z KE - ATR dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 zastosowań z pełną nazwą pliku DF b7 1 Wybór zastosowań 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ą być odczytane z DIR lub ATR poleceniem READ BINARY b4 0 Obiekty danych mogą być odczytane z DIR lub ATR poleceniem READ RECORD b3 b1 000 Nie używany dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 32

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 Kodowanie obiektu danych w kompaktowym TLV 71, 72, 73 w zależności od ilości danych KOMUNIKACJA Z KE - ATR Kodowanie funkcji karty tablica pierwsza 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 dr hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 34

Bity Wartość Znaczenie b8 1 Dopuszczalny łańcuch poleceń b7 1 Rozszerzone pole L c i /L e Kodowanie funkcji karty tablica trzecia 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 hab., inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 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 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 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 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 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 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 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 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 zastosowań z pełną lub częściową nazwą DF TCK 08 znak kontrolny suma XOR T0 do T3 KOMUNIKACJA Z KE - ATR 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 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 45

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 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 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 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 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 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 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 zastosowań KOMUNIKACJA Z KE - PPS 52

Znaki parametrów PPS 1, PPS 2 i PPS 3 Znaki opcjonalne Kodowanie PPS 1 Bity Wartości Znaczenie b8-b5 xxxx F (tak samo jak w TA 1 ) b4-b1 xxxx D (tak samo jak w TA 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 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 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 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 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 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 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 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 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 poleceń 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 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 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 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 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 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 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 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 68

Struktura odpowiedzi APDU data field SW1 SW2 response body response trailer SW1, SW2 kod powrotu KOMUNIKACJA Z KE - APDU 69

Wersje odpowiedzi APDU SW1 SW2 option 1 data field SW1 SW2 option 2 response body response trailer KOMUNIKACJA Z KE - APDU 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 71

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 72

Motywacja Cała transmisja odbywa się linią I/O Zagrożenia: przylutowanie przewodu do linii I/O i podsłuchiwanie transmisji odizolowanie styku I/O w terminalu, zastąpienie go stykiem pozornym i podłączenie obydwu styków za pomocą cienkich przewodów do komputera, który będzie filtrował komunikaty docierające do karty lub zastępował je innymi własnymi komunikatami Zapobieganie: zastosowanie technik, które uniemożliwią zarówno odczytanie transmitowanych danych, jak i wstawianie niepożądanych bloków komunikatów techniki te określane są wspólnym mianem bezpiecznej komunikacji (secure messaging, SM) KOMUNIKACJA Z KE BEZPIECZNA TRANSMISJA DANYCH 73

Dane i funkcje niezbędne dla SM security mechanism cryptographic algorithm key argument initial data (optional) - metody znane i stosowane od lat w telekomunikacji - w dziedzinie kart elektronicznych muszą uwzględniać ograniczenia wynikające z niskich mocy obliczeniowych, nie obniżając skuteczności tych metod - wymagane jest aby cały mechanizm bezpieczeństwa był transparentny w stosunku do istniejącego protokołu transmisji KOMUNIKACJA Z KE BEZPIECZNA TRANSMISJA DANYCH 74

Standardy bezpiecznej transmisji danych dla kart elektronicznych Obydwie współpracujące strony muszą uzgodnić wspólny algorytm kryptograficzny i współdzielony klucz Standardy: ISO/IEC 7816-4 i 7816-8 podstawowe metody SM TS 43.048 metody SM dla sektora telekomunikacyjnego Secure Channel Protocol 1 i Secure Channel Protocol 2 metody zdefiniowane przez Global Platform CEN 14890 metody dla środowiska podpisu cyfrowego SSL (Secure Socket Layer) i TLS (Transport Layer Security) dla systemów z protokołem TCP/IP KOMUNIKACJA Z KE BEZPIECZNA TRANSMISJA DANYCH 75

Obiekty danych w bezpiecznej transmisji Typy obiektów danych kodowane w TLV: obiekty danych tekstowych zawierają czysty tekst (np. sekcja danych APDU) obiekty danych dla mechanizmów bezpieczeństwa zawierają wynik działania mechanizmów bezpieczeństwa (np. MAC) obiekty danych dla dodatkowych funkcji zawierają parametry dla bezpiecznej transmisji (np. metoda wyrównywania) KOMUNIKACJA Z KE BEZPIECZNA TRANSMISJA DANYCH wg ISO/IEC 7816-4 76

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 77

Kanały logiczne Stosowane w przypadku kart elektronicznych z wieloma niezależnymi aplikacjami Umożliwiają wymianę danych pomiędzy kartą a terminalem dla max. 19 aplikacji Nadal używany pojedynczy interfejs szeregowy, ale aplikacje mogą być adresowane niezależnie na poziomie logicznym KOMUNIKACJA Z KE KANAŁY LOGICZNE 78

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 79

Protokoły warstwy łącza danych Protokoły zdefiniowane dla innych zastosowań, rzadko, ale coraz częściej stosowane w sferze KE TCP/IP HTTP i HTTPS BIP (Bearer Independent Protocol) KOMUNIKACJA Z KE PROTOKOŁY WARSTWY ŁĄCZA DANYCH 80

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 81

Łączenie terminali z systemami wyższego poziomu Dotyczy współpracy KE z PC Potrzebny specjalny terminal podłączony do PC wraz z oprogramowaniem Dawniej każdy model terminala wymagał dedykowanego sterownika W połowie lat 90-tych XX w. początki prac nad uniwersalnym, niezależnym od terminala interfejsem (wiele instytucji w wielu krajach) Wiele rozwiązań m.in.: PC/SC (Personal Computer / Smart Card) OCF (Open Card Framework) MKT (Multifunctionales Kartenterminal) MUSCLE KOMUNIKACJA Z KE ŁĄCZENIE TERMINALI Z SYSTEMAMI 82

PC/SC maj 1996 - początki prac (Bull, HP, Microsoft, Schlumberger, Siemens Nixdorf, Gemplus, IBM, Sun, Verifone, Toshiba) grudzień 1997 werjsa 1.0 specyfikacji Interoperability Specification for ICCs and Personal Computers PC/SC akronim nazwy grupy roboczej i jednocześnie potoczna nazwa specyfikacji dla systemów Windowsowych możliwość programowania w językach: C, C++, C#, Java i Basic wymagania: odpowiedni sterownik dla terminala KE zgodna z PC/SC komponenty: aplikacja dla ICC dostawca usług ICC dostawca usług kryptograficznych menedżer zasobów ICC sterownik IFD IFD ICC KOMUNIKACJA Z KE ŁĄCZENIE TERMINALI Z SYSTEMAMI 83

OCF OCF (Open Card Framework) Interfejs opracowany przez Open Card Consortium Java niezależność od systemu operacyjnego (PC) niezależność od aplikacji (KE) umożliwienie aplikacjom działającym na PC dostępu do aplikacji KE dwie opcje dla projektantów: zgromadzenie złożonych ciągów poleceń KE w pakiety dostarczane przez producenta systemu operacyjnego karty lub projektanta aplikacji (zaletą łatwość wywołania skomplikowanych ciągów poleceń na poziomie aplikacji PC, wadą brak pełnej kontroli nad poleceniami karty) wysyłanie komend ze środowiska Javy do KE bezpośrednio zakodowanych w APDU KOMUNIKACJA Z KE ŁĄCZENIE TERMINALI Z SYSTEMAMI 84

MKT Multifunktionales Kartenterminal Opracowany w Niemczech, początkowo na potrzeby służby zdrowia Pierwsza wersja 1994 opublikowana przez Teletrust Deutchland Specyfikacja składa się z 7 części: 1. podstawy koncepcji MKT, podstawowy opis architektury i terminali 2. określenie interfejsu pomiędzy terminalem a chipem KE (CT-ICC) dla synchronicznej i asynchronicznej transmisji danych 3. opis CT-API (Card Terminal Application Programming Interface) niezależnego od aplikacji i języków programowania proceduralnego interfejsu terminala 4. rozszerzenie funkcjonalności CT-API o niezależne od aplikacji komendy sterujące terminala (CT-BCS) 5. opis ATR i ogólnych pól danych dla KE w synchronicznej transmisji danych 6. opis protokołów komunikacyjnych i powiązanych z nimi ogólnych poleceń wysyłanych do terminala 7. określa sposób translacji poleceń z normy ISO/IEC 7816-4 na polecenia dla synchronicznej transmisji danych KOMUNIKACJA Z KE ŁĄCZENIE TERMINALI Z SYSTEMAMI 85

MUSCLE Linux początkowo nie miał sterowników umożliwiających pracę z KE Inicjatywa MUSCLE (Movement for the Use of Smart Card in a Linux Environment) 2000 pierwsza wersja standardu Architektura mocno oparta na PC/SC Kod źródłowy otwarty (licencja GPL) Linuksowe API ułatwiające dostęp do KE KOMUNIKACJA Z KE ŁĄCZENIE TERMINALI Z SYSTEMAMI 86