-
Technisches
Gebiet
-
Die vorliegende Erfindung betrifft
ein Verfahren und ein System zur Datenübertragung zwischen einer zentralen
Einheit oder Host, z. B. ein Zentralcomputer in einer Bank, und
einer Benutzereinheit, die eine IC-Karte, die der Benutzer trägt und benutzt, wenn
er beabsichtigt, Transaktionen, die eine Kommunikation mit dem Host
mit sich bringen, durchzuführen,
und ein Endgerät
umfasst, das imstande ist, mit der IC-Karte und dem Host zu kommunizieren und
als Verbindungsglied zwischen ihnen zu wirken.
-
Hintergrund
-
Es ist gegenwärtig bekannt, Datenübertragungssysteme
zu verwenden, die von IC-Karten gesteuerte Endgeräte und einen
Host umfassen. Es ist ebenfalls bekannt, in diesen Systemen eine
Art von Geheiminformation zu verwenden, um übertragene Daten kryptografisch
zu schützen.
-
In den derzeit verwendeten Datenübertragungssystemen
sind zwei Hauptnachteile zu finden. Der erste betrifft die Tatsache,
dass die Endgeräte geheime
Information enthalten, die wegen der physikalischen Verfügbarkeit
dieser Endgeräte
für die Öffentlichkeit
der Verletzung in dem Sinne ausgesetzt sein kann, dass eine unberechtigte
Person versuchen kann, die geheime Information aus dem Endgerät zu lesen.
Der zweite Nachteil ist, dass, da gegenwärtige Standards bezüglich der
Konfiguration von IC-Karten, mit Ausnahme solcher Grundmerkmale wie
Signalpegel und dergleichen, erhebliche Grade an Freiheit z. B.
hinsichtlich der Speicheradressen, denen die Daten zuzuordnen sind,
erlauben, die Endgeräte
in der Lage sind, nur einen Typ Karte zu handhaben.
-
US-Patent Nr. 5,212,369 offenbart
ein Verfahren und ein System, die das Übertragen von Anwendungsprogrammen
von einer Smartcard zu einem Kartenleser einschließen. Um
Probleme hinsichtlich der Langsamkeit der Datenübertragung zu überwinden,
stellt
US 5, 212,369 einen
schnelleren Download-Prozess bereit.
-
US-Patent Nr. 4,969,188 offenbart
eine Verschlüsselungseinrichtung,
die zwei Teile umfasst: Einen Grundteil und ein Sicherheitsmodul
in der Form einer Smartcard. In
US
4,969,188 werden Probleme bezüglich der Verwaltung von Verschlüsselungsschlüsseln in
einigen Einzel heiten angesprochen, insbesondere im Hinblick auf
bereits standardisierte Schemas.
-
Aufgabe der
Erfindung
-
Die Aufgabe der vorliegenden Erfindung
ist, ein Verfahren und ein System bereizutstellen, die die oben
umrissenen Probleme lösen
oder in einem beträchtlichen
Umfang beseitigen, um so eine erhöhte Flexibilität in Bezug
auf die Karten, die in dem System verwendet werden können, und
erhöhte
Sicherheit bei der Verwaltung der Geheiminformation bereitzustellen.
-
Zusammenfassung
der Erfindung
-
Die Aufgabe der vorliegenden Erfindung
wird durch ein in Anspruch 1 definiertes Verfahren und ein in Anspruch
8 definiertes System erfüllt.
-
Das Grundkonzept der Erfindung ist,
dass wenigstens empfindliche Datenübertragungen zwischen der Benutzereinheit
und dem Host in einen getrennten sicheren Systemmodus durchgeführt werden,
und dass eine programmgesteuerte Verwirklichung des sicheren Systemmodus
unter Verwendung in der Karte enthaltener kartenspezifischer Information
durchgeführt
wird. Der sichere Systemmodus bedeutet, dass Datenübertagungungen
in einer solchen Weise durchgeführt
werden, dass unberechtigte Personen übertragene Daten nicht entstellen oder
manipulieren können,
ohne dass eine solche Entstellung entdeckt wird. Zu diesem Zweck
wird von Geheiminformation in der Benutzereinheit und in dem Host
Gebrauch gemacht. Das Einleiten einer Kommunikation zwischen der
Karte und dem Endgerät
wird in einem so genannten normalen Systemmodus durchgeführt.
-
Erfindungsgemäß vewendete Karten enthalten
kartenspezifische Programminformation, die in Verbindung mit der
Herstellung eines sicheren Modus an das Endgerät übertragen und von diesem benutzt
wird.
-
Erfindungsgemäß ist der "residente" Informationsinhalt in dem Endgerät nicht
umfangreicher als absolut nötig
ist. Jede Karte trägt
Programminformation, die für
die einzelne Karte spezifisch ist und an das Endgerät übertragen
wird. Da die kartenspezifische Programminformation zu dem Endgerät übertragen
wird, muss das Letztere keine "residente" Programminformation
enthalten, die für
jede einzelne Karte oder Kartentyp spezifisch ist.
-
Dies macht es möglich, in dem System Karten
zu verwenden, die in unterschiedlicher Weise konfiguriert sind,
ohne dass das Endgerät
beträchtliche
Software enthalten muss, und z. B. können mehrere Kartenaussteller
den gleichen Satz von Endgeräten
benutzen, ohne dass es nötig
ist, dass das Endgerät
die Software enthält
oder dass die anderen Kartenaussteller die Software kennen, die
ein bestimmter Kartenaussteller benutzt, damit ein sicherer Systemmodus
adoptiert wird.
-
Das erfindungsgemäße System erlaubt es, das Endgerät sowohl
billig als auch "flexibel" in dem Sinne zu
machen, dass es ohne Schwierigkeiten möglich ist, das Einheitskarten-Endgerät anzupassen,
um Karten einzuschließen,
die unterschiedlich konfiguriert sind, ohne dass das Endgerät geändert oder
mit neuer "residenter" Programminformation versehen
werden muss.
-
Die Übertragung von kartenspezifischer
Programminformation von der Karte zu dem Endgerät wird entsprechend einer bevorzugten
Ausführung
unter Kontrolle des Hosts durchgeführt, dessen Aktionen auf von
der Benutzereinheit übertragener
Kartenidentifizierungsinformation oder einem Code basieren. Es ist
jedoch offensichtlich, dass dies durch das Endgerät und die
Karte durchgeführt
werden kann, ohne den Host einzubeziehen.
-
Erfindungsgemäß benutzte Karten enthalten auch
kartenspezifische Geheiminformation, die verwendet wird, um kryptografischen
Schutz von Datenübertragungen
zu erzeugen, und die in einer solchen Weise gespeichert wird, dass
sie aus der Karte nicht ausgelesen werden kann.
-
Nach einer bevorzugten Ausführung wird
die kartenspezifische Geheiminformation benutzt, um unter Verwendung
eines Algorithmus, vorzugsweise des so genannten DES-Algorithmus,
einen erzeugten Sitzungsschlüssel
(im wertesten Sinne) zu verschlüsseln,
bevorzugt in der Form einer Zufallszahl, die dann in verschlüsselter
Form zu dem Host übertragen
wird. Dieser Sitzungsschlüssel
wird dann benutzt, um Daten kryptografisch zu schützen, die
zwischen der Benutzereinheit und dem Host in einen sicheren Systemmmodus übertragen
werden.
-
Der vorerwähnte Sitzungsschlüssel wird
in der Benutzereinheit spätestens
dann gelöscht,
wenn das nächste
Mal eine Verbindung zwischen einer IC-Karte und dem Endgerät hergestellt
wird, obwohl es möglich
ist, dieses Löschen
als Reaktion auf einen bestimmten Befehl, während die Verbindung noch aufrechterhalten
wird, durchzuführen,
weil gewünscht
wird, eine neue Sitzung zu beginnen, oder wenn die Verbindung zwischen
der fraglichen Karte und dem Endgerät unterbrochen ist.
-
Offensichtlich ist es ebenfalls möglich, kartenspezifische
Geheiminformation als solche zu verwenden, um zwischen dem Host
und der Benutzereinheit in einem sicheren Systemmodus übertragene Daten
kryptografisch zu schützen,
d. h., dass die Geheiminformation als ein kryptografischer Schlüssel entweder
in einem Verschlüsselungsalgorithmus oder
in einem Beglaubigungsalgorithmus benutzt wird.
-
Nach einer bevorzugten Ausführung umfass das
Endgerät
eine Tastatur, die nur in einem sicheren Systemmmodus verwendet
werden kann.
-
Um Daten zu schützen, die auf einer offenen Leitung
oder in einem anderen für
unberechtigte Personen zugänglichen
Medium übertragen
werden, werden verschiedene unterschiedliche kryptografische Verfahren
verwendet. Ein übliches
Verfahren ist, Daten zuerst zu verschlüsseln, die dann übertragen
und schließlich
entschlüsselt
werden. Die umgekehrte Reihenfolge ist auch möglich, d. h. Daten zuerst zu
entschlüsseln,
sie dann zu übertragen
und schließlich
die übertragenen
Daten zu verschlüsseln, die
dann im Klartext zurückgewonnen
werden. Beide Verfahren können
offensichtlich mit der Erfindung verwendet werden. In dem Fall von
z. B. einer Zufallszahl, die angenommen wird, um einen Verschlüsselungsschlüssel für einen
Verschlüsselungsalgorithmus
zu erzeugen, ist es möglich,
stattdessen die Zufallszahl im Klartext zu übertragen und sie dann zu verschlüsseln/entschlüsseln und
später
das Ergebnis als einen Verschlüsselungsschlüssel zu
verwenden. Auch dieses Verfahren kann in Verbindung mit der Erfindung
benutzt werden, die somit nicht auf die Verwendung in Verbindung
mit dem hierin ausführlich beschriebenen
kryptografischen Verfahren beschränkt ist. Symmetrische wie auch
unsymmetrische Verschlüsselungssysteme
können
verwendet werden.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein schematisches Blockdiagramm, das eine Ausführung eines erfindungsgemäßen Systems
betrifft.
-
2 zeigt
ein Flussdiagramm von Maßnahmen,
die entsprechend einer bevorzugten Ausführung zu ergreifen sind, bevor
Datenübertragungen zwischen
der Benutzereinheit und einem Host in einem sicheren Systemmodus
eingeleitet werden.
-
3 veranschulicht
die Weise, in der ein Verschlüsselungsschlüssel gemäß einer
Ausführung der
vorliegenden Erfindung erzeugt und verschlüsselt wird, bevor der Verschlüsselungsschlüssel zu dem
Host übertragen
wird.
-
4 veranschaulicht
die Beglaubigung von Nachrichten (Daten) entsprechend einer bevorzugten
Ausführung
der vorliegenden Erfindung.
-
5 enthält eine
Liste der verschiedenen Vielfältigkeiten
zum Erzeugen von Codeschlüsseln und
deren Übertragung
zu dem Host.
-
6a–6h sind Flussdiagramme, die
die in 5 aufgeführten Vielfältigkeiten
veranschaulichen.
-
Ausführliche
Beschreibung von Ausführungen
der vorliegenden Erfindung
-
Im Folgenden wird mit Verweis auf 1 ein System beschrieben,
das für
sichere Datenübertragungen
bestimmt ist und eine Benutzereinheit mit einer IC-Karte 1 und
einem Endgerät 2 und
eine zentrale Einheit (Host) 3 umfasst.
-
Die IC-Karte 1 umfasst eine
Karten-Kommunikationseinrichtung 4, die mit der Endgerät-Kommunikationseinrichtung
in Kontakt gebracht wird, um eine Verbindung für Datenübertragungen zwischen der IC-Karte 1 und
dem Endgerät 2 zu
errichten.
-
Außerdem umfasst die IC-Karte 1 eine
erste Kartenspeichereinrichtung 9 zum Speichern von kartenspezifischer
Programminformation, die an das Endgerät 2 zu übertragen
ist; eine zweite Kartenspeichereinnchtung 10, die kartenspezifische
Geheiminformation so speichert, dass sie aus der Karte nicht ausgelesen
werden kann; eine Speicherinrichtung 16 zum Speichern eines
Kartenidentifizierungscodes, sowie einen Prozessor 15,
der benötigte
Programminformation enthält,
um die Ausführung
der erforderlichen kryptografischen Verarbeitung, in diesem Fall Verschlüsselung,
zu erlauben, und Erzeugen eines Sitzungsschlüssels, bevor der Letztere zu
dem Host 3 übertragen
wird, wie später
beschrieben wird.
-
Das Endgerät 2 umfasst eine Endgerät-Kommunikationseinheit 6 in
Kommunikation mit der mit dem Host 3 verbundenen zentralen
Kommunikationseinheit, um Datenübertragungen
zwischen dem Host 3 und der Benutzereinheit zu gestatten,
und eine Schlüsselerzeugungseinrichtung 13 in
der Form eines Zufallszahlen- oder Pseudo-Zufallszahlengenerators
zum Erzeugen eines Sitzungsschlüssels, der
in einem verschlüsselten
Zustand an den Host zu übertragen
ist und zum Beglaubigen von Nachrichten zu verwenden ist, die zwischen
der Benutzereinheit und dem Host 3 zu übertragen sind, wie ebenfalls später beschrieben
wird. Das Endgerät 2 umfasst eine
Speichereinrichtung 14, um den Sitzungsschlüssel zu
speichern.
-
Nach einer anderen bevorzugten Ausführung wird
in dem Endgerät
keine Schlüsselerzeugungseinrichtung
verwendet, sondern die Erzeugung des Schlüssels findet stattdessen in
dem Prozessor 15 in der Karte statt.
-
Das Endgerät 2 und der Host 3 umfaasen
außerdem
Steuereinrichtungen 8, 18, um die Überführung des
Systems in den sicheren Systemmodus zu steuern, der entsprechend
der bevorzugten Ausführung
erwogen wird, angenommen worden zu sein, sobald der Sitzungsschlüssel zu
dem Host übertragen
worden ist. In diesem Modus finden Datenübertragungen zwischen dem Endgerät 2 und
dem Host 3 in einer solchen Weise statt, dass Daten, die übertragen
werden, unter Verwendung des zu dem Host übertragenen Sitzungsschlüssels geschütz (kryptografische
Beglaubigung) werden. Das Endgerät 2 umfasst
außerdem
eine Ausleseeinrichtung 11 zum Auslesen der kartenspezifischen
Programminformation in der ersten Kartenspeichereinrichtung 9,
wobei die ausgelesene Programminformation in der Programmausführungseinrichtung 12 im
Endgerät 2 gespeichert
und davon benutzt wird, um die Interaktion zwischen dem Endgerät 2 und
der IC-Karte 1 zu steuern.
-
2 veranschaulicht
in der Form eines Flussdiagramms die Art und Weise, in der die IC-Karte, das Endgerät und der
Host entsprechend einer Ausführung
zusammenarbeiten, bevor die Datenübertragung in einem sicheren
Systemmodus eingeleitet wird, ein Prozess, der im Folgenden ausführlicher
mit Verweis auf 4 zu beschreiben ist.
-
In Schritt 100 wird die
IC-Karte 1 in das Endgerät 2 eingeführt, wodurch
Kontakt zwischen der Endgerät-Kommunikationseinrichtung 5 und
der Karten-Kommunikationseinrichtung 4 hergestellt wird.
In Schritt 101 wird ein in der Speichereinrichtung 16 gespeicherter
ID-Code über
das Endgerät 2 von
der IC-Karte der Benutzereinheit zu dem Host 3 übertragen.
In Schritt 102 informiert der Host 3 auf der Basis der
Verifikation des Kartentyps, d. h. der Kartenkonfiguration, das
Endgerät 2 darüber, wie
seine Ausleseeinrichtung 11 vorzugehen hat, um die kartenspezifische
Programminformation aus der ersten Kartenspeichereinrichtung 9 auszulesen.
Entsprechend einer bevorzugten Ausführung enthalten von dem Host übertragene
Daten Information über
die Adresse, wo das Auslesen zu beginnen hat. In Schritt 103 wird
die kartenspezifische Programminformation von der Karte 1 in
das Endgerät 2 gelesen.
In Schritt 104 wird eine Zufallszahl in der Schlüsselerzeugungseinrichtung 13 erzeugt,
wobei die Zufallszahl als ein Sitzungsschlüssel in einem Beglaubigungsprozess
zu verwenden ist, während
ein Nachrichten-Beglaubigungs-Algorithmus (MAA) benutzt wird. In
Schritt 105 wird der Sitzungsschlüssel in der IC-Karte in der
Verschlüsselungseinrichtung 15 mittels
der in dem zweiten Kartenspeicher 10 der IC-Karte 1 enthaltenen Geheiminformation
verschlüsselt.
In Schritt 106 wird der Sitzungsschlüssel im verschlüsselten
Zustand an den Host 3 übertragen.
Die Schritte 104, 105 und 106 werden
in 3 ausführlicher
veranschaulicht. In Schritt 107 wird eine mit dem Endgerät 2 verbundene Tastatur
zur Benutzung geöffnet.
In Schritt 108 wird die Datenübertragung in dem nun angenommenen sicheren
Systemmodus begonnen.
-
Im Folgenden wird die Beschreibung
mit Verwis auf 4 vorgenommen.
Nach der bevorzugten Ausführung
wird in dem Endgerät
eine Zufallszahl erzeugt, die in einem MAA-Prozess zu verwenden
ist, um von der Benutzereinheit zu dem Host und umgekehrt übertragene
Nachrichten (d. h. Daten) zu beglaubigen. Diese Zufallszahl wird
dann in der Karte in einem DES-Verschlüsselungsalgorithmus unter Verwendung
der Geheiminformation (DES-Schlüssel) in der
zweiten Kartenspeichereinrichtung 10 (1) als der Verschlüsselungsschlüssel verschlüsselt, um
im verschlüsselten
Zustand (die verschlüsselte
Zufallszahl ist durch eK bezeichnet) über das Endgerät zu dem
Host 3 übertragen
zu werden, worin es entschlüsselt
und als ein Sitzungsschlüssel
in einem MAA benutzt wird.
-
In 4 wird
die Art und Weise veranschaulicht, in der Datenübertragungen und Beglaubigung in
einem sicheren Systemmodus entsprechend der bevorzugten Ausführung durchgeführt werden.
Die verschlüsselte
Zufallszahl, die von der Benutzereinheit übertragen wurde, wird in dem
Host mittels eines in dem Host gespeicherten Schlüssels entschlüsselt, wobei
der Schlüssel
von der verwendeten Karte abhängt
und mit dem in der Karte identisch ist. Die entschlüsselte Zufallszahl
wird dann als ein MAA-Schlüssel
zusammen mit einer zu der Benutzereinheit zu übertragenden Nachricht und
einer Seriennummer in einem MAA benutzt, um eine kryptografische
Prüfsumme,
Nachricht-Beglaubigungs-Code (MAC), zu erzeugen, die der Nachricht
hinzugefügt und
zum Beglaubigen derselben verwendet wird. Der MAC wird in aufeinanderfolgenden
Nachrichrichten während
ein und derselben Sitzung ein unterschiedliches Aussehen haben (auch
wenn ihre Inhalte die gleichen sind, da sie verschiedene Seriennummern empfangen
haben). Somit wird ein Fluss von Daten übertragen, der die Nachricht,
die Seriennummer in Klartext und einen MAC enthält.
-
In der Benutzereinheit wird eine
MAA-Prüfung
durchgeführt,
um die empfangene Nachricht zu verifizieren, während der MAA-Schlüssel, d.
h. die Zufallszahl, in dem Endgerät benutzt wird, oder mit anderen
Worten, eine Prüfung,
um zu verifizieren, ob die Nachricht auf ihrem Weg von dem Host
zu der Benutzereinheit manipuliert wurde. Die Prüfung umfasst eine entsprechende
Berechnung eines MAC und einen Vergleich desselben mit dem zusammen
mit der Nachricht empfangenen MAC, um Übereinstimmung festzustellen.
-
Wenn die Benutzereinheit eine Antwortnachricht
zu dem Host zu übertragen
hat, wird in ei ner entsprechenden Weise vorgegangen, d. h. auf der
Basis der Zufallszahl, der Antwort und der von dem Host übertragenen
Seriennummer wird ein neuer MAC berechnet, der dem Fluss von Daten
hinzugefügt
wird, der durch die Antwort von der Benutzereinheit an den Host
und die letzte von dem Host übertragene
Seriennummer gebildet wird. Der Host führt dann eine MAA-Prüfung der übertragenen
Antwort durch, um zu prüfen,
dass die Antwort auf ihrem Weg zwischen der Benutzereinheit und
dem Host nicht manipuliert wurde. Weitere Nachrichtenübertragungen
können dann
in der gleichen Weise durchgeführt
werden.
-
5 ist
eine Darstellung einer Anzahl von möglichen Modifikationen 1–8 der
Zufallszahlenerzeugung und des Schutzes von Zufallszahlen, die in Verbindung
mit der vorliegenden Erfindung verwendet werden können. Vier
Fälle (1, 3, 5, 6)
werden gezeigt, in denen die als ein Sitzungsschlüssel benutzte Zufallszahl
in dem Endgerät
erzeugt wird, und vier Fälle
(2, 4, 7, 8), in denen die Zufallszahl
in der Karte erzeugt wird. Außerdem
werden verschiedenen Varianten der Formen gezeigt, in denen der
entsprechende Sitzungsschlüssel
zum kryptografischen Schutz zu dem Host übertragen wird.
-
6a–6h zeigen die in 5 aufgeführten acht verschiedenen Fälle ausführlicher.
Die verschiedenen für
jeden Fall gezeigten Schritte werden durch Verweisnummern in rechteckigen
weißen
Kästen
angegeben. Jede Figur veranschaulicht die Situation, die vorkommt,
wenn ein Benutzer seine Karte in das Endgerät eingeführt hat, und das System dabei
ist, einen sicheren Modus zu erreichen. Aus den Figuren geht hervor,
dass die Schritte S1–S5
für alle
acht Varianten identisch sind. In Schritt S1 befiehlt die zentrale
Einheit (Host) dem Endgerät,
die Identifikationsnummer der Karte auszulesen, um zu verifizieren,
ob die Karte mit dem fraglichen Host assoziiert ist, und wenn die
Verifizierung positiv ist, den Verschlüsselungsschlüssel zu
liefern, der mit der Karte assoziiert ist und der in dem Host benutzt
wird, um die Zufallszahl (Sitzungsschlüssel) abhängig davon zu verschlüsseln oder
zu entschlüsseln,
in welcher Form der Schlüssel
zu dem Host übertragen
wurde. In Schritt S2 überträgt das Endgerät die ausgelesene Kartennummer
zu dem Host. In allen acht Fällen
stellt der Host sicher, dass die Karte durch den Benutzer des Hosts
ausgestellt wurde, worauf er in Schritt S3 das Endgerät anweist,
zu beginnen, einen sicheren Modus anzunehmen. In Schritten S4 und
S5 führt
das Endgerät
die Programmfolge aus, die seine residente Programminformation ist,
d. h. die kartenspezifische Programminformation aus einer Datei
(SMIB) in der Karte zu lesen und zu holen. Der Rest der Schritte, die
auszuführen
sind, damit ein sicherer Modus angenommen wird, wird vom Inhalt
der SMIB beherrscht, d. h. die kartenspezifische Programminformation.
Dies zeigt, dass ein vergleichbar einfaches und somit billiges Endgerät (das im
Prinzip nur eine Datei aus einer IC-Karte auszulesen imstande ist), wenn
in einem erfindungsgemäßen System
verwendet, einen erstaunlichen Grad an Flexibiltät in Bezug auf seine Fähigkeit,
mit verschiedenartig konfigurierten Karten zu interagieren, erreichen
kann. Der erste dargestellte Fall ist der in 3 gezeigte, d. h. die als ein Sitzungsschlüssel zu
verwendende Zufallszahl wird in dem Endgerät erzeugt und in Schritt S6
in der Karte verschlüsselt,
bevor sie in Schritt S7 zu dem Endgerät übertragen und dort gespeichert
wird. In Schritt S8, schließlich,
sendet das Endgerät
die verschlüsselte
Zufallszahl an den Host, worauf die Datenübertragung im sicheren Systemmodus
entsprechend 4 begonnen
werden kann.
-
Dem zweiten dargestellten Fall entsprechend
werden die folgenden Schritte zusätzlich zu den bereits beschriebenen
Schritten S1–S5
durchgeführt,
nämlich:
In Schritt S62 befiehlt das Endgerät (entsprechend dem Inhalt
der entsprechenden SMIB) der Karte, eine Zufallszahl zu erzeugen;
in Schritt S72 erzeugt die Karte eine Zufallszahl und sendet sie an
das Endgerät,
wo sie gespeichert wird. In Schritt S82 befiehlt das Endgerät der Karte,
die erzeugte Zufallszahl zu verschlüsseln; die Karte verschlüsselt die Zufallszahl
und sendet sie im verschlüsselten
Zustand an das Endgerät;
in Schrit S102 sendet schließlich
das Endgerät
die verschlüsselte
Zufallszahl an den Host, worauf die Datenübertragung im sicheren Systemmodus
entsprechend 4 beginnen kann.
-
In dem dritten dargestellten Fall
werden die folgenden Schritte zusätzlich zu den bereits beschriebenen
Schritten S1–S5
ausgeführt,
nämlich:
In Schritt S63 erzeugt und speichert das Endgerät eine Zufallszahl und weist
die Karte an, die Zufallszahl zu entschlüsseln; in Schritt S73 wird
die entschlüsselte Zufallszahl
zu dem Endgerät übertragen,
und in Schritt S83 wird die entschlüsselte Zufallszahl zu dem Host übertragen.
Wenn die Zufallszahl (Sitzungsschlüssel) den Host erreicht, sollte
sie vor Verwendung nicht entschlüsselt
werden, sondern verschlüsselt
sein, um den Schlüssel
im Klartext bereitzustellen, und ansonsten werden Datenübertragungen
in einem sicheren Systemmodus in der gleichen Weise wie in 4 veranschaulicht begonnen.
-
In dem vierten dargestellten Fall
werden die folgenden Schritte zusätzlich zu den bereits beschriebenen
Schritten S1–S5
ausgeführt,
nämlich:
In Schritt S64 wird die Karte angewiesen, eine Zufallszahl zu erzeugen;
in Schritt S74 wird diese Zufallszahl zu dem Endgerät übertragen
und dort gespeichert; in Schritt S84 befiehlt das Endgerät der Karte, die
Zufallszahl zu entschlüsseln;
in Schritt S95 sendet die Karte die entschlüsselte Zufallszahl an das Endgerät, und in
Schritt S104 wird die entschlüsselte Zufallszahl
an den Host gesendet. Wenn die Zufallszahl (Sitzungsschlüssel) den
Host erreicht, sollte sie vor Verwendung nicht entschlüsselt werden,
sondern verschlüsselt
sein, um den Schlüssel
im Klartext bereitzustellen, und ansonsten werden Datenübertragungen
in einem sicheren Systemmodus in der gleichen Weise wie in 4 veranschaulicht begonnen.
-
In dem fünften dargestellten Fall werden
die folgenden Schritte zusätzlich
zu den bereits beschriebenen Schritten S1–S5 ausgeführt, nämlich: Das Endgerät erzeugt
eine Zufallszahl, die in Schritt D85 im Klartext an den Host gesendet
wird, und die in Schritt S65 durch die Karte verschlüsselt wird;
in Schritt S75 wird die verschlüsselte
Zufallszahl zu dem Endgerät übertragen
und dort gespeichert. Weil es einen verschlüsselten Sitzungsschlüssel in
dem Endgerät
gibt, und weil der Sitzungsschlüssel
im Klartext zu dem Host übertragen
wurde, ist es erforderlich, um eine Datenübertragung in einem sicheren Systemmodus
herzustellen, den Sitzungsschlüssel im
Host zu verschlüsseln,
bevor er benutzt werden kann.
-
Der sechste dargestellte Fall unterscheidet sich
von dem fünften
Fall nur dadurch, dass, wann immer das Verschlüsseln in dem fünften Fall
durchgeführt
wird, das Entschlüsseln
nun durchzuführen ist.
-
In dem siebten dargestellten Fall
werden die folgenden Schritte zusätzlich zu den bereits beschriebenen
Schritten S1–S5
ausgeführt,
nämlich:
In Schritt S67 weist das Endgerät
die Karte an, eine Zufallszahl zu erzeugen, die in Schritt S77 zu
dem Endgerät übertragen
wird; in Schritt S107 wird diese Zufallszahl zu dem Endgerät übertragen,
und in Schritt S87 verschlüsselt
die Karte die Zufallszahl; in Schritt S97, schließlich, wird
die verschlüsselte
Zufallszahl zu dem Endgerät übertragen
und dort gespeichert. Weil es einen verschlüsselten Sitzungsschlüssel in dem
Endgerät
gibt, und weil der Sitzungsschlüssel
im Klartext zu dem Host übertragen
wurde, ist es erforderlich, um eine Datenübertragung in einem sicheren Systemmodus
herzustellen, den Sitzungsschlüssel im
Host zu verschlüsseln,
bevor er benutzt werden kann.
-
Der achte dargestellte Fall unterscheidet sich
von dem siebten Fall nur dadurch, dass, wann immer das Verschlüsseln in
dem siebten Fall durchgeführt
wird, das Entschlüsseln
nun durchzuführen ist.
-
Ein Beispiel eines Satzes der kartenspezifischen
Programminformation, die von der Karte zu dem Endgerät übertragen
wird, und das Erzeugen eines Sitzungsschlüssels und dessen Übertragung
zu dem Host entsprechend der Version 1 in 5 (6a)
hervorbringt, kann die folgende Sequenz von Befehlen enthalten:
OPEN (öffnen
der Datei, die die kartenspezifische Geheiminformation enthält, und
erlauben, dass sie als ein Verschlüsselungsschlüssel in
einem Verschlüsselungsalgorithmus
benutzt wird), RANDOM (erzeugen einer Zufallszahl in der Schlüsselerzeugungseinrichtung 13 des
Endgerätes
entsprechend den in dem Befehl enthaltenen Anweisungen und speichern
der Zahl in der Endgerät-Speichereinrichtung 14),
CRYPT (einlesen der Zufallszahl in die Karte und verschlüsseln der
Zufallszahl in der Karte unter Verwendung eines herkömmlichen
Verschlüsselungsalgorithmus,
der durch den Prozessor definiert und ausgeführt wird, und des Verschlüsselungsschlüssels, READ
(auslesen der verschlüsselten
Zufallszahl in das Endgerät)
und TRANS ( übertragen
der verschlüsselten
Zufallszahl zu dem Host).
-
Man sollte verstehen, dass die definierten Befehle
und Funktionen nur veranschaulichender Natur sind, und dass sie
in einer großen
Zahl verschiedener Verfahren und in einer großen Zahl verschiedener Programmsprachen
implementiert werden können.
Die Verfahren der Implementierung der in den erfindungsgemäßem Ausführungen
benutzten Funktionen in Pro-grammcode müssen von den Fachleuten in
der Technik beim Lesen der vorliegenden Anmeldung als selbstverständlich angesehen werden
und werden daher hierin nicht ausführlicher beschrieben.