Grundlagen zum Answer to Reset - ATR

Aus Zebradem WIKI
Version vom 23. November 2011, 02:18 Uhr von Mandy28 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ Die „Answer to Reset“ (ATR) ist die erste Information die eine Chipkarte an den Kartenleser übermittelt, nach dem der Kartenleser einen Reset der Karte d…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Die „Answer to Reset“ (ATR) ist die erste Information die eine Chipkarte an den Kartenleser übermittelt, nach dem der Kartenleser einen Reset der Karte durchgeführt hat. Einfach gesprochen handelt es sich bei der ATR um eine Reihe von Parametern, mit der die Karte dem Kartenleser mitteilt, wie er mit ihr kommunizieren kann. Bei kontaktbehafteten Karten ist der Aufbau der ATR sowohl bei CPU- als auch bei Speicher-Karten, unabhängig vom verwendeten Protokoll, gleich. Der Inhalt der ATR ist aber von den Spezifikationen, dem Aufbau der Karten und den Hersteller-Vorgaben abhängig. Chipkarten-Hersteller haben die Möglichkeit, mit Hilfe der ATR die Performance der Chipkarte zu steuern, in dem sie die Parameter der ATR nach ihren Wünschen festlegen. Chipkarten können auch über mehrere ATR’s verfügen, um so ein bestimmtes Maß an Kompatibilität zu erreichen.

Der Aufbau einer ATR stellt sich wie folgt dar. Im Wesentlichen besteht eine ATR aus den Blöcken Initial Charater, Format Character, Interface Characters, Historical Bytes und dem Check Caracter.

Der Initial Character, auch TS genannt, dient zum einen für die Festlegung der Bit-Codierung (logisch „1“ wird als Low- (L) oder High- (H) Pegel übertragen) und zum anderen zur Erkennung des von der Karte angewendeten Teilers, der für die Bestimmung der Bitlänge relevant ist. Dabei wird wie folgt vorgegangen. Das Start-Bit und die nächsten drei weiteren Bits sind immer nach dem Muster (L) H H L x x x x x x aufgebaut (L = Low, H = High, x = don’t care). Der Kartenleser ermittelt die Zeit zwischen den beiden fallenden Flanken und teilt sie durch drei. Die erhaltene Elementary Time Unit (etu) bestimmt die Dauer eines Bits.

Die nächsten drei Bits der Sequenz geben die Bit-Kodierung an. Drei Bits auf High bedeutet, dass logisch 1 als High codiert (direkte Konvertierung) wird; drei Bits auf Low bedeutet, dass logisch 0 als Low (indirekte Konvertierung) codiert wird. erstes Bit: Start-Bit; letztes Bit: Partity-Bit

Direct Conversion - (L) H H L H H H L L (H) 
Indirect Conversion - (L) H H L L L L L L (H) 

Dabei ist zu beachten, dass sich je nach Konvertierung auch die Bit-Reihenfolge ändert. Bei der direkten Konvertierung wird das Least Significant Bit zuerst übertragen, während bei der indirekten Konvertierung das Most Significant Bit zuerst übertragen wird.

Da die Interface Characters und die Historical Characters optional sind, gibt das Format Caracter (auch T0 genannt) an, welche der Character übertragen werden. Das Most Signifiant Nibble (MSN) von T0 zeigt als Bitmuster an, welches der nächsten vier Interface Characters übertragen wird. Das Least Significant Nibble (LSN) wird als Zahl interpretiert und liefert die Anzahl der Historical Character (1 bis max. 15). Tabelle 1 gibt Aufschluss über die möglichen Zusammenstellungen des Format Characters.