-
Diese
Erfindung betrifft ein Verfahren zur Initialisierung und Personalisierung
einer Chipkarte und eine Chipkarte zu diesem Zweck.
-
Der
Herstellungsprozess von Chipkarten beinhaltet zwei Phasen, die mit
dem Laden von Daten in die Karte zusammenhängen, nämlich die Initialisierung und
die Personalisierung.
-
Während der
Initialisierung werden die später
benötigten
Strukturen, beispielsweise Dateien und Verzeichnisse und die Korrelation
zwischen diesen, im Speicher der Chipkarte erzeugt. Außerdem werden
Daten in die Chipkarte geladen, wobei diese für alle Karten in einer gegebenen
Reihe oder Fertigungsperiode gleich sind. Bezüglich der Initialisierung hat
die Geschwindigkeit einen erheblichen Einfluss auf die Kosten.
-
Während der
Personalisierung werden geheime und/oder kartenspezifische Daten
in die Chipkarte geladen. Falls beispielsweise die Nummer der die
Karten ausgebenden Organisation, die für alle Karten gleich ist, zum
Zeitpunkt der Initialisierung aufgezeichnet wurde, so wird zum Zeitpunkt
der Personalisierung beispielsweise die für die Karte spezifische Kreditkartennummer
in den Speicher der Karte programmiert. In diesem Fall besteht eine
wichtige Bedingung darin, dass eine Personalisierung nur für jene Datenfelder
möglich
sein darf, die dafür
vorgesehen sind, personalisiert zu werden. Es muss gewährleistet
sein, dass die Daten an die richtige Stelle geschrieben werden,
d.h. nur in die Felder, die zum Zeitpunkt der Initialisierung zum
Personalisieren von Daten reserviert wurden. Um diese Bedingung
zu erfüllen,
werden während
der Initialisierung sogenannte Platzhalter in den Speicher der Chipkarte
geladen. Wenn Personalisierungsdaten sodann zu einem Feld übertragen
werden, das während
der Personalisierung für
solche Daten vorgesehen ist, werden zusätzliche Daten zusammen mit
den Personalisierungsdaten an die Chipkarte weitergeleitet. Diese
zusätzlichen
Daten werden sodann mit den im Platzhalter gespeicherten Daten verglichen.
Falls die beiden Datensätze
gleich sind, werden die Personalisierungsdaten in den Speicher der
Chipkarte geschrieben. Eine Prüfung
dieser Art ist jedoch nicht robust genug, um die Möglichkeit
eines missbräuchliche
Verwendung auszuschließen.
Es sind Chipkarten bekannt, auf denen eine Vielzahl von Chipkartenanwendungen
gespeichert sind. Eine Chipkartenanwendung ist ein Dienst, den die
Chipkarte bereitstellen kann, beispielsweise eine Zahlungsfunktion
(Chipkartenanwendung A) oder eine elektronische Fahrerlaubnis (Chipkartenanwendung
B). Um während
der Personalisierung der Chipkarte Sicherheit zu garantieren, ist
es notwendig, dass die Chipkartenanwendungen zum Zeitpunkt der Personalisierung
voneinander getrennt sind, d.h., dass sichergestellt wird, dass
nur der Anbieter der Chipkartenanwendung A in der Lage ist, die
Chipkartenanwendung A zu personalisieren, oder mit anderen Worten,
in der Lage ist, Daten für die
Chipkartenanwendung A in die Karte zu laden. Das Gleiche gilt für den Anbieter
der Chipkartenanwendung B und für
alle anderen Chipkartenanwendungen. Bis heute wurde in keinem Chipkartenpersonalisierungssystem
eine sichere Trennung zwischen Chipkartenanwendungen zum Zeitpunkt
der Personalisierung erreicht.
-
Das
Dokument WO-A-9940548 beschreibt ein Verfahren zur Initialisierung
und Personalisierung einer Chipkarte, wobei Daten für mindestens
eine Chipkartenanwendung in den Datenspeicher der Chipkarte übertragen
werden, das die folgenden Schritte umfasst:
- – während der
Initialisierung: Schreiben von Deskriptoren für eine Chipkartenanwendung
in den Datenspeicher der Chipkarte,
- – während der
Personalisierung: Übertragen
der Personalisierungsdaten für
eine Chipkartenanwendung zur Chipkarte, Schreiben der Personalisierungsdaten
in den Datenspeicher der Chipkarte im Speicher.
-
Die
Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines
Verfahrens zur verbesserten Initialisierung und Personalisierung
von Chipkarten und einer Chipkarte zu diesem Zweck.
-
Gemäß der Erfindung
wird diese Aufgabe mittels der in den unabhängigen Ansprüchen beschriebenen
Merkmale erfüllt.
-
Gemäß der vorliegenden
Erfindung werden Datenstrukturen auf der Chipkarte erzeugt, die
es ermöglichen,
dass die zur Chipkarte zu übertragenden Daten
zum Zeitpunkt der Personalisierung eindeutig den einzelnen Chipkartenanwendungen
und folglich den Anbietern dieser Anwendungen zugewiesen werden.
Dies schafft eine sichere und zuverlässige Trennung zwischen den
Chipkartenanwendungen zum Zeitpunkt der Personalisierung. Die vorliegende Erfindung
macht es unmöglich,
dass Personalisierungsdaten während
der Personalisierung in Datenfelder geschrieben werden, die beispielsweise
von den Anbietern von Chipkartenanwendungen nicht zu diesem Zweck
vorgesehen sind. Die vorliegende Erfindung ermöglicht eine robuste Personalisierung
der Felder für
Personalisierungsdaten, die zum Zeitpunkt der Initialisierung als
solche definiert wurden, wobei nur die zu diesem Zweck vorgesehenen
Positionen im Speicher der Chipkarte personalisiert werden können. Es
wird kein zusätzlicher
Speicherplatz im Speicher der Chipkarte benötigt, um die vorliegende Erfindung
in die Praxis umzusetzen. Gleichzeitig kann die für eine Personalisierung
dieser Art erforderliche Initialisierung im Vergleich zu herkömmlichen
Initialisierungsverfahren ohne Geschwindigkeitsverlust ausgeführt werden.
-
Im
Folgenden wird die Erfindung mit Bezugnahme auf bevorzugte Ausführungsformen
ausführlicher
beschrieben. Die Zeichnungen zeigen Folgendes:
-
1 ist
eine Darstellung, die das Layout einer Chipkarte mit einem Datenspeicher
und einzelnen Speicherblöcken
zeigt.
-
2 ist
eine Darstellung, die das Layout von zwei Personalisierungsdeskriptoren
(personalization descriptors) (PDs) und die Logikverbindung zwischen
diesen gemäß der vorliegenden
Erfindung zeigt.
-
3 ist
eine Darstellung, die das Layout eines Anwendungsdeskriptors (application
descriptor) (AD) und zweier Personalisierungsdeskriptoren (PDs)
und die Logikverbindungen zwischen diesen gemäß der Erfindung zeigt.
-
4 zeigt
den Datenspeicher einer Chipkarte nach der Initialisierung gemäß der Erfindung.
-
5 zeigt
den Datenspeicher einer Chipkarte während der Personalisierung
gemäß der Erfindung,
und
-
6 ist
ein Flussdiagramm für
einen Personalisierungsvorgang gemäß der vorliegenden Erfindung.
-
1 zeigt
eine Chipkarte 100, wie sie in einer bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet wird. Die fragliche Chipkarte
ist eine sogenannte intelligente Karte oder anders ausgedrückt eine
Chipkarte mit einem Prozessor 101, einem Datenspeicher 102 und
Software, beispielsweise dem Chipkartenbetriebssystem. In diesem
Fall wird der Datenspeicher 102 der Chipkarte 100 vorzugsweise
von einer Speicherverwaltungseinrichtung (memory manager) verwaltet,
die sich auf der Chipkarte 100 befindet und die beispielsweise
Teil des Chipkartenbetriebssystems ist. Die Speicherverwaltungseinrichtung
unterteilt den Datenspeicher 102 auf der Chipkarte 100 in
einzelne Speicherblöcke 103.
Diese Aufteilung wird vorzugsweise dynamisch ausgeführt, d.h. entsprechend
dem von den einzelnen Betriebssystemfunktionen oder Chipkartenanwendungen
benötigten
Speicherplatz. Jeder Speicherblock 103 hat eine physische
Adresse, die von der Speicherverwaltungseinrichtung verwaltet wird.
Da diese Adressen von der aktuellen Version des Chipkartenbetriebssystems,
von der verwendeten Chipkartenhardware und von anderen zufälligen Bedingungen
abhängen,
werden in der bevorzugten Ausführungsform
Relativzeiger (offsets) verwendet. Falls ein Bereich im Speicher 102 der
Chipkarte 100 initialisiert werden muss, um beispielsweise
eine Datei zu erzeugen, wird ein freier Speicherblock 103 zugewiesen,
und bei Bedarf werden mittels eines Chipkartenbefehls, zum Beispiel
CREATE FILE, Daten in diesen geschrieben. Um zu ermöglichen,
dass Daten in einen bestimmten Bereich im Block 103 geschrieben
werden, wird vorzugsweise ein Relativzeiger verwendet, der sich
beispielsweise auf den Beginn von Block 103 bezieht. Die
Verwendung von relativen Speicheradressen ermöglicht ein Umgehen der durch
hardwarespezifische, physische Speicheradressen auferlegten Einschränkungen.
-
Im
Folgenden wird eine Beschreibung der Initialisierung gegeben, die
als Vorbereitung für
die Personalisierung der Chipkarte 100 dient.
-
Während der
Initialisierung wird ein sogenannter Personalisierungsdeskriptor
(PD) in jede Position in einem Speicherblock 103 geschrieben,
der für
die Zwischenspeicherung eines Feldes von Personalisierungsdaten
vorgesehen ist. 2 zeigt das Layout eines PD 200.
Jeder Personalisierungsdeskriptor enthält ein Relativzeigerfeld NEXT 203.
Außerdem
kann jeder Personalisierungsdeskriptor ein Längenfeld LEN 201 und
ein Statusfeld FLAG 202 enthalten. Um andere Personalisierungseigenschaften
zu definieren, ist es möglich,
andere zusätzliche Felder
einzufügen.
-
Falls
zur Personalisierung einer Chipkartenanwendung mehr als ein Personalisierungsdatensatz übertragen
werden muss, werden zu diesem Zweck im Laufe der Initialisierung
Speicherpositionen im Datenspeicher 102 der Chipkarte 100 durch
andere PDs reserviert. Das Relativzeigerfeld NEXT 203 des PD 200 gibt
die Position, d.h. die Speicheradresse, eines weiteren PD 210 an.
Mittels des Relativzeigerfeldes 203 werden die benötigten PDs 200, 210 in PD-Listen
organisiert, so dass es eine Reihe von PDs 200, 210 usw.
in einer die für
den Personalisierungsprozess festgelegten Reihenfolge gibt. Vom
organisatorischen Standpunkt aus werden die PDs 200, 210 usw.
in diesem Fall in derselben Reihenfolge miteinander verbunden, in
der die Personalisierungsdaten während
der anschließenden
Personalisierung zur Chipkarte 100 übertragen werden. Um anzuzeigen,
dass die PD-Liste keine weiteren Elemente enthält oder dass sie nur aus einem
einzigen Element besteht, kann beispielsweise der Inhalt des Relativzeigerfeldes 203 des
letzten PD auf null gesetzt werden. 2 zeigt,
wie zwei PDs, in diesem Fall PD1 und PD2, verbunden werden, um eine
PD-Liste zu bilden.
Wie oben beschrieben wird, bedeutet die Verwendung von relativen
Speicheradressen, dass die Einschränkungen von physischen Adressen
vermieden werden können,
was insbesondere vorteilhaft ist, wenn rückwirkende Änderungen an der Chipkartenhardware
oder am Betriebssystem vorgenommen werden müssen.
-
Um
die Robustheit der Personalisierung zu erhöhen, kann das zusätzliche
Längenfeld
LEN 201 eingeführt
werden. Im Längenfeld
LEN 201 des PD 200 wird die Länge, zum Beispiel in Byte,
des Feldes für
Personalisierungsdaten angegeben, die die Position des PD 200 einnehmen,
zu dem das Längenfeld 201 während der
nachfolgenden Personalisierung gehört.
-
Die
Länge eines
PD 200, der während
der Initialisierung in den Datenspeicher 102 geschrieben wird,
ist vorzugsweise kleiner als diejenige des Feldes von Personalisierungsdaten,
die anschließend übertragen
werden. Die Länge
eines PD kann beispielsweise 4 Byte betragen, wohingegen diejenige eines
Feldes von Personalisierungsdaten beispielsweise 40 Byte betragen
kann. Es ist jedoch gleichermaßen
möglich,
dass ein PD 200 dieselbe Länge wie sein zugeordnetes Feld
von Personalisierungsdaten hat. Die Einführung des Längenfeldes 201 ermöglicht es,
dass ein Schutz gegen die Zerstörung
der initialisierten Speicherstrukturen erhalten wird.
-
Zur
Bereitstellung einer noch höheren
Sicherheit während
der Personalisierung kann das zusätzliche Statusfeld FLAGS 202 eingeführt werden. Das
Statusfeld 202 eines PD 200 wird zur Speicherung
verschiedener als Markierungen bekannter Statusbits verwendet, die
angeben, welche Eigenschaften die Personalisierungsdaten aufweisen
müssen, die
zum Zeitpunkt der Personalisierung an die Stelle des PD 200 geschrieben
werden müssen.
Beispielsweise kann auf diese Weise angegeben werden, ob die Personalisierungsdaten
verschlüsselt/unverschlüsselt und/oder
signiert/unsigniert sein müssen usw.
-
Die
Einführung
von erweiterten Personalisierungsdeskriptoren dieser Art ermöglicht die
Steuerung des Personalisierungsprozesses auf eine Weise, die für jeden
Personalisierungsdatensatz individuell definiert werden kann.
-
Während der
Initialisierung wird außerdem für jede Chipkartenanwendung
im Speicher 102 der Chipkarte 100 mindestens ein
Anwendungsdeskriptor (AD) erzeugt. Da die Chipkartenanwendungen
jeweils einem Anbieter zugeordnet werden, werden die ADs ebenfalls
den Anbietern der Chipkartenanwendungen zugeordnet. Das Layout eines
AD 300 wird in 3 gezeigt.
-
Um
eine Identifizierung eines AD 300 zu ermöglichen,
enthält
dieser einen Anwendungsbezeichner (application designator) 301,
der die Chipkartenanwendung kennzeichnet, die unter Verwendung des
AD 300 personalisiert werden muss. Der Anwendungsbezeichner 301 wird
im Folgenden als Anwendungskennzeichner (application identifier) (AID)
bezeichnet. Der AID 301 enthält vorzugsweise den Namen der
entsprechenden Chipkartenanwendung und eine eindeutige numerische
Kennzeichnung für
den AD 300.
-
Außerdem enthält der AD 300 den
Relativzeiger ACT 302 für
den nächsten
zu verarbeitenden PD. Das Relativzeigerfeld 302 wird in
diesem Fall so initialisiert, dass es vor dem Beginn der Personalisierung
auf den ersten PD 200 in einer PD-Liste zeigt.
-
Außerdem kann
der AD 300 andere Daten enthalten, beispielsweise Schlüsseldaten
KEY 303 zur Verwendung von verschlüsselten Sicherheitsmechanismen
(cryptographic security mechanisms), beispielsweise zur Entschlüsselung
von Personalisierungsdaten, die in verschlüsselter Form übertragen
wurden, oder zur Überprüfung einer
Signatur. Dies ermöglicht
es jedem Anbieter von Chipkartenanwendungen, die während der Personalisierung
anzuwendenden verschlüsselten
Sicherheitsprozeduren individuell zu formulieren.
-
Außerdem kann
der AD 300 einen Fehlbedienungszähler (misoperation counter)
CNT 304 enthalten, und zur Verbesserung der Robustheit
der Personalisierung kann er einen sogenannten Folgenzähler (sequence
counter) SEQ 305 enthalten, wobei es sich um einen Zähler handelt,
der jedes Mal erhöht wird,
wenn ein Personalisierungsdatensatz erfolgreich in den Datenspeicher 102 der
Chipkarte 100 eingegeben wurde, und der beispielsweise
während der
Personalisierung für
eine Synchronisierung mit externen Datenbankanwendungen verwendet
werden kann.
-
Jeder
PD 200, 210 usw. kann nur einer PD-Liste zugewiesen
werden, wobei jede PD-Liste ihrerseits einem spezifischen AD 300 und
folglich einer Chipkartenanwendung zugewiesen wird. Falls es auf
der Chipkarte 100 mehr als eine Chipkartenanwendung gibt,
muss es auch mehr als einen PD oder eine PD-Liste geben. Auf diese
Weise werden die Chipkartenanwendungen voneinander getrennt. Die beschriebene
Art und Weise der Initialisierung, bei der die PDs 200, 210 usw.
in Listen organisiert werden und die einzelnen PD-Listen jeweils
einem AD 300 zugeordnet werden, bedeutet, dass die Personalisierungsfelder
den verschiedenen Anbietern der entsprechenden beteiligten Chipkartenanwendungen
eindeutig zugewiesen werden. Da jeder AD 300 nur einer
Chipkartenanwendung zugewiesen wird, werden sicherheitsbezogene
Daten, beispielsweise die Schlüsseldaten
KEY 303, ebenfalls eindeutig einer gegebenen Chipkartenanwendung
zugewiesen.
-
Nach
den Initialisierungsschritten, die zur Vorbereitung der Personalisierung
beschrieben wurden, ist beispielsweise die in 4 gezeigte Speicherbelegung
(memory map) zu finden, die außerdem
die Logikverbindungen zwischen den einzelnen Elementen zeigt. Als
Beispiel wird ein Datenspeicher 102 gezeigt, der zwei Chipkartenanwendungen A
und B enthält,
denen jeweils ein Anwendungsdeskriptor (ADA 401 und ADB 402)
zugewiesen wird. Dem Anwendungsdeskriptor ADA 401 seinerseits sind
die Personalisierungsdeskriptoren PDA1 403 und PDA2 404 zugewiesen,
und dem Anwendungsdeskriptor ADB 402 sind die Personalisierungsdeskriptoren
PDB1 405 und PDB2 406 zugewiesen. Wie in 4 gezeigt
wird, besteht ein Vorteil darin, dass beide Anwendungsdeskriptoren 401, 402 und
die Personalisierungsdeskriptoren 403, 404, 405, 406 im Datenspeicher 102 der
Chipkarte 100 in einer beliebigen Reihenfolge gespeichert
werden können.
-
Nach
der Beschreibung der Initialisierung der Chipkarte 100 wird
nun ihre Personalisierung näher
betrachtet, bei der die geheimen und/oder karten- oder benutzerspezifischen
Personalisierungsdaten in die Chipkarte 100 geladen werden.
Bei der Beschreibung der einzelnen Schritte des Personalisierungsprozesses
wird auf 6 Bezug genommen. In der beschriebenen
Ausführungsform
sind die Felder LEN und FLAGS im Personalisierungsdeskriptor enthalten.
-
Die
Personalisierung wird ausgeführt,
indem die PD-Liste für
jeden AD 401, 402 abgearbeitet wird. Als Beispiel
wird hier die Personalisierung einer Chipkartenanwendung A beschrieben.
Wie beim Schritt 601 gezeigt wird, wird zu diesem Zweck
ein Personalisierungsbefehl der Form PERSONALIZE (AID, erster Personalisierungsdatensatz),
der den Kennzeichner AID 301 des der entsprechenden Chipkartenanwendung
zugewiesenen AD 401 und einen ersten Personalisierungsdatensatz
enthält,
zur Chipkarte 100 übertragen,
beispielsweise mittels eines die Personalisierung ausführenden
Bedieners. Die Übertragung
des Kennzeichners AID 301 leitet den Personalisierungsprozess
in der Chipkarte 100 ein. Mit Hilfe von Funktionen, die
vom Betriebssystem der Chipkarte bereitgestellt werden, wird der
AD der Chipkartenanwendung A, die einen entsprechenden Kennzeichner
AID aufweist und im vorliegenden Fall (siehe 4) als ADA 401 bezeichnet
wird, aus den im Datenspeicher 102 vorhandenen ADs 401, 402 ausgewählt (Schritt 602).
Für eine
fehlerfreie Personalisierung muss der übertragene Personalisierungsdatensatz
die Daten enthalten, die in das entsprechende erste Feld für Personalisierungsdaten
geschrieben werden müssen,
wobei es sich im vorliegenden Fall um PDA1 403 handelt.
-
Falls
die Chipkarte 100 für
eine Verwendung vorgesehen ist, bei der nur ein einziger Anwendungsdeskriptor
AD benötigt
wird, kann auf das Vorhandensein des Kennzeichners AID 301 im
Anwendungsdeskriptor und im Personalisierungsbefehl verzichtet werden.
-
Im
Schritt 603 erfolgt sodann eine Prüfung in der Chipkarte 100,
um festzustellen, ob der Wert im Längenfeld 201 von diesem
PD, für
den durch das Relativzeigerfeld ACT 302 des ADA 401 ein
Positionshinweis gegeben wird, im vorliegenden Fall PDA1 403,
gleich der Länge
des im Personalisierungsbefehl übertragenen
Personalisierungsdatensatzes ist.
-
Ist
dies der Fall, wird der Personalisierungsdatensatz im Schritt 604 überprüft, um festzustellen, ob
er die im Statusfeld FLAGS 202 des PDA1 403 festgelegten
Sicherheitsbedingungen erfüllt.
Falls im Statusfeld FLAGS beispielsweise angegeben wird, dass die übertragenen
Personalisierungsdaten von einer digitalen Signatur begleitet werden
müssen, wird
zum Beispiel eine Prüfung
der Daten ausgeführt, um
festzustellen, ob eine Signatur dieser Art vorhanden ist und ob
sie nicht geändert
wurde. Die Signatur kann zum Beispiel durch Verwendung von Schlüsseldaten
KEY 303 aus dem ADA 401 überprüft werden, die möglicherweise
einen geeigneten Signaturschlüssel
enthalten. Oder falls im Statusfeld FLAGS beispielsweise angegeben
wird, dass die übertragenen
Personalisierungsdaten verschlüsselt
sein müssen,
kann beispielsweise eine Prüfung
hinsichtlich dieser Verschlüsselung
ausgeführt
werden und/oder die Daten können
entschlüsselt
werden, beispielsweise unter Verwendung von Schlüsseldaten KEY 303 aus
dem ADA 401, die möglicherweise
einen geeigneten Verschlüsselungsschlüssel (cryptographic key)
enthalten. Damit Sicherheitsattribute überprüft werden können, kann der Personalisierungsbefehl Merkmale
enthalten, mit deren Hilfe Scheckbeträge und so weiter überprüft werden
können.
Mit allen im Statusfeld FLAGS definierten Sicherheitskriterien befasst
sich vorzugsweise der Schritt 604.
-
Falls
die Sicherheitsprüfung
erfolgreich durchlaufen wurde, wird das Relativzeigerfeld ACT 302 im
ADA 401 im Schritt 605 mit dem im PDA1 403 gespeicherten
Relativzeiger NEXT 203 überschrieben.
Der Personalisierungsdatensatz (verschlüsselt, falls nötig) wird
in die Position im Datenspeicher 102 geschrieben, an der
der PDA1 403 gespeichert ist. Da der PDA1 403 folglich überschrieben
wird, wird die Speicherkapazität
des Datenspeichers optimal ausgenutzt.
-
Falls
die zusätzlichen
Felder nicht verwendet werden, erfolgt keine Überprüfung der Länge der Personalisierungsdaten
und/oder der Sicherheitsbedingungen, und dies bedeutet eine Erhöhung der
Geschwindigkeit der Personalisierung. Bei dieser sehr schnellen
Personalisierung werden die Personalisierungsdaten einfach in ihrer
festgelegten Reihenfolge zur Chipkarte 100 übertragen
und in die für
sie reservierten Felder geschrieben. Wenn dies erfolgt ist, wird
die Trennung zwischen den Anwendungen durch das Prinzip der auf
der Grundlage der PDs und ADs verwendeten Adressierung garantiert.
-
Zur
Personalisierung gemäß der vorliegenden
Erfindung ist es nicht notwendig, irgendwelche Daten außer den
eigentlichen Personalisierungsdaten, die sich auf vorhandene Platzhalter
(spaceholders) beziehen, (und außer dem Kennzeichner AID 301,
wenn mehr als ein Anwendungsdeskriptor vorhanden ist) zur Chipkarte 100 zu übertragen,
da alle benötigten
Daten und insbesondere die Daten zu den Speicheradressen, die während der
Personalisierung verwendet werden müssen, bereits auf der Karte
vorhanden sind. Die für
den Personalisierungsprozess benötigte
Datenübertragungszeit
wird entsprechend verringert. Infolgedessen ist die Personalisierung
mit einer erheblich höheren
Geschwindigkeit als zuvor möglich,
insbesondere wenn keine zeitaufwendigen Optionen benutzt werden,
beispielsweise den Zähler SEQ 305.
-
Die
beschriebenen Arbeitsgänge
auf der Chipkarte 100, die während des Initialisierungs-
und Personalisierungsprozesses benötigt werden, und insbesondere
die Schritte 602 bis 607 und die auszuführenden
Prüfungen
und Berechnungen werden auf der Chipkarte 100 ausgeführt, indem
geeignete Softwareroutinen im Prozessor 101 ausgeführt werden, die
beispielsweise im Betriebssystem der Chipkarte realisiert werden
können.
-
Falls
zum Zeitpunkt der Initialisierung angegeben wurde, dass der erste
Personalisierungsdatensatz von einer bestimmten Signatur begleitet
werden muss, beispielsweise durch Setzen eines entsprechenden Bits
im Statusfeld FLAGS 202 des PDA1 403, kann aufgrund
der Sicherheitsprüfung
nur eine Person den PDA1 403 überschreiben, die einen Personalisierungsdatensatz
zur Chipkarte 100 überträgt, der
diese Bedingung erfüllt.
Dies schließt
die Möglichkeit
aus, dass andere PDs 404, 405, 406 versehentlich
oder absichtlich überschrieben
werden. Da für
jeden PD 403, 404, 405, 406 entsprechende Sicherheitsattribute
definiert wurden, d.h. für
jedes Feld für
Personalisierungsdaten, kann die Personalisierung jedes einzelnen
Feldes für
Personalisierungsdaten zum Zeitpunkt der Initialisierung einzeln gesteuert
werden. Und sobald die Sicherheitsattribute definiert wurden, können sie
nicht zu einem späteren
Zeitpunkt umgangen werden.
-
Alternativ
kann, beispielsweise durch ein entsprechendes Steuerbit im Statusfeld
FLAGS 202, während
der Initialisierung angegeben werden, dass der im Personalisierungsbefehl übertragene
Personalisierungsdatensatz kürzer
als festgelegt sein kann, d.h., seine Länge kann beispielsweise kleiner als
der im Längenfeld
LED 201 des entsprechenden PD angegebene Wert sein. Da
die Menge von übertragenen
Personalisierungsdaten in diesem Fall kleiner ist, kann der Speicherplatz
im Datenspeicher 102 der Chipkarte 100, der bereits
reserviert wurde, jedoch nicht verwendet wird, mit Stopfbits (stuffing
bits) gefüllt
werden. Folglich wird die Sicherheitsprüfung in diesem Fall ausgeführt, selbst
wenn der übertragene Personalisierungsdatensatz
kürzer
ist, als zum Zeitpunkt der Initialisierung angegeben wurde.
-
Die
Situation im Datenspeicher 102 der Chipkarte 100 wird
in 5 gezeigt, in der die logischen Verbindungen zwischen
den einzelnen Elementen ebenfalls gezeigt werden. Der Platz des
PDA1 403 wurde vom übertragenen
Personalisierungsdatensatz 500 eingenommen (in 5 wird
die ursprüngliche
Position des PDA1 403 mit gestrichelten Linien gezeigt).
Das Relativzeigerfeld ACT 302 des ADA 401 zeigt
auf den PDA2 404. Die Datenstrukturen (ADB, PDB1, PDB2)
für die
Chipkartenanwendung B werden nicht verändert.
-
Beim
nächsten
Personalisierungsbefehl kann der PDR2 404 überschrieben
werden, indem beispielsweise ein Personalisierungsbefehl der Form PERSONALIZE
(AID, zweiter Personalisierungsdatensatz) verwendet wird. Alternativ
wäre es
möglich, mit
dem Überschreiben
des PDB1 405 zu beginnen usw. Es muss beachtet werden,
dass die Reihenfolge, in der die zu übertragenden Personalisierungsdatensätze angeordnet
sind, die gleiche sein muss, in der die PDs 403, 404, 405, 405 in
der gegebenen PD-Liste miteinander verbunden sind. Unterstützend kann
hierzu beispielsweise der Zähler
SEQ 305 verwendet werden.
-
Sobald
alle PDs eines AD überschrieben worden
sind, d.h., sobald die PD-Liste keine weiteren Elemente mehr enthält, was
durch die Tatsache angezeigt werden kann, dass das Relativzeigerfeld NEXT 203 des
letzten PD einen Inhalt von null aufweist, wird der von der entsprechenden
Chipkartenanwendung verwendete AD im Schritt 607 gelöscht. Die
Chipkartenanwendung wurde vollständig
geladen.
-
In
einer Ausführungsform
der Erfindung wird der Kennzeichner AID 301 nur dann im
Personalisierungsbefehl übertragen,
wenn ein neuer Anwendungsdeskriptor AD ausgewählt werden muss, beispielsweise
wenn der erste Personalisierungsbefehl übertragen wird. Solange kein
nachfolgender Personalisierungsbefehl einen Kennzeichner AID 310 enthält, findet
die Zuordnung der übertragenen
Personalisierungsdaten zum entsprechenden Anwendungsdeskriptor automatisch
statt, beispielsweise unter Verwendung entsprechender Funktionen
im Betriebssystem der Chipkarte. Nur bei Übertragung eines anderen Kennzeichners
AID 301 wird ein entsprechender neuer AD ausgewählt.
-
Die
Personalisierung auf der Chipkarte 100 wird unter Verwendung
bekannter und beispielsweise vordefinierter Dienste und Routinen
ausgeführt, die
vom Betriebssystem der Chipkarte bereitgestellt werden, die durch
Befehle, zum Beispiel den Personalisierungsbefehl, aufgerufen werden
können.