DE60127516T2 - Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift - Google Patents

Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift Download PDF

Info

Publication number
DE60127516T2
DE60127516T2 DE60127516T DE60127516T DE60127516T2 DE 60127516 T2 DE60127516 T2 DE 60127516T2 DE 60127516 T DE60127516 T DE 60127516T DE 60127516 T DE60127516 T DE 60127516T DE 60127516 T2 DE60127516 T2 DE 60127516T2
Authority
DE
Germany
Prior art keywords
signature
generating
computer
history data
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60127516T
Other languages
English (en)
Other versions
DE60127516D1 (de
Inventor
Kunihiko 1-chome Chiyoda-ku Miyazaki
Ryoichi 1-chome Chiyoda-ku Sasaki
Kazuo 1-chome Chiyoda-ku Takaragi
Seiichi 1-chome Chiyoda-ku Susaki
Hisanori 1-chome Chiyoda-ku Mishima
Takeshi 1-chome Chiyoda-ku Matsuki
Kunihito 1-chome Chiyoda-ku Takeuchi
Mitsuru Iwamura
Tsutomu Yokohama-shi MATSUMOTO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE60127516D1 publication Critical patent/DE60127516D1/de
Publication of DE60127516T2 publication Critical patent/DE60127516T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die Erfindung betrifft eine Technologie, um die Echtheit von Multimediadaten zu gewährleisten.
  • Die Technologie mit digitaler Signatur stellt eine Funktion bereit, die herkömmlichen Signaturen für elektronische, digitalisierte Daten, wie Dokumenten (auch als Multimediadaten bezeichnet) entspricht.
  • Bei der Technologie mit digitaler Signatur wendet ein digitaler Signaturgenerator einen privaten Schlüssel, den der Generator geheimhält, auf digitalisierte, zu unterzeichnende Daten (nachfolgend als Nachricht bezeichnet) M oder einen Hashwert derselben an, wobei es sich bei diesem um einen für die Nachricht charakteristischen Wert handelt (auch als Kompressionswert oder Nachricht-Überblick bezeichnet). Daraus wird eine digitale Signatur A für die Nachricht M erzeugt. Die digitale Signatur A wird dann zur Nachricht M hinzugefügt und öffentlich gemacht. Eine Verifiziereinrichtung für die digitale Signatur vergleicht die Nachricht M oder deren Hashwert mit einem Ergebnis, das dadurch erhalten wird, dass ein dem privaten Schlüssel entsprechender öffentlicher Schlüssel auf die zur Nachricht M hinzugefügte digitale Signatur A angewandt wird. Wenn die beiden nicht übereinstimmen, ist es möglich, dass die Nachricht M gefälscht wurde, nachdem die digitale Signatur A erzeugt wurde. Demgemäß ist, wenn die beiden übereinstimmen, bestätigt, dass die digitale Signatur A für die Nachricht M erzeugt wurde.
  • Es existiert auch eine als Zeitmarkierung bekannte Technik, die digitale Signaturen dazu verwendet, zu garantieren, dass eine Nachricht zu einem bestimmten Zeitpunkt existierte. Bei dieser Technik wird für Daten, die dadurch erzeugt werden, dass die Nachricht und die aktuelle Zeitinformation kombiniert wird, eine digitale Signatur erzeugt. Dies garantiert, dass die Nachricht zu diesem speziellen Zeitpunkt existierte.
  • Es wurde eine "Schwellenwertsignatur"technologie vorgeschlagen, die es ermöglicht, Operationen selbst dann sicher fortzusetzen, wenn einige Vorrichtungen aufgrund von Fehlfunktionen oder dergleichen unbrauchbar wurden. Bei dieser Technologie arbeiten mehrere Einheiten zusammen, um eine Signatur zu erzeugen. Wenn eine feste Anzahl von Einheiten verfügbar ist, kann eine Signatur erzeugt werden, aber andernfalls ist es nicht möglich, eine Signatur korrekt zu erzeugen.
  • Ferner wurde eine Technologie vorgeschlagen, die inkorrekte Vorgehensweisen verhindert, wie Fälle, bei denen der digitale Signaturgenerator selbst die Nachricht fälscht, eine neue digitale Signatur erzeugt und die ursprüngliche Nachricht und die digitale Signatur ersetzt.
  • Bei dieser Technologie erzeugt der digitale Signaturgenerator dadurch eine digitale Signatur An für eine Nachricht Mn, dass er einen privaten Schlüssel, der geheimgehalten wird, auf Folgendes anwendet: die zu signierende Nachricht Mn oder einen Hashwert derselben; Daten betreffend die Erzeugung einer digitalen Signatur An-1; und Zeitdaten. Im Ergebnis spiegelt die nach der digitalen Signatur An erzeugte digitale Signatur An+1 Daten in Bezug auf die zuvor erzeugte digitale Signatur An wider. Wenn der digitale Signaturgenerator selbst Mn fälscht, eine neue digitale Signatur An erzeugt und diese dazu verwendet, die ursprüngliche Nachricht Mn und die digitale Signatur An zu ersetzen, kommt es zu einer Fehlübereinstimmung mit der digitalen Signatur An+1.
  • Die oben beschriebene Technik zum Verhindern einer inkorrekten Vorgehensweise berücksichtigt nicht die Technologie, gemäß der mehrere Vorrichtungen zusammenarbeiten, um Signaturen zu erzeugen. Es ist eine Kombination dieser Technologien wünschenswert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Durch die Erfindung ist eine Technologie geschaffen, die auf zuverlässige Weise inkorrekte Vorgehensweisen selbst dann verhindert, wenn mehrere Vorrichtungen zusammenarbeiten, um digitale Signaturen zu erzeugen.
  • Durch die Erfindung ist auch ein Verfahren geschaffen, bei dem zuvor erzeugte Signaturen wieder auftreten und bei dem nicht alle Vorrichtungen benötigt werden, wenn Signaturen erzeugt werden.
  • Durch die Erfindung ist auch eine Technologie geschaffen, die auf zuverlässige Weise inkorrekte Vorgehensweisen selbst dann verhindert, wenn die Daten in Zusammenhang mit der Erzeugung der digitalen Signatur An, wie sie auch zum Erzeugen der digitalen Signatur An+1 verwendet werden, aus irgendeinem Grund verloren gehen.
  • Anders gesagt, ist, wenn ein Abschnitt von eine Kette bildenden Signaturdaten verloren wird, durch die Erfindung ein Verfahren oder ein System geschaffen, das die sequenzielle Beziehung zwischen den Signaturdaten mit Ausnahme der verlorenen Daten garantiert.
  • Durch die Erfindung ist auch ein Dienstesystem geschaffen, das das oben beschriebene Verfahren und die dabei verwendeten Vorrichtungen oder ein Programm verwendet, das die zugehörigen Funktionen funktionsmäßig implementiert.
  • Gemäß der Erfindung existiert, wenn Signaturen durch mehrere Vorrichtungen erzeugt werden, mindestens eine Signaturerzeugungsvorrichtung, die in fortlaufende Signaturerzeugungsoperationen einbezogen ist.
  • Genauer gesagt, werden Daten, die in eine durch die mehreren Vorrichtungen erzeugte Signatur einbezogen sind und die bei der Erzeugung der nächsten Signatur verwendet werden, unabhängig davon, ob sie in das Erzeugen der Signatur einbezogen waren oder nicht, in allen Signaturerzeugungsvorrichtungen gespeichert. Diese Daten können auch dadurch gemeinsam genutzt werden, dass sie an einem sicheren Ort abgespeichert werden und dass alle Signaturerzeugungsvorrichtungen auf sichere Weise auf sie zugreifen können.
  • Durch diese Implementierung speichern diese Signaturerzeugungsvorrichtungen, unabhängig davon, welche Kombinationen derselben zum Erzeugen einer Signatur verwendet werden, Daten betreffend die vorige Signaturerzeugungsoperation.
  • Auch kann die Erfindung so ausgebildet werden, dass dann, wenn eine Signatur erzeugt wird, mehrere Daten in Zusammenhang mit zuvor erzeugten Signaturen verwendet werden, so dass eine Kette (sequenzielle Beziehungen) zwischen einzelnen Signaturen sichergestellt werden kann. Im Ergebnis können, wenn ein Teil der Kette aufgrund eines Datenverlustes, des Vorhandenseins einer unberechtigten Partei oder dergleichen nicht aufgeklärt werden kann, die anderen Verknüpfungen geklärt werden, so dass ein Stören der Kette von Signaturen, die sich aus der Vergangenheit bis zur Gegenwart erstrecken, erschwert ist.
  • Gemäß der Erfindung sind Techniken, einschließlich eines Verfahrens und eines Systems, zum Erzeugen digitaler Signaturen unter Verwendung von n Vorrichtungen und zum Verifizieren der digitalen Signaturen geschaffen.
  • Durch eine Ausführungsform der Erfindung ist ein Verfahren zum sequenziellen Erzeugen digitaler Signaturen unter Verwendung von n Vorrichtungen geschaffen, von denen jede mit einem Signaturgenerator versehen ist.
  • Das Verfahren beinhaltet Folgendes: Erzeugen einer Verlaufsdateneinheit j, wenn eine j-te digitale Signatur erzeugt wird (j ≥ 1); Speichern in m Vorrichtungen (1 ≤ m ≤ n) der n Vorrichtungen, die in eine i-te Operation zum Erzeugen einer digitalen Signatur einbezogen sind, der Verlaufsdaten j; und Erzeugen einer i-ten digitalen Signatur i unter Verwendung mindestens einer der L (1 ≤ L > i) gespeicherten Verlaufsdateneinheiten j1–jL.
  • Bei diesem Verfahren können die Verlaufsdaten j entweder die bei der j-ten Signaturerzeugungsoperation erzeugte digitale Signatur j sein, oder Daten, wie sie verwendet werden, wenn die digitale Signatur j durch die j-te Signaturerzeugungsoperation erzeugt wird.
  • Bei diesem Verfahren können die Verlaufsdaten j in einer der m Vorrichtungen erzeugt werden, die in eine i-te digitale Signaturerzeugungsoperation einbezogen sind.
  • Bei einer weiteren Ausführungsform der Erfindung kann das Verfahren zum Erzeugen digitaler Signaturen Folgendes beinhalten Senden der zuletzt gespeicherten Verlaufsdaten an m – 1 andere Vorrichtungen; Auswählen der jüngsten Verlaufsdaten aus m Einheiten von Verlaufsdaten, die aus m – 1 Einheiten von Verlaufsdaten, wie sie durch die m – 1 anderen Vorrichtungen gesendet wurden, und den zuletzt lokal gespeicherten Verlaufsdaten bestehen; und verwenden der jüngsten Verlaufsdaten als eine von Verlaufsdaten, wenn die i-te digitale Signatur erzeugt wird.
  • Bei einer weiteren Ausführungsform der Erfindung können die Verlaufsdaten j in einer der n-m-Vorrichtungen erzeugt werden, und das Verfahren kann Folgen des beinhalten: Senden, von mindestens einer Vorrichtung der n-m-Vorrichtungen, der Verlaufsdaten j an die m Vorrichtungen; und Speichern der gesendeten Verlaufsdaten in den m Vorrichtungen.
  • Bei diesem Verfahren kann eine Verlaufsdateneinheit (i – 1) und mindestens eine Verlaufsdateneinheit k (k < i – 1) als Verlaufsdateneinheit verwendet werden, wie sie im Schritt zum Erzeugen einer neuen i-ten digitalen Signatur verwendet wird.
  • Bei einer weiteren Ausführungsform der Erfindung kann das Verfahren zum Erzeugen digitaler Signaturen Folgendes beinhalten: Erzeugen einer i'-ten digitalen Signatur i' (i' ≠ i, i' > j) unter Verwendung der Verlaufsdaten, wie sie im Schritt zum Erzeugen einer i-ten digitalen Signatur verwendet werden.
  • Bei einer anderen Ausführungsform der Erfindung ist ein Verfahren zum Verifizieren digitaler Signaturen geschaffen, die unter Verwendung des Verfahrens zum Erzeugen digitaler Signaturen erzeugt wurden.
  • Dieses Verfahren beinhaltet Folgendes: Klären, dass, wenn die digitale Signatur i verifiziert wird, mehrere Verlaufsdaten verwendet wurden, wobei jede im Schritt des Erzeugens einer i-ten digitalen Signatur verwendete Verlaufsdateneinheit einer vorbestimmten Regel genügt.
  • Beim Verfahren zum Verifizieren digitaler Signaturen kann die vorbestimmte Regel dergestalt sein, dass im Schritt zum Erzeugen der i-ten digitalen Signatur alle der mehreren Verlaufsdaten verwendet werden.
  • Beim Verfahren zum Verifizieren digitaler Signaturen kann die vorbestimmte Regel während des Betriebs des Systems, während der Signaturerzeugung oder während der Signaturverifikation definiert werden.
  • Bei einer anderen Ausführungsform der Erfindung ist ein Verfahren zum Verifizieren digitaler Signaturen geschaffen, die unter Verwendung des Verfahrens zum Erzeugen digitaler Signaturen erzeugt wurden.
  • Dieses Verfahren beinhaltet Folgendes: Klären, dass, wenn die digitale Signatur i verifiziert wird, in mindestens einem Schritt zum Erzeugen einer digitalen Signatur h (h > i) eine Verlaufsdateneinheit i verwendet wurde, die im Schritt zum Erzeugen der digitalen Signatur i verwendet wurde, wobei eine vorbestimmte Regel erfüllt ist.
  • Bei diesem Verfahren zum Verifizieren digitaler Signaturen kann die vorbestimmte Regel diejenige sein, dass die Verlaufsdateneinheit i in allen Schritten zum Erzeugen der digitalen Signatur h verwendet wird.
  • Beim Verfahren zum Verifizieren digitaler Signaturen kann die Regel während des Betriebs des Systems, während der Signaturerzeugung oder während der Signaturverifikation definiert werden.
  • Diese und andere Vorteile werden in der ganzen vorliegenden Beschreibung beschrieben. Ein weiteres Verständnis der Art und der Vorteile der Erfindung ergibt sich unter Bezugnahme auf die restlichen Teile der Beschreibung und der beigefügten Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Zeichnung eines Systems, bei dem eine erste Ausführungsform der Erfindung realisiert ist;
  • 2 zeigt ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie dann ausgeführt werden, wenn bei der ersten Ausführungsform Zeitmarkierungen ausgegeben werden.
  • 3 zeigt ein Flussdiagramm zum Veranschaulichen von Detailoperationen, wie sie in einem Schritt 2006 im schematischen Flussdiagramm der ersten Ausführungsform der Erfindung ausgeführt werden.
  • 4 zeigt ein Flussdiagramm zum Veranschaulichen von Detailoperationen, wie sie in einem Schritt 2007 im schematischen Flussdiagramm der ersten Ausführungsform der Erfindung ausgeführt werden.
  • 5 zeigt eine Figur zum Veranschaulichen eines Verlaufsspeicherbereichs in Signaturerzeugungscomputern bei der ersten Ausführungsform der Erfindung.
  • 6 zeigt ein Flussdiagramm zum Veranschaulichen von Detailoperationen, wie sie in einem Schritt 2006 im schematischen Flussdiagramm für eine zweite Ausführungsform der Erfindung ausgeführt werden.
  • 7 zeigt ein Flussdiagramm zum Veranschaulichen von Detailoperationen, wie sie in einem Schritt 2006 im schematischen Flussdiagramm für eine dritte Ausführungsform der Erfindung ausgeführt werden.
  • 8 zeigt eine schematische Zeichnung eines Systems, bei dem eine vierte Ausführungsform der Erfindung realisiert ist.
  • 9 zeigt ein schematisches Flussdiagramm der Operationen, wie sie bei der vierten Ausführungsform der Erfindung zum Erzeugen von Signaturen ausgeführt werden.
  • 10 zeigt ein Flussdiagramm zum Veranschaulichen von Detailoperationen, wie sie in einem Schritt 9005 im schematischen Flussdiagramm zur Signaturerzeugung bei der vierten Ausführungsform der Erfindung ausgeführt werden.
  • 11 zeigt eine schematische Darstellung von Ketten, wie sie in der Zeitmarkierungsausgabesequenz bei der dritten Ausführungsform der Erfindung auftreten.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Zu Dokumenten betreffend die Technologie digitaler Signaturen gehören die Folgenden:
    • Dokument 1: Alfred J. Menezes, Paul C. van Oorschot, und Scott A. Vanstone, "Handbook of Applied Cryptography" CRC Press, Inc. 1997
    • Dokument 2: Bruce Schneier, "Applied Cryptography Second Edition", John Wiley & Sons, Inc. 1996
    • Dokument 3: "Standard Specifications for Public Key Cryptography (Draft Version 11)" IEEE P1363, IEEE, Juli 1999
  • Zu Dokumenten betreffend die Zeitmarkierungstechnologie gehören "CHAPTER 4 Intermediate Protocols, 4.1 TIMESTAMPING SERVICES2; S. 75 aus dem obigen Dokument 2 sowie:
    • Dokument 4: Internationale Anmeldung Nr. PCT/US91/05386
    • Dokument 5: Internationale Anmeldung Nr. PCT/US99/19061
    • Dokument 6: Ahto Buldas, Helger Lipmaa und Berry Schoenmakers, "Optimally Efficient Acco9untable Time-Stamping"
    • Dokument 7: Ahto Buldas, Peeter Laud, Jhelger Lipmaa und Jan Villenmson, "Time-Stamping with Binary Linking Schemes"
  • Schwellenwertsignaturen sind in den folgenden Dokumenten beschrieben:
    • Dokument 8: M. Cerecedo, T. Matsumoto und H. Imai, "Efficient and Secure Multiparty Generation of Digital Signatures Based on Discrete Logarithms," IEICE Trans. Fundamentals, Vol. E76-A, Nr. 4, S. 532–545, April 1993.
    • Dokument 9: R. Gennaro, S. Jarecki, H. Krawczyk und T. Rabin, "Robust Threshold DSS Signatures", In Proc. of Eurocrypt '96, LNCS 1070, Springer-Verlag, S. 354–371, 1996.
    • Dokument 10: C. Park und K. Kurosawa, "New ElGamal Type Threshold Digital Signature Scheme", IEICE Trnas. Fundamentals, Vol. E79-A, Nr. 1, 5.86–93, Jan. 1996.
  • Das Dokument 2 und das Dokument 4 beschreiben Verknüpfungsprotokolle, die der oben beschriebenen Technologie entsprechen, die dazu verwendet wird, inkorrekte Vorgehensweisen zu verhindern, wie dann, wenn der Erzeuger der digitalen Signatur eine Nachricht fälscht und eine neue digitale Signatur erzeugt, die dann dazu verwendet wird, die ursprüngliche Nachricht und die ursprüngliche digitale Signatur zu ersetzen.
  • (Erste Ausführungsform)
  • Nun wird unter Bezugnahme auf die Zeichnungen eine Ausführungsform beschrieben, bei der die Erfindung für einen Zeitmarkierungsdienst realisiert ist, der über ein Netzwerk betrieben wird.
  • Die 1 zeigt eine schematische Systemarchitektur dieser Ausführungsform. Ein Netzwerk 1001 verbindet einen Steuerungscomputer 1031 einer Zeitmarkierungsausgabestation und mehrere Benutzer-PCs 1011, 1020. Ein Benutzer erzeugt eine Nachricht 1002 und schickt sie vom Benutzer-PC 1011 über das Netzwerk 1001 zur Zeitmarkierungsausgabestation, damit später bewiesen werden kann, dass die Nachricht zu diesem speziellen Zeitpunkt existierte. Der Computer 1031 der Zeitmarkierungsausgabestation empfängt die Nachricht 1002 vom Benutzer, und er gibt eine Zeitmarkierung für die Nachricht 1002 aus, damit diese als Zeitgarantieinformation dient. Eine aus der Nachricht 1002 und der Zeitmarkierung gebildete Nachricht 1003 mit Zeitmarkierung wird dann an den Benutzer-PC 1011 zurückgesendet. Der Benutzer-PC 1011 empfängt die Nachricht 1003 mit Zeitmarkierung.
  • Die Zeitmarkierungen bei dieser Ausführungsform verwenden eine Technologie auf Grundlage des oben beschriebenen Verknüpfungsprotokolls. Zusätzlich zur Nachricht und zur Zeitinformation erzeugt die Zeitmarkierungsausgabestation eine digitale Signatur für Information, die zu Daten betreffend Zeitmarkierungen, wie unmittelbar zuvor ausgegeben, hinzugefügt werden.
  • Ferner werden bei der Erfindung digitale Signaturen unter Verwendung einer Schwellenwertsignaturtechnologie erzeugt, um für weitere Sicherheit und Zuverlässigkeit zu sorgen. Genauer gesagt, wird ein System mit k aus n Schwellenwertsignaturtechnologien verwendet. Dieses System verwendet n Computereinheiten (Signaturerzeugungsvorrichtungen). Die Signaturerzeugung kann dann korrekt ausgeführt werden, wenn beliebige k Einheiten verfügbar sind, jedoch kann eine korrekte Signaturerzeugung nicht mit n-k Einheiten ausgeführt werden. Außer in den Dokumenten 8 bis 10, wie sie oben angegeben sind, sind Schwellenwertsignaturtechnologien im folgenden Dokument beschrieben:
    • Dokument 11: japanische Patentoffenlegungsveröffentlichung Nr. Hei 11-307993
  • Dieses Dokument offenbart eine Schwellenwertsignaturtechnologie, die beim Erzeugen von Signaturen keine geheime Kommunikation erfordert. Wenn beispielsweise diese Schwellenwertsignaturtechnologie verwendet wird und aus irgendeinem Grund n-k Einheiten der Signaturerzeugungsvorrichtungseinheiten fehlerhaft arbeiten, können digitale Signaturen unter Verwendung der restlichen k Einheiten erzeugt werden. Auch ist selbst dann, wenn Information, die geheimgehalten werden sollte, aus irgendeinem Grund aus n-k Einheiten der n Signaturerzeugungsvorrichtungseinheiten nach außen dringt, das Ausführen inkorrekter Vorgehensweisen wie das Fälschen digitaler Signaturen schwierig. So kann ein zuverlässiges Zeitmarkierungsausgabesystem mit hoher Sicherheit geschaffen werden.
  • Bei der unten beschriebenen Ausführungsform wird eine 2-aus-3-Schwellenwertsignaturtechnologie verwendet, jedoch können die Werte von k und n für den gewünschten Sicherheitsgrad, die gewünschte Sicherheit, das gewünschte Preis/Leistungs-Verhältnis und dergleichen geeignet gewählt werden.
  • Der Benutzer-PC 1011 besteht aus einer CPU 1012, einem Speicher 1013, einer I/O 1016, einem Display 1014, einer Tastatur 1015 und einen diese Elemente verbindenden Bus. Der Benutzer-PC 1011 ist über die I/O 1016 auch mit dem Netzwerk 1001 verbunden. Der Speicher 1013 enthält eine Benutzer-ID 1017, ein Programm PROG1 1018 sowie einen öffentlichen Schlüssel 1019 einer Zeitmarkierungsausgabestation. Das Programm wird über den Bus an die CPU 1012 übertragen, um verschiedene Merkmale zu realisieren.
  • In der Zeitmarkierungsausgabestation sind der Steuerungscomputer 1031 derselben, ein Signaturerzeugungscomputer A 1051, ein Computer B 1060 und ein Computer C 1070 über ein LAN 1040 verbunden. Abhängig von der verwendeten Schwellenwertsignaturtechnologie kann es erforderlich sein, dass das LAN 1040 die es durchlaufende Information unter Verwendung einer bekannten Verschlüsselungstechnik oder einer körperlichen Vorrichtung schützt.
  • Der Steuerungscomputer 1031 der Zeitmarkierungsausgabestation besteht aus einer CPU 1032, einem Speicher 1033, einer Netzwerkverbindungs-I/O 1036, einer LAN-Verbindungs-I/O 1037, einem Display 1034, einer Tastatur 1035 und einem diese Elemente verbindenden Bus. Der Steuerungscomputer 1031 ist über die Netzwerkverbindungs-I/O 1036 mit dem Netzwerk 1001 verbunden, und er ist über die LAN-Verbindungs-I/O 1037 mit dem LAN 1040 verbunden. Im Speicher 1033 ist ein Programm PROG2 1038 gespeichert.
  • Der Signaturerzeugungscomputer A 1051, der Computer B 1060 und der Computer C 1070 in der Zeitmarkierungsausgabestation verfügen im Wesentlichen über dieselbe Architektur und sie bestehen aus einer CPU 1052, einem Speicher 1053, einer LAN-Verbindungs-I/O 1059, einem Timer 1059 und einem diese Elemente verbindenden Bus. Die LAN-Verbindungs-I/O 1037 verbindet den Signaturerzeugungscomputer mit dem LAN 1040. Es wird vorab irgendein Verfahren dazu verwendet, den Timer 1059 mit den anderen Signaturerzeugungscomputern zu synchronisieren. Der Speicher 1053 enthält eine ID 1055, ein Programm PROG3 1056, Privatschlüssel-Erzeugungsinformation 1057 sowie einen Verlaufsspeicherbereich 1058 zum Speichern von Daten (nachfolgend als Verlaufsdaten bezeichnet), die verwendet wurden, als eine vorige oder frühere digitale Signa tur erzeugt wurde. Die ID 1055 und die Privatschlüssel-Erzeugungsinformation 1057 werden mit für jeden Computer spezifischen festen Werten eingestellt.
  • Bei der Privatschlüssel-Erzeugungsinformation 1057 handelt es sich um Daten, die in jedem der Signaturerzeugungscomputer sicher gespeichert gehalten werden sollten. Die Privatschlüssel-Erzeugungsinformation wird vorab auf verteilte Weise abgespeichert, so dass dann, wenn Signaturerzeugungscomputer auf solche Weise verfügbar sind, dass vorbestimmte Bedingungen erfüllt sind (da diese Ausführungsform 2-aus-3-Schwellenwertsignaturen verwendet, gilt dies, wenn beliebige zwei der drei Computer verfügbar sind) die in diesen Computern gespeicherte Privatschlüssel-Erzeugungsinformation dazu verwendet werden kann, die Privatschlüsselinformation der Zeitmarkierungsausgabestation wieder zu erzeugen. Die speziellen Verfahren, die dazu verwendet werden, die Privatschlüssel-Erzeugungsinformation auf verteilte Weise zu speichern, sind beispielsweise in den Dokumenten 8 bis 11 beschrieben.
  • Die 2 ist ein Flussdiagramm der bei dieser Ausführungsform ausgeführten Operationen. Im Flussdiagramm werden die Schritte 2001, 2002, 2003, 2010 und 2011 dadurch implementiert, dass dafür gesorgt wird, dass die CPU 1012 das im Speicher 1013 des Benutzer-PC 1011 gespeicherte Programm PROG1 1018 ausführt. In ähnlicher Weise werden die Schritte 2004, 2005, 2007 und 2009 dadurch implementiert, dass dafür gesorgt wird, dass die CPU 1032 das PROG2 1038 im Steuerungscomputer 1031 der Zeitmarkierungsausgabestation ausführt. Die Schritte 2006, 2008 werden dadurch implementiert, dass dafür gesorgt wird, dass die CPU 1052 das PROG3 1056 im Signaturerzeugungscomputer A 1051 der Zeitmarkierungsausgabestation ausführt.
  • [Ablauf von Operationen zum Ausgeben von Zeitmarkierungen]
    • Schritt 2001: Start
  • [Durch den Benutzer-PC ausgeführte Operationen]
    • Schritt 2002: Erzeugen des Dokuments, für das eine Zeitbestätigung erwünscht ist.
    • Schritt 2003: Anforderung an die Zeitmarkierungsausgabestation, eine Zeitmarkierung auszugeben (Senden eines Hashwerts Hn des Dokuments sowie einer Benutzer-ID In an die Zeitmarkierungsausgabestation)
  • [Durch den Steuerungscomputer 1031 der Zeitmarkierungsausgabestation ausgeführte Operationen]
    • Schritt 2004: Auswählen zweier verfügbarer Signaturerzeugungscomputer aus den drei Signaturerzeugungscomputern.
    • Schritt 2005: Senden des vom Benutzer-PC empfangenen Dokuments an die im Schritt 2004 ausgewählten Signaturerzeugungscomputer
  • [Durch die Signaturerzeugungscomputer der Zeitmarkierungsausgabestation (im Schritt 2004 ausgewählte Computer) ausgeführte Operationen]
    • Schritt 2006: Die zwei ausgewählten Computer arbeiten zusammen, um "Zeitdaten", "Verlaufsdaten" und dergleichen zum Dokument hinzuzufügen, eine Signatur (Zeitmarkierung) entsprechend einem Schwellenwertsignaturtechnologieverfahren hinzuzufügen und das Ergebnis an den Steuerungscomputer zu senden. Abhängig vom verwendeten Schwellenwertsignaturtechnologieverfahren können zwischen den Signaturerzeugungscomputern und dem Steuerungscomputer mehrere Kommunikationsvorgänge vorliegen.
  • [Durch den Steuerungscomputer 1031 der Zeitmarkierungsausgabestation ausgeführte Operationen]
    • Schritt 2007: Die Daten, wie sie von den Signaturerzeugungscomputern der Zeitmarkierungsausgabestation geschaffen wurden, um die Signatur (Zeitmarkierung) zu erzeugen, werden als neueste "Verlaufsdaten" an alle Signaturerzeugungscomputer, unabhängig davon, ob sie in die Erzeugung der Signatur einbezogen waren oder nicht, gesendet.
  • [Durch die Signaturerzeugungscomputer (alle Computer) der Zeitmarkierungsausgabestation ausgeführte Operationen]
    • Schritt 2008: Jeder der Signaturerzeugungscomputer verwendet die vom Steuerungscomputer empfangenen Daten zum Aktualisieren des Verlaufsspeicher bereichs in seinem Speicher, und dann zeigt er dem Steuerungscomputer an, dass die Aktualisierung erfolgreich war.
  • [Durch den Steuerungscomputer 1031 in der Zeitmarkierungsausgabestation ausgeführte Operationen]
    • Schritt 2009: Die aus dem Dokument und der erzeugten Signatur (Zeitmarkierung) erzeugte Nachricht 1003 mit Zeitmarkierung wird an den Benutzer-PC gesendet, der die Anforderung ausgegeben hat.
  • [Durch den Benutzer-PC ausgeführte Operationen]
    • Schritt 2010: Der Benutzer empfängt das mit einer Zeitmarkierung versehene Dokument von der Zeitmarkierungsausgabestation. Der öffentliche Schlüssel der Zeitmarkierungsausgabestation wird dazu verwendet, zu klären, dass die Zeitmarkierung legitim ist. Das Dokument mit Zeitmarkierung wird akzeptiert.
    • Schritt 2011: Ende
  • Bei dieser Ausführungsform werden beim Erzeugen der Signatur (der Zeitmarkierung) verwendete Daten alle im Schritt 2007 als jüngste "Verlaufsdaten" an alle Signaturerzeugungscomputer gesendet. Demgemäß enthalten alle Signaturerzeugungscomputer, beim Erzeugen einer Signatur, die jüngsten Verlaufsdaten zu diesem Zeitpunkt. Im Ergebnis können beliebige zwei Signaturerzeugungsvorrichtungen zum korrekten Erzeugen einer Signatur verwendet werden. Im Schritt 2007 werden Verlaufsdaten an alle Signaturerzeugungscomputer gesendet. Jedoch können Computer, die in die Erzeugung der Signatur einbezogen waren, diese Daten bereits erhalten, wenn die Signatur erzeugt wird. So wäre es möglich, die Daten nur an denjenigen Computer zu senden, der nicht in die Erzeugung der Signatur einbezogen war.
  • Die 3 zeigt den detaillierten Ablauf von Operationen, wie sie im Schritt 2006 Zeitmarkierungsherausgabeoperationen" ausgeführt werden, wenn eine Zeitmarkierung auf Grundlage des oben beschriebenen Verknüpfungsprotokolls beim im Dokument 11 angegebenen Schwellenwertsignaturtechnologieverfahren verwendet wird. Hier ist angenommen, dass die im Schritt 2004 ausgewählten Signaturerzeugungscomputer der Computer A 1051 und der Computer B 1060 sind.
  • Auch werden die Daten, wie sie erzeugt werden, wenn ein privater Schlüssel mit der in einem Computer I (mit I = A oder B oder C) gemeinsam mit einem Computer J gespeicherten Privatschlüssel-Erzeugungsinformation verwendet werden als eIJ angegeben. Ferner wird als Basis für digitale Signaturen eine Verschlüsselung mit elliptischer Kurve verwendet. Die arithmetischen Grundoperationen, die zum Bestimmen des Folgenden verwendet werden, werden vorab in jedem der Computer platziert:
    Die Ordnung p des Felds GF(p) (ungerade Primzahl mit ungefähr 160 Bits) die Parameter a, b, wie sie in der Definition einer elliptischen Kurve: y2 = x3 + ax + b mod p auftreten
    die Koordinaten b des Basispunkts P auf der elliptischen Kurve E: (xp, Yp)
    die Ordnung einer Gruppe rationaler Punkte auf der elliptischen Kurve E, wie durch den Basispunkt P erzeugt: q (ungerade Primzahl mit ungefähr 160 Bits)
    sowie Addition, Verdopplung, skalare Multiplikation an elliptischen Kurven sowie Addition, Subtraktion, Multiplikation, Division und Exponentialbildung auf Grundlage von Primzahlen. Diese Parameter und Grundoperationen sind im Dokument 3 beschrieben.
  • [Detaillierter Ablauf von im Schritt 2006 ausgeführten Operationen]
    • Schritt 3001: Start
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 3002: Senden eines Hashwerts Hj des Dokuments und der Benutzer-ID Ij an den Computer A 1051 und den Computer B 1060 (dies entspricht dem Schritt 2005)
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 3003A: Berechnen von Lj = H (Ij-1, Hj-1, Tj-1, Lj-1) aus dem im Verlaufsspeicherbereich gespeicherten Verlaufsdaten Ij-1, Hj-1, Tj-1, Lj-1
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 3003B: Berechnen von Lj, wie dies durch den Computer A 1051 erfolgte
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 3004A: Ein zu signierender Datenwert M wird durch Verbinden der ID Ij und des Hashwerts Hj, wie vom Signaturerzeugungscomputer empfangen, eines vom Timer des Computers A 1051 erhaltenen Zeitpunkts Tj, eines Index j und von Kopplungsdaten Lj, wie sie als Verlaufsdaten im Computer A 1051 gespeichert sind, sowie von Daten betreffend die letzte Zeitmarkierung (Benutzer-ID Ij-1, Hashwert Hj-1 und Tj-1) berechnet. Auch wird ein Hashwert h(M) der Daten M berechnet.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 3004B: Berechnen des Hashwerts h(M) wie im Schritt 3004A.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 3005A: Erzeugen einer Zufallszahl kA, die eine natürliche Zahl ist, wobei 0 < kA < q gilt. Berechnen eines skalaren mehrfachen an einer elliptischen Kurve RA = kAP, und Senden von RA an den Computer B 1060.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 3005B: Erzeugen einer Zufallszahl kB, die eine natürliche Zahl ist, wobei 0 < kB < q gilt. Berechnen eines skalaren mehrfachen an einer elliptischen Kurve RB = kBP, und Senden von RB an den Computer A 1051.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 3006A: Berechnen der Summe (x,y) = RA + RB an der elliptischen Kurve sowie von r = x(mod q), sA = eABx + kAh(M)(mod q). Senden von r, sA und M an den Steuerungscomputer.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 3006B: Berechnen der Summe (x,y) = RB + RA an der elliptischen Kurve sowie von r = x(mod q), sB= eBAx + kBh(M)(mod q). Senden von r, sA und M an den Steuerungscomputer (r hat denselben Wert, wie er im Schritt 3006A, wie er durch den Computer A 1051 berechnet wurde).
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 3007: Berechnen von s = sA + sB(mod q) und Verwenden von (r, s) als Zeitmarkierung TSj.
    • Schritt 3008: Ende
  • Die 4 ist wie die 3 ein Flussdiagramm, das den Ablauf von Operationen zeigt, wie sie im Schritt 2007 des "Ablaufs von Zeitmarkierungsausgabeoperationen" ausgeführt werden, wobei eine Zeitmarkierung unter Verwendung einer Schwellenwertsignaturtechnologie auf Grundlage des Verknüpfungsprotokolls ausgegeben wird, das ein Verfahren verwendet, wie es bei einer Ausführungsform im Dokument 11 beschrieben ist.
  • [Detaillierter Ablauf von im Schritt 2007 ausgeführten Operationen]
    • Schritt 4001: Start
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 4002: Senden von Ij, Hj, Tj als neue Verlaufsdaten an alle Signaturerzeugungscomputer, und Anfordern von Aktualisierungen (entspricht dem Schritt 2007).
  • [Durch den Signaturerzeugungscomputer A 1051, den Computer B 1060 und den Computer C 1070 ausgeführte Operationen (unabhängig voneinander ausgeführt)]
    • Schritt 4003: Speichern der empfangenen Information (Ij, Hj, Tj, Lj) im Verlaufsspeicherbereich
    • Schritt 4004: Inkrementieren des Index um 1.
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 4005: Zurücksenden von TSj als Zeitmarkierung sowie von M = (j, Lj, Hj, Tj, Ij-1, Hj-1, Tj-1, Lj) an den anfordernden Benutzer (Ij) (entspricht dem Schritt 2009).
  • [Durch den Benutzer-PC ausgeführte Operationen]
    • Schritt 4006: Empfangen eines mit einer Zeitmarkierung versehenen Dokuments (entspricht dem Schritt 2010).
    • Schritt 4007: Ende
  • Die 5 zeigt den Zustand des Verlaufsspeicherbereichs in einem Zeitmarkierung unmittelbar nach dem Schritt 4004 im in der 4 dargestellten Ablauf von Operationen. Der Verlaufsspeicherbereich enthält einen Index j + 1 5001, eine Benutzer-ID Ij 5002, einen Hashwert Hj 5003 der Nachricht, Zeitinformation Tj 5004 sowie Verknüpfungsdaten Lj 5005.
  • Beim oben beschriebenen Verknüpfungsprotokoll wird die aktuelle Benutzer-ID (Ij) dem vorigen Benutzer (dem Benutzer mit der Benutzer-ID Ij-1) angegeben, nachdem die Reihe der oben beschriebenen Operationen abgeschlossen ist. dies erlaubt die Bestätigung, dass die Verknüpfung in der nächsten Verknüpfung korrekt widergespiegelt wird.
  • Der das Dokument mit Zeitmarkierung empfangende Benutzer kann die Zeitmarkierung auf dieselbe Weise wie dann verifizieren, wenn die Schwellenwertsignaturtechnologie nicht verwendet wird. Genauer gesagt, wird, mit dem öffentlichen Schlüssel der Zeitmarkierungsausgabestation, eine Technologie zum Verifizieren einer digitalen Signatur dazu verwendet, die Echtheit der Zeitmarkierung (digitalen Signatur) TSj in Bezug auf (j, Lj, Hj, Tj, Ij-1, Hj-1, Tj-1, Lj ) zu bestätigen. Um eine detaillierte Bestätigung zu erlauben, um abzusichern, dass in der Zeitmarkierungsausgabestation keine Unregelmäßigkeiten vorliegen, kann der vorige Benutzer (Benutzer-ID Ij-1) abgefragt werden, um Lj-1 zu erhalten. Dies erlaubt eine Klärung, ob die Verknüpfungsdaten Lj mit H(Ij-1, Hj-1, Tj-1, Lj-1) identisch sind. Ähnlich kann der nächste Benutzer (Benutzer-ID Ij-1) abgefragt werden, um zu klären, dass die aus den empfangenen Daten berechnete Information H(Ij, Hj, Tj, Lj) identisch mit den Verknüpfungsdaten Lj+1 ist, die in den durch den nächsten Benutzer empfangenen Daten enthalten sind. Ferner kann durch Wiederholen dieser Operationen und durch Abfragen von Benutzern für zwei oder mehr zurückliegende, frühere Signaturen oder betreffend Benutzer für zwei oder mehr spätere Signaturen, die Echtheit einer Zeitmarkierung weiter bestätigt werden.
  • Die Ausführungsform, wie sie oben beschrieben ist, erlaubt Signaturerzeugungsoperationen, wie Schwellenwertsignaturtechnologien, zu denen mehrere Signaturerzeugungsvorrichtungen gehören, durch Signaturerzeugungsoperationen zu implementieren, bei denen sich Daten betreffend die unmittelbar vorangehende Signaturerzeugung in der Erzeugung der nächsten Signatur widerspiegeln.
  • Die Beschreibung dieser Ausführungsform betraf ein k-aus-n-Schwellenwertsignaturverfahren, bei dem korrekte Signaturen dann erzeugt werden, wenn k Vorrichtungen von n Vorrichtungen verfügbar sind. Jedoch ist die Erfindung nicht hierauf eingeschränkt, und es wäre auch möglich, für eine ähnliche Implementierung bei beispielsweise einer Technologie mit verteilten Signaturen zu sorgen, bei denen vier Signaturerzeugungsvorrichtungen A, B, C, D vorhanden sind und Signaturen erzeugt werden können, wenn entweder eine aus den Vorrichtungen A, B bestehende Gruppe oder eine aus den Vorrichtungen B, C, D bestehende Gruppe verfügbar ist. Ein Beispiel dieses Typs einer Signaturtechnologie ist im Dokument 11 angegeben.
  • Es existiert auch eine Technologie auf Grundlage des k-bis-aus-n-Schwellenwertsignaturverfahrens, bei dem eine Signaturerzeugung an k oder mehr Signaturerzeugungsvorrichtungen angefordert wird und eine korrekte Signatur erzeugt werden kann, wenn mindestens k Einheiten korrekt arbeiten. Um diesen Technologietyp zu nutzen, wäre es beispielsweise möglich, dafür zu sorgen, dass der Steuerungscomputer im Schritt 2004 eine Signaturerzeugung bei allen Signaturerzeugungscomputern statt nur zweien derselben anfordert.
  • Ferner ist bei der obigen Ausführungsform der Steuerungscomputer getrennt von den Signaturerzeugungscomputern implementiert, jedoch wäre es auch möglich, die Merkmale des Steuerungscomputers in einem oder mehreren der Signaturerzeugungscomputer zu implementieren. Von Benutzer-PCs gesendete Nachrichten können über Hashwerte verfügen, die unter Verwendung einer Hashfunktion vorab auf dem Benutzer-PC berechnet werden.
  • Die oben beschriebene Ausführungsform zeigt die folgenden Erfordernisse:
    • 1. Signaturerzeugungscomputer, die nicht direkt in die Signaturerzeugung einbezogen sind, müssen ebenfalls zur Kommunikation verfügbar sein, damit Verlaufsdaten aktualisiert werden können.
    • 2. Verlaufsdaten betreffend eine vergangene Signaturerzeugung in jedem der Steuerungscomputer müssen von außen her eingestellt werden.
  • Bei Technologien wie dem Verknüpfungsprotokoll, bei dem eine erzeugte Signatur Daten widerspiegelt, die in die unmittelbar vorangegangene Signatur einbezogen sind, muss die Sicherheit dadurch aufrecht erhalten werden, dass gewährleistet wird, dass die widergespiegelten Daten tatsächlich Daten sind, die in Zusammenhang mit der vorigen Signaturerzeugungsoperation stehen. Beim obigen zweiten Punkt muss geklärt werden, dass die in jedem Signaturerzeugungscomputer von außen her eingestellten Verlaufsdaten tatsächlich Daten sind, die in Zusammenhang mit der vorigen Signaturerzeugungsoperation stehen.
  • Eine andere Ausführungsform, die diese Bedingungen lindert, ist nachfolgend beschrieben.
  • (Zweite Ausführungsform)
  • Die schematische Systemarchitektur bei dieser Ausführungsform ist dieselbe, wie sie in der 1 dargestellt ist. Das bei dieser Ausführungsform verwendete Schwellenwertsignaturtechnologieverfahren (oder allgemeiner eine verteilte Signaturerzeugungsoperation) zeigt die folgende Charakteristik.
  • Wenn, für jedes beliebige j, die Gruppe von Signaturerzeugungscomputern, die in die j-te Signaturerzeugungsoperation einbezogen sind, SSj ist, und wenn die Gruppe der in die Signaturerzeugungsoperation j + 1 einbezogenen Signaturerzeugungscomputer SSj+1 ist, ist die Schnittmenge zwischen SSj und SSj+1 keine Leermenge (anders gesagt, ist mindestens eine Signaturerzeugungsvorrichtung in zwei aufeinanderfolgende Signaturerzeugungsoperationen einbezogen).
  • Wenn beispielsweise k > n/2 bei einer k-aus-n-Schwellenwertsignaturerzeugungsoperation gilt, ist diese Charakteristik erfüllt, da mindestens 2k–n Vorrichtungen bei zwei aufeinderfolgenden Signaturerzeugungsoperationen einbezogen sind, und zwar unabhängig davon, wie die bei der Signaturerzeugung einbezogenen k Vorrichtungen auszuwählen sind. So genügt das bei der ersten Ausführungsform verwendete 2-aus-3-Schwellenwertsignatursystem auch dieser Charakteristik.
  • Wie unten beschrieben, ist, da diese Ausführungsform ein Signaturverfahren mit der obigen Charakteristik verwendet, das Erfordernis beseitigt, Verlaufsdaten an Signaturerzeugungsvorrichtungen zu senden, die nicht in die Signaturerzeugung einbezogen sind, wie bei der ersten Ausführungsform. Anders gesagt, ist der oben beschriebene zweite Punkt gelöst, und der Schritt 2007 und der Schritt 2008 aus dem in der 2 dargestellten "Ablauf von Operationen zum Ausgeben von Zeitmarkierungen" können weggelassen werden.
  • Der im Schritt 2006 bei dieser Ausführungsform ausgeführte Ablauf von Operationen ist in der 6 dargestellt.
  • [Ablauf von Operationen im Schritt 2006]
    • Schritt 6001: Start
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 6002: Gleich wie der Schritt 3002
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 6003A: Senden des im Computer A 1051 gespeicherten Index jA an den Computer B 1060.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 6003B: Senden des im Computer B 1060 gespeicherten Index jB an den Computer A 1051.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 6004A: Wenn jA ≥ jB gilt, verwenden der im Computer A gespeicherten Verlaufsdaten im Schritt 6005A, und senden derselben an den Computer B 1060. Andernfalls jA:=jB setzen und verwenden der vom Computer B 1060 gesendeten Verlaufsdaten im Schritt 6005A.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 6004B: Wenn jB ≥ jA gilt, verwenden der im Computer B gespeicherten Verlaufsdaten im Schritt 6005B, und senden derselben an den Computer A 1051. Andernfalls jB:=jA setzen und verwenden der vom Computer a 1051 gesendeten Verlaufsdaten im Schritt 6005B.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 6005A: Gleich wie die Schritte 3003A3006A
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 6005B: Gleich wie die Schritte 300B3006B
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 6006A: Inkrementieren des Index um 1 und Abspeichern im Verlaufsspeicherbereich gemeinsam mit Ij, Hj, Tj, Lj.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 6006B: Inkrementieren des Index um 1 und Abspeichern im Verlaufsspeicherbereich gemeinsam mit Ij, Hj, Tj, Lj.
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 6007: Zurücksenden von TSj als Zeitmarkierung sowie von (j, Ij, Hj, Tj, Ij-1, Hj-1, Tj-1, Lj) an den Benutzer (Ij), der die Anforderung ausgegeben hat (entspricht dem Schritt 2009).
    • Schritt 6008: Ende
  • Diese Ausführungsform erlaubt es, die Echtheit des mit einer Zeitmarkierung versehenen Dokuments wie bei der ersten Ausführungsform zu klären.
  • Da diese Ausführungsform die in der obigen Charakteristik beschriebene verteilte Signaturtechnologie verwendet, ist das Vorhandensein eines Signaturerzeugungscomputers, der über den jüngsten Verlauf verfügt, während der Signaturerzeugung garantiert. Ferner können in den oben beschriebenen Schritten 6004A und 6004B Indizes verglichen werden, um zu bestimmen, welcher Signaturerzeugungscomputer über den jüngsten Verlauf verfügt. Allgemeiner gesagt, kann, wenn k Signaturerzeugungscomputer in die Signaturerzeugung einbezogen sind, der Computer mit dem jüngsten Verlauf dadurch bestimmt werden, dass derjenige mit dem höchsten aufgezeichneten Index gesucht wird. Demgemäß kann, wenn die bei der Signaturerzeugung einbezogenen Signaturerzeugungscomputer ihre Verlaufsdaten aktualisieren, eine Signaturerzeugung, die sich auf die jüngsten Verlaufsdaten stützt, ausgeführt werden, ohne dass Aktualisierungen von Verlaufsdaten in Signaturerzeugungscomputern erforderlich wären, die nicht in die Signaturerzeugung einbezogen sind.
  • Bei dieser Ausführungsform kann das Schwellenwertsignaturtechnologieverfahren dazu verwendet, Signaturen zu erzeugen, die Daten widerspiegeln, die in die unmittelbar vorige Signatur einbezogen sind, wie beim oben beschriebenen Verknüpfungsprotokoll. So ist es, abweichend von der ersten Ausführungsform, nicht erforderlich, Kommunikationsvorgänge zum Aktualisieren von Verlaufsdaten in denjenigen Signaturerzeugungscomputern auszuführen, die nicht direkt in die Signaturerzeugung einbezogen sind. Im Ergebnis kann eine der Eigenschaften der Schwellenwertsignaturtechnologieerzeugung – dass Signaturen erst dann erzeugt werden können, wenn einige Vorrichtungen aufgrund einer Fehlfunktion nicht verfügbar sind – aufrecht erhalten werden.
  • Ferner sind die Daten, die in die unmittelbar vorangehende Signaturerzeugungsoperation einbezogen sind, die als Verlaufsdaten verwendet werden, entweder im lokalen Computer gespeicherte Daten oder solche Daten, die von einem anderen Signaturerzeugungscomputer gesendet wurden. So kann, wenn allen Signaturerzeugungscomputern vertraut werden kann, beispielsweise unter Verwendung einer bidirektionalen Authentifizierungstechnologie und einer Technologie zum Verhindern einer Datenfälschung in den Kommunikationspfaden zwischen den Signaturerzeugungscomputern, die oben angegebene zweite Bedingung wegge lassen werden, d.h., dass die Verlaufsdaten betreffend die vorige Signaturerzeugungsoperation von außen eingestellt werden müssen.
  • (Dritte Ausführungsform)
  • Die schematische Systemarchitektur bei dieser Ausführungsform ist dieselbe, wie sie in der 1 dargestellt ist. Auch hat das bei dieser Ausführungsform verwendete Schwellenwertsignaturtechnologieverfahren (oder allgemeiner die verteilte Signaturerzeugungsoperation) dieselbe Charakteristik, wie sie bei der zweiten Ausführungsform angegeben ist.
  • Bei dieser Ausführungsform werden Verlaufsdaten entsprechend dem unten angegebenen Verfahren weitergeleitet. Genauer gesagt, werden, wenn bei der zweiten Ausführungsform eine Signatur erzeugt wird, die jüngsten Verlaufsdaten zu diesem Zeitpunkt angehängt (es wird eine Kette gebildet). Demgegenüber wird bei dieser Ausführungsform die Signaturerzeugung so ausgeführt, dass Verlaufsdaten, wie sie in jeder der Signaturerzeugungsvorrichtungen enthalten sind, die in die Ausgabe einer Signatur einbezogen sind, an alle Signaturerzeugungsvorrichtungen weitergeleitet wird, die in die Ausgabe der Zeitmarkierung einbezogen sind. Auch werden Signaturen so erzeugt, dass diese Ketten unabhängig voneinander verifizierbar sind.
  • Beispielsweise wird ein 2-aus-3-Schwellenwertsignaturverfahren verwendet, und Signaturen werden mit den folgenden Kombinationen von Signaturerzeugungsvorrichtungen erzeugt (Zeitmarkierungen werden ausgegeben).
  • [Beispiel einer Ausgabesequenz von Zeitmarkierungen]
    Figure 00230001
  • Wenn die dritte Signatur unter Verwendung des Signaturerzeugungscomputers B 1060 und des Signaturerzeugungscomputers C 1070 erzeugt wird, sind die jüngsten Verlaufsdaten für den Signaturerzeugungscomputer B 1060 die Daten betref fend die Erzeugung der ersten Signatur, und die jüngsten Verlaufsdaten für den Signaturerzeugungscomputer C 1070 sind die Daten betreffend die Erzeugung der zweiten Signatur. Bei dieser Ausführungsform werden beide Gruppen von Verlaufsdaten dazu verwendet, die dritte Signatur zu erzeugen.
  • Um beide Gruppen von Verlaufsdaten zu verwenden, können die Daten zu einer Einheit verbunden (verkettet) werden. Die Verlaufsdaten können auch Kennungsinformation enthalten (beispielsweise Information, die anzeigt, über wie viele Signaturgenerationen die Verlaufsdaten zurückreichen).
  • In ähnlicher Weise wird, wenn die vierte Signatur durch den Signaturerzeugungscomputer A 1051 und den Signaturerzeugungscomputer C 1070 erzeugt wird, Information betreffend die durch den Signaturerzeugungscomputer A 1051 ausgeführte zweite Signaturerzeugungsoperation und die durch den Signaturerzeugungscomputer C 1070 ausgeführte dritte Signaturerzeugungsoperation verwendet. Frü die fünfte Signaturerzeugungsoperation werden Daten verwendet, bei denen zwei Gruppen von Daten betreffend die vierte Signaturerzeugungsoperation kombiniert sind.
  • Zusätzlich zu den Eigenschaften der zweiten Ausführungsform, bei denen eine erzeugte Signatur immer die letzten Verlaufsdaten widerspiegelt, sorgt dieses Signaturerzeugungsverfahren für eine andere Charakteristik, gemäß der eine erzeugte Signatur immer die Daten widerspiegelt, wie sie in jedem der Signaturerzeugungscomputer gespeichert sind, die zu ihrer Erzeugung verwendet werden (d.h. Daten, die für jeden der Signaturerzeugungscomputer zuverlässig sind).
  • Ferner können die mehreren bei dieser Ausführungsform gebildeten Ketten unabhängig verifiziert werden. Selbst wenn ein bösartiger Signaturerzeugungscomputer in die Erzeugung einer Signatur einbezogen ist und falsche Daten als letzte Verlaufsdaten sendet, ist es möglich, mindestens eine korrekte Kette zu bestätigen. Dies ermöglicht es, dass Effekte enthalten sein können, die von einem bösartigen Signaturerzeugungscomputer herrühren.
  • Dies wird nachfolgend unter Bezugnahme auf die oben angegebene beispielhafte Ausgabesequenz von Zeitmarkierungen beschrieben.
  • Die 11 zeigt eine schematische Darstellung der Ketten, wie sie in der oben angegebenen Ausgabesequenz von Zeitmarkierungen auftreten. Die Pfeile in den Ketten 11001 kennzeichnen Abhängigkeiten zwischen Signaturen. Wie es in der 11 dargestellt ist, spiegelt die Erzeugung der vierten Signatur Verlaufsdaten wider, wie sie in die zweite und dritte Signaturerzeugungsoperation einbezogen waren. Nun sei angenommen, dass dann, wenn die vierte Signatur bei dieser beispielhaften Ausgabesequenz von Zeitmarkierungen erzeugt wird, der Signaturerzeugungscomputer C 1070 nicht die korrekten Verlaufsdaten an den Signaturerzeugungscomputer A 1051 sendet. In diesem Fall ist es nicht möglich, die Verknüpfung mit den Verlaufsdaten aus der dritten Signaturerzeugungsoperation zu bestätigen. Jedoch garantiert der echte Signaturerzeugungscomputer A 1051, dass sich die Verlaufsdaten betreffend die zweite Signaturerzeugungsoperation korrekt in der vierten Signaturerzeugungsoperation widerspiegeln. So ist es möglich, die Verknüpfung zwischen dem vierten und folgenden Signaturverläufen sowie dem zweiten und dem vorangehenden Signaturverläufen zu bestätigen. So erstreckt der Einfluss der inkorrekten Vorgehensweise durch den Signaturerzeugungscomputer C 1070 nur bis zur Fehlübereinstimmung zwischen der dritten und der vierten Signatur.
  • Beim oben beschriebenen herkömmlichen Verknüpfungsprotokoll verhindert eine Unterbrechung der Kette an einem Punkt (beispielsweise zwischen der dritten und der vierten Signatur) die Bestätigung der Beziehungen zwischen der dritten und früheren Signaturen sowie der vierten und folgenden Signaturen. Dies kann dazu führen, dass die Zuverlässigkeit insgesamt beeinträchtigt ist. Im Gegensatz dazu überwindet diese Ausführungsform das Problem auf die oben beschriebene Weise.
  • Bei der oben beschriebenen Ausführungsform kann die oben beschriebene zweite Bedingung selbst dann effektiv gelindert werden, wenn nicht allen Signaturerzeugungscomputern getraut werden kann. So kann diese Ausführungsform dann, wenn nicht allen Signaturerzeugungscomputern, aber vielen derselben getraut werden kann, für ein hoch zuverlässiges Zeitmarkierungssystem sorgen.
  • Die 7 zeigt den detaillierten Ablauf von Operationen, wie sie bei dieser Ausführungsform im Schritt 2006 ausgeführt werden.
  • [Detaillierter Ablauf von im Schritt 2006 ausgeführten Operationen]
    • Schritt 7001: Start
  • [Durch den Signaturerzeugungscomputer 1031 ausgeführte Operationen]
    • Schritt 7002: Gleich wie der Schritt 3002
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 7003A: Senden des Index jA und der Verlaufsdaten in A an B.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 7003B: Senden des Index jB und der Verlaufsdaten in B an A.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 7004A: (j ist der größere und j_S ist der kleinere der Werte jA und jB.) Berechnen der Kopplungsdaten Lj = H(Ij_S-1, Hj_S-1, Tj_S-1, Lj_S-1)||H(Ij_S-1, Hj_S-1, Tj_S-1, Lj_S-1)) (|| repräsentiert eine Verkettung).
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 7004B: Berechnen von Lj wie im Computer A 1051.
  • [Durch den Signaturerzeuqungscomputer A 1051 ausgeführte Operationen]
    • Schritt 7005A: Verbinden des Index j, der Benutzer-ID Ij, des Hashwerts Hj, der vom Timer im Computer A 1051 erhaltenen Zeit Tj sowie j_S, Ij_S-1, Hj_S-1, Tj_S-1, j, Ij-1, Hj-1, Tj-1, Lj, und Berechnen der zu signierenden Daten M. Berechnen des Hashwerts h(M).
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 7005B: Berechnen von j(M) wie im Computer A 1051.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
  • Schritt 7006A: Gleich wie 3005A3006A.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 7006B: Gleich wie 3005B3006B.
  • [Durch den Signaturerzeugungscomputer A 1051 ausgeführte Operationen]
    • Schritt 7007A: Inkrementieren des Index j um 1 und Abspeichern im Verlaufsspeicherbereich gemeinsam mit Ij, Hj, Tj, Lj.
  • [Durch den Signaturerzeugungscomputer B 1060 ausgeführte Operationen]
    • Schritt 7007B: Inkrementieren des Index j um 1 und Abspeichern im Verlaufsspeicherbereich gemeinsam mit Ij, Hj, Tj, Lj.
  • [Durch den Steuerungscomputer ausgeführte Operationen]
    • Schritt 7008: Gleich wie der Schritt 3008.
    • Schritt 7009: Zurücksenden von TSj als Zeitmarkierung gemeinsam mit (j, Ij, Hj, Tj, j_S, Ij_S-1, Hj_S-1, Tj_S-1, j, Ij-1, Hj-1, Tj-1, Lj) an den Benutzer (Ij). der die Anforderung ausgegeben hat (entspricht dem Schritt 2009).
    • Schritt 7010: Ende
  • Ferner wird beim oben beschriebenen Verknüpfungsprotokoll für eine Bestätigung dahingehend, dass sich die Kette in der nächsten Signatur korrekt widerspiegelt, dafür gesorgt, dass die aktuelle Benutzer-ID (Ij) an den Benutzer (Benutzer-ID jA9), der den Signaturerzeugungscomputer A zuletzt benutzt hat, und den Benutzer (Benutzer-ID jB), der den Signaturerzeugungscomputer B 1060 zuletzt genutzt hat, gesendet wird.
  • Um die Echtheit eines mit Zeitmarkierung versehenen, gemäß dieser Ausführungsform erzeugten Dokuments zu bestätigen, wird die Echtheit der Zeitmarkierung (der digitalen Signatur) TSj in Bezug auf (j, Ij, Hj, Tj, j_S, Ij_S-1, Hj_S-1, Tj_S-1, j, Ij-1, Hj-1, Tj-1, Lj) mit dem öffentlichen Schlüssel der Zeitmar kierungsausgabestation unter Verwendung einer digitalen Signaturverifikationstechnik geprüft. Wenn die Echtheit nicht bestätigt werden kann, kann die Zeitmarkierung TSj nicht als echt akzeptiert werden.
  • Als Nächstes wird, um für detaillierte Bestätigung dahingehend zu sorgen, dass in der Zeitmarkierungsausgabestation keine Unregelmäßigkeiten auftraten, LjA-1 dadurch erhalten, dass der Benutzer (Benutzer-ID jA) abgefragt wird, der zuletzt den Signaturerzeugungscomputer A verwendet hat (Hinweis: jA = j_s oder j). Dies erlaubt die Klärung, ob H(IjA-1, HjA-1, TjA-1, LjA-1) mit entweder der ersten oder der hinteren Hälfte der Verknüpfungsdaten Lj = H(Ij_S-1, Hj_S-1, Tj_S-1 Lj_s-1,)||H(Ij_S-1, Hj_S-1, Tj_S-1, Lj_S-1) identisch ist.
  • Wenn die Bestätigung fehlschlägt, besteht die Möglichkeit, dass beispielsweise der Signaturerzeugungscomputer A fehlerhaft arbeitet oder auf unregelmäßige Weise arbeitet (einschließlich Fällen von Unregelmäßigkeiten, die sich durch das Eingeben inkorrekter Daten von außen ergeben), oder dass die in ihm gespeicherten Daten IjA-1, HjA-1, TjA-1, LjA-1 inkorrekt sind (oder nicht korrekt verwendet werden). Im Ergebnis wird die Bestätigung unter Verwendung des anderen Signaturerzeugungscomputers B 1060 ausgeführt. Der Benutzer (Benutzer-ID jB), der den Signaturerzeugungscomputer B 1060 zuletzt verwendet hat, wird abgefragt, um LjB-1 zu erhalten, und es wird H(IjB-1, HjB-1, TjB-1, LjB-1 geprüft, um zu erkennen, ob der Wert identisch mit den entweder der vorderen oder der hinteren Hälfte von Lj ist.
  • Wenn diese Bestätigung erfolgreich ist, wird die Zeitmarkierung TSj bei diesem Verifikationsverfahren als echt akzeptiert (oder es können nach Bedarf weitere Verifizierschritte, wie beschrieben, verwendet werden). Andernfalls kann TSj nicht als echt akzeptiert werden.
  • Eine Bestätigung unter Zusammenwirkung mit dem Benutzer (Benutzer-ID jB), der den Signaturerzeugungscomputer B 1060 zuletzt verwendet hat, kann ausgeführt werden, ohne dass eine Beeinflussung durch den Signaturerzeugungscomputer A erfolgt. So können die oben beschriebenen zweiten Bedingungen selbst dann stärker gelindert werden, wenn nicht allen Signaturerzeugungscomputern notwendigerweise getraut werden kann oder eine keine Zusammenwirkung mit dem Signaturerzeugungscomputer A erzielt werden kann oder der Computer A inkorrekt arbeitet.
  • Ein anderer Vorteil dieses Verifizierverfahrens besteht darin, dass die Verifizierung selbst dann leicht ausgeführt werden kann, wenn andere Benutzer bei der Verifizierung nicht notwendigerweise zusammenarbeiten (oder dies nicht können). Selbst wenn LjA-1 nicht erhalten werden kann, da der Benutzer (Benutzer-ID jA), der den Signaturerzeugungscomputer A zuletzt verwendet hat, auf eine Abfrage nicht reagiert, kann die Verifizierung ausgeführt werden, wenn die Zusammenwirkung des Benutzers (Benutzer-ID jB) erlangt werden kann, der den Signaturerzeugungscomputer B 1060 zuletzt verwendet hat.
  • Ferner kann der Benutzer, der den Signaturerzeugungscomputer A als Nächstes verwendet, abgefragt werden, ob der aus den empfangenen Daten berechnete Wert H(Ij, Hj, Tj, Lj) mit der vorderen oder der hinteren Hälfte der Verknüpfungsdaten übereinstimmt, wie sie in den vom nächsten Benutzer des Signaturerzeugungscomputers A empfangenen Daten enthalten sind.
  • Wenn keine Übereinstimmung mit den Verknüpfungsdaten bestätigt werden kann, da der Signaturerzeugungscomputer A nicht korrekt arbeitet oder da es an Zusammenarbeit mit dem folgenden Benutzer desselben fehlt, kann die Bestätigung immer noch dadurch ausgeführt werden, dass der folgende Benutzer des Signaturerzeugungscomputers B 1060 abgefragt wird.
  • Mit diesem Verifizierverfahren kann, wenn eine Übereinstimmung mit den Verknüpfungsdaten eines folgenden Benutzers unter Verwendung mindestens eines der oben beschriebenen Verfahren bestätigt werden kann, die Echtheit der Zeitmarkierung bestätigt werden (oder es werden weitere Verifizierschritte, wie sie unten beschrieben sind, nach Bedarf verwendet). Andernfalls kann die Zeitmarkierung nicht als echt bestätigt werden.
  • Wie bei der ersten und der zweiten Ausführungsform ist es bei dieser Ausführungsform möglich, für eine detaillierte Bestätigung der Echtheit einer Zeitmarkierung dadurch zu sorgen, dass die oben beschriebene Prozedur so wiederholt wird, dass Benutzer von zwei oder mehr Signaturen zurück oder Benutzer von zwei oder mehr Signaturen später abgefragt werden können.
  • (Vierte Ausführungsform)
  • Die 8 zeigt eine schematische Architektur eines Systems, bei dem die Erfindung für das im folgenden Dokument offenbarte Signatursystem realisiert ist:
    • Dokument 12: Japanische Patentanmeldung Nr. 2000-313123
  • Das Dokument 12 offenbart eine Technik, bei der die Verläufe erzeugter Signaturen abgespeichert werden, damit Signaturen auf unberechtigte Fälschung geprüft werden können. Wenn ein Signatur erzeugt wird, spiegelt sich die zuvor erzeugte Signatur in der nächsten Signaturerzeugungsoperation wider. Dies bildet eine Signaturverlaufskette, die sicher abgespeichert werden kann. Da Signaturen unter Verwendung mehrerer Vorrichtungen (IC-Karten bei dieser Ausführungsform) erzeugt werden, kann im Wesentlichen jedes der bei der ersten bis dritten Ausführungsform verwendeten Verfahren dazu verwendet werden, Signaturen so zu erzeugen, dass eine Kette auf korrekte Weise gebildet wird. Bei dieser Ausführungsform wird ein Beispiel beschrieben, bei dem Signaturen wie bei der dritten Ausführungsform erzeugt werden.
  • Ein Netzwerk 8001 verbindet einen Computer 8031 eines Unterzeichners und PCs 8011, 8020 von Käufern. Wenn ein Käufer eine Nachricht (beispielsweise digitalisierte Multimediadaten wie elektronische Bilder, Video oder Musik oder elektronische (digitalisierte Wertpapiere, Kontrakte oder dergleichen) vom Unterzeichner erwirbt (sei es für eine Gebühr oder nicht), wird eine vom Unterzeichner unterzeichnete Nachricht 8003 über das Netzwerk 8001 empfangen.
  • Der PC 8011 des Käufers besteht aus einer CPU 8012, einem Speicher 8013, einer I/O 8016, einem Display 8014 und einer Tastatur 8015. Diese Elemente sind über einen Bus verbunden. Die I/O 8016 sorgt für eine Verbindung zum Netzwerk 8001. Der Speicher 8013 speichert eine Käufer-ID 8017, ein Programm PROG1 8018 und einen öffentlichen Schlüssel 8019 des Unterzeichners. Das Programm wird über den Bus an die CPU 8012 übertragen, und es sorgt für verschiedene Merkmale.
  • Die Seite des Unterzeichners besteht aus dem Computer 8031 desselben sowie einer IC-Karte A 8051, einer IC-Karte B 8060 und einer IC-Karte C 8070 des Unterzeichners. Wie bei den obigen Ausführungsformen verwendet diese Ausführungsform ein 2-aus-3-Schwellenwertsignaturverfahren. Demgemäß kann, während drei IC-Karten verwendet werden, die Anzahl der Karten entsprechend dem zu verwendenden Signaturschema eingestellt werden. Es können auch andere Technologien mit verteilter Signatur verwendet werden.
  • Der Computer 8031 des Unterzeichners besteht aus einer CPU 8032, einem Speicher 8033, einer I/O 8036, einem Display 8034, einer Tastatur 8035, einer externen Speichervorrichtung 8037 und einem IC-Karten-Leser/Schreiber 8038. Diese sind über einen Bus verbunden, und die I/O 8036 sorgt für Verbindung zum Netzwerk 8001. Der IC-Karten-Leser/Schreiber 8038 sorgt für Kommunikation mit den IC-Karten. Der Speicher 8033 enthält ein Programm PROG2 8038.
  • Die IC-Karten A 8051, B 8060 und C 8070 des Unterzeichners verfügen im Wesentlichen über dieselbe Struktur. Eine CPU 8052, ein Speicher 8053 und eine I/O 8054 sind über einen Bus verbunden. Eine I/= 8037 ist so ausgebildet, dass sie die IC-Karte mit dem Computer des Unterzeichners verbindet. Der Speicher 8053 enthält eine ID 8055, ein Programm PROG3 8056 sowie Privatschlüssel-Erzeugungsinformation 8057 und einen Verlaufsspeicherbereich 8058 zum Speichern von Daten (Verlaufsdaten) betreffend früher erzeugte digitale Signaturen. Die ID 8055 und die Privatschlüssel-Erzeugungsinformation 8057 enthalten für den speziellen Computer spezifische Werte.
  • Die 9 zeigt ein schematisches Diagramm des Ablaufs von Operationen, wie sie bei dieser Ausführungsform ausgeführt werden.
  • [Ablauf von Operationen zum Erzeugen von Signaturen]
    • Schritt 9001: Start
  • [Ablauf von vom Computer des Unterzeichners ausgeführten Operationen]
    • Schritt 9002: Erzeugen einer zu erwerbenden Nachricht.
    • Schritt 9003: Auswählen zweier verfügbarer Signaturerzeugungs-IC-Karten aus den drei Signaturerzeugungs-IC-Karten.
    • Schritt 9009: Senden des vom Computer des Unterzeichners empfangenen Dokuments an die im Schritt 9003 ausgewählten IC-Karten.
  • [Ablauf von durch die Signaturerzeugungs-IC-Karten (die im Schritt 9003 ausgewählten IC-Karten) ausgeführten Operationen]
    • Schritt 9005: Die zwei ausgewählten IC-Karten wirken zusammen, um "Verlaufsdaten" und dergleichen zum Dokument hinzuzufügen, eine Signatur auf Grundlage des Schwellenwertsignaturtechnologieverfahrens zu erzeugen und das unterzeichnete Dokument an den Computer des Unterzeichners zu senden. Abhängig vom verwendeten Schwellenwertsignaturtechnologieverfahren können zwischen dem Computer des Unterzeichners und den IC-Karten mehrere Kommunikationsvorgänge ablaufen.
  • [Durch den Computer des Unterzeichners ausgeführte Operationen]
    • Schritt 9006: Senden der erzeugten Signatur gemeinsam mit dem Dokument an die Nachricht erwerbenden Käufer.
  • [Durch den PC des Käufers ausgeführte Operation]
    • Schritt 9007: Der Käufer empfängt das unterzeichnete Dokument vom Unterzeichner. Nachdem der Käufer die Signatur als echt verifiziert hat, empfängt er das unterzeichnete Dokument.
    • Schritt 9008: Ende
  • Die 10 zeigt den detaillierten Ablauf von Operationen, wie sie im Schritt 9005 des Ablaufs der zum Erzeugen von Signaturen ausgeführten Operationen ausgeführt werden.
    • Schritt 10001: Start
  • [Durch den Computer 8031 des Unterzeichners ausgeführte Operationen]
    • Schritt 10002: Gleich wie der Schritt 9004
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operationen]
    • Schritt 10003A: Senden des Index jA in der IC-Karte A 8051 und der Verlaufsdaten in ihr an die IC-Karte B 8060.
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operationen]
    • Schritt 10003B: Senden des Index je in der IC-Karte B 8060 und der Verlaufsdaten in ihr an die IC-Karte IC-Karte C 1070.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operationen]
    • Schritt 10004A: (j ist größer und j_S ist kleiner als jA und jB.) Berechnen von Verknüpfungsdaten Lj = H(Ij_S-1, Hj_S-1, Sj_S-1 Lj_S-1,)||H(Ij-1, Hj-1, Sj-1, Lj-1) (|| repräsentiert Verkettung).
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
    • Schritt 10004B: Berechnen von Verknüpfungsdaten Lj, wie dies durch die IC-Karte A 8051 erfolgte.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operation]
    • Schritt 10005A: Verbinden von j, Ij, Hj, Lj und j_S als zu unterzeichnende Daten M, und Berechnen des Hashwerts h(M).
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
  • Schritt 10005B: Berechnen des Hashwerts h(M), wie es in der IC-Karte A 8051 erfolgte.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operation]
    • Schritt 10006A: Gleich wie 3005A.
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
    • Schritt 10006B: Gleich wie 3005B.
  • [Durch die Signaturerzeugungs-IC-Karte A 1051 ausgeführte Operation]
  • Schritt 10007A: Berechnen von (r, sA) wie in 3006A.
  • [Durch die Signaturerzeugungs-IC-Karte A 8060 ausgeführte Operation]
    • Schritt 10007B: Berechnen von (r, sB) wie in 3006B.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operation]
    • Schritt 10008A: Berechnen der Signatur sj:=(r,s) wie in 3007.
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
    • Schritt 10008B: Berechnen der Signatur sj:=(r,s) wie in 3007.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operation]
    • Schritt 10009A: Inkrementieren des Index j um 1 und Speichern im Verlaufsspeicherbereich gemeinsam mit M = (j, j_S, Ij, Hj, Lj), Sj.
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
    • Schritt 10009B: Inkrementieren des Index j um 1 und Speichern im Verlaufsspeicherbereich gemeinsam mit M = (j, j_S, Ij, Hj, Lj), Sj.
  • [Durch die Signaturerzeugungs-IC-Karte A 8051 ausgeführte Operation]
    • Schritt 10010A: Senden der Nachricht M gemeinsam mit Sj an den Computer 8031 des Unterzeichners.
  • [Durch die Signaturerzeugungs-IC-Karte B 8060 ausgeführte Operation]
    • Schritt 10010B: Senden der Nachricht M gemeinsam mit Sj an den Computer 8031 des Unterzeichners.
  • [Durch den Computer 8031 des Unterzeichners ausgeführte Operation]
    • Schritt 10011: Senden der Nachricht M und der Signatur Sj an den Käufer Ij.
    • Schritt 10012: Ende
  • Wenn in den obigen Schritten Eingabe/Ausgabe-Operationen hinsichtlich der IC-Karten ausgeführt werden, können der Computer des Unterzeichners oder ein anderer Computer, falls erforderlich, als Zwischenstelle dienen.
  • Die auf diese Weise erzeugte Signatur Sj kann auf die unten beschriebene Weise verifiziert werden. Die unten ausgeführten Operationen können vom Käufer oder einem Vermittler ausgeführt werden, der eine Anforderung vom Käufer oder einer anderen Partei empfängt. In der folgenden Beschreibung wird dieser als Verifizieren bezeichnet.
  • Unter Verwendung eines Verifiziercomputers, der auf dieselbe Weise wie der Benutzer-PC 1011 aufgebaut ist, verifiziert der Verifizieren als Erstes die Echtheit der Signatur Sj mittels einer bekannten Verifiziertechnologie für digitale Signaturen unter Verwendung des öffentlichen Schlüssels 8019 des Unterzeichners. Wenn die Echtheit nicht bestätigt werden kann, kann die Signatur Sj nicht als echte Signatur akzeptiert werden. Wenn die Echtheit bestätigt werden kann, können, falls erforderlich, weitere Schritte ausgeführt werden, um für eine detailliertere Verifizierung zu sorgen. Es kann erforderlich sein, diese Schritte dann auszuführen, wenn bei der bekannten Technologie für digitale Signaturen aufgrund des Herausdringens von Information zum privaten Schlüssel des Unterzeichners, die zum Erzeugen der Signatur Sj verwendet wird, oder dergleichen, ein Verlust an Zuverlässigkeit besteht, was die oben beschriebene Prozedur unangemessen macht. Alternativ kann es beispielsweise dann erforderlich sein, diese Schritte auszuführen, wenn die Nachricht M besonders wertvoll ist, und eine sehr gründliche Verifizierung erforderlich ist.
  • Als Nächstes empfängt der Verifizieren den Signaturverlauf vom Unterzeichner, und er erklärt, dass die Signatur Sj im Verlauf enthalten ist. Wenn dies nicht der Fall ist, kann die Signatur Sj nicht als echte Signatur akzeptiert werden.
  • Wenn die Signatur Sj aufgefunden wird, sucht eine der zwei IC-Karten (hier werden die IC-Karte A und die IC-Karte B verwendet), die in die Erzeugung der Signatur Sj einbezogen sind, nach einem Signaturverlauf in Zusammenhang mit einer Signatur Sj', die unmittelbar nach der Erzeugung der Signatur Sj erzeugt wurde. Die Verknüpfungsdaten in diesem Signaturverlauf werden überprüft, um zu erkennen, ob die vordere oder die hintere Hälfte mit dem Wert H(Ij, Hj, Sj, Lj) übereinstimmt, der aus den Daten berechnet wurde, die im Signaturverlauf für die Signatur Sj enthalten sind. Falls nicht, sucht die andere IC-Karte nach dem Signaturverlauf der Signatur, die unmittelbar nach der Erzeugung der Signatur Sj erzeugt wurde, und es erfolgt eine ähnliche Prüfung. Wenn keine Übereinstimmung besteht, kann die Signatur Sj nicht als echte Signatur akzeptiert werden.
  • Wenn Übereinstimmung besteht, wird eine ähnliche Bestätigungsoperation für die Signatur Sj' wiederholt. Wenn in der Kette eine Bestätigung bis zurück zu einer Signatur erzielt werden kann, die aus irgendeinem Grund vorab als zuverlässig bekannt ist (beispielsweise eine Signatur, die durch Massenmedien oder dergleichen öffentlich gemacht wurde, Daten, die durch eine zuverlässige dritte Partei garantiert sind, oder wenn die Signatur Sj verifiziert wird, wird der Inhalt durch eine nicht interessierte dritte Partei garantiert). Andernfalls kann die Signatur nicht als echt akzeptiert werden.
  • Unter Verwendung des oben beschriebenen Verifizierverfahrens kann die Sicherheit selbst dann aufrecht erhalten werden, wenn die Sicherheit des aktuellen, im Dokument 12 beschriebenen Systems für digitale Signaturen aus irgendeinem Grund beeinträchtigt ist. Ferner kann die Echtheit selbst dann bestätigt werden, wenn ein Teil des Signaturverlaufs verloren geht oder unbrauchbar wird. Dadurch sind ein Verfahren und ein System geschaffen, die selbst dann zuverlässig sind, wenn Verlaufsdaten über lange Perioden aufrecht erhalten werden müssen.
  • (Fünfte Ausführungsform)
  • Durch eine der Erscheinungsformen der Erfindung ist ein Verfahren zum Erzeugen von Signaturen geschaffen, die nicht nur den eine Generation früher erzeugten Signaturverlauf widerspiegeln, sondern auch noch weiter zurückliegende Signaturverläufe. Dieses Verfahren kann implementiert werden, um für weitere Zuverlässigkeit bei Signaturerzeugungssystemen und Zeitmarkierungssyste men mit einer einzelnen Vorrichtung zu sorgen, wenn ein Verlaufsverlust oder dergleichen auftritt. Beispielsweise spiegelt beim im Dokument 12 beschriebenen Signatursystem, wenn eine Signatur erzeugt wird, diese Signatur den bei den vorigen Operationen erzeugten Signaturverlauf sowie die n Signaturverläufe aus den n vorangegangenen Signaturerzeugungsoperationen wider. Beim Verifizieren wird eine Signatur dann als korrekt bestätigt, wenn mindestens eine Verknüpfung der n Verläufe bestätigt wird. Dieses Verfahren, das Verläufe aufrecht erhält, die sich über lange Periode erstrecken, sorgt hinsichtlich des Verlaufsverlustes für ein zuverlässigeres System, solange n aufeinanderfolgende Signaturverläufe nicht verloren gehen. Das Erzeugen von Signaturen in solcher Weise, dass sich n Signaturverläufe widerspiegeln, kann dadurch ausgeführt werden, dass die zu unterzeichnenden Daten auf dieselbe Weise wie im Schritt 10004A, 10005A aus der dritten Ausführungsform berechnet werden.
  • Wenn das Verifizieren so ausgeführt wird, dass eine Bestätigung nur dann erfolgt, wenn alle n Verknüpfungen bestätigt sind, ist keine Toleranz für einen Verlaufsverlust vorhanden, sondern eine Signaturfälschung ist weiter erschwert. Der Grund dafür besteht darin, dass das korrekte Aufrechterhalten aller n Verknüpfungen es erforderlich macht, die Vorabbilder für jeden der Nachricht Hashinformationen zu bestimmen, die in der zu verifizierenden Signatur enthalten sind.
  • Es wäre auch möglich, die Echtheit dann zu bestätigen, wenn k aus n Verknüpfungen bestätigt werden können (mit n > k). Dies erschwert die Signaturfälschung, während die Toleranz für Verlaufsverluste verbessert ist.
  • Diese Verifizierregeln können dann bestimmt werden, wenn eine Signatur erzeugt wird, oder sie können vorab bestimmt werden, wenn das System errichtet wird. Alternativ können die Regeln entsprechend Faktoren wie der technischen Umgebung, dem gewünschten Sicherheitsgrad für das Gesamtsystem und dergleichen bestimmt werden, wenn sich der Bedarf zum tatsächlichen Verifizieren einer Signatur ergibt.
  • Hinsichtlich der Frage, wie viele Mehrfachsätze von Verlaufsdaten sich während der Signaturerzeuqung widerspiegeln, wäre es außer dem Verbinden (Verketten) von Verlaufsdaten auch möglich, andere verifizierbare Verfahren zu verwenden, die für die oben beschriebenen Verifizierregeln geeignet sind. Zu Beispielen gehören XOR- oder Additionsoperationen sowie Hashfunktionen oder Kombinationen hiervon.
  • Ein spezielles Beispiel besteht darin, dass dann, wenn die Regel besteht, dass nur dann bestätigt wird, wenn alle n Verknüpfungen bestätigt sind, die digitale Signatur Sj für die Nachricht mj unter der Regel dadurch erzeugt wird, dass die Daten (Hash3(mj)||Lj) gelten, mit Lj = Hash2(Hash1(mj-n||Sj-n ||n)||Hash1(mj-(n-1)||Sj-(n-1)||n-1)|| ,,, ||Hash1(mj-1||Sj-1||1), wobei Hash1, Hash2 und Hash3 Hashfunktionen bezeichnen.
  • Die Zeitmarkierungsdienste in den Dokumenten 5 bis 7 verwenden ein Verfahren, bei dem das Verknüpfungsprotokoll als Baumstruktur erzeugt wird, um eine schnelle Bestätigung von Verknüpfungen zwischen mehreren Zeitmarkierungen zu erlauben. Diese Erfindung sorgt für in den Dokumenten 5 bis 7 nicht offenbarte Vorteile, wie verbesserte Toleranz gegen Verlaufsverluste und größere Schwierigkeiten bei einer Signaturfälschung.
  • Bei den oben beschriebenen Ausführungsformen sind Beispiele von Zeitmarkierungsdiensten angegeben, die eine digitale Signatur auf zu unterzeichnende Daten, gemeinsam mit Zeitinformation anwenden. Jedoch kann die Erfindung auch dazu verwendet werden, digitale Signaturen ohne Hinzufügung von Zeitinformation zu liefern, und um einen Dienst zum Bestätigen des Vorliegens unterzeichneter Daten aus Verlaufsdaten zu schaffen.
  • Die oben beschriebene Erfindung sorgt für Sicherheit und Nützlichkeit bei der Erzeugung und Verwendung digitaler Signaturen.
  • Die Beschreibung und die Zeichnungen sind demgemäß in veranschaulichendem statt in beschränkendem Sinn zu sehen. Es ist jedoch ersichtlich, dass daran verschiedene Modifizierungen und Änderungen vorgenommen werden können, ohne vom weiteren Schutzumfang der in den Ansprüchen Erfindung abzuweichen.

Claims (11)

  1. Verfahren zum sequentiellen Erzeugen digitaler Signaturen unter Verwendung von n Vorrichtungen, wobei jede der Vorrichtungen mit einem Signaturgenerator ausgerüstet ist, wobei in den einzelnen Verfahrensschritten: eine j-te Verlaufsdateneinheit HDj erzeugt wird, wenn eine j-te digitale Signatur SIGj (j ≥ 1) erzeugt wird; in jeder von m von den n Vorrichtungen (1 ≤ m < n), die in eine i-te (i > j) digitalen Signaturerzeugungsoperation einbezogen sind, die j-te Verlaufsdateneinheit HDj empfangen wird, falls die Vorrichtung nicht in die j-te digitalen Signaturerzeugungsoperation einbezogen war; die Verlaufsdateneinheit HDj gespeichert wird; und eine i-te digitale Signatur SIGi unter Verwendung wenigstens einer der L (1 ≤ Z < i) gespeicherten Verlaufdateneinheiten HDj1–HDjL erzeugt wird.
  2. Verfahren zum Erzeugen digitaler Signaturen gemäß Anspruch 1, wobei die j-te Verlaufsdateneinheit HDj entweder die digitale Signatur SIGj, die durch die j-te Signaturerzeugungsoperation erzeugt wurde, oder eine Dateneinheit ist, die bei der Erzeugung der digitalen Signatur SIGj verwendet wird, die durch die j-te Signaturerzeugungsoperation erzeugt wurde.
  3. Verfahren zum Erzeugen digitaler Signaturen nach Anspruch 1, wobei der Schritt des Erzeugens der Verlaufsdateneinheit HDj in einer der m Vorrichtungen durchgeführt wird, die in die i-te digitale Signaturerzeugungsoperation einbezogen sind.
  4. Verfahren zum Erzeugen digitaler Signaturen nach Anspruch 1 mit m > 1, wobei in dem Verfahren ferner in jeder der m Vorrichtungen beim Erzeugen einer digitalen Signatur unter Verwendung der m Vorrichtungen: durch jede der m Vorrichtungen die aktuellste Verlaufsdateneinheit lokal in m – 1 anderen Vorrichtungen gespeichert wird, die aktuellste Verlaufsdateneinheit für alle m Vorrichtungen aus m Einheiten der Verlaufsdateneinheit ausgewählt wird, die aus m – 1 Einheiten der von den m – 1 anderen Vorrichtungen gesendeten Verlaufsdateneinheiten und der lokal gespeicherten aktuellsten Verlaufsdateneinheit gebildet wird, und durch jede der m Vorrichtungen die ausgewählte aktuellste Verlaufsdateneinheit für alle m Vorrichtungen als eine der Verlaufsdateneinheiten verwendet wird, wenn die i-te digitale Signatur erzeugt wird.
  5. Vorrichtung zum Erzeugen digitaler Signaturen nach Anspruch 1, wobei: der Schritt des Erzeugens der Verlaufsdateneinheit HDj von einer der n-m Vorrichtungen (m < n) durchgeführt wird, die nicht in die Erzeugung der i-ten Signatur SIGi einbezogen wird; beim Schritt des Speicherns: in wenigstens einer der n-m Vorrichtungen die Verlaufsdateneinheit HDj zu den m Vorrichtungen gesendet wird; und in den m Vorrichtungen die gesendete Verlaufsdateneinheit HDj gespeichert wird.
  6. Verfahren zum Erzeugen digitaler Signaturen nach Anspruch 1, wobei eine Verlaufsdateneinheit HDi-1 und wenigstens eine Verlaufsdateneinheit HDk (k < i – 1) als Verlaufsdaten in dem Schritt des Erzeugens der i-ten digitalen Signatur SIGi verwendet wird.
  7. Verfahren zum Erzeugen digitaler Signaturen nach Anspruch 1, wobei ferner: eine i'-te digitale Signatur SIGi (i' > i) unter Verwendung der Verlaufsdateneinheit erzeugt wird, die beim Erzeugen der i-ten digitalen Signatur SIGi verwendet wurde.
  8. Verfahren zum Erzeugen und Verifizieren digitaler Signaturen, die durch das Verfahren nach Anspruch 1 erzeugt wurden, wobei: beim Verifizieren der digitalen Signatur SIGi unter Verwendung von mehreren Verlaufsdateneinheiten bestätigt wird, dass eine vorbestimmte Regel erfüllt wird; wobei die vorbestimmte Regel darin besteht, dass wenigstens eine der mehreren Verlaufsdateneinheiten beim Erzeugen der i-ten digitalen Signatur verwendet wurde.
  9. Verfahren zum Verifizieren digitaler Signaturen nach Anspruch 8, wobei die vorbestimmte Regel ferner während der Systemoperation, während der Signaturerzeugung, oder während der Signaturverifikation definiert wird.
  10. Verfahren zum Erzeugen und Verifizieren digitaler Signaturen, die unter Verwendung des Verfahrens nach Anspruch 7 erzeugt wurden, wobei: beim Verifizieren der digitalen Signatur SIGi bestätigt wird, dass eine vorbestimmte Regel erfüllt ist; wobei die vorbestimmte Regel darin besteht, dass die Verlaufsdateneinheit HDi in allen Schritten zum Erzeugen der digitalen Signatur SIGi (i' > i) verwendet wurde.
  11. Verfahren zum Verifizieren digitaler Signaturen nach Anspruch 10, wobei die Regel während der Systemoperation, während der Signaturerzeugung, oder während der Signaturverifikation definiert wird.
DE60127516T 2000-12-07 2001-02-22 Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift Expired - Lifetime DE60127516T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000377990 2000-12-07
JP2000377990A JP3899808B2 (ja) 2000-12-07 2000-12-07 ディジタル署名生成方法およびディジタル署名検証方法

Publications (2)

Publication Number Publication Date
DE60127516D1 DE60127516D1 (de) 2007-05-10
DE60127516T2 true DE60127516T2 (de) 2007-12-13

Family

ID=18846639

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60127516T Expired - Lifetime DE60127516T2 (de) 2000-12-07 2001-02-22 Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift

Country Status (4)

Country Link
US (1) US6816969B2 (de)
EP (1) EP1213873B1 (de)
JP (1) JP3899808B2 (de)
DE (1) DE60127516T2 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104750A (ja) 2002-07-17 2004-04-02 Hitachi Ltd ディジタル署名の検証方法
US7134021B2 (en) * 1999-10-22 2006-11-07 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
US20030059041A1 (en) * 2001-06-26 2003-03-27 Mackenzie Philip D. Methods and apparatus for two-party generation of DSA signatures
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
JP2003244139A (ja) * 2002-02-20 2003-08-29 Amano Corp 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体
US20030221105A1 (en) * 2002-05-20 2003-11-27 Autodesk, Inc. Extensible mechanism for attaching digital signatures to different file types
JP4520701B2 (ja) * 2003-02-28 2010-08-11 セイコープレシジョン株式会社 データの真正性が保証されるデータベースとそのバックアップシステム及び方法
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
JP4569118B2 (ja) * 2004-02-05 2010-10-27 株式会社日立製作所 署名検証ログを作成する検証結果記録方法とその装置
GB0411777D0 (en) * 2004-05-26 2004-06-30 Crypomathic Ltd Computationally asymmetric cryptographic systems
JP4683534B2 (ja) * 2005-01-13 2011-05-18 株式会社日立情報システムズ 電子文書管理システムと方法およびプログラム
JP4738003B2 (ja) * 2005-01-24 2011-08-03 日本電信電話株式会社 署名システム、署名方法
JP4700388B2 (ja) * 2005-03-30 2011-06-15 株式会社日立製作所 原本保証方法および原本保証システム
US7784102B2 (en) * 2005-12-15 2010-08-24 Xerox Corporation Method for secure access to document repositories
US7526530B2 (en) * 2006-05-05 2009-04-28 Adobe Systems Incorporated System and method for cacheing web files
WO2008028291A1 (en) 2006-09-08 2008-03-13 Certicom Corp. Authenticated radio frequency identification and key distribution system therefor
JP4455571B2 (ja) * 2006-11-21 2010-04-21 キヤノン株式会社 文書検証装置
CA2753779C (en) * 2010-11-29 2014-12-30 Research In Motion Limited System and method of signing a message
JP5753273B2 (ja) 2011-10-14 2015-07-22 株式会社日立製作所 データの真正性保証方法、管理計算機及び記憶媒体
KR101301609B1 (ko) * 2012-05-31 2013-08-29 서울대학교산학협력단 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US9135436B2 (en) * 2012-10-19 2015-09-15 The Aerospace Corporation Execution stack securing process
JP6026385B2 (ja) * 2013-10-25 2016-11-16 株式会社日立製作所 属性情報提供方法および属性情報提供システム
SG11202108123RA (en) * 2019-03-05 2021-08-30 Sepior Aps A method for providing a digital signature to a message

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3278721B2 (ja) 1990-08-02 2002-04-30 テルコーディア テクノロジーズ、インコーポレーテッド 数値文書にタイムスタンプを確実に押す方法
US5136646A (en) 1991-03-08 1992-08-04 Bell Communications Research, Inc. Digital document time-stamping with catenate certificate
US5610982A (en) * 1996-05-15 1997-03-11 Micali; Silvio Compact certification with threshold signatures
US5956404A (en) 1996-09-30 1999-09-21 Schneier; Bruce Digital signature with auditing bits
US6151675A (en) * 1998-07-23 2000-11-21 Tumbleweed Software Corporation Method and apparatus for effecting secure document format conversion
CN1319290A (zh) * 1998-08-18 2001-10-24 Rlj时标公司 借助于二进制链接方案的时间标记
US7610614B1 (en) * 1999-02-17 2009-10-27 Certco, Inc. Cryptographic control and maintenance of organizational structure and functions
US6738902B1 (en) * 2000-01-14 2004-05-18 Motorola, Inc. Systems and methods for controlling authorized intercept
DE60137757D1 (de) * 2001-06-11 2009-04-09 Daniel Buettiker Verfahren zur Sicherung von Daten bezüglich von Benutzern einer Infrastruktur mit öffentlichen Schlüsseln

Also Published As

Publication number Publication date
US20020108044A1 (en) 2002-08-08
EP1213873A3 (de) 2003-07-23
JP3899808B2 (ja) 2007-03-28
EP1213873B1 (de) 2007-03-28
US6816969B2 (en) 2004-11-09
DE60127516D1 (de) 2007-05-10
EP1213873A2 (de) 2002-06-12
JP2002175009A (ja) 2002-06-21

Similar Documents

Publication Publication Date Title
DE60127516T2 (de) Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift
DE60027054T2 (de) Verteiltes Zeitstempelungssystem
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE60102490T2 (de) Infrastruktur für öffentliche Schlüssel
DE602004010300T2 (de) System und verfahren zur erzeugung eines digitalen zertifikats
DE69628321T2 (de) Rückgewinnung eines angegriffenen wurzel-schlüssels
DE3303846C2 (de)
DE69333068T2 (de) Verfahren zur ausdehnung der gültigkeit eines kryptographischen zertifikats
DE60208614T2 (de) Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
CH694603A5 (de) Identifizierungsverfahren.
DE112013002752T5 (de) System und Verfahren zur Verifikation von Nachrichten bei Broadcast und Multicast Netzwerken
DE102004032057A1 (de) Verfahren und Anordnung zum Generieren eines geheimen Sitzungsschlüssels
EP3956846A1 (de) Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten sowie bezahlsystem
DE19829643C2 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
DE60318073T2 (de) Gruppensignaturschema
EP3743844B1 (de) Blockchain-basiertes identitätssystem
DE602004006222T2 (de) Verfahren zur Aufzeichnung eines Prüfungsergebnisses und Vorrichtung zur Erzeugung einer Signatur-Prüfungslogdatei
EP1278332A2 (de) Verfahren und System zur Echtzeitaufzeichnung mit Sicherheitsmodul
DE602004006373T2 (de) Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
DE19961151A1 (de) Verfahren zum Erstellen und Lesen eines neuen Zertifikatstyps zur Zertifizierung von Schlüsseln
EP1401144B1 (de) Verfahren zur Schlüsselzertifizierung und Validierung elektronischer Signaturen
WO2023036458A1 (de) Verfahren und transaktionssystem zum übertragen von token in einem elektronischen transaktionssystems
WO2020144123A1 (de) Verfahren und system zur informationsübermittlung
WO2024012624A1 (de) Verfahren zur sicheren generierung eines herausgebbaren tokens, verfahren zur sicheren vernichtung eines tokens und tokenherausgeber

Legal Events

Date Code Title Description
8364 No opposition during term of opposition