umwelt-online: Archivdatei - VO (EWG) Nr. 3821/85 über das Kontrollgerät im Straßenverkehr (5)
zurück |
3.2.2. ATR
TCS_307 Das Gerät überprüft ATR-Bytes gemäß ISO/IEC 7816-3. Es erfolgt keine Überprüfung von historischen ATR-Zeichen.
Beispiel für ein Zweiprotokoll-Basis-ATR gemäß ISO/IEC 7816-3
Zeichen | Wert | Bemerkungen |
TS | "3Bh" | Anzeiger für "direct convention" |
T0 | "85h" | TD1 vorhanden; 5 historische Bytes vorhanden |
TD1 | "80h" | TD2 vorhanden; T=0 verwenden |
TD2 | "11h" | TA3 vorhanden; T=1 verwenden |
TA3 | "XXh" (mind. "F0h") | Informationsfeldgröße der Karte (IFSC) |
TH1 bis TH5 | "XXh" | Historische Zeichen |
TCK | "XXh" | Prüfzeichen (ohne OR) |
TCS_308 Nach der Antwort auf das Zurücksetzen (ATR) wird das Wurzelverzeichnis (MF) implizit ausgewählt und zum aktuellen Verzeichnis.
3.2.3. PTS
TCS_309 Das Standardprotokoll ist T=0. Zur Einstellung des Protokolls T=1 muss ein PTS (auch PPS genannt) vom Gerät gesendet werden.
TCS_310 Da für die Karte beide Protokolle, T=0 und T=1, obligatorisch sind, ist das Basis-PTS für die Protokollumschaltung ebenfalls obligatorisch.
Wie in ISO/IEC 7816-3 angegeben, kann das PTS zur Umschaltung auf höhere Übertragungsraten als die von der Karte im ATR vorgeschlagene Geschwindigkeit verwendet werden (TA(1) Byte).
Höhere Übertragungsraten sind für die Karte fakultativ.
TCS_311 Wird keine andere Übertragungsrate als die Standardgeschwindigkeit unterstützt (oder wird die ausgewählte Übertragungsrate nicht unterstützt), antwortet die Karte auf das PTS korrekt gemäß ISO/IEC 7816-3 durch Weglassen des PPS1-Byte.
Beispiele für ein Basis-PTS zur Protokollwahl:
Zeichen | Wert | Bemerkungen |
PPSS | "FFh" | Startzeichen |
PPS0 | "00h" oder | PPS1 bis PPS3 nicht vorhanden; "00h" zur Auswahl von |
"01h" | T0, "01h" zur Auswahl von T1 | |
PK | "XXh" | Prüfzeichen: "XXh" = "FFh" wenn PPS0 = "00h" "XXh" = "FEh" wenn PPS0 = "01h" |
3.3. Zugriffsbedingungen (AC)
Für jede Elementardatei sind Zugriffsbedingungen (AC) für die Befehle UPDATE BINARY und READ BINARY festgelegt.
TCS_312 Vor dem Zugriff auf die aktuelle Datei müssen deren AC erfüllt werden.
Die Definitionen der verfügbaren Zugriffsbedingungen lauten wie folgt:
Mit den Verarbeitungsbefehlen (UPDATE BINARY und READ BINARY) können die folgenden Zugriffsbedingungen auf der Karte gesetzt werden:
UPDATE BINARY | READ BINARY | |
ALW | Ja | Ja |
NEV | Ja | Ja |
AUT | Ja | Ja |
PRO SM | Ja | Nein |
AUT und PRO SM | Ja | Nein |
Die Zugriffsbedingung PRO SM steht für den Befehl READ BINARY nicht zur Verfügung. Das bedeutet, dass das Vorhandensein einer kryptografischen Prüf-summe für einen READ-Befehl nie obligatorisch ist. Unter Verwendung des Wertes "OC" für die Klasse ist es jedoch möglich, wie im Abschnitt 3.6.2 beschrieben wird, den Befehl READ BINARY mit Secure Messaging zu benutzen.
3.4. Datenverschlüsselung
Wenn die Vertraulichkeit von aus einer Datei auszulesenden Daten geschützt werden muss, wird die Datei als "verschlüsselt" gekennzeichnet. Die Verschlüsselung erfolgt mit Hilfe von Secure Messaging (siehe Anlage 11).
3.5. Befehle und Fehlercodes - Übersicht
Befehle und Dateiorganisation sind von der ISO/IEC 7816-4 abgeleitet und erfüllen diese Norm.
TCS_313 Dieser Abschnitt beschreibt die folgenden APDU-Befehl-Antwort-Paare:
Befehl | INS |
SELECT FILE | A4 |
READ BINARY | B0 |
UPDATE BINARY | D6 |
GET CHALLENGE | 84 |
VERIFY | 20 |
GET RESPONSE | C0 |
PERFORM SECURITY OPERATION:
VERIFY CERTIFICATE |
2A |
INTERNAL AUTHENTICATE | 88 |
EXTERNAL AUTHENTICATE | 82 |
MANAGE SECURITY ENVIRONMENT:
SETTING a KEY |
22 |
PERFORM HASH OF FILE | 2A |
TCS_314 In jeder Antwortnachricht werden die Statusbytes SW1 SW2 zurückgesendet, die den Verarbeitungszustand des Befehls bezeichnen.
SW1 | SW2 | Bedeutung |
90 | 00 | Normale Verarbeitung |
61 | XX | Normale Verarbeitung. XX = Zahl der verfügbaren Antwortbytes |
62 | 81 | Verarbeitungswarnung. Ein Teil der zurückgesendeten Daten kann beschädigt sein |
63 | CX | Falsche CHV (PIN). Zähler für verbleibende Versuche "X" |
64 | 00 | Ausführungsfehler - Zustand des nichtflüchtigen Speichers unverändert. Integritätsfehler |
65 | 00 | Ausführungsfehler - Zustand des nichtflüchtigen Speichers verändert |
65 | 81 | Ausführungsfehler - Zustand des nichtflüchtigen Speichers verändert - Speicherfehler |
66 | 88 | Sicherheitsfehler: falsche kryptografische Prüfsumme (bei Secure Messaging) oder
falsches Zertifikat (bei Zertifikatsverifizierung) |
67 | 00 | Falsche Länge (falsche Lc oder Le) |
69 | 00 | Verbotener Befehl (keine Antwort verfügbar in T=0) |
69 | 82 | Sicherheitsstatus nicht erfüllt |
69 | 83 | Authentisierungsverfahren blockiert |
69 | 85 | Nutzungsbedingungen nicht erfüllt |
69 | 86 | Befehl nicht zulässig (keine aktuelle EF) |
69 | 87 | Erwartete Secure-Messaging-Datenobjekte fehlen |
69 | 88 | Inkorrekte Secure-Messaging-Datenobjekte |
6A | 82 | Datei nicht gefunden |
6A | 86 | Falsche Parameter P1-P2 |
6A | 88 | Bezugsdaten nicht gefunden |
6B | 00 | Falsche Parameter (Offset außerhalb der EF) |
6C | XX | Falsche Länge, SW2 gibt die genaue Länge an. Kein Datenfeld wird zurückgesendet |
6D | 00 | Befehlscode nicht unterstützt oder ungültig |
6E | 00 | Klasse nicht unterstützt |
6F | 00 | Sonstige Prüffehler |
3.6. Beschreibung der Befehle
In diesem Kapitel werden die obligatorischen Befehle für die Kontrollgerätkarten beschrieben.
Weitere sachdienliche Einzelheiten zu kryptografischen Operationen sind in Anlage 11, Gemeinsame Sicherheitsmechanismen, aufgeführt.
Alle Befehle werden unabhängig vom verwendeten Protokoll (T=0 oder T=1) beschrieben. Die APDU-Bytes CLA, INS, P1, P2, Lc und Le werden immer angegeben. Wird Lc oder Le für den beschriebenen Befehl nicht benötigt, bleiben die entsprechende Länge, der Wert und die Beschreibung leer.
TCS_315 Werden beide Längenbytes (Lc und Le) angefordert, ist der Befehl in zwei Teile aufzuspalten, wenn das IFD das Protokoll T=0 verwendet: Das IFD sendet den Befehl wie beschrieben mit P3=Lc + Daten und sendet dann einen GET RESPONSE-Befehl (siehe Abschnitt 3.6.6.) bei P3=Le.
TCS_316 Wenn beide Längenbytes angefordert werden und wenn Le="0" (Secure Messaging) gilt Folgendes:
3.6.1. Select File
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4; seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Der Befehl SELECT FILE wird verwendet:
3.6.1.1. Auswahl nach Namen (AID)
Dieser Befehl ermöglicht die Auswahl eines Applikations-DF auf der Karte.
TCS_317 Dieser Befehl kann von jeder beliebigen Stelle in der Dateistruktur aus ausgeführt werden (nach dem ATR oder jederzeit).
TCS_318 Bei Auswahl einer Anwendung wird die derzeitige Sicherheitsumgebung zurückgesetzt. Nach Auswahl der Anwendung wird kein aktueller öffentlicher Schlüssel mehr ausgewählt, und der frühere Sitzungsschlüssel steht nicht mehr für das Secure Messaging zur Verfügung. Die Zugriffsbedingung AUT geht ebenfalls verloren.
TCS_319 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | |
INS | 1 | "A4h" | |
P1 | 1 | "04h" | Auswahl nach Namen (AID) |
P2 | 1 | "0Ch" | Keine Antwort erwartet |
Lc | 1 | "NNh" | Anzahl der an die Karte gesendeten Bytes (Länge der AID): "06h" für die Kontrollgerätanwendung |
#6-#(5+NN) | NN | "XX..XXh" | AID: "FF 54 41 43 48 4F" für die Kontrollgerätanwendung |
Es wird keine Antwort auf den Befehl SELECT FILE benötigt (Le fehlt in T=1, oder keine Antwort angefordert in T=0).
TCS_320 Antwortnachricht (keine Antwort angefordert)
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.1.2. Auswahl einer Elementardatei anhand ihrer Dateikennung
TCS_321 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | |
INS | 1 | "A4h" | |
P1 | 1 | "02h" | Auswahl einer EF unter dem aktuellen DF |
P2 | 1 | "0Ch" | Keine Antwort erwartet |
Lc | 1 | "02h" | Anzahl der an die Karte gesendeten Bytes |
#6-#7 | 2 | "XXXXh" | Dateikennung |
Es wird keine Antwort auf den Befehl SELECT FILE benötigt (Le fehlt in T=1, oder keine Antwort angefordert in T=0).
TCS_322 Antwortnachricht (keine Antwort angefordert)
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.2. Read Binary
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4; seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Der Befehl Read Binary wird zum Auslesen von Daten aus einer transparenten Datei verwendet.
Die Antwort der Karte besteht im Zurücksenden der gelesenen Daten, die optional in einer Secure-Messaging-Struktur eingekapselt werden können.
TCS_323 Der Befehl kann nur ausgeführt werden, wenn der Sicherheitsstatus den für die EF für die READ-Funktion festgelegten Sicherheitsattributen genügt.
3.6.2.1. Befehl ohne Secure Messaging
Dieser Befehl ermöglicht dem IFD das Lesen von Daten aus der zu dem entsprechenden Zeitpunkt ausgewählten EF ohne Secure Messaging.
TCS_324 Das Lesen aus einer als verschlüsselt gekennzeichneten Datei darf mit diesem Befehl nicht möglich sein.
TCS_325 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | Kein Secure Messaging angefordert |
INS | 1 | "B0h" | |
P1 | 1 | "XXh" | Offset in Bytes vom Dateianfang: höchstwertiges
Byte |
P2 | 1 | "XXh" | Offset in Bytes vom Dateianfang: niedrigstwertiges
Byte |
Le | 1 | "XXh" | Erwartete Datenlänge. Anzahl der zu lesenden
Bytes |
Anmerkung: Bit 8 von P1 muss auf 0 gesetzt sein.
TCS_326 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
#1-#X | X | "XX..XXh" | Gelesene Daten |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.2.2. Befehl mit Secure Messaging
Dieser Befehl ermöglicht dem IFD das Lesen von Daten aus der zu dem entsprechenden Zeitpunkt ausgewählten EF mit Secure Messaging, um die Integrität der empfangenen Daten zu überprüfen und die Vertraulichkeit der Daten bei als verschlüsselt gekennzeichneter EF zu schützen.
TCS_327 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "0Ch" | Secure Messaging angefordert |
INS | 1 | "B0h" | INS |
P1 | 1 | "XXh" | P1 (Offset in Bytes vom Dateianfang): höchstwertiges Byte |
P2 | 1 | "XXh" | P2 (Offset in Bytes vom Dateianfang): niedrigstwertiges Byte |
Lc | 1 | "09h" | Länge der Eingabedaten für Secure Messaging |
#6 | 1 | "97h" | TLE: Tag zur Spezifikation der erwarteten Länge |
#7 | 1 | "01h" | LLE: Erwartete Länge |
#8 | 1 | "NNh" | Spezifikation der erwarteten Länge (Original Le): Anzahl der zu lesenden Bytes |
#9 | 1 | "8Eh" | TCC: Tag für die kryptografische Prüfsumme |
#10 | 1 | "04h" | LCC: Länge der folgenden kryptografischen Prüfsumme |
#11-#14 | 4 | "XX..XXh" | Kryptografische Prüfsumme (4 höchstwertige Bytes) |
Le | 1 | "00h" | Gemäß Spezifikation in ISO/IEC 7816-4 |
TCS_328 Antwortnachricht, wenn EF nicht als verschlüsselt gekennzeichnet und wenn Secure-Messaging-Eingabeformat korrekt:
Byte | Länge | Wert | Beschreibung |
#1 | 1 | "81h" | TPV: Tag für Klarwertdaten |
#2 | L | "NNh" oder "81 NNh" | LPV: Länge der zurückgesendeten Daten (= Original Le)
L gleich 2 Byte, wenn LPV> 127 Byte |
#(2+L)-#(1+L+NN) | NN | "XX..XXh" | Klardatenwert |
#(2+L+NN) | 1 | "8Eh" | TCC: Tag für kryptografische Prüfsumme |
#(3+L+NN) | 1 | "04h" | LCC: Länge der folgenden kryptografischen Prüfsumme |
#(4+L+NN)-#(7+- L+NN) | 4 | "XX..XXh" | Kryptografische Prüfsumme (4 höchstwertige Bytes) |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
TCS_329 Antwortnachricht, wenn EF als verschlüsselt gekennzeichnet und wenn Secure-Messaging-Eingabeformat korrekt:
Byte | Länge | Wert | Beschreibung |
#1 | 1 | "87h" | TPI CG: Tag für verschlüsselte Daten (Kryptogramm) |
#2 | L | "MMh" oder "81 MMh" | LPICG: Länge der zurückgesendeten verschlüsselten Daten (wegen Auffüllung anders als Original-Le des Befehls)
L gleich 2 Byte, wenn LPI CG > 127 Byte |
#(2+L)-#(1+L+MM) | MM | "01XX..XXh" | Verschlüsselte Daten: Auffüllindikator und Kryptogramm |
#(2+L+MM) | 1 | "8Eh" | TCC: Tag für kryptografische Prüfsumme |
#(3+L+MM) | 1 | "04h" | LCC: Länge der folgenden kryptografischen Prüfsumme |
#(4+L+MM)-#(7+- L+MM) | 4 | "XX..XXh" | Kryptografische Prüfsumme (4 höchstwertige Bytes) |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
Die zurückgesendeten verschlüsselten Daten enthalten ein erstes Byte, das den verwendeten Auffüllmodus angibt. Für die Kontrollgerätanwendung nimmt der Auffüllindikator stets den Wert "01h" an und zeigt damit an, dass der verwendete Auffüllmodus dem Modus in ISO/IEC 7816-4 entspricht (ein Byte mit Wert "80h", gefolgt von einigen Nullbytes: ISO/IEC 9797 Methode 2).
Die für den Befehl READ BINARY ohne Secure Messaging beschriebenen "regulären" Verarbeitungszustände (siehe Abschnitt 3.6.2.1), können unter Verwendung der oben aufgeführten Antwortnachrichtstrukturen zurückgesendet werden.
Darüber hinaus können einige Fehler speziell im Zusammenhang mit Secure Messaging auftreten. In diesem Fall wird der Verarbeitungsstatus einfach ohne Secure-Messaging-Struktur zurückgesendet:
TCS_330 Antwortnachricht bei inkorrektem Secure-Messaging-Eingabeformat
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.3. Update Binary
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4; seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Die Befehlsnachricht UPDATE BINARY initiiert die Aktualisierung (erase + write) der bereits in einer EF-Binärzahl vorhandenen Bits mit den im APDUBefehl gegebenen Bits.
TCS_331 Der Befehl kann nur ausgeführt werden, wenn der Sicherheitsstatus den für die EF für die UPDATE-Funktion festgelegten Sicherheitsattributen genügt (wenn die Zugangskontrolle der UPDATE-Funktion PRO SM enthält, muss im Befehl ein Secure Messaging hinzugefügt werden).
3.6.3.1. Befehl ohne Secure Messaging
Dieser Befehl ermöglicht dem IFD das Schreiben von Daten in die zu dem entsprechenden Zeitpunkt ausgewählte EF, ohne dass die Karte die Integrität der empfangenen Daten überprüft. Dieser Klarmodus ist nur dann zulässig, wenn die entsprechende Datei nicht als verschlüsselt gekennzeichnet ist.
TCS_332 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | Kein Secure Messaging angefordert |
INS | 1 | "D6h" | |
P1 | 1 | "XXh" | Offset in Bytes vom Dateianfang: höchstwertiges Byte |
P2 | 1 | "XXh" | Offset in Bytes vom Dateianfang: niedrigstwertiges Byte |
Lc | 1 | "NNh" | Lc Länge der zu aktualisierenden Daten. Anzahl der zu schreibenden Bytes |
#6-#(5+NN) | NN | "XX..XXh" | Zu schreibende Daten |
Anmerkung: Bit 8 von P1 muss auf 0 gesetzt sein.
TCS_333 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.3.2. Befehl mit Secure Messaging
Dieser Befehl ermöglicht dem IFD das Schreiben von Daten in die zu dem entsprechenden Zeitpunkt ausgewählte EF, wobei die Karte die Integrität der empfangenen Daten überprüft. Da keine Vertraulichkeit erforderlich ist, werden die Daten nicht verschlüsselt.
TCS_334 Befehlsnachricht
Byte | Läe | Wert | Beschreibung |
CLA | 1 | "0Ch" | Secure Messaging angefordert |
INS | 1 | "D6h" | INS |
P1 | 1 | "XXh" | Offset in Bytes vom Dateianfang:
höchstwertiges Byte |
P2 | 1 | "XXh" | Offset in Bytes vom Dateianfang: niedrigstwertiges Byte |
Lc | 1 | "XXh" | Länge des gesicherten Datenfeldes |
#6 | 1 | "81h" | TPV: Tag für Klarwertdaten |
#7 | L | "NNh" oder "81 NNh" | LPV: Länge der übermittelten Daten
L gleich 2 Byte, wenn LPV > 127 Byte |
#(7+L)-#(6+L+NN) | NN | "XX..XXh" | Klardatenwert (zu schreibende Daten) |
#(7+L+NN) | 1 | "8Eh" | TCC: Tag für die kryptografische Prüfsumme |
#(8+L+NN) | 1 | "04h" | LCC: Länge der folgenden kryptografischen Prüfsumme |
#(9+L+NN)-#(12+- L+NN) | 4 | "XX..XXh" | Kryptografische Prüfsumme (4 höchstwertige Bytes) |
Le | 1 | "00h" | Gemäß Spezifikation in ISO/IEC 7816-4 |
TCS_335 Antwortnachricht bei korrektem Secure-Messaging-Eingabeformat
Byte | Länge | Wert | Beschreibung |
#1 | 1 | "99h" | TSW: Tag für Statusbytes (durch CC zu schützen) |
#2 | 1 | "02h" | LSW: Länge der zurückgesendeten Statusbytes |
#3-#4 | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
#5 | 1 | "8Eh" | TCC: Tag für die kryptografische Prüfsumme |
#6 | 1 | "04h" | LCC: Länge der folgenden kryptografischen Prüfsumme |
#7-#10 | 4 | "XX..XXh" | Kryptografische Prüfsumme (4 höchstwertige Bytes) |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
Die für den Befehl UPDATE BINARY ohne Secure Messaging beschriebenen "regulären" Verarbeitungszustände (siehe Abschnitt 3.6.2.1) können unter Verwendung der oben aufgeführten Antwortnachrichtstrukturen zurückgesendet werden.
Darüber hinaus können einige Fehler speziell im Zusammenhang mit Secure Messaging auftreten. In diesem Fall wird der Verarbeitungsstatus einfach ohne Secure-Messaging-Struktur zurückgesendet:
TCS_336 Antwortnachricht bei Fehler im Secure Messaging
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.4. Get Challenge
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4; seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Der Befehl GET CHALLENGE fordert die Karte zur Ausgabe einer Zufallszahl aus, damit diese in einem sicherheitsbezogenen Verfahren verwendet werden kann, bei dem ein Kryptogramm oder chiffrierte Daten an die Karte gesendet werden.
TCS_337 Die von der Karte ausgegebene Zufallszahl ist nur für den nächsten Befehl gültig, der eine an die Karte gesendete Zufallszahl verwendet.
TCS_338 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "84h" | INS |
P1 | 1 | "00h" | P1 |
P2 | 1 | "00h" | P2 |
Le | 1 | "08h" | Le (erwartete Länge der Zufallszahl) |
TCS_339 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
#1-#8 | 8 | "XX..XXh" | Zufallszahl |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.5. Verify
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4, seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Der Befehl Verify leitet auf der Karte den Vergleich der vom Befehl gesendeten CHV (PIN)-Daten mit der auf der Karte gespeicherten Bezugs-CHV ein.
Anmerkung: Die vom Benutzer eingegebene PIN muss durch das IFD bis zu einer Länge von 8 Byte nach rechts mit "FFh"-Bytes aufgefüllt sein.
TCS_340 Ist der Befehl erfolgreich, werden die der CHV-Präsentation entsprechenden Rechte freigegeben, und der Zähler für die verbleibenden CHV-Versuche wird reinitialisiert.
TCS_341 Ein erfolgloser Vergleich wird auf der Karte registriert, um die Anzahl weiterer Versuche der Verwendung der Bezugs-CHV zu beschränken.
TCS_342 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "20h" | INS |
P1 | 1 | "00h" | P1 |
P2 | 1 | "00h" | P2 (die überprüfte CHV ist implizit bekannt) |
Lc | 1 | "08h" | Länge des übertragenen CHV-Codes |
#6-#13 | 8 | "XX..XXh" | CHV |
TCS_343 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.6. Get Response
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4.
Dieser (nur für das Protokoll T=0 notwendige und verfügbare) Befehl wird zur Übertragung vorbereiteter Daten von der Karte zum Schnittstellengerät verwendet (wenn ein Befehl sowohl Lc als auch Le enthalten hat).
Der Befehl GET RESPONSE muss sofort nach dem Befehl zur Vorbereitung der Daten ausgegeben werden, sonst gehen die Daten verloren. Nach der Ausführung des Befehls GET RESPONSE (außer bei Auftreten der Fehler "61xx" oder "6Cxx", siehe unten) stehen die zuvor vorbereiteten Daten nicht mehr zur Verfügung.
TCS_344 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | |
INS | 1 | "C0h" | |
P1 | 1 | "00h" | |
P2 | 1 | "00h" | |
Lc | 1 | "XXh" | Anzahl der erwarteten Bytes |
TCS_345 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
#1-#X | X | "XX..XXh" | Daten |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.7. PSO: Verify Certificate
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-8, seine Verwendung ist jedoch im Vergleich zu dem in der Norm definierten Befehl eingeschränkt.
Der Befehl VERIFY CERTIFICATE wird von der Karte zur Einholung eines öffentlichen Schlüssels von außen und zur Prüfung seiner Gültigkeit verwendet.
TCS_346 Ist der Befehl VERIFY CERTIFICATE erfolgreich, wird der öffentliche Schlüssel zur künftigen Verwendung in der Sicherheitsumgebung gespeichert. Dieser Schlüssel wird explizit zur Verwendung in sicherheitsbezogenen Befehlen (INTERNAL AUTHENTICATE, EXTERNAL AUTHENTICATE oder VERIFY CERTIFICATE) durch den Befehl MSE (siehe Abschnitt 3.6.10) unter Verwendung seines Schlüsselbezeichners gesetzt.
TCS_347 Auf jeden Fall verwendet der Befehl VERIFY CERTIFICATE den zuvor vom Befehl MSE zur Eröffnung des Zertifikats ausgewählten öffentlichen Schlüssel. Dabei muss es sich um den öffentlichen Schlüssel eines Mitgliedstaates oder Europas handeln.
TCS_348 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "2Ah" | Perform Security Operation |
P1 | 1 | "00h" | P1 |
P2 | 1 | "AEh" | P2: nicht BER-TLV-kodierte Daten (Verkettung von Datenelementen) |
Lc | 1 | "C2h" | Lc: Länge des Zertifikats, 194 Byte |
#6-#199 | 194 | "XX..XXh" | Zertifikat: Verkettung von Datenelementen (entsprechend Beschreibung in Anlage 11) |
TCS_349 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.8. Internal Authenticate
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4.
Mit Hilfe des Befehls INTERNAL AUTHENTICATE kann das IFD die Karte authentisieren.
Der Authentisierungsvorgang wird in Anlage 11 beschrieben. Er beinhaltet folgende Aussagen:
TCS_350 Der Befehl INTERNAL AUTHENTICATE verwendet den (implizit ausgewählten) privaten Kartenschlüssel zum Signieren von Authentisierungsdaten einschließlich K1 (erstes Element für die Sitzungsschlüsselvereinbarung) und RND1 und verwendet den aktuell (durch den letzten MSE-Befehl) ausgewählten öffentlichen Schlüssel zur Verschlüsselung der Signatur und zur Bildung des Authentisierungstokens (nähere Angaben in Anlage 11).
TCS_351 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "88h" | INS |
P1 | 1 | "00h" | P1 |
P2 | 1 | "00h" | P2 |
Lc | 1 | "10h" | Länge der an die Karte gesendeten Daten |
#6-#13 | 8 | "XX..XXh" | Zufallszahl zur Authentisierung der Karte |
#14-#21 | 8 | "XX..XXh" | VU.CHR (siehe Anlage 11) |
Le | 1 | "80h" | Länge der von der Karte erwarteten Daten |
TCS_352 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
#1-#128 | 128 | "XX..XXh" | Kartenauthentisierungstoken (siehe Anlage 11) |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
TCS_353 Ist der Befehl INTERNAL AUTHENTICATE erfolgreich, wird der aktuelle Sitzungsschlüssel, sofern vorhanden, gelöscht und ist nicht mehr verfügbar. Um einen neuen Sitzungsschlüssel zur Verfügung zu haben, muss der Befehl EXTERNAL AUTHENTICATE erfolgreich ausgeführt werden.
3.6.9. External Authenticate
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-4.
Mit Hilfe des Befehls EXTERNAL AUTHENTICATE kann die Karte das IFD authentisieren.
Der Authentisierungsvorgang wird in Anlage 11 beschrieben. Er beinhaltet folgende Aussagen:
TCS_354 Ein GET CHALLENGE-Befehl muss dem Befehl EXTERNAL AUTHENTICATE unmittelbar vorausgehen. Die Karte gibt eine Zufallszahl (RND3) nach außen aus.
TCS_355 Die Verifizierung des Kryptogramms verwendet RND3 (von der Karte ausgegebene Zufallszahl), den (implizit ausgewählten) privaten Kartenschlüssel und den zuvor durch den MSE-Befehl ausgewählten öffentlichen Schlüssel.
TCS_356 Die Karte prüft das Kryptogramm, und wenn es korrekt ist, wird die Zugriffsbedingung AUT eröffnet.
TCS_357 Das Eingabekryptogramm trägt das zweite Element für die Sitzungsschlüsselvereinbarung K2.
TCS_358 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "82h" | INS |
P1 | 1 | "00h" | P1 |
P2 | 1 | "00h" | P2 (der zu verwendende öffentliche Schlüssel ist implizit bekannt und wurde vorher durch den MSE-Befehl gesetzt) |
Lc | 1 | "80h" | Lc (Länge der an die Karte gesendeten Daten) |
#6-#133 | 128 | "XX..XXh" | Kryptogramm (siehe Anlage 11) |
TCS_359 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (Statusbytes (SW1, SW2)) |
TCS_360 Ist der Befehl EXTERNAL AUTHENTICATE erfolgreich und ist der erste Teil des Sitzungsschlüssels eines kurz zuvor erfolgreich ausgeführten INTERNAL AUTHENTICATE verfügbar, wird der Sitzungsschlüssel für künftige Befehle unter Verwendung von Secure Messaging gesetzt.
TCS_361 Ist der erste Teil des Sitzungsschlüssels nicht aus einem vorhergehenden INTERNAL AUTHENTICATE-Befehl verfügbar, wird der vom IFD gesendete zweite Teil des Sitzungsschlüssels nicht auf der Karte gespeichert. Mit diesem Mechanismus wird sichergestellt, dass der Vorgang der gegenseitigen Authentisierung in der in Anlage 11 spezifizierten Reihenfolge abläuft.
3.6.10. Manage Security Environment
Dieser Befehl wird zum Setzen eines öffentlichen Schlüssels zu Authentisierungszwecken verwendet.
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-8. Die Verwendung des Befehls ist jedoch im Vergleich zur entsprechenden Norm eingeschränkt.
TCS_362 Der Schlüssel, auf den im MSE-Datenfeld verwiesen wird, ist für jede Datei des DF Tachograph gültig.
TCS_363 Der Schlüssel, auf den im MSE-Datenfeld verwiesen wird, bleibt bis zum nächsten korrekten MSE-Befehl der aktuelle öffentliche Schlüssel.
TCS_364 Ist der Schlüssel, auf den verwiesen wird, (noch) nicht in der Karte vorhanden, bleibt die Sicherheitsumgebung unverändert.
TCS_365 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "22h" | INS |
P1 | 1 | "C1h" | P1: Schlüssel, auf den verwiesen wird, gültig für alle kryptografischen Operationen |
P2 | 1 | "B6h" | P2 (mit Verweis versehene Daten zur digitalen Signatur) |
Lc | 1 | "0Ah" | Lc: Länge des folgenden Datenfelds |
#6 | 1 | "83h" | Tag zum Verweis auf einen öffentlichen Schlüssel in asymmetrischen Fällen |
#7 | 1 | "08h" | Länge des Schlüsselverweises (Schlüsselbezeichner) |
#8-#15 | 08h | "XX..XXh" | Schlüsselbezeichner laut Anlage 11 |
TCS_366 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.11. PSO: Hash
Dieser Befehl dient dazu, Ergebnisse der Hashwertberechnung für bestimmte Daten an die Karte zu übertragen. Der Hashwert wird im EEPROM für den folgenden Befehl zur Prüfung der digitalen Signatur gespeichert.
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-8. Die Verwendung des Befehls ist jedoch im Vergleich zur entsprechenden Norm eingeschränkt.
TCS_367 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "2Ah" | Perform Security Operation |
P1 | 1 | "90h" | Hash-Code zurücksenden |
P2 | 1 | "A0h" | Tag: Datenfeld enthält relevante DO für Hash-Code-Anwendung |
Lc | 1 | "16h" | Länge Lc des folgenden Datenfelds |
#6 | 1 | "90h" | Tag für den Hash-Code |
#7 | 1 | "14h" | Länge des Hash-Codes |
#8-#27 | 20 | "XX..XXh" | Hash-Code |
TCS_368 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.12. Perform Hash of File
Dieser Befehl entspricht nicht den Festlegungen von ISO/IEC 7816-8. Das CLA-Byte dieses Befehls gibt daher an, dass eine proprietäre Verwendung von PERFORM SECURITY OPERATION / HASH erfolgt.
TCS_369 Der Befehl PERFORM HASH OF FILE wird zur Hash-Berechnung des Datenbereichs der zu dem entsprechenden Zeitpunkt ausgewählten transparenten EF verwendet.
TCS_370 Das Ergebnis der Hash-Operation wird auf der Karte gespeichert. Es kann dann zur Einholung einer digitalen Signatur der Datei mit Hilfe des Befehls PSO: COMPUTE DIGITAL SIGNATURE verwendet werden. Dieses Ergebnis bleibt bis zum nächsten erfolgreichen Befehl Perform Hash of File für den Befehl COMPUTE DIGITAL SIGNATURE verfügbar.
TCS_371 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "80h" | CLA |
INS | 1 | "2Ah" | Perform Security Operation |
P1 | 1 | "90h" | Tag:Hash |
P2 | 1 | "00h" | P2: Hash-Berechnung der Daten der zu dem entsprechenden Zeitpunkt ausgewählten transparenten Datei |
TCS_372 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
3.6.13. PSO: Compute Digital Signature
Dieser Befehl wird zur Berechnung der digitalen Signatur des zuvor berechneten Hash-Codes (siehe Perform Hash of File, 3.6.12) verwendet.
Dieser Befehl entspricht den Festlegungen von ISO/IEC 7816-8. Die Verwendung des Befehls ist jedoch im Vergleich zur entsprechenden Norm eingeschränkt.
TCS_373 Zur Berechnung der digitalen Signatur wird der private Schlüssel der Karte, der der Karte implizit bekannt ist, herangezogen.
TCS_374 Die Karte führt eine digitale Signatur mit Hilfe einer Auffüllmethode gemäß PKCS1 aus (Einzelheiten siehe Anlage 11).
TCS_375 Befehlsnachricht
Byte | Länge | Wert | Beschreibung |
CLA | 1 | "00h" | CLA |
INS | 1 | "2Ah" | Perform Security Operation |
P1 | 1 | "9Eh" | Zurückzusendende digitale Signatur |
P2 | 1 | "9Ah" | Tag: Datenfeld enthält zu signierende Daten. Da kein Datenfeld enthalten ist, wird davon ausgegangen, dass die Daten bereits auf der Karte vorhanden sind (hash of file) |
Le | 1 | "80h" | Länge der erwarteten Signatur |
TCS_376 Antwortnachricht
Byte | Länge | Wert | Beschreibung |
#1-#128 | 128 | "XX..XXh" | Signatur des zuvor berechneten Hash |
SW | 2 | "XXXXh" | Statusbytes (SW1, SW2) |
weiter . |
(Stand: 15.07.2022)
Alle vollständigen Texte in der aktuellen Fassung im Jahresabonnement
Nutzungsgebühr: 90.- € netto (Grundlizenz)
(derzeit ca. 7200 Titel s.Übersicht - keine Unterteilung in Fachbereiche)
Die Zugangskennung wird kurzfristig übermittelt
? Fragen ?
Abonnentenzugang/Volltextversion