-
Verfahren
und Vorrichtung zum Authentifizieren eines öffentlichen Schlüssels
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Authentifizieren
eines öffentlichen
Schlüssels
und eine Vorrichtungen zum Durchführen dieses Verfahrens.
-
Eine
kryptographisch sichere Kommunikation zwischen zwei Stellen – nachfolgend
kurz als sichere Kommunikation bezeichnet – kann durch Verschlüsseln der
zur übertragenden
Botschaft erreicht werden. Ein bekanntes Verschlüsselungsverfahren ist das so
genannte PGP-Verfahren, wobei PGP für "pretty good privacy" steht. Die Erfindung, sowie die ihr
zugrunde liegende Problematik, wird nachfolgend anhand einer kryptographisch
sicheren Kommunikation mit PGP-Verschlüsselung beschrieben, ohne jedoch
die Erfindung darauf zu beschränken.
-
Bei
der PGP-Verschlüsselung
wird die Botschaft zunächst
mit einem Schlüssel
verschlüsselt und
damit eine chiffrierte Botschaft erzeugt. Die chiffrierte Botschaft
kann nun über
einen potenziell unsicheren Kommunikationskanal an den Adressaten übermittelt
werden. Damit der Adressat die chiffrierte Botschaft entschlüsseln kann,
muss ihm auch der Chiffrierschlüssel übermittelt
werden. Das PGP-Verfahren sieht hierzu vor, den Chiffrierschlüssel auch
zu chiffrieren und den chiffrierten Chiffrierschlüssel an den
Adressaten zu übermitteln.
Hierzu bilden sowohl der Adressat und der Absender zwei miteinander kommunizierende
Kommunikationsteilnehmer, die jeweils ein Paar aus einem privaten
und einem öffentlichen
Schlüssel
generieren. Der Adressat übermittelt seinen öffentlichen
Schlüssel
an den Absender oder stellt den öffentlichen
Schlüssel
in einer anderen geeigneten Weise dem Absender zur Verfügung. Der Absender
verschlüsselt
den Chiffrierschlüssel
mit dem öffentlichen
Schlüssel
des Adressaten. Danach erfolgt die Übermittelung des verschlüsselten
Chiffrierschlüssels
an den Adressaten zusammen mit dem öffentlichen Schlüssel des Absenders.
Der Adressat kann nun den verschlüsselten Chiffrierschlüssel mit
seinem privaten Schlüssel
entschlüsseln.
-
Ein
potenzieller Angreifer, d. h. ein unberechtigter Kommunikationsteilnehmer,
kann nun ohne allzu große
Schwierigkeiten in den Besitz des öffentlichen Schlüssels des
Absenders und des öffentlichen Schlüssels des
Adressaten gelangen. Jedoch benötigt
er zum Entschlüsseln
den privaten Schlüssel
des Adressaten. In dem Verschlüsselungsverfahren
wird davon ausgegangen, dass die beiden Kommunikationsteilnehmer
darauf achten, dass ein Dritter, z. B. der Angreifer, keinen Zugang
zu ihren privaten Schlüsseln
erhält.
Der öffentliche
Schlüssel
wird zwar mittels eines Funktionals (Operator) oder eines Algorithmus
aus dem privaten Schlüssel
generiert, das zugehörige
invertierende Funktional bzw. der zugehörige invertierende Algorithmus
zum Ermitteln des privaten Schlüssels
aus dem öffentlichen
Schlüssel erfordert
aber einen nicht bewältigbaren
Rechenaufwand. Daher wird davon ausgegangen, dass die chiffrierte
Botschaft und der verschlüsselte
Chiffrierschlüssel
von einem Dritten nahezu nicht oder zumindest nur mit exorbitant
hohem Aufwand entschlüsselt bzw.
dechiffriert werden können.
-
Jedoch
besteht für
den Angreifer auch die Möglichkeit,
sich als berechtigter Adressat auszugeben (man-in-the-middle attack).
Hierzu generiert er selbst ein Paar aus einem öffentlichen und einem privaten
Schlüssel.
Den öffentlichen
Schlüssel übermittelt
er dem Adressaten und suggeriert dem Absender, dass dieser öffentliche
Schlüssel
von dem berechtigten Adressaten stammt. In diesem Fall würde der
Absender in unerwünschter
Weise seine chiffrierte Botschaft und den zugehörigen verschlüsselten
Chiffrierschlüssel
an den Angreifer übermitteln.
Letzterer wäre
ohne weiteres in der Lage, den Text zu dechiffrieren.
-
Daher
wurden so genannte Zertifizierungsstellen, auch als Authentifizierungsbehörden oder Certification
Authority (CA) bezeichnet, geschaffen. Diese signieren einen öffentlichen Schlüssel einer Person
zusammen mit dessen persönlichen
Daten, z. B. dem Namen, der E-mail-Adresse, etc.. Im Wesentlichen
errechnet dabei die Zertifizierungsstelle eine Prüfsumme der
Kombination aus dem öffentlichen
Schlüssel
einer Person und deren persönlichen Daten.
Diese Prüfsumme
wird durch einen privaten Schlüssel
der Zertifizierungsstelle, dem so genannten Root-Schlüssel, verschlüsselt. Da
der öffentliche Schlüssel der
Zertifizierungsstelle frei zugänglich
gemacht wird, ist es jedermann möglich,
die Prüfsumme auszulesen.
Da der private Schlüssel
der Zertifizierungsstelle jedoch nicht öffentlich ist, kann niemand Daten
so verschlüsseln,
dass sie mit dem öffentlichen
Schlüssel
der Zertifizierungsstelle wieder entschlüsselt werden könnten. Sollte
nun jemand z. B. den Namen zugehörig
zu einem öffentlichen
Schlüssel
einer Person ändern,
ergibt dies eine andere Prüfsumme.
Ein Ändern
der durch den privaten Schlüssel der
Zertifizierungsstelle verschlüsselten
Prüfsumme ist
jedoch aus den vorgenannten Gründen
nicht möglich.
-
Für einen öffentlichen
Schlüssel
einer Person stellt eine Zertifizierungsstelle nur dann ein Zertifikat
aus, wenn ihr diese Person ausreichend genau bekannt ist oder diese
Person sich in geeigneter Weise identifizieren kann, z. B. mit einem
Personalausweis oder ähnlichem.
-
Der öffentliche
Schlüssel
einer Person, deren persönliche
Daten und die Signatur der Zertifizierungsstelle werden zusammen
veröffentlicht.
Dies kann in allgemein zugänglichen
Systemen, wie z. B. dem Internet erfolgen, oder auch in firmeninternen Intra-Netzen.
-
Bevor
ein Absender eine Botschaft an einen Adressaten übermittelt, kann er durch Nachschlagen bei
der Zertifizierungsstelle überprüfen, ob
der ihm bekannte öffentliche
Schlüssel
wirklich dem öffentlichen
Schlüssel
des gewünschten
Adressaten entspricht. Hierzu müssen
die persönlichen
Daten für den
Absender frei lesbar vorliegen. Dies ermöglicht jedoch auch anderen
den Namen, die E-mail-Adresse und die weiteren per sönlichen
Daten einzusehen. Insbesondere können
unerwünschter
Weise kommerzielle Adressensammler die persönlichen Daten auslesen. Um
ein solches unerwünschtes
Sammeln der Daten in großem
Maßstab
zu verhindern, wurde die Suchmöglichkeit
in den Datenbanken der öffentlichen
Schlüssel
eingeschränkt.
Jedoch erweist sich eine solche Einschränkung auch als benutzerunfreundlich
für diejenigen
Personen, die an einer sicheren Kommunikation miteinander interessiert
sind.
-
Vor
diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe
zugrunde, öffentliche Schlüssel zusammen
mit eindeutigen persönlichen Daten
authentifiziert zu veröffentlichen,
wobei ein Zugang zu den persönlichen
Daten nicht für
jeden öffentlich
zugänglich
sein soll.
-
Erfindungsgemäß wird zumindest
eine dieser Aufgaben durch ein Authentifizierungsverfahren mit den
Merkmalen des Patentanspruchs 1 und/oder durch eine Vorrichtung
zum Ausführen
des Authentifizierungsverfahrens mit den Merkmalen des Patentanspruchs
9 gelöst.
-
Demgemäß ist ein
Verfahren zum Authentifizieren eines öffentlichen Schlüssels mit
den folgenden Schritten vorgesehen, die nicht notwendigerweise in
der aufgelisteten Reihenfolge ausführbar sind:
- – Bereitstellen
eines privaten Schlüssels
einer Zertifizierungsstelle;
- – Bereitstellen
des öffentlichen
Schlüssels
und persönlicher
Daten eines Anwenders;
- – Generieren
eines Authentifizierungskennzeichens aus den persönlichen
Daten unter Verwendung eines Hash-Algorithmus;
- – Erzeugen
einer Signatur durch Bilden einer Kombination aus dem öffentlichen
Schlüssel
und dem generierten Authentifizierungskennzeichen und Anwenden des
privaten Schlüssels
der Zertifizierungsstelle auf die Kombination und
- – Veröffentlichen
des öffentlichen
Schlüssels,
des generierten Authentifizierungskennzeichens und der erzeugten
Signatur.
-
Die
Zertifizierungsstelle kann in dem Kontext des erfindungsgemäßen Verfahrens
eine allgemein öffentliche
Zertifizierungsstelle, z. B. eines Landes, einer Behörde oder
eines öffentlichen
privaten Anbieters sein. Ebenso kann die Zertifizierungsstelle jedoch
auch ein organisationsinternes oder firmeninternes Gremium sein.
-
Der
private Schlüssel
muss nicht unbedingt von der Zertifizierungsstelle selbst bereitgestellt
werden, sondern kann auch von Vermittelungsstellen bereitgestellt
werden, die seitens der Zertifizierungsstelle dazu autorisiert sind.
-
Das
Bereitstellen des öffentlichen
Schlüssels kann
durch den Anwender selbst erfolgen, indem er seinen privaten und öffentlichen
Schlüssel
selbst generiert und dem öffentlichen
Schlüssel
bekannt macht. Dies dürfte
in der Regel der am häufigsten
anzutreffende Fall sein. Es ist jedoch auch möglich, dass der öffentliche
Schlüssel
für den
Anwender seitens einer zentralen Stelle generiert wird. Dies kann z.
B. in Firmen und Organisationen erfolgen. Dies kann dann notwendig
sein, wenn gemeinschaftlich genutzte private Schlüssel benötigt werden.
-
Ein
Hash-Algorithmus im Sinne der vorliegenden Erfindung bildet die
Daten auf das Authentifizierungskennzeichen derart ab, dass die
persönlichen
Daten nicht mehr im Klartext lesbar sind. Ferner sollen Änderungen
an den persönlichen
Daten zu einer auffälligen Änderung
des Authentifizierungskennzeichens führen. Üblicherweise kann die Datenlänge des
Authentifizierungskennzeichens kürzer
als die Länge
der persönlichen
Daten sein. Vorzugsweise ist die Datenlänge des Authentifizierungskennzeichens durch
den ausgewählten
Hash-Algorithmus festgelegt, z. B. 160 Bit. Zusätzlich sollen aus dem Authen tifizierungskennzeichen
nur unter sehr hohem Aufwand die persönlichen Daten ermittelbar sein.
-
Das
Anwenden des privaten Schlüssels
der Zertifizierungsstelle auf die Kombination kann unmittelbar auf
die Kombination erfolgen. Es ist jedoch auch möglich die Kombination vorher
zu komprimieren, von ihr eine Prüfsumme
zu bilden oder einen Hash-Algorithmus darauf anzuwenden und erst
dann den privaten Schlüssel
der Zertifizierungsstelle darauf anzuwenden. Einem Absender sind
in der Regel die Kontaktdaten wie Name, Adresse etc. oder auch zusätzlich der öffentliche
Schlüssel
eines Adressaten bekannt. Er kann nun das Authentifizierungskennzeichen
mittels des Hash-Algorithmus ermitteln und das von ihm generierte
Authentifizierungskennzeichen mit dem veröffentlichten Authentifizierungskennzeichen
vergleichen und sich somit hinsichtlich des öffentlichen Schlüssels versichern.
-
Aus
den veröffentlichten
generierten Authentifizierungskennzeichen sind jedoch nur unter
erheblichen Aufwand die persönlichen
Daten bestimmbar. Einem Adressensammler ist somit der Zugang zu den
persönlichen
Daten erheblich erschwert.
-
Vorteilhafte
Weiterbildungen und Ausgestaltungen der Erfindung sind in den weiteren
Unteransprüchen
angegeben oder ergeben sich aus der Beschreibung im Lichte der Figuren
der Zeichnungen.
-
Der
Hash-Algorithmus kann in einer Ausgestaltung kryptographisch sicher
sein. Ferner können ein
oder mehrere Zufallszahlen an die persönlichen Daten angehängt werden,
bevor der Hash-Algorithmus auf die Daten angewandt wird. Die Zufallsdaten erschweren
zusätzlich
die Rekonstruktion der persönlichen
Daten aus dem Authentifizierungskennzeichen. Damit ein Absender
den öffentlichen
Schlüssel verifizieren
kann, muss er jedoch ebenfalls im Besitz dieser Zufallsdaten sein.
Diese können
ihm z. B. über einen
beliebigen Kommunikationskanal seitens des Adressaten zugestellt
werden.
-
In
einer Ausgestaltung ist vorgesehen, dass die persönlichen
Daten mindestens einen einzelnen Datensatz aufweisen und wenigstens
einer der einzelnen Datensätze
getrennt unter Verwendung des Hash-Algorithmus in jeweils einen
Signaturabschnitt umgewandelt wird. Zum Erstellen der Signatur werden
die so erzeugten Signaturabschnitte aneinander gehängt. Es
können
jedoch auch die persönlichen Daten
als Gesamtheit unter Verwendung des Hash-Algorithmus in die Signatur
umgewandelt werden.
-
In
einer besonders bevorzugten Ausgestaltung ist in den persönlichen
Daten die E-mail-Adresse enthalten. Ferner können auch der Name, die postalische
Adresse, die Telefonnummer und/oder die Kontonummer enthalten sein.
Insbesondere ist es von Interesse die E-mail-Adresse durch den Hash-Algorithmus
zu verändern,
da vor allem die E-mail-Adresse von Adressesammlern gesucht und an
Spamverteiler weiterverkauft wird.
-
In
einer Weiterbildung werden eine Mehrzahl verschiedener Zusammenstellungen
persönlicher Daten
bereitgestellt, wobei jede der Zusammenstellungen einer Anwendung
zugeordnet ist und für
jede Zusammenstellung ein Authentisierungskennzeichen generiert
wird, für
jedes Authentisierungskennzeichen oder die Gesamtheit der Authentisierungskennzeichen
eine Signatur erzeugt wird und jedes der Authentisierungskennzeichen
und die Signatur veröffentlicht
wird. Dies ermöglicht
einem Adressaten für
verschiedene Anwendungen einen öffentlichen Schlüssel unterschiedlich
zu versehen. So kann für einen
einfachen E-mail-Austausch die E-mail-Adresse ausreichend kennzeichnend
sein, während
für das so
genannte "Instant
Messaging" der "IM-Alias", "IM-Nummer" und die E-mail-Adresse
benötigt
werden. Die entsprechenden Anwendungen kennen die jeweilige Zusammenstellung
und haben Zugang zu den persönlichen
Daten und können
somit den Schlüssel
verifizieren.
-
In
einer Ausgestaltung wird die Länge
der erzeugten Signatur durch den Hash-Algorithmus festgelegt. Dies
hat insbesondere bei der Verwaltung von Datenbanken den großen Vorteil,
dass feste Datenlängen
für die
Such-Algorithmen verwendet werden können. Dies beschleunigt und
verbessert deren Effizienz.
-
Nachfolgend
wird die Erfindung anhand eines Ausführungsbeispiels und den Figuren
ausführlich
erläutert.
In den Figuren zeigen:
-
1 ein
Blockdiagramm eines Ausführungsbeispiels
der vorliegenden Erfindung;
-
2 ein
Flussdiagramm zur Erläuterung
einer Ausführungsform
des erfindungsgemäßen Verfahrens;
und
-
3 ein
Flussdiagramm zur Illustration einer Kommunikation zwischen zwei
Teilnehmern, welche sich dem Verfahren nach 1 und der
Vorrichtung nach 1 bedienen.
-
In 1 ist
eine beispielhafte Topologie eines Netzwerkes nach einem Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Eine Anwenderstelle A ist über eine
Datenleitung 100 mit einer Mehrzahl weiterer Anwenderstellen
B, C verbunden. Die Datenleitung 100 kann durch ein internes
Netzwerk oder ein externes Netzwerk, wie das Internet, bereitgestellt
werden. Die Datenübertragung
kann drahtgebunden, drahtlos oder optisch erfolgen. Jede der Anwenderschnittstellen
A weist eine Eingabeeinrichtung E auf. Diese kann in vielfältigsten
Weisen ausgeführt
sein und dient zum Erstellen von Botschaften, Eingeben von persönlichen
Daten etc.. In dem in 1 dargestellten Ausführungsbeispiel
ist jede Anwenderschnittstelle A, B, C mit einem individuellen Schlüsselgenerator
G verbunden. Dieser Schlüsselgenerator
kann per Software auf einer Rechnereinheit oder durch einen Hardware
basierten Schlüsselgenerator
realisiert werden. Ferner kann anstelle des dargestellten Ausführungsbeispiels
auch ein zentraler Schlüsselgenerator
G für eine
Vielzahl von Anwenderschnittstellen A, B, C bereitgestellt werden.
-
Der
Schlüsselgenerator
G erstellt einen privaten Schlüssel
PSA individuell für
eine Anwenderschnittstelle A und speichert diesen lokal bei der
Anwenderschnittstelle A in einem ersten Speicher M1 ab. Zusätzlich erstellt
der Schlüsselgenerator
G einen öffentlichen
Schlüssel
OSA basierend auf dem privaten Schlüssel PSA. Der öffentliche
Schlüssel OSA
wird in einem zweiten Speicher M2 der Anwenderschnittstelle A abgespeichert.
-
Die
Anwenderschnittstelle A fordert nun den Bediener auf, persönliche Daten
anzugeben. Diese beinhalten z. B. den Vornamen, den Nachnamen, einen
Rufnamen, die E-mail-Adresse, eine postalische Adresse, eine Telefonnummer,
eine Kontonummer oder weitere persönliche Kennzeichen des Anwenders.
In dem Flussdiagramm von 2 wird beispielhaft nur nach
dem Namen N des Anwenders gefragt. Dieser heiße Frank Mustermann (S2).
-
Die
Anwenderschnittstelle oder eine darin befindliche Datenverarbeitungseinrichtung
D wendet eine vorbestimmte Hash-Funktion
h auf den Namen N an (S3). Die Hash-Funktion h ist in einem Protokoll für die Netzwerkkommunikation
festgelegt. Beispielsweise kann dieses der Message Digest Algorithm
5 (MD5) sein. Dieser angewendet auf den Namen Frank Mustermann ergibt
639d 0c04 06d1 f526 59c2 509b 8c6e 6550 in hexadezimaler Darstellung.
Die Anwendung der MD5 – Hash-Funktion
auf einen ähnlich
klingenden Namen, z. B. Bernd Mustermann ergibt einen vollständig anderen
Hash-Wert H, nämlich 7df4
c6fc 3e3c 4a61 Odfa 687a 40b7 2711. Eine der wesentlichen Eigenschaften
der Hash-Funktion h ist, dass bei geringen Änderungen des Eingabewertes, in
diesem Fall des Namens N, ein deutlich verschiedener Hash-Wert H
bestimmt wird. Eine weitere wesentliche Eigenschaft der Hash-Funktion
h ist, dass sie nur unter verhältnismäßig hohem
Aufwand umkehrbar ist. Weitere bekannte Hash-Funktion sind der SHA-1
Algorithmus (secure hash algorithm) und der SHA-256 Algorithmus.
-
Die
Anwenderschnittstelle A übermittelt
den Hash-Wert H zusammen mit dem öffentlichen Schlüssel des
Anwenders OSA an eine zentrale Zertifizierungsstelle CS (S4). Die
Zertifizierungsstelle CS hat bereits ihren öffentlichen Schlüssel OSCS
und ihren privaten Schlüssel
PSCS erstellt (S5). Zunächst fügt die Zertifizierungsstelle
CS den übermittelten Hash-Wert
H und den übermittelten öffentlichen Schlüssel OSA
zu einem Datum KA zusammen (S6). Danach signiert sie das Datum KA
oder die Kombination KA mit ihrem privaten Schlüssel PSCS (S7), um die Signatur
ZA zu generieren. Üblicherweise
erfolgt das Signieren nur dann, wenn der Anwender sich gegenüber der
Zertifizierungsstelle CS eindeutig ausweisen kann, z. B. durch persönliche Anwesenheit
in Kombination mit einem Personalausweis. Abschließend werden
der Hash-Wert H, der öffentliche Schlüssel OSA
des Anwenders und die Signatur der Zertifizierungsstelle CS veröffentlicht
(S8). Dies kann unter Anderem dadurch erfolgen, dass diese Daten an
eine zentrale Datenbank DB übertragen
werden.
-
Die
Datenbank DB kann eine einfache große Datei oder ein Datenbanksystem
mit der Möglichkeit Anfragen
zu stellen, z. B. eine SQL-Datenbank, sein. Obwohl eine Vielzahl
von Personen auf die Datenbank DB zugreifen können, können sie die persönlichen
Daten, wie z. B. den Namen N nicht im Klartext lesen. Mit einem
nicht unerheblichen Aufwand wäre es
einem Datensammler möglich,
durch einfaches Raten und geeignete Namensdatenbanken den Namen
eine Person zu ermitteln. Dieser so genannte Wörterbuch-Angriff setzt jedoch
voraus, dass der Name oder die sonstigen persönlichen Daten keine ungewöhnlichen
Buchstabenkombinationen aufweisen. Ein solcher Wörterbuch-Angriff dürfte bei dem Namen Frank Mustermann
Erfolg haben, da beide Namen nicht ungewöhnlich sind. Jedoch muss mit hoher
Wahrscheinlichkeit ein Datensammler eine Vielzahl an Namenskombinationen
testen, bis er den Namen errät
für den
der Hash-Wert mit dem abgespeicherten und veröffentlichten Hash-Wert übereinstimmt.
Der Wörterbuch-Angriff
kann dadurch erschwert werden, dass zufällige Zeichenkombinationen
an den Namen angehängt
werden.
-
Ein
Zertifikat nach dem Standart X.509 setzt sich zusammen aus
-
- – Version
des Zertifikats
- – Seriennummer
- – Name
der Zertifizierungsstelle
- – Gültigkeit
- – Zertifikatinhaber
- – öffentlicher
Schlüssel
- – Zusatzangaben,
z. B. Einschränkungen
der Verwendbarkeit des Schlüssels
- – Signatur
-
Die
persönlichen
Daten des Anwenders oder Zertifikatinhabers enthalten unter Anderem
die bereits zuvor ausgeführten
Datensätze.
Die persönlichen
Daten können
miteinander zu einem einzigen Datum kombiniert werden und darauf
die Hash-Funktion h angewandt werden. Es kann auch ein anonymisiertes
Zertifikat erstellt werden, hierbei wird die Hash-Funktion getrennt
auf die jeweils einzelnen Datensätze
angewandt. In einer weiteren Variante werden verschiedene Datensätze aneinandergehängt, z. B.
Index, Vorname, Nachname, E-mail-Adresse etc., um einen neuen kombinierten
Datensatz zu erzeugen. Auf diesen kombinierten Datensatz wird dann der
Hash-Wert angewandt.
-
In
einem Zertifikat kann ein einzelner kombinierter Datensatz aufgenommen
sein. Dies ist ausreichend, wenn z. B. eine Verifikation alleine
anhand des Namens des Anwenders ausreichend ist. Da hierbei jedoch
in der Regel keine Eindeutigkeit besteht oder vorausgesetzt werden
kann, ist es für
viele Anwendungen interessant, zusätzliche persönliche Daten
zur Verifikation des öffentlichen
Schlüssels
heranzuziehen. Da diese verschiedenen Anwendungen in der Regel jedoch
Zugang zu unterschiedlichen persönlichen
Daten haben, erweist es sich als vorteilhaft, für jede dieser Anwendungen eine
andere Kombination zusammenzustellen und diese jeweiligen Kombinationen
in das Zertifikat aufzunehmen. So kann für einen Schriftverkehr mit
einer Bank die Kontonummer, Bankleitzahl und der Name aufgenommen
und für
ein Instant Messaging der IM-Alias, der IM-Name und die E-Mail-Adresse
aufgenommen werden. Durch die Anwendung der Hash-Funktion h sind
jedoch für
andere Anwendungen bzw. Benutzer die jeweiligen persönlichen
Daten nicht einsehbar. Die einzelnen verschiedenen Kombinationen
können durch
ein vorausgestelltes Kennzeichen identifiziert werden, welches im
Klartext angegeben ist. Dies ist jedoch nicht unbedingt notwendig,
sondern kann anonym allein durch Angabe eines Index identifiziert werden,
den ein Besitzer des öffentlichen
Schlüssels dem
Anwendungsprogramm mitteilt.
-
Unter
Verweis auf das Flussdiagramm in 3 wird nachfolgend
eine Übermittlung
einer Botschaft T von einem Anwender B an den vorherigen Anwender
A beschrieben. Zunächst
generiert der Anwender B seinen privaten und seinen öffentlichen Schlüssel PSB,
OSB und verfasst die Botschaft T. Nachfolgend chiffriert er die
Botschaft T mit einem Chiffrierschlüssel C und einem der vielen
bekannten Verschlüsselungsverfahren
(S10 – S12).
-
Der
Anwender B kennt den Namen N des Anwenders A und möchte nun
mit ihm über
einen verschlüsselten
Kanal kommunizieren. Dazu benötigt er
zunächst
den öffentlichen
Schlüssel
OSA des Anwenders A und muss auch nachfolgend sicherstellen, dass
der von ihm erhaltene öffentliche
Schlüssel OSA
wirklich dem Anwender A zugeordnet ist. In einem ersten Schritt
(S13, S14) bezieht der Anwender A den öffentlichen Schlüssel OSA,
ein Signatur ZA und einen zugehörigen
Hash-Wert H, den die Zertifizierungsstelle CS oder die Datenbank
DB bereitstellt. Zusätzlich
bezieht der Anwender B den öffentlichen Schlüssel OSCS
der Zertifizierungsstelle CS (S15, S16).
-
Aus
der Signatur ZA wird mit Hilfe des öffentlichen Schlüssels OSCS
der Zertifizierungsbehörde CS
die Kombination KA bestimmt (S17). Der Kombinationswert KA wird
für einen
nachfolgenden Vergleichsschritt gespeichert. In einem nachfolgend,
parallel oder zuvor ausgeführten
Schritt wird aus dem bekannten Namen N unter Verwendung der bekannten
Hash- Funktion h
der zu testende Hash-Wert Ht bestimmt (S18). Dieser kann mit dem
von der Zertifizierungsstelle bezogenen Hash-Wert H verglichen werden.
Stimmen die beiden Hash-Werte H und Ht überein, so ist das Zertifikat
ZA der gewünschten Person,
d. h. dem Anwender A, zugeordnet. Nachfolgend wird der Hash-Wert
Ht mit dem bezogenen öffentlichen
Schlüssel
OSA zu einer zu testenden Kombination Kt kombiniert. Diese zu testende
Kombination Kt wird mit der in Schritt S17 bestimmten Kombination
verglichen (S20). Bei Übereinstimmung
der beiden Kombinationen KA, Kt ist der öffentliche Schlüssel OSA
als Schlüssel
des Anwenders A verifiziert (S21). Nachfolgend kann der Anwender
B den Chiffrierschlüssel
mit dem öffentlichen
Schlüssel OSA
des Anwenders A und zu einem verschlüsseltem Chiffrierschlüssel Cg
verschlüsseln
(S22). Abschließend
erfolgt eine Übertragung
der chiffrierten Botschaft Tg und des verschlüsselten Chiffrierschlüssels Cg
(S23) an den Anwender A.
-
Obwohl
die vorliegende Erfindung anhand eines bevorzugten Ausführungsbeispiels
beschrieben wurde, ist dem Fachmann ersichtlich, dass vielfältige Änderungen
daran vorgenommen werden können,
die dennoch im Umfang der Erfindung nach den Patentansprüchen liegen.
-
Insbesondere
können
anstatt einer zentral angeordneten Datenbank verteilte Datenbanken
verwendet werden. Auch ist es möglich,
statt einer zentralen Zertifizierungsstelle eine Mehrzahl von autorisierten
Stellen einzurichten, die von der Zertifizierungsstelle CS zum Signieren
autorisiert sind. Entsprechend können
diese autorisierten Stellen die Signaturen generieren.
-
Vielfältige Verfahrensschritte
können
in anderer Reihenfolge ausgeführt
werden, als sie in dem ausgeführtem
Ausführungsbeispiel
dargestellt sind. Dies betrifft insbesondere in 3 die
Schritte S17, S18. Diese können
ohne weiteres an beliebiger anderer Stelle vor dem Vergleich in
Schritt S20 durchgeführt
werden. Ebenso ist es möglich
die Datenbank anhand des zutestenden Hash-Wertes Ht zu durchsuchen
und die entsprechenden öffentlichen
Schlüssel
OSA und die Signatur Z zu beziehen. Dies ist insbesondere dann von
Nöten,
wenn der öffentliche Schlüssel OSA
des Anwenders A dem Anwender B nicht bekannt ist.