Odpowiedz na reset

An Answer To Reset ( ATR ) to komunikat wysyłany przez stykową kartę inteligentną zgodną ze standardami ISO/IEC 7816 , po elektrycznym zresetowaniu chipa karty przez czytnik kart. ATR przekazuje informacje o parametrach komunikacyjnych proponowanych przez kartę oraz o charakterze i stanie karty.

Co za tym idzie, ATR często odnosi się do wiadomości otrzymanej z karty inteligentnej na wczesnym etapie komunikacji; lub z czytnika kart używanego do uzyskiwania dostępu do tej karty, co może przekształcić komunikat karty w format podobny do ATR (ma to miejsce np. w przypadku niektórych czytników kart PC/SC podczas uzyskiwania dostępu do karty inteligentnej ISO/IEC 14443 ).

Obecność ATR jest często używana jako pierwsza wskazówka, że ​​karta inteligentna wydaje się działać, a jej zawartość jest sprawdzana jako pierwszy test, czy jest ona odpowiednia do danego zastosowania.

Kontaktowe karty inteligentne komunikują się za pośrednictwem sygnału o nazwie Wejście/Wyjście (I/O) albo synchronicznie (bity danych są wysyłane i odbierane w rytmie jednego na okres zegara dostarczanego do karty na jej sygnale CLK) albo asynchronicznie (bity danych są wymieniane przez I/O z innym mechanizmem ograniczania bitów, podobnym do tradycyjnej asynchronicznej komunikacji szeregowej ). Te dwa tryby są wyłączne w danej sesji komunikacyjnej, a większość kart jest zbudowana z obsługą jednego trybu. Kontaktowe karty inteligentne oparte na mikroprocesorach są w większości odmianami asynchronicznymi, używanymi we wszystkich modułach identyfikacji abonenta (SIM) do telefonów komórkowych, kartach bankowych z kontaktami zgodnymi ze specyfikacjami EMV , wszystkich kontaktowych kartach Java i kartach inteligentnych dla płatnej telewizji . Karty zawierające tylko pamięć są na ogół odmianą synchroniczną.

ATR w transmisji asynchronicznej i synchronicznej mają zupełnie inną formę i treść. ATR w transmisji asynchronicznej jest dokładnie znormalizowany (w celu umożliwienia współdziałania kart i czytników różnego pochodzenia) i stosunkowo skomplikowany do przeanalizowania.

Niektóre karty inteligentne (głównie odmiany asynchroniczne) wysyłają różne ATR w zależności od tego, czy reset jest pierwszym od włączenia ( Cold ATR ), czy nie ( Ciepły ATR ).

Uwaga: odpowiedzi na reset nie należy mylić z ATtRibute REQuest (ATR_REQ) i ATtRibute RESponse (ATR_RES) NFC , również w skrócie ATR. ATR_RES przekazuje informacje o obsługiwanych parametrach komunikacji, podobnie jak Answer To Reset, ale jego struktura jest inna.

ATR w transmisji asynchronicznej

Standardem definiującym ATR w transmisji asynchronicznej jest ISO/IEC 7816-3. Podzbiory pełnej specyfikacji ATR są używane w niektórych zastosowaniach kart inteligentnych, np. EMV.

Forma fizyczna i synchronizacja na interfejsie karty/czytnika

W transmisji asynchronicznej ATR jest przesyłany przez kartę do czytnika jako znaki zakodowane jako bity przez styk oznaczony jako I/O (C7), z nominalnym czasem trwania bitu oznaczonym jako elementarna jednostka czasu (ETU), równym podczas całego ATR do 372 okresy sygnału zegarowego podawanego przez czytnik na styk CLK (C3). Linia I/O domyślnie znajduje się w stanie H (najwyższe napięcie z dwóch poziomów logicznych), a przejście do stanu L, oznaczone krawędzią natarcia, definiuje początek znaku. Krawędź natarcia pierwszego znaku pojawia się pomiędzy 400 a 40 000 cykli zegara po zmianie styku RST (C2) czytnika z L na H.

