-
HINTERGRUND DER ERFINDUNG
-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft die Authentifizierung von Benutzern,
die auf gemeinsam zugängliche Daten
zugreifen müssen,
und Benutzer, die mit Transaktionen befasst sind, die über ein
Computernetz abgeschlossen werden.
-
BESCHREIBUNG
DES STANDES DER TECHNIK
-
Das
traditionelle Verfahren zum Begrenzen von Zugriff auf Information
beruhte auf einem Passwortmechanismus. Um auf Daten in einer gemeinsamen
Datenbank oder Daten, auf die über
ein Netz zugegriffen wird, zuzugreifen, muss ein Benutzer zuerst
identifiziert und dann authentifiziert werden. Identifikation bestand normalerweise
aus einem Benutzernamen, und Authentifizierung wurde durch ein Passwort
bewerkstelligt, das nur dem Benutzer bekannt ist. Die Sicherheit
dieser passwortbasierten Mechanismen des Standes der Technik könnte leicht
gebrochen werden, falls das Passwort auf irgendeine Art und Weise
kompromittiert war. Passwörter
könnten
durch Beobachten des Benutzers, wie der Benutzer das Passwort eingibt,
kompromittiert werden. Ein Passwort ist noch verletzlicher, durch Überwachen
des Computernetzes, das verwendet wird, um das Passwort zurück zu der
Informationsquelle zu übermitteln,
kompromittiert zu werden.
-
Andere
Schutztechnologien des Standes der Technik inkludierten die Verwendung
von digitalen Zertifikaten. So durchdacht und vielseitig wie digitale
Zertifikate sind, werden sie gewöhnlich
durch einfache Passwörter
geschützt.
Erneut können
diese Passwörter über das
Netz abgefangen oder durch Tastaturschnüffler (keyboard sniffers) abgefangen
werden. Sobald das Passwort kompromittiert ist, ist ein dateibasiertes
Zertifikate gegenüber
Diebstahl durch unzählige
Mittel verletzlich. Stehlen eines Zertifikates eines Benutzers und des
begleitenden Passwortes erlaubt Betrügern, verschlüsselte elektronische
Post zu lesen, auf private Dateien zuzugreifen und in Geldtransaktionen über ein
Computernetz einzugreifen.
-
Passwörter wurden
auch verwendet, um Automationskonten zu schützen, die verwendet werden,
um Information bereitzustellen oder automatisierte Aufgaben durchzuführen. Diese "Roboterkonten" werden routinemäßig verwendet,
um kritische Information zu privilegierten Angestellten und Agenten
in großen
Firmen, Regierungseinrichtungen und anderen Institutionen zu verbreiten.
Als solches müssen
Automationskonten um jeden Preis vor Kompromittierung geschützt werden.
Heutzutage unterschreiten Passwortschutzmechanismen die Sicherheitsschwellen,
die moderne Institutionen erfordern, auf unzulässige Weise.
-
Eine
Technik, die die Sicherheitsaspekte von Benutzerauthentifizierung
verbessern kann, ist die Verwendung von Hardware-Token (Hardware-Zeichen). Das Hardware-Token
war traditionell wenig mehr als glorifizierter Passwortmechanismus.
Das Hardware-Token enthielt ein nicht-flüchtiges Zertifikat, auf das
durch spezialisierte Hardware zugegriffen wurde, die mit einem Computer
des Benutzers verbunden ist. Wenn der Benutzer seine Identität authentifizieren
musste, wurde das Hardware-Token
mit dem Hardware-Leser gekoppelt, der Computer las das Zertifikat
und gab dieses dann zu dem Quellencomputer weiter.
-
In
bekannten hardware-basierten Token-Ansätzen kann das Zertifikat geschützt werden,
solange wie der Computer des Benutzers vertrauenswürdig ist.
Authentifizierungsbeglaubigungen könnten dennoch kompromittiert
werden, falls das Token an einer Maschine mit inadäquater host-basierter
Sicherheit angebracht ist. Schurkenprozesse können die Maschine infiltrieren
und die Beglaubigungen kompromittieren. Ein Beispiel dieses Typs
eines Prozesses ist das so genannte "Trojanische Pferd"; ein Prozess, der das Zertifikat zu
Hunderten von Benutzern elektronisch versendet, falls das Token
in einem "nicht
gesperrten" Zustand
ist.
-
Registrieren
des Hardware-Tokens ist auch eine umständliche Aufgabe. Um die Ehrlichkeit
der Authentifizierungsbeglaubigungen, die darin gespeichert sind,
sicherzustellen, muss das Hardware-Token durch eine zentrale Beglaubigungsautorität (CA, credential
authority) initialisiert und dann dem Benutzer sicher zugestellt
werden. Beliebige andere Mittel, wie etwa elektronisches Zustellen
zu dem Benutzer oder sogar postalische Zustellung der initialisierten
Hardwareeinrichtung sind für
Kompromittierung empfänglich.
-
Was
dann benötigt
wird, ist eine digitale Zertifikatinfrastruktur, die einfach zu
verwenden ist, einfach zu administrieren ist und gegenüber netzbasierten
Angriffen, wie etwa trojanischen Pferden und Viren undurchdringlich
ist. Offensichtlich sieht eine Verwendung eines hardware-basierten
Tokens, um Zertifikate zu speichern, inadäquate Sicherheit vor, wo Host-Systeme
nicht vertrauenswürdig
sind. Die digitale Zertifikatinfrastruktur muss nicht nur elastischere
Mittel vorsehen, um die Zertifikate zu speichern, sondern auch Mittel,
um Sicherheit in ungesteuerten Umgebungen sicherzustellen. Schließlich muss
Verbinden eines Hardware-Tokens und des Zertifikates darin eine
verteilte Angelegenheit sein, die nicht auf benutzerspezifischer
Token-Initialisierung und dem inhärenten Sicherheitsrisiko einer
Verbreitung von initialisierten Token zu Endbenutzern beruht. Zertifikate
müssen
auf eine automatisierte und verschlüsselte Art und Weise initialisiert
werden, die sichere Identifikation des Benutzers sicherstellt.
-
US-Patent
Nr. 5,784,463 beschreibt eine Token-Verteilung und ein Registrationssystem
und Verfahren.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung ist ein Verfahren zum Initialisieren von Hardware-Tokens,
die beim Authentifizieren von Benutzern von Nutzen ist, die versuchen,
auf Daten zuzugreifen oder mit elektronischen Handelstransaktionen
befasst sind. Das allgemeine Schema beruht auf einer intelligenten
Token-Einrichtung,
die ein Hardware-Token-Prozessor (HTP) genannt wird. Der HTP umfasst
eine Instruktionseinheit, die mit einem nicht-flüchtigen Speicher erweitert
wird, und eine Schnittstelle zu einer Außenausrüstung. Eine mathematische Beschleunigungseinrichtung
hilft dem HTP, Verschlüsselungs-
und Entschlüsselungsalgorithmen
schnell auszuführen.
Der HTP hat auch ein Metallgehäuse,
für welches
Verfälschungen
offensichtlich sind. Unbefugtes Hantieren an dem Gehäuse löst einen
Einbruchdetektor aus, der den Speicher unverzüglich löscht, was verhindert, dass
Verschlüsselungszertifikate
kompromittiert werden. Nur der Schnittstelle ist erlaubt, in das
Gehäuse
einzudringen, um eine Schnittstelle mit externer Ausrüstung zu
erlauben. In der bevorzugten Ausführungsform kann eine Schnittstelle,
wie etwa eine Ein-Draht-Schnittstelle (hergestellt von Dallas Semiconductor),
verwendet werden.
-
Ein
Schlüsselaspekt
der vorliegenden Erfindung ist der Schritt zur Vorinitialisierung
der Hardware-Token-Prozessoren auf eine im wesentlichen generische
Weise. Obwohl die HTP nicht grundsätzlich fungibel sind, variieren
sie nur mit eindeutigen Identifikationsnummern und Chiffrierschlüsseln, die
zufällig
generiert werden können.
HTPs werden auch mit zufälligen
persönlichen
Identifikationsnummern für
einen allgemeinen Benutzer und für
einen administrativen Benutzer initialisiert. HTPs können in
einer Menge (bulk) mittels einer Mengen-Programmiereinrichtung initialisiert
werden, die durch eine Initialisierungsarbeitsstation angesteuert wird.
Eine Zertifikatsautorität
generiert Identifikationsnummern für jeden HTP gemeinsam mit Chiffrierschlüsseln. Diese
werden in einer HTP-Erkennungsdatenbank gespeichert. Alternativ
kann die Zertifikatsautorität
die Mengen-Programmiereinrichtung direkt ansteuern, oder die Initialisierungsarbeitsstation
kann die Initialisierungsdaten generieren. Wo die Zertifikatsautorität die Initialisierungsdaten
generiert, können
entweder ein sicheres Netz oder ein nicht-zuverlässiges (nontrusted) Netz verwendet
werden, um die Initialisierungsdaten zu der Initialisierungsarbeitsstation
zu transferieren. Es können
alternative Formen von computerlesbaren Medien verwendet werden,
um die Initialisierungsdaten zu den Initialisierungsarbeitsstationen
zu übermitteln.
-
Sobald
die HTPs initialisiert sind, werden sie frei zu potenziellen Benutzern
verteilt. Wenn sich ein Benutzer für einen Authentifizierungsdienst
registrieren will, wird dem Benutzer erlaubt, seine Identifikationsdaten zu
einer Zertifikatsautorität
vorzulegen. Die Zertifikatsautorität erstellt dann neue Zertifikate
für den
HTP und verwendet die Originalzertifikate, die in dem HTP bei Initialisierung
gespeichert sind, als das Mittel, um die neuen Zertifikate zu dem
Token sicher zu übermitteln.
Die neuen Zertifikate ersetzen auch die Originalzertifikate, die
in der HTP-Erkennungsdatenbank gespeichert sind, die durch die Zertifikatsautorität unterhalten wird.
Sobald der HTP programmiert ist, werden boolesche Flags gesetzt
um anzuzeigen, dass der HTP initialisiert wurde.
-
Alle
Initialisierungsdaten für
ein Hardware-Token werden in der HTP-Erkennungsdatenbank gespeichert.
In der bevorzugten Ausführungsform
umfasst die Erkennungsdatenbank Felder für den HTP-Identifikator; eine
administrative persönliche
Identifikationsnummer und eine persönliche Identifikationsnummer
für einen
Benutzer; einen boolschen Initialisierungswert; ein Benutzerzertifikat
und eine Zertifizierungsnummer und ein Serverzertifikat und eine
Zertifizierungsnummer. Ferner umfasst die Erkennungsdatenbank Felder
für Benutzerregistrationsdatum
und Benutzeridentifikationsdaten. Diese zusätzlichen Felder werden verwendet,
um Information über
Benutzer zu speichern, wenn sie sich eintragen. Das Registrationsdatumsfeld
wird bei Initialisierung auf einen Null-Wert gesetzt, um anzuzeigen,
dass der HTP einem Benutzer nicht zugewiesen wurde. Sobald sich
ein Benutzer einträgt,
wird das Datum der Registration in der Erkennungsdatenbank aufgezeichnet.
-
Bevor
sich Benutzer für
einen Authentifizierungsdienst eintragen können, müssen sie zuerst einen Hardware-Token-Leser
erhalten und in ihren Arbeitsstationen installieren. Eine Installation
muss jedoch nicht immer notwendig sein, z.B. kommen nun einige Computer
und Peripheriegeräte
vorinstalliert mit diesen Lesern. Sobald der HTP-Leser installiert
ist (falls notwendig), erhält
der Benutzer ein initialisiertes Token und koppelt es mit dem Leser.
Unter Verwendung eines Web-Browsers, der mit einem speziellen Plug-in
erweitert ist, das dem Browser ermöglicht, mit dem HTP-Leser zu
interagieren, fragt der neue Benutzer eine Eintragungs-Web-Seite
ab. Die Eintragungs-Web-Seite umfasst die grafische Benutzerschnittstelle,
die notwendig ist, um Benutzeridentifikationsdaten zu akzeptieren.
Ein Java-Applet, das an die Web-Seite angeschlossen ist, verwendet
das Browser-Plug-in, um mit dem HTP zu interagieren. Die Benutzerdaten,
die durch die Web-Seite akzeptiert
werden, werden zu dem HTP gesendet. Der HTP wiederum sendet eine
Eintragungsanfrage zu der Zertifikatsautorität und inkludiert die Identifikationsdaten
des neuen Benutzers. Bevor die Nachricht gesendet wird, verschlüsselt der
HTP die Nachricht unter Verwendung des öffentlichen Schlüssels der
Zertifikatsautorität,
der in dem HTP während
der Initialisierung gespeichert wurde. Die Zertifikatsautorität entschlüsselt die Nachricht,
erneut unter Verwendung des privaten Schlüssels, der während Initialisierung
generiert wird, und speichert die Benutzeridentifikationsdaten in
der Erkennungsdatenbank.
-
Es
gibt vier Typen von Chiffrierschlüsseln, die die Zertifikate
umfassen, die in dem vorliegenden Verfahren verwendet werden. Ein
Benutzerzertifikat ist ein privater Schlüssel, den der HTP verwendet,
um eine Nachricht zu entschlüsseln,
die er von der Zertifikatsautorität empfängt. Eine Benutzerzertifikatsnummer
ist ein öffentlicher
Schlüssel,
den die Zertifikatsautorität
verwendet, um Nachrichten zu verschlüsseln, die sie zu dem HTP sendet.
Ein Serverzertifikat ist ein privater Schlüssel, den die Zertifikatsautorität verwendet,
um Nachrichten zu entschlüsseln,
die sie von dem HTP empfängt.
Eine Serverzertifikatsnummer ist ein öffentlicher Schlüssel, die
der HTP verwendet, um Nachrichten zu verschlüsseln, die er zu der Zertifikatsautorität sendet.
Diese werden als nicht-benutzer-spezifische Zertifikate bei Initialisierung
generiert, werden aber während
Eintragung durch benutzer-spezifische Versionen ersetzt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorangehenden Aspekte werden aus der folgenden detaillierten Beschreibung
einer Ausführungsform
der Erfindung mit Bezug auf die Zeichnungen besser verstanden, in
denen:
-
1 ein Blockdiagramm ist,
das die interne Struktur eines generischen Hardware-Token-Prozessors (HTP)
beschreibt, der zur Verwendung mit dem offengelegten Verfahren geeignet
ist;
-
1A eine bildhafte Darstellung
einer alternativen Form des HTP ist, der für Internet-Transaktionsauthentifizierung
von Nutzen ist;
-
2 eine bildhafte Darstellung
des HTP und davon ist, wie er sich mit einem Host-Computer verbindet;
-
3 ein Flussdiagramm ist,
das ein Verfahren zum Aufstellen von Hardware-Tokens zu einer Vielzahl von
Benutzern darstellt;
-
4 ein Flussdiagramm ist,
das den Prozess darstellt, der verwendet wird, um HTPs zu initialisieren;
-
5 eine bildhafte Darstellung
der Struktur der Erkennungsdatenbank ist;
-
6 eine bildhafte Darstellung
einer HTP-Initialisierungssuite ist;
-
7 ein Flussdiagramm ist,
das den HTP-Eintragungsprozess darstellt; und
-
8 ein Softwareinstantiierungsdiagramm
ist, das die Prozesse darstellt, die in einem Eintragungsprozess
gemäß der vorliegenden
Erfindung verwendet werden.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Hardwarekomponenten,
die durch Dallas Semiconducter, Inc. hergestellt werden, ermöglichen
die Verfahren, die die vorliegende Erfindung umfassen. Speziell
wird das Produkt iButtonTM von Dallas Semiconductor,
Inc. als ein intelligentes Hardware-Token verwendet. Das Produkt
von Dallas Semiconducter, Inc., das als ein BlueDotTM bezeichnet
wird, wird als eine Schnittstelleneinheit verwendet, die einem Computerbenutzer erlaubt,
das Hardware-Token mit dem Computer das Benutzers zu koppeln. Die
Produkte von Dallas Semiconducter, Inc. sind gut geeignet, um das
hierin beschriebene Verfahren zu unterstützen. Es sind jedoch Alternativen
verfügbar,
und die vorliegende Erfindung ist nicht als nur auf Anwendung mit
Hardware von Dallas Semiconducter, Inc. begrenzt auszulegen. Speziell
betrifft die Erfindung Systeme, in denen der HTP in der Lage sein
muss, Kalkulationen durchzuführen,
d.h. ein Betriebssystem haben muss. iButtons und einige Smart-Karten
können
ein Betriebssystem betreiben, wie etwa in Java implementiert. Andere
einfachere Smart-Karten sind nur Speicherkarten und können nicht
für diese
Anwendung verwendet werden.
-
1 ist ein Blockdiagramm,
das die interne Struktur eines generischen Hardware-Token-Prozessors (HTP)
beschreibt, der zur Verwendung mit dem offengelegten Verfahren geeignet
ist. Der HTP 5 umfasst eine Instruktionseinheit 10,
die eine Sequenz von Computerinstruktionen ausführt, die in einem nichtflüchtigen Speicher
mit wahlfreiem Zugriff 15 (NV-RAM) gespeichert sind. Der
HTP kann optional eine mathematische Beschleunigungseinrichtung 30 umfassen.
Die mathematische Beschleunigungseinrichtung ist nicht speziell erforderlich,
aber ein Hauptzweck zum Verwenden des HTP ist, verschlüsselte Zertifikatstransfers
zwischen dem Hardware-Token (d.h. dem HTP) und einer Zertifikatsautorität zu ermöglichen.
Die mathematische Beschleunigungseinrichtung reduziert die Zeit,
die erforderlich ist, um die Verschlüsselungs- und Entschlüs selungsprozesse
durchzuführen
und ist eine nützliche
Erweiterung der HTP-Hardwarekonfiguration.
-
Eine
Metallverkleidung 20 wird als ein Instrument verwendet,
das den inneren Hohlraum 25, der die elektronischen HTP-Komponenten
unterbringt, vor einem Einbruch schützt. In einer Ausführungsform
der Erfindung löscht
in dem Fall, dass an der Metallverkleidung hantiert wird, ein Einbruchdetektor 30 unverzüglich den
Inhalt des nicht-flüchtigen
RAM 15. Dies stellt ein hohes Maß an Sicherheit sicher, da
der NV-RAM 15 verwendet wird, um Zertifikate, private Schlüssel und
anderes geheimes Material zu speichern, das falls kompromittiert,
die Sicherheit des gesamten Sicherheitssystems brechen würde.
-
Eine
Schnittstelleneinheit 40 dringt in die Metallverkleidung
ein und erlaubt dem HTP, mit externer Ausrüstung zu kommunizieren. In
der bevorzugten Ausführungsform
kann die Schnittstelleneinheit z.B. eine Ein-Draht-Schnittstelle
umfassen, die Zwei-Weg-Kommunikationen mit einem Host-Computer vorsieht.
-
1A ist eine bildhafte Darstellung
einer alternativen Form des HTP, der für Internet-Transaktionsauthentifizierung
von Nutzen ist. In diesem Fall wird die Metallverkleidung durch
Einkapseln der elektronischen HTP-Komponenten in einer Plastikkarte 42 ähnlich zu
einer Standard-Kreditkarte oder Smart-Karte ersetzt. Eine Schnittstelle 43 verbindet
sich mit der Formung und erlaubt den elektronischen HTP-Komponenten,
mit externer Ausrüstung
zu kommunizieren.
-
2 ist eine bildhafte Darstellung
des HTP und davon, wie er sich mit einem Host-Computer verbindet.
Der HTP 5 ist mit einem HTP-Leser 50 gekoppelt.
Der HTP-Leser 50 erlaubt überhaupt dem Host-Computer,
zu/von dem HTP 5 zu schreiben und zu lesen. Der HTP-Leser
verbindet sich mit dem Host-Computer 55 mittels einer Schnittstelle.
Die Schnittstelle kann eine beliebige geeignete Schnittstelle sein,
wie etwa eine serielle oder parallele Verbindung. Es können auch
fortgeschrittenere Schnittstellen verwendet werden, wie etwa ein
Computernetz.
-
3 ist ein Flussdiagramm,
das ein Verfahren zum Aufstellen von Hardware-Tokens zu einer Vielzahl von
Benutzern darstellt. Gegenüber
dem oben beschriebenen Hardware-Hintergrund ist die vorliegende
Erfindung ein Verfahren zum Verteilen der Hardware-Tokens auf eine
Art und Weise, die gegen Angriffe von gewöhnlichen Computersicherheitsbedrohungen,
wie etwa Hackern, betrügerischen
Computerprozessen und dergleichen undurchdringlich ist. Der erste
Schritt in dem Prozess ist Schritt 60, Initialisierung
des Hardware-Tokens. Sobald die Hardware-Tokens, die in der bevorzugten
Ausführungsform
intelligente Hardware-Token-Prozessoren sind, werden die HTPs 5 zu
einer Vielzahl von potenziellen Benutzern verteilt.
-
Der
Vorteil der vorliegenden Erfindung gegenüber dem Stand der Technik besteht
darin, dass die vorliegende Erfindung Verteilung der Hardware-Tokens
durch unsichere Verteilungskanäle
zu unbekannten Benutzern erlaubt. In einer Firmenumgebung können HTPs 5 zu
potenziellen Benutzern versendet oder in Grab-Bags (Einkaufsbeuteln)
frei verteilt werden, die sich in Cafeterias der Firma befinden
können.
In breiteren Anwendungen, wie sie etwa normalerweise in internet-basierten
Transaktionen verwendet würden,
kann die geformte Version von HTPs 42 zu Kreditkarteninhabern
unter direkter Verwendung der Post gesendet werden.
-
Um
ein initialisiertes Hardware-Token, oder HTP 5, zu verwenden,
muss der Benutzer einen HTP-Leser installieren (Schritt 70)
und sich dann bei einer Zertifikatsautorität eintragen (Schritt 75).
Sobald sich der Benutzer eingetragen hat, wird die Zertifikatsautorität anschließend diesen
bestimmten Be nutzer mit einem spezifischen HTP in Verbindung bringen.
Dies ermöglicht
Authentifizierung dieses Benutzers bei nachfolgenden Gelegenheiten.
-
4 ist ein Flussdiagramm,
das den Prozess darstellt, der verwendet wird, um HTPs zu initialisieren. Dieser
Prozess wird auf einem zuverlässigen
(trusted) Server durchgeführt,
der eine Zertifikatsautorität
umfasst. Der erste Schritt in der Initialisierung (Schritt 80)
ist, einen eindeutigen Token-Identifikator zu erstellen. In der
bevorzugten Ausführungsform
wird die HTP-ID-Nummer aus einer sequenziellen Nummerierung von HTPs
abgeleitet. In Schritten 85 und 90 werden persönliche Identifikationsnummern
(personal identification numbers, PINs) zufällig generiert. Unter Verwendung
noch eines anderen zufälligen
Prozesses werden zwei Schlüsselpaare
in Schritten 95 und 100 generiert. Ein erstes
Schlüsselpaar,
das als das Benutzerzertifikat und die Zertifizierungsnummer bezeichnet
wird, wird verwendet, um Nachrichten zu verschlüsseln, die von einer Zertifikatsautorität zu einem
Benutzer zu senden sind. Der Benutzer in der vorliegenden Ausführungsform
ist der Prozessor in dem HTP. Ein zweites Schlüsselpaar, das als das Serverzertifikat
und die Zertifizierungsnummer bezeichnet wird, wird verwendet, um
Nachrichten zu verschlüsseln,
die von dem HTP zu der Zertifikatsautorität gesendet werden. Sobald der
Zertifikatsautorisierungsserver die HTP-ID-Nummer, persönliche Identifikationsnummern
und Zertifikate erstellt, werden diese in einer Erkennungsdatenbank
gespeichert (Schritt 105).
-
Um
den HTP-Initialisierungsprozess abzuschließen, müssen die HTP-ID-Nummer und
die Benutzer- und administrativen PINs in dem HTP gespeichert werden
(Schritt 110). Der HTP muss auch mit dem Benutzerzertifikat
(Schritt 115) und der Serverzertifizierungsnummer (Schritt 120)
initialisiert werden. Sobald der HTP initialisiert ist, wird eine
boolesche Variable, die in dem HTP gespeichert ist, auf wahr gesetzt
um anzuzeigen, dass der HTP initialisiert wurde. Sobald diese boolesche
Größe auf wahr
gesetzt ist, tritt der HTP in einen kryptografischen Modus ein.
In dem kryptografischen Modus wird der HTP nur mit der Zertifikatsautorität unter
Verwendung von verschlüsselten
Nachrichtenformaten interagieren.
-
5 ist eine bildhafte Darstellung
der Struktur der Erkennungsdatenbank. Wann immer der zuverlässige Server
(d.h. Zertifikatsautorität)
eine Initialisierung eines HTP vorbereitet, wird der HTP-Erkennungstabelle
ein neuer Datensatz hinzugefügt
und jeder dieser Datensätze
umfasst die folgenden Felder:
-
-
-
-
6 ist eine bildhafte Darstellung
einer HTP-Initialisierungssuite. Gemäß der Figur kann eine Vielzahl
von HTPs in eine Gruppen-Programmiereinrichtung 200 eingeführt werden.
Die Gruppen-Programmiereinrichtung 200 verbindet sich direkt
mit einer HTP-Initialisierungsarbeitsstation 205. In der
bevorzugten Ausführungsform
ist die HTP-Initialisierungsarbeitsstation 205 ein Personalcomputer,
der einen Prozessor, einen Speicher, eine Benutzeranzeige und Anzeigeradapter
und Schnittstellen umfasst. Die HTP-Initialisierungsarbeitsstation 205 ist
eine zuverlässige
Plattform. Der Zweck der HTP-Initialisierungsarbeitsstation 205 besteht darin,
Initialisierungsdaten von einer Zertifikatsautorität 210 intelligent
zu empfangen. Die Initialisierungsdaten werden in der zuverlässigen Umgebung
der Zertifikatsautorität 210 erstellt
und werden dann der HTP-Initialisierungsarbeitsstation 205 zugestellt.
In der bevorzugten Ausführungsform
kommunizieren die zuverlässigen Plattformen,
die die HTP-Initialisierungsarbeitsstation 205 und die
Zertifikatsautorität 210 umfassen, über den Weg
eines zuverlässigen
Netzes 215.
-
6 zeigt auch, dass die HTP-Initialisierungsarbeitsstation 205 ferner
einen HTP-Leser 50 und einen HTP 5 umfassen kann.
In der bevorzugten Ausführungsform
wird der administrative Benutzer, der den HTP-Initialisierungsprozess
durchführt,
durch Koppeln seines persönlichen
HTP in den HTP-Leser 50 authentifiziert. Nur nachdem der
administrative Benutzer durch die Zertifikatsautorität authentifiziert
wurde, wird Initialisierung erlaubt.
-
7 ist ein Flussdiagramm,
das den HTP-Eintragungsprozess darstellt. Sobald HTPs initialisiert sind,
werden sie zu potenziellen neuen Benutzer verteilt. Sobald ein Benutzer
einen HTP erhält,
muss dieser Benutzer in einen Eintragungsprozess eingreifen, dessen
Ergebnis diesen Benutzer einem bestimmten HTP anschließt. Unter
Verwendung der eigenen Arbeitsstation des Benutzers oder einer beliebigen
anderen Arbeitsstation, die mit einem HTP-Leser 50 erweitert
ist, muss der Benutzer eine Eintragungsanfrage zu der Zertifikatsautorität senden
(Schritt 220). Die Eintragungsanfrage inkludiert die persönlichen
Identifikationsdaten des neuen Benutzers, inkludierend, aber nicht
darauf begrenzt, Name; Adresse; Angestelltennummer, Sozialversicherungsnummer,
E-Mail-Adresse und Te lefon- und Faxnummern. Der HTP empfängt diese
Information von der Benutzerarbeitsstation und erstellt dann eine
Nachricht intern zu sich selbst. Die Nachricht wird dann durch Verschlüsselungsalgorithmen,
die in dem HTP-NV-RAM 15 gespeichert sind, verschlüsselt. Diese
Algorithmen werden durch die Instruktionseinheit 10 mit
Hilfe von der mathematischen Beschleunigungseinrichtung 30 ausgeführt. Die
Verschlüsselung
basiert auf der Serverzertifizierungsnummer, einem öffentlichen
Schlüssel, der
in dem HTP-NV-RAM 15 während
Initialisierung gespeichert wird. Die verschlüsselte Nachricht wird dann zu
der Zertifikatsautorität übertragen
(Schritt 225).
-
8 ist ein Softwareinstantiierungsdiagramm,
das die Prozesse darstellt, die in einem Eintragungsprozess gemäß der vorliegenden
Erfindung verwendet werden. In der bevorzugten Ausführungsform
verwendet der Benutzer, der sich mit dem Eintragungsprozess beschäftigt, einen
Web-Browser 230, um eine Eintragungs-Webseite aufzurufen,
die auf dem Zertifikatsautoritätsserver 210 gespeichert
ist. Der Browser 230 kommuniziert mit der Zertifikatsautorität 210 mittels
einer TCP/IP-Verbindung 245.
Die Eintragungs-Webseite umfasst eine Sammlung von Dateneingabefeldern
zusammen mit einem Befehlsknopf "Vorlegen". Das Erscheinen
dieser Web-Seite ist ziemlich üblich
und wird hier nicht beschrieben.
-
Ein
Java-Applet 235 erweitert die Seitenbeschreibung, die die
grafische Benutzerschnittstelle für die Eintragungs-Web-Seite
umfasst. Das Java-Applet 235 stellt sicher, dass alle Felder,
die in der Eintragungsform erforderlich sind, durch den Benutzer
adressiert wurden. Nachdem der Benutzer den Vorlegen-Befehlsknopf auf
der Eintragungsform betätigt,
sammelt das Java-Applet 235 dann die Benutzeridentifikationsdaten
und lenkt diese Daten zu dem HTP. Das Java-Applet 235 verwendet
ein spezielles Browser-Plug-in 240, um mit dem HTP 5 zu
kommunizieren, der mit dem HTP-Leser 50 gekoppelt ist.
-
7 zeigt, dass die Zertifikatsautorität die Eintragungsnachricht
entschlüsselt
(Schritt 250). Als Reaktion auf einen Empfang der Eintragungsnachricht
von dem HTP des Benutzers erstellt die Zertifikatsautorität neue Schlüsselpaare
speziell für
den neuen Benutzer (Schritt 255). Nur die neue Serverzertifizierungsnummer und
die neuen Benutzerzertifikate werden dann zu dem HTP in einer verschlüsselten
Nachricht gesendet. Diese Nachricht wird unter Verwendung der nicht-benutzerspezifischen
Zertifizierungsnummer verschlüsselt,
die für
den HTP bei Initialisierung generiert wird. Die verschlüsselte Registrierungsnachricht
wird dann zu dem HTP übertragen
(Schritte 265 und 268). Die Zertifikatsautorität wird dann
die neuen Benutzeridentifikationsdaten in der Erkennungsdatenbank
speichern und die Zertifikate, die dort gespeichert sind, durch
die neu erstellten benutzer-spezifischen Zertifikate ersetzen (Schritt 270).
Der HTP wird dann die Registrierungsnachricht unter Verwendung seines
Initialisierungsbenutzerzertifikates entschlüsseln (Schritt 275)
und dann die neue Serverzertifizierungsnummer und das neue Benutzerzertifikat
in dem NV-RAM 15 speichern (Schritt 280), wobei
dadurch die Zertifikate ersetzt werden, die dort während Initialisierung
gespeichert werden. Zu diesem Punkt wird der HTP dem neuen Benutzer
angegliedert und wurde mit benutzerspezifischen Zertifikaten umprogrammiert.
-
ALTERNATIVE
AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung verbessert die Sicherheit, die einem spezifischen
HTP gewährt
wird, indem zuerst eine Initialisierung jedes HTP mit einem eindeutigen
Identifikator, und verschiedenen Identifikationsnummern und Zertifikaten
durchgeführt
wird. Da die anfänglichen
Zertifikate während
des Eintragungsprozesses durch benutzer-spezifische Zertifikate
ersetzt werden, ist es absehbar, dass jeder HTP initialisiert werden könnte, sodass
HTPs gänzlich
fungibel werden. Es könnten
dann HTPs eindeutige Identifikatoren während Eintragung zugewiesen
werden. Eine Initialisierung jedes HTP auf eine identische Art und
Weise ist eine Alternative zu der bevorzugten Ausführungsform.
Eine Verteilung von fungiblen HTPs ist nicht so sicher wie das bevorzugte
Verfahren wegen der Tatsache, dass ein Benutzer seinen persönlichen
Identifikator nicht unverzüglich ändern kann.
Auch hilft eine Verwendung von verschiedenen Zertifikaten sicherzustellen,
dass der HTP, der mit einer Eintragung befasst ist, der richtige
HTP ist und dass kein anderer HTP unbeabsichtigt benutzer-spezifische
Zertifikate empfangen kann, die mit einem verschiedenen nicht-benutzer-spezifischen
Zertifikat verschlüsselt
sind.
-
Die
vorliegende Erfindung basiert auf TCP/IP-Protokollen. Eine beliebige
Vernetzungsstruktur und ein Protokoll, die eine Client-Server-Interaktion
vorsehen, sind eine akzeptable Alternative für TCP/IP.
-
Die
bevorzugte Ausführungsform
inkludiert eine Gruppen-Programmiereinrichtung zum Initialisieren einer
Vielzahl von HTPs. Wie oben beschrieben, wird die Gruppen-Programmiereinrichtung
durch eine HTP-Initialisierungsarbeitsstation angesteuert. Die HTP-Initialisierungsarbeitsstation
empfängt
Initialisierungsdaten von einer Zertifikatsautorität über den
Weg eines Netzes. Der Erfinder bringt vor, dass die HTP-Initialisierungsarbeitsstation
Initialisierungsdaten durch ein beliebiges sicheres Mittel empfangen
kann, inkludierend eine beliebige Form von computerlesbaren Medien.
Gleichermaßen
könnte
die HTP-Initialisierungsarbeitsstation Initialisierungsdaten von
der Zertifikatsautorität
unter Verwendung einer sicheren Verbindung über ein nicht-zuverlässiges Netz
empfangen oder sie kann verschlüsselt
empfangen, was dann bei Empfang entschlüsselt wird.
-
Als
eine zusätzliche
Alternative, die durch den Erfinder erwähnt wird, könnte die Gruppen-Programmiereinrichtung
auch durch die Zertifikatsautoritätsplattform direkt angesteuert
werden. Dies ist nicht die bevorzugte Ausführungsform, da von der Zertifikatsautoritätsplattform
gefordert werden kann, Authentifizierungsanfragen von anderen Benutzern
zu bedienen, die bei dem System eingetragen sind.