DE69827320T2 - Identifizierungsverfahren mit öffentlichem Schlüssel unter Verwendung zweier Hash-Funktionen - Google Patents

Identifizierungsverfahren mit öffentlichem Schlüssel unter Verwendung zweier Hash-Funktionen Download PDF

Info

Publication number
DE69827320T2
DE69827320T2 DE69827320T DE69827320T DE69827320T2 DE 69827320 T2 DE69827320 T2 DE 69827320T2 DE 69827320 T DE69827320 T DE 69827320T DE 69827320 T DE69827320 T DE 69827320T DE 69827320 T2 DE69827320 T2 DE 69827320T2
Authority
DE
Germany
Prior art keywords
mod
modulo
equal
der
calculates
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
DE69827320T
Other languages
English (en)
Other versions
DE69827320D1 (de
Inventor
David Arditti
Henri Gilbert
Jacques Stern
David Pointcheval
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.)
Gula Consulting LLC
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of DE69827320D1 publication Critical patent/DE69827320D1/de
Publication of DE69827320T2 publication Critical patent/DE69827320T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • 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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Kryptographieverfahren zur Identifizierung, das es einem beliebigen Träger, genannt Identitätsmodul (beispielsweise eine Speicherkarte, ein Mikroprozessor, ein Computer etc.) erlaubt, seine Identität gegenüber einer Einrichtung zu beweisen, die eine Anwendung durchführt, oder gegenüber einem Gesprächspartner, der mit einer Einrichtung zur Überprüfung ausgestattet ist, und zwar mit Hilfe eines Protokolls, welches ein oder mehr im Träger enthaltene Geheimnisse verwendet, ohne sie zu enthüllen.
  • Ein Identifizierungsprotokoll ist somit ein Dialog zwischen zwei Einheiten über ein Telekommunikationsnetz: Einerseits eine erste Einheit, die ihre Identität beweisen will und die ggf. mit einem Terminal ausgestattet sein kann (beispielsweise ein mit einem Speicherkartenleser ausgestatteter Computer), und andererseits eine zweite Einheit, die in der Lage ist, einen Dialog mit der ersten Einheit durchzuführen und bestimmte Überprüfungsrechnungen zu realisieren.
  • Die erste Einheit, deren Identität man überprüfen möchte, wird nachfolgend "der Überprüfte" genannt (auf Englisch "the prover"), und die zweite Einheit "der Überprüfer" (auf Englisch "the verifier").
  • Die vorliegende Erfindung betrifft insbesondere ein Identifikationsverfahren mit einem öffentlichen Schlüssel, bei dem der Überprüfer die im Identitätsmodul des Überprüften enthaltenen Geheimnisse nicht zu kennen braucht, sondern nur nicht-vertrauliche Daten (den öffentlichen Schlüssel), um die Überprüfungsrechnungen durchzuführen.
  • Der Chiffrieralgorithmus mit öffentlichem Schlüssel, der "RSA" genannt wird (Initialen seiner Autoren RIVEST, SHAMIR, ADLEMAN) ist im amerikanischen Patent US-A-4,405,829 beschrieben. Dies ist gegenwärtig der meistbenutzte Algorithmus mit öffentlichen Schlüsseln. Er liefert Signaturschemata, die auch zu Identifizierungszwecken verwendbar sind.
  • Beim RSA-Algorithmus wählt man zwei verschiedene Primzahlen p und q, und man bildet ihr Produkt n. Ferner wählt man eine ganze Zahl e, die teilerfremd ist mit dem kleinsten gemeinsamen Vielfachen von (p – 1) und (q – 1) (oder, wenn man will, die tellerfremd ist mit dem Produkt (p – 1)(q – 1)). Um eine Nachricht zu chiffrieren, die zuvor in digitale Form u gebracht wurde, wobei u zwischen 0 und n – 1 enthalten ist, berechnet man die e-te Potenz von u im Ring der ganzen Zahlen modulo n, d. h. v = ue mod n. Es wird daran erinnert, dass der Wert einer ganzen Zahl x modulo eine ganze Zahl n gleich dem Rest der Division von x durch n ist.
  • Um eine Nachricht wie z. B. v zu dechiffrieren, muss man die e-te Wurzel der chiffrierten Nachricht v im Ring der ganzen Zahlen modulo n ziehen. Man kann zeigen, dass diese Operation darauf hinaus läuft, die Zahl v zur Potenz d zu erheben, wobei d das Inverse des Exponenten e modulo das kleinste gemeinsame Vielfache der Zahlen (p – 1) und (q – 1) ist. Wenn man die Primfaktoren p und q nicht kennt, ist die Bestimmung von d unmöglich, und somit die Dechiffrieroperation.
  • Eine der ersten praktischen Anwendungen des RSA-Verfahrens zu Identifikationszwecken war die folgende: Eine Autorität, die verantwortlich ist für die Errichtung eines Identifikationssystems, gibt einen öffentlichen Schlüssel vom Typ RSA heraus, d. h. in der Praxis die zwei Zahlen n und e, wobei dieser Schlüssel dem gesamten System gemeinsam ist, und behält die entsprechenden geheimen Elemente (p und q). Diese Autorität trägt in jedes Identitätsmodul der Systembenutzer das Paar ein, das gebildet ist durch:
    • – die Identifikationsnummer ID des Identitätsmoduls;
    • – die e-te Wurzel (oder das Inverse der e-ten Wurzel) modulo n einer Zahl, die ausgehend von der Zahl ID erhalten wird, indem man auf ID eine bei allen bekannte Redundanzfunktion anwendet (wofür ein Beispiel in der Norm ISO 9796 gefunden werden kann). Diese e-te Wurzel (oder ihr Inverses), die durch die Vergabeautorität mit Hilfe geheimer Elemente berechnet wird, die sie hält, wird "Akkreditierung" genannt.
  • Die in die Identitätsmodule eingetragenen Akkreditierungen können an erster Stelle zu passiven Identifikationszwecken verwendet werden (d. h., sie benötigen keine Berechnung seitens desjenigen, der seine Identität beweisen will). Das Protokoll reduziert sich dann für den Überprüfer auf die folgenden Operationen:
    • – Lesen des Paars Identität – Akkreditierung, das in einem Identitätsmodul enthalten ist;
    • – Berechnen der e-ten Potenz der Akkreditierung und Sicherstellen, dass das Resultat dieser Rechnung und die Anwendung der Redundanzfunktion auf die Identifikationszahl ID das gleiche Resultat liefern.
  • Eine solche passive Identifizierung zeigt dem Überprüfer, dass derjenige, der seine Identität beweisen will, über Daten verfügt, die nur von der Autorität herausgegeben sein können, was in einem bestimmten Maße Identitätsmissbräuche begrenzt. Allerdings verbietet nichts einem Piraten, der in der Lage ist, das Protokoll Überprüfter-Überprüfer abzufangen, oder einen unehrlichen Überprüfer, die vom Überprüften mitgeteilten Daten zu seinem Profit wieder zu verwenden.
  • Trotz dieses Risikos eines Betrugs durch Wiederverwendung wird die oben beschriebene passive Identifizierung auf dem Bankgebiet und jenem der Telekommunikationskarten häufig verwendet. Ergänzende Vorsichtsmaßnahmen (schwarze Listen etc.) begrenzen in bestimmtem Maße die Häufigkeit von Betrugsfällen mittels Wiederverwendung.
  • Zur Lösung des Problems von Betrug durch Wiederverwendung ausgetauschter Daten, was ein inhärentes Problem von passiven Identifizierungsprotokollen ist, wurden jedoch aktive Identifizierungsprotokolle vorgeschlagen, d. h. Protokolle, die Rechnungen seitens desjenigen erfordern, der seine Identität beweisen möchte. Zu diesen Protokollen zählen nicht nur die Verwendung des RSA-Algorithmus, um eine vom Überprüfer gestellte zufällige Frage zu signieren, sondern auch interaktive Schemata, wo der Überprüfte dem Überprüfer nachweist, dass er eine oder mehrere Akkreditierungen des oben definierten Typs besitzt, und dies ohne diese Akkreditierung(en) offen zu legen. Unter den Schemata dieses Typs sind das Schema von FIAT-SHAMIR und das Schema von GUILLOU-QUISQUATER die momentan meist benutzten.
  • Das Identifizierungsschema von FIAT-SHAMIR ist im Patent US-A-4,748,668 beschrieben. Das Identifizierungsschema von GUILLOU und QUISQUATER ist im Dokument FR-A-2 620 248 beschrieben (oder seiner europäischen Entsprechung EP-A-0 311 470 oder seiner amerikanischen Entsprechung US-A-5,218,637).
  • Diese beiden Schemata bestehen aus einer oder mehreren Iterationen einer Basisvariante mit drei Schritten wie folgt:
    • 1. Derjenige, der seine Identität beweisen möchte (der Überprüfte) berechnet die e-te Potenz modulo n einer Zufallszahl r, die er gezogen hat, und leitet daraus eine Zahl x her, genannt "der Zeuge", die er dem Überprüfer schickt;
    • 2. Der Überprüfer zieht zufällig eine Zahl b, genannt "die Frage", und schickt sie dem Überprüften;
    • 3. Der Überprüfte berechnet beispielsweise das Produkt aus der Zufallszahl r und der b-ten Potenz seiner Akkreditierung, d. h. y = rSb mod n, und schickt dem Überprüfer das Ergebnis y. Der Überprüfer kann die e-te Potenz von y berechnen, und da er die e-te Potenz der Akkreditierung S des Überprüften kennt, ist er somit in der Lage, die Kohärenz zwischen x, b und y zu überprüfen.
  • Diese Schemata weisen einen doppelten Vorteil für die aktive Identifizierung auf: Wenn man sich einerseits mit einem Unsicherheitsniveau (definiert als die maximale Erfolgswahrscheinlichkeit eines Betrügers) in der Größenordnung von 10–6 begnügt, sind sie deutlich weniger rechenzeitaufwändig als eine RSA-Signatur; andererseits offenbaren diese Schemata zumindest in ihrer Basisversion keine Kenntnisse (auf Englisch "zero-knowledge"), was dazu führt, dass die mit einem Identfizierungsprozess verbundenen Austauschvorgänge einem Betrüger für die Suche nach geheimen Akkreditierungen eines Benutzers keinerlei Unterstützung bieten.
  • Seitens des Überprüften können zwei Konfigurationen vorgesehen werden zur Durchführung von aktiven Identifizierungsschemata, die den Besitz von Akkreditierungen des erläuterten Typs nachweisen. In einer ersten Konfiguration besitzt das Identitätsmodul, welches die Akkreditierungen enthält, eine ausreichende Rechenleistung, um alle Rechnungen selbst durchzuführen. In einer zweiten Konfiguration führt das die Akkreditierungen enthaltende Identitätsmodul die Rechnungen nicht selbst durch, sondern lässt sie in einem Terminal realisieren (beispielsweise einem Mikrocomputer, der in der Lage ist, die Akkreditierungen im Identitätsmodul zu lesen).
  • Obwohl die zweite Konfiguration etwas unsicherer ist als die erste, kann sie dennoch nützlich sein, um die Sicherheit der Überprüfung von Identitätsmodulen zu verbessern, die ursprünglich für eine einfache passive Identifizierung ausgelegt wurden. Man muss dem seitens des Überprüften benutzten Terminals vertrauen, aber unter der Voraussetzung, dass dieser Terminal integer ist, ist kein Betrug vom Netz her oder vom Überprüfer her möglich.
  • In der vorliegenden Erfindung interessiert man sich insbesondere für das Problem der Verwendung von Identitätsträgern, die ursprünglich für eine passive Identifizierung ausgelegt wurden, entsprechend der zweiten Konfiguration, und bei denen eine einzige Akkreditierung entsprechend einem öffentlichen Exponenten e gleich 3 eingetragen worden ist: Der Großteil der französischen Bank-Karten sowie andere Identitätsträger (beispielsweise die Telekommunikationskarten) gehören zu diesem Typ.
  • Das Verfahren nach GUILLOU-QUISQUATER ist theoretisch die durch den Terminal seitens des Überprüften einsetzbar, um dem Überprüfer den Besitz der Akkreditierung nachzuweisen. In diesem speziellen Fall umfasst das Verfahren nach GUILLOU-QUISQUATER die folgenden Operationen:
    • a) zwei große Primzahlen p und q definieren die ganze Zahl n, das Produkt von b und q; die Zahl n wird öffentlich gemacht;
    • b) der Träger desjenigen, der seine Identität beweisen muss, enthält eine geheime Akkreditierung S, die zwischen 1 und n – 1 enthalten ist; die dritte Potenz der Akkreditierung modulo n, d. h. I = S3 mod n, wird öffentlich gemacht;
    • c) der Träger des Überprüften ist mit Mitteln zum zufälligen Ziehen einer ganzen Zahl r ausgestattet, die zwischen 1 und n – 1 enthalten ist, und zum Berechnen der dritten Potenz von r modulo n, genannt der Zeuge x: x = r3 mod n;
    • d) der Überprüfte überträgt den Zeugen x zum Überprüfer;
    • e) der Überprüfer zieht zufällig eine ganze Zahl b, die kleiner ist als der Exponent 3, d. h. gleich 0, 1 oder 2; diese ganze Zahl wird die Frage genannt;
    • f) der Überprüfer überträgt die Frage b zum Überprüften;
    • g) der Überprüfte berechnet die Zahl y definiert als: y = rSb mod n
    • h) der Überprüfte überträgt diese Zahl y zum Überprüfer;
    • i) der Überprüfer erhebt die Zahl y zur dritten Potenz und berechnet außerdem das Produkt des Zeugen x (der ihm übertragen worden ist) mit der Potenz b von I (er hat b gezogen, und I ist öffentlich); dann vergleicht der Überprüfer y3 und xIb mod n. Bei Übereinstimmung hat der Überprüfte korrekt auf die Frage geantwortet, und seine Authentizität wird unterstellt.
  • Die Sicherheit eines solchen Schemas beruht genau auf der Hypothese des RSA-Schemas: Da die ganze Zahl n sowie der Exponent 3 öffentlich sind, ist es für einen betrügerischen Dritten schwierig, auf r zurück zu schließen, indem er die dritte Wurzel aus x zieht, ohne die Faktoren p und q zu kennen, deren Produkt n ist. Da er r nicht kennt, kann der betrügerische Dritte nicht korrekt auf die vom Überprüfer gestellte Frage antworten.
  • Bei einem solchen Verfahren sowie bei anderen heutzutage bekannten Identifizierungsschemata führt die Situation, wo man nur über eine einzige Akkreditierung entsprechend einem öffentlichen Exponenten gleich 3 verfügt, zu sehr kommunikationsaufwändigen Protokollen. Das Sicherheitsniveau eines Basisaustauschs (Zeuge, Frage, Antwort), das man unter den genannten Umständen realisieren möchte, ist nämlich für das Schema nach GUILLOU-QUISQUATER kleiner oder gleich 3. Um zu einem zufrieden stellenden Sicherheitsniveau zu gelangen (Unsicherheit kleiner als 2–16), muss man daher den Basisaustausch mindestens etwa zehnmal wiederholen, was dazu führt, dass man die Zahl der zwischen dem Überprüften und dem Überprüfer auszutauschenden Bits mindestens mit einem Faktor zehn multipliziert.
  • Aufgabe der vorliegenden Erfindung ist es, genau diesen Nachteil zu beseitigen. Es geht darum, ein Schema vorzuschlagen, das sowohl hinsichtlich der Rechenzeit realistisch als auch hinsichtlich der Zahl ausgetauschter Bits weniger aufwändig ist, und es erlaubt, den Besitz einer Akkreditierung entsprechend einem öffentlichen Exponenten gleich 3 nachzuweisen, ohne ihn offen zu legen.
  • Erläuterung der Erfindung
  • Das erfindungsgemäße Verfahren stützt sich auf die nachfolgende klassische Sicherheitshypothese, genannt die Hypothese von Diffie und Hellman: Sind eine ganz Zahl n ausreichender Größe, eine ganze Zahl g kleiner als n sowie zwei ganze Potenzen von g modulo n gegeben, genannt gα mod n und gβ mod n, so ist es schwierig, gαβ mod n zu berechnen, wenn man weder α noch β kennt.
  • Unter dieser Hypothese definiert sich die Erfindung wie folgt: Es handelt sich um ein Verfahren zur Identifizierung eines als "der Überprüfte" bezeichneten Trägers mittels einer als "der Überprüfer" bezeichneten Einrichtung, wobei dieser Träger und diese Einrichtung mit geeigneten Rechen- und Speichermitteln ausgestattet sind, wobei der Überprüfte und der Überprüfer gemeinsam besitzen:
    • – eine erste ganze Zahl n, die das Produkt von zwei Primzahlen (p, q) ist,
    • – eine zweite ganze Zahl g, die zwischen 0 und n – 1 enthalten und von hoher Ordnung k ist (wobei die Ordnung k definiert ist als die kleinste der Zahlen derart, dass gk = 1 mod n),
    • – einen Parameter m, der das Intervall [0, m – 1] bestimmt, aus dem die Zufallsexponenten gezogen werden,
    • – eine erste und eine zweite Hash-Funktion, die voneinander verschieden sind, genannt H1, H2, und voneinander unabhängig sind,
    wobei der Überprüfte ferner eine Geheimzahl S gleich der Kubikwurzel modulo n einer Zahl I besitzt, die aus seiner Identität hergeleitet ist, womit die Zahl S somit die Beziehung S3 = I mod n erfüllt,
    bei welchem Verfahren der Überprüfte und der Überprüfer ihre Rechen- und Speichermittel einsetzen, um die folgenden aufeinander folgenden Operationen durchzuführen:
  • Phase A; der Überprüfte:
    • Aa) zieht zufällig einen ersten ganzen Exponenten a, der zwischen 0 und m – 1 enthalten ist,
    • Ab) berechnet eine Zahl r gleich der Potenz a der Zahl g modulo n, d. h.: r = gα mod n
    • Ac) berechnet eine Zahl R gleich der dritten Potenz von r modulo n, d. h.: R = r3 mod n = g mod n,
    • Ad) überträgt die Zahl R zum Überprüfer,
  • Phase B; der Überprüfer:
    • Ba) zieht zufällig einen zweiten ganzen Exponenten β, der zwischen 0 und m – 1 enthalten ist,
    • Bb) berechnet eine Zahl t gleich der Potenz β von g modulo n, d. h.: t = gβ mod n,
    • Bc) berechnet eine Zahl T gleich der dritten Potenz von t modulo n, d. h. T = t3 mod n = g mod n,
    • Bd) berechnet eine Zahl Z gleich der Potenz β von R modulo n, d. h. Z = Rβ mod n,
    • Be) wendet die erste Hash-Funktion H1 auf Z an, um eine Zahl h zu erhalten: h = H1(Z),
    • Bf) überträgt die Zahlen T und h zum Überprüften,
  • Phase C; der Überprüfte:
    • Ca) berechnet eine Zahl Y gleich der Potenz α der Zahl T modulo n, d. h.: Y = Tα mod n,
    • Cb) wendet die erste Hash-Funktion H1 auf die Zahl Y an und erhält das Ergebnis H1(Y) und überprüft, ob dieses Ergebnis gleich der vom Überprüfer empfangenen Zahl h ist,
    • Cc) wendet die zweite Hash-Funktion (H2) auf die Zahl Y an, um ein Ergebnis H zu erhalten: H = H2(Y),
    • Cd) berechnet eine Zahl z gleich dem Produkt der Zahl r mit dem Geheimen S modulo n, d. h.: z = rS mod n,
    • Ce) überträgt die Zahlen z und H zum Überprüfer,
  • Phase D; der Überprüfer:
    • Da) wendet die zweite Hash-Funktion H2 auf die Zahl Z an und überprüft, ob das erhaltene Ergebnis H2(Z) gleich der Zahl H ist, die er vom Überprüften empfangen hat,
    • Db) berechnet einerseits das Produkt von R mit I modulo n, und andererseits die dritte Potenz von z modulo n, und überprüft, ob die beiden Ergebnisse gleich sind,
    wobei die Identifizierung des Überprüften durch den Überprüfer erfolgt ist, wenn die drei Überprüfungen Cb), Da), Db) durchgeführt sind.
  • Der Parameter m, den der Überprüfte und der Überprüfer gemeinsam besitzen, kann in der gleichen Größenordnung wie k gewählt werden, oder auch gleich n. Der Wert von m darf jenen von k nicht enthüllen, der weder dem Überprüften noch dem Überprüfer bekannt sein darf.
  • Die nachfolgende Tabelle fasst die verschiedenen Operationen zusammen:
  • Die mit 0 markierte horizontale Reihe gibt die Daten an, die den beiden Einheiten bekannt sind, nämlich einerseits die Zahl n, die Zahl g und die dritte Potenz des Geheimnisses, also I, und andererseits die zwei Hash-Funktionen H1 und H2.
  • Tabelle I
    Figure 00100001
  • Die horizontale Reihe A fasst die ersten vom Überprüften durchgeführten Operationen zusammen (die Operationen Aa bis Ad in der vorstehenden Definition).
  • Die horizontale Reihe B fasst die nachfolgenden vom Überprüfer durchgeführten Operationen zusammen (Operationen Ba bis Bf).
  • Die horizontale Reihe C fasst die wiederum vom Überprüften durchgeführten Operationen zusammen (Operationen Ca bis Ce).
  • Schließlich fasst die horizontale Reihe D die zwei letzten vom Überprüfer durchgeführten Operationen zusammen.
  • Ein solches Verfahren erlaubt es gut, die Authentizität eines Besitzers einer Akkreditierung zu überprüfen. Wenn nämlich der Überprüfte das Geheimnis S kennt, kann er korrekt auf die vom Überprüfer gestellten Fragen antworten, denn er kann die Größe z = rS mod n berechnen.
  • Umgekehrt muss der Überprüfte, um akzeptiert zu werden, so vorgehen, dass die Gleichung H = H2(Z) erfüllt wird, und hierzu muss er, nachdem er R an den Überprüfer geschickt hat und T = g mod n empfangen hat, in der Lage sein, eine Zahl H derart zu liefern, dass H = H2(Rβ):
    • 1. Entweder wird H nicht mit Hilfe der Hash-Funktion H2 berechnet; vorausgesetzt, dass H2 als eine Zufallsfunktion modelliert sein kann, ist dann die Wahrscheinlichkeit vernachlässigbar, dass die Relation H = H2(Rβ) erfüllt wird;
    • 2. oder H ist das Ergebnis von H2 für einen Wert Y; dann ist Y gleich Z (es sei denn, man hat eine Kollision von H2 erhalten). Ausgehend von T = g ist in diesem Fall der Überprüfte in der Lage, Tα = g3αβ zu berechnen; gemäß der Ausgangshypothese kennt er dann α derart, dass R = g mod n.
  • Ferner muss der Überprüfte eine Zahl z derart liefern, dass die Relation z3 = RI mod n erfüllt ist. Hierzu muss er eine Kubikwurzel von RI liefern. Wegen RI = gI mod n gilt I = (zg–α)3 mod n.
  • Mittels einiger wenig restriktiver zusätzlicher Hypothesen kann man ferner beweisen, dass ein Übeltäter, der alle vorstellbaren Betrugstechniken einsetzt, keinerlei Information über die Akkreditierung des Überprüften erhalten kann und sich somit für diesen ausgeben kann.
  • Nimmt man nämlich an, dass dieser Übeltäter den Überprüften abfragt (wobei er sich als der Überprüfer ausgibt) mit dem Ziel, ihm eine Information über die Akkreditierung S zu entlocken, so gilt folgendes:
    • a) Gegenüber einem ehrlichen Überprüften ist der Betrüger gezwungen, die Fragen ehrlich zu stellen. Um die Gleichung h = H1(Y) zu erfüllen, nachdem er R = g empfangen hat, muss er T und h derart liefern, dass h = H1(Tα):
    • 1. Entweder ist h nicht mit Hilfe von H1 berechnet, dann ist die Wahrscheinlichkeit der Erfüllung vernachlässigbar, vorausgesetzt, dass H1 als eine Zufallsfunktion modelliert werden kann;
    • 2. oder h ist das Ergebnis von H1 für einen Wert Z, dann ist Y = Z, es sei denn, man hat eine Kollision von H1 erhalten. Ausgehend von R = g ist in diesem Fall der Überprüfer in der Lage, Tβ = g3αβ zu berechnen. Gemäß der Ausgangshypothese kennt er β derart, dass T = g mod n.
    • b) In dem Fall, wo das Geheimnis S als eine ganze Potenz gv von g ausgedrückt werden kann, und wo der Wert von m nahe einem Vielfachen von k ist, kann man den Überprüften simulieren, ohne jedoch das Geheimnis S zu kennen, was bedeutet, dass die Interaktionen, welche der Betrüger mit dem Überprüften haben kann, ihm nichts über S aussagen werden: Der Simulator führt dann die nachfolgenden Operationen durch:
    • 1. Er wählt eine Zahl δ kleiner als m;
    • 2. Er berechnet z = gδ mod n, z3 = g mod n und R = z3I–1, entsprechend g3(δ–v) mod n; (die derart gebildeten Zahlen R und z folgen ungefähr der gleichen Verteilung wie R = g und z = g(α+v);
    • 3. Er schickt R an den Überprüfer, der T und h zurückschickt. Wie vorstehend gesehen, ist der Überprüfer zwangsläufig ehrlich; dies bedeutet, dass er β derart kennt, dass T = g mod n; er kann somit Kenntnis von diesem β haben (wobei T = g mod n, Z = Rβ mod n und h = H1(Z));
    • 4. Er berechnet Y = Rβ = Z mod n und H = H2(Y);
    • 5. Er schickt (z, H) an den Überprüfer.
  • Das definierte Verfahren ist somit selbst angesichts aktiver Attacken sicher.

Claims (2)

  1. Kryptographieverfahren zur Identifizierung eines als "der Überprüfte" bezeichneten Trägers mittels einer als "der Überprüfer" bezeichneten Einrichtung, wobei dieser Träger und diese Einrichtung mit geeigneten Rechen- und Speichermitteln ausgestattet sind, wobei der Überprüfte und der Überprüfer gemeinsam besitzen: – eine erste ganze Zahl n, die das Produkt von zwei Primzahlen (p, q) ist, – eine zweite ganze Zahl g, die zwischen 0 und n – 1 enthalten und von hoher Ordnung k ist (gk = 1 mod n), – einen Parameter m, der das Intervall [0, m – 1] bestimmt, aus dem die Zufallsexponenten gezogen werden, – eine erste und eine zweite Hash-Funktion, die voneinander verschieden sind, genannt H1, H2, wobei der Überprüfte ferner eine Geheimzahl S gleich der Kubikwurzel modulo n einer Zahl I besitzt, die aus seiner Identität hergeleitet ist, womit die Zahl S somit die Beziehung S3 = I mod n erfüllt, bei welchem Verfahren der Überprüfte und der Überprüfer ihre Rechen- und Speichermittel einsetzen, um die folgenden aufeinanderfolgenden Operationen durchzuführen: Phase A; der Überprüfte: Aa) zieht zufällig einen ersten ganzen Exponenten α, der zwischen 0 und m – 1 enthalten ist, Ab) berechnet eine Zahl r gleich der Potenz α der Zahl g modulo n, d. h.: r = gα mod nAc) berechnet eine Zahl R gleich der dritten Potenz von r modulo n, d. h.: R = r3 mod n = g mod n,Ad) überträgt die Zahl R zum Überprüfer, Phase B; der Überprüfer: Ba) zieht zufällig einen zweiten ganzen Exponenten β, der zwischen 0 und m – 1 enthalten ist, Bb) berechnet eine Zahl t gleich der Potenz β von g modulo n, d. h.: t = gβ mod n,Bc) berechnet eine Zahl T gleich der dritten Potenz von t modulo n, d. h. T = t3 mod n = g mod n,Bd) berechnet eine Zahl Z gleich der Potenz β von R modulo n, d. h. Z = Rβ mod n,Be) wendet die erste Hash-Funktion H1 auf Z an, um eine Zahl h zu erhalten: h = H1(Z),Bf) überträgt die Zahlen T und h zum Überprüften, Phase C; der Überprüfte: Ca) berechnet eine Zahl Y gleich der Potenz α der Zahl T modulo n, d. h.: Y = Tα mod n,Cb) wendet die erste Hash-Funktion H1 auf die Zahl Y an und erhält das Ergebnis H1(Y) und überprüft, ob dieses Ergebnis gleich der vom Überprüfer empfangenen Zahl h ist, Cc) wendet die zweite Hash-Funktion (H2) auf die Zahl Y an, um ein Ergebnis H zu erhalten: H = H2(Y), Cd) berechnet eine Zahl z gleich dem Produkt der Zahl r mit dem Geheimen S modulo n, d. h.: z = rS mod n,Ce) überträgt die Zahlen z und H zum Überprüfer, Phase D; der Überprüfer: Da) wendet die zweite Hash-Funktion (H2) auf die Zahl Z an und überprüft, ob das erhaltene Ergebnis H2(Z) gleich der Zahl H ist, die er vom Überprüften empfangen hat, Db) berechnet einerseits das Produkt von R mit I modulo n, und andererseits die dritte Potenz von z modulo n, und überprüft, ob die beiden Ergebnisse gleich sind, wobei die Identifizierung des Überprüften durch den Überprüfer erfolgt ist, wenn die drei Überprüfungen Cb), Da), Db) durchgeführt sind.
  2. Verfahren nach Anspruch 1, bei dem der Träger des Überprüften eine Speicherkarte ist.
