DE68919923T2 - Verfahren und Vorrichtung zur Authentifizierung. - Google Patents

Verfahren und Vorrichtung zur Authentifizierung.

Info

Publication number
DE68919923T2
DE68919923T2 DE68919923T DE68919923T DE68919923T2 DE 68919923 T2 DE68919923 T2 DE 68919923T2 DE 68919923 T DE68919923 T DE 68919923T DE 68919923 T DE68919923 T DE 68919923T DE 68919923 T2 DE68919923 T2 DE 68919923T2
Authority
DE
Germany
Prior art keywords
random
encrypted
confirmed
modulo
response
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
DE68919923T
Other languages
English (en)
Other versions
DE68919923D1 (de
Inventor
Kazuo C O Nippon Telegrap Ohta
Tatsuaki Nippon Telegr Okamoto
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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
Priority claimed from JP63156020A external-priority patent/JP2571607B2/ja
Priority claimed from JP8727289A external-priority patent/JP2805494B2/ja
Priority claimed from JP8727189A external-priority patent/JP2805493B2/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE68919923D1 publication Critical patent/DE68919923D1/de
Publication of DE68919923T2 publication Critical patent/DE68919923T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/3257Cryptographic 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 blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

    Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Authentifizierungsverfahren und eine Vorrichtung dafür, welche die Implementierung eines Kommunikationsprotokolls erlauben, um die Geheimhaltung von Konsumenten bei einer elektronischen Geldübertragung oder ähnlichen Zahlungstransaktionen über ein Telekommunikationssystem zu schützen.
  • In den letzten Jahren ist der Ausgleich von Konten durch elektronische Geldübertragung oder mittels IC-Karte unter Benutzung eines Telekommunikationssystems populär geworden. Ferner ist der Gebrauch einer vorausbezahlten Vielzweckkarte oder eines elektronischen Portemonnaies als Ersatz für Bargeld Gegenstand vielfältiger Untersuchungen. Sobald die Geldzirkulation über ein solches System unter die Kontrolle einer bestimmten Organisation fällt, werden private Konsumenteninformationen über deren Konsumverhalten etc. gesammelt oder durch diese Organisation festgehalten, was ernste Probleme im Hinblick auf die persönliche Privatsphäre aufwirft.
  • Eine mögliche Lösung für dieses Problem, die bislang vorgeschlagen wurde, ist ein sicheres Geldübertragungssystem, bei dem der Geldtransfer nicht nachverfolgbar ist, wie durch David Chaum et al., zum Beispiel im U.S. Patent No. 4,759,063 mit dem Titel "Blind Signature System" und in "Security without Identification: Transaction Systems to Make Big Brother Obsolute", Communications of ACM, Band 28, Nr. 10, Oktober 1985, offenbart.
  • Das Blindensignatursystem von Chaum et al, kann kurz in der folgenden Übersicht zusammengefaßt werden.
  • Ein Konsument (ein Signaturklient: B) erzeugt durch Verschlüsseln mit Zufallszahlen eine transformierte Nachricht z, die den Inhalt einer Transaktion wie einen Geldbetrag beinhaltet (das heißt die Originalnachricht wird verdeckt) und überträgt die transformierte Nachricht z an eine Bank (einen Bestätiger: A). Nach Prüfen der Gültigkeit des Konsumenten B bucht die Bank A den spezifizierten Geldbetrag zu Lasten des Konsumentenkontos ab, signiert die transformierte Nachricht z unter Verwendung eines Geheimschlüssels d entsprechend dem abgebuchten Geldbetrag und schickt dann die signierte Nachricht z' an den Konsumenten B zurück. Der Konsument B entfernt den Einfluß der Zufallszahlen von der Nachricht z' (er deckt die Nachricht z' auf), um eine Variante m' der Originalnachricht m zu erhalten, in welcher die Signatur der Bank A erhalten ist, und der Konsument B gibt sie an ein Geschäft (Verifizierer: C) als Zahlung weiter. Durch Bestätigen der an die Nachricht m' angehängten Banksignatur A, beurteilt das Geschäft C, daß die Nachricht m' einen gewissen Geldbetrag wert ist. Das Geschäft C erhält dann den entsprechenden Geldbetrag, wenn sie die Nachricht m' an die Bank A weitergegeben hat. Das heißt, die Nachricht m' besitzt die Funktion eines Geldscheins.
  • Da die Nachricht z unter Anwendung auf Zufallszahlen auf die Originalnachricht m geschaffen wurde, können die Bank und ein Dritter die transformierte Nachricht z nicht mit dem Original m in Verbindung bringen. Selbst dann, wenn die Bank und das Geschäft sich austauschen, können sie die Note m' nicht mit der transformierten Nachricht z in Zusammenhang bringen.
  • Mit anderen Worten, es ist unmöglich herauszufinden, wer die Note m' ausgegeben hat. So erlaubt das von Chaum et al. vorgeschlagene Verfahren es nicht, daß der Ursprung (der Konsument) der Note m' ermittelt werden kann (das heißt er ist unverfolgbar) und sichert somit die Privatsphäre des Konsumenten ebenso wie sein Konsumverhalten.
  • Da jedoch bei dem obigen Verfahren die Bank A lediglich die Nachricht z vom Konsumenten B unter direkter Verwendung eines Geheimschlüssels d zu unterzeichnen braucht, ist es nicht machbar, die Möglichkeit völlig auszuschließen, daß der Konsument B die Signatur der Bank A decodiert oder die Bank zur Offenlegung des Geheimschlüssels d führt. Sollte der Konsument B bei der Erlangung des Geheimschlüssels d Erfolg haben, könnte er die Banksignatur A frei erzeugen und mißbrauchen.
  • Demgemäß kann dieses Blindsignatursystem bezüglich der Sicherheit nicht als absolut geschützt angesehen werden.
  • Zusammenfassung der Erfindung
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Authentifizierungsverfahren und eine Vorrichtung zu schaffen, die die Verwendung des Blindsignaturschemas erlauben, aber einen höheren Grad an Sicherheit gewährleisten.
  • Gemäß dem Authentifizierungsverfahren der vorliegenden Erfindung wird bei einer Benutzer- Authentifizierung für einen Antragsteller B, durch das dessen Identität von einem Bestätiger A einem Verfizierer C authentifiziert wird, der Bestätiger A mit einem Anfangsantwortgenerator und einer Bestätigungsvorrichtung und der Antragsteller B mit einem Zufallsgenerator, einem Anfangsantwortverschlüsseler, einem Anfrageverschlüsseler und einem Entschlüsseler versehen, während der Verifizierer C mit einer Verifiziervorrichtung versehen wird. Die Benutzer- Authentifizierung umfaßt die folgenden Schritte:
  • Schritt 1: Der Bestätiger A überträgt dem Anspruchsteller B eine Anfangsantwort x', die vom Anfangsantwortgenerator unter Benutzung einer Zufallszahl r erzeugt wurde.
  • Schritt 2: Der Anspruchsteller B gibt die Anfangsantwort x', die er vom Bestätiger A erhalten hat, und die Geheimzufallskomponenten, die vom Zufallsgenerator produziert werden, in den Anfangsantwortverschlüsseler ein, um eine verschlüsselte Anfangsantwort x" zu erzeugen, die an den Verifizierer C übertragen wird.
  • Schritt 3: Der Verifizierer C überträgt eine Anfrage β an den Anspruchsteller B.
  • Schritt 4: Der Anspruchsteller B gibt die Anfrage ß, die er vom Verifizierer C erhalten hat, und die vorher generierten Zufallskomponenten in den Anfrageverschlüsseler ein, um eine verschlüsselte Anfrage β' zu schaffen, die dem Bestätiger A übertragen wird.
  • Schritt 5: Der Bestätiger A schafft eine bestätigte Antwort z entsprechend der verschlüsselten Anfrage β' durch die Bestätigungsvorrichtung unter Verwendung eines eigenen Geheimschlüssel s und die Zufallszahl r, und schickt die bestätigte Antwort z an den Anspruchsteller B zurück.
  • Schritt 6: Der Anspruchsteller B gibt die bestätigte Antwort z' und die vorher generierten Zufallskomponenten in den Entschlüsseler ein, um den Einfluß der Zufallskomponenten zu beseitigen, um dadurch eine entschlüsselte bestätigte Antwort z' zu schaffen, die an den Verifizierer geschickt wird.
  • Schritt 7: Der Verifizierer C gibt die entschlüsselte bestätigte Antwort z' in die Verifiziervorrichtung ein, um zu prüfen, ob die bestätigte Antwort z' eine korrekte Antwort auf die verschlüsselte Anfangsantwort x", die er vom Anspruchsteller B vorher erhalten hat, und auf die vorher an diesen geschickte Anfrage β ist.
  • Die Schritte 1 bis 7 können eine Vielzahl von Malen wiederholt werden.
  • Im obigen Authentifizierungsverfahren wird die Korrespondenz zwischen den Informationen (x', β', z), die zwischen dem Anspruchsteller B und dem Bestätiger A übertragen werden, und den Informationen (x", β, z'), die zwischen dem Verifizierer C und dem Anspruchsteller B übertragen werden, dadurch geheimgehalten, daß die Zufallskomponenten auf der Seite des Anspruchstellers B geheimgehalten werden. So kann bei dieser Benutzer-Authentifizierung der Bestätiger A dem Verifizierer C beweisen, daß er die Identität des Anspruchstellers B feststellt, ohne die Identität des Anspruchstellers offenzulegen. Zusätzlich kann der Anspruchsteller B den Geheimschlüssel s vom Bestätiger A nicht stehlen, da der Bestätiger A die bestätigte Antwort z durch Verschlüsseln seines Geheimschlüssels s mit einer Zufallszahl r produziert. Dadurch ist dieses Authentifizierungssystem ausgezeichnet bezüglich der Sicherheit.
  • In einem Nachrichten-Authentifizierungsverfahren der vorliegenden Erfindung, bei dem die Gültigkeit der Nachricht eines Signaturklienten von einem Bestätiger A einem Verfizierer C bestätigt wird, wird der Bestätiger A mit einem Anfangsantwortgenerator und einer Bestätigungsvorrichtung ausgestattet, der Signaturklient B wird mit einem Zufallsgenerator, einem Anfangsantwortverschlüsseler, einem Anfragegenerator und einem Entschlüsseler ausgestattet, und der Verifizierer C wird mit einer Verifiziervorrichtung ausgestattet. Die Authentifizierung beinhaltet folgende Schritte:
  • Schritt 1: Der Bestätiger A überträgt dem Signaturklienten B eine Anfangsantwort x', die vom Anfangsantwortgenerator mittels einer Zufallszahl r produziert wird.
  • Schritt 2: Der Signaturklient B gibt die Anfangsantwort x', die er vom Bestätiger A erhalten hat, und geheime Zufallskomponenten, die vom Zufallsgenerator produziert werden, in den Anfangsantwortverschlüsseler ein, um eine verschlüsselte Anfangsantwort x" zu schaffen, und gibt die verschlüsselte Anfangsantwort x" und die zu signierende Nachricht m in den Anfragegenerator ein, um eine Anfrage β und eine verschlüsselte Anfrage β', die durch Verschlüsseln der Anfrage β mittels der Zufallskomponenten produziert wird, zu erhalten.
  • Schritt 3: Der Bestätiger A produziert eine bestätigte Antwort z entsprechend der verschlüsselten Anfrage β' mittels der Bestätigungsvorrichtung unter Verwendung eines eigenen Geheimschlüssels s und der Zufallszahl r, und überträgt die bestätige Antwort z dem Signaturklienten B.
  • Schritt 4: Der Signaturklient B gibt die bestätigte Antwort z und die vorher generierten Zufallskomponenten in den Entschlüsseler ein, um den Einfluß der Zufallskomponenten zu eliminieren, und schafft dabei eine entschlüsselte bestätigte Antwort z' entsprechend der Nachricht m. Der Signaturklient B überträgt die bestätigte Antwort z' zusammen mit der Nachricht m und der Anfrage β dem Verifizierer C.
  • Schritt 5: Der Verifizierer C gibt die entschlüsselte bestätige Antwort z', die Nachricht m und die Anfrage β in die Verifiziervorrichtung ein und prüft dabei, ob die Anfrage β und die bestätigte Antwort z' eine korrekte Signatur für die Nachricht m bilden.
  • Im obigen Authentifizierungsverfahren wird die Korrespondenz zwischen den Informationen (x', β', z), die zwischen dem Signaturklienten B und dem Bestätiger A übertragen werden, und den Informationen (m, β, z'), die zwischen dem Verifizierer und dem Signaturklienten B übertragen werden, dadurch geheimgehalten, daß die Zufallskomponenten auf der Seite des Signaturklienten B geheimgehalten werden. Wie bei dem oben genannten Benutzer-Authentifizierungssystem kann der Signaturklient B den Geheimschlüssel s nicht stehlen, da der Bestätiger A die bestätigte Antwort z durch Verschlüsseln seines Geheimschlüssels s mit der Zufallszahl r schafft. Demgemäß ist dieses Authentifizierungssystem ebenfalls ausgezeichnet bezüglich der Sicherheit.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Diagramm, das die Grundprozedur des Benutzer-Authentifizierungsverfahrens der vorliegenden Erfindung zeigt;
  • Fig. 1A-1C sind Blockdiagramme, die die Grundbeschaffenheit eines Bestätigers A, eines Anspruchstellers B und eines Verfizierer C für das Benutzer-Authentifizierungsverfahren in Fig. 1 darstellen;
  • Fig. 2 ist ein Diagramm, das die Grundprozedur des Nachrichten-Authentifizierungsverfahrens der vorliegenden Erfindung zeigt;
  • Fig. 2A-2C sind Blockdiagramme, die die Grundbeschaffenheit eines Bestätigers A, eines Signaturklienten und eines Verifizierers C für das Nachrichten-Authentifizierungsverfahren in Fig. 2 darstellen;
  • Fig. 3 ist ein Diagramm, das eine konkrete Prozedur des Benutzer-Authentifizierungverfahrens gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 4 ist ein Diagramm, das eine konkrete Prozedur des Nachrichten-Authentifizierungsverfahrens gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 5 ist ein Blockdiagramm, das die Konstruktion des Bestätigers A für beide, die Benutzer-Authentifizierung und die Nachrichten-Authentifizierung, in der ersten Ausführungsform der Erfindung darstellt;
  • Fig. 6 ist ein Blockdiagramm, das die Konstruktion des Anspruchstellers B für die Benutzer- Authentifizierung in der ersten Ausführungsform der Erfindung darstellt;
  • Fig. 7 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Benutzer-Authentifizierung in der ersten Ausführungsform der Erfindung darstellt;
  • Fig. 8 ist ein Blockdiagramm, das die Konstruktion des Signaturklienten B für die Nachrichten-Authentifizierung in der ersten Ausführungsform der Erfindung darstellt;
  • Fig. 9 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Nachrichten- Authentifizierung in der ersten Ausführungsform der Erfindung darstellt;
  • Fig. 10 ist ein Diagramm, das eine konkrete Prozedur des Benutzer-Authentifizierungsverfahrens gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 11 ist ein Diagramm, das eine konkrete Prozedur des Nachrichten-Authentifizierungsverfahrens gemäß der zweiten Ausführungsform der Erfindung zeigt;
  • Fig. 12 ist ein Blockdiagramm, das die Konstruktion des Bestätigers A für beide, die Benutzer-Authentifizierung und die Nachrichten-Authentifizierung, in der zweiten Ausführungsform der Erfindung darstellt;
  • Fig. 13 ist ein Blockdiagramm, das die Konstruktion eines Anspruchstellers B für die Benutzer-Authentifizierung in der zweiten Ausführungsform der Erfindung darstellt;
  • Fig. 14 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Benutzer- Authentifizierung in der zweiten Ausführungsform der Erfindung darstellt;
  • Fig. 15 ist ein Blockdiagramm, das die Konstruktion des Signaturklienten B für die Nachrichten-Authentifizierung in der zweiten Ausführungsform der Erfindung darstellt;
  • Fig. 16 ist ein Blockdiagramm, daß die Konstruktion des Verifizieres C für die Nachrichten- Authentifizierung in der zweiten Ausführungsform der Erfindung darstellt;
  • Fig. 17 ist ein Diagramm, das eine konkrete Prozedur des Benutzer-Authentifizierungssystems gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 18 ist ein Diagramm, das eine konkrete Prozedur des Nachrichten-Authentifizierungsverfahrens gemäß der dritten Ausführungsform der Erfindung zeigt;
  • Fig. 19 ist ein Blockdiagramm, das die Konstruktion des Bestätigers A für beide, die Benutzer-Authentifizierung und die Nachrichten-Authentifizierung, in der dritten Ausführungsform der Erfindung darstellt;
  • Fig. 20 ist ein Blockdiagramm, das die Konstruktion des Anspruchstellers B für die Benutzer- Authentifizierung in der dritten Ausführungsform der Erfindung darstellt;
  • Fig. 21 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Benutzer- Authentifizierung in der dritten Ausführungsform der Erfindung darstellt;
  • Fig. 22 ist ein Blockdiagramm, das die Konstruktion des Signaturklienten B für die Nachrichten-Authentifizierung in der dritten Ausführungsform der Erfindung darstellt;
  • Fig. 23 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Nachrichten- Authentifizierung in der dritten Ausführungsform der Erfindung darstellt;
  • Fig. 24 ist ein Diagramm, das eine konkrete Prozedur für das Benutzer-Authentifizierungssystem gemäß einer vierten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 25 ist ein Diagramm, das eine konkrete Prozedur des Nachrichten-Authentifizierungsverfahrens gemäß der vierten Ausführungsform der vorliegenden Erfindung zeigt:
  • Fig. 26 ist ein Blockdiagramm, das die Konstruktion eines Bestätigers A für beide, die Benutzer-Authentifizierung und die Nachrichten-Authentifizierung, in der vierten Ausführungsform der Erfindung darstellt;
  • Fig. 27 ist ein Blockdiagramm, das die Konstruktion eines Anspruchstellers B für die Benutzer-Authentifizierung in der vierten Ausführungsform der Erfindung darstellt;
  • Fig. 28 ist ein Blockdiagramm, das die Konstruktion eines Verifizierers C für die Benutzer-Authentifizierung in der vierten Ausführungsform der Erfindung darstellt;
  • Fig. 29 ist ein Blockdiagramm, das die Konstruktion des Signaturklienten B für die Nachrichten-Authentifizierung in der vierten Ausführungsform der Erfindung darstellt; und
  • Fig. 30 ist ein Blockdiagramm, das die Konstruktion des Verifizierers C für die Nachrichten- Authentifizierung in der vierten Ausführungsform der Erfindung darstellt:
  • Beschreibung der bevorzugten Ausführungsformen
  • Fig. 1 zeigt die Grundprozedur, um die Benutzer-Authentifizierung gemäß dem Authentifizierungssystem der vorliegenden Erfindung durchzuführen. Der Bestätiger A, der Anspruchsteller B und der Verifizierer C übertragen und erhalten Informationen zwischen sich via Telekommunikationsleitungen. Der Bestätiger A, identifiziert durch 100 in Fig. 1A, beinhaltet einen Anfangsantwortgenerator 110 und eine Bestätigungsvorrichtung 120. Der Anspruchsteller B, identifiziert durch 200 in Fig. 1B, beinhaltet einen Zufallsgenerator 210, einen Anfangsantwortverschlüsseler 215, einen Anfrageverschlüsseler 220 und einen Entschlüsseler 230. Der Verifizierer C, identifiziert durch 300 in Fig. 1 C, beinhaltet einen Anfragegenerator 320 und eine Verifiziervorrichtung 330.
  • Die Benutzer-Authentifizierung geschieht, indem sie Schritten folgt, wie sie unten in Verbindung mit Fig. 1 erwähnt werden.
  • Schritt 1: Der Bestätiger A überträgt dem Anspruchsteller B eine Anfangsantwort x', die vom Anfangsantwortgenerator mittels einer Zufallszahl r produziert wird.
  • Schritt 2: Der Anspruchsteller B gibt die Anfangsantwort x', die er vom Bestätiger A erhalten hat, und Zufallskomponenten, die vom Zufallsgenerator 210 produziert werden, in den Anfangsantwortverschlüsseler 215 ein, um eine verschlüsselte Anfangsantwort x zu erzeugen, die er dem Verifizierer C überträgt.
  • Schritt 3: Der Verifizierer C erzeugt eine Anfrage β durch den Anfragegenerator 320 und überträgt die Anfrage β dem Anspruchsteller B.
  • Schritt 4: Der Anspruchsteller B gibt die Anfrage β, die er vom Verifizierer C erhalten hat, und die oben genannten Zufallskomponenten in den Anfrageverschlüsseler 220 ein, um eine verschlüsselte Anfrage β' zu schaffen, die dem Bestätiger A übertragen wird.
  • Schritt 5: Der Bestätiger A schafft eine bestätigte Antwort z entsprechend der verschlüsselten Anfrage β' durch die Bestätigungsvorrichtung 120 unter Benutzung eines eigenen Geheimschlüssels s und der Zufallszahl r und schickt die bestätigte Antwort z an den Anspruchsteller B zurück.
  • Schritt 6: Der Anspruchsteller B gibt die bestätigte Antwort z und die oben genannten Zufallskomponenten in den Entschlüsseler 230 ein, durch welchen der Einfluß der Zufallskomponenten, die vom Anspruchsteller B für die Anfrage β in Schritt 4 angewandt wurden, eliminiert wird, um eine bestätigte Antwort z' zu erhalten, die dem Verifizierer C übertragen wird.
  • Schritt 7: Der Verifizierer C gibt die bestätigte Antwort z' in die Verifiziervorrichtung 330 ein und prüft dadurch, ob die bestätigte Antwort z' eine korrekte Antwort ist bezüglich beiden, der verschlüsselten Anfangsantwort x", vorher erhalten, und der Anfrage β, vorher übertragen.
  • Da bei dem obigen Authentifizierungssystem die Korrespondenz zwischen der Information (x', β' z), die zwischen dem Antragsteller B und dem Bestätiger A übertragen wird, und der Information (x", β, z'), die zwischen dem Verifizierer C und dem Antragsteller B übertragen wird, dadurch geheimgehalten wird, daß die Zufallskomponenten auf der Seite des Antragstellers B geheimgehalten werden, ist es für den Bestätiger A möglich, dem Verifizierer C die lndentität des Antragstellers B zu versichern, ohne ihn zu offenbaren. Darüberhinaus konnten die Erfinder der vorliegenden Anmeldung bestätigen, daß der Antragsteller B den Geheimschlüssel s von dem Bestätiger A deshalb nicht stehlen kann, weil der Bestätiger A die bestätigte Antwort z durch Verschlüsseln des Geheimschlüssels s mit der Zufallszahl r erzeugt ("An Abuse of Zero Knowlege Proofs, Measures to Protect It, and Its Applications," T. Okamoto and K. Ohta, The Proceedings of The 1988 Workshop on Cryptography and Information Security, Kobe, Japan, 28. - 29. Juli 1988 und "Divertible Zero Knowledge Interactive Proofs and Commutative Random Self-Reducibility," T. Okamoto und K. Ohta, Proceedings of Eurocrypt '89, 10. - 13. April 1989). Demgemäß überbietet das Authentifizierungssystem der vorliegenden Erfindung im Hinblick auf Sicherheit das von Chaum et al. vorgeschlagene Blindsignatursystem.
  • Fig. 2 zeigt die Grundprozedur für die Nachrichten-Authentifizierung gemäß dem Authentifizierungssystem der vorliegenden Erfindung. Der Bestätiger A, der Signaturklient B und der Verifizierer C übertragen und empfangen Informationen zwischen sich über Telekommunikationsleitungen. Der Bestätiger A, identifiziert durch 100 in Fig. 2A, enthält einen Anfangsantwortgenerator 110 und eine Bestätigungsvorrichtung 120. Diese Ausgestaltung ist genau die gleiche wie für die in Fig. 1 gezeigte Benutzer-Authentifizierung. Der Signaturklient B, in Fig. 2B durch 200 identifiziert, enthält einen Zufallsgenerator 210, einen Anfangsantwortverschlüsseler 215, einen Anfragenverschlüsseler 250 und einen Entschlüsseler 260. Der Verifizierer C, in Fig. 2C durch 300 identifiziert, enthält eine Verifiziervorrichtung 340.
  • Die Nachrichten-Authentifizierung umfaßt die folgenden Schritte.
  • Schritt 1: Der Bestätiger A überträgt an den Signaturklienten B eine Anfangsantwort x', die von dem Anfangsantwortgenerator 110 unter Verwendung von Zufallszahlen r erzeugt wird.
  • Schritt 2: Der Signaturklient B gibt die von dem Bestätiger A erhaltene Anfangsantwort x' und geheime Zufallskomponenten, die von dem Zufallsgenerator 210 erzeugt werden, in den Anfangsantwortverschlüsseler 215 ein, um eine verschlüsselte Anfangsantwort x" zu erzeugen. Die verschlüsselte Anfangsantwort x" und eine zu signierende Nachricht m werden in den Anfragegenerator 250 eingegeben, um eine Anfrage β und eine verschlüsselte Anfrage β', die durch Verschlüsseln der Anfrage β mit Zufallszahlen erzeugt wird, zu schaffen. Die verschlüsselte Anfrage β' wird an den Bestätiger A gesandt.
  • Schritt 3: Der Bestätiger A erzeugt mittels der Bestätigungsvorrichtung 120 eine bestätigte Antwort z entsprechend der empfangenen verschlüsselten Anfrage β' und zwar unter Benutzung eines Geheimschlüssels s des Bestätigers A und der Zufallszahlen r. Die bestätigte Antwort z wird an den Signaturklienten B gesandt.
  • Schritt 4: Der Signaturklient B gibt die bestätigte Antwort z und die oben erwähnten Zufallskomponenten in den Entschlüsseler 260 ein, um den Einfluß der Zufallskomponenten zu entfernen, die von dem Signaturklienten B in Schritt 2 auf die Anfangsantwort x' angewandt wurden, und um dadurch eine bestätigte Antwort z' entsprechend der Nachricht m zu erzeugen. Die Nachricht m wird zusammen mit der Anfrage β an den Verifizierer C gesandt.
  • Schritt 5: Der Verifizierer C gibt die bestätigte Antwort z', die Nachricht m, die Anfrage β in die Verifiziervorrichtung 340 ein und prüft, ob die Anfrage β und die bestätigte Antwort z' eine korrekte Signatur entsprechend der Nachricht m darstellen.
  • Bei diesem Authentifizierungssystem kann die Korrespondenz zwischen der Information (x', β', z), die zwischen dem Signaturklienten B und dem Bestätiger A übertragen wird, und der Information (m, β, z'), die zwischen dem Verifizierer C und dem Signaturklienten B übertragen wird, dadurch geheimgehalten werden, daß die Zufallskomponenten auf der Seite des Signaturklienten B geheimgehalten werden. Darüberhinaus erzeugt der Bestätiger A wie im Fall des zuvor erwähnten Benutzer-Authentifizierungssystems die bestätigte Antwort z durch Verschlüsselung mit seinem Geheimschlüssel s, so daß der Signaturklient B den Geheimschlüssel s des Bestätigers A nicht stehlen kann. Demgemäß weist dieses System eine hohe Sicherheit auf.
  • Das Blindsignatursystem von Chaum ist nicht absolut sicher, wie voranstehend ausgeführt. Darüberhinaus basiert das Chaum-System auf der RSA-Kryptographie einer großen Menge von Berechnungen und stellt daher ein Problem dar insofern, als eine große Verarbeitungsfähigkeit erforderlich ist, um eine signierte Antwort z' von einer Antwort z unter Verwendung eines Geheimschlüssels d zu erhalten (bei dem zuvor erwähnten Beispiel des Blindsignatursystems wird der Bank A eine große Rechenleistung abverlangt). Konkret ausgedrückt erfordert das RSA-Kryptographieschema einen Durchschnitt von 768 Multiplikationen (einschließlich Modulo N Rechnungen) von Ganzzahlen mit 200 Stellen.
  • Nebenbei bemerkt wurde ein schnelles Authentifizierungssystem von Fiat und Shamir ( U.S. Patent Nr. 4,748,688 erteilt für Shamir und Fiat, und A. Fiat und A. Shamir, "How to prove yourself: Practical Solutions to Identification and Signature Problems," Proceedings of Crypto 86, Seiten 18 - 1 - 18 - 17 Santa Barbara, August 1986).
  • Bei dem Fiat-Shamir-Verfahren besteht die Berechnungsmenge in t(k + 2)12 Multiplikationen (einschließlich Modulo N Rechnungen) im Mittel (die Bedeutungen von k und t werden später beschrieben), und insbesondere wird empfohlen, k = 5 und t = 4 zu wählen. In einem solchen Fall ist die Anzahl von Multiplikationen, die bei dem Fiat-Shamir-Verfahren erforderlich ist, 14. Dieses Verfahren bringt daher eine wesentliche Verringerung der Rechenleistung mit sich verglichen mit dem auf dem RSA-Schema beruhenden Signaturverfahren. Konkret ausgedrückt kann, da 141768 = 0,02, die Authentifizierung mit 2% der Rechenleistung erreicht werden, die für das RSA-Schema erforderlich ist.
  • Der Umriß des Fiat-Shamir-Verfahrens ist wie folgt
  • Als erstes erzeugt eine Zentrum, dem Vertrauen entgegengebracht wird (Vertrauenszentrum), durch die folgende Prozedur k Geheimschlüssel sj (wobei 1 ≤ j ≤ k, und k ein Parameter ist, der größer als 1 ist und den Sicherheitsgrad bestimmt) für einen Benutzer, der eine ID als Beweis seiner Identität verwendet. Hierbei ist N öffentlich gemachte Information, die ausgedrückt werden kann als N = P x Q, wobei P und Q geheime Primzahlen sind. Ferner ist f eine Einwegfunktion, die öffentlich gemacht ist.
  • Schritt 1: xj = f(ID, j) (1 ≤ j ≤ k) wird errechnet durch Benutzen der Einwegfunktion f.
  • Schritt 2: sj = [xj] (mod N) wird errechnet durch Benutzen der Primfaktoren P und Q von N für jedes xj. Das heißt, s = sj (mod N). Anmerkung) Bei dem Fiat-Shamir-Verfahren wird sj = [1/xj] (mod N) benutzt, obwohl man das gleiche Ergebnis auch erhalten kann, wenn sj wie oben erwähnt definiert wird.
  • Schritt 3: Das Zentrum gibt geheim k Geheimschlüssel sj an den Benutzer und veröffentlicht die Funktion f und die zusammengesetzte Zahl N.
  • Die Berechnung der Quadratwurzel in (mod N) kann nur ausgeführt werden, wenn die Primfaktoren (P und O) von N bekannt sind. Das Verfahren ist beispielsweise offenbart in Rabin, M.O., "Digitalized Signatures and Public-Key Functions as Intractable as Factorization," Tech. Rep. MIT/LCS/TR-212, MIT, Lab. Comput. Sci., 1979.
  • Das Benutzer-Authentifizierungssystem ist wie folgt.
  • Ein Benutzer A beweist einem Verifizierer C mit folgender Prozedur, daß er A ist.
  • Schritt 1: A schickt ID an C.
  • Schritt 2: C errechnet die Information xj. = f(ID, j) (1 ≤ j ≤ k).
  • Danach werden die nächsten Schritte 3 bis 6 wiederholt für i = 1 ..., t (t ist ein Parameter, der die Sicherheit des Systems bestimmt und einen Wert größer als 1 hat).
  • Schritt 3: A erzeugt eine Zufallsnummer ri, errechnet x'i = r (mod N) und sendet es an C.
  • Schritt 4: C erzeugt a mit Bits (eil, ..., ejk), jedes entweder 0 oder 1, und sendet es an A.
  • Schritt 5: A erzeugt eine signierte Nachricht zib, errechnet durch
  • und sendet die signierte Nachricht zi an C.
  • Schritt 6: C kontrolliert, daß
  • Entsprechend dem Verfahren der Erzeugung von zi gilt,
  • so daß der Verifizierer C A's Identitätsbeweis nur dann akzeptiert, wenn alle t Kontrollen erfolgreich sind.
  • Die Wahrscheinlichkeit, daß der Verifizierer C irrtümlich einen falschen Bestätiger für A hält, ist 112kt, wobei k die Anzahl von Geheimschlüsseln sj ist, die von dem Bestätiger verwaltet werden, und t die Anzahl von Kommunikationen der Nachricht definiert.
  • Das Voranstehende ist das Benutzer-Authentifizierungssystem nach dem Fiat-Shamir-Verfahren, und das Nachrichten-Authentifizierungssystem kann durch folgende Modifizierung der oben erwähnten Prozedur implementiert werden.
  • Zunächst werden k x t Bits mit f(m, x&sub1;, ..., x't), erhalten durch Anwenden der Einwegfunktion f auf die Nachricht m und (x'1, ..., x't), als die Bitkette (eij) in der obigen Prozedur angesehen und (ID, m, (eij), z&sub1;, ..., zt) wird als eine signierte Nachricht an den Verifizierer gesandt.
  • Wie oben erwähnt, ist das Fiat-Shamir-Verfahren ein schnelles Authentifizierungssystem, jedoch ist bislang kein nicht-zurückverfolgbares Authentifizierungssystem unter Einsatz des Fiat-Shamir-Verfahrens vorgeschlagen worden.
  • Die Fig. 3 bzw. 4 zeigen Prozeduren für die Benutzer-Authentifizierung und die Nachrichten- Authentifizierung im Fall des Anwendens des obigen Fiat-Shamir-Verfahrens auf die Authentifizierungssysteme der vorliegenden Erfindung, die in den Fig. 1 und 2 gezeigt sind. Die Fig. 5 bis 9 verdeutlichen die Beschaffenheit des Bestätigers A, des Antragsstellers oder Signaturklienten B und des Verifizierers C zur Durchführung der Authentifizierungen.
  • Die Benutzer-Authentifizierung in Fig. 3 verwendet das Benutzer-Authentifizierungssystem des Fiat-Shamir-Verfahrens zwischen dem Bestätiger A und dem Antragsteller B sowie zwischen dem Antragsteller B und dem Verifizierer C und implementiert ein nicht-zurückverfolgbares Benutzer-Authentifizierungssystem, indem auf der Seite des Antragstellers B Information geheimgehalten wird, die die beiden Fiat-Shamir-Verfahren miteinander in Verbindung bringt.
  • Wie im Fall des Fiat-Shamir-Verfahrens macht ein Vertrauenszentrum eine zusammengesetzte Nummer N und eine Einwegfunktion f öffentlich, errechnet einen Geheimschlüssel s, der Identifizierungsinformation ID des Bestätigers A entspricht und s²(mod N) = x = f(ID) erfüllt, und sendet den Geheimschlüssel s an den Bestätiger A. Unter Bezugnahme nun auf die Fig. 5 bis 7, die die Beschaffenheit 100, 200 und 300 des Bestätigers A, des Antragstellers B bzw. des Verifizierers C darstellen, wird die Benutzer-Authentifizierungsprozedur in Verbindung mit dem Fall beschrieben, wo k = 1.
  • Der Bestätiger A nimmt die folgende Prozedur, um die Gültigkeit des Antragstellers B dem Verifizierer C zu beweisen.
  • Schritt S&sub1;: Der Bestätiger A sendet Identifizierungsinformation ID an den Antragsteller B und den Verifizierer C.
  • Schritt S&sub2;: Der Bestätiger A, der Antragsteller B und der Verifizierer C berechnen Information x = f(ID) unter Verwendung von Einwegfunktionen 105, 205 bzw. 305.
  • Als nächstes werden die nachfolgenden Schritte S&sub3; bis S&sub6; t Male wiederholt.
  • Schritt S&sub3;: Der Bestätiger A erzeugt eine Anfangsantwort x' mittels eines Anfangsantwortgenerators 110 und sendet sie an den Antragsteller B.
  • Der Anfangsantwortgenerator 110 kann von einem Zufallsgenerator 111 und einem Modulo- Rechner 112 gebildet werden. Eine Zufallszahl r wird von dem Zufallsgenerator 111 erzeugt, und x' wird von dem Modulo-Rechner 112 unter Verwendung von x' = x r² (mod N) berechnet.
  • Schritt S&sub4;: Nach Empfang der Anfangsantwort x' erzeugt der Antragsteller B ein Zufallsbit e, das 0 oder 1 ist, und eine Zufallszahl u, die beide mittels eines Zufallsgenerators 210 erzeugt werden, gibt sie in einen Anfangsantwortverschlüsseler 215 zusammen mit der Anfangsantwort x' und dem zuvor mittels eines Funktionsgenerators 205 erzeugten x ein und berechnet damit eine verschlüsselte Anfangsantwort x" und sendet sie an den Verifizierer C.
  • Der Anfangsantwortverschlüsseler 215 ist beispielsweise als ein Modulo-Rechner ausgebildet und errechnet die verschlüsselte Anfangsantwort x" durch x" = u² x-e x'(mod N) auf der Basis der empfangenen Anfangsantwort x', dem von dem Funktionsrechner 205 erzeugten x und Zufallskomponenten e und u, die mittels des Zufallsgenerator 210 erzeugt wurden.
  • Schritt S&sub5;: Der Verifizierer C speichert die verschlüsselte Anfangsantwort x" in einem Informationsspeicher 310, erzeugt ein Zufallsbit β, das 0 oder 1 ist, mittels eines Zufallsgenerators 320, und sendet es als eine Anfrage an den Antragsteller B.
  • Schritt S&sub6;: Der Antragsteller B gibt die Anfrage β und das zuvor erzeugte Zufallsbit e in einen Anfragenverschlüsseler 220 ein, um eine verschlüsselte Anfrage β' zu errechnen, die an den Bestätiger A gesandt wird.
  • Der Anfragenverschlüsseler 220 wird beispielsweise von einem Modulo-Rechner gebildet, der die verschlüsselte Anfrage β' errechnet durch: β' = β + e(mod 2).
  • Die obige Modulo-Rechnung ist äquivalent dem Exklusiv-ODER von β und e.
  • Schritt S&sub7;: Nach Empfang der verschlüsselten Anfrage β' gibt der Bestätiger A die zuvor mittels des Zufallsgenerators 111 erzeugt Zufallszahl r und die verschlüsselte Anfrage β' in die Bestätigungsvorrichtung 120 ein, um eine bestätigte Antwort z zu berechnen, die an den Antragsteller B gesandt wird.
  • Die Bestätigungsvorrichtung 120 wird beispielsweise von einem Geheimschlüsselspeicher 121 und einem Modulo-Rechner 122 gebildet. Der Geheimschlüssel s, der aus dem Geheimschlüsselspeicher 121 ausgelesen wird, die von dem Zufallsgenerator 111 erzeugte Zufallszahl r und die empfangene verschlüsselte Anfrage β' werden einem Modulo-Rechner 122 geliefert, in welchem die bestätigte Antwort z errechnet wird durch: z = r sβ' (mod N).
  • Schritt S&sub8;: Nach Empfang der bestätigten Antwort z legt der Antragsteller B die bestätigte Antwort z, die zuvor geschaffene Information x, die Anfrage β und die Zufallskomponenten e und u an den Entschlüsseler 230 an, um eine bestätigte Antwort z' zu errechnen, von der die Zufallskomponenten entfernt sind. Die bestätigte Antwort z' wird an den Verifizierer C gesandt.
  • Der Entschlüsseler 230 umfaßt beispielshalber einen Zustandsprüfer 231 und einen Modulo- Rechner 232 und errechnet die bestätigte Antwort z' durch sonst
  • Schritt S&sub9;: Nach Empfang der bestätigten Antwort z' verifiziert der Verifizierer C deren Gültigkeit unter Benutzung der Verifiziervorrichtung 330.
  • Die Verifiziervorrichtung 330 umfaßt beispielsweise einen Modulo-Rechner 331 und einen Komparator 332 und prüft, ob oder ob nicht x" = z'² xβ(mod N) für x", ausgelesen aus dem Informationsspeicher 310, x, erzeugt von dem Funktionsrechner 305, und β, erzeugt von dem Zufallsgenerator 320, erfüllt ist.
  • Die obigen Anfrage-Antwort-Interaktionen werden sequentiell t Male ausgeführt, sie könnten aber auch gleichzeitig ausgeführt werden.
  • Als nächstes wird die in Fig. 4 gezeigte Nachrichten-Authentifizierungsprozedur unter Bezugnahme auf die Ausgestaltungen 100, 200 und 300 des Bestätigers A, des Signaturklienten B und des Verifizierers C beschrieben, die in den Fig. 5, 8 bzw. 9 gezeigt sind.
  • Diese Prozedur verwendet das Benutzer-Authentifizierungssystem des Fiat-Shamir-Verfahrens zwischen dem Bestätiger A und dem Signaturklienten B und das Nachrichten-Authentifizierungssystem des Fiat-Shamir-Verfahrens zwischen dem Signaturklienten B und dem Verifizierer C. Eine nicht-rückverfolgbare Nachrichten-Authentifizierung kann dadurch implementiert werden, daß auf der Seite des Signaturklienten B Information geheimgehalten wird, die die beiden Authentifizierungssysteme miteinander in Verbindung bringt.
  • Wie im Fall des Fiat-Shamir-Verfahrens macht ein Vertrauenszentrum die zusammengesetzte Zahl n und die Einwegfunktion f öffentlich, errechnet den Geheimschlüssel s entsprechend der Identifizierungsinformation ID des Bestätigers A und sendet den Geheimschlüssel s an den Bestätiger A. Die folgende Beschreibung erfolgt für den Fall von k = 1.
  • Der Signaturklient B signiert mit der Hilfe des Bestätigers A eine Nachricht m unter Benutzung der folgenden Prozedur.
  • Schritt S&sub1;: Der Bestätiger A sendet die Identifizierungsinformation ID an den Signaturklienten B und den Verifizierer C.
  • Schritt S&sub2;: Der Bestätiger A, der Signaturklient B und der Verifizierer C berechnen x = f(ID) unter Verwendung der Einwegfunktionsrechner 105, 205 bzw. 305.
  • Schritt S&sub3;: Der Bestätiger A berechnet eine Anfangsantwort x', die sich aus t Antworten x'i (i = 1, 2, ..., t) zusammensetzt, und zwar mittels des Anfangsantwortgenerators 110, und sendet sie an den Signaturklienten B.
  • Der Anfangsantwortgenerator 110 umfaßt beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112. Der Zufallsgenerator 111 wird dazu verwendet, t Zufallszahlen ri zu erzeugen, und der Modulo-Rechner 112 wird dazu verwendet, die t Antworten x'i zu berechnen, und zwar durch: x'i = x r (modN).
  • Die so erhaltenen Antworten x'i werden als die Anfangsantwort x' an den Signaturklienten B gesandt.
  • Schritt S&sub4;: Nach Empfang der Anfangsantwort x' erzeugt der Signaturklient B t Sätze eines Zufallbits ei, das 0 oder 1 ist, und einer Zufallszahl ui unter Verwendung des Zufallsgenerators 210 und gibt deren Werte, die empfangenen t Antworten x'i und das zuvor erzeugte x in den Anfangsantwortverschlüsseler 215 ein, um t verschlüsselte Anfangsantworten x"i zu erhalten; und x" = (x", ..., x"t) wird einem Anfragegenerator 250 geliefert.
  • Der Anfangsantwortverschlüsseler 215 wird beispielsweise von einem Modulo-Rechner gebildet. Die t Sätze von ei und ui, die von dem Zufallsgenerator 210 erzeugt werden, die empfangenen t Anfangsantworten x'i und das oben erwähnte x werden an den Anfangsantwortverschlüsseler 215 angelegt, in welchem die t verschlüsselten Anfangsantworten x"i gebildet werden durch
  • x"i = u x x'i(mod N), (i = 1, 2, ..., t).
  • Schritt S&sub5;: Der Signaturklient B gibt die Nachricht m und die t verschlüsselten Anfangsantworten x"i in den Anfragegenerator 250, um dadurch eine Anfrage β und eine verschlüsselte Anfrage β' zu erzeugen, von denen letztere durch Verschlüsselung der ersteren mit der Zufallskomponente ei erhalten wird. Die verschlüsselte Anfrage β' wird an den Bestätiger A übertragen, und die Anfrage β wird an den Entschlüsseler 260 angelegt.
  • Der Anfragegenerator 250 umfaßt beispielsweise einen Einwegfunktionsrechner 251 und einen Modulo-Rechner 252, durch die die Anfrage β = (β&sub1;, ..., βt) und die verschlüsselte Anfrage β' = (β'1 ..., β't) aufgebaut werden durch
  • β = (β1, ..., βt) = f(m, x"&sub1;, ..., x"t) und
  • β'i = βi + e&sub1; (mod 2), (i = 1, 2, ..., t).
  • Schritt S&sub6;: Nach Empfang der verschlüsselten Anfrage β' berechnet der Bestätiger A mittels der Bestätigungsvorrichtung 120 eine bestätigte Antwort z aus den zuvor erzeugten Zufallszahlen ri und der empfangenen verschlüsselten Anfrage β' und sendet die bestätigte Antwort z an den Signaturklienten B.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 123. Ein aus dem Geheimschlüsselspeicher 121 ausgelesener Geheimschlüssel s, die von dem Zufallsgenerator 111 gelieferte Zufallszahl und die verschlüsselte Anfrage β' werden an den Modulo-Rechner 122 angelegt, durch den die bestätigte Antwort z = (z&sub1;, ..., zt) unter Benutzung einer bestätigten Antwort zi erhalten wird, die errechnet wird durch: zi = ri sβ' (mod N), (i = 1, 2, ..., t).
  • Schritt S&sub7;: Nach Empfang der bestätigten Antwort z liefert der Signaturklient B die bestätigte Antwort z, die zuvor erzeugte Information x und die t Sätze von Zufallszahlen ei und ui an einen Entschlüsseler 260, in welchem eine bestätigte Antwort z' berechnet wird, von der der Einfluß der Zufallskomponenten entfernt ist. Die so erhaltenen bestätigte Antwort z' wird zusammen mit der Anfrage β und der Nachricht m an den Verifizierer C gesandt.
  • Der Entschlüsseler 260 umfaßt beispielsweise einen Zustandsprüfer 261 und einen Modulo- Rechner 262, durch die z' = (z'&sub1;, ..., z't) erhalten wird unter Benutzung von z'i, berechnet durch
  • Schritt S&sub8;: Der Verifizierer C prüft die Gültigkeit von (m, β, z') durch Benutzung einer Verifiziervorrichtung 340.
  • Die Verifiziervorrichtung 340 umfaßt beispielsweise einen Modulo-Rechner 341, einen Einwegfunktionsrechner 342 und einen Komparator 343, durch die x*i gewonnen wird, durch
  • x*i = z' x (mod N)
  • und geprüft wird, ob
  • β = f(m, x*&sub1;, ..., x*t)
  • gilt oder nicht.
  • Bei den in den Fig. 3 und 4 gezeigten Authentifizierungssystemen ist k = 1, und folglich verwendet der Bestätiger A nur einen Geheimschlüssel s. Zur Gewährleistung der Sicherheit insbesondere der Benutzer-Authentifizierung ist es erforderlich, die Anzahl von Wiederholungen t der Schritte 3 bis 6 zu erhöhen, so daß die Kommunikationseffizienz schlecht ist.
  • Die Fig. 10 und 11 zeigen andere Ausführungsbeispiele der Prozeduren für die Benutzer- Authentifizierung und die Nachrichten-Authentifizierung des Authentifizierungssystems der vorliegenden Erfindung, die wie in den Fällen der Fig. 3 und 4 das Fiat-Shamir-Verfahren verwenden. Die Fig. 12 bis 16 zeigen die Ausgestaltungen des Bestätigers (100) des Antragstellers oder Signaturklienten B (200) und des Verifizierers C (300). Sie sind in ihrer grundsätzlichen Anordnung identisch mit den in den Fig. 5 bis 9 gezeigten, unterscheiden sich aber hinsichtlich der Operation. Zusätzlich ist der Bestätiger A zur Benutzung von k Geheimschlüsseln sj (i = 1, 2, ..., k) ausgelegt. Im Fall von k ≥ 2 ist die Sicherheit des Authentifizierungssystems, die mit einer Authentifizierungsprozedur erzielbar ist, besonders hoch. Unter Bezugnahme auf die Fig. 12, 13 und 14 soll zunächst die Benutzer-Authentifizierungsprozedur von Fig. 10 beschrieben werden, bei der der Bestätiger A dem Verifizierer C bestätigt, daß er sich der Identität des Antragstellers B vergewissert hat.
  • Wie im Fall des Fiat-Shamir-Verfahrens veröffentlicht ein Vertrauenszentrum eine zusammengesetzte Zahl N und eine Einwegfunktion f, berechnet k Geheimschlüssel sj entsprechend der Identifizierungsinformation ID des Bestätigers A und sendet die Geheimschlüssel sj an den Bestätiger A. Es muß hier angemerkt werden, daß j = 1, 2, ..., k und daß sj
  • s (mod N) = xj = f(ID, j).
  • erfüllt.
  • Der Bestätiger A bestätigt dem Verifizierer C die Gültigkeit des Antragstellers B der nachstehenden Prozedur folgend.
  • Schritt S&sub1;: Der Bestätiger A sendet Identifizierungsinformation ID an den Antragsteller B und den Verifizierer C.
  • Schritt S&sub2;: Der Antragsteller B und der Verifizierer C berechnen Information xj = f(ID, j) unter Verwendung der Einwegfunktionsgeneratoren 205 bzw. 305. In diesem Fall gilt j = 1,2 ..., k.
  • Als nächstes werden die nachfolgenden Schritte S&sub3; bis S&sub6; t Male wiederholt.
  • Schritt S&sub3;: Der Bestätiger A erzeugt eine Anfangsantwort x' mittels eines Anfangsantwortgenerators 110 und sendet sie an den Antragsteller B.
  • Der Anfangsantwortgenerator 110 umfaßt beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112 und erzeugt eine Zufallszahl r durch den Zufallsgenerator 111 und berechnet x' durch den Modulo-Rechner 112 durch 2 (mod N).
  • Schritt S&sub4;: Nach Empfang der Anfangsantwort x' legt der Antragsteller B k Zufallsbits {ej} je 0 oder 1, und eine Zufallszahl u, die beide von einem Zufallsgenerator 210 erzeugt werden, die Anfangsantwort x' und die oben erwähnte Information {xj} an einen Anfangsantwortverschlüsseler 215 an, um eine verschlüsselte Anfangsantwort x" zu berechnen, die den Verifizierer C gesandt wird.
  • Der Anfangsantwortverschlüsseler 215 wird beispielsweise von einem Modulo-Rechner gebildet, der die verschlüsselte Anfangsantwort x" aus der empfangenen Anfangsantwort x', der Information xj, den Zufallsbits {ej} und der Zufallszahl u errechnet durch
  • Schritt S&sub5;: Nach Empfang der verschlüsselten Anfangsantwort x" speichert der Verifizierer C sie in einem Informationsspeicher 310, erzeugt dann k Zufallsbits {βj}, je 0 oder 1, mittels eines Zufallsgenerators 320 und sendet β = (β1, ..., βk) als eine Anfrage an den Antragsteller B.
  • Schritt S&sub6;: Der Antragsteller B gibt die Anfrage β und die zuvor erwähnten Zufallsbits {ej} in einen Anfragenverschlüsseler 220 ein, eine verschlüsselte Anfrage β' (β'1, ..., β'k) zu errechnen, die an den Bestätiger A gesandt wird.
  • Der Anfragenverschlüsseler 220 ist beispielsweise von einem Modulo-Rechner gebildet, der
  • β'j = βj + ejmod2.
  • berechnet.
  • Schritt S&sub7;: Der Bestätiger A gibt die verschlüsselte Anfrage β' und die vorgenannte Zufallszahl r in eine Bestätigungsvorrichtung 120 ein, um eine bestätigte Antwort z zu berechnen, die an den Antragsteller B gesandt wird.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. k Geheimschlüssel {sj} die aus dem Geheimschlüsselspeicher 121 ausgelesen werden, die Zufallszahl r von dem Anfangsantwortgenerator 110 und die empfangene verschlüsselte Anfrage β' werden dem Modulo-Rechner 122 zur Berechnung der bestätigten Antwort z geliefert
  • Schritt S&sub8;: Der Antragsteller B gibt die bestätigte Antwort z, die vorgenannte Information {xj}, Zufallsbits {βj) und {ej} und die Zufallszahl u in einen Entschlüsseler 230 ein, durch den eine bestätigte Antwort z' frei von dem Einfluß der Zufallskomponenten errechnet wird. Die bestätigte Antwort z' wird an den Verifizierer C gesandt.
  • Der Entschlüsseler 230 umfaßt beispielsweise einen Zustandsprüfer 231 und einen Modulo- Rechner 232, durch die die bestätigte Antwort z' berechnet wird durch wobei cj = βj ej.
  • Schritt S&sub9;: Nach Empfang der bestätigten Antwort z' verifiziert der Verifizierer C deren Gültigkeit mittels einer Verifiziervorrichtung 330.
  • Die Verifiziervorrichtung 330 umfaßt beispielsweise einen Modulo-Rechner 331 und einen Komparator 332 und prüft ob oder ob nicht
  • gilt für die Anfangsantwort x" aus dem Informationsspeicher 310, die Information xj von dem Einwegfunktionsrechner 305 und die Anfrage β von dem Zufallsgenerator 320.
  • Während bei dem obigen die Anfragen-Antwort-Interaktionen nacheinander t Male ausgeführt werden, könnten sie auch gleichzeitig ausgeführt werden. Außerdem kann t auch 1 sein.
  • Als nächstes wird unter Bezugnahme auf die Fig. 12, 15 und 16 die Nachrichten-Authentifizierungsprozedur von Fig. 11 beschrieben, bei der der Signaturklient B eine Nachricht m mit Hilfe des Bestätigers A signiert.
  • Wie im Fall des Fiat-Shamir-Verfahrens, macht ein Vertrauenszentrum eine zusammengesetzte Zahl N und eine Einwegfunktion f öffentlich, errechnet k Geheimschlüssel {sj} (wobei j = 1, 2, ..., k) entsprechend der Identifizierungsinformation ID des Bestätigers A und liefert {sj} an den Bestätiger A. sj erfüllt dabei die Beziehung sj²(mod N) = xj = f(ID, j).
  • Der Signaturklient B signiert die Nachricht m mit Hilfe des Bestätigers A wie folgt.
  • Schritt S&sub1;: Der Bestätiger A sendet die Identifizierungsinformation ID an den Signaturklienten B und den Verifizierer C.
  • Schritt S&sub2;: Der Signaturklient B und der Verifizierer C berechnen Informationen xj = f(ID, j) mittels der Einwegfunktionsrechner 205 bzw. 305.
  • Schritt S&sub3;: Der Bestätiger A berechnet mittels eines Anfangsantwortgenerators 110 x', das sich aus t Anfangsantworten x'i (i = 1, ..., 2 t) zusammensetzt, und sendet es an den Signaturklienten B.
  • Der Anfangsantwortgenerator 110 umfaßt beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112. Der Zufallsgenerator 111 erzeugt t Zufallszahlen ri, und der Modulo- Rechner 112 errechnet t Anfangsantworten x'i durch
  • x'i = r (mod N) für i = 1, 2, ..., t.
  • Schritt S&sub4;: Nach Empfang noch x' erzeugt der Signaturklient B t Sätze von k Bits {eij} und Zufallszahlen ui mittels eines Zufallsgenerators 210 und gibt deren Werte, die empfangenen t Anfangsantworten x'i und das vorerwähnte {xj} in einen Anfangsantwortverschlüsseler 215 ein, von dem t verschlüsselte Anfangsantworten x". erhalten werden. Der Signaturklient B liefert eine verschlüsselte Anfangsantwort x" = (x"&sub1;, ..., x"t) an einen Anfragegenerator 250.
  • Der Anfangsantwortverschlüsseler 215 ist beispielsweise von einem Modulo-Rechner gebildet. Die t Sätze von {eij} und ui, die von dem Zufallsgenerator 210 erzeugt werden, die empfangenen t Anfangsantworten x'i und die von dem Funktionsrechner 205 errechneten xj werden in den Anfangsantwortverschlüsseler 215 eingegeben, um t verschlüsselte Anfangsantworten x"i zu errechnen durch
  • Schritt S&sub5;: Der Signaturklient B gibt die Nachricht m und die t verschlüsselten Anfangsantworten x"i in einen Anfragegenerator 250, durch den eine Anfrage β und eine verschlüsselte Anfrage β' erzeugt werden. Die verschlüsselte Anfrage β' wird an den Bestätiger A übertragen, und die Anfrage β wird einem Entschlüsseler 260 geliefert.
  • Der Anfragegenerator 250 umfaßt z.B. einen Einwegfunktionsrechner 251 und einen Modulo- Rechner und berechnet β = {βij} und β' = {β' ij} aus
  • {βjj} = f(m, x"&sub1;, ..., x't) und
  • β'ij = β'ij + eij mod 2
  • (i = 1, 2, ..., t und j = 1, 2, ..., k).
  • Schritt S&sub6;: Nach Empfang der verschlüsselten Anfrage β' berechnet der Bestätiger A mittels einer Bestätigungsvorrichtung 120 eine bestätigte Antwort z aus der vorerwähnten Zufallszahl ri und der empfangenen verschlüsselten Anfrage β'. Die bestätigte Antwort z wird an den Signaturklienten B gesandt.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. Die k Geheimschlüssel {sj}, die aus dem Geheimschlüsselspeicher 121 ausgelesen werden, {ri} von dem Anfangsantwortgenerator 110 und die empfangene verschlüsselte Anfrage β' werden in den Modulo-Rechner 122 eingegeben, von dem z = (z&sub1;, ..., zt) unter Verwendung zi erhalten wird, das errechnet wird durch
  • Schritt S&sub7;: Der Signaturklient B gibt die bestätigte Antwort z und die vorerwähnten {xj}, {βij} sowie t Sätze von ({eij}, ui) in einen Entschlüsseler 260 ein, durch den eine von dem Zufallskomponenteneinfluß freie bestätigte Antwort z' berechnet wird. Die bestätigte Antwort z' wird zusammen mit der Anfrage β und der Nachricht m an den Verifizierer C gesandt.
  • Der Entschlüsseler 260 enthält beispielsweise einen Zustandsprüfer 261 und einen Modulo-Rechner 262, durch den die bestätigte Antwort z' erhalten wird zu
  • z' = (z'&sub1;, ..., z't) ,
  • wobei z'i verwendet wird, das errechnet wird durch
  • wobei cij = βij eij.
  • Schritt S&sub8;: Nach Empfang der Nachricht m, der Anfrage β und der bestätigten Antwort z' prüft der Verifizierer C deren Gültigkeit mittels einer Verifiziervorrichtung 240.
  • Die Verifiziervorrichtung 340 umfaßt beispielsweise einen Modulo-Rechner 341, einen Einwegfunktionsrechner 342 und einen Komparator 343 und berechnet
  • x* = (x*&sub1;, ..., x*t)
  • aus
  • wodurch geprüft wird, ob {βij} = f(m, x*) gilt oder nicht.
  • Bei der in den Fig. 10 und 11 gezeigten Ausführungsform bietet die Verwendung der k Geheimschlüssel sj durch den Bestätiger A eine erhöhte Sicherheit, und als Folge davon kann die Anzahl von Interaktionen t zwischen A, B und C verringert werden. Im Fall von t = 1 ist jedoch, da der Bestätiger A die mehreren Geheimschlüssel sj verwendet, ein Speicher großer Kapazität erforderlich.
  • Als ein Authentifizierungssystem, das zur Speicherung des Geheimschlüssels eine geringere Speicherkapazität erfordert und einen ausgezeichneten Kommunikationswirkungsgrad aufweist sowie schnell ist, ist von den vorliegenden Erfindern ein erweitertes Fiat-Shamir-Schema vorgeschlagen worden (K. Ohta: "Efficient Identification and Signature Schemes," Electronics Letters, Band. 24, Nr. 2, Seiten 115-116, 21. Januar 1988 und K. Ohta, T. Okamoto: "Practical Extension of Fiat-Shamir Schemes, Electronic Letters, Band. 24, Nr,. 15, Seiten 955-956, 21. Januar 1988).
  • Mit den erweiterten Fiat-Shamir-Schemata beträgt der Verarbeitungsumfang im Mittel (5l + 2)/2 Multiplikationen (einschließlich Modulo N Berechnungen). Die Bedeutung von l wird später erläutert. Da insbesondere empfohlen wird, l zu l = 20 zu wählen, ist die bei den erweiterten Fiat-Shamir-Schemata erforderliche Anzahl von Multiplikationen 51. Das bedeutet, daß der Verarbeitungsumfang verglichen mit dem Verarbeitungsumfang des Signaturschemas, das das RSA Schema einsetzt, um etwa 7% verringert werden kann.
  • Ein Abriß der erweiterten Fiat-Shamir-Schemata ist wie folgt:
  • Ein Vertrauenszentrum erzeugt nach den folgenden Schritten einen Geheimschlüssel s für einen Benutzer, der ID als seine persönliche Identifizierungsinformation verwendet. Dabei ist N öffentlich gemachte Information und kann ausgedrückt werden als N = P x Q, wobei P und Q geheime Primzahlen sind. L ist eine ganze Zahl und f ist eine Einwegfunktion, die offengelegt st.
  • Schritt 1: x = f(ID) wird unter Verwendung der Einwegfunktion f berechnet.
  • Schritt 2: s, das sL = x(mod N) erfüllt, wird unter Verwendung der Primfaktoren P und Q von N berechnet (d.h. s ist die L-te Wurzel von x).
  • Schritt 3: Das Zentrum gibt geheim s an den Benutzer aus und veröffentlicht die Einwegfunktion f und die zusammengesetzte Zahl N.
  • Das Benutzer-Authentifizierungssystem ist wie folgt.
  • Nach den folgenden Schritten bestätigt der Bestätiger A dem Verifizierer C, daß er A ist.
  • Schritt 1: Der Bestätiger A sendet ID an den Verifizierer C.
  • Schritt 2: Der Verifizierer C berechnet x = f(ID).
  • Die folgenden Schritte 3 bis 6 werden t Male wiederholt (t ist ein Parameter, der die Sicherheit definiert und gleich oder größer ist als 1).
  • Schritt 3: Der Bestätiger A erzeugt eine Zufallszahl r, errechnet x' = rL(mod N) und sendet es an den Verifizierer C.
  • Schritt 4: Der Verifizierer C erzeugt eine ganze Zahl e gleich oder größer als 0, aber kleiner als L und sendet sie an den Bestätiger A.
  • Schritt 5: Der Bestätiger A erzeugt eine signierte Nachricht z durch z = r se(mod N) und sendet sie an den Verifizierer C.
  • Schritt 6: Der Verifizierer C prüft, ob x' = zL x-e(mod N) gilt oder nicht. (x&supmin;¹ ist ein inverses Element von x in mod N.)
  • Entsprechend dem Verfahren der Erzeugung von z, zL x = rL (sL x&supmin;¹)e = rL = x'(mod N), derart daß, wenn die Prüfung in Schritt 6 erfolgreich ist, akzeptiert der Verifizierer C A's Beweis der Identität. Dabei beträgt die Wahrscheinlichkeit, daß der Verifizierer C irrtümlich einen falschen Bestätiger für den echten Bestätiger A hält, 1/Lt.
  • Bei dem erweiterten Fiat-Shamir-Schema kann durch geeignete Auswahl der ganzen Zahl L selbst dann Sicherheit geschaffen werden, wenn nur ein Geheimschlüssel s verwendet wird und die Schritte 3 bis 6 nur einmal wiederholt werden.
  • Das obige ist das Benutzer-Authentifizierungssystem, und das Nachrichten-Authentifizierungsystem kann durch Modifizieren der obigen Prozedur auffolgende Weise implementiert werden.
  • Die ersten l Bits von f(m, x'), die erhalten werden durch Anwenden der Nachricht m und x' auf die Einwegfunktion f, werden als eine binäre Darstellung der ganzen Zahl e betrachtet, und (ID, m, e, z) wird als eine signierte Nachricht an den Verifizierer gesandt.
  • Wie oben beschrieben, ist das erweiterte Fiat-Shamir-Schema ein schnelles Authentifizierungssystem, das eine Verringerung der Speicherkapazität zur Speicherung des Geheimschlüssels erlaubt, und ist ausgezeichnet hinsichtlich des Kommunikationswirkungsgrades. Dessen ungeachtet, ist kein nicht-zurückverfolgbares Authentifizierungssystem unter Verwendung des erweiterten Fiat-Shamir-Schemas vorgeschlagen worden.
  • Die Fig. 17 und 18 sind Darstellungen, die jeweils die Benutzer-Authentifizierungs- und die Nachrichten-Authentifizierungsprozedur im Fall der Anwendung des oben beschriebenen erweiterten Fiat-Shamir-Schemas auf die Authentifizierungssysteme der vorliegenden Erfindung, die in den Fig. 1 und 2 gezeigt sind, darstellen. Die Fig. 19 bis 23 zeigen die Anordnungen für den Bestätiger A (100), den Antragsteller oder Signaturklienten B (200) und den Verifizierer C (300) zur Ausführung dieser Authentifizierungen. Die grundsätzlichen Anordnungen für den Bestätiger A, den Antragsteller oder Signaturklienten B und den Verifizierer C sind identisch mit jenen in den Fig. 5 bis 9 und 12 bis 16 gezeigten. Unter Bezugnahme auf die Fig. 19, 20 und 21 wird zunächst die Benutzer-Authentifizierungsprozedur von Fig. 17 beschrieben, mit der der Bestätiger A dem Verifizierer C beweist, daß er die Identität des Antragstellers B festgestellt hat.
  • Wie im Fall des erweiterten Fiat-Shamir-Schemas macht ein Vertrauenszentrum die zusammengesetzte Zahl N, die Einwegfunktion f und die ganze Zahl L öffentlich, berechnet einen Geheimschlüssel s entsprechend der Identifizierungsinformation ID des Bestätigers A und liefert den Geheimschlüssel s an den Bestätiger A. s erfüllt dabei sL(mod N) = x = f(ID).
  • Der Bestätiger A bestätigt dem Verifizierer C die Gültigkeit des Antragstellers B durch die folgende Prozedur.
  • Schritt S&sub1;: Der Bestätiger A sendet ID an den Antragsteller B und den Verifizierer C.
  • Schritt S&sub2;: Der Antragsteller B und der Verifizierer C berechnen Information x = f(ID) mittels Einwegfunktionsrechnern 205 bzw. 305.
  • Als nächstes werden die folgenden Schritte S&sub3; bis S&sub6; t Male wiederholt.
  • Schritt S&sub3;: Der Bestätiger A erzeugt eine Anfangsantwort x' mittels eines Anfangsantwortgenerators 110 und sendet sie an den Antragsteller B.
  • Der Anfangsantwortgenerator 110 kann beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112 umfassen. Der Zufallsgenerator 111 erzeugt eine Zufallszahl r, die an den Modulo-Rechner 112 angelegt wird, wobei x' berechnet wird durch x' = rL(mod N).
  • Schritt S&sub4;: Nach Empfang der Anfangsantwort x' erzeugt der Antragsteller B mittels eines Zufallsgenerators 210 eine Zufallsganzzahl e größer als 0 aber kleiner als L und eine Zufallszahl u gleich oder größer als 1, aber kleiner als N und gibt die Zufallskomponenten e und u, die Anfangsantwort x' und die vorgenannte Information x in einen Anfangsantwortverschlüsseler 215 ein, um eine verschlüsselte Anfangsantwort x" zu erhalten, die an den Verifizierer C gesandt wird.
  • Der Anfangsantwortverschlüsseler 215 ist beispielsweise von einem Modulo-Rechner gebildet, der x" aus der empfangenen Anfangsantwort x', der Information x, der Zufallsganzzahl e und der Zufallszahl u errechnet durch x" = x' uL xe(mod N).
  • Schritt S&sub5;: Der Verifizierer C speichert die empfangene verschlüsselte Anfangsantwort x" in einem Informationsspeicher 310 und erzeugt mittels eines Zufallsgenerators 320 eine ganze Zahl β größer als 0 aber kleiner als L und sendet die ganze Zahl β als eine Anfrage an den Antragsteller B.
  • Schritt S&sub6;: Der Antragsteller B gibt die empfangene Anfrage β und die vorerwähnte ganze Zahl e in einen Anfragenverschlüsseler 220 ein, um eine verschlüsselte Anfrage β' zu berechnen, die an den Bestätiger A abgesandt wird.
  • Der Anfragenverschlüsseler 220 ist beispielsweise als Modulo-Rechner ausgebildet, durch den β' = e + β (mod L) berechnet wird.
  • Schritt S&sub7;: Der Bestätiger A gibt die empfangene verschlüsselte Anfrage β' und die vorerwähnte Zufallszahl r in eine Bestätigungsvorrichtung 120 ein, um eine bestätigte Antwort z zu errechnen, die an den Antragsteller B gesandt wird.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. Der aus dem Geheimschlüsselspeicher 121 ausgelesene Geheimschlüssel s, die Zufallszahl r von dem Anfangsantwortgenerator 110 und die empfangene verschlüsselte Anfrage β' werden in den Modulo-Rechner 122 eingegeben, wobei z errechnet wird durch z = r sβ'(mod N).
  • Schritt S&sub8;: Der Antragsteller B gibt die empfangene bestätigte Antwort z, die vorerwähnte Information x, die Anfrage β und die Zufallskomponenten e und u in einen Entschlüsseler 230 ein, um eine bestätigte Antwort z' zu errechnen, die frei von dem Zufallskomponenteneinfluß ist. Die bestätigte Antwort z' wird an den Verifizierer C gesandt.
  • Der Entschlüsseler 230 umfaßt beispielsweise einen Zustandsprüfer 231 und einen Modulo-Rechner 232 und berechnet z' = u z xc (mod N), wobei c = 1 für e + β ≥ L, andernfalls c = 0.
  • Schritt S&sub9;: Nach Empfang der bestätigten Antwort z' prüft der Verifizierer C deren Gültigkeit unter Verwendung einer Verifiziervorrichtung 330.
  • Die Verifiziervorrichtung 330 umfaßt beispielsweise einen Modulo-Rechner 331 und einen Komparator 332 und prüft, ob oder ob nicht x" z' x-β(mod N) erfüllt ist für die vom Informationsspeicher 310 gelieferte verschlüsselte Anfangsantwort x", die von dem Einwegfunktionsrechner 305 gelieferte Funktion und die von dem Zufallsgenerator 320 gelieferte ganze Zahl β.
  • Bei dem obigen werden die Anfragen-Antwort-Interaktionen (Schritte S&sub3; bis S&sub6;) t Male sequentiell wiederholt, könnten aber auch gleichzeitig ausgeführt werden, wobei ihre t Komponenten parallel angeordnet sind.
  • Unter Bezugnahme auf die Fig. 19, 22 und 23 soll nun die Nachrichten-Authentifizierungsprozedur von Fig. 19 beschrieben werden, mit der der Signaturklient B eine Nachricht m mit Hilfe des Bestätigers A signiert.
  • Diese Prozedur verwendet das Benutzer-Authentifizierungssystem des erweiterten Fiat-Shamir- Schemas zwischen dem Bestätiger A und dem Signaturklienten B und das Nachrichten-Authentifizierungssystem des erweiterten Fiat-Shamir-Schemas zwischen dem Signaturklienten B und dem Verifizierer C. Dadurch, daß auf der Seite des Signaturklienten B Information geheimgehalten wird, die die beiden Authentifizierungssysteme miteinander verknüpft, ist es möglich, eine nicht-rückverfolgbare Nachrichten-Authentifizierungsverarbeitung zu implementieren.
  • Wie in dem Fall des erweiterten Fiat-Shamir-Schemas macht ein Vertrauenszentrum eine zusammengesetzte Zahl N eine Einwegfunktion f und eine ganze Zahl L öffentlich, berechnet einen Geheimschlüssel s entsprechend der ldentifizierungsinformation ID des Bestätigers A und liefert ihn an den Bestätiger A. Wie bei dem obigen erfüllt s dabei sL(mod N) = x = f(ID).
  • Mit der folgenden Prozedur signiert der Signaturklient B eine Nachricht m mit der Hilfe des Bestätigers A.
  • Schritt S&sub1;: Der Bestätiger A sendet ID an den Signaturklienten und den Verifizierer C.
  • Schritt S&sub2;: Der Signaturklient B und der Verifizierer C berechnen Informationen x = f(ID) mittels Einwegfunktionsrechnern 205 bzw. 305.
  • Schritt S&sub3;: Der Bestätiger A berechnet mittels eines Anfangsantwortgenerators 110 eine Anfangsantwort x', die sich aus t Anfangsantworten x'i (i = 1, 2, ..., t) zusammensetzt, und sendet sie an den Signaturklienten B.
  • Der Anfangsantwortgenerator 110 umfaßt beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112. Der Zufallsgenerator 111 erzeugt t Zufallszahlen rid die dem Modulo- Rechner 112 geliefert werden, worin t Anfangsantworten x'i berechnet werden durch
  • x'i = r (mod N) für i = 1, 2, ..., t.
  • Schritt S&sub4;: Nach Empfang der Anfangsantwort x' erzeugt der Signaturklient B mittels eines Zufallsgenerators 210 t Sätze von ei größer als 0, aber kleiner als L und Zufallszahlen ui größer als 1 aber kleiner als N und gibt ihre Werte, die empfangenen t Anfangsantworten x'i und die vorerwähnte Information x in einen Anfangsantwortverschlüsseler 215 ein, um t verschlüsselte Anfangsantworten x"i zu errechnen, die einem Anfragegenerator 250 geliefert werden.
  • Der Anfangsantwortverschlüsseler 215 ist beispielsweise von einem Modulo-Rechner gebildet. Die t Sätze von ei und ui, die von dem Zufallsgenerator 210 erzeugt werden, die empfangenen t Anfangsantworten x'i und die Information x werden an den Anfangsantwortverschlüsseler 215 angelegt, worin die t verschlüsselten Anfangsantworten x"i errechnet werden durch
  • x"1 = u xei x'i(mod N) für i = 1, 2, ..., t.
  • Schritt S&sub5;: Der Signaturklient B gibt die Nachricht m und die t verschlüsselten Anfangsantworten x"i in einen Anfragegenerator 250 ein, worin eine Anfrage β und eine verschlüsselte Anfrage β', die durch Verschlüsseln der ersteren erhalten wird, erzeugt werden. Die verschlüsselte Anfrage β' wird an den Bestätiger A übertragen, und die Anfrage β wird an einen Entschlüsseler 260 geliefert.
  • Der Anfragegenerator 250 weist zum Beispiel einen Einwegfunktionsrechner 251 und einen Modulo-Rechner 252 auf und erhält β = (β&sub1;, ..., βt) und β' = (β'&sub1;, ..., β't) durch
  • (β&sub1;, ..., βt) = f(m, x"&sub1;, ..., x"t)
  • β' = ei + βi(mod L)
  • (i = 1, 2, ..., t).
  • Hierin sind β'i und βi ganze Zahlen größer als 0 aber kleiner als L.
  • Schritt S&sub6;: Nach Empfang der verschlüsselten Anfrage β' berechnet der Bestätiger A mittels einer Bestätigungsvorrichtung 120 eine bestätigte Antwort z aus der vorgenannten Zufallszahl ri und der empfangenen Anfrage β' und sendet sie an den Signaturklienten B.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. Der aus dem Geheimschlüsselspeicher 121 ausgelesene Geheimschlüssel s, die Zufallszahl ri, die von dem Zufallsgenerator 111 erzeugt wurde, und die empfangene verschlüsselte Anfrage β' = (β'&sub1;, ..., β't) werden an den Modulo-Rechner 122 wodurch man erhält z = (z&sub1;, ..., zt).
  • Schritt S&sub7;: Nach Empfang der bestätigten Antwort z gibt der Signaturklient B die empfangene bestätigte Antwort z, die vorerwähnte Information x und t Sätze von (ei, ui) und die Anfrage βi in einen Entschlüsseler 216 ein, worin eine bestätigte Antwort z' frei von dem Einfluß von Zufallskomponenten berechnet wird. Die bestätigte Antwort z' wird zusammen mit der Anfrage β und der Nachricht m an den Verifizierer C gesandt.
  • Der Entschlüsseler 260 umfaßt beispielsweise einen Zustandsprüfer 261 und einen Modulo- Rechner 252. Die bestätigte Antwort z' = (z'&sub1;, ..., z't) erhält man durch
  • Schritt S&sub8;: Nach Empfang der Nachricht m, der Anfrage β und der bestätigten Antwort z' prüft der Verifizierer deren Gültigkeit mittels einer Verifiziervorrichtung 340.
  • Die Verifiziervorrichtung 340 umfaßt beispielsweise einen Modulo-Rechner 341, einen Einwegfunktionsrechner 342 und einen Komparator 343. x* = (x*&sub1;, ..., x*t) erhält man durch
  • wodurch geprüft wird, ob β = f(m, x*) gilt.
  • Das obige sind nicht-zurückverfolgbare Authentifizierungssysteme, die auf dem erweiterten Fiat-Shamir-Schema beruhen. Das Fiat-Shamir-Schema und das erweiterte Fiat-Shamir-Schema beruhen auf der Tatsache, daß, wenn die Faktorenzerlegung von N in Primfaktoren schwierig ist, die Berechnung der Quadratwurzel in (mod N) und die Berechnung der L-ten Wurzel in (mod N) schwierig sind. Falls also ein effizientes Verfahren zur Fakturisierung in Primzahlen entdeckt werden sollte, könnte die Sicherheit der Blindsignatursysteme, die auf diesen Schemata beruhen, gefährdet werden. Andererseits wäre ein Authentifizierungsschema, das die Schwierigkeit eines diskreten Logarithmusproblems ausnutzt, immer noch sicher, selbst wenn eine effiziente Methode zur Fakturisierung in Primfaktoren entdeckt werden sollte, und dieses Schema ist auf das Authentifizierungssystem der vorliegenden Erfindung so anwendbar, wie es bei dem oben beschriebenen Fiat-Shamir-Schema und dem erweiterten Fiat-Shamir-Schema der Fall ist. Das Authentifizierungsschema, das auf dem diskreten Logarithmusproblem beruht, ist erörtert in beispielsweise M. Tompa und H. WoII, "Random Self-Reducibility and Zero Knowledge Interactive Proofs of Possessions of Inforamtion," FOCXS, Seiten 472-482 (1987) und T. Okamoto und K. Ohta, "An abuse of Zero Knowledge Proofs, Measures to Protect It, and Its Applications," The proceedings of the 1988 Workshop Cryptography and Informations Security, Kobe, Japan 28.-29. Juli 1988.
  • Die Fig. 24 und 25 sind Diagramme, die die Benutzer-Authentifizierungs- bzw. Nachrichten- Authentifizierungsprozedur im Fall der Anwendung der Schwierigkeit des diskreten Logarithmusproblems auf die Authentifizierungssysteme der vorliegenden Erfindung darstellen, die in den Fig. 1 und 2 gezeigt sind. Die Fig.26 bis 30 stellen die Ausbildungen des Bestätigers A (100), des Antragstellers oder Signaturklienten B (200) und des Verifizierers C (300) für die Authentifizierungen dar. Ihre grundsätzlichen Gestaltungen sind identisch mit jenen in den oben beschriebenen Ausführungsformen. Unter Bezugnahme auf die Fig. 26, 27 und 28 wird zunächst die Benutzer-Authentifizierungsprozedur von Fig. 24 beschrieben, mit der der Bestätiger A dem Verifizierer C bestätigt, daß er die Identität des Antragstellers B festgestellt hat.
  • Ein Vertrauenszentrum macht eine Primzahl P und eine ganze Zahl g öffentlich. Mit der folgenden Prozedur bestätigt der Bestätiger A dem Verifizierer C die Gültigkeit des Antragstellers B. Dabei sei hier angenommen, daß der Bestätiger A für öffentliche Information x einen Geheimschlüssel s zur Verfügung hat, der x = gs(mod P) erfüllt.
  • Schritt S&sub1;: Der Bestätiger A sendet die öffentliche Information x an den Antragsteller B und den Verifizierer C.
  • Schritt S&sub2;: Der Bestätiger A erzeugt eine Anfangsantwort x' mittels eines Anfangsantwortgenerators 110 und sendet sie an den Antragsteller B.
  • Der Anfangsantwortgenerator 110 umfaßt beispielsweise einen Zufallsgenerator 111 und einen Modulo-Rechner 112. Eine Zufallszahl r (0 ≤ r ≤ P - 2), die von dem Zufallsgenerator 111 erzeugt wird, und die öffentlichen Zahlen g und P werden dem Modulo-Rechner 112 geliefert, worin die folgende Berechnung ausgeführt wird: x' = gr (mod P).
  • Schritt S&sub3;: Nach Erhalt der Anfangsantwort x', gibt der Anspruchsteller ein Zufallsbit e, welches 0 oder 1 ist, und eine Zufallszahl u (0 ≤ u ≤ P-2), beide durch den Zufallsgenerator 210 generiert, die erhaltende Anfangsantwort x', die öffentliche Information x und die öffentlichen Zahlen g und P in einen Anfangsantwortverschlüsseler 215 ein, worin eine verschlüsselte Anfangsantwort x" errechnet wird.
  • Die so erhaltene verschlüsselte Anfangsantwort x" wird zum Verifizierer C gesendet.
  • Der Anfangsantwortverschlüsseler 215 ist beispielsweise von einem Modulo-Rechner gebildet, welcher die verschlüsselte Anfangsantwort x" durch die folgende Gleichung errechnet: x" = gu xe x'1-2e(mod P).
  • Schritt S&sub4;: Nach Erhalt der verschlüsselten Anfangsantwort x", speichert der Verifizierer C sie in einem Informationsspeicher 310, erzeugt eine Zufallszahl β mit einem Zufallsgenerator 320 und überträgt sie als eine Anfrage an den Antragsteller B.
  • Schritt S&sub5;: Nach Empfang der Anfrage β gibt der Antragsteller B sie und das zuvor genannte Zufallsbit e in einen Anfragenverschlüsseler 220 ein, worin eine verschlüsselte Anfrage β' berechnet wird. Die so erhaltene verschlüsselte Anfrage wird an den Bestätiger A gesandt.
  • Der Anfragenverschlüsseler 220 ist beispielsweise von einem Modulo-Rechner gebildet, der den folgenden Ausdruck berechnet: β' = e + β mod 2.
  • Schritt S&sub6;: Nach Empfang der verschlüsselten Anfrage β' gibt der Bestätiger A die vorgenannte Zufallszahl r, die öffentliche Zahl P und die empfangene, verschlüsselte Anfrage β' in eine Bestätigungsvorrichtung 120 ein, worin eine bestätigte Antwort z berechnet wird. Die so erhaltene bestätigte Antwort z wird an den Antragsteller B zurückgegeben.
  • Die Bestätigungsvorrichtung 120 umfaßt beispielsweise einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. Ein aus dem Geheimschlüsselspeicher 121 ausgelesener Geheimschlüssel s, die Zufallszahl r von dem Zufallsgenerator 111, die öffentliche Zahl P und 35 die verschlüsselte Anfrage β' werden in den Modulo-Rechner 122 eingegeben, worin die bestätigte Antwort z mit dem folgenden Ausdruck berechnet wird: z = r - β' s(mod P-1).
  • Schritt S&sub7;: Nach Empfang der bestätigten Antwort z gibt der Antragsteller B sie, die öffentliche Zahl P, das Zufallsbit e und die Zufallszahl u in einen Entschlüsseler 230 ein, worin eine bestätigte Antwort z' berechnet wird, die frei von dem Zufallskomponenteneinfluß ist. Die so erhaltene bestätigte Antwort z wird an den Verifizierer C gesandt.
  • Der Entschlüsseler 230 ist beispielsweise von einem Modulo-Rechner gebildet, der die bestätigte Antwort z' mit folgendem Ausdruck berechnet: z' = u + z1-2e (mod P-1).
  • Schritt S&sub8;: Nach Empfang der bestätigten Antwort z' prüft der Verifizierer C deren Gültigkeit mittels einer Verifiziervorrichtung 330.
  • Die Verifiziervorrichtung 330 umfaßt beispielsweise einen Modulo-Rechner 331 und einen Komparator 332. Der Modulo-Rechner 331 berechnet x* aus den öffentlichen Zahlen g und P, der öffentlichen Information x und der Zufallszahl β von dem Zufallsgenerator 320 nach dem folgenden Ausdruck: x* = gz' x (mod P - 1). Der Komparator 332 vergleicht das x* und die aus dem Informationsspeicher 310 ausgelesene Anfangsantwort x" und prüft dabei, ob x" = x* gilt.
  • Bei diesem Ausführungsbeispiel kann die Zufallszahl r in dem Ausdruck in Schritt S&sub2; beispielsweise als ein Logarithmus von x' mit der Basis g angesehen werden, im allgemeinen ist aber, selbst wenn x' bekannt ist, es schwierig, seinen Logarithmus zu lösen. Das heißt, dieses Ausführungsbeispiel verwendet die Schwierigkeit bei der Lösung eines diskreten Logarithmus.
  • Unter Bezugnahme auf die Fig. 26, 29 und 30 wird als nächstes die Nachrichten-Authentifizierungsprozedur von Fig. 25 beschrieben, durch die der Signaturklient B eine Nachricht m mit der Hilfe des Bestätigers A signiert.
  • Ein Vertrauenszentrum macht eine ganze Zahl g und eine Primzahl P öffentlich. Der Signaturklient B signiert die Nachricht m mit Hilfe des Bestätigers A in folgender Weise.
  • Schritt S&sub1;: Der Bestätiger A sendet öffentliche Information x an den Signaturklienten B und den Verifizierer C.
  • Schritt S&sub2;: Der Bestätiger A berechnet mittels eines Anfangsantwortgenerators 110 eine Anfangsantwort x', die sich zusammensetzt aus x&sub1;, x&sub2; ..., xt, und sendet sie an den Signaturklienten B.
  • Der Bestätiger A ist im Aufbau identisch mit dem Bestätiger A bei der Benutzer-Authentifizierung, die in Fig. 26 gezeigt ist, jedoch erzeugt der Zufallsgenerator 111 t Zufallszahlen ri (i = 1, 2 ..., t; 0 &le; ri < P - 2) und der Modulo-Rechner 112 berechnet die t Anfangsantworten x"i (i = 1, 2, ..., t) mit dem folgenden Ausdruck: x'i = gri (mod P).
  • Schritt S&sub3;: Nach Empfang der Anfangsantwort x' erzeugt der Signaturklient B t Sätze von Zufallszahlen ei und ui mittels eines Zufallsgenerators 210. Jeder Satz von Zufallszahlen, die öffentliche Zahl P, die öffentliche Information x und jede der empfangenen Anfangsantworten x'i werden an einen Anfangsantwortverschlüsseler 215 geliefert, worin t verschlüsselte Anfangsantworten x"i berechnet werden. Die t verschlüsselten Anfangsantworten x"i, die so erhalten werden, werden an einen Anfragegenerator 250 geliefert.
  • Der Anfangsantwortverschlüsseler 215 wird von einem Modulo-Rechner gebildet, der t verschlüsselte Anfangsantworten x"i aus den t Sätzen von Zufallszahlen ei und ui, den empfangenen t Anfangsantworten x"i, der öffentlichen Information x und der öffentlichen Zahl 5P mit dem folgenden Ausdruck berechnet. u. e. 1-2e. 11 1 = g 'x x' (mod P).
  • 10Schritt S&sub4;: Der Signaturklient B liefert ferner die Nachricht m, die t verschlüsselten Anfangsantworten x"i und die t Zufallszahlen ei an den Anfragegenerator 250 zur Schaffung einer Anfrage &beta; und einer verschlüsselten Anfrage &beta;', die durch Verschlüsselung der ersteren erzeugt wird. Die so erhaltene verschlüsselte Anfrage &beta;' wird an den Bestätiger A gesandt.
  • Der Anfragegenerator 250 umfaßt einen Einwegfunktionsrechner 251 und einen Modulo-Rechner 252 und berechnet &beta; und &beta;' mit folgenden Ausdrücken:
  • &beta; = (&beta;&sub1;, ..., &beta;t) = f(m, x"&sub1;, ..., x"t)
  • &beta;'i = ei + &beta;i mod 2, &beta;'&sub1;, ..., &beta;'t)
  • Schritt S&sub5;: Nach Empfang der verschlüsselten Anfrage &beta;' berechnet der Bestätiger A mittels einer Bestätigungsvorrichtung 120 eine bestätigte Antwort z aus der vorerwähnten Zufallszahl ri und der empfangenen verschlüsselten Anfrage &beta;'. Die so erhaltene bestätigte Antwort z wird an den Signaturklienten B gesandt.
  • Die Bestätigungsvorrichtung 120 umfaßt zum Beispiel einen Geheimschlüsselspeicher 121 und einen Modulo-Rechner 122. Der aus dem Geheimschlüsselspeicher 121 ausgelesene Geheimschlüssel s, die von dem Zufallsgenerator 111 zuvor erzeugte Zufallszahl ri, die empfangene verschlüsselte Anfrage &beta;' und die öffentliche Zahl P werden dem Modulo-Rechner 122 geliefert, worin die bestätigte Antwort z mit folgendem Ausdruck berechnet wird:
  • zi = ri =&beta;'i s(mod P - 1)
  • z = (z&sub1;, ..., zt).
  • Schritt S&sub6;: Nach Empfang der bestätigten Antwort z liefert der Signaturklient B sie und die t Sätze von Zufallszahlen (ei, ui) an einen Entschlüsseler 260, worin eine bestätigte Antwort z', die von dem Einfluß von Zufallskomponenten frei ist, berechnet wird. Die so erhaltene bestätigte Antwort z' wird zusammen mit der Anfangsanfrage &beta; und der Nachricht m an den Verifizierer C gesandt.
  • Der Entschlüsseler 260 wird beispielsweise von einem Modulo-Rechner 262 gebildet, der z'i mit folgendem Ausdruck berechnet: .
  • Schritt S&sub7;: Nach Empfang der Nachricht m, der Anfangsanfrage &beta; und der bestätigten Antwort z' prüft der Verifizierer C deren Gültigkeit mittels einer Verifiziervorrichtung 340.
  • Die Verifiziervorrichtung 340 umfaßt beispielsweise einen Modulo-Rechner 341, einen Einwegfunktionsrechner 342 und einen Komparator 343. Der Modulo-Rechner 341 berechnet x* aus der empfangenen bestätigten Antwort z', der Anfangsanfrage &beta;, der öffentlichen Information x und den öffentlichen Zahlen g und P vermittels des folgenden Ausdrucks:
  • Der Einwegfunktionsrechner 342 errechnet e* aus der erhaltenen Nachricht m und dem oben errechneten x* nach dem folgenden Ausdruck: e* = f(m, x*).
  • Der Komparator 343 prüft, ob das so errechnet e* mit der empfangenen Anfangsanfrage &beta; übereinstimmt oder nicht.
  • Bei allen oben in Verbindung mit den Fig. 3 bis 9, 10 bis 16 und 17 bis 23 beschriebenen Ausführungsbeispielen wird die Information x durch Anwenden der persönlichen Identifizierungsinformation ID des Bestätigers A auf die Einwegfunktion f berechnet. Da jedoch die Einwegfunktion f öffentlich ist und da die persönliche ldentifizierungsinformation ID im wesentlichen ebenfalls öffentlich ist, kann auch die Information x als im wesentlichen öffentlich betrachtet werden. Dementsprechend ist es auch möglich, ein Verfahren einzusetzen, bei dem das Zentrum oder der Bestätiger A die Information x öffentlich macht, und der Antragsteller oder Signaturklient B und der Verifizierer C die öffentliche Information x direkt verwenden, ohne sie unter Benutzung der Einwegfunktion f im Schritt S&sub2; bei den Ausführungsbeispielen jedes einzelnen Authentifizierungssystems zu berechnen.
  • Bei dem in den Fig. 5 bis 9 gezeigten Ausführungsbeispiel kann beispielsweise die Bestätiger-Vorrichtung 100 in Fig. 5 sowohl für die Benutzer-Authentifizierung als auch die Nachrichten-Authentifizierung der vorliegenden Erfindung verwendet werden. Die Antragsteller-Vorrichtung 200 im Fall der in Fig. 6 gezeigten Benutzer-Authentifizierung ist ebenfalls im wesentlichen übereinstimmend mit der Signaturklienten-Vorrichtung 200 für die in Fig. 8 gezeigte Nachrichten-Authentifizierung. Dasselbe gilt für die Verifizierer-Vorrichtungen 300, die in den Fig. 7 und 9 gezeigt sind. Demzufolge wird in der Praxis des Authentifizierungssystems der vorliegenden Erfindung, selbst wenn die Bestätiger-Vorrichtung 100, die Antragsteller- oder Signaturklienten-Vorrichtung 200 und die Verifizierer-Vorrichtung 300 so ausgelegt sind, daß sie sowohl für die Benutzer-Authentifizierung als auch die Nachrichten-Authentifizierung verwendet werden können, die Größenordnung der Apparatur nicht so groß. Das obige gilt auch für die Ausführungsbeispiele der Fig. 12 bis 16, 19 bis 23 und 26 bis 30.
  • Wie voranstehend beschrieben, erzeugt gemäß der vorliegenden Erfindung der Bestätiger A die bestätigte Antwort z durch Verschlüsselung seines Geheimschlüssels s mit einer Zufallszahl, und dies hindert den Antragsteller oder Signaturklienten B daran, den Geheimschlüssel s von dem Bestätiger A zu stehlen, was eine erhöhte Sicherheit des Authentifizierungssystems bietet.
  • Der Antragsteller oder Signaturklient B liefert die Beziehung zwischen den Anfragen &beta; und &beta;' und die Beziehung zwischen den bestätigten Antworten z und z' in Form jeweils geheimer Zufallszahlen. Durch Geheimhaltung dieser Beziehungen, kann der Zusammenhang zwischen den zwischen dem Bestätiger A und dem Antragsteller oder Signaturklienten B übertragenen Daten und den zwischen dem Antragsteller oder Signaturklienten B und dem Verifizierer C übertragenen Daten nicht freigelegt werden. Das bedeutet, daß bei der Benutzer-Authentifizierung der Bestätiger A dem Verifizierer C bestätigen kann, daß er die Identität des Antragsstellers B festgestellt hat, ohne B's Identität zu offenbaren. Bei der Nachrichten-Authentifizierung kann der Signaturklient B den Bestätiger A veranlassen, die Nachricht m zu signieren, ohne daß zugelassen wird, daß ihr lnhalt bekannt wird. Als Folge davon, könnten der Bestätiger A und der Verifizierer C, selbst wenn sie sich zusammentun würden, nicht die Identität des Antragstellers oder Signaturklienten B herausfinden, noch die Übertragung der Nachricht m von dem Antragsteller oder Signaturklienten B feststellen. Damit kann eine nicht-zurückverfolgbare Authentifizierungsverarbeitung implementiert werden.
  • Durch Erfüllen der Eigenschaft eines interaktiven Bestätigungs- oder Beweissystems mit Null- Kenntnis sowie der Nichtübertragbarkeit, die die Ergebnisse theoretischer Studien der Rechenkomplexitätstheorie sind, stellt das System der vorliegenden Erfindung sicher, daß selbst wenn sich der Bestätiger A und der Verifizierer C zusammentun, sie nicht herausfinden können, wer der Antragsteller oder Signaturklient B ist, oder wer der Ursprung der Nachricht m ist.
  • Hinsichtlich der Eigenschaft des interaktiven Beweissystems mit Null-Kenntnis und der Nichtübertragbarkeit, vgl. beispielsweise Feige, U. und Fiat, A. und Shamir, A., "Zero Knowledge Proofs of Identity," Proceedings of the 19th Annual ACM Symposium on Theory of Computing, Seiten 210 - 217, 1987.
  • Es ist ersichtlich, daß viele Modifikationen und Variationen vorgenommen werden können, ohne den Rahmen der vorliegenden Erfindung, wie er in den Ansprüchen festgelegt ist, zu verlassen.

Claims (31)

1. Authentifizierungsverfahren, an dem ein Bestätiger A, ein Anspruchssteller B und ein Verifizierer C als beteiligte Parteien teilnehmen, und das die Schritte aufweist:
Schritt 1 (S3 in Fig. 3): Der Bestätiger A erzeugt eine Anfangsantwort x' unter Ver-10wendung wenigstens einer Zufallszahl r und sendet sie an den Anspruchssteller B; Schritt 2 (S4): Der Anspruchssteller B generiert Zufallskomponenten, erzeugt eine verschlüsselte Anfangsantwort x" durch Verschlüsseln der von dem Bestätiger A erhaltenen Anfangsantwort x' mit wenigstens der Zufallskomponente und sendet sie an den Verifizierer C;
Schritt 3 (S5): Der Verifizierer C erzeugt eine Anfrage &beta; und sendet sie an den Anspruchssteller B;
Schritt 4 (S6): Der Anspruchssteller B erzeugt eine verschlüsselte Anfrage &beta;' durch Verschlüsseln der von dem Verzifierer C erhaltenen Anfrage &beta; mit wenigstens der Zufallskomponente und sendet sie an den Bestätiger A;
Schritt 5 (S7): Der Bestätiger A errechnet eine bestätigte Antwort z entsprechend der verschlüsselten Anfrage &beta;' anhand wenigstens eines Geheimschlüssels s, der Zufallszahl r und der verschlüsselten Anfrage &beta;', und sendet sie an den Anspruchssteller B;
Schritt 6 (S8): Der Anspruchssteller B errechnet eine entschlüsselte bestätigte Antwort z' unter Verwendung wenigstens der bestätigten Antwort z und der Zufallskomponente, und sendet sie an den Verifizierer C; und
Schritt 7 (S9): Der Verifizierer C prüft, ob oder ob nicht die entschlüsselte bestätigte Antwort z' eine korrekte Antwort auf die verschlüsselte Anfangsantwort x" und die Anfrage &beta; ist;
wobei der Zusammenhang zwischen Information (x', &beta;', z), die zwischen dem Anspruchsteller B und dem Bestätiger A übertragen wird, und Information (x", &beta;, z'), die zwischen dem Verifizierer C und dem Anspruchsteller B übertragen wird, dadurch geheimgehalten wird, daß die Zufallskomponente auf der Seite des Anspruchsstellers B geheimgehalten wird.
2. Authentifizierungsverfahren, an dem ein Bestätiger A, ein Signaturklient B und ein Verifizierer C als die betroffenen Parteien teilnehmen, und das die Schritte umfaßt:
Schritt 1 (S3 in Fig. 4): Der Bestätiger A erzeugt eine Anfangsantwort x' unter Verwendung wenigstens einer Zufallszahl r und sendet sie an den Signaturklienten B;
Schritt 2 (S4): Der Signaturklient B generiert Zufallskomponenten (ei, ui) und erzeugt eine verschlüsselte Anfangsantwort x" durch Verschlüsseln der von dem Bestätiger A empfangenen Antwortsantwort x' mit wenigstens den Zufallskomponenten (ei);
Schritt 3 (S5): Der Signaturklient erzeugt eine Anfrage &beta; durch Berechnung anhand der verschlüsselten Anfangsantwort x" und einer Nachricht m und errechnet eine verschlüsselte Anfrage &beta;' durch Verschlüsseln der Anfrage &beta; mit der Zufallskomponente (ei) und sendet letztere an den Bestätiger A,
Schritt 4 (S6): Der Bestätiger A erzeugt eine bestätigte Antwort z entsprechend der verschlüsselten Anfrage &beta;' unter Verwendung wenigstens eines Geheimschlüssels s, der Zufallszahl r und der verschlüsselten Anfrage &beta;', und sendet sie an den Signaturklienten B;
Schritt 5 (S7): Der Signaturklient B berechnet eine entschlüsselte bestätigte Antwort z' unter Verwendung wenigstens der bestätigten Antwort z und der Zufallskomponenten, und sendet die Nachricht m, die Anfrage &beta; und die entschlüsselte bestätigte Antwort z' an den Verifizierer C; und
Schritt 6 (S8): Der Verifizierer C prüft, ob oder ob nicht die entschüsselte bestätigte Antwort z' und die Anfrage &beta; eine richtige Signatur für die Nachricht m darstellen;
wobei der Zusammenhang zwischen Information (x', &beta;', z), die zwischen dem Signaturklienten B und dem Bestätiger A übertragen wird, und Information (m, &beta;, z'), die zwischem dem Verifizierer C und dem Signaturklienten übertragen wird, dadurch geheimgehalten wird, daß die Zufallskomponenten (ei, ui) auf der Seite des Signaturklienten B geheimgehalten werden.
3. Authentifizierungsverfahren nach Anspruch 1, bei dem im Schritt 1 der Bestätiger A die Anfangsantwort x' durch eine Modulo-Berechnung unter Verwendung der Zufallszahl r und öffentlicher Information x errechnet;
im Schritt 2 der Anspruchssteller B die verschlüsselte Anfangsantwort x" durch eine Modulo-Berechnung unter Verwendung der Anfangsantwort x', der Zufallskomponenten (e, u) und der öffentlichen Information x berechnet;
im Schritt 4 der Anspruchssteller B die verschlüsselte Anfrage &beta;' durch eine Modulo-Berechnung unter Verwendung der Anfrage &beta; und der Zufallskomponenten (e) berechnet;
im Schritt 5 der Bestätiger A die bestätigte Antwort z durch eine Modulo-Berechnung unter Verwendung der Zufallszahl r, der verschlüsselten Anfrage &beta;' und des Geheimschlüssels s berechnet, wobei der Geheimschlüssel s²mod N = x, erfüllt und N eine öffentliche Zahl ist, die das Produkt von wenigstens zwei geheimen Primzahlen ist;
im Schritt 6 der Anspruchssteller B die entschlüsselte bestätigte Antwort z' durch eine Modulo-Berechnung unter Verwendung wenigstens der bestätigten Antwort z, der Zufallskomponenten (u) und der öffentlichen Information x berechnet; und
im Schritt 7 der Verifizierer C eine Prüfung ausführt, um zu bestimmen, ob oder ob nicht die verschlüsselte Anfangsantwort x", die von dem Anspruchssteller B empfangen wurde, zu einem Wert paßt, der durch eine Modulo-Berechnung aus der entschlüsselten bestätigten Antwort z', der Anfrage &beta; und der öffentlichen Information x erhalten wurde.
4. Authentifizierungsverfahren nach Anspruch 2, bei dem im Schritt 1 der Bestätiger A die anfängliche Antwort x' durch eine Modulo-Berechnung unter Verwendung der Zufallszahl r und öffentlicher Information x berechnet;
im Schritt 2 der Signaturklient B die verschlüsselte Anfangsantwort x" durch eine Modulo-Berechnung unter Verwendung der Zufallskomponenten (ei, ui), der Anfangsantwort x' und der öffentlichen Information x berechnet;
im Schritt 3 der Signaturklient B die verschlüsselte Anfrage &beta;' durch eine Modulo-Berechnung unter Verwendung der Zufallskomponenten (ei) und der Anfrage &beta; berechnet;
im Schritt 4 der Bestätiger A die bestätigte Antwort z durch eine Modulo-Berechnung unter Verwendung der Zufallszahl r, der verschlüsselten Anfrage &beta;' und des Geheimschlüssels s berechnet, wobei der Geheimschlüssel s²mod N = x erfüllt und N eine öffentliche Zahl ist, die das Produkt von wenigstens zwei geheimen Primzahlen ist;
im Schritt 5 der Signaturklient B die entschlüsselte bestätigte Antwort z' durch eine Modulo-Berechnung unter Verwendung wenigstens der bestätigten Antwort z, der Zufallskomponenten (ui) und der öffentlichen Information x berechnet; und
im Schritt 6 der Verifizierer C eine Modulo-Berechnung für die entschlüsselte bestätigte Antwort z', die Anfrage &beta; und die öffentliche Information x durchführt, um einen Wert x zu erhalten, und die Prüfung dadurch ausführt, daß er bestimmt, ob oder ob nicht Information &beta;* = f(m, x*), die aus dem Wert x* und der Nachricht m durch eine Operation unter Verwendung einer Einwegfunktion f erhalten wurde, mit der von dem Signaturklienten B erhaltenen Anfrage &beta; zusammenpaßt.
5. Authentifizierungsverfahren nach Anspruch 1, bei dem im Schritt 1 der Bestätiger A die Anfangsantwort x' aus der Zufallszahl r durch eine Modulo-Berechnung errechnet;
im Schritt 2 der Anspruchsteller B die verschlüsselte Anfangsantwort x" aus der Anfangsantwort x', den Zufallskomponenten (ej, u) und k Teilen öffentlicher Information xj durch eine Modulo-Berechnung errechnet, wobei j = 1, 2, ..., k und k eine ganze Zahl gleich oder größer als 2 sind;
im Schritt 4 der Anspruchsteller B die verschlüsselte Anfrage &beta;' aus den Zufallskomponenten (ej) und der Anfrage &beta; durch eine Modulo-Berechnung errechnet;
im Schritt 5 der Bestätiger A die bestätigte Antwort z aus der Zufallszahl r, der verschlüsselten Anfrage &beta;' und k Geheimschlüsseln sj durch eine Modulo-Berechnung errechnet, wobei jeder der Geheimschlüssel sj²mod N = xj erfüllt und N eine öffentliche Zahl ist, die das Produkt von wenigstens zwei geheimen Primzahlen ist;
im Schritt 6 der Anspruchsteller B die entschlüsselte bestätigte Antwort z' aus der bestätigten Antwort z, den Zufallskomponenten (ej, u), der Anfrage &beta; und den k Teilen öffentlicher Information xj durch eine Modulo-Berechnung errechnet; und
im Schritt 7 der Verifizierer C die Prüfung dadurch ausführt, daß er bestimmt, ob oder ob nicht ein Wert, der durch eine Modulo-Berechnung aus der entschlüsselten bestätigten Antwort z', der Anfrage &beta; und den k Teilen öffentlicher Information xj erhalten wurde, mit der vom Anspruchsteller B erhaltenen verschlüsselten Anfangsantwort x" zusammenpaßt.
6. Authentifizierungsverfahren nach Anspruch 2, bei dem im Schritt 1 der Bestätiger A durch eine Modulo-Berechnung t Anfangsantworten x'i aus t Zufallszahlen ri errechnet, wobei t eine ganze Zahl größer als 1 und i = 1, 2 ..., t.
im Schritt 2 der Signaturklient B durch eine Modulo-Berechnung t verschlüsselte Anfangsantworten x"i aus den t Anfangsantworten x"i, den Zufallskomponenten (eij, ui) und k Teilen öffentlicher Information xj errechnet, wobei i = 1, 2 ..., t, k eine ganze Zahl gleich oder größer als 2 und j = 1,2 ..., k;
im Schritt 3 der Signaturklient B t Anfragen &beta;ij aus &beta;ij = f(m, x"i) unter Verwendung der t verschlüsselten Anfangsantworten x"i und der Nachricht m errechnet und durch eine Modulo-Berechnung t verschlüsselte Anfragen &beta;'ij aus den t Anfragen &beta;ij und den Zufallskomponenten (eij) erzeugt, wobei f eine Einwegfunktion ist;
im Schritt 4 der Bestätiger A durch eine Modulo-Berechnung t bestätigte Antworten zi aus den t Zufallszahlen ri, den t verschlüsselten Anfragen &beta;'ij und k Geheimschlüsseln sj erzeugt, wobei die Geheimschlüssel sj²m od N = xj erfüllen und N eine öffentliche Zahl ist, die das Produkt wenigstens zweier geheimer Primzahlen ist;
im Schritt 5 der Signaturklient durch eine Modulo-Berechnung t entschlüsselte bestätigte Antworten z' aus den t Anfragen &beta;ij, den Zufallskomponenten (eij, ui), den t bestätigten Antworten zi und den k Teilen öffentlicher Information xj erzeugt; und
im Schritt 6 der Verifizierer C Modulo-Berechnungen für die t entschlüsselten bestätigten Antworten z'i, die t Anfragen &beta;ij und die k Teile öffentlicher Information xj ausführt, um t Werte x*i zu erhalten und die Prüfung dadurch durchführt, daß er bestimmt, ob oder ob nicht Information f(m, x*i), die aus den t Werten x*i und der Nachricht m durch eine Operation unter Verwendung der Einwegfunktion erhalten wurde, jeweils mit einer entsprechenden der t Anfragen &beta;ij zusammenpaßt.
7. Authentifizierungsverfahren nach Anspruch 1, bei dem im Schritt 1 der Bestätiger A die Anfangsantwort x' durch eine Modulo-Berechnung der L-ten Potenz der Zufallszahl r berechnet;
im Schritt 2 der Anspruchsteller B durch eine Modulo-Berechnung die verschlüsselte Anfangsantwort x" aus der Anfangsantwort x', den Zufallskomponenten (e, u) und öffentlicher Information x errechnet;
im Schritt 4 der Anspruchsteller B durch eine Modulo-Berechnung die verschlüsselte Anfrage &beta;' aus der Anfrage &beta; und den Zufallskomponenten (e) berechnet;
im Schritt 5 der Bestätiger A durch eine Modulo-Berechnung die bestätigte Antwort z aus der Zufallszahl r, der verschlüsselten Anfrage &beta;' und dem Geheimschlüssel s berechnet, wobei der Geheimschlüssel sL mod N = x erfüllt und N eine öffentliche Zahl ist, die das Produkt wenigstens zweier geheimer Primzahlen ist;
im Schritt 6 der Anspruchsteller B durch eine Modulo-Berechnung die entschlüsselte bestätigte Antwort z' aus der bestätigten Antwort z, den Zufallskomponenten (u) der Anfrage &beta; und der öffentlichen Information x berechnet; und
im Schritt 7 der Verifizierer C die Prüfung dadurch durchführt, daß er bestimmt, ob oder ob nicht ein Wert, der durch eine Modulo-Berechnung aus der entschlüsselten bestätigten Antwort z', der Anfrage &beta; und der öffentlichen Information x erhalten wird, mit der von dem Anspruchsteller B erhaltenen verschlüsselten Anfangsantwort x" zusammenpaßt.
8. Authentifizierungsverfahren nach Anspruch 2, bei dem im Schritt 1 der Bestätiger A durch eine Modulo-Berechnung t Anfangsantworten x'i durch eine Modulo-Berechnung der L- ten Potenz der Zufallszahlen ri errechnet, wobei t eine ganze Zahl größer als 1 und i = 1, 2, ..., t;
im Schritt 2 der Signaturklient B durch eine Modulo-Berechnung t verschlüsselte Anfangsantworten x"i aus den t Anfangsantworten x'i, den Zufallskomponenten (ei, ui) und öffentlicher Information x berechnet;
im Schritt 3 der Signaturklient B durch ßi = f(m, x"i) t Anfragen ßi aus den t verschlüsselten Anfangsantworten x"i und der Nachricht m errechnet und durch eine Modulo-Berechnung t verschlüsselte Anfragen &beta;'i aus den Anfragen &beta;i und den Zufallskomponenten (ei) erzeugt, wobei f eine Einwegfunktion ist;
im Schritt 4 der Bestätiger A durch eine Modulo-Berechnung t bestätigte Antworten zi aus den t verschlüselten Anfragen &beta;'i und dem Geheimschlüssel s erzeugt, wobei der Geheimschlüssel sL mod N = x erfüllt und N eine öffentliche Zahl ist, die das Produkt wenigstens zweier geheimer Primzahlen ist;
im Schritt 5 der Signaturklient B durch eine Modulo-Berechnung t entschlüsselte bestätigte Antworten z'i aus den t bestätigten Antworten zi, den Zufallskomponenten (ui), den t Anfragen &beta;i und der öffentlichen Information x erzeugt; und
im Schritt 6 der Verifizierer eine Modulo-Berechnung für die t entschlüsselten bestätigten Antworten z'i, die t Anfragen &beta;i und die öffentliche Information x durchführt, um t Werte x*i zu erhalten, und die Prüfung dadurch durchführt, daß er bestimmt, ob oder ob nicht Information f(m, x*), die durch Anwenden der Nachricht m und der t Werte x*i auf die Einwegfunktion f erhalten wurde, jeweils mit einer entsprechenden der t Anfragen &beta;i zusammenpaßt.
9. Authentifizierungsverfahren nach Anspruch 1, bei dem im Schritt 1 der Bestätiger durch eine Modulo-Berechnung die Anfangsantwort x' aus der r-ten Potenz einer öffentlichen Zahl g berechnet, wobei r die Zufallszahl ist;
im Schritt 2 der Anspruchsteller B durch eine Modulo-Berechnung die verschlüsselte Anfangsantwort x" aus der Anfangsantwort x', den Zufallskomponenten (e, u), der öffentlichen Information x und der öffentlichen Zahl g berechnet;
im Schritt 4 der Anspruchsteller B durch eine Modulo-Berechnung die verschlüsselte Anfrage &beta;' aus der Anfrage &beta; und den Zufallskomponenten (e) berechnet;
im Schritt 5 der Bestätiger A durch eine Modulo-Berechnung die bestätigte Antwort z aus der Zufallszahl r, der verschlüsselten Anfrage &beta;' und dem Geheimschlüssel s errechnet;
im Schritt 6 der Anspruchsteller B durch eine Modulo-Berechnung die entschlüsselte bestätigte Antwort z' aus der bestätigten Antwort z und den Zufallskomponenten (e, u) berechnet; und
im Schritt 7 der Verifizierer C die Prüfung dadurch durchführt, daß er bestimmt, ob ein Wert, der durch eine Modulo-Berechnung aus der öffentlichen Zahl g, der entschlüselten, bestätigten Antwort z', der Anfrage &beta; und der öffentlichen Information x erhalten wird, mit der von dem Anspruchsteller B erhaltenen verschlüsselten Anfangsantwort x" zusammen paßt.
10. Authentifizierungsverfahren nach Anspruch 2, bei dem im Schritt 1 der Bestätiger A t Zufallszahlen ri generiert und durch eine Modulo-Berechnung t Anfangsantworten x'i von den ri-ten Potenzen einer öffentlichen Zahl g berechnet, wobei ri die Zufallszahlen sind, t eine ganze Zahl größer als 1 ist und i = 1, ..., 2 t;
im Schritt 2 der Signaturklient B durch eine Modulo-Berechnung t verschlüsselte Anfangsantworten x"i aus den t Anfangsantworten x'i, den Zufallskomponenten (ei, ui), einer öffentlichen Zahl g und öffentlicher Information x berechnet;
im Schritt 3 der Signaturklient B durch &beta;i = f(m, x"i) t Anfragen &beta;i aus den t verschlüsselten Anfangsantworten x"- und der Nachricht m berechnet und durch die Modulo-Berechnung t verschlüsselte Anfragen &beta;'i aus den Anfragen &beta;i und den Zufallskomponenten (ei) erzeugt, wobei f eine Einwegfunktion ist;
im Schritt 4 der Bestätiger A durch eine Modulo-Berechnung t bestätigte Antworten zi aus der Zufallszahl ri, den verschlüsselten Anfragen &beta;'i und dem Geheimschlüssel s erzeugt;
im Schritt 5 der Signaturklient B durch eine Modulo-Berechnung t entschlüsselte bestätigte Antworten z'i aus den t bestätigten Antworten zi und den Zufallskomponenten (ei, ui) erzeugt; und
im Schritt 6 der Verifizierer eine Modulo-Berechnung für die öffentliche Zahl g, die t entschlüsselten bestätigten Antworten z'i, die t Anfragen &beta;i und die öffentliche Information x ausführt, um t Werte x*i zu erhalten, und die Prüfung dadurch durchführt, daß er bestimmt, ob oder ob nicht jede Information f(m, x*i), die durch Anwenden der Nachricht m und der t Werte x*i auf die Einwegfunktion f erhalten werden, mit der entsprechenden der Anfrage &beta;i zusammenpaßt.
11. Authentifizierungsverfahren nach Anspruch 1, 3, 5, 7 oder 9, bei dem eine Folge der Schritte 1 bis 7 für jede neu erzeugte Zufallszahl r, Anfangsantwort x', Zufallskomponenten (ei, ui) und Anfrage &beta; eine Vielzahl von Malen wiederholt wird.
12. Authentifizierungsverfahren nach Anspruch 1, 3, 5, 7 oder 9, bei dem jeder der Schritte 1 bis 7 für jede neue Erzeugung der Zufallszahl r, der Anfangsantwort x', der Zufallskomponenten (ei, ui) und der Anfrage &beta; eine Vielzahl von Malen wiederholt wird.
13. Authentifizierungsverfahren nach Anspruch 3, 5, oder 7, bei dem die Modulo- Berechnungen in den Schritten 1, 2, 5, 6 und 7 jeweils eine Modulo-N-Berechnung für die öffentliche Zahl N sind.
14. Authentifizierungsverfahren nach Anspruch 9, bei dem die Modulo-Berechnungen in den Schritten 1, 2 und 7 jeweils eine Modulo-P-Berechnung für eine öffentliche Primzahl P sind und die Modulo-Berechnungen in den Schritten 5 und 6 jeweils eine Modulo-(P - 1)- Berechnung für (P - 1) sind und bei dem der Geheimschlüssel s die Bedingung gs mod P = x erfüllt.
15. Authentifizierungsverfahren nach Anspruch 4, 6 oder 8, bei dem die Modulo- Berechnungen in den Schritten 1, 2, 4, 5 und 6 jeweils eine Modulo-N-Berechnung für die öffentliche Zahl N sind.
16. Authentifizierungsverfahren nach Anspruch 10, bei dem die Modulo-Berechnungen in den Schritten 1, 2 und 6 jeweils eine Modulo-P-Berechnung für eine öffentliche Primzahl P sind und die Modulo-Berechnungen in den Schritten 4 und 5 jeweils eine Modulo-(P - 1)--
Berechnung für (P - 1) sind, und bei dem der Geheimschlüssel s die Bedingung gs mod P = x erfüllt.
17. Authentifizierungsverfahren nach Anspruch 3, 4, 7 oder 8, bei dem die öffentliche Information x erhalten wird aus einer Operation x = f(ID) durch Anwenden einer persönlichen Identifizierungsinformation ID des Bestätigers A auf die Einwegfunktion f.
18. Authentifizierungsverfahren nach Anspruch 5 oder 6, bei dem die k Teile öffentlicher Information xj erhalten werden aus einer Operation xj = f(ID, j) durch Anwenden einer persönlichen Identifizierungsinformation ID des Bestätigers auf die Einwegfunktion f.
19. Signaturklienten-Vorrichtung für ein Nachrichtenauthentifizierungssystem, bei dem ein Bestätiger A die Gültigkeit einer Nachricht m eines Signaturklienten B einem Verifizierer C bestätigt, umfassend:
Zufallsgeneratormittel (210) zur Erzeugung von Zufallskomponenten;
Anfangsantwort-Verschlüsselungsmittel (215) zum Verschlüsseln einer Anfangsantwort x', die von dem Bestätiger A eingegeben wird, mit den Zufallskomponenten von den Zufallsgeneratormitteln (210) zur Ausgabe einer verschlüsselten Anfangsantwort x";
Anfrage-Generatormittel (250) zur Ausgabe einer Anfrage &beta;, die durch eine Operation aus der verschlüsselten Anfangsanwort x" von den Anfangsantwort-Verschlüsselungsmitteln (215) und einer Nachricht m erzeugt wird, und zur Ausgabe einer verschlüsselten Anfrage &beta;', die durch Verschlüsselung der Anfrage &beta; mit den Zufallskomponenten erhalten wird;
Entschlüsselungsmittel (260) zum Empfang einer bestätigten Antwort z von dem Bestätiger A und der Zufallskomponenten von den Zufallsgeneratormitteln (210), zum Eliminieren des Einflusses der Zufallskomponenten von der bestätigten Antwort z und zur Ausgabe einer entschlüsselten bestätigten Antwort z'; und
Mittel zum Senden der Nachricht m, der Anfrage &beta; und der entschlüsselten bestätigten Antwort z' an dem Verifizierer C zur Verifikation.
20. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Anfangsantwort-Verschlüsselungsmittel (215) Modulo-Berechnungsmittel zur Durchführung einer Modulo-N-Berechnung unter Verwendung von wenigstens der Anfangsantwort x', den Zufallskomponenten und öffentlicher Information x enthält, um dadurch die verschlüsselte Anfangsantwort x" zu erzeugen, wobei N ein Produkt wenigstens zweier geheimer Primzahlen ist.
21. Signaturklienten-Vorrichtung nach Anspruch 20, umfassend Einwegfunktionsmittel (205) zum Empfang persönlicher Identifizierungsinformation ID des Bestätigers A, zur Durchführung einer Operation x = f(ID) unter Verwendung einer Einwegfunktion f, und zur Ausgabe der öffentlichen Information x.
22. Signaturklienten-Vorrichtung nach Anspruch 19 oder 20, bei der die Anfrage-Generatormittel (250) Mittel (252) zur Durchführung einer Modulo-Berechnung der Summe der Anfrage &beta; und der Zufallskomponente (ei) und zur Ausgabe des Ergebnisses der Berechnung als die verschlüsselte Anfrage &beta;' enthalten.
23. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Anfangsantwort-Verschlüsselungsmittel (215) Modulo-Berechnungsmittel zur Durchführung einer Modulo-P-Berechnung für eine öffentliche Primzahl P auf der Basis der Anfangsantwort x', der Zufallskomponenten (ei, ui) und der öffentlichen Information x enthalten, um dadurch die verschlüsselte Anfangsantwort x" zu erzeugen.
24. Signaturklienten-Vorrichtung nach Anspruch 19, 20 oder 23, bei der die Anfrage- Generatormittel (250) Einwegfunktionsgeneratormittel (251) zum Empfang der Nachricht m und der verschlüsselten Anfangsantwort x", zur Ausführung von &beta; = f(m, x") mit einer Einwegfunktion f und zur Ausgabe der Anfrage &beta; enthalten.
25. Signaturklienten-Vorrichtung nach Anspruch 19, 20, 21 oder 23, bei der die Anfrage-Generatormittel (250) Mittel (252) enthalten, zur Berechnung der verschlüsselten Anfrage &beta;' durch eine Modulo-2-Berechnung der Anfrage &beta; und der Zufallskomponente (ei).
26. Signaturklienten-Vorrichtung nach Anspruch 20 oder 21, bei der die Entschlüsselungsmittel (260) Modulo-Berechnungsmittel (262) enthalten zur Durchführung einer Modulo-N- Berechnung für die öffentliche Zahl N auf der Basis einer von dem Bestätiger A erhaltenen bestätigten Antwort z, der Zufallskomponenten (ui) und der öffentlichen Information und zur Ausgabe der entschlüsselten bestätigten Antwort z'.
27. Signaturklienten-Vorrichtung nach Anspruch 23, bei der die Entschlüsselungsmittel (260) Mittel (262) enthalten zur Durchführung einer Modulo-(P - 1)-Berechnung für die öffentliche Primzahl P auf der Basis der von dem Bestätiger A erhaltenen bestätigten Antwort z und der Zufallskomponenten (ei, ui) und zur Ausgabe der entschlüsselten bestätigten Antwort z'.
28. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Zufallsgeneratormittel (210) Mittel zur Erzeugung, als die Zufallskomponenten, von t Sätzen eines Zufallsbits ei und einer beliebigen Zufallszahl ui sind, wobei t eine ganze Zahl größer als 1 ist und i = 1, 2, ..., t;
die Anfangsantwort-Verschlüsselungsmittel (215) Mittel sind zum Empfangen der t Sätze von Zufallskomponenten ei und ui der öffentlichen Information x und der von dem Bestätiger A erhaltenen Anfangsantwort x' und zur Erzeugung von t verschlüsselten Anfangsantworten x"i durch Durchführung der folgenden Modulo-N-Berechnung für die öffentliche Zahl N:
wobei die öffentliche Zahl N das Produkt von zwei geheimen Primzahlen ist; die Anfrage-Generatormittel (250) Einwegfunktionsmittel (251) enthalten zum Empfang der Nachricht m und der verschlüsselten Anfangsantworten x"i, zur Berechnung von &beta; = f(m, x"i) mit einer Einwegfunktion f und zur Ausgabe der Anfragen &beta;i' sowie Modulo-Berechnungsmittel zum Empfangen der Anfragen &beta;i und der Zufallskomponenten ei, zur Berechnung von &beta;i + ei mod 2 sowie zur Ausgabe der verschlüsselten Anfragen &beta;'i; und
die Entschlüsselungsmittel (260) Mittel sind zum Empfangen der Zufallskomponenten ei und ui, der Anfragen &beta;i' der öffentlichen Information x, der öffentlichen Zahl N und der von dem Bestätiger A erhaltenen bestätigten Antworten zi und zur Berechnung der entschlüsselten bestätigten Antworten z'i durch
29. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Zufallsgeneratormittel (210) Mittel sind zur Erzeugung, als die Zufallskomponenten, von t Sätzen von k Zufallsbits ein und t beliebigen Zufallszahlen ui, wobei j = 1, 2, ..., k ist und k eine ganze Zahl größer als 1 ist;
die Anfangsantwort-Verschlüsselungsmittel Mittel sind zum Empfangen der k Zufallskomponenten eij und ui, k Teilen öffentlicher Information xj und der Anfangsantworten x'i und zur Erzeugung der t verschlüsselten Anfangsantworten x"i durch die folgende Modulo- N-Berechnung für die öffentliche Zahl N:
wobei i = 1, 2 ..., t und j = 1, 2 ..., k sind und die öffentliche Zahl N das Produkt zweier geheimer Primzahlen ist;
die Anfrage-Generatormittel (250) Einwegfunktionsmittel (251) enthalten zum Empfangen der Nachricht m und der verschlüsselten Anfangsantworten x"i, zum Berechnen von &beta;ij = f(m, x"i) mit einer Einwegfunktion f und zum Ausgeben der Anfragen &beta;ij' sowie Modulo- Berechnungsmittel zum Empfangen der Anfragen &beta;ij und der Zufallskomponenten eij, zum Berechnen von
&beta;'ij = eij + &beta;ij (mod 2)
und zur Ausgabe der verschlüsselten Anfragen &beta;'ij; und
die Verschlüsselungsmittel (260) Logikproduktmittel (261) enthalten zum Empfangen der Zufallskomponenten eij und der Anfragen &beta;ij und zur Berechnung ihrer logischen Produkte cij = &beta;ij . eij, sowie Mittel (262) zum Empfangen der Zufallskomponenten ui, der logischen Produkte cij, der öffentlichen Information xi, der öffentlichen Zahl N und der von dem Bestätiger A erhaltenen bestätigten Antworten zi und zur Berechnung der entschlüsselten bestätigten Antworten z'i durch
30. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Zufallsgeneratormittel (210) Mittel sind zum erzeugen, als die t Zufallskomponenten, von Zufallszahlen ei&epsi;{0, 1, ..., L - 1} und Zufallszahlen ui&epsi;(1, 2, ..., L - 1), wobei i = 1, 2, ..., t ist, N eine öffentliche Zahl ist, die s das Produkt zweier Primzahlen ist, und L eine öffentliche ganze Zahl ist;
die Anfangsantwort-Verschlüsselungsmittel (215) Mittel sind zum Empfangen der Zufallskomponenten ei und ui, der öffentlichen Information x und der von dem Bestätiger erhaltenen Anfangsantwort x' und zum Erzeugen der verschlüsselten Antworten x"i durch die folgende Modulo-N-Berechnung:
x"i - x'i . u .x-ei (mod N);
die Anfrage-Generatormittel (250) Einwegfunktionsmittel (251) enthalten zum Empfangen der Nachricht m und der verschlüsselten Anfangsantworten x"i, zum Berechnen von {&beta;i} = f(m, xi " ..., xt ") mit einer Einwegfunktion f und zur Ausgabe der Anfragen &beta;i' sowie Modulo-Berechnungsmittel (252) zum Empfangen der Anfragen &beta;i und der Zufallskomponenten ei, zum Berechnen von &beta;'i = e.i + &beta;i (mod L)
und zur Ausgabe der verschlüsselten Anfragen &beta;'i; und
die Entschlüsselungsmittel (260) Mittel sind zum Empfangen der Zufallskomponenten ei und ui, der Anfragen &beta;i' der öffentlichen Information x, der öffentlichen Zahl N und der von dem Bestätiger A erhaltenen bestätigten Antworten zl und zum Berechnen der entschlüsselten bestätigten Antworten z'i durch
31. Signaturklienten-Vorrichtung nach Anspruch 19, bei der die Zufallsgeneratormittel (210) Mittel sind zur Erzeugung, als die Zufallskomponenten, von t Sätzen eines Zufallsbits ei und einer beliebigen Zufallszahl ui, wobei t eine ganze Zahl gleich oder größer als 1 ist, i = 1, 2, ..., t ist, 0 &le; ui &le; = P - 2 gilt und P eine öffentliche Primzahl ist;
die Anfangsantwort-Verschlüsselungsmittel (215) Mittel sind zum Empfangen der Zufallskomponenten ei und ui, öffentlicher Information x, einer öffentlichen Zahl g und der von dem Bestätiger A gelieferten Anfangsantworten x'i und zum Erzeugen der t verschlüsselten Anfangsantworten x"i durch die Modulo-P-Berechnung:
die Anfrage-Generatormittel (250) Mittel enthalten zum Empfangen der Nachricht m und der verschlüsselten Anfangsantworten x"i und zur Ausgabe der Anfragen &beta;i durch Berechnung {ßi} = f(m, xi ", ..., xt ") mit einer Einwegfunktion f, sowie Modulo-Berechnungsmittel (252) zum Empfang der Anfragen &beta;i und der Zufallskomponenten ei, zur Durchführung einer Modulo-2-Berechnung ihrer Summe und zur Ausgabe der Ergebnisse der Berechnung als die verschlüsselten Anfragen &beta;'; und
die Entschlüsselungsmittel Mittel (260) sind zum Empfangen der Zufallskomponenten ei und ui, der bestätigten Antworten zi und der öffentlichen Zahl P sowie zur Berechnung der entschlüsselten bestätigten Antworten z'i durch
DE68919923T 1988-06-25 1989-06-21 Verfahren und Vorrichtung zur Authentifizierung. Expired - Lifetime DE68919923T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP63156020A JP2571607B2 (ja) 1988-06-25 1988-06-25 認証方式
JP8727289A JP2805494B2 (ja) 1989-04-05 1989-04-05 認証方法及びそれに用いる装置
JP8727189A JP2805493B2 (ja) 1989-04-05 1989-04-05 認証方法及びそれに用いる装置

Publications (2)

Publication Number Publication Date
DE68919923D1 DE68919923D1 (de) 1995-01-26
DE68919923T2 true DE68919923T2 (de) 1995-08-17

Family

ID=27305464

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68919923T Expired - Lifetime DE68919923T2 (de) 1988-06-25 1989-06-21 Verfahren und Vorrichtung zur Authentifizierung.

Country Status (4)

Country Link
US (1) US4969189A (de)
EP (1) EP0348812B1 (de)
CA (1) CA1322600C (de)
DE (1) DE68919923T2 (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2571607B2 (ja) 1988-06-25 1997-01-16 日本電信電話株式会社 認証方式
US5046094A (en) * 1989-02-02 1991-09-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
US4977595A (en) * 1989-04-03 1990-12-11 Nippon Telegraph And Telephone Corporation Method and apparatus for implementing electronic cash
US5224162A (en) * 1991-06-14 1993-06-29 Nippon Telegraph And Telephone Corporation Electronic cash system
JPH07507893A (ja) * 1992-06-12 1995-08-31 ザ、ダウ、ケミカル、カンパニー プロセス制御コンピュータ用保安フロントエンド通信システムおよび方法
DE69306389T2 (de) * 1992-06-12 1997-06-26 Dow Chemical Co Intelligentes prozesssteuerverbindungssystem und verfahren.
US5396558A (en) * 1992-09-18 1995-03-07 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
US5373558A (en) * 1993-05-25 1994-12-13 Chaum; David Desinated-confirmer signature systems
US5475763A (en) * 1993-07-01 1995-12-12 Digital Equipment Corp., Patent Law Group Method of deriving a per-message signature for a DSS or El Gamal encryption system
AU1674795A (en) * 1993-12-17 1995-07-03 Quintet, Incorporated Method of automated signature verification
US5511121A (en) * 1994-02-23 1996-04-23 Bell Communications Research, Inc. Efficient electronic money
KR0144086B1 (ko) * 1994-03-31 1998-08-17 조백제 인증교환과 전자서명 방법
US5515441A (en) * 1994-05-12 1996-05-07 At&T Corp. Secure communication method and apparatus
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
KR0146438B1 (ko) * 1995-05-17 1998-09-15 조백제 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법
US5721781A (en) * 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
US5671285A (en) * 1995-12-13 1997-09-23 Newman; Bruce D. Secure communication system
US5956409A (en) * 1996-04-29 1999-09-21 Quintet, Inc. Secure application of seals
EP0807910B1 (de) * 1996-05-16 2008-06-04 Nippon Telegraph And Telephone Corporation Verfahren zum Einführen elektronischen Geldes mit einer Überwachungseinrichtung, Gebrauchervorrichtung und Überwachungseinrichtung zum Durchführen desselben
US5903882A (en) * 1996-12-13 1999-05-11 Certco, Llc Reliance server for electronic transaction system
US6337910B1 (en) * 1998-09-09 2002-01-08 Koninklijke Philips Electronics N.V. (Kpenv) Method and apparatus for generating one time pads simultaneously in separate encryption/decryption systems
RU2153191C2 (ru) 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты)
US7194092B1 (en) 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6820063B1 (en) 1998-10-26 2004-11-16 Microsoft Corporation Controlling access to content based on certificates and access predicates
RU2157001C2 (ru) 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Способ проведения платежей (варианты)
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
EP1163752A1 (de) * 1999-04-15 2001-12-19 David Chaum Otimistische authentifizierungssysteme
US6744909B1 (en) 1999-08-19 2004-06-01 Physical Optics Corporation Authentication system and method
US6757824B1 (en) 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
WO2002025415A2 (en) * 2000-09-22 2002-03-28 Edc Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US6774908B2 (en) 2000-10-03 2004-08-10 Creative Frontier Inc. System and method for tracking an object in a video and linking information thereto
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
WO2002091146A2 (en) 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7159240B2 (en) * 2001-11-16 2007-01-02 Microsoft Corporation Operating system upgrades in a trusted operating system environment
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7243230B2 (en) * 2001-11-16 2007-07-10 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
AU2003291205A1 (en) * 2002-11-27 2004-06-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Watermarking digital representations that have undergone lossy compression
US7664258B2 (en) * 2005-12-28 2010-02-16 Microsoft Corporation Randomized sparse formats for efficient and secure computation on elliptic curves
JP5790288B2 (ja) 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、及び情報処理方法
US9189617B2 (en) * 2013-09-27 2015-11-17 Intel Corporation Apparatus and method for implementing zero-knowledge proof security techniques on a computing platform

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2549989B1 (fr) * 1983-07-29 1985-09-13 Philips Ind Commerciale Systeme d'authentification entre un lecteur de carte et une carte de paiement echangeant des informations
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4799061A (en) * 1985-11-18 1989-01-17 International Business Machines Corporation Secure component authentication system
US4731841A (en) * 1986-06-16 1988-03-15 Applied Information Technologies Research Center Field initialized authentication system for protective security of electronic information networks
EP0257585B1 (de) * 1986-08-22 1992-11-25 Nec Corporation Schlüsselverteilungsverfahren
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4888801A (en) * 1988-05-02 1989-12-19 Motorola, Inc. Hierarchical key management system

Also Published As

Publication number Publication date
EP0348812B1 (de) 1994-12-14
DE68919923D1 (de) 1995-01-26
US4969189A (en) 1990-11-06
CA1322600C (en) 1993-09-28
EP0348812A2 (de) 1990-01-03
EP0348812A3 (de) 1991-03-27

Similar Documents

Publication Publication Date Title
DE68919923T2 (de) Verfahren und Vorrichtung zur Authentifizierung.
DE69633217T2 (de) Verfahren zum Implentieren von elektronischem Geld mit Hilfe einer Lizenz eines anonymen öffentlichen Schlüssels
DE3685987T2 (de) Verfahren zum vermindern der fuer eine rsa-verschluesselung benoetigten veraenderlichen speicherkapazitaet.
DE3485804T2 (de) Systeme zur blindunterschrift.
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE69009274T2 (de) Verfahren und Vorrichtung zur Darstellung von elektronischem Geld.
DE69031614T2 (de) Wahlweise moderierte Transaktionssysteme
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE3782099T2 (de) Verfahren, vorrichtung und geraet zum identifizieren und unterschreiben.
DE4008971C2 (de)
DE19803939B4 (de) Verfahren zur Identifizierung von Zugangsbefugten
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
DE19829643C2 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE3876741T2 (de) Vorrichtungen und verfahren zum beglaubigen von vollmachten oder nachrichten mittels eines null-kenntnis-probe-systems und zum unterschreiben von nachrichten.
DE2843583A1 (de) Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
EP1368929B1 (de) Verfahren zur authentikation
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE68904989T2 (de) Einrichtung zur abgesicherten datenkommunikation.
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE60202149T2 (de) Verfahren zur kryptographischen authentifizierung
DE69636772T2 (de) Auf dem diskreten logarithmus basierendes verschlüsselungsverfahren mit öffentlichem schlüssel
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
DE69108786T2 (de) Geheimnisübertragungsverfahren, durch Zertifikataustausch zwischen zwei sich gegenseitig authentifizierenden Mikrorechnern.

Legal Events

Date Code Title Description
8328 Change in the person/name/address of the agent

Free format text: HOFFMANN, E., DIPL.-ING., PAT.-ANW., 82166 GRAEFELFING

8364 No opposition during term of opposition