-
Die
vorliegende Erfindung betrifft ein Chipkarten-Terminal sowie ein
Computerprogrammprodukt.
-
Aus
dem Stand der Technik sind verschiedene Typen von Chipkarten bekannt.
Diese unterschiedlichen Typen von Chipkarten können sich in verschiedener
Hinsicht voneinander unterscheiden. Beispielsweise unterscheidet
man zwischen Speicherkarten, die lediglich zur Speicherung von Daten dienen,
und Prozessor-Chipkarten, die neben einem Datenspeicher einen integrierten
Mikroprozessor aufweisen. Ferner unterscheidet man zwischen kontaktlosen,
kontaktbehafteten und Dual-Mode-Chipkarten.
-
Chipkarten
können
ferner unterschiedliche Formate und unterschiedliche elektrische
Schnittstellen aufweisen. Ferner können Chipkarten unterschiedliche
Betriebssysteme mit unterschiedlichen Datenstrukturen aufweisen.
Beispielsweise können Daten
in der Chipkarte in der Form so genannter Elementary Files (EFs)
gespeichert werden oder in einer anderen Datenstruktur.
-
Ferner
sind verschiedene Übertragungsprotokolle
zur Kommunikation mit Chipkarten bekannt, wie zum Beispiel Übertragungsprotokolle
für eine synchrone
Datenübertragung,
wie zum Beispiel der 12C-Bus, und asynchrone Übertragungsprotokolle, wie
zum Beispiel das Übertragungsprotokoll
T = 1, wobei es sich um eine Block-orientiertes Halbduplex-Protokoll
nach ISO/IEC 7813-3 handelt, sowie das Übertragungsprotokoll T = 0.
Einen Überblick über solche
verschiedene Chipkartentypen gibt das „Handbuch der Chipkarten Aufbau – Funktionsweise – Einsatz
von Smartcards" von
Wolfgang Rankl, Wolfgang Effing, Carl Hanser Verlag, 3. Auflage, 1999.
-
Eine
Anwendung für
Chipkarten ist die Speicherung von Patientendaten. Beispielsweise
ist vor einigen Jahren in der Bundesrepublik Deutschland die Krankenversicherungskarte
(KVK) zur Speicherung solcher Patientendaten auf einer Speicherkarte eingeführt worden.
Die „Technische
Spezifikation der Arztausstattung – Lesegeräte", Kassenärztliche Bundesvereinigung,
Hauptabteilung Informatik, Köln, spezifiziert
verschiedene technische Aspekte der KVK, insbesondere deren Datenstruktur.
-
Die
KVKs sollen durch die so genannte elektronische Gesundheitskarte
(eGK) ersetzt werden. Diese wird auch als Patient's Data Card (PDC)
bezeichnet. Hierbei handelt es sich um eine Prozessorkarte, die
mit kryptographischen Funktionen versehen ist. Hierdurch soll der
Zugriff auf schutzbedürftige Patientendaten
nur den hierzu autorisierten Personen ermöglicht werden, die einen so
genannten Heilberufsausweis (HBA) haben, der auch als Health Professional
Card (HPC) bezeichnet wird. Insbesondere ist die eGK auch zur Durchführung einer Card-to-Card-Authentifikation
ausgebildet. Für
die eGK sind verschiedene Online-Dienste geplant, insbesondere hinsichtlich
der zentralen Speicherung von Patientendaten, der Ausstellung von
elektronischen Rezepten und dergleichen. Dafür sind entsprechend aufwendige
Chipkarten-Terminals erforderlich.
-
Der
Erfindung liegt demgegenüber
die Aufgabe zugrunde, einen verbesserten Chipkarten-Terminal zu
schaffen, der den Zugriff auf zwei verschiedene Chipkartentypen
ermöglicht,
sowie ein entsprechendes Computerprogrammprodukt.
-
Die
der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den
Merkmalen der unabhängigen
Schutzansprüche
gelöst.
Ausführungsformen
der Erfindung sind in den abhängigen
Schutzansprüchen
angegeben.
-
Erfindungsgemäß wird ein
Chipkarten-Terminal mit einer Host-Schnittstelle zu einem Host geschaffen.
Bei dem Host kann es sich zum Beispiel um einen üblichen Personalcomputer handeln.
Die Host-Schnittstelle ist so ausgebildet, dass ein Lesekommando
zum Zugriff auf einen ersten Chipkartentyp empfangen werden kann
und als Antwort auf das Lesekommando Daten einer ersten Datenstruktur des
ersten Chipkartentyps an den Host gesendet werden können.
-
Beispielsweise
handelt es sich bei dem ersten Chipkartentyp um die KVK. Der Host
hat beispielsweise ein Anwendungsprogramm, d.h. eine Applikation,
die dazu ausgebildet ist, Patientendaten von der KVK abzufragen.
Hierzu kann die Applikation entsprechende Lesekommandos generieren
und an die Host-Schnittstelle senden. Die Host-Schnittstelle antwortet dann auf diese
Lesekommandos mit Daten, die gemäß der Spezifikation
der KVK in Form von einzelnen Datenblöcken, d.h. so genannten I-Blöcken, gesendet
werden.
-
Das
Chipkarten-Terminal hat Transformationsmittel zur Transformation
einer zweiten Datenstruktur eines zweiten Chipkartentyps in die
erste Datenstruktur, sowie Chipkarten-Schnittstellenmittel, die zum
Zugriff auf eine erste Chipkarte des ersten Chipkartentyps und eine
zweite Chipkarte des zweiten Chipkartentyps ausgebildet sind, wobei
von der zweiten Chipkarte auf einen Zugriff hin gelieferte Daten der
zweiten Datenstruktur durch die Transformationsmittel in die erste
Datenstruktur transformierbar sind, bevor die Daten an den Host
gesendet werden.
-
Beispielsweise
handelt es sich bei dem zweiten Chipkartentyp um die eGK. Die eGK
ermöglicht es,
die Daten in einer Datei einer Auszeichnungssprache zu speichern,
insbesondere in XML. Auf ein Lesekommando antwortet die eGK also
nicht mit I-Blöcken, die
jeweils einzelne Datenelemente beinhalten, sondern mit einer XML-Datei.
Eine solche XML-Datei wird mit Hilfe der Transformationsmittel in die
erste Datenstruktur, d.h. die I-Blöcke, überführt. Diese I-Blöcke werden
dann von der Host-Schnittstelle an den Host als Antwort auf dessen
Lesekommando gesendet.
-
Die
Applikation des Hosts ist zur Interaktion mit Chipkarten des ersten
Chipkartentyps ausgebildet. Beispielsweise handelt es sich um eine
Applikation für
KVKs, wie sie beispielsweise in einer Arztpraxis oder einem Krankenhaus
eingesetzt wird. Ausführungsformen
des erfindungsgemäßen Chipkarten-Terminals
haben den Vorteil, dass ein Host mit einer solchen Applikation über das
Chipkarten-Terminal auch mit einer Chipkarte des zweiten Chipkartentyps,
beispielsweise also einer eGK, kommunizieren kann, ohne dass die
Applikation hierzu in irgendeiner Art und Weise verändert werden
müsste.
Dies ist insbesondere für
eine Übergangszeit
während
der Einführung
der eGK vorteilhaft, da die KVKs sukzessive durch neue eGKs ausgetauscht
werden können, ohne
dass dies eine gleichzeitige Änderung
oder gar Duplizierung der bestehenden Hostsysteme erforderlich machen
würde.
-
Ausführungsformen
des erfindungsgemäßen Chipkarten-Terminals
sind ferner besonders vorteilhaft, da sie trotz des hohen Funktionsumfangs
der eGK, insbesondere bezüglich
der verschiedenen kryptographischen Funktionen und Online-Dienste, die
die eGK ermöglicht,
sehr kostengünstig
implementiert werden können,
da sich nämlich
die Funktionalität
lediglich auf das Lesen kryptographisch nicht geschützter Daten
aus dem Speicher der Chipkarte beschränkt. Eine solche Basisfunktionalität kann aber
auch zukünftig
für verschiedene
Anwendungsfälle
der eGK völlig
ausreichend sein, wenn nämlich lediglich
die nicht besonders schutzbedürftigen
Patientendaten, wie zum Beispiel Name, Anschrift, Versichertennummer
etc. von der eGK abgefragt werden sollen. Ein solcher Anwendungsfall
ist beispielsweise, wenn ein Taxifahrer eine Quittung für eine Krankenfahrt
ausstellen soll oder dergleichen.
-
Nach
einer Ausführungsform
der Erfindung ist die Host-Schnittstelle zum Empfang des Lesekommandos
oder der Lesekommandos und zum Senden der mit dem oder den Lesekommandos
angeforderten Daten nach einem ersten Übertragungsprotokoll ausgebildet,
wie es beispielsweise bei der KVK zur Anwendung kommt. Das Chipkarten-Terminal ist gegenüber der
Chipkarte sowohl zur Ausführung
des ersten Übertragungs protokolls
als auch eines zweiten Übertragungsprotokolls
in der Lage, wobei das zweite Übertragungsprotokoll
beispielsweise zum Zugriff auf die eGK zum Einsatz kommt.
-
Wenn
das Chipkarten-Terminal also von dem Host über das erste Übertragungsprotokoll
ein Lesekommando erhält
und das Vorhandensein einer Chipkarte des zweiten Typs, beispielsweise
also der eGK, von dem Chipkarten-Terminal detektiert wurde, so transformiert
das Chipkarten-Terminal das Lesekommando in das zweite Übertragungsprotokoll,
um das Lesekommando an die Chipkarte des zweiten Typs weiterzuleiten.
Das Chipkarten-Terminal empfängt
daraufhin die angeforderten Daten von der Chipkarte des zweiten
Chipkartentyps über
das zweite Übertragungsprotokoll
und transformiert diese Antwort der Chipkarte in das erste Übertragungsprotokoll,
um die Daten an den Host weiterzuleiten.
-
Ausführungsformen
des erfindungsgemäßen Chipkarten-Terminals
sind also zur Emulation des zweiten Chipkartentyps gegenüber dem
Host ausgebildet, wobei diese Emulation aktiviert wird, wenn eine
Chipkarte des zweiten Chipkartentyps in dem Chipkarten-Terminal befindlich
ist. Ebenso ist das Chipkarten-Terminal zur Emulation eines Hosts
gegenüber
der Chipkarte vom zweiten Chipkartentyp ausgebildet, der mit der
Chipkarte des zweiten Chipkartentyps interagieren kann. Auch aus
der Perspektive der Chipkarte sind also keine Ergänzungen
oder Änderungen
der Spezifikation erforderlich, da sich die Kommunikation zu dem
Host über
den Chipkarten-Terminal aus Sicht der Chipkarte durch Nichts von
der Kommunikation mit einer Applikation, die bereits auf den zweiten
Chipkartentyp eingerichtet ist, unterscheidet.
-
In
einer weiteren Ausführungsform
kann die Host-Schnittstelle des Chipkarten-Terminals so ausgebildet sein, dass
sie auch mit einer Applikation des Hosts kommunizieren kann, die
bereits auf den zweiten Chipkartentyp eingerichtet ist und mit diesem kommunizieren
kann. Insbesondere kann die Host-Schnittstelle dazu ausgebildet
sein, neben dem ersten Übertragungsprotokoll
und der ersten Datenstruktur auch das zweite Übertragungsprotokoll und die
zweite Datenstruktur in der Kommunikation mit dem Host zu unterstützen. In
diesem Fall kann das Chipkarten-Terminal auch für solche Applikationen eingesetzt
werden, die bereits auf den zweiten Chipkartentyp, beispielsweise
also die eGK, abgestimmt sind.
-
Nach
einer Ausführungsform
der Erfindung hat das Chipkarten-Terminal einen Parser. Wenn das Chipkarten-Terminal
von einer Chipkarte des zweiten Chipkartentyps eine Datei empfängt, so
identifiziert der Parser die einzelnen Datenelemente in der Datei. Die
so identifizierten Datenelemente werden dann als Datenblöcke, so
genannte I-Blöcke, mit
Hilfe des ersten Übertragungsprotokolls
von der Host-Schnittstelle des Chipkarten-Terminals an den Host
gesendet.
-
In
einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt
mit von einem Chipkarten-Terminal ausführbaren Programminstruktionen
zur Durchführung
eines erfindungsgemäßen Verfahrens.
-
Im
Weiteren werden Ausführungsformen
der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es
zeigen:
-
1 ein
Blockdiagramm einer Ausführungsform
eines erfindungsgemäßen Chipkarten-Terminals,
-
2 ein
Flussdiagramm einer Arbeitsweise eines erfindungsgemäßen Chipkarten-Terminals,
-
3 ein
Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäßen Chipkarten-Terminals,
-
4 ein
Flussdiagramm einer weiteren Arbeitsweise eines erfindungsgemäßen Chipkarten-Terminals.
-
Elemente
der nachfolgenden Ausführungsformen,
die einander entsprechen, sind jeweils mit denselben Bezugszeichen
gekennzeichnet.
-
Die 1 zeigt
einen Chipkarten-Terminal 100. Der Chipkarten-Terminal 100 hat
eine Host-Schnittstelle 102, die zur Kommunikation mit
einem Host, d.h. einer Applikation 104 eines Computers 103 ausgebildet
ist. Der Computer hat eine entsprechende Schnittstelle 106 zum
Anschluss an die Host-Schnittstelle 102 des Chipkarten-Terminals 100.
-
Die
Applikation 104 beinhaltet Programminstruktionen 108 zur
Interaktion mit Chipkarten eines ersten Chipkartentyps, der im Weiteren
als Typ A bezeichnet wird. Für
den Typ A ist beispielsweise ein bestimmtes Übertragungsprotokoll und/oder
eine bestimmte Datenstruktur definiert. Beispielsweise dienen die
Programminstruktionen 108 dazu, von einer Chipkarte des
Typs A über
das Chipkarten-Terminal Daten abzufragen, insbesondere Patientendaten.
-
Das
Chipkarten-Terminal 100 dient zur Ausführung von Programminstruktionen 110.
Druch die Ausführung
der Programminstruktionen 110 kann das Chipkarten-Terminal 100 über die
Host-Schnittstelle 102 mit der Applikation 104 und über eine
Chipkarten-Schnittstelle 112 des
Chipkarten-Terminals 100 mit einer Chipkarte 114 des
Typs A kommunizieren. Bei der Chipkarte 114 des Typs A
handelt es sich um eine Speicherkarte mit einem nichtflüchtigen Speicher 116 für Daten 118.
-
Das
Chipkarten-Terminal 100 dient ferner zur Ausführung von
Programminstruktionen 120. Durch Ausführung der Programminstruktionen 120 können Lesekommandos,
die von der Applikation 104 empfangen worden sind, in ein
Lesekommando transformiert werden, welches von einer Chipkarte 122 eines zweiten
Chipkartentyps verarbeitet werden kann, welche im Weiteren als Typ
B bezeichnet wird. Ferner wird durch die Programminstruktionen 120 eine von
der Chipkarte 122 gelieferte Datei des Typs B in eine Datenstruktur
gemäß dem Typ
A transformiert, sodass nach dieser Transformation die Daten von der
Applikation 104 empfangen und verarbeitet werden können.
-
Das
Chipkarten-Terminal 100 dient ferner zur Ausführung von
Programminstruktionen 124 zur Interaktion mit der Chipkarte 122 gemäß der Spezifikation
des Typs B.
-
Bei
der Chipkarte 122 handelt es sich um eine Prozessorkarte
mit einem Prozessor 126 zur Ausführung eines Programms 128.
Die Chipkarte 122 hat einen nichtflüchtigen Speicher 130,
in dem Daten 118' gespeichert
sind, die den gleichen oder im Wesentlichen den gleichen Informationsinhalt
haben können
wie die Daten 118 der Chipkarte 114. Die Daten 118' sind in einem
kryptographisch nicht geschützten
Speicherbereich des Speichers 130 gespeichert, so dass
eine kryptographische Authentifizierung für einen Zugriff nicht erforderlich
ist.
-
Ferner
können
in dem Speicher 130 besonders schutzbedürftige Daten 132 gespeichert
sein, wie zum Beispiel Rezeptdaten oder dergleichen. Diese Daten 132 sind
mit Hilfe eines kryptographischen Schlüssels 134 besonders
zugriffsgesichert, sodass nur hierzu autorisierte Personen auf diese
Daten 132 zugreifen können.
-
Im
Weiteren wird davon ausgegangen, dass das Chipkarten-Terminal 100 kontaktbehaftet
ausgeführt
ist und nur entweder die Chipkarte 114 oder die Chipkarte 122 in
das Chipkarten-Terminal 100 eingeführt ist.
-
Im
Weiteren wird der Fall betrachtet, dass die Chipkarte 114 in
das Chipkarten-Terminal 100,
d.h. dessen Chipkarten-Schnittstelle 112 eingeführt ist: Wenn
die Applikation 104 durch Ausführung von deren Programminstruktionen 108 ein
Lesekommando 136 an die Schnittstelle 102 richtet,
so wird dieses durch die Programminstruktionen 110 über die
Chipkarten-Schnittstelle 112 an die Chipkarte 114 weitergeleitet.
Die Chipkarte 114 antwortet darauf mit den angeforderten
Daten 138, die von den Programminstruktionen 110 über die
Host-Schnittstelle 112 an die Applikation 104 gesendet
werden.
-
Im
Weiteren wird der Fall betrachtet, dass sich die Chipkarte 122 in
dem Chipkarten-Terminal 100 befindet:
In diesem Fall wird das von der Host-Schnittstelle 102 empfangene
Lesekommando 136 von den Programminstruktionen 110 an
die Programminstruktionen 120 übergeben, die dieses Lesekommando 136 in
ein entsprechendes Lesekommando 140 transformieren, welches
von der Chipkarte 122 verarbeitet werden kann. Dieses Lesekommando 140 wird
durch die Programminstruktionen 134 über die Chipkarten-Schnittstelle 112 an
die Chipkarte 122 gesendet und dort verarbeitet. Die Chipkarte 122 antwortet
auf das Lesekommando 140 mit einer Datei 142,
wie sie für
Chipkarten des Tpys B spezifiziert ist; die Datei 142 empfängt das
Chipkarten-Terminal 100 mit seiner Schnittstelle 112.
-
Die
Datei 142 wird durch die Programminstruktionen 120 in
die Datenstruktur des Typs A transformiert, sodass die Daten 138 erhalten
werden, die die gleiche Struktur haben und inhaltsgleich sind, wie
die von der Chipkarte 114 gelieferte Daten 138. Diese
Daten 138 werden von den Programminstruktionen 110 über die
Host-Schnittstelle 102 an die Applikation 104 gesendet.
-
Beispielsweise
handelt es sich bei der Chipkarte 114 um eine KVK. In diesem
Fall wird für
die Kommunikation zwischen der Applikation 104 und dem
Chipkarten-Terminal 100 sowie für die Kommunikation zwischen
dem Chipkarten-Terminal 100 und der Chipkarte 114 ein
erstes Übertragungsprotokoll verwendet,
nämlich
das standardisierte asynchrone „Block Transmission Protocol
T = 1" (ISO/IEC 7816-3/AM1).
Die Lesekommandos 136 und die Daten 138 werden
blockweise in so genannten Information-Blocks (I-Blocks) übertragen.
-
Für die Kommunikation
zwischen dem Chipkarten-Terminal 100 und der Chipkarte 122 kann auch
das erste Übertragungsprotokoll
T = 1 oder ein anderes Übertragungsprotokoll,
wie zum Beispiel das asynchrone Halb-Duplexzeichen-Übertragungsprotokoll
T = 0 eingesetzt werden.
-
Eine
blockweise Übertragung
des Lesekommandos 140 und der Datei 142 ist bei
der Chipkarte 122 nicht vorgesehen. Vielmehr kann ein einziges Lesekommando 140 zum
Lesen aller Versichertendaten gesendet werden, wie z.B. das Kommando „Read VSD", worauf die Chipkarte 122 mit
der Datei 142 antwortet. In diesem Fall transformieren
also die Programminstruktionen 120 mehrere blockweise empfangene
Lesekommandos 136, mit denen die Versichertendaten gelesen
werden sollen, in ein einziges Lesekommando 140, „Read VSD".
-
Die 2 zeigt
ein entsprechendes Flussdiagramm. In dem Schritt 200 empfängt das
Chipkarten-Terminal ein Lesekommando vom Typ A. Dieses Lesekommando
ist also zur Verarbeitung durch eine Chipkarte vom Typ A bestimmt.
In dem Schritt 202 prüft
das Chipkarten-Terminal, ob die gerade in seiner Schnittstelle befindliche
Chipkarte den Typ A hat. Wenn dies der Fall ist, wird das Lesekommando
in dem Schritt 204 an die Chipkarte weitergeleitet. Die Chipkarte
antwortet darauf mit den angeforderten Daten, und zwar in einer
Datenstruktur, die der Spezifikation des Typs A entspricht. Die
Daten in dieser Datenstruktur werden in dem Schritt 206 an
den Host übergeben,
von dem das Lesekommando stammt.
-
Wenn
in dem Schritt 202 festgestellt wird, dass die Chipkarte
nicht den Typ A hat, so wird das Lesekommando in ein Lesekommando
des Typs B umgewandelt. Das Lesekommando vom Typ B entspricht der
Spezifizierung des Typs B und kann von einer Chipkarte des Typs
B verarbeitet werden (Schritt 208). Das Lesekommando vom
Typ B wird dann von dem Chipkarten-Terminal an die Chipkarte gesendet
(Schritt 210).
-
Die
Chipkarte erwidert das Lesekommando mit den Daten, die in einer
Datenstruktur des Typs B von der Chipkarte an das Chipkarten-Terminal
gesendet werden. In dem Schritt 214 werden die empfangenen
Daten in die Struktur vom Typ A transformiert. Die jetzt vorliegenden
Daten entsprechen in ihrem Informationsgehalt und ihrer Struktur
den Daten, die von einer Chipkarte des Typs A geliefert werden können. Die
Ablaufsteuerung geht daher zu dem Schritt 206, sodass diese
Daten an den Host gesendet werden.
-
Die 3 zeigt
eine weitere Ausführungsform
eines erfindungsgemäßen Chipkarten-Terminals 100.
Der Computer 103 sowie die Chipkarten 114 und 122 sind
in der 3 der Übersichtlichkeit halber
nicht dargestellt.
-
In
der hier betrachteten Ausführungsform dient
ein Prozessor 144 des Chipkarten-Terminals 100 zur Durchführung einer
Typabfrage mit Hilfe der Programminstruktionen 146. Wenn
eine Chipkarte 114 oder 122 in die Schnittstelle 112 eingesteckt
wird, so werden daraufhin die Programminstruktionen 146 durchgeführt, um
deren Typ abzufragen. Wenn es sich bei dem Typ der Chipkarte um
den Typ B handelt, wird das Flag 148 gesetzt.
-
Die
Transformation der Lesekommando-Blöcke 136, d.h. der
so genannten I-Blöcke,
in ein einzelnes Kommando, das von einer Chipkarte des Typs B verarbeitet
werden kann, wie zum Beispiel in das Kommando Read VSD, erfolgt
mit Hilfe der Programminstruktionen 150. Diese können Teil
der Programminstruktionen 120 sein. Die Rücktransformation
aus der Domäne
des Typs B in die Domäne
des Typs A erfolgt mit Hilfe der Programminstruktionen 152,
die einen Parser 154 und einen Generator 156 zur
Generierung der I-Blöcke
beinhalten.
-
Der
Prozessor 144 kann ferner zur Durchführung der Programminstruktionen 158 dienen,
durch die eine Zulässigkeitsprüfung und/oder
eine Integritätsprüfung der
Lesekommando-Blöcke 136 durchgeführt wird.
-
Im
Betrieb empfängt
das Chipkarten-Terminal 100 Lesekommando-Blöcke 136 von
dem Computer 103. Wenn das Flag 148 nicht gesetzt
ist, so werden diese Lesekommando-Blöcke über die Schnittstelle 112 an
die Chipkarte 114 weitergeleitet, die darauf mit den Datenblöcken 138 arbeitet,
die das Chipkarten-Terminal 100 an den Computer 103 sendet.
Vor der Weiterleitung der Lesekommando-Blöcke 136 von dem Chipkarten-Terminal an die Chipkarte 114 kann
mit Hilfe der Programminstruktionen 158 eine Zulässigkeits-
und/oder Integritätsprüfung der
Lesekommando-Blöcke 136 vorgenommen
werden.
-
Wenn
hingegen das Flag 148 gesetzt ist, d.h. wenn die Chipkarte 122 in
die Schnittstelle 112 gesteckt ist, so werden die Lesekommando-Blöcke 136 zu
den Programminstruktionen 120 weitergeleitet, wo eine Transformation
der I-Blöcke
in das Kommando Read VSD erfolgt. Dieses Kommando Read VSD wird
dann über
die Schnittstelle 112 an die Chipkarte 122 übertragen
und dort verarbeitet.
-
Die
Chipkarte 122 antwortet auf das Kommando Read VSD mit der
Datei 142. Diese wird von dem Parser 154 analysiert,
um in der Datei 142 die relevanten Datenelemente zu identifizieren,
die mit den Lesekommando-Blöcken 136 zuvor
angefordert worden sind. Nach der Identifizierung dieser Datenelemente
werden entsprechende I-Blöcke
generiert, um die daraus resultierenden Datenblöcke 138 dann über die
Schnittstelle 102 an den Computer 103 zu senden.
-
Vor
der Weiterleitung der Lesekommando-Blöcke 136 an die Programminstruktionen 120 kann
wiederum eine Zulässigkeits-
und/oder Integritätsprüfung vorgenommen
werden.
-
Die
Schnittstelle 102 kann auch so ausgebildet sein, dass neben
den Lesekommando-Blöcken 136 auch
unmittelbar das Kommando Read VSD empfangen werden kann. In diesem
Fall wird das Kommando Read VSD unmittelbar durch die Programminstruktio nen 124 an
die Chipkarte 122 weitergeleitet und die Datei 142 wird
ohne Rücktransformation
unverändert
von dem Chipkarten-Terminal 100 an den Computer 103 gesendet.
-
Die 4 zeigt
ein entsprechendes Flussdiagramm.
-
In
dem Schritt 300 wird eine Chipkarte vom Typ A oder vom
Typ B in das Chipkarten-Terminal eingesteckt.
Daraufhin fragt das Chipkarten-Terminal in dem Schritt 302 den
Typ der eingesteckten Chipkarte ab. Das Chipkarten-Terminal setzt
daraufhin ein Flag (vgl. Flag 148 der 3),
wenn der Typ B vorliegt (Schritt 304).
-
In
dem Schritt 306 empfängt
das Chipkarten-Terminal ein Lesekommando vom Typ A, d.h. beispielsweise
in Form eines I-Blocks. In dem Schritt 308 wird geprüft, ob das
in dem Schritt 306 empfangene Lesekommando zulässig ist.
Ist dies nicht der Fall, so erfolgt in dem Schritt 310 ein
Abbruch.
-
Ist
das Lesekommando dagegen vom Chipkarten-Terminal als zulässig erachtet,
so wird in dem Schritt 310 geprüft, ob das Flag gesetzt worden
ist oder nicht. Wenn das Flag nicht gesetzt worden ist, so wird
das Lesekommando in dem Schritt 312 an die Chipkarte weitergeleitet,
die darauf mit den Datenblöcken
vom Typ A antwortet, welche in dem Schritt 314 von dem
Chipkarten-Terminal an die Applikation übergeben werden, von der das
Lesekommando empfangen worden ist.
-
Wenn
sich in dem Schritt 310 dagegen herausstellt, dass das
Flag gesetzt worden ist, so wird das Lesekommando vom Typ A in ein
Lesekommando vom Typ B transformiert. Das so erhaltene Lesekommando
vom Typ B wird dann an die Chipkarte gesendet (Schritt 318).
Die Chipkarte antwortet darauf mit einer Datei, die die gewünschten
Daten beinhaltet (Schritt 320). Diese Datei wird in dem
Schritt 322 einer Parsing-Operation unterworfen, um diejenigen Datenelemente
in der Datei zu identifizieren, die zuvor mit den Lesekommando-Blöcken des
Typs A angefordert worden sind (Schritt 322). Für diese
Datenelemente werden in dem Schritt 324 Datenblöcke des Typs
A generiert. Diese werden dann wiederum in dem Schritt 314 von
dem Chipkarten-Terminal an die Applikation übertragen, von der die Lesekommandos des
Typs A empfangen worden sind.
-
- 100
- Chipkarten-Terminal
- 102
- Host-Schnittstelle
- 103
- Computer
- 104
- Applikation
- 106
- Schnittstelle
- 108
- Programminstruktionen
- 110
- Programminstruktionen
- 112
- Chipkarten-Schnittstelle
- 114
- Chipkarte
- 116
- Speicher
- 118
- Daten
- 118'
- Daten
- 120
- Programminstruktionen
- 122
- Chipkarte
- 124
- Programminstruktionen
- 126
- Prozessor
- 128
- Programm
- 130
- Speicher
- 132
- Daten
- 134
- Schlüssel
- 136
- Lesekommando
- 138
- Daten
- 140
- Lesekommando
- 142
- Datei
- 144
- Prozessor
- 146
- Programminstruktionen
- 148
- Flag
- 150
- Programminstruktionen
- 152
- Programminstruktionen
- 154
- Parser
- 156
- Generator
- 158
- Programminstruktionen