Każdy znak zawiera bit startu w stanie L, 8 bitów danych, 1 bit parzystości, po którym następuje (brak błędu) opóźnienie w stanie H (wysokie napięcie na I/O) tak, że przednia krawędź znaków w ATR jest co najmniej 12 ETU, przy maksymalnym wyznaczonym Czasie oczekiwania WT = 9 600 ETU podczas całego ATR (specyfikacja Eurocard MasterCard Visa dodaje, że czytnik powinien tolerować 10 800 ETU, czyli o 5% więcej). Wartość bajtu zakodowanego przez znak jest zdefiniowana zgodnie z konwencją określoną przez pierwszy znak ATR, oznaczony jako TS.

Koniec fizycznego ATR między kartą a czytnikiem może być określony przez czytnik za pomocą analizy w locie wartości TS, T0 i dowolnego TDi ( patrz poniżej) lub/i na podstawie WT. Ta późniejsza metoda pociąga za sobą dodatkowe opóźnienie (około 0,8 s przy maksymalnej częstotliwości zegara 5 MHz stosowanej podczas ATR). EMV (ale nie ISO/IEC 7816-3) pozwala również czytelnikowi uznać, że ATR musi się zakończyć po 20 160 ETU (około 1,5 s przy 5 MHz) liczonym od krawędzi natarcia TS.

Uwaga: Podczas komunikacji w trybie asynchronicznym z kartą inteligentną kontaktową ISO/IEC 7816-3 przy użyciu urządzenia interfejsu szeregowego działającego zgodnie z konwencją bezpośrednią (taką jak standardowy UART ), można ustawić 8 bitów, 1 bit parzystości, 2 bity stopu bity (czasem negocjowalne do 1, patrz TC 1 ); podczas ATR szybkość transmisji powinna wynosić 1/372 częstotliwości zegara odbieranej przez kartę (co odpowiada ETU 372 cyklom zegara). Zwykle nie występuje błąd parzystości ani błąd ramkowania. Pierwszy odebrany bajt to „3B” , jeśli karta działa w konwencji bezpośredniej, „03” , jeśli karty działają w konwencji odwrotnej, w takim przypadku polaryzacja i kolejność wszystkich 8 bitów każdego bajtu przechodzącego przez urządzenie interfejsu szeregowego powinna zostać odwrócona , co w szczególności zmieni pierwszy bajt „03” na „3F” .

Uwaga historyczna: przepis dotyczący kart korzystających z wewnętrznego źródła zegara i stałej ETU wynoszącej 1/9 600 sekundy podczas ATR istniał w normie ISO / IEC 7816-3: 1989 i został usunięty z wydania z 1997 r.

Struktura ogólna

ATR przebiega w pięciu krokach: początkowy znak TS; formatuj bajt T0; bajty interfejsu TA i , TB i , TC i , TD i (opcje, numer zmiennej); bajty historyczne T i (opcjonalnie, do 15) oraz bajt kontrolny TCK (opcjonalnie). Istnieje w sumie od 2 do 33 znaków, w tym TS.

