-
Die
vorliegende Erfindung betrifft ein Verfahren zum Komprimieren digitaler
Zertifikate. Insbesondere betrifft die vorliegende Erfindung ein
Verfahren zum Komprimieren digitaler Zertifikate, die bei sicheren
elektronischen Transaktionen (secure electronic transaction, SET)
verwendet werden, damit deren Speicherbedarf auf ein Mindestmaß verringert
wird, um in Kreditinstrumenten wie beispielsweise Chipkarten (Smart-Cards)
mit beschränkter
Speicherkapazität
mehr Daten wie zum Beispiel Mehrfachzertifikate speichern zu können.
-
Ein
Hauptnachteil für
die Akzeptanz des eCommerce (elektronischer Handel) besteht im Anzweifeln
der Sicherheit des Internet durch die Öffentlichkeit. Stark beachtete
Beispiele von elektronischen Lauschangriffen, in Armeecomputer eingedrungenen Hackern
usw. haben das öffentliche
Vertrauen in das Internet als sicherer Weg für die Abwicklung von Geschäften erschüttert. Solange
die Öffentlichkeit
nicht davon überzeugt
werden kann, dass man Kreditkarten, Geldkarten oder Schecks (in
elektronischer Form) sicher für
Transaktionen im Internet einsetzen kann, wird das Internet nicht
zu einem zuverlässigen Werkzeug
zur Abwicklung von Geschäften.
-
Zu
diesem Zweck haben viele Unternehmen äußerst sichere Protokolle entwickelt,
um das öffentliche
Vertrauen in das eCommerce zurückzugewinnen.
Eines dieser unter der Bezeichnung SET (sichere elektronische Transaktionen)
bekannten Protokolle verbindet die Verschlüsselungstechnologie mit digitalen
Signaturen, stellt Händlern
eine Sofortprüfung zur
Verfügung
und verringert den Umfang der persönlichen Daten (in Form von
Kreditkartennummern usw.) auf ein Mindestmaß, die den an einer SET-Transaktion
Beteiligten einschließlich
der Händler
offen gelegt werden.
-
Das
SET-Protokoll beruht auf der Verwendung digitaler Zertifikate zum
Berechtigen der digitalen Signatur des Inhabers eines elektronischen/digitalen
Kreditinstruments bei einer Zahlungsanweisung. Eine Bank händigt ihren
Kunden elektronische/digitale Versionen von Kreditinstrumenten wie zum
Beispiel Kreditkarten, Geldkarten, Schecks usw. zur Verwendung im
eCommerce aus. Die (unter der Bezeichnung Zertifikat bekannten)
Daten in dem elektronischen Kreditinstrument wie zum Beispiel die Kreditkartennummer,
die Gültigkeitsdauer
usw. sind verschlüsselt
oder anderweitig maskiert. Das Zertifikat enthält auch den digitalen Signaturschlüssel des Kunden.
Der Kunde wickelt einen Kauf von einem Händler über das Internet unter Verwendung
eines Zertifikats in Form einer Kreditkarte ab, wobei das Zertifikat
zum Händler
und von diesem wiederum aufgrund der im Zertifikat enthaltenen Daten
an die entsprechende Bank gesendet wird. Der Händler bekommt die in der digitalen
Signatur enthaltenen Daten nicht zu Gesicht und kann nur auf wenige
im Zertifikat enthaltene Daten zugreifen. Der Händler kann jedoch ziemlich
sicher sein, dass es sich bei dem Käufer mit hoher Wahrscheinlichkeit
um den derzeitigen Kontoinhaber des zum Kauf verwendeten Kreditinstruments
(Markenzeichen) handelt und dass der Käufer wirklich die Zahlungsanweisung „abgezeichnet" hat. Aufgrund der
Verschlüsselung
mit einem öffentlichen
Schlüssel
kann man die Daten weitergeben, ohne befürchten zu müssen, dass elektronische Lauscher
die Daten beim Datenverkehr über
das Internet entschlüsseln
können.
Die Bank bestätigt
die Transaktion durch Prüfung
der digitalen Signatur, indem sie feststellt, dass das Konto existiert
und liquide ist, dass das Konto des Kunden die Kreditlinie nicht überschritten
hat usw., und sendet eine Bestätigung an
den Händler.
Der Betrag der Transaktion wird dem Händler durch die Bank gutgeschrieben
und das Konto des Kunden um denselben Betrag belastet.
-
1997
haben in den Vereinigten Staaten die meisten Verbraucher täglich durch
Verwendung ihrer Kreditkarten, Geldkarten, Scheckkarten und Geldautomatenkarten
in irgendeiner Form am eCommerce teilgenommen. Bei diesen Karten
dient ein Magnetstreifen zur Speicherung der Daten des Verbraucherkontos.
Dieser Magnetstreifen ist jedoch nur zur Speicherung einer geringen
Datenmenge (in der Größenordnung
von 100 Byte) in der Lage, die man leicht auf eine gefälschte Karte
kopieren kann. Während
100 Byte zur Speicherung der wichtigsten Daten eines Kontos wie
die Kontonummer, den Namen des Inhabers, die Gültigkeitsdauer usw. für ein oder
zwei Konten ausreichen, bietet eine Magnetstreifenkarte nicht ausreichend
Speicherplatz zur Speicherung mehrerer Konten und noch viel weniger
zur Speicherung eines verschlüsselten
digitalen Zertifikats. Magnetstreifenkarten sind mit einem Stückpreis
von weniger als einem Doller zwar relativ billig, verfügen jedoch
weder über
Möglichkeiten
zur Datenverarbeitung oder zur anderweitigen Verständigung
mit dem Händler
oder dem Karteninhaber noch über
Speicherplatz für
andere Zwecke.
-
In
anderen Teilen der Welt und insbesondere in Europa haben Chipkarten
große
Verbreitung gefunden. Chipkarten weisen gegenüber den normalen amerikanischen
Magnetstreifenkarten ein Vielfaches an Speicherkapazität auf und
haben oft eine integrierte Logik, durch die Eingriffe ohne Kenntnis
des Karteninhabers äußerst erschwert
werden. Chipkarten werden durch PINs (persönliche Kennnummern) geschützt, sodass
man ohne Zustimmung des Karteninhabers nicht an die Kontodaten herankommt. Aufwändigere
Chipkarten enthalten einen symmetrischen Geheimschlüssel, der
zum Signieren einer Zahlungsanweisung nach Eingabe der PIN verwendet
werden kann. Der aktuelle Geheimschlüssel auf der Chipkarte ist
nur der Bank bekannt, die auf diese Weise nachprüfen kann, ob der Karteninhaber
einer bestimmten Zahlungsanweisung zugestimmt hat. Die Stärke dieses
Schemas besteht darin, dass die Kontonummer dem Händler auf
keinen Fall offen gelegt wird und somit nicht zu Fälschungszwecken
kopiert werden kann. Chipkarten sind aber mit einem Preis von mehreren
Dollar um ein Mehrfaches teurer als eine normale amerikanische Kreditkarte,
die weniger als einen Dollar kostet.
-
Die
technisch aufwändigsten
Chipkarten oder „Multifunktionskarten" lassen sich für integrierte Anwendungen
einschließlich
Signaturen mit öffentlichen
Schlüsseln
programmieren. Eine der Anforderungen des SET-Protokolls sieht vor,
dass der Karteninhaber beim Erteilen einer Zahlungsanweisung zugunsten
eines Händlers
persönlich
sein eigenes Zertifikat eingeben muss. Außer seinem eigenen Zertifikat
muss der Karteninhaber das Zertifikat des Zertifikatgebers bzw.
derjenigen Einrichtung eingeben, welche das Karteninhaber-Zertifikat
signiert hat. Außerdem
muss jeder Zertifikatgeber bis einschließlich des SET-Stammzertifikats
beteiligt werden. Diese Zertifikate in ihrer Gesamtheit bezeichnet
man als Zertifikatekette. Diese Chipkarten sind mit einem Preis
von gegenwärtig
etwa 10 bis 25 Dollar zwar mehrfach teuerer als eine normale Chipkarte,
bieten jedoch immer noch nicht ausreichend Speicherplatz zur Speicherung
von mehr als nur einem Verbraucherzertifikat und aller Zertifikate
in der hierarchischen Zertifikatekette.
-
Aufgrund
der zunehmenden Verbreitung des SET-Protokolls, der in Magnetstreifenkarten
begrenzten Speicherkapazität
und der erwiesenen Leistungsfähigkeit
der Chipkarten ist es sinnvoll, das SET-Protokoll in Verbindung
mit Chipkarten zu verwenden. Wegen der hohen Preise für Chipkarten muss
man einen günstigen
Weg finden, wie man in einer einzelnen Chipkarte mehr als nur ein
SET-Zertifikat für
dieses Kreditinstrument speichern kann. Daher hat sich ein Bedarf
an einem Verfahren zur Speicherung mehrerer Zertifikate in einer
einzelnen Chipkarte oder einem anderen Kreditinstrument mit begrenzter
Speicherkapazität
herausgestellt.
-
In
der US-Patentschrift 4 995 081 werden ein Verfahren und ein System
zum Herstellen und Prüfen einer
persönlichen
Kennkarte beschrieben. Diese Karte wird durch Berechnen einer digitalen
Signatur aus frei verfügbaren
persönlichen
Daten hergestellt. Dann werden diese Daten und die Signatur codiert und
in einem Magnetstreifen oder einer anderen Speichervorrichtung der
Karte gespeichert.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
zum Speichern von mehr als einem Zertifikat in einer herkömmlichen
Chipkarte bereitzustellen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
zum Speichern mehrerer Kreditinstrumente auf Grundlage von Zertifikaten
in einer einzelnen Chipkarte zu speichern.
-
Eine
weitere Aufgabe der Erfindung besteht darin, ein Verfahren zum Bereitstellen
einer verbesserten Sicherheit für
Chipkartentransaktionen bereitzustellen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, sowohl
für Internettransaktionen als
auch für
Kartentransaktionen dieselbe Art von sicheren Transaktionen zu ermöglichen.
-
Weitere
Aufgaben und Vorteile der vorliegenden Erfindung werden zum Teil
in der folgenden Beschreibung und in den Zeichnungen dargelegt und zum
Teil entweder aus der Beschreibung klar bzw. können durch die praktische Anwendung
der Erfindung erkannt werden.
-
Zur
Lösung
der obigen Aufgaben stellt die vorliegende Erfindung gemäß dem ausführlich beschriebenen
Zweck der Erfindung ein durch Software realisiertes Verfahren zur
Verwendung in einer Rechnerumgebung zum Komprimieren von Zertifikatdaten aus
einer Zertifikatekette bereit, welches erste Teilprozesse zum Auswählen eines
ersten Zertifikats in der Zertifikatekette zur Verarbeitung; zweite
Teilprozesse zum Ermitteln einer dem ausgewählten Zertifikat entsprechenden
Zertifikatvorlage; dritte Teilprozesse zum Ermitteln und Speichern
der Unterschiede zwischen dem ausgewählten Zertifikat und der Vorlage;
vierte Teilprozesse zum Wiederholen der ersten, zweiten und dritten
Teilprozesse mit den übrigen
Zertifikaten in der Zertifikatekette; und fünfte Teilprozesse zum Speichern
der Unterschiede in einem Kreditinstrument des Endbenutzers umfasst.
Vorzugsweise handelt es sich bei dem Kreditinstrument um eine Chipkarte.
Ferner kann der Prozess auch noch nach den dritten Teilprozessen
ausgeführte
sechste Teilprozesse zum Löschen
von Unterschieden umfassen, die von anderen gespeicherten Unterschieden abgeleitet
werden können.
Außerdem
kann der Prozess ferner siebente Teilprozesse zur Wiederherstellung
der Zertifikatekette und zum Vergleichen der wiederhergestellten
Zertifikatekette mit der ursprünglichen
Zertifikatekette und zum Anzeigen eines Fehlers umfassen, falls
Unterschiede gefunden worden sind. Der Prozess kann ferner auch
noch für
jedes Zertifikat nach den dritten Teilprozessen ausgeführte achte
Teilprozesse umfassen, um zu ermitteln, ob es unter den Unterschieden
der gerade verarbeiteten Zertifikate solche gibt, die von anderen
gespeicherten Unterschieden abgeleitet werden können, und diese Unterschiede
zu löschen,
wenn dies der Fall ist; und der Prozess kann ferner auch noch für jedes Zertifikat
nach den achten Teilprozessen ausgeführte neunte Teilprozesse umfassen
zum Löschen
der Unterschiede umfassen, welche von den bereits für andere
Zertifikate in der Zertifikatekette gespeicherten Unterschieden
abgeleitet werden können.
-
Die
vorliegende Erfindung stellt auch ein System zum Komprimieren von
Zertifikatdaten zum Zweck der Verringerung des Speicherbedarfs für eine Zertifikatekette,
ein Vergleichsmittel zur Ermittlung von Unterschieden zwischen jedem
Zertifikat in der Zertifikatekette und einer entsprechenden Zertifikatvorlage;
ein Mittel zum Speichern der Unterschiede; ein Mittel zur Ermittlung
für jedes
Zertifikat, welche Unterschiede von anderen für jedes Zertifikat gespeicherten
Unterschieden abgeleitet werden können, und zum Löschen derjenigen
Unterschiede, die als ableitbar ermittelt wurden; und ein Mittel
zum Speichern der übrigen
Unterschiede in einem Kreditinstrument. Das System umfasst ferner
ein Mittel zur Anwendung der PER-Codierung (Packed Encoding Rules)
zur Speicherung der übrigen
Unterschiede in dem Kreditinstrument.
-
Außerdem stellt
die vorliegende Erfindung ein Verfahren zum Komprimieren eines eine
Zertifikatekette umfassenden digitalen Zertifikats und zum Speichern
der komprimierten Zertifikatekette in einem Kreditinstrument bereit,
welches die folgenden Schritte umfasst: Ermitteln der Unterschiede
zwischen jedem einzelnen Zertifikat in der Zertifikatekette und
einem Basiszertifikat für
jedes der einzelnen Zertifikate; Speichern der Unterschiede; Ermitteln
für jedes
der einzelnen Zertifikate, welche Unterschiede mehrfach vorkommen,
und Löschen
der überzähligen Unterschiede;
und Speichern der übrigen
Unterschiede in einem Kreditinstrument. Das Verfahren kann ferner
den Schritt des Löschens
anderer Unterschiede nach dem Ermittlungsschritt umfassen, welche
aus den für
andere Zertifikate gespeicherten Unterschieden abgeleitet werden
können.
-
Außerdem stellt
die vorliegende Erfindung ein Kreditinstrument für Endbenutzer mit einer darin gespeicherten
komprimierten Zertifikatekette bereit.
-
Im
Folgenden wird die vorliegende Erfindung unter Bezug auf die folgenden
Zeichnungen beschrieben, wobei gleiche Bezugsnummern stets dasselbe
Element bezeichnen.
-
1 ist
ein Blockschaltbild eines rechnerbasierten Codierungssystems für Chipkarten,
in welchem die vorliegende Erfindung realisiert werden kann;
-
2 zeigt
Beispiele für
SET-Zertifikatvorlagen;
-
3 zeigt
eine SET-Zertifikatehierarchie;
-
4A bis 4B zeigen
ein Ablaufdiagramm, welches die Logik der vorliegenden Erfindung
darlegt;
-
5 zeigt
Daten, die sich auf verschiedene Zertifikate in einer Zertifikatehierarchie
beziehen.
-
1 zeigt
eine repräsentative
Hardwareumgebung eines Arbeitsplatzrechners, in welchem die vorliegende
Erfindung eingesetzt wird. Die Umgebung von 1 umfasst
einen repräsentativen
Einzelarbeitsplatzrechner 10 wie zum Beispiel einen Personal
Computer einschließlich
der zugehörigen Peripherieeinheiten.
Der Arbeitsplatzrechner 10 enthält einen Mikroprozessor 12 und
einen Bus 14 zum Verbinden des Mikroprozessors 12 mit
den Komponenten des Arbeitsplatzrechners 10 und zur Datenübertragung
zwischen diesen mit bekannten Verfahren. Der Arbeitsplatzrechner 10 enthält üblicherweise einen
Benutzerschnittstellenadapter 16, welcher den Mikroprozessor 12 über den
Bus 14 mit einer oder mehreren über die Schnittstellen angeschlossenen Einheiten
wie beispielsweise einer Tastatur 18 und einer Maus 20 verbindet.
Der Arbeitsplatzrechner 10 kann auch über eine an diesen angeschlossene Chipkartenlese-/-schreibeinheit
verfügen,
mit welcher man Chipkarten codieren und Daten von diesen lesen kann.
Bei weiteren Schnittstelleneinheiten wie zum Beispiel der Schnittstelleneinheit 23 kann
es sich um Benutzerschnittstelleneinheiten wie zum Beispiel einen
Sensorbildschirm, ein digitales Eingabefeld usw. handeln, die an
den Arbeitsplatzrechner 10 angeschlossen sind. Der Bus 14 verbindet
auch eine Anzeigeeinheit 24 wie zum Beispiel einen LCD-Bildschirm
oder -Monitor über
einen Bildschirmadapter 26 mit dem Mikroprozessor 12.
Der Bus 14 verbindet auch den Mikroprozessor 12 mit
dem Arbeitsspeicher 28 und dem Langzeitspeicher 30,
bei dem es sich um ein Festplattenlaufwerk, ein Bandlaufwerk usw.
handeln kann.
-
Der
Arbeitsplatzrechner 10 steht über einen Datenübertragungskanal 32 mit
anderen Computern oder Computernetzen in Verbindung. Der Arbeitsplatzrechner 10 kann
mit solchen anderen Computern zu einem lokalen Netz (LAN) oder zu
einem Weitverkehrsnetz zusammengeschaltet werden oder er10 kann
einen Client in einer Client/Server-Anordnung mit einem anderen
Computer (wie zum Beispiel einem Großrechner) usw. darstellen.
Alle diese Anordnungen sowie die geeignete Datenübertragungshardware und -software
sind in der Technik bekannt. Über
den Datenübertragungskanal 32 können Zertifikatdaten
von einem Großrechner
oder einer zentralen Datenbank an den Arbeitsplatzrechner 10 übermittelt
werden, welcher die in den Chipkarten zu codierenden Zertifikatdaten
verarbeitet oder verteilt. Zur Realisierung der vorliegenden Erfindung
können auch
andere Anordnungen von Computersystem verwendet werden.
-
Die
zum Schreiben oder Lesen der Daten von bzw. auf Chipkarten verwendete
Technologie ist allgemein bekannt und wird im Folgenden nicht weiter
erörtert.
-
Den
zur Realisierung des Komprimierungsverfahrens gemäß der vorliegenden
Erfindung erforderlichen Software-Programmcode liest der Mikroprozessor 12 des
Arbeitsplatzrechners 10 üblicherweise von Langzeitspeichermedien
wie zum Beispiel einem CD-ROM-Laufwerk oder einem Festplattenlaufwerk,
die durch den Langzeitspeicher 30 des Arbeitsplatzrechners 10 dargestellt
sind. In einer Client/Server-Umgebung kann ein solcher Software-Programmcode
in einem Speicher des Servers gespeichert sein. Der Software-Programmcode
kann auf einem aus einer Vielzahl bekannter Medien in einem Datenverarbeitungssystem
wie zum Beispiel einer Diskette, einem Festplattenlaufwerk oder
einer CD-ROM realisiert sein. Der Code kann durch solche Medien
oder vom Speicher eines Computersystems an Benutzer bzw. über ein
Netzwerk an Benutzer anderer Computersysteme verteilt werden. Die
Techniken und Verfahren zum Realisieren des Software-Programmcodes
auf physischen Medien und/oder das Verteilen von Softwarecode über Netzwerke
sind allgemein bekannt und werden im Folgenden nicht weiter erörtert.
-
Ein
Aspekt des SET-Protokolls für
sichere elektronische Transaktionen besteht in der zuverlässigen Übertragung
von Zertifikaten während
einer Transaktion. Die SET-Zertifikate beruhen auf dem Standard
X.509. 2 zeigt die Datentypen in einem Standard-SET-Zertifikat 40,
das an einen Endbenutzer wie zum Beispiel einen Kreditkarteninhaber,
einen Händler
oder einen Überweisungsrechner
gesendet wird. Das Zertifikat 40 enthält die nötigen oder üblichen X.509-Zertifikatdaten 42 wie
zum Beispiel Versionsdaten, eine Seriennummer, den Namen des Zertifikatausstellers
(im Fall einer Kreditkarte die ausstellende Bank), die Gültigkeitsdauer
des Zertifikats, die Ausstellerkennung, eine Personenkennung usw. Das
Zertifikat 40 enthält
auch eine Anzahl definierter X.509-Zusätze 44 wie zum Beispiel
Zertifikatstrategiedaten, Schlüsselnutzungsdaten,
Schlüsselkennungsdaten,
Zweitnamen usw. Das Zertifikat 40 enthält auch eine Anzahl SET-spezifischer
(privater) Zusätze 46 wie
zum Beispiel Daten zum Zertifikattyp und Händlerdaten. 2 zeigt
auch eine berechtigte Einrichtung 48, welche das Zertifikat 40 ausgegeben hat,
und die Pfeile weisen auf die Beziehungen zwischen den in den Zertifikaten 40, 48 gespeicherten Daten
hin, welche durch die vorliegende Erfindung zum nachfolgenden Komprimieren
der Daten verwendet werden.
-
Während einer
Transaktion werden die SET-Zertifikate entsprechend einer Sicherheitshierarchie
geprüft.
Jedes Zertifikat ist mit der berechtigten Einrichtung verknüpft, welche
das Zertifikat ausgegeben und digital signiert hat. Durch Aufsteigen
in der Hierarchie bis zu einer bekannten sicheren Partei kann man
dieser gewährleisten,
dass das Zertifikat gültig
ist, zum Beispiel kann man einem Händler gewährleisten, dass ein vom Kunden
vorgelegtes Kreditkarten-Zertifikat
gültig
ist. Für
eine SET-Transaktion ist somit eine ganze Zertifikatekette erforderlich, und
obwohl ein Endbenutzerzertifikat als einziges kundenspezifische
Daten enthält,
muss der Kunde nicht nur über
das unverwechselbare Endbenutzerzertifikat, sondern über alle
Elternzertifikate der Hierarchie verfügen. Alle diese Zertifikate
müssen zum
Ausführen
einer Transaktion dem Händler
zur Verfügung
gestellt werden.
-
3 zeigt
Endbenutzerzertifikate 50, 52, 54, 56 und 58 wie
zum Beispiel das Zertifikat 40 von 2 als Bestandteil
einer Gesamt-Zertifikatehierarchie 60. Die Endbenutzerzertifikate
stehen am Ende der Hierarchiekette und stellen keine Zertifikate
aus (und sind somit keine „berechtigten
Aussteller"). Diese
werden vielmehr durch das in der Hierarchie unmittelbar darüber stehende
Zertifikat ausgestellt. Zertifikate mit der Berechtigung zum Ausstellen
von Zertifikaten sind unter der Bezeichnung berechtigte Aussteller
bekannt. An oberster Stelle in der Hierarchie steht das Stammzertifikat 62,
welches das Ursprungs- oder Elternzertifikat für alle Zertifikate in der Hierarchie 60 darstellt.
Als nächstes
Zertifikat in der Hierarchie folgt das Markenzertifikat 64,
welches durch das Stammzertifikat 62 ausgestellt wird.
Im Fall von Kreditkarten kann es sich bei dem Markenzertifikat 64 zum
Beispiel um VISA oder MasterCard handeln. Diese Zertifikate beziehen
sich auf Unternehmen, denen diese Marken gehören. Das Markenzertifikat 64 kann
ein optionales geopolitisches Zertifikat 66 ausstellen.
Ein geopolitisches Zertifikat kann in bestimmten Ländern erforderlich
sein und enthält spezielle
Informationen zu den nationalen Vorschriften bzw. zum betreffenden
Land. Das Markenzertifikat 64 (bzw. das optionale geopolitische
Zertifikat 66) dient dem Kreditkartenaussteller dazu, seinen
Vertretern wie zum Beispiel Banken Zertifikate 68, 70, 72 auszustellen,
die wiederum den Kunden und Händlern
Endbenutzerzertifikate ausstellen. Das Kreditkartenzertifikat 68 dient
zum Ausstellen von Kreditkartenzertifikaten zur Verwendung durch
Kunden, das Händlerzertifikat 70 zum
Ausstellen von Zertifikaten zur Verwendung durch Händler, damit
diese die während
der Transaktionen vom Kunden erhaltenen Kreditkartenzertifikate
verarbeiten können,
und das Überweisungszertifikat 72 dient
zum Ausstellen von Zertifikaten zur Verwendung in Verbindung mit Überweisungsautomaten,
welche die Transaktionen verarbeiten.
-
Das
Zertifikat 68 stellt wie oben erörtert Kreditkartenzertifikate
wie zum Beispiel ein Endbenutzerzertifikat 50 aus. Ein
Kunde, dem das Zertifikat 50 ausgestellt wurde, muss eigentlich über die
gesamte Zertifikatekette verfügen,
um gemäß dem SET-Protokoll
zur Zertifikatberechtigung eine Transaktion mit einem Händler ausführen zu
können.
Auf einer Kunden-Chipkarte müssen
sich somit, je nachdem, ob ein geopolitisches Zertifikat erforderlich
ist oder nicht, alle vier oder fünf
Zertifikate der Kette (Zertifikate 50, 68, 66, 64, 62)
befinden.
-
2 zeigt,
dass zahlreiche der in den verschiedenen Zertifikaten der Hierarchie
enthaltenen Daten redundant sind. Außerdem sind in jedem Zertifikat
bestimmte Daten standardmäßig vorhanden. Zum
Beispiel enthält
das Zertifikat 68 üblicherweise Daten,
welche die Bank kennzeichnen und die bankspezifische Daten zum Weiterleiten
der Transaktion an diese Bank enthalten. Das Markenzertifikat 64 enthält markenspezifische
Daten, welche die Art der Kreditkarte kennzeichnen. Die Beispiele
von Daten wiederholen sich in jedem in der Hierarchie weiter unten
stehenden Zertifikat.
-
Im
Folgenden wird unter Bezug auf das Ablaufdiagramm von 4 die Logik zum Komprimieren und Speichern
eines Zertifikats auf einer Chipkarte beschrieben.
-
Zuerst
wird in Schritt 100 ermittelt, welches in den Speicher
der Chipkarte zu ladende Zertifikat in der Zertifikatekette das
oberste oder Stammzertifikat ist (dasjenige zu ladende Zertifikat,
für das
es kein höheres
oder Elternzertifikat gibt). Normalerweise ist dies das Stammzertifikat 62 der Hierarchiekette,
welches eine Untergruppe der Hierarchie 60 ist. Im vorliegenden
Beispiel wird zur Verarbeitung das Stammzertifikat 62 ausgewählt.
-
Nach
der Ermittlung und Auswahl des in der Hierarchie obersten auf die
Chipkarte zu ladenden Zertifikats in Schritt 100 wird in
Schritt 102 der Typ des ausgewählten Zertifikats ermittelt.
Das SET-Protokoll definiert jedes Zertifikat in der SET-Hierarchie. Somit
gibt es in der Hierarchie für
jedes Zertifikat ein „Leerzertifikat" bzw. eine Vorlage.
Jedes Zertifikat enthält
in seinen privaten Zusätzen
wie oben erwähnt Daten
zum Zertifikattyp. Durch Lesen dieser Daten kann man den Zertifikattyp
und somit das zu seiner Vorlage passende Zertifikat ermitteln. In
Schritt 102 wird also der Zertifikattyp des ausgewählten Zertifikats
ermittelt und die Vorlage für
diesen Zertifikattyp zur weiteren Verarbeitung gemäß der vorliegenden Erfindung
ausgewählt.
-
Gemäß 2 und
der obigen Erörterung
gibt es für
jeden SET-Zertifikattyp
eine Vorlage, in welche der Aussteller Daten eingibt. Deshalb ist
ein großer Teil
der in einem ausgestellten Zertifikat enthaltenen Daten in Bezug
auf seine Vorlage redundant. In Schritt 104 werden die
Unterschiede zwischen der Vorlage des ausgewählten Zertifikats und diesem selbst
ermittelt und in einer Speichervorrichtung gespeichert, die sich
in einem System zur Speicherung von Daten auf einzelnen Chipkarten
befindet.
-
Eine
Zertifikatekette muss wie oben erwähnt komplett wiederhergestellt
werden, wenn ein Endbenutzer wie zum Beispiel ein Kunde sein Kreditkartenzertifikat 50 verwendet.
Durch Bereitstellen der Vorlagen für alle Zertifikate in einer Hierarchie
am Ort der Verwendung kann man jedes Zertifikat in einer Zertifikatehierarchie
relativ einfach wiederherstellen, indem man die komprimierten Zertifikatdaten
von einer Chipkarte liest und sie an der richtigen Stelle in die Vorlagen
einfügt.
Allerdings ist es gar nicht erforderlich, zur Wiederherstellung
eines Zertifikats alle Unterschiede zwischen dem Zertifikat und
seiner Vorlage zu speichern. Somit kann man eine weitere Komprimierung
erreichen, wenn man einige weitere Komprimierungsschritte und einen
zum Komprimierungsprozess komplementären geeigneten programmierten
Wiederherstellungsalgorithmus ausführt. Je nachdem, wie das SET-Zertifikat
definiert ist, sind einige der in manchen SET-Zertifikaten enthaltenen zertifikatspezifischen
Daten redundant, sodass auch einige der auf der Chipkarte gespeicherten
Unterschiede redundant sind. Folglich kann man einige der Werte,
welche die Unterschiede zwischen einem Zertifikat und dessen Vorlage
repräsentieren,
von einigen anderen Werten der gespeicherten Unterschiede ableiten.
Daher werden in Schritt 106 einige der gespeicherten Werte
gelöscht.
Das Auswählen
der zu löschenden überzähligen Werte
kann auf unterschiedliche Weise erfolgen, muss sich jedoch im Zertifikat-Wiederherstellungsalgorithmus
niederschlagen, welcher die Zertifikatehierarchie wiederherstellt, wenn
ein Kunde die Chipkarte verwenden will. Wenn ein Kunde ein Zertifikat
verwenden will, benötigt
er hierfür
wie oben erwähnt
die gesamte Zertifikatehierarchie einschließlich jedes einzelnen Zertifikats
in dieser Hierarchie. Zwar kann man ein Zertifikat relativ einfach
wiederherstellen, indem man auf einer Chipkarte gespeicherte Daten
in vordefinierte Leerstellen in einer allgemeinen Vorlage für jedes
Zertifikat in einer Hierarchie einfügt, jedoch ist das komplizierter, wenn
zur Wiederherstellung eines Zertifikats einige der Daten mehrmals
verwendet werden müssen. Dem
Wiederherstellungsalgorithmus muss bekannt sein, ob Daten von einer
Chipkarte an mehreren Stellen eines wiederherzustellenden Zertifikats
benötigt werden.
-
Ein
anderes Verfahren zur weiteren Komprimierung der in der Chipkarte
zu speichernden Daten wird im Folgenden anhand der Schritte 108 und 110 beschrieben.
Im Fall der Komprimierung des obersten oder Stammzertifikats 62 in
der Hierarchiekette gibt es kein höheres zu komprimierendes Zertifikat.
In Schritt 108 wird ermittelt, ob es sich bei dem gerade verarbeiteten
Zertifikat um das oberste Zertifikat handelt bzw. ob dieses Zertifikat
durch ein bereits verarbeitetes Zertifikat ausgestellt worden ist.
wenn dies nicht der Fall ist, wird die Verarbeitung in Schritt 112 fortgesetzt.
Wenn jedoch das gerade verarbeitete Zertifikat durch ein zuvor verarbeitetes/komprimiertes
Zertifikat ausgestellt wurde, wird die Verarbeitung in Schritt 110 fortgesetzt.
Redundante Daten kommen nicht nur in einem bestimmten Zertifikat
vor, sondern aufgrund der SET-Definitionen oft auch in verschiedenen
Zertifikaten innerhalb der Zertifikatekette. Ähnlich wie bei dem oben in
Schritt 106 beschriebenen Prozess brauchen diese redundanten
Daten nur einmal in der Chipkarte gespeichert zu werden (solange
die Daten in der Chipkarte richtig wiederhergestellt werden können, um
die Gesamthierarchie wiederherzustellen). Daher kann man bestimmte
Daten des gerade verarbeiteten Zertifikats löschen. 5 zeigt
hierfür
ein Beispiel einer solchen Redundanz. Die Elemente 62A, 64A und 68A stellen
eine Untergruppe der in den Zertifikaten 62, 64 bzw. 68 enthaltenen
Daten dar. Die Pfeile zeigen an, wo in den Zertifikaten an verschiedenen
Stellen gemeinsame Daten zu finden sind. Zum Beispiel entsprechen die
Daten für „Name" im Stammzertifikat 62 auch
den Daten für „Aussteller" und „Berechtigungsschlüsselkennung" im Stammzertifikat 62,
den Daten für „Aussteller" und „Berechtigungsschlüsselkennung" den Daten im Stammzertifikat 64 und
den Daten für „Berechtigungsschlüsselkennung" im Ausstellerzertifikat 68 des
Karteninhabers. Somit werden in Schritt 108 die Daten derjenigen
Unterschiede herausgesucht und gelöscht, die bereits bei einem
zuvor verarbeiteten Zertifikat gespeichert worden sind. Der Wiederherstellungsalgorithmus
wird also in geeigneter Weise programmiert, um diese Daten in der
Chipkarte zu finden und an allen erforderlichen Stellen in den diversen
Zertifikaten einzufügen,
welche während
der Verwendung der Chipkarte wiederhergestellt werden.
-
Wenn
in Schritt 108 gefunden wurde, dass das Zertifikat das
oberste ausstellende Zertifikat ist, oder nach Abarbeitung von Schritt 110 geht
die Verarbeitung weiter zu Schritt 112. In Schritt 112 wird
ermittelt, ob noch weitere zu verarbeitende Zertifikate vorhanden
sind. Im Fall des Stammzertifikats 61, des Markenzertifikats 64,
des geopolitischen Zertifikats 66 und des Ausstellungszertifikats 62 des
Karteninhabers lautet das Ergebnis, dass noch nicht alle Zertifikate
verarbeitet worden sind. Die Verarbeitung geht dann weiter zu Schritt 114,
wo das nächstniedrigere
Zertifikat in der Kette ermittelt und ausgewählt wird, und anschließend wieder
zurück
zu Schritt 102, um das neu ausgewählte Zertifikat zu verarbeiten. Nach
dem Stammzertifikat 62 wird also in Schritt 114 das
Zertifikat 64 zur weiteren Verarbeitung ausgewählt. Wenn
am Ende das Endbenutzerzertifikat 50 ausgewählt und
verarbeitet wird, stellt der Schritt 112 fest, dass keine
niedrigeren Zertifikate mehr zur Verarbeitung anstehen, und die
Verarbeitung geht weiter zu Schritt 116.
-
Die
gespeicherten Daten dürften
nun eine Untergruppe der Unterschiede zwischen den diversen Zertifikatvorlagen
und den ausgestellten Zertifikaten in der Hierarchie der Zertifikatekette
darstellen. Die Daten werden so gespeichert, dass ein Wiederherstellungsalgorithmus
alle Zertifikate in der Hierarchiekette wiederherstellen kann. Vorzugsweise
werden zuerst die Daten mit den Unterschieden in Bezug auf das oberste
Zertifikat und anschließend
die Daten für
jedes Zertifikat weiter unten gespeichert. Es bleiben jedoch nicht
alle Daten erhalten, da einige der Daten redundant sind. Somit ist
der Wiederherstellungsalgorithmus, der zusammen mit den Vorlagen programmiert
wurde oder auf diese zugreifen kann, in der Lage, die Untergruppe
der Unterschiede zu lesen und jedes Zertifikat in der Hierarchie
wiederherzustellen. Üblicherweise
wird der Wiederherstellungsalgorithmus an der Stelle bzw. in dem
Gerät gespeichert,
an dem der Endbenutzer sein Zertifikat verwendet, also im Geldautomaten,
im Chipkartenleser des Händlers
usw. Folglich werden die gespeicherten Daten gemäß Schritt 116 (mit
bekannten Speicher-/Codierungsverfahren für Chipkarten) in der Chipkarte
des Endbenutzers gespeichert. Gemäß der bevorzugten Ausführungsart
wird die Chipkarte als Nächstes
einer Qualitätskontrolle
unterzogen. In Schritt 118 wird versucht, die Zertifikatekette
mittels des Wiederherstellungsalgorithmus aus den in der Chipkarte
gespeicherten Daten wiederherzustellen. Somit wird dann jedes Zertifikat
in der wiederhergestellten Zertifikatehierarchie mit dem Original
verglichen, um zu ermitteln, ob die Komprimierung erfolgreich verlaufen
ist. Wenn in Schritt 120 festgestellt wird, dass die ursprünglichen
Zertifikate mit den wiederhergestellten Zertifikaten übereinstimmen,
wird die Verarbeitung beendet, und man geht davon aus, dass die Komprimierung
und Wiederherstellung der Chipkarte erfolgreich verlaufen ist. Dann
steht die Chipkarte zur Weitergabe an einen Endbenutzer zur Verfügung. Wird
in Schritt 120 jedoch festgestellt, dass die Daten in einem
der wiederhergestellten Zertifikate nicht mit denen der Originale übereinstimmen, geht
die Verarbeitung weiter zu Schritt 122, in welchem die
zuvor in der Chipkarte gespeicherten komprimierten Zertifikatdaten
gelöscht
werden. Dann kehrt die Verarbeitung zurück zu Schritt 100,
wo ein neuer Versuch zum Komprimieren und Speichern der Zertifikatdaten
in der Chipkarte unternommen wird. Mehrere fehlgeschlagene Versuche
zum Erzielen einer Übereinstimmung
in Schritt 120 können
auf eine defekte Chipkarte, einen Softwarefehler im Wiederherstellungsalgorithmus
oder in der Komprimierungssoftware oder auf einen Fehler in den
Daten des Originalzertifikats selbst hinweisen.
-
Vor
dem Schritt 116 kann man optional einen zusätzlichen
Schritt ausführen.
Der optionale Schritt komprimiert ferner die Zertifikatdaten mittels
der PER-Codierung (Packed Encoding Rules, Codierungsregeln für Komprimierung),
die eine sehr kompakte Codierung liefert. Die PER-Codierung lässt sich
zwar nicht für
die Zertifikate selbst, aber zur Zwischenspeicherung verwenden,
soweit die codierten Abschnitte gemäß DER (Distinguished Encoding
Rules, Spezielle Codierungsregeln) umcodiert werden.
-
Obwohl
die vorliegende Erfindung in Bezug auf Chipkarten beschrieben wurde,
lassen sich die hier beschriebenen Verfahren auf viele Arten mobiler Kreditinstrumente
anwenden, bei denen digitale Zertifikate erforderlich oder üblich sind.
Obwohl die bevorzugte Ausführungsart
der vorliegenden Erfindung in der obigen Weise beschrieben wurde,
lassen sich durch einen Fachmann weitere Varianten und Änderungen
daran vornehmen, sobald die erfindungsgemäßen Grundkonzepte verstanden
worden sind.