DE69827320T 1997-05-13 1998-05-11 Identifizierungsverfahren mit öffentlichem Schlüssel unter Verwendung zweier Hash-Funktionen Expired - Lifetime DE69827320T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9705830A FR2763451B1 (fr) 1997-05-13 1997-05-13 Procede d'identification a cle publique utilisant deux fonctions de hachage
FR9705830 1997-05-13

Publications (2)

Publication Number Publication Date
DE69827320D1 DE69827320D1 (de) 2004-12-09
DE69827320T2 true DE69827320T2 (de) 2005-11-24

Family

ID=9506818

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69827320T Expired - Lifetime DE69827320T2 (de) 1997-05-13 1998-05-11 Identifizierungsverfahren mit öffentlichem Schlüssel unter Verwendung zweier Hash-Funktionen

Country Status (4)

Country Link
US (1) US6125445A (de)
EP (1) EP0878934B1 (de)
DE (1) DE69827320T2 (de)
FR (1) FR2763451B1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403922B1 (en) * 1997-07-28 2008-07-22 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US7171559B1 (en) * 1998-03-18 2007-01-30 Kent Ridge Digital Labs Method of exchanging digital data
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
WO2002084590A1 (en) * 2001-04-11 2002-10-24 Applied Minds, Inc. Knowledge web
EP1410289A4 (de) * 2001-04-27 2004-12-22 Massachusetts Inst Technology Verfahren und system für mikrobezahlungs-transaktionen
DE10151129B4 (de) * 2001-10-17 2004-07-29 Infineon Technologies Ag Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
US20030196094A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Method and apparatus for authenticating the content of a distributed database
US8069175B2 (en) 2002-04-10 2011-11-29 Google Inc. Delegating authority to evaluate content
US7844610B2 (en) * 2003-12-12 2010-11-30 Google Inc. Delegated authority evaluation system
US20030195834A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Automated online purchasing system
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
US8012025B2 (en) * 2002-12-13 2011-09-06 Applied Minds, Llc Video game controller hub with control input reduction and combination schemes
AU2003297193A1 (en) 2002-12-13 2004-07-09 Applied Minds, Inc. Meta-web
AU2003288683A1 (en) * 2003-01-24 2004-08-13 Koninklijke Philips Electronics N.V. Reliable storage medium access control method and device
US7551737B2 (en) * 2003-03-31 2009-06-23 International Business Machines Corporation Cryptographic keys using random numbers instead of random primes
US20050131918A1 (en) * 2003-12-12 2005-06-16 W. Daniel Hillis Personalized profile for evaluating content
CN1838187B (zh) * 2006-04-29 2010-07-21 北京飞天诚信科技有限公司 银行卡用于身份认证的实现方法
US20080123842A1 (en) * 2006-11-03 2008-05-29 Nokia Corporation Association of a cryptographic public key with data and verification thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
FR2620248B1 (fr) * 1987-09-07 1989-11-24 France Etat Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
EP0383985A1 (de) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE4008971A1 (de) * 1990-03-20 1991-09-26 Siemens Nixdorf Inf Syst Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
EP0570388B1 (de) * 1991-02-07 1995-05-24 THOMSON multimedia Verfahren, Identifizierungs- und Verifiziereinrichtung zur Identifizierung und/oder Ausführung digitaler Unterschriften
US5790667A (en) * 1995-01-20 1998-08-04 Matsushita Electric Industrial Co., Ltd. Personal authentication method

