-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein System und Verfahren zum Abrufen
kryptographischer Geheimnisse, die auf einem Server gespeichert
sind, von unterschiedlichen Kundengeräten in einem Netzwerk. Die
kryptographischen Geheimnisse umfassen den privaten Schlüssel und
biometrische Templatedaten eines Benutzers.
-
ALLGEMEINER STAND DER TECHNIK
-
Die öffentliche
Schlüsselinfrastruktur
(Public Key Infrastructure – PKI)
ermöglicht
die Verwendung eines privaten Schlüssels zum Zweck des Unterzeichnens
von Dokumenten, wobei sie Nichtabstreitbarkeit des Unterzeichners,
Authentifizierung unter Verwendung digitaler Zertifikate, Entschlüsseln von Nachrichten,
die unter Verwendung des zugehörigen öffentlichen
Schlüssels
verschlüsselt
wurden, usw. bereitstellt. Diese einzigartigen Merkmale machen PKI
zu einem bedeutenden Mitwirkenden beim elektronischen Handel und
bei anderen gewerblichen Unternehmungen. Der Bestandteil des privaten
Schlüssels
ist allgemein entweder einer individuellen oder anderen spezifischen
Einheit zugeordnet, was erfordert, dass der private Schlüssel in
einer Umgebung verwaltet wird, die so sicher als vernünftigerweise machbar
ist.
-
In
letzter Zeit werden biometrische Daten in zunehmendem Maße für Authentifizierung
und andere Zwecke verwendet. Um die Verwendung von biometrischen
Daten an mehreren Orten zu ermöglichen,
wurden Standards entwickelt, die die grundlegenden Parameter beschreiben,
die notwendigerweise vom Benutzer erhalten und gespeichert werden müssen. Diese
Parameter bilden ein Template, das für den Benutzer spezifisch ist
und das, nachdem es generiert wurde, auf eine sichere Art und Weise
analog zu derjenigen des privaten Schlüssels eines Benutzers verwaltet
werden muss.
-
Im
gegenwärtigen
Stand der Technik ist eine Anzahl von Mechanismen zum Verwalten
und Verwenden von Schlüsseln
der öffentlichen
Infrastruktur und von kryptographischen Templates verfügbar, wie beispielsweise
das Speichern der kryptographischen Geheimnisse in einem Sicherheitstoken,
wie beispielsweise einer Chipkarte. Dieses Verfahren stellt einen
hervorragenden Schutz des privaten Schlüssels bereit, erfordert aber,
dass die notwendige Hardware und Software auf einem Kundengerätcomputer installiert
ist, um die Chipkarte zu nutzen. Während ihre Akzeptanz in den
Vereinigten Staaten langsam steigt, sind Chipkartenleser nicht breit
verfügbar.
So wäre
ein/e Benutzer/in, dessen oder deren privater Schlüssel oder
biometrische Parameter auf einer Chipkarte installiert wären, nicht
in der Lage, seine/ihren privaten Schlüssel außer an seinem/ihrem Hauptarbeitsplatz
zu verwenden.
-
Ein
anderer Mechanismus, der im Fachgebiet bekannt ist, wird in den
US-Patentschriften 6,292,895 und
6,154,543 von Beltzley offenbart,
wo ein Subskriptionsdienst dem Benutzer die Fähigkeit bereitstellt, sich
in einer sicheren E-Mail-Umgebung anzumelden.
Dieser Mechanismus weist verschiedene Vorteile auf, die die Fähigkeit
einschließen,
verschlüsselte
Nachrichten an andere Teilnehmer zu senden, und stellt durch das
Verschlüsseln
des privaten Schlüssels
mit der Passphrase eines Benutzers, die auf einem sicheren Server
gespeichert ist, echte Nichtabstreitbarkeit bereit. Der Subskriptionsdienstbetreiber
kennt die Passphrase nicht und kann aus diesem Grund nicht auf den
privaten Schlüssel
des Teilnehmers zugreifen. Die Natur des Subskriptionsdienstes ermöglicht den
Zugriff auf die Secure-Messaging-Merkmale von fast jedem mit dem
Internet verbundenen Kundengerät.
Ebenso birgt dieser Mechanismus verschiedene Nachteile, umfassend
die Generierung eines anderen Satzes von Berechtigungsnachweisen
für einen
Benutzer, die außerhalb des
Subskriptionsdienstes nicht erkannt werden, die Kosten des Abbonierens
und Beibehaltens des Subskriptionsdienstes, die Anforderung, dass
alle Teilnehmer über
eine Subskription für
den Dienst verfügen
müssen,
und die fehlende Fähigkeit
des Einbindens eines starken Zwei-Faktor-Authentifizierungsverfahrens
vor dem Abrufen des verschlüsselten
privaten Schlüssels
des Benutzers.
-
Ein ähnlicher
Mechanismus, der keinen Subskriptionsdienst erfordert, wird in der
US-Patentschrift 6,233,341 von
Riggins offenbart, in der vorübergehende
Berechtigungsnachweise für
einen Benutzer generiert werden. Dieser Mechanismus stellt für einen
Roaming-Benutzer die Fähigkeit
bereit, Nachrichten zu unterzeichnen und einen Nichtabstreitbarkeitsstatus
beizubehalten, stellt aber für den/die
Benutzer/in nicht die Fähigkeit
bereit, Nachrichten mit seinen oder ihren primären PKI-Schlüsseln zu
entschlüsseln
oder zu unterzeichnen, und aus diesem Grund ist seine Verwendung
beschränkt.
-
Ein
anderer Roaming-Berechtigungsnachweismechanismus wird in der
US-Patentschrift 6,263,446 von
Kausik et al. offenbart, in dem eine oder mehrerer Passphrasen verwendet
werden, um die Berechtigungsnachweise des Benutzers auf das Kundengerät herunterzuladen.
In dieser Erfindung teilen sowohl der Benutzer als auch der Server,
der die Berechtigungsnachweise verwaltet, die Geheimnisse, die den
Zugriff auf die Berechtigungsnachweise des Benutzers kontrollieren.
Obgleich dieser Mechanismus in der Ausführung einfach ist, kann er
keine echte Nichtabstreitbarkeit bereitstellen, da die Geheimnisse
für die
Betreiber des Servers, der die Berechtigungsnachweise des Benutzers
verwaltet, verfügbar
sind. Zweitens kann dieser Mechanismus, wenn er ohne zusätzliche
Sicherheitsvorkehrungen ausgeführt
wird, im Fall eines Wiedereinspielens (Replay Attack) verletzlich
sein, da keine dynamischen Variablen in das Zugriffsverfahren eingeführt werden.
-
Ein
dritter Ansatz wird in der
US-Patentschrift 6,317,829 von
Van Oorschot offenbart, in dem ein öffentliches Repository von
aktuellen und abgelaufenen PKI-Schlüsseln, das einem Benutzer zugeordnet ist,
es einem Benutzer ermöglicht,
alte und aktuelle Nachrichten zu entschlüsseln und durchzusehen, sogar
wenn der Benutzer sich nicht an seinem Hauptarbeitsplatz befindet.
Die Fähigkeit
des Durchsehens von Nachrichten unter Verwendung von gegenwärtig abgelaufenen
PKI-Schlüsseln
von einem entfernten Standort des Endgeräts kann erhebliche Zeitersparnisse
und andere Vorteile bereitstellen. Die offenbarten Sicherheitsmechanismen
zum Schützen
der Inhalte des öffentlichen
Repository des Benutzers beruhen indes im Wesentlichen auf den gleichen
Anordnungen mit gemeinsamen Geheimnissen, wie diejenigen, die im
Patent von Kausik et al. offenbart werden, und unterliegen den gleichen
Nachteilen, wie diejenigen, die vorhergehend beschrieben wurden.
-
Anderen
ausgeklügelten
Ansätzen
zum Lösen
des Roaming-Benutzer-Problems haben sich RSA Security, Inc. and
Verisign, Inc. gewidmet. Der Ansatz von RSA wird in einem Weißbuch mit
dem Titel „RSA
KeonTM Web Passport, Technical Overview", 2001 beschrieben.
In ihrem Weißbuch
beschreibt RSA eine Lösung
zum Bereitstellen der Berechtigungsnachweise eines Roaming-Benutzers
unter Verwendung eines Browsers und proprietärer Applets, um das zu enthalten,
was RSA als eine „virtuelle Karte" bezeichnet. Der
Ansatz der „virtuellen
Karte" ist eine
sehr sichere Anwendung, die die Fähigkeit des Verwendens von
Zwei-Faktor-Authentifizierungstechniken umfasst.
-
Eine
offensichtliche Einschränkung
des Ansatzes von RSA ist, dass alle kryptographischen Informationen,
die erforderlich sind, um auf die „virtuelle Karte" des/der Benutzers/in
zuzugreifen, und daher sein oder ihr privater Schlüssel zu
einem Zeitpunkt auf einem einzigen Server gespeichert sind, was
das System im Falle eines konzertierten Insider-Angriffs in gewissem
Maße verletzlich
macht. Als solche ist echte Nichtabstreitbarkeit beim Ansatz von RSA
wohl nicht verfügbar.
-
Verisign,
Inc. stellt einen anderen Ansatz bereit, der in einer gemeinsamen
Präsentation
mit RSA Security, Inc. bei den IEEE „Proceedings of the Fifth International
Workshop an Enterprise Security" mit dem
Titel „Server
Assisted Generation of a Strong Secret from a Password" beschrieben wird.
In der Ausführung
von Verisign wird das Passwort eines Benutzers als eine Funktion
der Anzahl von „Härtungssitzungen" und der Anzahl von
erfolgreichen Authentifizierungen „gehärtet". Dieser Mechanismus unterstützt vollständige Nichtabstreitbarkeit,
da der private Schlüssel
des Benutzers für
den Diensteanbieter weder in unverschlüsselter Form verfügbar ist,
noch die erforderlichen kryptographischen Informationen verfügbar sind,
um den verschlüsselten
privaten Schlüssel
zu entschlüsseln.
Der Ansatz von Verisign beruht darauf, dass ein/e Benutzer/in sich
an sein/ihr Passwort erinnert und dieses eingibt, um Zugang auf
das Kryptogramm zu erlangen, das seinen oder ihren privaten Schlüssel enthält. Dieser Ansatz
ist in vernünftiger
Weise robust, eignet sich jedoch nicht gut für das Einbinden von Zwei-Faktor-Authentifizierung,
da das Passwort, an das sich der Benutzer erinnert, zwangsläufig statisch
ist.
-
So
wäre es
vorteilhaft, einen Mechanismus bereitzustellen, der sicheres Abrufen
und sichere Verwendung des privaten Schlüssels, biometrischer Daten
eines Benutzers, oder von beidem ermöglicht, der echte Nichtabstreitbarkeit
erleichtert und Zwei-Faktor-Authentifizierungen
einbindet, bevor das Abrufen des privaten Schlüssels, der biometrischen Daten
eines Benutzers oder von beidem ermöglicht wird.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Diese
Erfindung stellt ein System und ein Verfahren bereit, das einem
Benutzer das sichere Zugreifen, Abrufen und Verwenden von kryptographischen
Geheimnissen von irgendeinem Kundengerät in einem Netzwerk ermöglicht.
Zum praktischen Ausführen
dieser Erfindung authentifiziert der Benutzer sich zuerst gegenüber einem
Server unter Verwendung eines Sicherheitstokens und einer eindeutigen Kennung,
die dem Benutzer zugehörig
ist. Die eindeutige Kennung ist typischerweise der Benutzernameteil
des Benutzernamen-/Passwort-Login-Protokolls, wobei das Passwort
ein dynamisches Passwort ist, das durch das Sicherheitstoken unter
Verwendung des synchronen Authentifizierungsverfahrens generiert
wird, das in der
US-Patenschrift
5,937,068 „System
and method for user authentication employing dynamic encryption
variables" beschrieben
wird.
-
Nach
der Authentifizierung wird ein Registrierungsverfahren durchgeführt, das
einen symmetrischen Überschlüsselungsschlüssel (Key
Encryption Key – KEK)
im Transientenspeicher generiert. Der KEK wird durch Kombinieren
eines Tokenpassworts, das vorhergehend im Sicherheitstoken gespeichert wurde,
mit Servergeheimnissen, die auf einem Server unter Verwendung einer
Binäroperation
generiert wurden, generiert. Das Tokenpasswort und die Servergeheimnisse
werden unter Verwendung einer Reihe von Binäroperationen obfuskiert, um
die Aufdeckung von Klartext zu verhindern. Der KEK wird dann zum
Verschlüsseln
der kryptographischen Geheimnisse, deren Speicherung auf dem Server
beabsichtigt wird, unter Verwendung eines Blockchiffrierungsverfahrens
verwendet. Nach der Verschlüsselung wird
der KEK zerstört
und das resultierende Kryptogramm wird zum Speichern und zukünftigen
Abrufen an den Server gesendet. Das Kryptogramm und die Servergeheimnisse
werden der eindeutigen Kennung des Benutzers zugeordnet, wenn sie
auf dem Server gespeichert werden, um zukünftiges Abrufen zu ermöglichen.
-
Zum
Abrufen der Benutzergeheimnisse von einem anderen Kundengerät authentifiziert
der/die Benutzer/in sich erneut gegenüber dem Server unter Verwendung
seiner oder ihrer eindeutigen Kennung und seines/ihres Sicherheitstokens.
Nachdem er authentifiziert wurde, greift der Benutzer auf einen
Netzdienst zu, wozu die Eingabe des Tokenpassworts erforderlich
ist. Der Server ruft die gespeicherten Servergeheimnisse und das
Kryptogramm über
die eindeutige Kennung des Benutzers ab, die dann an das anrufende
Kundengerät
gesendet werden. Das Tokenpasswort wird dann mit den Servergeheimnissen kombiniert,
wobei der KEK im Transientenspeicher regeneriert wird. Der KEK wird
dann zum Entschlüsseln
der verschlüsselten
Geheimnisse unter Verwendung des identischen Blockchiffrierungverfahrens, das
zum Verschlüsseln
der Geheimnisse verwendet wurde, verwendet. Die resultierenden Geheimnisse werden
dann zur Verwendung im Transientenspeicher gespeichert.
-
Sowohl
das Verfahren des Registrierens als auch dasjenige des Abrufens
verwenden eine oder mehrere Anwendungen, die heruntergeladen werden können, um
den KEK zu generieren. Der Server prüft vor der Fortsetzung, dass
das Kundengerät über die erforderlichen
Applets verfügt.
Falls nötig,
werden die erforderlichen Applets heruntergeladen und betriebsbereit
auf dem anrufenden Kundengerät
installiert.
-
In
der bevorzugten Ausführungsform
der Erfindung sind die Anwendungen, die heruntergeladen werden können, als
Browserapplets vorstellbar, es kann jedoch auch irgendein gleichwertiger
Mechanismus zum Herunterladen und betriebsbereiten Installieren
funktionieren. Der Begriff Applet, so wie er hierin verwendet wird,
bezeichnet eine Anwendung, die über
ein Netzwerk heruntergeladen und auf einem Kundengerätcomputer
ausgeführt
werden kann, und ist nicht notwendigerweise auf einen Browser beschränkt.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein verallgemeinertes Blockdiagramm, das die Erfindung veranschaulicht.
-
2 ist
ein ausführliches
Blockdiagramm, das den ersten Teil des Geheimnisregistrierungsverfahrens
veranschaulicht, in dem ein Datenblob zwischen einem Sicherheitstoken
und einem Kundengerät
generiert und über
ein Netzwerk vom Kundengerät
an einen Server gesendet wird.
-
3 ist
ein ausführliches
Blockdiagramm, das den zweiten Teil des Geheimnisregistrierungsverfahrens
veranschaulicht, wo ein Serverbestandteil zum Datenblob hinzugefügt und über das
Netz an das Kundengerät
zurückgesendet
wird.
-
4 ist
ein ausführliches
Blockdiagramm, das den dritten Teil des Geheinmisregistrierungsverfahrens
veranschaulicht, in dem ein Überschlüsselungsschlüssel generiert
und zum Verschlüsseln
der Geheimnisse zum Speichern auf dem Server verwendet wird.
-
5 ist
ein ausführliches
Blockdiagramm, das einen Applettransfer vom Server zu einem zweiten
Kundengerät
veranschaulicht.
-
6 ist
ein ausführliches
Blockdiagramm, das den ersten Teil des Gehemnisabrufverfahrens veranschaulicht,
in dem ein Datenblob zwischen dem Sicherheitstoken und dem Kundengerät generiert und über das
Netzwerk an den Server gesendet wird.
-
7 ist
ein ausführliches
Blockdiagramm, das den zweiten Teil des Geheimnisabrufverfahrens veranschaulicht,
in dem der Serverbestandteil zum Datenblob hinzugefügt wird
und über
das Netzwerk an das zweite Kundengerät zurückgesendet wird.
-
8 ist
ein ausführliches
Blockdiagramm, das den dritten Teil des Geheimnisabrufverfahrens veranschaulicht,
in dem ein Überschlüsselungsschlüssel generiert
und zum Entschlüsseln
der durch den Server vom Speicher abgerufenen Geheimnisse verwendet
wird.
-
9 ist
ein Ablaufdiagramm, das die Schritte des Geheimnisregistrierungsverfahrens
veranschaulicht.
-
10 ist
ein Ablaufdiagramm, das die Schritte zum Abrufen und Speichern der
Geheimnisse auf dem zweiten Kundengerät veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Diese
Erfindung stellt ein System und ein Verfahren bereit, das einem
Benutzer das sichere Speichern, Abrufen und Verwenden von kryptographischen
Geheimnissen, wie beispielsweise ein biometrisches Template, ein
privater Schlüssel
oder beides, von irgendeinem Kundengerät in einem Netzwerk ermöglicht.
-
Mit
Bezug auf 1 wird ein allgemeines Systemblockdiagramm
dargestellt, das ein erstes Kundengerät in einem Netzwerk 20 umfasst.
Der erste Kundengerätcomputer
umfasst einen Browser, wie beispielsweise den Internet ExplorerTM von Microsoft oder den Netscape NavigatorTM oder eine Entsprechung, wodurch das Speichern
und Verwenden kryptographischer Geheimnisse 25 ermöglicht wird.
Die kryptographischen Geheimnisse 25 können ein privater Bestandteil
eines Schlüsselsatzes
einer öffentlichen
Schlüsselinfrastruktur
(Public Key Infrastructure – PKI),
einschließlich
eines privaten RSA-Schlüssels,
eines privaten Diffie-Hellman-Schlüssels, eines privaten Pretty
Good Privacy (PGP) Schlüssels,
eines privaten El Gamal Schlüssels,
usw., ein biometrisches Template oder beides sein.
-
Ein
Kundengerätapplet
APc 35 ist betriebsbereit auf dem ersten Kundengerät installiert.
Das Kundengerätapplet
APc 35 umfasst die Fähigkeiten des
Generierens von Zufallszahlen, des Ausführens von Exklusiv-ODER- (XOR)
Operationen, des Generierens symmetrischer Schlüssel unter Verwendung eines
Passworts, das von einem Sicherheitstoken bereitgestellt wird, und
von Geheimnissen, die durch einen Server bereitgestellt werden,
des Durchführens
symmetrischer kryptographischer Operationen unter Verwendung der
generierten symmetrischen Schlüssel
und des Speicherns der Ergebnisse von kryptographischen Operationen
und generierten Zufallszahlen im Transientenspeicher. Das Kundengerätapplet
APc 35 kann lokal installiert sein oder von einem Server 50 heruntergeladen
und betriebsbereit installiert werden.
-
Das
erste Kundengerät 20 ist
mit einem Netzwerk 40 verbunden 85A und steht
in Verarbeitungsverbindungen 85B mit dem Server 50.
Der Server 50 umfasst eine Benutzerschnittstelle, wie beispielsweise
eine Tastatur und eine Anzeige, ein Serverapplet APs 55,
das mit dem Kundengerätapplet APc 35 kompatibel
ist. Ein funktionell verbundener Online-Datenspeicher 60,
wie beispielsweise ein Festplattenlaufwerk, umfasst eine doppelte
Kopie des Kundengerätapplets
APc 35'.
Die doppelte Kopie des Kundengerätapplets
APc 35' wird
auf Kundengeräte
heruntergeladen, denen das Applet fehlt oder die ein überholtes
Applet aufweisen.
-
Das
Serverapplet APs
55 ist betriebsbereit auf dem Server installiert
und weist die gleichwertigen Funktionen auf, die für das Kundengerätapplet APc
35 beschrieben
wurden. Zusätzlich
umfasst das Serverapplet APs
55 die Fähigkeiten des zeitweise Speicherns
der neuesten generierten synchronen Passwörter DPs
65, wie in
der
US-Patentschrift 5,937,068 beschrieben,
des Speicherns und Abrufens eines Kryptogramms und von Servergeheimnissen
unter Verwendung einer eindeutigen Kennung, wie beispielsweise ein
Benutzername, eine laufende Tokennummer, von der Speichervorrichtung
60,
die bestimmt, ob ein anrufendes Kundengerät ein Kundengerätapplet
APc
35' erfordert
und das Kundengerätapplet
APc
35' auf
das anrufende Kundengerät
herunterlädt,
falls erforderlich.
-
Ein
zweites Kundengerät 70 in
einem Netzwerk ist mit dem Netz 40 verbunden 85C und
steht in Verarbeitungsverbindungen mit dem Server 50. Das zweite
Kundengerät 70 umfasst
eine Benutzerschnittstelle, wie beispielsweise eine Tastatur und eine
Anzeige und es wird beabsichtigt, dass es mehrere von anderen Kundengeräten darstellt,
denen sowohl das Kundengerätapplet
APc 35 als auch die gezeigten Geheimnisse 25 des
Benutzers fehlen, die im ersten Kundengerät 20 in einem Netzwerk
installiert sind.
-
Ein
tragbares hardwarebasiertes Sicherheitstoken 10, wie beispielsweise
ein ActivCard OneTM Token, das von ActivCard,
Inc. angeboten wird, umfasst die Fähigkeiten des Generierens und Speicherns
einer Zufallszahl, die das Tokenpasswort 15 bildet, das
in einem nichtflüchtigen
programmierbaren Speicher (EEPROM) gespeichert wird und nur für das Token
verfügbar
ist, wodurch dem Benutzer die Interaktion und Anzeige von Rechenergebnissen über eine
Benutzerschnittstelle ermöglicht
wird, die eine Tastatur und eine Anzeige umfasst, wodurch ein Benutzer
basierend auf einer vorhergehend gespeicherten persönlichen
Kennzahl (Personal Identification Number – PIN) authentifiziert wird,
synchrone Passwörter
generiert werden, das neueste generierte synchrone Passwort 6 im
flüchtigen
Speicher gespeichert wird und bitweise Exklusiv-ODER- (XOR) Operationen unter Verwendung
des Tokenpassworts und des neuesten synchronen Passworts als Operanden durchgeführt werden.
Dieser Schritt obfuskiert das gegenwärtige Tokenpasswort, damit
es nicht in Klartext aufgedeckt wird.
-
Mit
Bezug auf 2 wird der Anfang des Geheimnisregistrierungsverfahrens
gezeigt. Der Einfachheit halber stellt 2 den Zustand
der Erfindung nach einer erfolgreichen Zwei-Faktor-Authentifizierungstransaktion
zwischen dem Benutzer und dem Sicherheitstoken 10 und dem
Kundengerät 20 und
dem Server 50 dar. Das Sicherheitstoken erfordert die Eingabe
einer persönlichen
Kennzahl (Personal Identification Number – PIN) des Benutzers, bevor
Zugriff auf das Tokenpasswort 15 erlangt wird. Das Zwei-Faktor-Authentifizierungsverfahren
wird in der nachfolgenden Erläuterung
von 9 und 10 mit mehr Details beschrieben.
-
Das
Registrierungsverfahen wird durch den Benutzer eingeleitet, der
auf eine Funktion auf dem Sicherheitstoken
10 zugreift,
wodurch bewirkt wird, dass das vorhergehend gespeicherte Tokenpasswort
15 unter
Verwendung eines bitweisen Operators (XOR) mit dem neuesten synchronen
Passwort DPt
6 kombiniert wird. In der bitweisen Operation
wird das gesamte synchrone Passwort verwendet, mit Ausnahme der
niedrigstwertigen Bits, die die letzten zwei Stellen umfassen. Diese
Stellen werden verwendet, um das Sicherheitstoken
10 mit
dem Server
50 zu synchronisieren, wie in der
US-Patentschrift 5,887,065 „System
and method for user authentication having clock synchronization" beschrieben.
-
Das
Ergebnis der bitweisen Operation wird auf der Tokenanzeige 4 angezeigt
und an das Kundengerät 20 weitergegeben 200.
Das Kundengerätapplet
APc 35 generiert eine erste Zufallszahl 202, die
eine definierte Bitlänge
aufweist, die dem synchronen Passwort minus die Synchronisationsbits entspricht.
Die erste Zufallszahl wird unter Verwendung eines bitweisen Operators
(XOR) mit dem obfuskierten Passwort 201 kombiniert, wodurch
ein erstes Datenblob 205 gebildet wird. Die ursprüngliche Zufallszahl 202 wird
durch das Kundengerätapplet APc 35 bis
zum Abschluss der Geheimnisregistrierungssitzung im Transientenspeicher
festgehalten.
-
Das
erste Datenblob 205 wird vom Kundengerät 20 über das
Netzwerk 40 an den Server 50 gesendet 85A, 85B.
Das Serverapplet APs 55 generiert eine zweite Zufallszahl,
die Servergeheimnisse SS 215 genannt wird, von denen eine
Kopie im Speicher 60 gespeichert wird und unter Verwendung
der eindeutigen Kennung des Benutzers (Benutzername oder Tokenkennung)
abgerufen werden kann. Die Servergeheimnisse 215 sind von
gleicher Bitlänge wie
die erste Zufallszahl 202, die durch das Kundengerätapplet
APc 35 generiert wird. Die Servergeheimnisse werden durch
das Serverapplet APs 55 unter Verwendung des bitweisen
Operators (XOR) mit dem ersten Datenblob 205 kombiniert,
wodurch ein zweites Datenblob 210 gebildet wird.
-
Das
zweite Datenblob 210 wird dann durch das Serverapplet APs 55 unter
Verwendung des bitweisen Operators (XOR) mit dem neuesten synchronen
Serverpasswort DPs 65 kombiniert, wodurch ein drittes Datenblob 220 gebildet
wird. Diese dritte XOR-Operation
entfernt das dynamische Passwort DPt 6 des Tokens effektiv
vom zweiten Datenblob 210, da das dynamische Passwort DPt 6 des
Tokens gleich dem dynamischen Serverpasswort DPs 65 ist.
-
In 3 wird
das dritte Datenblob 220 an das Kundengerätapplet
APc 35 zurückgegeben
und unter Verwendung eines bitweisen Operators (XOR) mit der ersten
Zufallszahl 202 kombiniert 305. Diese XOR-Operation
entfernt die erste Zufallszahl 202 effektiv vom dritten
Datenblob und bildet einen symmetrischen Überschlüsselungsschlüssel (Key
Encryption Key – KEK) 310,
der aus dem Tokenpasswort 15 und den Servergeheimnissen 215 besteht.
Der KEK 310 wird im Transientenspeicher verwendet, der durch
das Kundengerätapplet
APc 35 gesteuert wird.
-
In 4 wird
der KEK 310 verwendet, um die Geheimnisse 25 unter
Verwendung einer symmetrischen Blockchiffrierung, wie beispielsweise
DES, 3DES, ABS oder einer Entsprechung zu verschlüsseln 405,
wodurch ein Kryptogramm 410 gebildet wird. Das Kryptogramm 410 wird
dann zur Speicherung im Speicher 60 und zum zukünftigen
Abrufen über
die eindeutige Kennung des Benutzers vom Kundengerät über das
Netz 40 an den Server 50 gesendet 85A, 85B.
-
Mit
Bezug auf 5 befindet sich der Benutzer
an einem unterschiedlichen Ort, wo ein Kundengerät 70 in einem Netzwerk
verfügbar
und über
das Netzwerk 40 mit dem Server 50 in Verarbeitungsverbindungen 85C steht.
Dem Kundengerät 70 fehlt
das erforderlicher Kundengerätapplet 35' zum Abrufen der
Geheimnisse vom Server. Das Serverapplet APs 55 ruft eine
Kopie des Kundengerätapplets
APc 35' vom
Speicher 60 ab und sendet das Kundengerätapplet 35' an das Kundengerät 70,
wo es betriebsbereit installiert 35'' wird.
Das Verfahren des Prüfens und
Herunterladens des Applets kann vor oder nach der Authentifizierung
erfolgen.
-
Mit
Bezug auf 6 muss der/die Benutzer/in zum
Abrufen der Geheimnisse des/der Benutzers/in, die im Kryptogramm 410 enthalten
sind, sich zuerst unter Verwendung seiner oder ihrer eindeutigen
Kennung (Benutzername oder Token-ID) und eines neuen synchronen
Passworts DPt 525, das unter Verwendung des Sicherheitstokens 10 generiert wird,
dem Server 50 gegenüber
authentifizieren. Ein neues synchrones Passwort DPs 530 wird
desgleichen auf dem Server 50 generiert. Entweder vor oder nach
der Benutzerauthentifizierung führt
der Server eine Abfrage des Kundengeräts durch, um zu bestimmen,
ob eine aktuelle Version des Kundengerätapplets existiert.
-
Der
Benutzer greift auf die Tokenpasswortfunktion auf dem Sicherheitstoken 10 zu,
was bewirkt, dass das vorhergehend gespeicherte Tokenpasswort 15 unter
Verwendung des bitweisen Operators (XOR) mit dem neuesten synchronen
Passwort DPt 525 kombiniert 630 wird. Das Ergebnis
dieser bitweisen Operation wird auf der Tokenanzeige 4 angezeigt
und an das Kundengerät 70 weitergegeben 615.
Das Kundengerätapplet
APc 35'' generiert eine neue
Zufallszahl 635, die mit dem obfuskierten Passwort 201 unter
Verwendung eines bitweisen Operators (XOR) kombiniert wird, wodurch
erneut ein erstes Datenblob 605 gebildet wird. Die erste
Zufallszahl 635 wird durch das Kundengerätapplet
APc 35'' bis zum Abschluss
der Geheimnisabrufsitzung im Transientenspeicher festgehalten.
-
Das
erste Datenblob 605 wird vom Kundengerät 20 über das
Netz 40 an 85B den Server 50 gesendet 85C.
Das Serverapplet APs 55 ruft die Servergeheimnisse SS 215 ab,
die durch das Serverapplet APs 55 unter Verwendung des
bitweisen Operators (XOR) mit dem ersten Datenblob 605 kombiniert
werden, wodurch das zweite Datenblob 610 gebildet wird.
Das zweite Datenblob 610 wird dann durch das Serverapplet
APs 55 unter Verwendung des bitweisen Operators (XOR) mit
dem neuesten synchronen Serverpasswort DPs 530 kombiniert,
wodurch das dritte Datenblob 620 gebildet wird.
-
Mit
Bezug auf 7 wird das dritte Datenblob
an das anrufende Kundengerät 70 zurückgegeben
und unter Verwendung des bitweisen Operators (XOR) mit der neuen
Zufallszahl 635 kombiniert, wodurch der KEK 710 regeneriert
wird. In 8 wird das Kryptogramm 410,
das die Geheimnisse enthält, an
das Kundengerät 70 gesendet
und unter Verwendung des regenerierten KEK 710 entschlüsselt 805. Die
resultierenden Geheimnisse 25' werden dann betriebsbereit im
Transientenspeicher gespeichert und sind zur Verwendung verfügbar, bis
der/die Benutzer/in seine oder ihre Sitzung beendet.
-
Mit
Bezug auf 9, wird ein Ablaufdiagramm bereitgestellt,
das das Geheimnisregistrierungsverfahren veranschaulicht. Gestrichelte
Linien mit Pfeilen werden verwendet, um die Benutzerinteraktionen
zu veranschaulichen. Kästen,
die fett gezeigt werden, werden verwendet, um das Speichern von
Daten zu kennzeichnen, die für
das in 10 gezeigte Geheimnisabrufverfahren
erforderlich sind.
-
Das
Verfahren wird durch den/die Benutzer/in vom Kundengerät eingeleitet 900,
das seine oder ihre Geheimnisse enthält. Um die Geheimnisse des
Benutzers auf dem Server zu registrieren, ist es erforderlich, dass
der Benutzer authentifiziert 902 wird. In der bevorzugten
Ausführungsform
der Erfindung wird ein Zwei-Faktor-Authentifizierungsverfahren verwendet.
Um Zugang zum Sicherheitstoken zu erlangen, muss der Benutzer die
persönliche
Kennzahl (Personal Identification Number – PIN) kennen, die zum Zugreifen
auf die Funktionen des Tokens erforderlich ist. Der/die Benutzer/in
gibt seine oder ihre PIN 904 ein, die durch das Sicherheitstoken
intern mit dem gespeicherten korrekten Wert verglichen 906 wird.
Wenn eine ungültige
Eingabe erfolgt ist (allgemein nach einer vorgegebenen Anzahl von
Versuchen), verhindert das Sicherheitstoken den Zugriff und die
Sitzung wird beendet 964.
-
Wenn
der Benutzer die richtige PIN eingibt 906, wird dem Benutzer
der Zugriff auf die Sicherheitstokenfunktionen erlaubt und es wird
ein erstes dynamisches Passwort generiert 910, das auf
der LCD-Anzeige des Tokens angezeigt und zeitweise intern gespeichert
wird 912. Der Benutzer gibt das dynamische Passwort und
die eindeutige Kennung in einen Login-Bildschirm ein 914.
Diese Informationen werden an den Server gesendet, was bewirkt,
dass der Server ein dynamisches Passwort generiert 916. Eine
Kopie des durch den Server generierten dynamischen Passworts wird
zeitweise gespeichert 918. Das dynamische Serverpasswort
wird mit dem generierten Tokenpasswort verglichen 920.
Eine Übereinstimmung
authentifiziert den Benutzer gegenüber dem Server und ermöglicht eine
weitere Verarbeitung, andernfalls werden die Sessionen beendet 960, 962, 964.
-
Wenn
er authentifiziert wurde 924, wählt der Benutzer die Tokenpasswortfunktion
aus und ruft das gespeicherte Tokenpasswort 908 ab 926.
Das gespeicherte Tokenpasswort wird unter Verwendung einer bitweisen
Operation (XOR) mit dem neuesten dynamischen Passwort 912 kombiniert 928.
Das Ergebnis der bitweisen Operation wird in das Kundengerät eingegeben 934 und
unter Verwendung einer zweiten Binäroperation (XOR) mit einer
Zufallszahl 930 kombiniert 936, die auf dem Kundengerät generiert wird.
Eine Kopie der Zufallszahl wird zeitweise auf dem Kundengerät gespeichert 932.
-
Das
Ergebnis der zweiten bitweisen Operation wird an den Server gesendet 938.
Der Server generiert eine andere Zufallszahl, die ein Servergeheimnis 942 genannt
wird, die mit dem empfangenen Ergebnis unter Verwendung einer dritten
bitweisen Operation kombiniert wird 940. Eine Kopie der
Servergeheimnisse wird auf dem Server gespeichert 944 und
wird im Geheimnisabrufverfahren unter Verwendung der eindeutigen
Kennung des Benutzers als Querverweis verwendet. Das Ergebnis der
dritten bitweisen Operation wird unter Verwendung einer vierten
bitweisen Operation mit dem neuesten generierten dynamischen Serverpasswort
kombiniert 946 und das Ergebnis wird an das Kundengerät zurückgegeben 948.
Das Ergebnis der vierten bitweisen Operation wird unter Verwendung
einer fünften
bitweisen Operation 950, die einen symmetrischen Überverschlüsselungsschlüssel generiert 952,
mit der durch das Kundengerät
generierten Zufallszahl kombiniert 932. Der Überverschlüsselungsschlüssel wird
dann verwendet, um die Geheimnisse unter Verwendung einer Blockchiffrierung,
wie beispielsweise DES, 3DES oder AES zu verschlüsseln 954.
-
Das
resultierende Kryptogramm wird dann an den Server gesendet 956,
wo es zum zukünftigen Abrufen
mit einem Querverweis auf die eindeutige Kennung des Benutzers gespeichert
wird 958. Dies beendet die Sitzungen 960, 962, 964 des
Registrierungsverfahrens.
-
In 10 wird
ein Ablaufdiagramm beschrieben, das das Geheimnisabrufverfahren
veranschaulicht. Das Verfahren wird eingeleitet 1000, wenn
eine Benutzer/in sich von einem Kundengerät in einem Netzwerk, das nicht
seine oder ihre Geheimnisse enthält,
in den Server einloggt. Der Server bestimmt, ob der Browser des
Kundengeräts
eine gültige
Version des virtuellen Tokenapplets aufweist 1001. Wenn nicht,
wird das Applet heruntergeladen 1003 und betriebsbereit
auf dem Kundengerät
installiert. Bevor weiter fortgefahren wird, erfordert der Server
die Authentifizierung des Benutzers 1002.
-
Um
ein synchrones Passwort zu generieren, wird ein Zwei-Faktor-Authentifizierungsverfahren durchgeführt, das
vom/von der Benutzer/in die Eingabe seiner/ihrer PIN in das Sicherheitstoken
erfordert 1004, das durch das Sicherheitstoken intern mit dem
gespeicherten korrekten Wert verglichen wird 1006. Wenn
eine ungültige
Eingabe erfolgt ist (allgemein nach einer vorgegebenen Anzahl von
Versuchen) verhindert das Sicherheitstoken den Zugriff und die Sitzung
wird beendet 1066.
-
Wenn
der Benutzer die richtige PIN eingibt 1006, wird dem Benutzer
der Zugriff auf die Sicherheitstokenfunktionen erlaubt und er wählt die
synchrone Passwortfunktion, wodurch das synchrone Passwort generiert
wird 1010. Eine Kopie des neu generierten dynamischen Passworts
wird zeitweise im Sicherheitstoken gespeichert 1012. Der
Authentifizierungscode wird durch den/die Benutzer/in zusammen mit
seiner oder ihrer Benutzer-ID in das Kundengerät eingegeben und zur Authentifizierung an
den Server gesendet 1014. Der Server generiert ein synchrones
Passwort 1016, das mit dem synchronen Tokenpasswort verglichen
wird 1020. Wenn eine Übereinstimmung
gefunden wird, wird der Benutzer dem Server gegenüber authentifiziert
und die Verarbeitung wird fortgesetzt. Eine Kopie des durch den Server
generierten synchronen Passworts wird zeitweise auf dem Server gespeichert 1018.
-
Wenn
irgendein Teil des Authentifizierungsverfahrens keinen Erfolg hat 1020, 1022, 1024,
werden die Token-, Kundengerät-
und Serversitzungen beendet 1062, 1064, 1066.
Bei Erfolg wählt
der Benutzer die Tokenpasswortfunktion aus, die das gespeicherte
Tokenpasswort 908 abruft 1026. Das gespeicherte
Tokenpasswort wird unter Verwendung einer ersten bitweisen Operation
(XOR) 1028 mit dem neuesten dynamischen Passwort kombiniert 1012. Das
Ergebnis der ersten bitweisen Operation wird in das Kundengerät eingegeben 1034 und
unter Verwendung einer zweiten binären Operation (XOR) 1036 mit
einer Zufallszahl kombiniert 1030, die auf dem Kundengerät generiert
wird. Eine Kopie der Zufallszahl wird zeitweise auf dem Kundengerät gespeichert 1032.
-
Das
Ergebnis der zweiten bitweisen Operation wird an den Server 1038 gesendet.
Der Server ruft 1042 die vorhergehend gespeicherten Servergeheimnisse 944 ab,
die unter Verwendung einer dritten bitweisen Operation (XOR) mit
dem Ergebnis kombiniert werden 1040. Das Ergebnis der dritten
bitweisen Operation wird unter Verwendung einer vierten bitweisen
Operation (XOR) 1046 mit dem neuesten generierten dynamischen
Serverpasswort kombiniert 1018 und das Ergebnis wird an
das Kundengerät
zurückgegeben 1048.
Das Ergebnis der vierten bitweisen Operation wird unter Verwendung
einer fünften bitweisen
Operation (XOR) 1050, die einen symmetrischen Überschlüsselungsschlüssel generiert 1052, mit
der Zufallszahl kombiniert 1032, die durch das Kundengerät generiert
wird.
-
Das
Kryptogramm 958 wird durch den Server 1054 vom
Speicher abgerufen und an das Kundengerät gesendet 1056 und
unter Verwendung des Überschlüsselungsschlüssels 1058 und
des gleichen symmetrischen Blockchiffrierungsverfahrens, das zum
Verschlüsseln
der Geheimnisse verwendet wurde, entschlüsselt. Die resultierenden Geheimnisse werden
dann betriebsbereit im Transientenspeicher 1060 des Kundengeräts gespeichert
und das Geheimnisabrufverfahren wird beendet 1062, 1064, 1066.
-
Die
vorhergehend beschriebenen Ausführungsformen
der Erfindung werden als Veranschaulichungen und Beschreibungen
bereitgestellt. Sie sollen die Erfindung nicht auf die genaue beschriebene Form
einschränken.
Insbesondere wird ins Auge gefasst, dass die funktionelle Ausführung der
hierin beschriebenen Erfindung gleichwertig in Hardware, Software,
Firmware und/oder anderen verfügbaren funktionellen
Bestandteilen oder Bausteinen ausgeführt werden kann. Angesichts
der vorhergehenden Lehren sind andere Abwandlungen und Ausführungsformen
möglich
und es ist nicht beabsichtigt, dass diese ausführliche Beschreibung, sondern
eher die hierin folgenden Ansprüche,
den Bereich der Erfindung beschränken.