-
Technisches Gebiet
-
Die
vorliegende Erfindung betrifft das Gebiet der elektronischen Datenverarbeitung
im Allgemeinen und speziell das Bereitstellen von sicheren elektronischen
Transaktionen.
-
Hintergrund und Stand der
Technik
-
In
der heutigen Welt hat elektronische Kommunikation ein hohes Niveau
erreicht. Viele Beteiligte, zum Beispiel Privatpersonen, Firmen
und Behörden,
benutzen elektronische Infrastruktur, wie das Internet, zur Kommunikation.
Häufig
wird es gewünscht,
dass eine elektronische Transaktion, d. h. ein elektronischer Austausch
von Daten, sicher ist. Sichere Transaktionen können zum Beispiel bedeuten,
dass ein Absender eines Dokumentes in der zuverlässigen Weise identifiziert
werden kann, oder dass das Dokument durch eine nicht autorisierte
Person, die eine Übertragung
des Dokumentes abfängt, nicht
lesbar ist.
-
Eine
sehr leistungsfähige
Art, Aspekte von sicheren elektronischen Transaktionen bereitzustellen,
ist der Gebrauch von Public-Key-Kryptographie (PKC). Die PKC beinhaltet
ein PKC-Verfahren und ein Paar von komplementären Keys, das einen Public-Key
und einen Private-Key in Bezug auf den Public-Key enthält. Das
PKC-Verfahren und
die Keys können
derart ausgewählt
werden, dass es undurchführbar
ist, einen der komplementären
Keys zu bestimmen, die auf dem Wissen von weiteren komplementären Keys
basieren. Beispiele für
PKC Verfahren oder Algorithmen sind RSA, genannt nach Erfindern
des Verfahrens Rivest, Shamir und Adelman oder El-Gamal. Normalerweise
wird einem oder mehreren Beteiligten der Public-Key gegeben und
der Private-Key wird von einem Beteiligten sicher gehalten und für einen weiteren
Beteiligten unzugänglich
gemacht. Daten im elektronischen Format können mit dem PKC-Verfahren
und entweder dem Public-Key oder dem Private-Key verschlüsselt werden.
Dekodierung der verschlüsselten
Daten erfordert das Anwenden des PKC Verfahrens mit dem komplementären Key,
um die Daten wieder herzustellen. Im Allgemeinen wird die PKC als
sicher betrachtet. Dies bedeutet, das PKC-Verfahren und die Länge der komplementären Keys
können
derart ausgewählt
werden, dass das Aufbrechen der PKC eine lange Zeit dauern kann,
zum Beispiel mehr als 1000 Jahre mit heutigem vorhandenem Wissen
und Rechenressourcen.
-
Zwei
grundlegende Anwendungen für
ein Verfahren, welches das PKC verwendet, sind Verschlüsselung
und Signieren. Ein Beispiel für
Verschlüsselung
ist ein erster Beteiligter, der mit dem Public-Key ausgestattet
ist, wobei der Public-Key das Verschlüsseln eines Dokumentes anwendet.
Das Dokument wird einem zweiten Beteiligten geschickt und der zweite
Beteiligte entschlüsselt
das verschlüsselte Dokument
mit dem Private-Key. Ein Beispiel für das Signieren ist ein erster
Beteiligter, der eine Message zusammen mit einer Signatur sendet.
Die Signatur wird berechnet, indem man die Daten verschlüsselt, welche
die Message mit dem Private-Key wiedergeben. Ein zweiter Beteiligter,
welcher die Message und die Signatur empfängt, kann die Signatur mit
einem Public-Key, der dem zweiten Beteiligten bereitgestellt worden
ist, entschlüsseln.
Der zweite Beteiligte kann die entschlüsselte Signatur mit der Darstellung
bzw. Repräsentation
der Message bzw. Nachricht vergleichen und im Fall von Identität schlussfolgern,
dass die Signatur durch den ersten Beteiligten berechnet worden
ist, der den authentischen Private-Key besitzt.
-
Das
PKC Verfahren beruht auf der Tatsache, dass ein Beteiligter einen
Public-Key empfängt
und dass der Public-Key von einem authentischen bereitstellenden
Beteiligten bereitgestellt wird. Das PKC-Verfahren mag nicht sicher
sein, wenn ein nicht-authentischer
Beteiligter einen nicht-authentischen Public-Key liefert, selbst
wenn das PKC-Verfahren sicher ist. In dem Beispiel der Verschlüsselungsanwendung
kann der nicht-authentische Beteiligte in der Lage sein, das Dokument
zu lesen, das mit dem Public-Key verschlüsselt wird, weil der nicht-authentische
Beteiligte den betreffenden Private-Key besitzt. In dem Beispiel
der Signierungs-Anwendung kann der nicht-authentische Beteiligte
in der Lage sein, eine nicht-authentische Message mit einer Signatur
zu senden, die zu einer falschen Schlussfolgerung führt, dass
die Message durch den authentischen Beteiligten gesendet wurde.
-
Folglich
ist es im Allgemeinen erwünscht, den
Public-Key in einer sicheren Weise bereitzustellen. Außerdem ist
es erwünscht,
weitere Public-Keys in einer sicheren Weise bereitzustellen, weil
ein verwendeter Public-Key zum Beispiel nicht mehr sicher ist oder
weil der verwendete Public-Key eingeplant ist, aktualisiert zu werden.
Ein Grund, dass der verwendete Public-Key nicht sicher ist, kann
zum Beispiel sein, dass der verwendete Public-Key durch einen Zugriff
einer nicht autorisierten Person kompromittiert worden ist. Ein
weiterer Grund kann sein, dass aufgrund der neuen technischen Entwicklungen der
verwendete Key kein erforderliches Sicherheitsniveau gegen das Aufbrechen
bzw. Lösen
des PKC Verfahrens bereitstellt.
-
Das
Dokument
EP-A-0 898
260 offenbart ein System zum Bereitstellen weiterer Public-Keys
in einer sicheren Weise. Es beinhaltet das Anwenden einer Sequenz
von zwei Keys, nämlich
den Haupt- und den Hilfs-Signatur-Keys, die während des gleichen Updating-Zyklus
verändert
werden. Der Updating-Zyklus von jedem Key wird in drei Perioden
geteilt und die elektronische Signatur wird immer mit dem Haupt-Key
ausgeschlossen. Die elektronische Signatur wird durch Anwendung
von einem der zwei Bestätigungs-Keys
(Haupt- und den Hilfs-Bestätigungs-Keys),
die mit der Änderung
der zwei Keys nicht synchron ist, die als Signatur-Keys verwendet werden,
verändert
werden. Obwohl dies den Bedarf zum Stoppen der Sicherung von elektronischen
Signaturen oder Begrenzen des bereitgestellten Dienstes während des
Updatings bzw. der Aktualisierung der Signatur-Keys vermeidet, wird
noch gefordert, dass jeder Key getrennt authentisiert wird.
-
Kurzdarstellung der Erfindung
-
Eine
allgemeine Aufgabe der nachstehenden Ausführungsformen der Erfindungen
betrifft einen sicheren Weg, eine Sequenz der Public-Keys von einem
Providersystem zu einem Empfänger-System
zu übertragen.
-
Eine
erste Ausführungsform
der Erfindung kennzeichnet ein Providing-System zum Bereitstellen
der Sequenz von Public-Keys. Eine Aufgabe der ersten Ausführungs form
ist eine sichere Bereitstellung der Sequenz von Public-Keys. Die
sichere Bereitstellung ist ein Teil des sicheren Wegs, die Sequenz
der Public-Keys zu übertragen.
Das Providing-System hat eine Rechen-Einheit und eine Sender-Einheit.
Die Rechen-Einheit erzeugt die Sequenz der Public-Keys und berechnet
Datensätze,
die die sichere Bereitstellung der Sequenz ermöglichen. Die Datensätze hängen mit
den Public-Keys der Sequenz zusammen, sodass Bereitstellen eines
weiteren Public-Keys
zum Ersetzen des verwendeten Public-Keys sicher ist, d. h. eine
Beziehung zwischen dem weiteren Public-Key und einem vorher bereitgestellten
Datensatz ist sicher. Im Allgemeinen ist eine sichere Beziehung
mit heutigen Wissen und Rechnerressourcen praktisch nicht aufzubrechen.
Die Beziehung ist sicher, auch wenn der verwendete Public-Key oder
der Private-Key, der auf dem verwendeten Public-Key basiert, unsicher
ist. In einem solchen Fall ist der verwendete Public-Key oder der
Private-Key nicht für
einen sicheren Weg verfügbar,
um einen weiteren Key bereitzustellen. Aufgrund der Beziehungen
kann der weitere Key in einer automatisierten Weise sicher bereitgestellt
werden. Die automatisierte Weise ist schnell und effizient hinsichtlich des
Provider-Systems und eines Kommunikationskanals, die an die Sende-Einheit
angeschlossen werden, weil der weitere Public-Key mit nur einer
Message bereitgestellt werden kann. Außerdem kann die eine Message
mit wenigen Overhead-Daten kurz sein, d. h. Datensätze, welche
die Sicherheit bereitstellen, können
in der Größe mit dem
weiteren Public-Key kompatibel sein. Weiter erlaubt die erste Ausführungsform
auch das Anwenden eines Kommunikationskanals für die Bereitstellung der Sequenz der
Public-Keys ohne zum Beispiel Daten durch eine Email zu einer autorisierten
Person bereitzustellen, um eine manuelle Tätigkeit durchzuführen. Das
Providing-System wird in unabhängigem
Anspruch 1 offenbart und weitere wahlweise Merkmale des Providing-Systems
werden in nachstehenden Ansprüchen in
Abhängigkeit
von Anspruch 1 offenbart.
-
Eine
zweite Ausführungsform
der Erfindung kennzeichnet ein Empfänger-System für das Authentifizieren
der Public-Keys der Sequenz. Eine Aufgabe der zweiten Ausführungsform
ist eine sichere Authentifizierung der Public-Keys, die vom Providing-System empfangen
wurden. Die sichere Authentifizierung ist ein weiterer Teil des
sicheren Wegs, die Sequenz zu übertragen.
Das Empfänger-System
hat eine Empfangs-Einheit und eine Authentifizierungs-Einheit. Die
Empfangs-Einheit empfängt
die Datensätze
und die Authentifizierungs-Einheit, authentisiert den weiteren Public- Key, indem sie die
sichere Beziehung zwischen dem weiteren Public-Key und dem vorher
bereitgestellten Datensatz verwendet. Der vorher bereitgestellte
Datensatz wird durch die Empfänger-Einheit
vor einem Datensatz, einschließlich
des weiteren Public-Keys, empfangen. Ein positives Authentifizierungsergebnis
bestätigt, dass
der weitere Public-Key sicher ist und folglich für ein sicheres Public-Key-Kryptographieverfahren
anwendbar ist. Die zweite Ausführungsform
kann die Vorteile bereitstellen, die zur ersten Ausführungsform ähnlich sind:
die Public-Keys können
in einer automatisierten Weise authentisiert werden, die schnell und
effizient ist, weil nur eine Message mit wenigen Overhead-Daten
verarbeitet werden muss. Weiter kann die Empfangs-Einheit der zweiten
Ausführungsform
nur an einen Kommunikationskanal angeschlossen werden. Das Empfangs-System
wird in unabhängigem
Anspruch 6 offenbart und weitere wahlweise Merkmale des Providing-Systems
werden in nachstehenden Ansprüchen
in Abhängigkeit
von Anspruch 6 offenbart.
-
Eine
dritte Ausführungsform
der Erfindung kennzeichnet ein Computer-implementiertes Verfahren
für das
Bereitstellen der Sequenz der Public-Keys. Eine Aufgabe der dritten
Ausführungsform stellt
die Sequenz in einer sicheren Weise bereit. Die dritte Ausführungsform
enthält
das Erzeugen der Sequenz, das Bereitstellen eines Datensatzes und
das Bereitstellen eines folgenden Datensatzes. Die Aufgabe der dritten
Ausführungsform
ist der Aufgabe der ersten Ausführungsform ähnlich und
Merkmale der dritten Ausführungsform
entsprechen den Merkmalen der ersten Ausführungsform. Folglich kann die dritte
Ausführungsform
Vorteile der ersten Ausführungsform
teilen, die mit dem automatisierten Weg verbunden wird, d. h. sie
ist schnell und auch bezüglich
der Anzahl an Kommunikationskanälen
effizient. Die dritte Ausführungsform
wird in Anspruch 11 mit den wahlweisen Merkmalen offenbart, die
in nachstehenden Ansprüchen
in Abhängigkeit
von Anspruch 11 offenbart werden.
-
Eine
vierte Ausführungsform
der Erfindung kennzeichnet ein Computer-implementiertes Verfahren
für das
Authentifizieren der Public-Keys der Sequenz. Eine Aufgabe der vierten
Ausführungsform
ist das Authentifizieren der Public-Keys in einer sicheren Weise.
Die vierte Ausführungsform
enthält
das Empfangen eines Datensatzes, das Empfangen eines nachfolgenden
Datensatzes, das Berechnen eines Test-Hash-Wertes und das Authentifizieren eines nachfolgenden
Keys des nachfolgenden Da tensatzes. Die Aufgabe der vierten Ausführungsform
ist der Aufgabe der zweiten Ausführungsform ähnlich und Merkmale
der vierten Ausführungsform
entsprechen Merkmalen der zweiten Ausführungsform. Folglich kann die
vierte Ausführungsform
Vorteile der zweiten Ausführungsform
teilen, die mit dem automatisierten Weg verbunden wird, d. h. sie
ist schnell und auch bezüglich
der Anzahl an Kommunikationskanälen
effizient. Die vierte Ausführungsform
wird in Anspruch 17 mit den wahlweisen Merkmalen offenbart, die
in nachstehenden Ansprüchen
in Abhängigkeit
von Anspruch 17 offenbart werden.
-
Eine
fünfte
Ausführungsform
richtet sich an ein Computerprogrammprodukt für die Durchführung von
Schritten der dritten Ausführungsform.
Folglich entsprechen Aufgabe und potentielle Vorteile der fünften Ausführungsform
der Aufgabe und den potentiellen Vorteilen der dritten Ausführungsform.
Die fünfte
Ausführungsform
wird in Anspruch 23 offenbart.
-
Eine
sechste Ausführungsform
richtet sich an ein Computerprogrammprodukt für die Durchführung von
Schritten der vierten Ausführungsform. Folglich
entsprechen Aufgabe und potentielle Vorteile der sechsten Ausführungsform
der Aufgabe und potentiellen Vorteilen der vierten Ausführungsform. Die
fünfte
Ausführungsform
wird in Anspruch 24 offenbart.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein vereinfachtes Diagramm der beispielhaften Ausführungsformen
für ein
Provider-System und ein Empfänger-System.
-
2A ist
ein schematisches Diagramm von Daten und von Beziehungen zwischen
den Daten für eine
Ausführungsform
des Provider-Systems.
-
2B ist
ein schematisches Diagramm von Daten und von Beziehungen zwischen
den Daten für eine
Ausführungsform
des Empfänger-Systems.
-
3 zeigt
Daten und Beziehungen zwischen den Daten gemäß Ausführungsformen der Erfindung.
-
4 zeigt
weitere Beispiele von Daten und Beziehungen zwischen den Daten gemäß Ausführungsformen
der Erfindung.
-
5 ist
ein vereinfachtes Fließdiagramm eines
Verfahrens gemäß der Erfindung.
-
6 ist
ein vereinfachtes Fließdiagramm eines
weiteren Verfahrens gemäß der Erfindung.
-
Beschreibung der Erfindung
im Einzelnen
-
Die
nachstehenden Beispiele und die Beschreibungen sind vorgesehen,
um die Ausführungsformen
der Erfindung zu erläutern
und sind nicht vorgesehen, den Umfang der Erfindung zu begrenzen.
-
1 ist
ein vereinfachtes Diagramm für
beispielhafte Ausführungsformen
eines Provider-Systems 100 und eines Empfänger-Systems 200.
Eine Ausführungsform
des Provider-Systems 100 hat zwei Bestandteile, eine Rechen-Einheit 110 und
eine Sender-Einheit 120. Eine Ausführungsform des Empfänger-Systems
hat auch zwei Bestandteile, eine Empfangs-Einheit 210 und
eine Authentifizierungs-Einheit 220. Ein Pfeil zwischen
zwei Einheiten in der Figur gibt eine Schnittstelle zwischen den
zwei Einheiten wieder, die für
die Übertragung
von Daten in der angezeigten Richtung des Pfeils benutzt werden.
Die Ausführungsform
des Provider-Systems 100 ist anwendbar, eine Sequenz der
Public-Keys zur Ausführungsform
des Empfänger-Systems 200 in
einer sicheren Weise bereitzustellen. Jeder Public-Key der Sequenz
hängt mit
einem Private-Key zusammen und ist für ein Public-Key-Kryptographie-Verfahren (PKC) anwendbar.
Das PKC Verfahren wendet ein PKC Verfahren oder Algorithmus an,
um eine sichere elektronische Transaktion zwischen zwei Beteiligten bereitzustellen.
Das PKC Verfahren bedeutet normalerweise, dass ein Beteiligter einen
Private-Key besitzt oder dazu Zugriff hat und dass der andere Beteiligte
einen in Verbindung stehenden Public-Key besitzt oder dazu Zugriff
hat. Der Private-Key und der in Verbindung stehende Public-Key müssen durch
ein Computersystem gemäß einem
PKC-Verfahren zusammen erzeugt werden. Folglich wird einer der in Verbindung
stehenden Keys, d. h. der Public-Key vom einen Computersystem des eines
Beteiligten zu einem weiteren Computersystem des anderen Beteiligten übertragen.
Für ein
sicheres PKC-Verfahren zwischen den zwei Beteiligten ist es nützlich,
mehr als ein Paar von in Verbindung stehende Keys zu verwenden,
weil ein verwendetes Paar Keys ein spezielles Sicherheitsniveau
zum Beispiel nach einiger Anwendungszeit nicht bereitstellen kann.
Mit dem Provider-System und dem Empfänger-System wird eine Sequenz der Public-Keys
in einer sicheren Weise übertragen,
d. h. die empfangenen Public-Keys können überprüft werden, ob sie vom authentisierten
Beteiligten bereitgestellt werden.
-
Die
Ausführungsform
des Provider-Systems 100 enthält die Rechen-Einheit 110,
die konfiguriert ist, um die Sequenz der Public-Keys und der betreffenden
Private-Keys zu erzeugen. Außerdem
wird die Rechen-Einheit konfiguriert, um eine Mehrzahl der Datensätze mit
einem Datensatz der Mehrzahl, einschließlich eines Public-Keys und
eines Prüfwert, zu
berechnen. Es kann auch sein, dass einer oder mehrere weitere Datensätze der
Mehrzahl jedes einen weiteren Public-Keys und einen weiteren Prüfwert enthalten.
Der Prüfwert
ist ein Ergebnis des Anwendens einer Hash-Funktion auf einen nachfolgenden Datensatz,
einschließlich
eines weiteren Public-Keys,
der dem Public-Key in der Sequenz folgt. Der Datensatz enthält den Prüfwert, in
dem Fall, dass der Public-Key den weiteren Public-Key, der in der Sequenz
folgt, hat, d. h. der Public-Key ist nicht der letzte Key der Sequenz.
Der Prüfwert
ermöglicht
eine Autorisierung durch das Empfänger-System des weiteren Public-Keys,
der in der Sequenz folgt. Weitere Details zu den Daten und Beziehungen
zwischen den Daten werden in den nachfolgenden Figuren gezeigt und
werden in den nachfolgenden Teilen entsprechend den nachfolgenden
Figuren erklärt.
Die Rechen-Einheit kann zum Beispiel eine Verarbeitungs-Einheit
eines Computers sein, oder sie kann zum Beispiel zwei unterschiedliche
Computer mit enthalten, von denen einer die Sequenz der Public-Keys
und der in Beziehung stehenden Private-Keys erzeugt, und einer davon
die Mehrzahl der Datensätze
berechnet. Das Provider-System enthält weiterhin die Sender-Einheit 120,
die konfiguriert wird, um die Mehrzahl der Datensätze zum
Empfänger-System
bereitzustellen. Die Sender-Einheit kann zum Beispiel innerhalb
eines Computers enthalten sein, zu dem auch die Rechen-Einheit gehört, oder die
Sender-Einheit kann ein getrenntes Computersystem sein, auf das
ein Datensatz vor dem Senden des Datensatzes zum Empfänger-System übertragen
wird. In einem weiteren Beispiel kann die Sender-Einheit als ein
Computerprogramm imp lementiert werden, das eine Schnittstelle zum
Internet bereitstellt. Die Daten können unter Verwendung der Schnittstelle
gesendet werden und die Daten werden in einem Standardformat durch
das Internet auf einem adressierten System geroutet, d. h. der Anschluss
kann zum Empfänger-System über das
Internet bereitgestellt werden. In einem weiteren Beispiel kann
ein exklusiver Anschluss zwischen dem Provider-System und dem Empfänger-System als ein Kommunikationskanal
zum Übertragen
von Daten zwischen den Systemen dienen.
-
Die
Ausführungsform
des Empfänger-Systems 200 zum
Authentifizieren der Public-Keys
der Sequenz enthält
die Empfangs-Einheit 210, die konfiguriert ist, um die
Mehrzahl der Datensätze
vom Provider-System zu empfangen. Die Authentifizierungs-Einheit 220 des
Empfänger-Systems
ist konfiguriert, um den Public-Key eines empfangenen Datensatzes
zu authentifizieren. Dies wird durch Berechnen eines Test-Hash-Werts
ausgeführt,
indem man eine Hash-Funktion auf den Datensatz anwendet und indem
man den Test-Hash-Wert mit dem Prüfwert eines vorherigen Datensatzes
vergleicht, der einen vorherigen Public-Key in der Sequenz enthält. Häufig ist
der vorherige Datensatz vor dem Datensatz empfangen worden. Eine
Identität
des Prüfwertes
und des Test-Hash-Wertes ist ein positives Authentifizierungsergebnis
und folglich ist der Gebrauch von dem Public-Key für das PKC-Verfahren sicher. Ähnlich zu
den Einheiten des Provider-Systems können Einheiten des Empfänger-Systems ein Teil
eines Computers oder des Computersystems sein. In einem weiteren
Beispiel können
die Einheiten auf unterschiedlichen Computern sein und eine Einheit
kann auch mehr als einen Computer mit enthalten. Außerdem kann
die Empfangs-Einheit ein Computerprogramm sein, das auf einem Computer
mit einer Schnittstelle läuft,
die einen Kommunikationskanal zum Provider-System bereitstellt.
Der Kommunikationskanal kann das Internet enthalten, durch das Daten,
geroutet im Standardformat, empfangen wurden.
-
2A ist
ein schematisches Diagramm 340 von Daten und von Beziehungen
zwischen den Daten für
eine Ausführungsform
des Provider-Systems. Die Daten schließen einen Datensatz DS(i +
1) 343 und einen folgenden Datensatz DS(i + 2) 341 ein.
In der Figur werden Datensätze
gemäß Positionen
der enthaltenen Public-Keys in der Sequenz aufgezählt. Der
Index i stellt einen beispielhaften Ganzzahlen-Wert innerhalb eines
Bereiches von 1 bis m – 2 dar,
worin die Sequenz m Public-Werte hat. Der Datensatz DS(i + 1) 343 enthält einen
Public-Key PuK(i + 1) und einen Prüfwert PV(i + 1) 342.
Der Prüfwert PV(i
+ 1) 342 ist berechnet worden, indem man die Hash-Funktion
am nachfolgenden Datensatz DS(i + 2) 341 anwendete. Beispiele
für Hash-Funktionen sind standardisierte
Hash-Funktionen, wie MD4, SHA-256, SHA-512, Snefru oder Tiger. Es
gibt weiter nicht standardisierte Hash-Funktionen, die für eine Implementierung
der Ausführungsform
verwendet werden können.
-
In
der Ausführungsform
des Provider-Systems enthält
der Datensatz weiterhin Updatedaten, die eine oder mehrere der nachfolgenden
Informationen mit enthalten: ein Datum, an dem der Public-Key des
Datensätze
festgelegt wird, durch einen nachfolgenden Public-Key ersetzt zu
werden, eine Identifizierung von einem PKC-Verfahren, mit der der nachfolgende
Key anwendbar ist, eine Länge
des nachfolgenden Public-Keys, eine Identifizierung der Hash-Funktion,
die auf den nachfolgenden Datensatz angewendet worden ist. In einer
weiteren Ausführungsform
können
die Updatedaten weitere Daten enthalten, die mit dem Authentifizieren
der bereitgestellten Public-Keys zusammen hängen. Die Daten für das Ersetzen
der Keys der Sequenz sowie weitere Updatedaten müssen vor dem Bereitstellen
eines ersten Datensatzes der Sequenz bestimmt werden. Ein Datum
kann auch mit einer weiteren Spezifizierung einer Zeit auf das Datum
für das
Ersetzen der Keys verbunden sein. Jedoch in einem beispielhaften Fall
kann ein Gruppe Public-Keys bereitgestellt werden, früher als
für das
Ersetzen der vorherigen Public-Keys festgelegt worden ist. Ein Grund
mag sein, dass einer oder mehrere Public-Keys kompromittiert werden
und folglich unsicher sind. In dem beispielhaften Fall kann Ersatz
von Daten der Public-Keys der
Gruppe nicht mehr gültig
sein, weil die Public-Keys nicht mehr für den Ersatz früher als
festgelegt verwendet werden und die Updatedaten können folglich
nicht geändert
werden. In der Figur werden beispielhafte Updatedaten durch UD(i
+ 1) wiedergegeben. Die Updatedaten UD(i + 1) können zum Beispiel das Datum
angeben, an dem der Public-Key PuK(i + 1) festgelegt wird, durch
einen Public-Key PuK(i + 2) ersetzt werden soll, der im Datensatz
DS(i + 2) eingeschlossen ist. Die Updatedaten UD(i + 1) können ein
PKC-Verfahren zum Beispiel weiter angeben, mit dem der Public-Key
PuK(i + 1) angewendet wird. Das PKC Verfahren kann zu einem vorherigen PKC
Verfahren verschieden sein, das unter Verwendung eines vorherigen
Public-Keys PuK(i)
verwendet worden ist. Eine solche Änderung eines PKC Verfahrens
kann ein Sicherheitsniveau erhöhen,
weil es zum Beispiel an einem zukünftigen Zeit- Punkt verwendbar
sein kann, ein schwierigeres und sichereres PKC zu verwenden, das
mehr Computer-Ressourcen für
das PKC Verfahren erfordert. Ähnlich
kann in einem weiteren Beispiel eine erste Hash-Funktion, die für das Berechnen
einer Anzahl von Prüfwerten verwendet
wird, zu einer zweiten Hash-Funktion verschieden sein, die für das Berechnen
einer weiteren Anzahl von Prüfwerten
verwendet wird. In dem weiteren Beispiel können Hash-Funktionen, die mehr Computer-Ressourcen
benutzen, aber ein höheres Sicherheitsniveau,
zum Beispiel, Kollisions-frei sein, bei einem höheren Niveau nach einem zukünftigen Zeitpunkt
verwendet werden.
-
Außerdem wird
in der weiteren Ausführungsform
des Provider-Systems die Rechen-Einheit
weiter konfiguriert, um einen Signaturwert zu berechnen. Der Signaturwert
ist ein Ergebnis des Anwendens eines PKC Verfahrens mit einem Private-Key
als ein Ergebnis der Hash-Funktion, die auf den Datensatz angewendet
worden ist. Der Private-Key hängt
mit einem Public-Key des Datensatzes zusammen. In anderen Worten,
wird das PKC Verfahren als eine signierende Anwendung verwendet,
d. h. für
das Erzeugen einer Signatur für
den Datensatz. Die Sender-Einheit bzw. Absender-Einheit der weiteren Ausführungsform
wird weiter konfiguriert, um den Signaturwert mit dem Datensatz
zu versehen. In der Figur wird die Hash-Funktion auf den Datensatz
DS(i + 1) 343 angewendet, um einen Hash-Wert 344 und
Anwenden des PKC-Verfahrens
zu ergeben, d. h. eine Signum-Funktion bzw. Sign-Funktion mit dem
Private-Key PrK(i + 1) ergibt einen Signaturwert SV(i + 1) 345.
In einem weiteren Beispiel kann ein Signaturwert berechnet werden,
indem die Signum-Funktion bzw. Sign-Funktion mit dem Private-Key PrK(i +
1) direkt auf den Datensatz DS(i + 1) anwendet wird.
-
In
einem Beispiel für
das Provider-System kann eine Länge
eines erzeugten Public-Keys
der Sequenz länger
als eine Länge
eines vorher erzeugten Public-Keys der Sequenz sein. Dies kann in
der Zukunft ein höheres
Sicherheitsniveau als das Konstant-Halten einer Länge der
Public-Keys bereitstellen. Der Grund ist, dass eine Länge, die
heute als sicher betrachtet wird, in zum Beispiel 10 Jahren ab jetzt
nicht sicher sein kann, weil von der verfügbaren Rechnerleistung erwartet
wird, dass sie höher
sein wird. Als ein Beispiel kann eine Länge der Public-Keys der Sequenz
sich alle fünf
Jahre verdoppeln, die einer erwarteten Zunahme der Rechner-Ressourcen
entsprechen, die für
einen Beteiligten für
das Aufbrechen des Public-Keys vorhanden sind. In dem Beispiel können Keys
für das
PKC Verfahren RSA eine Länge
von 2048 Bits für
einen Start haben und dementsprechend verdoppeln. In der weiteren
Ausführungsform
des Provider-Systems ist ein Public-Key-Kryptographie-Verfahren,
mit dem ein Public-Key der Sequenz anwendbar ist, von einem PKC-Verfahren
verschieden, mit dem ein nachfolgender Public-Key der Sequenz anwendbar
ist. Eine solche Änderung
des PKC-Verfahrens kann zweckmäßig kommuniziert
werden, indem man das anwendbare PKC Verfahren in den Updatedaten
spezifiziert.
-
2B ist
ein schematisches Diagramm 350 von Daten und von Beziehungen
zwischen den Daten für
eine Ausführungsform
des Empfänger-Systems.
Die Daten schließen
den Datensatz DS(i + 1) 343 ein, der vom Provider-System
und von einem vorherigen Prüfwert
PV(i) 355 eines vorher empfangenen Datensatzes DS(i) empfangen
worden ist.
-
Im
Empfänger-System
wird ein Test-Hash-Wert 352 berechnet, indem man eine Hash-Funktion
am Datensatz DS(i + 1) 343 anwendet. Der Test-Hash-Wert 352 wird
mit dem Prüfwert PV(i) 355 verglichen.
-
In
einem Beispiel kann ein empfangener Datensatz Updatedaten weiter
enthalten, die eine oder mehrere der nachfolgenden Informationen
enthalten: ein Datum, an dem der Public-Key des Datensatzes festgelegt
wird, durch einen nachfolgenden Public-Key ersetzt zu werden, eine
Identifizierung eines Public-Key-Kryptographie-Verfahrens, mit dem der nachfolgende
Key anwendbar ist, eine Länge
des nachfolgenden Public-Keys, eine Identifizierung einer Hash-Funktion,
die an einem Datensatz angewendet worden ist, der dem Datensatz
folgt.
-
Die
Empfangs-Einheit des Empfänger-Systems
wird weiter konfiguriert, um einen Signaturwert mit einem empfangenen
Datensatz zu empfangen und die Authentifizierungs-Einheit wird konfiguriert, um
einen Public-Key des empfangenen Datensatzes zu authentifizieren,
indem man einen Original-Wert weiter berechnet. Der Original-Wert wird vom Signaturwert
berechnet, indem man ein PKC-Verfahren mit dem Public-Key der empfangenen
Datensätze
anwendet. Das Authentifizieren enthält weiter das Vergleichen des
berechneten Original-Wertes mit dem Test-Hash-Wert des Datensatzes.
In der Figur ist der Datensatz DS(i + 1) 343 mit dem Signaturwert
SV(i + 1) 345 verbunden bzw. assoziiert. In einem Beispiel kann
eine Verbindung bzw. Assoziation zwischen dem Datensatz DS(i + 1) 343 und
der Signaturwert SV(i + 1) 345 durch ein Provider-System
erzeugt werden, indem man den DS(i + 1) 343 und den SV(i
+ 1) 345 innerhalb einer Message sendet. In einem solchen
Fall kann das Empfänger-System die Verbindung
bzw. Assoziation identifizieren, indem man den DS(i + 1) 343 und
den SV(i + 1) 345 in der Message identifiziert. In einem
anderen Beispiel können
der DS(i + 1) 343 und der SV(i + 1) 345 in unterschiedlichen
Messages gesendet werden, wobei die Verbindung bzw. Assoziation
durch einen allgemeinen Identifizierer beider Messages erzeugt werden
kann. Ein Original-Wert 353 wird erzeugt, indem man eine
Verifizierungsfunktion mit dem Public-Key PuK(i + 1) auf den SV(i
+ 1) 345 anwendet. Der Original-Wert 353 wird
mit dem Test-Hash-Wert 352 verglichen. Die Verifizierungsfunktion
mit dem PuK(i + 1) ist zur Signum-Funktion bzw. Sign-Funktion mit
PrK(i + 1) komplementär,
d. h. die Verifizierungsfunktion entschlüsselt ein Argument, das mit
der Signum-Funktion bzw. Sign-Funktion verschlüsselt worden ist und ergibt das
Original-Argument der Signum-Funktion bzw. Sign-Funk-tion. Eine
solche Beziehung zwischen der Verifizierungsfunktion und der Signum-Funktion
bzw. Sign-Funktion
ist gemäß dem PKC
unter Verwendung eines Verfahrens für Verschlüsselung und Entschlüsselung
mit den in Verbindung stehenden Keys.
-
In
der weiteren Ausführungsform
des Empfänger-Systems
ist eine Länge
eines Public-Keys der Sequenz länger
als eine Länge
eines vorherigen Public-Keys der Sequenz. Auch ist ein PKC-Verfahren, mit
dem ein Public-Key eines empfangenen Datensatzes anwendbar ist,
von einem PKC Verfahren verschieden, mit dem ein weiterer Public-Key
eines weiteren empfangenen Datensatzes anwendbar ist. Beide Merkmale
erhöhen
das Sicherheitsniveau für
die Public-Keys, die eine Gesamtlebensdauer der Sequenz berücksichtigen.
-
3 zeigt
Daten und Beziehungen zwischen den Daten entsprechend beispielhaften
Ausführungsformen
der Erfindung. Ein erstes Teil 310 der Daten und der Beziehungen
hängen
mit einer Sequenz von zwei Public-Keys zusammen, die von einer Ausführungsform
des Provider-Systems bereitgestellt werden und durch eine Ausführungsform
des Empfänger-Systems
empfangen sind. Der erste Datensatz 311 enthält einen
ersten Public-Key PuK(1), Updatedaten UD(1) und einen Prüfwert PV(1).
Die Ausführungsformen
des ersten Teils 310 verwenden keinen Signaturwert für das Bereitstellen
eines zusätzlichen
Sicherheitsniveaus. Gemäß der Ausführungsform
des Empfänger-Systems
kann der erste Public-Key durch eine Weise authentisiert werden, die
einem Fachmann bekannt ist. Dies kann zum Beispiel unter Verwendung
eines weiteren Kommunikationskanals ausgeführt werden, die Authentizität des Public-Keys
PuK(1) sowie von UD(1) und PV(1) zu überprüfen. Ein zweiter Datensatz 312 stellt
nur einen zweiten Public-Key PuK(2) bereit, weil der PuK(2) der
letzte Public-Key der Sequenz ist. Der zweite Public-Key PuK(2)
ist für
eine Authentifizierungs-Überprüfung 313 gemäß den Ausführungsformen
verfügbar.
Die Authentifizierungs-Überprüfung 313 enthält einen
Vergleich des PV(1) mit einem Wert H, der ein Ergebnis des Anwendens
der Hash-Funktion auf den zweiten Public-Key PuK(2) ist. Im Fall, dass
die Authentifizierungs-Überprüfung versagt,
d. h. der Vergleich einen Unterschied zwischen PV(1) und H aufdeckt,
kann PuK(2) als unsicher betrachtet werden. Ein Beteiligter, welcher
das Empfänger-System
verwendet, kann mit einem Beteiligten unter Verwendung des Provider-Systems
Kontakt aufnehmen und sie können
zustimmen, wie man mit dem PKC-Verfahren fortfährt. Ein Grund für das Versagen der Überprüfung kann
nachgesucht werden, oder eine neue Sequenz der Public- und Private-Key
kann erzeugt werden, um mit dem PKC Verfahren fortzufahren.
-
Ein
zweiter Teil 320 der Daten und die Beziehungen hängen mit
einer Sequenz n der Public-Keys gemäß den Ausführungsformen zusammen. Ein
Teil der Prüfwerte
werden angezeigt und wie Prüfwerte des
Teils mit nachfolgenden Prüfwerten
zusammenhängen.
Als ein Beispiel hängt
der erste Prüfwert PV(1)
vom zweiten Prüfwert
PV(2) ab, der wiederum vom Prüfwert
PV(3) abhängt.
Dafür hängt der
erste Prüfwert
von nachfolgenden Prüfwerten
bis zu Prüfwert
PV(n – 1)
ab. Dies bedeutet, dass vor dem Bereitstellen eines ersten Datensatzes 321 Public-Keys und
Updatedaten der nachfolgenden Datensätze vorhanden sind. Nach dem
ersten Datensatz 321 wird ein zweiter Datensatz 322 entsprechend
bereitgestellt und empfangen. Ein zweiter Public-Key PuK(2) kann
durch Authentifizierungs-Überprüfung 323 authentisiert
werden, die den ersten Prüfwert
PV(1) mit einem Wert vergleicht, indem durch Anwenden einer Hash-Funktion
auf den zweiten Datensatz 322 berechnet wird. Nachfolgende
Datensätze
sind auf eine Authentifizierungs-Überprüfung anwendbar. Dies wird für Datensätze mit
Zahl (i + 1) 324 gezeigt, mit der ein Public-Key PuK(i
+ 1) durch eine Authentifizierungs-Überprüfung 325 authentisiert
wird. Ein letzter Datensatz 326 ent hält einen Public-Key PuK(n),
der in einer Authentifizierungs-Überprüfung 327 überprüft wird.
Die Daten, wenn Datensätze
bereitgestellt werden, und die Daten, wenn Public-Keys vorherige
Public-Keys ersetzen, können
vor dem Bereitstellen des ersten Datensatzes 321 festgelegt werden.
Jedoch kann es an einem späteren
Zeitpunkt gewünscht
werden, vom Zeitplan abzuweichen. Als ein Beispiel kann es sein,
dass die Public-Keyzahl i = 42 für
das PKC Verfahren verwendet wird, aber dass ein nächster Public-Key,
der für
das PKC Verfahren verwendet wird, gewünscht wird, um die Public-Keyzahl
i = 100 zu sein. Ein Grund kann sein, dass die Public-Keyzahl i
= 100 länger
und folglich sicherer als vorangehende Public-Keys ist. In einem
solchen Fall können
Datensätze,
einschließlich Public-Keys
mit der Zahl i = 42 bis i = 100, in einem kurzen Zeitabschnitt der
Reihe nach bereitgestellt werden, damit Public-Keys mit der Zahl
i = 43 bis i = 99 für
das PKC-Verfahren nicht erreicht werden. Effektiv werden Public-Keys
für das
PKC Verfahren von der Zahl i = 42 bis i = 100, falls erwünscht, geändert. Dies
kann auch erreicht werden, indem man die Datensätze, einschließlich Public-Keys
mit der Zahl i = 42 zu i = 100, in eine Message setzt und die eine Message
zum Empfänger-System
zur Verfügung stellt.
Das Empfänger-System kann die Datensätze der
Reihe nach überprüfen, die
in einer Message gemäß einer
Ausführungsform
der Erfindung eingeschlossen sind.
-
4 zeigt
weitere Beispiele 330 von Daten und von Beziehungen zwischen
Daten gemäß Ausführungsformen
der Erfindung. Die Daten und die Beziehungen enthalten einen Signaturwert
und können auch
Beispiele von Daten gemäß der Ausführungsform
des Provider-Systems (siehe 2A) und
zur Ausführungsform
des Empfänger-Systems
(siehe 2B) sein. Die Daten und Beziehungen
gehören einem
Teil 330, der mit einer Übertragung einer Sequenz von
zwei Public-Keys zusammenhängt.
Ein erster Datensatz enthält
einen Public-Key PuK(1), Updatedaten UD(1) und einen Prüfwert PV(1).
Der erste Datensatz wird mit einem Signaturwert SV(1) versehen.
Eine Verbindung 331 zwischen dem ersten Datensatz und dem
Signaturwert SV(1) kann implementiert werden, sodass der erste Datensatz
und der Signaturwert SV(1) in eine Message gesetzt werden. Eine
erste Authentifizierungs-Überprüfung 332 enthält einen
Vergleich eines ersten Test-Hash-Wertes, der durch Anwenden einer
Hash-Funktion auf den ersten Datensatz mit einem ersten Original-Wert berechnet wird.
Der erste Original-Wert wird berechnet, indem man eine Verifizierungsfunktion
mit dem ersten Private-Key auf den ersten Signaturwert SV(1) an wendet.
Eine zweite Assoziation 333 enthält einen zweiten Datensatz
und einen zweiten Signaturwert SV(2). Eine zweite Authentifizierungs-Überprüfung 334 enthält zwei
Vergleiche. Ein Vergleich überprüft die Authentizität eines
zweiten Keys PuK(2) unter Verwendung des ersten Prüfwerts PV(1)
und ein weiterer Vergleich unter Verwendung der Verifizierungsfunktion
mit dem zweiten Public-Key PuK(2).
-
5 ist
ein vereinfachtes Fließdiagramm von
einem Verfahren 400 gemäß der Erfindung.
Das Verfahren 400 ist ein Computer-implementiertes Verfahren
für das
Bereitstellen der Sequenz der Public-Keys zum Empfänger-System.
Das Verfahren 400 enthält
das Provider-System, das 410 die Sequenz der Public-Keys
erzeugt und 420 einen Datensatz zum Empfänger-System
bereitstellt. Der Datensatz enthält
einen Public-Key der Sequenz, die einen nachfolgenden Public-Key
in der Sequenz und in einem Prüfwert
hat, der ein Ergebnis des Anwendens einer Hash-Funktion an einem
nachfolgenden Datensatz ist. Das Verfahren enthält weiterhin das Bereitstellen 430 des
nachfolgenden Datensatzes zum Empfänger-System, des nachfolgenden
Datensatzes, einschließlich
des nachfolgenden Public-Keys. In einem Beispiel kann der nachfolgende
Datensatz weiterhin einen nachfolgenden Prüfwert enthalten. Der nachfolgende
Prüfwert
ist ein Ergebnis des Anwendens der Hash-Funktion auf einen weiter
folgenden Datensatz, einschließlich
eines weiter nachfolgenden Public-Keys in der Sequenz. In dem Beispiel ist
der nachfolgende Prüfwert
enthalten, weil der nachfolgende Public-Key den weiter nachfolgenden Public-Key,
der in der Sequenz folgt, aufweist. Das Verfahren 400 enthält weiterhin
einen wahlweisen Verfahrensschritt, der 440 einen Signaturwert
für den Datensatz
bereitstellt. Die wahlweisen Verfahrensschritte in 5 und 6 werden
durch gestrichelte Linien dargestellt. Der Signaturwert ist ein
Ergebnis des Anwendens eines PKC Verfahrens mit einem Private-Key
auf ein Ergebnis der Hash-Funktion, die auf den Datensatz angewendet
worden ist. Der Private-Key hängt
mit dem Public-Keys der Datensätze zusammen.
In dem Verfahren 400 enthält ein weiterer wahlweiser
Verfahrensschritt, dass das Bereitstellen für einen weiteren Datensatz
wiederholt wird. Der weitere Datensatz enthält einen weiteren Public-Key, der
vorher bereitgestellten Public-Keys in der Sequenz folgt. Außerdem enthält der nachfolgende
Datensatz den nachfolgenden Prüfwert,
der ein Ergebnis des Anwendens einer Hash-Funktion auf den weiteren
Datensatz ist. In einem Beispiel kann der weitere Datensatz einen
weiteren Prüfwert
weiter enthalten. Der weitere Prüfwert
ist ein Ergebnis des Anwendens der Hash- Funktion auf einen Datensatz, einschließlich eines
weiteren Public-Keys nach dem weiteren Key in der Sequenz. In dem
Beispiel ist der weitere Prüfwert
enthalten, weil der weitere Public-Key den weiteren Public-Key hat,
der in der Sequenz nachfolgt. Der wahlweise Verfahrensschritt des
Bereitstellens der weiteren Datensätze wird implementiert, indem
man 452 eine Bedingung überprüft, wenn
ein weiterer Public-Key
in der Sequenz folgt. Wenn die Bedingung erfüllt wird, werden Verfahrensschritte 430 und 440 wiederholt.
Zeitpunkte, an denen die Verfahrensschritte vor dem Bereitstellen
eines ersten Datensatzes wiederholt werden, einschließlich eines
ersten Public-Keys der Sequenz, können festgelegt werden. Perioden
zwischen den Zeitpunkten können
zum Beispiel ein Monat sein.
-
In
der Ausführungsform
schließen
die bereitgestellten Datensätze
weiterhin Updatedaten ein, die Daten, die auf dem Authentifizieren
der bereitgestellten Public-Keys basieren, enthalten. Solche Updatedaten
können
zum Beispiel einen Identifizierer des PKC Verfahrens und einen Identifizierer
der Hash-Funktion enthalten. Wie es durch einen Fachmann eingeschätzt werden
kann, können
die Verfahrensschritte von Verfahren 400 in einer anderen
Reihenfolge durchgeführt
werden. Zum Beispiel kann unter Bereitstellen von 440 der
Signaturwert vor dem Bereitstellen von 430 des nachfolgenden
Datensatzes durchgeführt
werden.
-
6 ist
ein vereinfachtes Fließdiagramm von
einem weiteren Verfahren 500 gemäß der Erfindung. Das Verfahren 500 stellt
ein Computer-implementiertes Verfahren für das Authentifizieren der
Public-Keys der Sequenz von den Public-Keys dar, die vom Provider-System
empfangen werden. Die Ausführungsform
enthält
das Empfänger-System, das 510 einen
Datensatz empfängt,
der einen Public-Key enthält,
der einen nachfolgenden Public-Key in der Sequenz hat und der einen
Prüfwert
enthält,
der ein Ergebnis einer Hash-Funktion ist. Die Ausführungsform
enthält
weiterhin unter Empfangen von 520 einen folgenden Datensatz,
der den nachfolgenden Public-Key enthält. In einem Beispiel kann
der nachfolgende Datensatz weiterhin einen nachfolgenden Prüfwert enthalten,
der ein Ergebnis der Hash-Funktion ist. Der Prüfwert kann enthalten sein,
wenn der nachfolgende Public-Key einen weiteren nachfolgenden Public-Key
hat, der in der Sequenz folgt. Die Ausführungsform enthält das Berechnen 530 eines Test-Hash-Werts,
indem sie die Hash-Funktion auf den nachfolgenden Datensatz und
Authentifizieren 540 des nachfolgenden Public-Keys anwendet.
-
Das
Authentifizieren 540 wird von dem nachfolgenden Key ausgeführt, indem
man den Prüfwert der
Datensätze
mit dem Test-Hash-Wert vergleicht, wobei eine Identität des Prüfwertes
und des Test Hash-Wertes ein positives Authentifizierungs-Ergebnis
ist. Die Ausführungsform
enthält
weiterhin die wahlweisen Verfahrensschritte Empfangen 550 eines Signaturwerts
für den
nachfolgenden Datensatz und Berechnen 560 eines Original-Werts
von dem Signaturwert, durch Anwenden eines Public-Key-Kryptographie-Verfahrens
mit einem Public-Key des nachfolgenden Datensatzes, und Authentifizieren 570 des nachfolgenden
Public-Keys unter Verwendung eines weiteren Vergleichs. Das Authentifizieren 570 unter Anwendung
des weiteren Vergleichs wird ausgeführt, indem man weiter den berechneten
Original-Wert mit dem Test-Hash-Wert des nachfolgenden Datensatzes
vergleicht. Ein positives Authentifizierungsergebnis bedeutet, dass
die Verfahrensschritte, die Authentifizieren 540 und Authentifizieren 570 Identitäten der
verglichenen Werte ergeben.
-
Das
Verfahren 500 enthält
weiterhin, dass die nachfolgenden Schritte wiederholt werden: Empfangen
eines weiteren Datensatzes, einschließlich eines weiteren Public-Keys,
Berechnen eines weiteren Test-Hash-Werts durch das Anwenden einer Hash-Funktion
auf den weiteren Datensatz und das Authentifizieren des weiteren
Public-Keys. Außerdem
enthält
der nachfolgende weitere Datensatz einen nachfolgenden Prüfwert, der
für das
Authentifizieren des weiteren Public-Keys verwendet werden kann.
In einem Beispiel können
Wiederholungen der Schritte mehrere Male ausgeführt werden. Im Allgemeinen
kann das Authentifizieren 540 ausgeführt werden, indem man einen
vorherigen Prüfwert
vergleicht, der in einem vorherigen Datensatz mit einem Test-Hash-Wert
eingeschlossen ist, der von einem gegenwärtigen Datensatz berechnet
wird. Der vorherige Datensatz enthält einen vorherigen Public-Key in der Sequenz
und der gegenwärtige
Datensatz enthält
einen gegenwärtigen
Public-Key, der dem vorherigen Public-Key in der Sequenz folgt.
Außerdem
enthält
das Verfahren 500 das Authentifizieren 570 des weiteren
Public-Keys durch Vergleichen eines weiteren Original-Werts, der
durch Anwenden der Verifizierungsfunktion auf den weiteren Signaturwert
berechnet wird. Der weitere Verfahrensschritt des Wiederholens wird
in Verfahren 500 implementiert, durch Überprüfen 482 einer Bedingung,
wenn ein weiterer Public-Key in der Sequenz folgt. Folglich wird
auch Authentifizieren 570 durch den weiteren Vergleich wiederholt.
Eine Identität
des Prüfwertes
und der Test-Hash-Wert und eine Identität des Original-Wertes und des
Test Hash-Wertes ist ein positives Authentifizierungsergebnis. Der
weitere Prüfwert
ist in dem Fall enthalten, dass der weitere Public-Key einen weiterhin
Public-Key hat, der in der Sequenz folgt. In der Ausführungsform
enthält
der empfangene Datensatz weiterhin Updatedaten, die die Daten enthalten,
die auf dem Authentifizieren der Public-Keys der empfangenen Datensätze basieren. Solche
Daten können
zum Beispiel eine Identifizierung des Public-Key-Kryptographie-Verfahrens
und eine Identifizierung der Hash-Funktion enthalten. Wie es vom
Fachmann geschätzt
werden kann, können Verfahrensschritte
von Verfahren 500 in einer anderen Reihenfolge durchgeführt werden.
Zum Beispiel kann Empfangen 550 des Signaturwerts vor dem Empfangen 520 des
nachfolgenden Datensatzes durchgeführt werden.
-
Eine
weitere Ausführungsform
der Erfindung ist ein Computerprogramm-Produkt, einschließlich Anweisungen,
die durch ein Computersystem ausführbar sind und die das Computersystem
veranlassen, Verfahrensschritte des Verfahrens 400 für das Bereitstellen
der Sequenz durchzuführen.
In einem weiteren Beispiel kann das Computerprogramm-Produkt die
Anweisungen enthalten, die auf Verfahrensschritten von einem weiteren
Verfahren für
das Bereitstellen der Sequenz basieren. Eine weitere Ausführungsform
ist ein weiteres Computerprogramm-Produkt, einschließlich Anweisungen,
die durch ein Computersystem ausführbar sind und die das Computersystem
veranlassen, Verfahrensschritte des Verfahrens 500 für das Authentifizieren
der Public-Keys durchzuführen.
In einem weiteren Beispiel kann das weitere Computerprogramm-Produkt die
Anweisungen enthalten, die auf Verfahrensschritten einer weiteren
Ausführungsform
für das
Authentifizieren der Public-Keys basieren.
-
Ein
Beispiel für
ein PKC Verfahren hängt
mit den Zertifikaten zusammen, die durch eine Zertifizierungs-Authorität ausgestellt
werden. In dem Beispiel enthält
das Zertifikat eine Identität
von einem Beteiligten, einen Public-Key, der für den Beteiligten herausgegeben
wurde, und eine Signatur der Zertifizierungs-Authorität. Der Beteiligte
kann zum Beispiel eine Person, eine Organisation oder ein Server
sein. In dem Beispiel wird die Signatur im Rahmen bzw. im System
einer PKC-signierenden Anwendung erzeugt, d. h. die Signatur ist
berechnet worden, indem man die Identität des Beteiligten und des Public-Keys mit
einem Private-Key verschlüsselt.
Die Signatur ermöglicht
einem weiteren Beteiligten, welcher das Zertifikat empfängt, um
eine Authentizität
einer Verbindung zwischen dem Public-Key und der Identität von dem
Zer tifikat zu überprüfen. Unter
der Annahme, dass der Public-Key authentisch ist, kann der weitere
Beteiligte folglich die Identität überprüfen. Paare
der Private- und in Verbindung stehenden Public-Keys für eine solche
Anwendung durch die Zertifizierungs-Authorität werden auch Root-Keys genannt.
Der weitere Beteiligte, der wünscht,
die Authentizität
zu überprüfen, benötigt die
Public-Keys der Root-Keys, die in einer sicheren Weise bereitgestellt
werden. Der weitere Beteiligte kann zum Beispiel ein sicherer (HTTPS)
Server des Hypertexttransferprotokolls sein, der bei Bank-Transaktionen benutzt
wird. In dem Beispiel müssen
Public-Keys der Root-Keys der Zertifizierungs-Authorität zu vielen weiteren
Beteiligten in einer Weise, die so sicher wie möglich ist, und in einer automatisierten
Weise verbreitet werden. Außerdem
ist Ersetzen von einem Public-Key der Root-Keys mit einem zukünftigen
Public-Key der Root-Keys erwünscht,
um sicher und auch automatisiert zu sein. Als ein Beispiel kann
die Zertifizierungs-Authorität 1000 Root-Keys
erzeugen, um sie für
Zertifikate für
die nächsten
15 Jahre zu verwenden. Der erste Datensatz mit dem ersten funktionsfähigen Public-Key
kann in einer etablierten Weise verteilt werden, zum Beispiel durch
Markenkennzeichnung auf einer Smart-Card und Verteilen der Smart-Card.
-
Wie
vorstehend angemerkt, schließen
Ausführungsformen
innerhalb des Umfangs der vorliegenden Erfindung Computerprogramm-Produkte
ein. Die Computerprogramm-Produkte schließen Computer-lesbare Medien
für das
Tragen oder Aufweisen der Computer-ausführbaren Anweisungen, d. h.
Anweisungen, die durch ein Computersystem oder für die tragenden Datenstrukturen
ausführbar
sind, die darauf gespeichert werden, ein. Solche Computer-lesbare
Medien können
alle verfügbaren
Medien sein, die durch einen All-Zweck- oder Spezial-Computer zugänglich sein
können.
Beispielsweise können
solche Computer-lesbare Medien RAM, ROM, EPROM, EEPROM, CD-ROM oder
andere optische Disk-Speicher, Magnet-Disk-Speicher oder andere magnetische Speichervorrichtungen
oder jedes andere Medium umfassen, das verwendet werden kann, um
gewünschte
Programmcodes in Form von Computer-ausführbaren Anweisungen oder Datenstrukturen
zu tragen oder zu speichern und auf die durch einen All-Zweck- oder
Spezial-Computer zugegriffen werden kann. Wenn Informationen über ein Netzwerk
oder einen anderen Kommunikations-Anschluss (entweder fest verdrahtet,
drahtlos oder einer Kombination von fest verdrahtet oder drahtlos)
zu einem Computer übertragen
oder bereitgestellt werden, sieht der Computer geeigneterweise die
Verbindung als Computer lesbares Medium an. So wird jede solche Verbindung
geeigneterweise ein Computer-lesbares Medium genannt. Kombinationen
von dem vorstehend Genannten sollen auch in den Umfang der Computer-lesbaren
Medien eingeschlossen werden. Computer-ausführbare Anweisungen schließen zum
Beispiel Anweisungen und Daten ein, die einen All-Zweck-Computer,
einen Spezial-Computer oder eine Spezial-Processing-Vorrichtung veranlassen,
eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Außerdem schließen Computer-ausführbare Anweisungen
zum Beispiel Anweisungen ein, die durch einen Computer verarbeitet werden
müssen,
um die Anweisungen in ein Format zu transformieren, das durch einen
Computer ausführbar
ist. Die Computer-ausführbaren
Anweisungen können
in einem Quellformat sein, das kompiliert oder interpretiert wird,
um die Anweisungen im ausführbaren
Format zu erhalten. Falls die Computer-ausführbaren Anweisungen transformiert
werden, kann zum Beispiel ein erster Computer die Computer-ausführbaren
Anweisungen in das ausführbare Format
umwandeln und ein zweiter Computer kann die transformierten Anweisungen
durchführen.
-
Die
Erfindung wird im allgemeinen Zusammenhang mit den Verfahrensschritten
beschrieben, die in einer Ausführungsform
durch ein Computerprogramm-Produkt, einschließlich Computer-ausführbare Anweisungen,
wie Programmcode, ausgeführt durch
Computer in den vernetzten Umgebungen, implementiert werden können. Im
Allgemeinen schließen
Programmmodule zum Beispiel Routinen, Programme, Gegenstände, Komponenten
oder Datenstrukturen ein, die bestimmte Aufgaben durchführen oder
bestimmte abstrakte Datenarten implementieren. Computer-ausführbare Anweisungen,
verbundene Datenstrukturen und Programmmodule stellen Beispiele
von Programmcodes für
die Ausführung der
Schritte der hierin offenbarten Verfahren dar. Die bestimmte Sequenz
solcher ausführbarer
Anweisungen oder verbundener Datenstrukturen stellt Beispiele der
entsprechenden Aktionen zum Implementieren der in solchen Schritten
beschriebenen Funktionen dar.
-
Die
vorliegende Erfindung kann in einigen Ausführungsformen in einer Netzwerk-Umgebung mit logischen
Verbindungen zu einem oder mehreren Remote-Computern, die Prozessoren
haben, bearbeitet werden. Logische Verknüpfungen können zum Beispiel ein lokales
Flächen-Netzwerk
(LAN) und ein Fernnetz (WAN) enthalten. Die Beispiele werden hier mittels
Beispiel und nicht als Beschränkung
wiedergege ben. Solche Netzwerk-Umgebungen sind alltägliche Büro-weite
oder Unternehmensweite Computernetze, Intranets und das Internet.
Fachleute werden einschätzen,
dass solche Netzwerk-Rechenumgebung typischerweise viele Arten von
Computersystemkonfigurationen, einschließlich PCs, Handvorrichtungen,
Mehrprozessorsysteme, mikroprozessorgesteuerte oder programmierbare
Verbraucherelektronik, Netz PCs, Minicomputer, Zentralrechner und dergleichen
umfassen. Die Erfindung kann auch in verteilten Rechenumgebungen
ausgeübt
werden, wo Aufgaben durch lokale und Remote-Processing-Vorrichtungen
durchgeführt
werden, die (entweder fest verdrahtete Verbindungen, drahtlose Verbindungen oder
durch eine Kombination der fest verdrahteten oder drahtlosen Verbindungen)
durch ein Kommunikationsnetz verbunden werden. In einer Distributed Computing
Environment können
Programmmodule in den lokalen und Remote-Memory-Speichervorrichtungen
errichtet werden.
-
Ein
beispielhaftes System für
das Implementieren des Gesamtsystems oder Teile der Erfindung könnte eine
Allzweck-Computer-Vorrichtung in Form eines herkömmlichen Computers, einschließlich einer
Verarbeitungs-Einheit, eines System-Speichers und eines System-Busses,
der verschiedene dieser System-Komponenten, einschließlich den
System-Speicher zu der Verarbeitungs-Einheit koppelt, enthalten.
Der System-Speicher
kann Read-only-Memory (ROM) und Random Access-Memory (RAM) enthalten.
Der Computer kann auch ein magnetisches Festplattenlaufwerk zum
Lesen von und Schreiben auf eine magnetische Festplatte, ein magnetisches
Laufwerk zum Lesen von und Schreiben auf eine Wechsel-Magnet-Disk
und ein optisches Laufwerk zum Lesen von und Schreiben auf eine
optischen Wechsel-Disk, wie eine CD-ROM oder ein anderes optisches
Medien, enthalten. Die Antriebe und ihre verbundenen Computer-lesbaren
Medien stellen permanente Speicher der Computerausführbaren
Anweisungen, der Datenstrukturen, der Programmmodule und anderer
Daten für
den Computer bereit.
-
Software-
und Netz-Implementierungen der vorliegenden Erfindung könnten mit
Programmierungs-Standardtechniken mit regelbasierender Logik und
anderer Logik ausgeführt
werden, um die verschiedene Datenbank-Such-Schritte, Wechselbeziehungschritte,
Vergleichsschritte und Entscheidungs-Schritte auszuführen. Es
sollte auch angemerkt werden, dass das Wort "Komponente", wie hierin und in den Ansprüchen verwendet,
vorgesehen ist, Implementierungen unter Verwendung einer oder mehrerer
Zeilen von Software-Code zu umfassen, und/oder Hardwareimplementierungen
und/oder Ausrüstung
für das
Empfangen der manuellen Eingänge
zu umfassen.
-
Die
vorangehende Beschreibung der Ausführungsformen der Erfindung
ist zu Erläuterungszwecken
und zur Beschreibung wiedergegeben worden. Sie ist nicht als abschließend oder
die Erfindung auf die exakte offenbarte Form zu begrenzen, vorgesehen
und Modifizierungen und Variationen sind im Lichte der vorstehend
genannten Lehren möglich oder
können
bei der Ausführung
der Erfindung erworben werden. Die Ausführungsformen wurden ausgewählt und
beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung zu erläutern, um
dem Fachmann zu ermöglichen,
die Erfindung in den verschiedenen Ausführungsformen und mit verschiedenen
Modifizierungen so zu verwenden, dass sie für den bestimmten vorgesehenen
Gebrauch geeignet sind.