Also Published As

Publication number Publication date
FR2763451A1 (fr) 1998-11-20
US6125445A (en) 2000-09-26
EP0878934B1 (de) 2004-11-03
EP0878934A1 (de) 1998-11-18
FR2763451B1 (fr) 1999-06-18
DE69827320D1 (de) 2004-12-09

Similar Documents

Publication Publication Date Title
DE69827320T2 (de) Identifizierungsverfahren mit öffentlichem Schlüssel unter Verwendung zweier Hash-Funktionen
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE69630738T2 (de) Verfahren und Einrichtung für ein elektronisches Geldsystem mit Ursprungserkennung
Guillou et al. A “paradoxical” indentity-based signature scheme resulting from zero-knowledge
DE69533328T2 (de) Beglaubigungseinrichtung
DE19803939B4 (de) Verfahren zur Identifizierung von Zugangsbefugten
DE69633217T2 (de) Verfahren zum Implentieren von elektronischem Geld mit Hilfe einer Lizenz eines anonymen öffentlichen Schlüssels
DE112010004426B4 (de) Nicht verknüpfbare Übertragung ohne Gedächtnis mit Preisangaben und wiederaufladbaren Geldbörsen
DE60114833T2 (de) Überprüfbare, geheime mischung von verschlüsselten daten wie z. b. elgamal-verschlüsselte daten für gesicherte mehrinstanzwahlen
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE60031304T2 (de) Verfahren zur authentifizierung von softwarebenutzern
DE69434703T2 (de) Verfahren zur Erzeugung von DSA-Unterschriften mit preisgünstigen tragbaren Einheiten
DE69830902T2 (de) Zweiweg-authentifizierung-protokoll
EP1368929B1 (de) Verfahren zur authentikation
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE19829643A1 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
DE602004006628T2 (de) Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein.
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
EP1687932B1 (de) Autorisierung einer Transaktion
DE60212248T2 (de) Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl
DE60202149T2 (de) Verfahren zur kryptographischen authentifizierung
DE69636772T2 (de) Auf dem diskreten logarithmus basierendes verschlüsselungsverfahren mit öffentlichem schlüssel
DE60119111T2 (de) Zugriffssteuerung zu einem datenverarbeitungsmittel
DE60123380T2 (de) Verfahren zum beglaubigen eines tragbaren gegenstandes, dazugehöriger tragbarer gegenstand, und vorrichtung zum durchführen des verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GULA CONSULTING LLC, DOVER, DEL., US