-
Die vorliegende Erfindung betrifft ein Verfahren zum Aufbauen eines gesicherten Kommunikationskanals zwischen einem portablen Datenträger und einem Terminal auf Basis eines asymmetrischen Kryptosystems sowie einen entsprechend eingerichteten portablen Datenträger.
-
Eine gesicherte Datenkommunikation zwischen einem portablen Datenträger, beispielsweise einer Chipkarte, und einem zur Kommunikation mit dem Datenträger eingerichteten Terminal erfolgt über einen gesicherten Kommunikationskanal, indem die übermittelten Daten verschlüsselt übertragen werden. Die Datenübertragung kann dabei kontaktbehaftet oder kontaktlos erfolgen. Eine effiziente und sichere Verschlüsselung wird mittels bekannter symmetrischer Verschlüsselungsverfahren, beispielsweise AES, DES oder dergleichen, gewährleistet. Allerdings ist dazu der Austausch eines geheimen Schlüssels zwischen den beiden Kommunikationspartnern notwendig.
-
Dieser Austausch erfolgt in der Regel mittels eines asymmetrischen Verfahrens, beispielsweise des Diffie-Hellman-Schlüsselaustauschverfahrens. Ein solches asymmetrisches Verfahren, bei dem öffentliche Schlüssel eines entsprechenden Kryptosystems über einen unsicheren Kommunikationskanal übertragen werden, ist anfällig gegen so genannte „Man-in-the-Middle”-Attacken (MIM). Dabei belauscht ein Angreifer den ungesicherten Kommunikationskanal und gibt sich gegenüber jedem der beiden Kommunikationspartner als der jeweils andere aus, ohne dass dies für die beiden Kommunikationspartner erkennbar wird. Auf diese Weise kann der Angreifer die gesamte Datenkommunikation belauschen und auch manipulieren, insbesondere also einen ausgetauschten „geheimen” Schlüssel erlangen und damit die nachfolgende Datenkommunikation zwischen dem Datenträger und dem Terminal manipulieren.
-
Aufgabe der vorliegenden Erfindung ist es, den Aufbau eines gesicherten Kommunikationskanals zwischen einem portablen Datenträger und einem Terminal zu unterstützen, insbesondere „Man-in-the-Middle”-Angriffe auf den Kommunikationskanal zu erschweren.
-
Diese Aufgabe wird durch Verfahren, einen Datenträger und ein System mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
-
Die Erfindung basiert auf dem Grundgedanken, eine Anzeigeeinrichtung des Datenträgers in das Verfahren mit einzubeziehen, insbesondere zur Authentisierung eines öffentlichen Schlüssels des Kryptosystems.
-
Demnach wird bei einem erfindungsgemäßen Verfahren zum Aufbauen eines gesicherten Kommunikationskanals zwischen einem portablen Datenträger und einem Terminal auf Basis eines asymmetrischen Kryptosystems ein von einem öffentlichen Schlüssel des Kryptosystems abgeleiteter Wert auf einer Anzeigeeinrichtung des Datenträgers angezeigt.
-
Ein entsprechender erfindungsgemäßer Datenträger umfasst eine Anzeigeeinrichtung sowie eine Steuereinrichtung zum Aufbauen eines gesicherten Kommunikationskanals zu einem Terminal auf Basis eines asymmetrischen Kryptosystems über eine Datenkommunikationsschnittstelle des Datenträgers. Die Steuereinrichtung ist dabei erfindungsgemäß eingerichtet, einen von einem öffentlichen Schlüssel des Kryptosystems abgeleiteten Wert auf der Anzeigeeinrichtung anzuzeigen.
-
Auf diese Weise wird es möglich, einen „Man-in-the-Middle”-Angriff auf den Kommunikationskanal zu verhindern oder zumindest zu erkennen. Bei einem solchen Angriff fängt der Angreifer einen über den Kommunikationskanal übertragenen öffentlichen Schlüssel ab und ersetzt diesen durch einen anderen, von dem Angreifer selbst ausgewählten Schlüssel. Wenn nun aber auf der Anzeigeeinrichtung des Datenträgers ein Wert angezeigt wird, welcher beispielsweise von dem – vermeintlich – von dem Terminal empfangenen öffentlichen Schlüssel abgeleitet worden ist, z. B. ein so genannter Fingerprint des Schlüssels, kann ein Nutzer des Datenträgers visuell prüfen, ob der angezeigte Wert mit dem öffentlich bekannten Fingerprint des öffentlichen Schlüssels des Terminals übereinstimmt. Ist dies nicht der Fall, so entspricht der von dem Datenträger empfangene Schlüssel nicht dem öffentlichen Schlüssel des Terminals, sondern einem von einem Angreifer eingeschleusten Schlüssel. Ein Angriff auf den Kommunikationskanal kann somit sicher erkannt und eine ungesicherte Übertragung sensibler Daten wirkungsvoll verhindert werden.
-
Vorzugsweise wird auch auf einer Anzeigeeinrichtung des Terminals ein entsprechender, von einem öffentlichen Schlüssel abgeleiteter Wert angezeigt, beispielsweise der vorstehend genannte Fingerprint. Dies erleichtert die direkte visuelle Prüfung der Gleichheit des auf der Anzeigeeinrichtung des Datenträgers angezeigten abgeleiteten Wertes mit dem entsprechenden bekannten, jedoch zusätzlich auf der Anzeigeeinrichtung des Terminals angezeigten Wert.
-
Gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden sowohl auf der Anzeigeeinrichtung des Datenträgers als auch auf der Anzeigeeinrichtung des Terminals, vorzugsweise nacheinander, sowohl ein von einem öffentlichen Schlüssel des Datenträgers abgeleiteter Wert als auch ein von einem dem Terminal zugeordneten öffentlichen Schlüssel abgeleiteter Wert angezeigt. Diese Ausführungsform eignet sich insbesondere zum Sichern der Übertragung der öffentlichen Schlüssel zwischen dem Datenträger und dem Terminal während eines Diffie-Hellman-Schlüsselaustauschverfahrens. Dabei sendet jeweils ein Kommunikationspartner einen ihm zugeordneten öffentlichen Schlüssel dem jeweils anderen Kommunikationspartner. Durch das beiderseitige Anzeigen der von den gesendeten bzw. empfangenen Schlüsseln abgeleiteten Werten kann ein Nutzer des Datenträgers visuell prüfen, ob einerseits der von seinem Datenträger an das Terminal gesendete öffentliche Schlüssel dort unverändert empfangen worden ist und ob andererseits der von dem Datenträger empfangene Schlüssel tatsächlich dem öffentlichen Schlüssel des Terminals entspricht.
-
Bei anderen kryptographischen Verfahren zum Aufbauen eines gesicherten Kommunikationskanals, bei denen lediglich ein öffentlicher Schlüssel von einem Kommunikationspartner zum anderen übertragen wird, entfällt entsprechend das Anzeigen des anderen – nicht gesendeten und nicht empfangenen – öffentlichen Schlüssels des anderen Kommunikationspartners.
-
Die visuelle Prüfung durch den Nutzer des Datenträgers, ob ein auf der Anzeigeeinrichtung des Datenträgers angezeigter Wert mit einem entsprechenden, auf der Anzeigeeinrichtung des Terminals angezeigten Wert übereinstimmt, wobei die beiden Werte jeweils von einem gleichen öffentlichen Schlüssel in der gleichen Weise abgeleitet worden sind, kann durch eine automatische Prüfung in dem Datenträger oder in dem Terminal ersetzt werden. Umfasst der Datenträger eine Eingabeeinrichtung, beispielsweise eine Tastatur, so kann der auf der Anzeigeeinrichtung des Terminals angezeigte Wert, der beispielsweise von dem öffentlichen Schlüssel des Terminals abgeleitet worden ist, über die Tastatur in den Datenträger eingegeben werden. Die Steuereinrichtung des Datenträgers ist dann eingerichtet, den eingegebenen Wert mit einem Wert zu vergleichen, der in vorgegebener Weise von dem durch den Datenträger von dem Terminal empfangenen öffentlichen Schlüssel des Terminals abgeleitet worden ist. Nicht übereinstimmende Werte zeigen einen Angriff auf den Kommunikationskanal an.
-
In analoger Weise kann auch ein auf der Anzeigeeinrichtung des Datenträgers angezeigter Wert, der beispielsweise von dem öffentlichen Schlüssel des Datenträgers abgeleitet worden ist, über eine Eingabeeinrichtung des Terminals in das Terminal eingegeben werden und dort in der beschriebenen Weise mit einem Wert, der von einem durch das Terminal von dem Datenträger empfangenen öffentlichen Schlüssel des Datenträgers abgeleitet worden ist, verglichen werden.
-
Es können alternativ oder zusätzlich die jeweils anderen abgeleiteten Werte angezeigt und der jeweils anderen Vorrichtung zur Prüfung eingegeben werden, d. h. der auf der Anzeigeeinrichtung des Terminals angezeigte Wert, der von dem durch das Terminal empfangenen öffentlichen Schlüssel des Datenträgers abgeleitet worden ist, kann zur Prüfung in den Datenträger eingegeben werden und/oder der auf der Anzeigeeinrichtung des Datenträgers angezeigte Wert, der von dem durch den Datenträger empfangenen öffentlichen Schlüssel des Terminals abgeleitet worden ist, kann zur Prüfung in das Terminal eingegeben werden.
-
Ein von einem öffentlichen Schlüssel des Kryptosystems abgeleiteter Wert, wie beispielsweise ein Fingerprint eines Schlüssels, wird vorzugsweise mittels einer Hash-Funktion gebildet. Dabei kann der gesamte Hash-Wert oder gegebenenfalls nur ein Teil davon angezeigt werden, beispielsweise wenn eine Anzeigeeinrichtung des Datenträgers nur begrenzt viele Stellen eines solchen Wertes anzeigen kann. Es ist auch möglich, den Hash-Wert oder dergleichen nicht von dem öffentlichen Schlüssel direkt zu bilden, sondern von einem Wert, der seinerseits von dem öffentlichen Schlüssel abhängt, beispielsweise ein mittels des öffentlichen Schlüssels gebildeter geheimer Schlüssel, der nur dem Datenträger und dem Terminal bekannt ist. Statt einer Hash-Funktion können auch andere, geeignete Funktionen zum Bilden des abgeleiteten Wertes verwendet werden.
-
Alternativ oder zusätzlich kann zum Bilden des abgeleiteten Wertes ein Authentisierungsprüfwert („message authentication code”, MAC) verwendet werden, welcher beispielsweise zusätzlich über den vorstehend beschriebenen Hash-Wert gebildet wird. Ein Authentisierungsprüfwert ist in der Regel kürzer als ein Hash-Wert und kann somit auch auf einer kleinen Anzeigeeinrichtung eines Datenträgers vollständig, und damit ohne Sicherheitsverlust, angezeigt werden. Zum Berechnen eines Authentisierungsprüfwerts bedarf es allerdings eines Geheimdatums, welches nur dem Datenträger und dem Terminal bekannt ist, beispielsweise einer PIN oder dergleichen.
-
Gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens wird eine PIN oder ein analoges, lediglich dem Terminal und dem Datenträger bekanntes, ansonsten geheim zu haltendes Geheimdatum bereitgestellt. Eine solche PIN kann, wie erwähnt, zum Bilden eines Authentisierungsprüfwerts verwendet werden, welcher seinerseits zum Bilden des von einem öffentlichen Schlüssel abgeleiteten Werts verwendet werden kann. Eine solche PIN kann aber auch dazu verwendet werden, einen öffentlichen Schlüssel vor dem Übertragen, beispielsweise von dem Datenträger zu dem Terminal, zu verschlüsseln. Damit ist die Übertragung des Schlüssels bereits gegen „Man-in-the-Middle”-Angriffe gesichert. Auch andere Schritte verwendeter Protokolle können, wie nachstehend beschrieben, mittels der PIN abgesichert werden, insbesondere das Aufbauens eines sicheren Kommunikationskanals selbst.
-
Die PIN oder ein analoges Geheimdatum kann dabei von dem Datenträger oder von dem Terminal erzeugt oder vorgegeben werden. Es ist einerseits möglich, dass der Datenträger die PIN vorgibt, beispielsweise indem diese in dem Datenträger gespeichert ist oder datenträgerintern erzeugt wird und auf der Anzeigeeinrichtung des Datenträgers angezeigt wird. Das angezeigte Geheimdatum kann dann über eine Eingabeeinrichtung, beispielsweise eine Tastatur, in das Terminal eingegeben werden. Umgekehrt kann aber auch das Terminal die PIN erzeugen und anzeigen, welche dann über eine entsprechende Eingabeeinrichtung in den Datenträger eingegeben oder in sonstiger Weise auf den Datenträger übertragen wird.
-
Allgemein kann auch ein weiteres erfindungsgemäßes Verfahren zum Aufbauen eines gesicherten Kommunikationskanals zwischen einem portablen Datenträger und einem Terminal auf Basis eines auf einem Geheimdatum basierenden Kryptosystems vorgesehen sein, d. h. das Kryptosystem muss dabei nicht notwendigerweise zusätzlich auf einer beschriebenen asymmetrischen Schlüsselarchitektur basieren. In der Regel wird dies allerdings der Fall sein. Gemäß einem solchen Verfahren wird das Geheimdatum durch das Terminal bereitgestellt, beispielsweise darin erzeugt, und auf einer Anzeigeeinrichtung des Terminals angezeigt. Das angezeigte Geheimdatum wird anschließend an den Datenträger übergeben. Ein entsprechender erfindungsgemäßer Datenträger umfasst eine Anzeigeeinrichtung sowie eine Steuereinrichtung zum Aufbauen eines gesicherten Kommunikationskanals zu einem Terminal auf Basis eines auf einem Geheimdatum basierenden Kryptosystems über eine Datenkommunikationsschnittstelle des Datenträgers. Die Steuereinrichtung ist dabei erfindungsgemäß eingerichtet, ein über die Datenkommunikationsschnittstelle oder eine Eingabeeinrichtung des Datenträgers empfangenes Geheimdatum auf der Anzeigeeinrichtung anzuzeigen.
-
Das Geheimdatum kann dabei an den Datenträger übergeben werden, indem es von einem Nutzer des Datenträgers über eine Eingabeeinrichtung des Datenträgers, beispielsweise eine Tastatur, in den Datenträger eingegeben wird. Die Eingabeeinrichtung kann dabei auch alternativ ausgebildet sein, beispielsweise als optischer Sensor oder dergleichen. Das eingegebene Geheimdatum kann dann auf der Anzeigeeinrichtung des Datenträgers angezeigt werden. Ein solcher Anzeigeschritt kann allerdings auch ausbleiben.
-
Es ist auch möglich, das Geheimdatum über eine gewöhnliche Datenkommunikationsschnittstelle des Datenträgers, kontaktlos oder kontaktbehaftet, gemäß einem geeigneten Kommunikationsprotokoll an den Datenträger zu übergeben. Das derart übergebene Geheimdatum wird dann zur Kontrolle der fehler- und manipulationsfreien Übertragung auf der Anzeigeeinrichtung des Datenträgers angezeigt.
-
Die Erfindung wird im Folgenden mit Bezug auf die beiliegenden Zeichnungen beispielhaft erläutert. Darin zeigen:
-
1 eine bevorzugte Ausführungsform eines erfindungsgemäßen Datenträgers und
-
2 bis 5 schematisch Schritte verschiedener Ausführungsformen des erfindungsgemäßen Verfahrens.
-
Mit Bezug auf 1 umfasst ein portabler Datenträger 10, der hier als Chipkarte dargestellt ist, eine zur kontaktbehafteten Datenkommunikation eingerichtete Datenkommunikationsschnittstelle 20 in Form eines Kontaktfeldes sowie eine zur kontaktlosen Datenkommunikation eingerichtete Datenkommunikationsschnittstelle in Form einer Antennenspule 22. Eine der beiden Datenkommunikationsschnittstellen 20, 22 kann fehlen. Die Energieversorgung des Datenträgers 10 kann über die Datenkommunikationsschnittstellen 20, 22 durch das Terminal erfolgen oder über eine separate Energieversorgung des Datenträgers 10, beispielsweise eine Batterie (nicht gezeigt).
-
Beide Datenkommunikationsschnittstellen 20, 22 sind mit einem in einen Datenträgerkörper eingebetteten integrierten Schaltkreis 30 verbunden, welcher den Datenträger 10 mittels einer Steuereinrichtung 32 steuert.
-
Weiterhin umfasst der Datenträger- 10 eine Anzeigeeinrichtung 40 in Form eines Displays sowie eine Eingabeeinrichtung 50 in Form einer Tastatur. Alternative oder weitere Anzeige- und Eingabeeinrichtungen können vorgesehen sein. Die Anzeigeeinrichtung 40 ist eingerichtet, von der Steuereinrichtung 32 erzeugte und an die Anzeigeeinrichtung 40 übermittelte Inhalte anzuzeigen. Die Eingabeeinrichtung 50 kann zum Eingeben von Daten in den Datenträger 10 genutzt werden, welche dann durch die Steuereinrichtung 32 weiterverarbeitet werden.
-
Die Steuereinrichtung 32 ist insbesondere eingerichtet, über eine der Datenkommunikationsschnittstellen 20, 22 einen gesicherten Datenkommunikationskanal zu einem Terminal (nicht gezeigt) auf Basis eines asymmetrischen Kryptosystems aufzubauen. Die Steuereinrichtung 32 ist dazu eingerichtet, einen öffentlichen Schlüssel des Datenträgers 10 an ein Terminal zu senden oder einen öffentlichen Schlüssel eines Terminals zu empfangen und je nach verwendetem Kommunikationsprotokoll zu weiter zu verarbeiten, beispielsweise zum Bestimmen eines geheimen Sitzungsschlüssels zum symmetrischen Verschlüsseln von zwischen dem Datenträger 10 und dem Terminal zu übertragender Daten. Die Steuereinrichtung 32 kann von den öffentlichen Schlüsseln abgeleitete Werte 42, beispielsweise mittels einer Hash-Funktion und/oder eines Authentisierungsprüfwerts, bilden und an die Anzeigeeinrichtung 40 zum Anzeigen übermitteln. Weiterhin ist die Steuereinrichtung 32 eingerichtet, ein Geheimdatum, beispielsweise in Form einer PIN oder dergleichen, zu erzeugen und gegebenenfalls an die Anzeigeeinrichtung 40 zum Anzeigen zu übermitteln oder ein solches Geheimdatum über eine Datenkommunikationsschnittstelle 20, 22 oder über die Eingabeeinrichtung 50 zu empfangen, zu verwalten und bestimmungsgemäß weiterzuverarbeiten.
-
Verschiedene Verfahren zum Aufbauen eines gesicherten Kommunikationskanals zwischen dem Datenträger 10 und einem Terminal werden im Folgenden mit Bezug auf die 2 bis 5 genauer beschrieben.
-
Mit Bezug auf 2 werden gemäß einer ersten Ausführungsform in den Schritten 100, 101 öffentliche Schlüssel zwischen dem Datenträger 10 und dem Terminal ausgetauscht, d. h. Datenträger 10 sendet seinen öffentlichen Schlüssel PKD in Schritt 101 an das Terminal, welches in Schritt 100 seinen öffentlichen Schlüssel PKT an den Datenträger 10 sendet.
-
In Schritt 110 bildet das Terminal einen von dem empfangenen öffentlichen Schlüssel PKD des Datenträgers 10 abgeleiteten Wert W' = H(PKD) mittels einer Hash-Funktion H und zeigt diesen Wert W' auf einer Anzeigeeinrichtung des Terminals, beispielsweise einem Display, an.
-
Analog bestimmt auch der Datenträger 10 einen Wert W = H(PKD), indem er die Hash-Funktion H auf seinen öffentlichen Schlüssel PKD anwendet. Diesen Wert W zeigt der Datenträger 10 über seine Anzeigeeinrichtung 40 in Schritt 111 ebenfalls an.
-
Ein Nutzer des Datenträgers kann somit in Schritt 120 prüfen, ob die beiden Werte W und W' übereinstimmen. Ist dies der Fall, so kann der Nutzer davon ausgehen, dass der öffentliche Schlüssel PKD beim Übertragen vom Datenträger 10 zu dem Terminal nicht durch einen unbemerkten „Man-in-the-Middle”-Angriff manipuliert worden ist.
-
In gleicher Weise bestimmt nun das Terminal einen abgeleiteten Wert V' = H(PKT) durch Anwenden der Hash-Funktion H auf seinen öffentlichen Schlüssel PKT und zeigt diesen Wert in Schritt 130 auf seiner Anzeigeeinrichtung an.
-
Ebenso zeigt der Datenträger 10 in Schritt 131 auf seiner Anzeigeeinrichtung 40 den abgeleiteten Wert V = H(PKT), der sich aus einer Anwendung der Hash-Funktion H auf den von dem Terminal empfangenen öffentlichen Schlüssel PKT des Terminals ergibt.
-
Der Nutzer prüft in Schritt 140 auch die Gleichheit dieser beiden Werte V und V' und kann, falls diese gegeben ist, sicher sein, dass der öffentliche Schlüssel PKT des Terminals unverändert in dem Datenträger 10 empfangen worden ist.
-
Sind beide Prüfungen 120, 140 positiv verlaufen, kann der Kommunikationskanal zwischen dem Datenträger 10 und dem Terminal sicher aufgebaut werden. Im gegenteiligen Fall, wenn zumindest eine der beiden Prüfungen 120, 140 Ungleichheit ergeben hat, wird das Verfahren abgebrochen 150.
-
Anstelle eines vollständigen Hash-Wertes H(PKT) bzw. H(PKD) kann in den Schritten 131 bzw. 111 auch lediglich ein Anteil eines entsprechenden Hash-Wertes angezeigt werden, falls die Anzeigeeinrichtung 40 des Datenträgers 10 nicht den vollständigen Hash-Wert darstellen kann. Der Vergleich in den Schritten 120, 140 bezieht sich dann lediglich auf den entsprechenden angezeigten Anteil und ist dementsprechend mit einer gewissen Unsicherheit behaftet. Statt einer Hash-Funktion H kann eine andere, geeignete Funktion zum Bilden der abgeleiteten Werte V, V', W, W' verwendet werden. Es ist auch möglich, dass die abgeleiteten Werte nicht von den öffentlichen Schlüsseln PKT, PKD, sondern von von diesen Schlüsseln direkt oder indirekt abgeleiteten Werten, beispielsweise von einem mittels der Schlüssel bestimmten Sitzungsschlüssel, abgeleitet werden.
-
Das mit Bezug auf 3 illustrierte Verfahren unterscheidet sich von dem Verfahren in 2 dadurch, dass zum Bilden der von den in den Schritten 200, 201 ausgetauschten öffentlichen Schlüsseln PKT, PKD abgeleiteten Werten X, X', Y, Y' neben einer Hash-Funktion H auch noch ein Authentisierungsprüfwert (MAC, „message authentication code”) auf Basis einer PIN gebildet wird. Dazu gibt ein Nutzer des Datenträgers 10 in Schritt 205 eine PIN über eine Eingabeeinrichtung, z. B. eine Tastatur, in das Terminal ein.
-
Die PIN ist in diesem Fall durch den Datenträger 10 vorgegeben. Im einfachsten Fall kann die PIN dem Datenträger 10 mit der Herstellung fest zugeordnet werden, beispielsweise aufgedruckt oder in einem Speicher des Datenträgers 10 gespeichert sein. Der Datenträger 10 kann auch eingerichtet sein, die PIN sitzungsspezifisch zu erzeugen und, wie eine gespeicherte PIN, auf der Anzeigeeinrichtung 40 bei Bedarf anzuzeigen. Gleichfalls ist es möglich, aber in 3 nicht dargestellt, dass die PIN in dem Terminal gespeichert ist oder sitzungsspezifisch in dem Terminal erzeugt wird und über die Anzeigeeinrichtung des Terminals angezeigt wird. Von dort kann der Nutzer die PIN dann ablesen und in den Datenträger über die Eingabeeinrichtung 50 eingeben. Andere Wege zum Übertragen der PIN von dem Terminal in den Datenträger sind möglich.
-
In den Schritten 210, 211 und 230, 231 zeigen nun das Terminal bzw. der Datenträger auf ihren jeweiligen Anzeigeeinrichtungen nicht die Hash-Werte H(PKD), H(PKT) über die jeweiligen öffentlichen Schlüssel PKD, PKT an, sondern Authentisierungsprüfwerte MACPIN(H(PKD)) bzw. MACPIN(H(PKT)), welche mittels der PIN in bekannter Weise über die Hash-Werte H(PKD), H(PKT) gebildet worden sind, beispielsweise mittels Blockchiffren. Ein solcher MAC, gebildet über einen Hash-Wert, ist kürzer als der Hash-Wert und kann damit auch auf einer kleinen Anzeigeeinrichtung des portablen Datenträgers 10 vollständig, und damit ohne Sicherheitseinbußen, angezeigt werden. Der MAC kann alternativ auch direkt über die jeweiligen öffentlichen Schlüssel PKD, PKT gebildet werden.
-
Entsprechend wird in den Schritten 220 und 240 die Gleichheit der MAC-Werte anstelle der Gleichheit der Hash-Werte geprüft.
-
Das mit Bezug auf 4 dargestellte Verfahren unterscheidet sich vom dem Verfahren in 3 dadurch, dass die Prüfung der Gleichheit der MAC-Werte nicht visuell von dem Nutzer geprüft wird, sondern maschinell durch das Terminal und den Datenträger 10. Dazu gibt der Nutzer in Schritt 312 den in Schritt 311 auf der Anzeigeeinrichtung 40 des Datenträgers 10 angezeigten MAC-Wert X = MACPIN(H(PKD)) in das Terminal ein. Dort wird dieser Wert in Schritt 320 mit dem bereits in Schritt 310 terminalintern bestimmten MAC-Wert X' = MACPIN(H(PKD)) verglichen. Stimmen beide Werte nicht überein, bricht das Terminal das Verfahren ab.
-
Stimmen die Werte überein, so zeigt umgekehrt das Terminal, wie im Verfahren in 3, den MAC-Wert Y' = MACPIN(H(PKT)) auf seiner Anzeigeeinrichtung in Schritt 330 an. Der Nutzer gibt den Wert Y' in Schritt 332 über die Eingabeeinrichtung 50 des Datenträgers 10 in den Datenträger 10 ein. Dort wird der eingegebene Wert in Schritt 340 mit dem in Schritt 311 datenträgerintern bestimmten MAC-Wert Y = MACPIN(H(PKT)) verglichen. Bei Ungleichheit bricht der Datenträger 10 das Verfahren ab, ansonsten wird es wie vorgesehen fortgesetzt.
-
Wie bereits mit Bezug auf 3 beschrieben, kann auch in dieser Ausführungsform nach 4 die PIN alternativ von dem Terminal vorgegeben werden.
-
Gleichfalls ist es möglich, das mit Bezug auf 4 dargestellte Konzept mit der Ausführungsform aus 2 zu kombinieren. D. h. das Eingeben eines mittels einer der Vorrichtungen angezeigten, abgeleiteten Wertes in die jeweils andere Vorrichtung zum dortigen maschinellen, garantiert fehlerfreien Prüfen ist prinzipiell auch ohne eine PIN möglich. Im Verfahren nach 2 werden lediglich Hash-Werte, aber keine MACs berechnet, so dass eine PIN nicht benötigt wird.
-
Mit Bezug auf 5 schließlich wird eine Ausführungsform beschrieben, in der lediglich ein öffentlicher Schlüssel, nämlich der des Datenträgers 10, PKD, in Schritt 401 an das Terminal übertragen wird. In den Schritten 410 und 411 wird wiederum, wie bereits im Verfahren aus 2, ein Hash-Wert W' = H(PKD) durch das Terminal, berechnet über den von dem Datenträger 10 empfangenen Schlüssel PKD, und ein Hash-Wert W = H(PKD), berechnet über den dem Datenträger 10 zugeordneten öffentlichen Schlüssel PKD, durch den Datenträger 10 angezeigt. Der Nutzer prüft in Schritt 420, wie beschrieben, die Gleichheit dieser beiden angezeigten Werte W, W'.
-
In ebenfalls bereits beschriebener Weise wird in Schritt 425 eine PIN in das Terminal eingegeben. Dieser Schritt kann auch entfallen.
-
Das Terminal bestimmt in Schritt
430 in geeigneter Weise, eventuell unter Verwendung der PIN, einen geheimen Schlüssel K, welcher in Schritt
440 als Wert N =
eventuell zusammen mit der PIN, verschlüsselt mit Hilfe des empfangenen öffentlichen Schlüssels PK
D an den Datenträger
10 übertragen wird.
-
Der Datenträger 10 entschlüsselt den Wert N mittels seines privaten Schlüssels SKD des Kryptosystems, um den geheimen Schlüssel K zu erhalten, und überprüft gegebenenfalls die ebenfalls mit der Nachricht N empfangene PIN.
-
Das Verfahren nach 5 kann dahingehend abgewandelt werden, dass der öffentliche Schlüssel PKD bereits mittels der PIN verschlüsselt wird, bevor er an das Terminal übertragen wird. Die PIN kann dazu bereits vor dem Übertragen des Schlüssels PKD in das Terminal eingegeben werden. Zumindest muss das Eingeben der PIN vor dem Anzeigen der Hash-Werte erfolgen, da ansonsten innerhalb des Terminals der Hash-Wert über den unverschlüsselten Schlüssel PKD nicht gebildet werden kann.
-
Bei einem weiteren, nicht gezeigten Verfahren zum Aufbauen eines gesicherten Kommunikationskanals zeigt das Terminal in einem ersten Schritt, wie vorstehend mit Bezug auf 3 bereits beschrieben, ein Geheimdatum in Form einer PIN („Personal Identification Number”), einer SIN („Session Identification Number”) oder dergleichen an. Das Geheimdatum wird vom Nutzer anschließend über die Eingabeeinrichtung 50 in den Datenträger 10 eingegeben. Es ist alternativ möglich, dass das Geheimdatum über einen anderen Weg in den Datenträger übertragen wird, beispielsweise über einen optischen Sensor, über eine Luftschnittstelle (OTA) oder dergleichen. Zu Kontrollzwecken kann das übergebene Geheimdatum auf der Anzeigeeinrichtung 40 des Datenträgers 10 angezeigt werden, insbesondere wenn es nicht vom Nutzer selbst eingegeben worden ist. Nun kann jedes auf einem solchen Geheimdatum basierende Verfahren, welches nicht notwendigerweise einem asymmetrischen Kryptosystem abhängt, verwendet werden, um einen gesicherten Kommunikationskanal – zumindest teilweise basierend auf dem Geheimdatum – aufzubauen. In der Regel wird aber auch in solchen Verfahren ein asymmetrisches Kryptosystem beteiligt sein, wie beispielsweise mit Bezug auf die 3 bis 5 beschriebenen. Auch bekannte, auf einem Geheimdatum basierende Verfahren wie PACE, PACE-EU, SPEKE und dergleichen, welche keine Anzeigeeinrichtung im Datenträger erfordern, um einen sicheren Kanal zwischen dem Datenträger und dem Terminal aufzubauen, können in der beschriebenen Weise ausgeführt werden.
-
Anstelle eines alphanumerischen Geheimdatums kann auch die Übertragung eines Bildes oder eine Piktogramms vorgesehen sein. Auf diese Weise kann einem Nutzer eines – kontaktlosen – Datenträgers 10 beispielsweise einfacher dargestellt werden, mit welchem Terminal der Datenträger 10 verbunden ist.
-
Ein einfacher Datenträger ohne Anzeigeeinrichtung und ohne Eingabeeinrichtung kann beispielsweise mittels eines Mobilfunkendgeräts, mit dem der Datenträger, z. B. eine (U)SIM-Mobilfunkkarte, verbindbar ist, mit den notwendigen Funktionalitäten zum Ausführen der beschriebenen Verfahren erweitert werden. D. h. die Anzeigeeinrichtung und die Eingabeeinrichtung werden durch das mit dem Datenträger verbundene Mobilfunkendgerät bereitgestellt.
-
Es ist weiterhin möglich, einen sicheren Datenkommunikationskanal zwischen zwei kontaktlos kommunizierenden Datenträgern 10 in der beschriebenen Weise aufzubauen, d. h. einer der Datenträger spielt dabei die Rolle des Terminals.