Nazwa definiuje koduje Obecny kiedy
TS Kolejność bitów i polaryzacja (zawsze)
T0 Liczba T i , obecność TA 1 ..TD 1 K w [0..15] (zawsze)
TA 1 Maksymalna częstotliwość zegara, proponowany czas trwania bitu FI ↦ Fi i f max ; DI ↦ Di Piąty bit T0 to 1
TB 1 Przestarzałe: wymagania V PP PI1 ↦ P, II ↦ I Szósty bit T0 to 1
KT 1 Dodatkowe opóźnienie między bajtami wymagane przez kartę N ↦ EGT ↦ GT Siódmy bit T0 to 1
DT 1 Pierwszy oferowany protokół transmisji, obecność TA 2 ..TD 2 T w [0..14] Ósmy bit T0 to 1
TA 2 Specyficzny protokół i parametry, które mają być stosowane po ATR T w [0..14] Piąty bit TD 1 to 1
TB 2 Przestarzałe: V PP dokładne wymagania dotyczące napięcia PI2 ↦ str Szósty bit TD 1 to 1
KT 2 Maksymalny czas oczekiwania na protokół T = 0 WI ↦ WT Siódmy bit TD 1 to 1
DT 2 Obsługiwany protokół lub więcej parametrów globalnych, obecność TA 3 ..TD 3 T w [0..15] 8 bit TD 1 to 1
TA i
Dla T = 1 [#] : maksymalny rozmiar bloku, jaki może otrzymać karta Jeśli T = 15 [#] : obsługiwane napięcia zasilania i tryby niskiego poboru mocy

IFSC X; Y
Piąty bit TD i -1 to 1
gruźlica i
Dla T = 1 [#] : maksymalne opóźnienia między znakami Jeśli T = 15 [#] : użycie styku SPU C6
CWI ↦ CWT; BWI ↦ BWT
 
Szósty bit TD i -1 to 1
TC i Dla T = 1 [#] : typ używanego kodu wykrywania błędów Siódmy bit TD i -1 to 1
TD i Obsługiwany protokół lub więcej parametrów globalnych, obecność TA i +1 ..TD i +1 T w [0..15] 8 bit TD i -1 to 1
T 1 Format bajtów historycznych T i K ≥ 1
T ja
Historyczne bajty wskazujące charakterystykę działania, zgodnie z ISO/IEC 7816-4, gdy T 1 wynosi „00” , „10” lub „8 X ,
K ≥ ja
TCK
Zezwalaj na wykrywanie przypadkowego błędu transmisji ( XOR bajtów T0 do TCK wynosi zwykle zero)

T w żadnym z bajtów TD i nie jest równe 0
RFU Zarezerwowane do użytku w przyszłości

[#] Podane znaczenie zakłada, że ​​i > 2, a i -1 jest jedynym j z 1 < j < i takim, że TD j koduje podaną wartość T. Kiedy to T mieści się w zakresie [0..14], znaczenie bajtu dotyczy tylko odpowiedniego protokołu (konkretnego bajtu). Gdy T = 15, znaczenie ma zastosowanie niezależnie od protokołu (bajt globalny).

Początkowy znak TS jest zawsze fizycznie obecny, ale jest wyłączony z odpowiedzi na reset w definicji podanej przez ISO/IEC 7816-3:2006: wartość ciągu bajtów (maksymalnie 32 bajty) zakodowana w sekwencji znaków następujących po początkowym znaku TS . Norma ISO/IEC 7816-4:2005 jest zgodna, stwierdzając, że TS to znak lub wzorzec synchronizacji, a nie bajt. Jednak praktyka (przynajmniej w PC/SC, EMV, ETSI i Calypso ) nadal uważa, że ​​TS jest częścią ATR, tak jak to było w ISO/IEC 7816-3:1997 i wcześniejszych. W szczególności ATR zwracany przez czytniki kart PC/SC i stosy oprogramowania zawiera TS jako pierwszy bajt o wartości „3B” lub „3F” .

Początkowy znak TS

Początkowy znak TS koduje konwencję używaną do kodowania ATR i dalszej komunikacji aż do następnego resetu. W bezpośrednim [odp. odwrócona], bity o wartości logicznej „1” są przesyłane jako Wysokie napięcie (H) [odp. a Niskie napięcie (L)]; bity o wartości logicznej „0” są przesyłane jako L [odp. H]; a najmniej znaczący bit każdego bajtu danych jest pierwszy (odpowiednio ostatni) w fizycznej transmisji przez kartę.

W przypadku konwencji bezpośredniej TS to (H) L HHLHHHLL H (H) i koduje bajt „3B” .

W przypadku konwencji odwrotnej TS to (H) L HHLLLLLL H (H) i koduje bajt „3F” .

[ (H) reprezentuje stan bezczynności (wysoki, znak) linii I/O. 8 bitów danych zaznaczono kursywą . ]

0 Bity w bajtach następujące po TS w ATR i dalsza komunikacja do następnego resetu są ponumerowane od 1 do 8 od najniższego do wyższego rzędu, a ich wartość odnotowana lub 1, niezależnie od porządku chronologicznego i reprezentacji elektrycznej, zdefiniowana przez TS . Bit następujący po 8 bitach danych w tych bajtach jest bitem parzystości, to znaczy takim, że istnieje parzysta liczba bitów „1” (H lub L zgodnie z bezpośrednią lub odwrotną konwencją zdefiniowaną przez TS) wśród 8 bitów danych i bit parzystości.

TS umożliwia również czytnikowi kart potwierdzenie lub określenie ETU jako jednej trzeciej opóźnienia między pierwszym a drugim przejściem H-to-L w TS. Jest to opcjonalne, a główna definicja ETU w ATR zgodnych ze standardami asynchronicznych kart inteligentnych to 372 okresy zegara odbieranego przez kartę.

Sformatuj bajt T0

Bajt formatu T0 koduje w swoich 4 bitach niższego rzędu (od 4. MSbit do 1. LSbit) liczbę K historycznych bajtów Ti , w zakresie [0..15].

Koduje również w swoich 4 bitach wyższego rzędu obecność co najwyżej 4 innych bajtów interfejsu: TA 1 (odp. TB 1 , TC 1 , TD 1 ) następuje w tej kolejności, jeśli piąty (odp. 6, 7, 8.) bit T0 wynosi 1 .

Bajty interfejsu TA i , TB i , TC i , TD i

Bajty interfejsu TA 1 , TB 1 , TC 1 , TD 1 , TA 2 , TB 2 , TC 2 , TD 2 , TA 3 , TB 3 , .. są opcjonalne i kodują parametry komunikacyjne i protokoły, których użycie proponuje karta .

Istnieją trzy rodzaje bajtów interfejsu: globalne bajty interfejsu odnoszą się do wszystkich protokołów; określone bajty interfejsu odnoszą się do określonego protokołu; a bajty interfejsu strukturalnego wprowadzają dalsze bajty interfejsu i protokoły.

Bajt interfejsu TA 1

Bajt interfejsu TA 1 , jeśli jest obecny, jest globalny i koduje maksymalną częstotliwość zegara f max obsługiwaną przez kartę oraz liczbę okresów zegara na ETU, którą sugeruje użycie po ATR, wyrażoną jako stosunek Fi/Di z dwóch liczby całkowite. Gdy TA 1 jest nieobecny, przyjmuje się, że domyślną wartością jest '11' , co odpowiada f max = 5 MHz, Fi = 372, Di = 1.

4 bity niskiego rzędu TA 1 (od 4. MSbit do 1. LSbit) kodują Di jako:

bity od 4 do 1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Di RFU 1 2 4 8 16 32 64 (#) 12 20 RFU RFU RFU RFU RFU RFU

(#) To było RFU w normie ISO/IEC 7816-3:1997 i wcześniejszych. Niektóre czytniki kart lub sterowniki mogą błędnie odrzucić karty używające tej wartości (lub innego RFU). Niektóre czytniki PC/SC, jako obejście wspomnianego zachowania sterownika, usuwają pierwszy bit TA 1 , gdy jego 4 bity niskiego rzędu kodują 7, i odpowiednio dostosowują TCK (jeśli jest obecny), chyba że otrzymały specjalne polecenie.

4 bity wyższego rzędu TA 1 (8-ty MSbit do 5-ty LSbit) kodują f max i Fi jako:

od 8 do 5 bitów 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Fi 372 (*) 372 558 744 1 116 1 488 1860 RFU RFU 512 768 1 024 1536 2 048 RFU RFU
f maks. (MHz) 4 (*) 5 6 8 12 16 20 5 7,5 10 15 20

(*) Uwaga historyczna: w normie ISO/IEC 7816-3:1989 przypisano to kartom z zegarem wewnętrznym, bez przypisanego Fi lub f(max).

Uwaga: EMV i ISO/IEC 7816-3 przed wydaniem z 2006 r. dodatkowo używają notacji DI (odp. FI) dla 4 bitów niskiego rzędu (odpowiednio wyższego rzędu) TA 1 . DI koduje zatem Di, a FI koduje Fi i fmax .

Uwaga: notacja EMV używa D (odpowiednio F), gdzie ISO/IEC 7816-3 używa Di (odpowiednio Fi).

Przykład: TA 1 = 'B5' = 10110101 , gdzie FI to 1011, a DI to 0101 , koduje f max = 10 MHz, Fi = 1024, Di = 16, więc Fi/Di = 1024/16 = 64. To zachęcające czytnik kart do podjęcia (po ATR) niezbędnych kroków w celu zmniejszenia ETU do 64 cykli zegara na ETU (z 372 podczas ATR) i zwiększenia częstotliwości zegara do 10 MHz (z około 4 MHz podczas ATR).

Bajt interfejsu TB 1

TB1 , jeśli występuje , jest globalny. Użycie TB 1 jest przestarzałe od wydania standardu z 2006 roku, które stanowi, że karty nie powinny zawierać TB 1 w ATR, a czytniki ignorują TB 1, jeśli jest obecny. EMV nadal wymaga, aby karta zawierała TB 1 = '00' i pozostaje to powszechną praktyką; czynienie tego wyraźnie wskazuje, że karta nie wykorzystuje dedykowanego styku C6 w celu dostarczenia do karty napięcia programowania (VPP) ; karty mogą jednak używać C6 do użytku standardowego lub zastrzeżonego (SPU), takiego jak komunikacja z interfejsem NFC za pomocą protokołu Single Wire Protocol (SWP). Po stronie czytnika EMV wymaga wykonania ciepłego ATR dla kart z TB 1 innym niż „00” w zimnym ATR i obsługi dowolnego TB 1 w ciepłym ATR tak, jakby to było „00” .

TB 1 poprzednio wskazywał (w przybliżeniu) napięcie programowania VPP i maksymalny prąd programowania wymagany przez niektóre karty na dedykowanym styku C6 podczas programowania ich pamięci EPROM . Nowoczesne karty inteligentne wewnętrznie generują napięcie programowania dla swojej EEPROM lub Flash , a zatem nie używają V PP . W 1997 i wcześniejszych wydaniach standardu:

- Niskie 5 bitów TB 1 (od 5 MSbit do 1 LSbit) koduje PI1; brak TB 2 oznacza, że ​​PI1 = 0 wskazuje, że styk C6 (przypisany do V PP ) nie jest podłączony w karcie; PI1 w zakresie [5..25] koduje wartość V PP w woltach (czytnik podaje to napięcie tylko na wyraźne żądanie karty, z tolerancją 2,5%, aż do maksymalnego prądu programowania; w innym przypadku pozostawia styk C6 używany dla V PP w granicach 5% napięcia V CC , do 20 mA); jeśli występuje TB 2 , zastępuje to wskazanie podane przez TB 1 w polu PI1, dotyczące połączenia V PP lub napięcia.

0 - Wysoki bit TB 1 (ósmy bit) jest zarezerwowany i może być zignorowany przez czytnik.

- Szósty i piąty bit TB 1 kodują maksymalny prąd programowania (zakładając, że ani TB 1 , ani TB 2 nie wskazują, że V PP nie jest podłączone do karty).

7 i 6 bit 00 01 10 11
Maksymalny prąd programowania 25 mA 50 mA RFU (#) RFU

(#) To było 100 mA w normie ISO/IEC 7816-3:1989.

Bajt interfejsu TC 1

TC1 , jeśli jest obecny, jest globalny i koduje liczbę całkowitą dodatkowego czasu ochronnego (N), od 0 do 255 (8-ty MSbit do 1-go LSbit); w przeciwnym razie N = 0. N określa, o ile czas ochronny, który czytnik musi zastosować, różni się od linii bazowej 12 ETU (co odpowiada 1 bitowi startu, 8 bitom danych, 1 bitowi parzystości i 2 bitom stopu; z drugim bitem stopu ewentualnie używany do sygnalizacji błędu przez odbiornik w ramach protokołu T = 0). Czas ochronny to minimalne opóźnienie między krawędzią natarcia poprzedniego znaku a krawędzią natarcia następnego wysłanego znaku.






Z wyjątkiem sytuacji, gdy N wynosi 255, czas ochronny wynosi: GT = 12 ETU + R*N/f gdzie: – f to częstotliwość zegara generowanego przez czytnik; – R to pewna liczba cykli zegara, albo: – na ETU, R = F/D, jeśli T = 15 nie występuje w ATR; – zdefiniowany przez TA 1 , R = F i /D i (lub jego wartość domyślna), jeśli w ATR występuje T = 15.

N = 255 ma znaczenie zależne od protokołu: GT = 12 ETU podczas PPS (wybór protokołu i parametrów) i protokołu T = 0, GT = 11 ETU w ramach protokołu T = 1 (co odpowiada 1 bitowi startu, 8 bitom danych, 1 parzystości bit i 1 bit stopu; bez wskazania błędu).

Z wyjątkiem protokołu T = 1, karta transmituje z czasem ochronnym równym 12 ETU, niezależnie od N. W protokole T = 1, czas ochronny określony przez N jest również czasem ochronnym znaku (CGT) i dotyczy karty i czytnika dla znaków wysłanych w tym samym kierunku.

Uwaga: Czytelnik pozostaje związany czasem ochronnym GT zdefiniowanym przez N, gdy inne zalecenia określają inne minimalne opóźnienie między przednimi krawędziami znaków w różnych kierunkach, nawet jeśli to minimum jest niższe niż GT.

Uwaga historyczna: norma ISO/IEC 7816-3:1989 zdefiniowała tylko kod N EGT jako liczbę ETU, metodę stosowaną obecnie, gdy w ATR nie ma T = 15. Zgodnie z tą konwencją karty, które umożliwiają negocjowanie zmniejszonej liczby cykli zegara na ETU po PPS, muszą również umożliwiać proporcjonalnie zmniejszoną liczbę cykli zegara dla EGT, co nie odpowiada wspólnej motywacji EGT: uwzględnij opóźnienia, zanim karta będzie mogła otrzymać następną postać. Edycja standardu z 1997 roku wprowadziła, że ​​gdy T = 15 jest obecne w ATR, N koduje EGT jako wielokrotność liczby cykli zegara na ETU zakodowaną przez TA 1 , co skutecznie uniezależnia EGT od liczby cykli zegara na ETU wynegocjowano, zachowując kompatybilność z poprzednimi czytnikami, przynajmniej jeśli nie zmienili liczby cykli zegara na ETU.

Bajty interfejsu TD i

Bajty interfejsów TD i dla i ≥1, jeśli są obecne, są strukturalne.

TD i koduje w swoich 4 bitach wyższego rzędu obecność co najwyżej 4 innych bajtów interfejsu: TA i +1 (odp. TB i +1 , TC i +1 , TD i +1 ) następuje w tej kolejności, jeśli 5-ty (odp. 6-ty, 7-ty, 8-ty) bit TD i wynosi 1 .

TD i koduje w swoich 4 bitach niższego rzędu (od 4. MSbit do 1. LSbit) liczbę całkowitą T z zakresu [0..15]. T = 15 jest niepoprawne w TD 1 , aw innych TD i kwalifikuje następujące TA i +1 TB i +1 , TC i +1 , TD i +1 (jeśli są obecne) jako globalne bajty interfejsu. Inne wartości T wskazują protokół, którego karta chce używać, oraz że TA i +1 TB i +1 , TC i +1 , TD i +1 (jeśli są obecne) są specyficznymi bajtami interfejsu odnoszącymi się tylko do tego protokołu. T = 0 to protokół znakowy. T = 1 to protokół zorientowany na bloki. T w zakresie [3..14] to RFU.

Uwaga historyczna: w normie ISO/IEC 7816-3:1989 nie istniał przepis dotyczący dynamicznego kwalifikowania bajtów interfejsu jako globalnych przy użyciu T = 15.

Bajt interfejsu TA 2

Bajt interfejsu TA 2 , jeśli jest obecny, jest globalny i nosi nazwę bajtu określonego trybu .

Obecność poleceń TA 2 powoduje, że czytnik używa określonego trybu zdefiniowanego przez TA 2 i wcześniejsze globalne bajty, zamiast trybu negocjowalnego, gdy TA 2 jest nieobecny.

TA 2 koduje w swoich 4 bitach niskiego rzędu liczbę całkowitą T określającą protokół wymagany przez kartę, zgodnie z konwencją stosowaną dla TD 1 (EMV określa, że ​​karta, której T zakodował w TA 2 nie pasuje do tej w TD 1 , zostanie odrzucona ).

0 Piąty bit służy do zakodowania, że ​​wymagany czas trwania ETU to cykle zegara Fi / Di , jak określono w TA 1 (lub jego wartość domyślna, jeśli nie występuje); lub 1, aby wskazać, że czas trwania ETU jest niejawnie znany (zgodnie z konwencją lub ustawieniem czytnika; EMV nakazuje odrzucenie takiej karty).

0 6. i 7. bit są zarezerwowane do wykorzystania w przyszłości; wskazuje, że nie jest używany.

0 Ósmy bit to 1 , aby wskazać, że karta nie może zmienić trybu negocjowalnego/specyficznego (to znaczy nie proponuje innych ustawień); lub aby wskazać, że karta ma tę zdolność (być może po ciepłym ATR).

Uwaga historyczna: W normie ISO/IEC 7816-3:1989 nie istniał przepis dotyczący określonego trybu. Wtedy znak interfejsu TA 2 nie miał określonej nazwy ani funkcji i był specyficzny (do protokołu wprowadzonego przez TD 1 ). ISO / IEC 7816-3: 1997 wprowadził określony tryb i bajt określonego trybu, z tymczasową notatką pomagającą kartom z bajtem określonego trybu TA 2 w ich ATR dotyczącym czytnika, który nie zaimplementował określonego trybu.

Bajt interfejsu TB 2

TB2 , jeśli występuje , jest globalny. Użycie TB 2 jest przestarzałe od wydania standardu z 2006 roku, które stanowi, że karty nie powinny zawierać TB 2 w ATR, a czytelnicy ignorują TB 2, jeśli jest obecny.

W wydaniu standardu z 1997 r. TB 2 (bit od 8 do 1) koduje PI2, które w zakresie 50..250 (inne wartości to RFU) koduje V PP w przyrostach co 0,1 V i obejmuje bardziej zgrubne wskazanie podane przez PI1 z TB 1 . Zapoznaj się z tą sekcją, aby dowiedzieć się, dlaczego nowoczesne karty inteligentne nie używają V PP , a tym samym TB 2 .

Uwaga historyczna: Przepis dotyczący TB 2 nie istniał w normie ISO/IEC 7816-3:1989 i został wprowadzony, ponieważ V PP = 12,5 V stało się popularną wartością w technologii EEPROM, zastępując 25 V i 21 V.

Bajty historyczne T i

Znaki historyczne T i dla i ≥1, jeśli są obecne (zgodnie z definicją zakodowaną przez K w T0), zwykle przechowują informacje o producencie kart, typie karty (rozmiar itp.), numerze wersji i stanie karty.

Sprawdź bajt TCK

Bajt Check (jeśli występuje) umożliwia sprawdzenie integralności danych w ATR. Jeśli występuje, TCK jest wyłącznym LUB bajtów w ATR od T0 (włączony) do TCK (wyłączony).

TCK będzie obecny wtedy i tylko wtedy, gdy którykolwiek z TD i obecnych w ATR koduje wartość T inną niż 0.

Ta zasada dotycząca obecności TCK jest zgodna z normą ISO/IEC 7816-3:1989. Późniejsze ISO / IEC 7816-3: 1997 i ISO / IEC 7816-3: 2006 są zgodne, przynajmniej wtedy, gdy TA 2 jest nieobecny lub koduje to samo T co TD 1 (co jest wymagane przez EMV). Powszechną praktyką (np. w kartach SIM) jest stosowanie tej zasady, pomimo sprzecznego przepisu w EMV 4.3 Księga 1, sekcja 8.3.4, że ATR nie zawiera TCK, jeśli ma być używany tylko T = 0 , zamiast tego czytać to zalecenie tak jak gdyby kończyło się na jeśli T = 0 jest wskazane .

ATR w transmisji synchronicznej

Oficjalnym odniesieniem definiującym ATR w transmisji synchronicznej jest norma ISO/IEC 7816-10 .

ATR zaczyna się od 32-bitowego nagłówka zorganizowanego w 4 bajty, oznaczone od H1 do H4. H1 koduje protokół (przy czym „00” i „FF” są nieważne), H2 koduje parametry protokołu. Niewiele więcej jest znormalizowanych.

Linki zewnętrzne