DE112012007297B3 - Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle - Google Patents

Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle Download PDF

Info

Publication number
DE112012007297B3
DE112012007297B3 DE112012007297.9T DE112012007297T DE112012007297B3 DE 112012007297 B3 DE112012007297 B3 DE 112012007297B3 DE 112012007297 T DE112012007297 T DE 112012007297T DE 112012007297 B3 DE112012007297 B3 DE 112012007297B3
Authority
DE
Germany
Prior art keywords
message
random integer
tuple
exponentiating
elements
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.)
Active
Application number
DE112012007297.9T
Other languages
English (en)
Inventor
Charanjit Singh Julta
Arnab Roy
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE112012007297B3 publication Critical patent/DE112012007297B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Verfahren zum Initialisieren verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette (100) und eines gemeinsam genutzten Passwortes, das aufweist:
Ermitteln eines verallgemeinerten Diffie-Hellman-Tupels (201);
Erzeugen eines einmaligen simulationsverlässlichen, kenntnisfreien Beweises, der eine Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist (204); und
Verschlüsseln einer Nachricht gemäß dem verallgemeinerten Diffie-Hellman-Tupel (108a),
wobei das Verfahren durch einen Prozessor durchgeführt wird,
wobei die gemeinsame Referenzzeichenkette (100) aus einer zyklischen Gruppe G ausgewählte Elemente g, A , B, K1 und K2 aufweist und wobei das verallgemeinerte Diffie-Hellman-Tupel Elemente S, T und U in der zyklischen Gruppe G aufweist, wobei die Elemente S, T und U erhalten werden, indem eine zufällige ganze Zahl x und eine zufällige ganze Zahl y ausgewählt werden und das Element S durch Potenzieren des g mit der zufälligen ganzen Zahl x, das Element T durch Potenzieren des Elementes A mit der zufälligen ganzen Zahl y und das Element U durch Potenzieren des Elementes B mit der zufälligen ganzen Zahl x plus der zufälligen ganzen Zahl y ermittelt wird.

Description

  • Diese Erfindung erfolgte mit Unterstützung der Regierung der USA unter dem Vertrag Nr. FA8750-08-2-0091, der durch das Department of Interior vergeben wurde. Die Regierung der USA besitzt gewisse Rechte an dieser Erfindung.
  • TECHNISCHES GEBIET
  • Die vorliegende Anmeldung betrifft sichere Datenübertragung und genauer das Ermöglichen sicherer Datenübertragung durch passwortgestützten Einzelrunden-Schlüsselaustausch.
  • HINTERGRUND
  • Die auf Passwörtern beruhende Überprüfung der Identität stellt ein wichtiges Sicherheitsmodell dar. Sicherheit ist in diesem Szenario ein großes Problem, da Passwörter üblicherweise von Domänen mit niedriger Entropie und unzureichender Zufälligkeit beim Erzeugen kryptografisch sicherer Schlüssel stammen.
  • Um Datenübertragungen vor Angriffen zu schützen, wurden Modelle entwickelt, bei denen Peers Passwörter gemeinsam nutzen. Alle derzeitigen passwortgestützten Schlüsselaustauschprotokolle folgen einem Modell einer nicht veränderbaren Übermittlung (non-malleable commitment), z.B. dem Verschlüsselungsmodell des „Chosen Ciphertext Adversary Model“ CCA2 zusammen mit zugehörigen Hash-Beweissystemen. Diese Protokolle verwenden zudem glatte Hash-Projektionsfunktionen, die denen in den CCA2-Verschlüsselungsschemata gleichen. Hier beinhalten die Verfahren zum Erhalten von Hash-Beweisen üblicherweise mehrere Runden des Austausches zwischen den Peers zusammen mit simulationsverlässlichen, kenntnisfreien Beweisen (simulation sound zero knowledge proofs).
  • Katz, Jonathan und Vaikuntanathan, Vinod: „Round-Optimal Password-Based Authenticated Key Exchange“, beschreibt einen allgemeinen Rahmen zum Konstruieren eines kennwortbasierten authentifizierten Schlüsselaustauschprotokolls mit optimaler Rundenkomplexität - d.h. eine Nachricht pro Teilnehmer, gleichzeitig gesendet - im Standardmodell unter der Annahme der Existenz einer gemeinsamen Referenzzeichenkette. Der entsprechende Rahmen wird unter Verwendung von Krytosystemen basierend auf bilinearen Abbildungen instanziiert und kann so angepasst werden, dass sich Protokolle im Standardmodell ergeben, die universell zusammensetzbar sind, während sie nach wie vor nur eine simultane Runde verwenden
  • KURZZUSAMMENFASSUNG
  • Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung beinhaltet ein Verfahren ein Ermitteln eines verallgemeinerten Diffie-Hellman-Tupels, ein Erzeugen eines einmaligen simulationsverlässlichen, kenntnisfreien Beweises, der die Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist, und ein Verschlüsseln einer Nachricht gemäß dem verallgemeinerten Diffie-Hellman-Tupel.
  • Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung beinhaltet ein Verfahren zum Durchführen verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette und eines gemeinsam genutzten Passwortes ein Ermitteln eines geheimen Schlüssels unter Verwendung einer ersten an einen Peer gesendeten Nachricht, einer zweiten vom Peer empfangenen Nachricht und der gemeinsamen Referenzzeichenkette, wobei die erste Nachricht und die zweite Nachricht jeweils ein Tupel von Elementen einer zyklischen Gruppe G der Primordnung p, eine Blinding-Verschlüsselung des gemeinsam genutzten Passworts und einen Hash-Projektionsschlüssel aufweisen.
  • Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung beinhaltet ein Verfahren zum Initialisieren sicherer Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette und eines gemeinsam genutzten Passwortes ein Ermitteln eines geheimen Schlüssels eines Peer unter Verwendung einer ersten Nachricht, einer zweiten Nachricht und der gemeinsamen Referenzzeichenkette, wobei die erste Nachricht und die zweite Nachricht jeweils ein Tupel von Elementen einer zyklischen Gruppe G der Primordnung p, eine Blinding-Verschlüsselung des gemeinsam genutzten Passworts und einen Hash-Projektionsschlüssel aufweisen.
  • Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung beinhaltet ein Verfahren zum Initialisieren sicherer Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette und eines gemeinsam genutzten Passwortes Senden einer ersten Nachricht an einen Peer, Empfangen einer zweiten Nachricht von dem Peer und Ermitteln eines geheimen Schlüssels des Peer unter Verwendung der ersten Nachricht, der zweiten Nachricht und der gemeinsamen Referenzzeichenkette, wobei die erste Nachricht und die zweite Nachricht jeweils ein verallgemeinertes Diffie-Hellman-Tupel, eine Blinding-Verschlüsselung des gemeinsam genutzten Passworts, einen Hash-Projektionsschlüssel und einen einmaligen simulationsverlässlichen, kenntnisfreien Beweis aufweisen, der die Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist.
  • Figurenliste
  • Bevorzugte Ausführungsformen der vorliegenden Offenbarung werden nachstehend unter Bezugnahme auf die begleitenden Zeichnungen detaillierter beschrieben:
    • 1 zeigt eine Abbildung eines Protokolls für einen passwortgestützten Schlüsselaustausch gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 2 zeigt eine Abbildung, die eine Nachrichtenerzeugung gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
    • 3 zeigt eine Abbildung einer empfangenen Nachricht gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 4 zeigt einen Ablaufplan für ein beispielhaftes Verfahren zum Erzeugen eines gemeinsam genutzten Schlüssels gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 5 zeigt eine Abbildung einer gemeinsamen Referenzzeichenkette gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 6 zeigt eine Abbildung eines Diffie-Hellman-Tupels gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 7 zeigt eine Abbildung eines verschlüsselten Passworts gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 8 zeigt eine Abbildung eines Hash-Projektionsschlüssels gemäß einer Ausführungsform der vorliegenden Offenbarung; und
    • 9 zeigt ein beispielhaftes System zum Ausführen eines Verfahrens gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung ermöglicht ein passwortgestützter Einzelrunden-Schlüsselaustausch sichere Datenübertragung. Der passwortgestützte Einzelrunden-Schlüsselaustausch kann für unterschiedliche Modelle sicherer Datenübertragung verwendet werden. Zum Beispiel kann der passwortgestützte Einzelrunden-Schlüsselaustausch bei einem „Password-Authentication Key“- (PAK-) Sicherheitsmodell oder einem „Universally Composable“ (UC)-Modell verwendet werden. Der passwortgestützte Einzelrunden-Schlüsselaustausch umgeht das Modell der nicht veränderbaren Übermittlung, auf dem herkömmliche passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle aufgebaut worden sind. Durch Vermeiden des Modells nicht veränderbarer Übermittlung des CCA-2-Verschlüsselungsmodells können Verfahren sowohl im Hinblick auf die Datenübertragungskosten als auch auf die Berechnung eines endgültigen Schlüssels effizient gestaltet werden.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung können Hash-Beweissysteme im passwortgestützten Schlüsselaustauschprotokoll realisiert werden. Genauer kann ein geheimer Schlüssel als Produkt zweier Projektions-Hashfunktionen, einer ersten Projektions-Hashfunktion, die einer gültigen Verschlüsselungen eines Passworts zugehörigen Sprache entspricht, und einer zweiten Projektions-Hashfunktion, die der Unversehrtheit von verschlüsselten Texten im Verschlüsselungsschema entspricht, ermittelt werden. Bei der zweiten Projektions-Hashfunktion muss es sich nicht um die bei CCA2-Verschlüsselungsschemata verwendete universelle 2-Projektions-Hashfunktion handeln. Um Sicherheit nur auf einer Diffie-Hellman-Enscheidungs- (decisional Diffie-Hellman (DDH-)) Annahme zu beweisen, wird bei einer Hintertür (trapdoor) einer gemeinsamen Referenzzeichenkette eine weitere (paarweise unabhängige) Redundanz benötigt.
  • Der passwortgestützte Einzelrunden-Schlüsselaustausch ist effizient, wobei simulationsverlässliche nichtinteraktive Kenntnisfreiheit (Simulation-Sound Non-Interactive Zero-Knowledge (NIZK)) für den Beweis der Kenntnis geheimer Hash-Schlüssel und nicht notwendigerweise für das Aufbauen einer sicheren CCA2-Verschlüsselung verwendet wird. Beim passwortgestützten Einzelrunden-Schlüsselaustausch wird ein Mehrfachtheorem-NIZK-Beweissystem verwendet. Beim passwortgestützten Einzelrunden-Schlüsselaustausch können Mehrfachtheorem-NIZK-Beweissysteme verwendet werden.
  • Die hierin verwendete Terminologie dient lediglich dem Zwecke des Beschreibens besonderer Ausführungsformen und ist nicht als die Erfindung einschränkend aufzufassen. Die hierin verwendeten Singularformen „ein“, „eine“ und „der“, „die“, „das“ sowie deren Deklinationen sollen ebenso die Pluralformen einschließen, es sei denn dies ist im Kontext deutlich anderweitig angegeben. Es versteht sich weiterhin, dass die Begriffe „aufweist“ und/oder „aufweisend“ in diesem Dokument das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder Hinzufügen eines oder mehrerer Merkmale, ganzer Zahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritte sowie Funktionselemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Handlungen zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie im Einzelnen beansprucht sind, einschließen. Die Beschreibung der vorliegenden Offenbarung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt, ist jedoch nicht als erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt aufzufassen. Viele Änderungen und Variationen sind für den Fachmann naheliegend, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Offenbarung und die praktische Anwendung am besten zu erklären und anderen Fachleuten ein Verständnis der Offenbarung für vielfältige Ausführungsformen mit vielfältigen Änderungen, wie sie für den besonderen betrachteten Gebrauch geeignet sind, zu ermöglichen.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung wird ein Hash-Beweissystem verwendet, bei dem Peers ein Passwort gemeinsam nutzen. Wenn das gemeinsam genutzte Passwort falsch ist, leiten die Peers unverbundene geheime Schlüssel ab. Weiterhin besitzt ein passiver oder aktiver Abhörer keinen Vorteil beim Erraten des endgültigen Schlüssels, auf den sich die rechtmäßigen Peers geeinigt haben, selbst wenn das Startpasswort schwach war. Für ein Passwort mit einer Länge von 4 Dezimalzahlen kann der Abhörer das Passwort zum Beispiel mit einer Wahrscheinlichkeit von 1 aus 9999 mit einem einzigen Versuch erraten, was einem zufälligen Raten entspricht. Das heißt, der Abhörer besitzt keinen zusätzlichen Vorteil gegenüber einem zufälligen Raten.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung handelt es sich bei der gemeinsamen Referenzzeichenkette (common reference string (CRS)) um einen global herausgegeben zufälligen Wert, der allen Peers zugänglich ist, z.B. die letzte Stelle des „Dow Jones Average“ (DJIA) an einem bestimmten Tag. Ein weiteres Beispiel stellt eine durch eine Organisation wie dem NIST (National Institute of Standards Technology) herausgegebene zufällige Zeichenkette dar.
  • Wenn unter Bezugnahme auf 1 zwei Peers A und B, 101a und 101b, und unabhängige Zufallswerte, welche die Peers als r_A und r_B (104a und 104b) gewählt haben, gegeben sind, können sowohl Peer A als auch Peer B mithilfe dieser Zufallswerte eine Funktion F ihrer jeweiligen Zufallswerte, die gemeinsame CRS 105 und ihr Passwort (103a und 103b) bestimmen. Die Funktion F kann durch das Protokoll festgelegt werden. Der sich ergebende Wert (106a und 106b) wird an den anderen Peer gesendet. Bei Empfangen der jeweiligen Werte vom anderen Peer in den Blöcken 107a und 107b ermitteln dann beide Peers beruhend auf dem, was sie vom anderen Peer empfangen haben, ihrem Passwort, der CRS und ihrem Zufallswert einen endgültigen Schlüssel, um eine jeweilige Nachricht zu erzeugen (108a und 108b).
  • Die zwei Peers ermitteln dann und nur dann denselben Schlüssel, wenn sie dasselbe Passwort (103a und 103b) verwendet haben. Wenn sich darüber hinaus die Passwörter auch nur in einem Bit unterscheiden würden, wären die zwei Werte zufällig und voneinander unabhängig. Dasselbe gilt, wenn ein Dritter (z.B. ein „Mittelsmann“ („man in the middle“)) mit inkorrekter Kenntnis des Passwortes versucht, einen aktiven oder passiven Abhörangriff zu starten; dies bedeutet, der erzeugte Wert wird zufällig und unabhängig von den durch die Peers erhaltenen Werten sein.
  • In der Beschreibung und den Zeichnungen werden zyklische Gruppen G1 und G2 verwendet, die beide von der Primordnung p sind, so dass sie die symmetrische externe Diffie-Hellman- (Symmetric External Diffie-Hellman (SXDH-)) Annahme erfüllen.
  • Die SXDH-Annahme enthält eine zugrundeliegende algebraische Struktur, die zwei unterschiedliche zyklische Gruppen G1 und G2 verwendet, die jeweils die Primordnung p besitzen. Eine bilineare Zuordnung nimmt ein Paar von Elementen aus jeweils G1 bzw. G2 und ordnet sie einer dritten, „Zielgruppe“ genannten, Gruppe G3 zu. Die SXDH-Annahme besagt, dass die zwei Gruppen G1 und G2 so inkompatibel sind, dass die Diffie-Hellman-Annahme in jeder dieser beiden Gruppen für sich gilt. Somit kann bei einem gegebenen Erzeuger g der zyklischen Gruppe G1 und zwei Elementen g hoch a, und g hoch b, wobei a und b zufällig gewählt sind, kein Polynomialzeitwidersacher g hoch a mal b von einem zufälligen Element der Gruppe G1 unterscheiden. Eine gleiche Annahme wird als für die Gruppe G2 geltend gefordert.
  • Das Protokoll von 1 geht davon aus, dass eine feste CRS 100 allen Peers bekannt ist. Das Protokoll ist symmetrisch und asynchron, wobei jede Partei eine zu sendende Nachricht bestimmt, eine entsprechende Nachricht empfängt und einen Schlüssel ermittelt. Daher erfolgt die folgende Beschreibung aus Sicht eines der Peers, der andere ist symmetrisch.
  • Die CRS (siehe 5) enthält drei Gruppenelemente g, A und K (301 bis 303), die gleichverteilt zufällig aus G gewählt sind; und eine CRS für NIZK-Beweise (304).
  • Es werden die am Protokoll beteiligten Parteien Pi und Pj betrachtet, die ein Passwort pw gemeinsam nutzen. In 2, erzeugt die Partei Pi Zufallszahlen x, η1 und η1' gleichverteilt zufällig von 1 bis p und bestimmt die Nachrichtenkomponenten 106, zu denen zählt: ein Diffie-Hellman-Tupel: = (gx,Ax) (201 und 6), eine Verschlüsselung des Passworts: = Kx·ssid · ρw (202, 7) (wobei es sich bei ssid um eine Identifikation der Untersitzung handelt), einen Hash-Projektionsschlüssel: gη 1 Kn 1 (203 und 8) und einen NIZK-Beweis der Existenz von x so, dass das Diffie-Hellman-Tupel in 6 tatsächlich die Form (gx,A x) 204 aufweist.
  • Der NIZK-Beweis der Konsistenz des Diffie-Hellman-Tupels 〈ρ11'〉 erfüllt die folgende Eigenschaft:
    Es gibt ein x derart, dass ρ1 = gx und ρ1'= Ax.
  • Der NIZK-Beweis kann mithilfe bekannter Techniken aufgebaut werden. Zum Beispiel kann ein kenntnisfreies Protokoll (z.B. erfährt ein Überprüfer nicht mehr aus einem Beweis als die Wahrheit der Aussage) als einmalig simulationsverlässlich (one-time simulation sound) bezeichnet werden, wenn ein Polynomialzeitwidersacher eine falsche Aussage auch dann nicht beweisen kann, wenn ein Transskript einer falschen Aussage gegeben ist, die im Protokoll durch Ersetzen einer ununterscheidbaren Zeichenkette durch Verwenden einer zugrundeliegenden Härteannahme bewiesen ist. Dies kann durch die bilineare Paarbildung und die SXDH-Annahme ermöglicht werden. Der Beweis ist einmalig simulationsverlässlich, so dass in einem Protokoll mit einmaligem simulationsverlässlichem, kenntnisfreiem Beweis kein Widersacher einen gegeben Beweis einer Aussage verändern kann, um einen gültigen Beweis einer anderen Aussage zu erhalten.
  • Es wird betrachtet, dass (NIZK [1, 2]) Π = (l, P, V, S) = (S1,S2) ein Mehrfachtheorem-NIZK-Beweissystem (bzw. Argument) für die Sprache L ∈ NP mit Zeugenbeziehung R sein kann, wenn: / ein Polynom ist und P, V, S1, S2 alle probabilistische Polyzeit-Maschinen sind, so dass es eine vernachlässigbare Funktion α gibt, so dass für alle k gilt:
    Vollständigkeit: Für alle x ∈ L der Länge k und alle w so, dass R(x, w) = wahr , gilt für alle Zeichenketten σ der Länge l(k), dass V(x,P(x,w,σ),σ) = wahr.
  • Verlässlichkeit: Wenn für alle unbeschränkten (bzw. Polyzeit-) Widersacher A σ ∈ {0,1}l(k) zufällig gewählt wird, ist die Wahrscheinlichkeit, dass A(σ) (x,p) ergibt, so dass x ∉ L, aber V(x, p, σ) = wahr , kleiner als a(k) ist.
  • Nach Bestimmen der Nachrichtenkomponenten 106 versendet Pi eine einzelne die Nachrichtenkomponenten enthaltende Nachricht über einen Datenübertragungskanal (sicher oder unsicher). Dies ist in 1 als starker Schlüssel abgebildet, der durch Pi versendet wird (101a).
  • Pi empfängt einen Schlüssel vom Netzwerk, z.B. von Pj. Unter Bezugnahme auf 4 wird erwartet, dass der empfangene Schlüssel (siehe107, 3) dasselbe Format besitzt wie die Nachricht, die durch den Peer Pi versendet wurde (401). Wenn das Format nicht syntaktisch ordnungsgemäß geformt ist oder dasselbe Diffie-Hellman-Tupel besitzt wie die Nachricht, die durch den Peer Pi versendet wurde (402), endet das Protokoll mit einem Fehler (403). Wenn weiterhin der NIZK-Beweis kein gültiger Beweis der Konsistenz des empfangenen Diffie-Hellman-Tupels ist (402), endet das Protokoll mit einem Fehler (403). Die empfangene Nachricht ohne den NIZK-Beweis kann als (r2,r'2, e2, ρ2) notiert werden.
  • 4 veranschaulicht ein Erzeugen des starken Schlüssels nachdem die Konsistenzprüfungen erfolgreich waren. Es sei CRH eine kollisionsresistente HashFunktion, und es sei H = CRH(ρ2). Teil 1 des Schlüssels des Peer 404 kann ermittelt werden zu: s k 1 = ( r 2 ) n 1 ( e 2 / ρ w ) ( n 1 ' / H ) .
    Figure DE112012007297B3_0001
    Teil 2 des Schlüssels des Peer 405 kann ermittelt werden zu: sk2 = (p2)x 1 . Der starke Schlüssel des Peer 406 kann ermittelt werden zu: sk = sk1 · sk2.
  • Hierin beschriebene Techniken können in allgemeineren kryptographischen Anwendungen verwendet werden. Ein veranschaulichendes Beispiel stellt der Fall eines gegen Angriffe mit gewähltem verschlüsseltem Text resistenten (chosenciphertext attack resistant CCA2) Verschlüsselungsschemas mit öffentlichem Schlüssel dar. Ein CCA2-Verschlüsselungsschema mit öffentlichem Schlüssel beinhaltet ein Erzeugen eines öffentlichen Schlüssels und eines privaten Schlüssels und ein Verbreiten des öffentlichen Schlüssels, ein Verschlüsseln mithilfe dieses öffentlichen Schlüssels und ein Entschlüsseln mithilfe des privaten Schlüssels. Ein solches CCA2-Verschlüsselungsschema kann wie folgt mittels eines gegen Angriffe mit gewähltem Volltext resistenten (chosen-plaintext attack resistant (CPA)) Verschlüsselungsschemas und eines einmaligen simulationsverlässlichen, nichtinteraktiven, kenntnisfreien Beweises aufgebaut werden.
  • Das Verschlüsselungsverfahren erzeugt einen verschlüsselten Text, was ein Erzeugen eines verallgemeinerten Diffie-Hellman-Tupels, ein Verschlüsseln der Nachricht unter dem CPA-Verschlüsselungsschema, einen gekennzeichneten einmaligen simulationsverlässlichen nichtinteraktiven kenntnisfreien Beweis beinhaltet, der die Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist, wobei die Kennzeichnung die verschlüsselte Nachricht unter dem CPA-Verschlüsselungsschema darstellt.
  • CPA stellt ein Beispiel eines Blinding-Verschlüsselungsverfahrens dar, bei dem eine Nachricht codiert werden kann, um eine dritte Partei im Wesentlichen von der Kenntnisnahme des Inhaltes abzuhalten. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann dem Peer beim Blinding-Verschlüsselungsverfahren die Nachricht, z.B. das gemeinsam genutzte Passwort, bekannt sein.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann eine lineare Entscheidungsannahme (Decisional Linear Assumption (DLIN)) verwendet werden, um den NIZK-Beweis zu ermöglichen. Bei der DLIN gibt es eine bilineare Zuordnung zu zwei Elementen von jeweils derselben Gruppe G. Genauer besagt die DLIN, dass bei einem gegebenen Erzeuger g für die zyklische Gruppe G der Primordnung p und den Elementen g hoch a, g hoch b, g hoch a mal r, g hoch b mal s, wobei a, b, r, und s zufällig zwischen 0 und p-1 gewählt sind, kein Polynomialzeitwidersacher g hoch (r+s) von einem zufälligen Element der Gruppe unterscheiden kann.
  • Zum Zwecke der Verwendung einer DLIN enthält das verallgemeinerte Diffie-Hellman-Tupel drei Elemente 〈U,V,W〉, wobei U von der Form g hoch x, V von der Form A hoch y und W von der Form B hoch x plus y ist. Hier können A und B zuvor festgelegt sein, z.B. als Teil der gemeinsamen Referenzzeichenkette.
  • Somit kann das Protokoll wie folgt beschrieben werden: Die gemeinsame Referenzzeichenkette (CRS) enthält eine Vielzahl von Elementen aus der zyklischen Gruppe G der Primordnung p. Diese Elemente der CRS sind zufällig aus der Gruppe gewählt und können als g, A, B, K1 und K2 bezeichnet werden.
  • Ein erster Peer, der an einem passwortgestützten Schlüsselaustausch mit einem zweiten Peer teilnimmt, kann eine an den Peer zu sendende Nachricht wie folgt erzeugen: Der erste Peer wählt eine zufällige ganze Zahl x und eine weitere zufällige ganze Zahl y aus, um ein verallgemeinertes Diffie-Hellman-Tupel zu g hoch x, A hoch y und B hoch x plus y zu erzeugen. Hier erfolgen die Potenzierungen und die Produktberechnungen in der zyklischen Gruppe G.
  • Der erste Peer kann zwei Hash-Projektionsschlüssel wie folgt erzeugen: Der erste Peer wählt drei Zufallszahlen I, m und n aus. Der erste Peer erhält den ersten Hash-Projektionsschlüssel als ein Produkt aus g hoch I und K1 hoch n. Der erste Peer erhält den zweiten Hash-Projektionsschlüssel als ein Produkt aus A hoch m und K2 hoch n.
  • Der erste Peer verschlüsselt das Passwort, indem er zuerst K1 mit x und K2 mit y potenziert, und multipliziert die zwei Ergebnisse miteinander. Der erste Peer kann das sich ergebende Produkt optional mit einer zusätzlichen Hochzahl potenzieren, die aus den zuvor bestimmten zwei Hash-Projektionsschlüsseln ermittelt wird. Zum Beispiel kann diese Ermittlung erfolgen, indem eine Kollisionsresistenzfunktion, wie beispielsweise der sichere Hash-Algorithmus (Secure Hash Algorithm (SHA)) auf das Paar von Hash-Projektionsschlüsseln angewandt wird. Dann multipliziert er das Ergebnis mit dem Produkt, um die Verschlüsselung des Passwortes zu erhalten. Wie zuvor erfolgen alle Potenzierungen und Multiplikationen in der zyklischen Gruppe G.
  • Der erste Peer kann den einmaligen simulationsverlässlichen, nichtinteraktiven, kenntnisfreien Beweis bestimmen, um die Konsistenz des verallgemeinerten Diffie-Hellman-Tupels zu beweisen, das heißt zu beweisen, dass das Tripel die Form g hoch eine ganze Zahl x, A hoch eine andere ganze Zahl y und B hoch x plus y besitzt.
  • Der erste Peer kann dann die das verallgemeinerte Diffie-Hellman-Tupel, die Verschlüsselung des Passwortes, das Paar von Hash-Projektionsschlüsseln und den kenntnisfreien Beweis enthaltende Nachricht an den zweiten Peer senden. Es seien die Elemente im Diffie-Hellman-Tupel S, T, U. Weiterhin wird die Verschlüsselung mit E bezeichnet. Die zwei Hash-Projektionsschlüssel werden jeweils mit R bzw. F und der kenntnisfreie Beweis mit P bezeichnet.
  • Der erste Peer speichert alle temporäre Variablen, die er zum Bestimmen der ausgehenden Nachricht verwendet hat, in seinem lokalen Speicher.
  • Der erste Peer kann eine Nachricht vom zweiten Peer erhalten, die angeblich dieselbe Form besitzt, die er an den zweiten Peer gesendet hat. Die empfangenen Elemente seien als S', T', U', E', R', F' und P' bezeichnet.
  • Der erste Peer geht wie folgt vor, um den geheimen Schlüssel zu bestimmen, wobei geprüft wird, dass der empfangene Beweis P' mit S', T', U' und der CRS konsistent ist. Wenn der Beweis gültig ist, wird der geheime Schlüssel ermittelt, indem ein Element aus der Gruppe G zufällig ausgewählt wird.
  • Wenn der Beweis tatsächlich gültig ist, kann der geheime Schlüssel als ein Produkt von drei Größen H1 und H2 und H3 ermittelt werden. Die Größe H1 ergibt sich als Produkt von R' hoch I und F' hoch m. Beachte, dass I, m und n durch den ersten Peer ausgewählt wurden, um die Hash-Projektionsschlüssel R und F zu ermitteln, und diese Werte im lokalen Speicher gespeichert wurden.
  • Die Größe H2 kann erhalten werden, indem zunächst eine Größe d wie folgt erhalten wird. Die Größe d kann erhalten werden, indem n durch einen Wert geteilt wird, der aus dem empfangenen Paar von Hash-Projektionsschlüsseln R' und F' ermittelt wird. Dieses Ermitteln kann auf dieselbe Weise erfolgen, wie dies beim Ermitteln des ausgehenden Nachrichtenelements E geschieht. Zum Beispiel kann d als n geteilt durch den SHA angewandt auf das Paar R' und F' ermittelt werden. Diese spezielle Division kann Modulo p sein, wobei p die Ordnung der Gruppe P ist.
  • Die Größe H2 kann erhalten werden, indem E' durch das Passwort geteilt und das Ergebnis mit d potenziert wird. Wie zuvor erfolgen alle Multiplikationen, Divisionen und Potenzierungen in der zyklischen Gruppe G.
  • Die Menge H3 kann als das Produkt von R' hoch x und F' hoch y erhalten werden. Beachte, dass x und y verwendet wurden, um S und T in der ausgehenden Nachricht zu erhalten, und x und y durch die Partei im lokalen Speicher gespeichert wurden.
  • Wie zuvor erwähnt, kann der geheime Schlüssel als das Produkt von H1, H2 und H3 in der zyklischen Gruppe G ermittelt werden.
  • Die Verfahrensweisen von Ausführungsformen der Erfindung können insbesondere zur Verwendung in einer elektronischen Einheit oder alternativen System geeignet sein. Dementsprechend können Ausführungsformen der vorliegenden Offenbarung in Form einer vollständigen Hardwareausführungsform oder in einer Ausführungsform ausgebildet werden, die Software- und Hardwareaspekte kombiniert, was hierin sämtlich allgemein als „Prozessor“ „Schaltung“, „Modul“ oder „System“ bezeichnet sein kann. Weiterhin können Ausführungsformen der vorliegenden Offenbarung in Form eines Computerprogrammprodukts ausgebildet werden, das in einem oder mehreren computerlesbaren Medien mit darauf gespeichertem computerlesbarem Programmcode enthalten sein kann.
  • Jede beliebige Kombination aus einem oder mehreren von Computern verwendbaren oder computerlesbaren Medien kann verwendet werden. Bei dem durch Computer verwendbaren oder computerlesbaren Medium kann es sich um ein computerlesbares Speichermedium handeln. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung, eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer oder Infrarot oder Halbleiter verwendender Art sowie eine beliebige geeignete Kombination des zuvor Genannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht erschöpfende Liste): eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM)), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Nur-Lese-Compact-Disk-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des zuvor Genannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes gegenständliche Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zum Ausführen von Anweisungen beinhalten oder speichern kann.
  • Computerprogrammcode zum Ausführen von Operationen für Ausführungsformen der vorliegenden Offenbarung kann in jeder Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, wie beispielsweise ein lokales Netzwerk (local area network (LAN)) oder ein Weitverkehrsnetzwerk (wide area network (WAN)) verbunden sein, oder es kann eine Verbindung mit einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
  • Ausführungsformen der vorliegenden Offenbarung sind vorstehend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten beschrieben. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen realisiert werden kann.
  • Diese Computerprogrammanweisungen können in einem computerlesbaren Medium gespeichert sein, der einen Computer oder eine andere Datenverarbeitungsvorrichtung anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich eines Anweisungsmittels erzeugen, welches die im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen ausführt.
  • Die Computerprogrammanweisungen können in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebene Funktion/Handlung ausführen.
  • Zum Beispiel zeigt 9 ein Blockschaubild, das ein beispielhaftes System für einen einmaligen passwortgestützten Schlüsselaustausch darstellt, der sichere Datenübertragung ermöglicht. Das System 901 kann einen Prozessor 902, einen mit dem Prozessor (z.B. über einen Bus 904 oder ein alternatives Verbindungsmittel) verbundenen Speicher 903 sowie Eingabe/Ausgabe- (E/A-) Schaltungen 905 bis 906 enthalten, die in der Lage sind, eine Schnittstelle zum Prozessor 902 zu bilden. Der Prozessor 902 kann so eingerichtet sein, dass er eine oder mehrere in der vorliegenden Offenbarung beschriebene Verfahrensweisen durchführen kann, von denen veranschaulichende Ausführungsformen in den vorstehenden Figuren gezeigt und hierein beschrieben sind
  • Es ist ersichtlich, dass der hierin verwendete Begriff „Prozessor“ jede Verarbeitungseinheit einschließen soll wie zum Beispiel eine Verarbeitungseinheit, die eine Zentraleinheit (central processing unit (CPU)) und/oder andere Verarbeitungsschaltungen (z.B. einen digitalen Signalverarbeiter (digital signal processor (DSP)), Mikroprozessor usw.) enthält. Es versteht sich ebenfalls, dass sich der Begriff „Prozessor“ auf mehr als eine Verarbeitungseinheit beziehen kann und dass zahlreiche Elemente in Verbindung mit einer Verarbeitungseinheit auch mit anderen Verarbeitungseinheiten geteilt werden können. Der hierin verwendete Begriff „Speicher“ soll Speicher und andere computerlesbare Medien einschließen, die einem Prozessor oder einer CPU zugehörig sind, wie zum Beispiel Speicher mit wahlfreiem Zugriff (random access memory (RAM)), Nur-Lese-Speicher (read only memory (ROM)), fest eingebaute Speichermedien (z.B. ein Festplattenlaufwerk), Wechselspeichermedien (z.B. eine Diskette), Flash-Speicher usw. Des Weiteren soll der hierein verwendete Begriff „Eingabe/Ausgabe-Schaltung“ zum Beispiel eine oder mehrere Eingabeeinheiten (z.B. Tastatur, Maus usw.) zum Eingeben von Daten in den Prozessor und/oder eine oder mehrere Ausgabeeinheiten (z.B. Drucker, Bildschirm usw.) zur Darstellung der Ergebnissen in Verbindung mit dem Prozessor einschließen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block im Ablaufplan oder den Blockschaubildern für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion(en) aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinanderfolgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder Abbildung von Ablaufplänen und Kombinationen von Blöcken in den Blockschaubildern und/oder der Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
  • Zwar werden veranschaulichende Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, es versteht sich jedoch, dass die Erfindung nicht auf genau diese Ausführungsformen beschränkt ist und dass durch den Fachmann vielfältige weitere Änderungen und Modifikationen daran vorgenommen werden können, ohne vom Umfang oder Geist der angehängten Ansprüche abzuweichen.

Claims (17)

  1. Verfahren zum Initialisieren verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette (100) und eines gemeinsam genutzten Passwortes, das aufweist: Ermitteln eines verallgemeinerten Diffie-Hellman-Tupels (201); Erzeugen eines einmaligen simulationsverlässlichen, kenntnisfreien Beweises, der eine Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist (204); und Verschlüsseln einer Nachricht gemäß dem verallgemeinerten Diffie-Hellman-Tupel (108a), wobei das Verfahren durch einen Prozessor durchgeführt wird, wobei die gemeinsame Referenzzeichenkette (100) aus einer zyklischen Gruppe G ausgewählte Elemente g, A , B, K1 und K2 aufweist und wobei das verallgemeinerte Diffie-Hellman-Tupel Elemente S, T und U in der zyklischen Gruppe G aufweist, wobei die Elemente S, T und U erhalten werden, indem eine zufällige ganze Zahl x und eine zufällige ganze Zahl y ausgewählt werden und das Element S durch Potenzieren des g mit der zufälligen ganzen Zahl x, das Element T durch Potenzieren des Elementes A mit der zufälligen ganzen Zahl y und das Element U durch Potenzieren des Elementes B mit der zufälligen ganzen Zahl x plus der zufälligen ganzen Zahl y ermittelt wird.
  2. Verfahren zum Durchführen verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette (100) und eines gemeinsam genutzten Passworts, aufweisend: Ermitteln eines geheimen Schlüssels (107a) unter Verwendung einer an einen Peer gesendeten ersten Nachricht (106a), einer von dem Peer empfangenen zweiten Nachricht (106b) und der gemeinsamen Referenzzeichenkette (100), wobei die erste Nachricht und die zweite Nachricht jeweils ein Tupel von Elementen einer zyklischen Gruppe G der Primordnung p (201), eine Blinding-Verschlüsselung des gemeinsam genutzten Passworts (202) und einen Hash-Projektionsschlüssel (203) aufweisen, wobei die gemeinsame Referenzzeichenkette (100) aus einer zyklischen Gruppe G ausgewählte Elemente g, A, B, K1 und K2 aufweist und wobei das verallgemeinerte Diffie-Hellman-Tupel Elemente S, T und U in der zyklischen Gruppe G aufweist, wobei die Elemente S, T und U erhalten werden, indem eine zufällige ganze Zahl x und eine zufällige ganze Zahl y ausgewählt werden und das Element S durch Potenzieren des g mit der zufälligen ganzen Zahl x, das Element T durch Potenzieren des Elementes A mit der zufälligen ganzen Zahl y und das Element U durch Potenzieren des Elementes B mit der zufälligen ganzen Zahl x plus der zufälligen ganzen Zahl y ermittelt wird.
  3. Verfahren nach Anspruch 2, das weiterhin ein Decodieren von Nutzdaten durch einen Prozessor unter Verwendung einer decodierten Form des geheimen Schlüssels (108a) aufweist.
  4. Verfahren nach Anspruch 2, das weiterhin ein Verschlüsseln von Nutzdaten unter Verwendung eines Verschlüsselungsschemas mit symmetrischem Schlüssel und des geheimen Schlüssels (106a) aufweist.
  5. Verfahren nach Anspruch 2, wobei es sich bei dem Tupel von Elementen um ein verallgemeinertes Diffie-Hellman-Tupel handelt.
  6. Verfahren nach Anspruch 2, wobei die erste Nachricht und die zweite Nachricht weiterhin jeweils einen einmaligen simulationsverlässlichen, kenntnisfreien Beweis aufweisen.
  7. Verfahren nach Anspruch 6, das weiterhin ein Beweisen einer Konsistenz des Tupels durch den Prozessor gemäß einer symmetrischen externen Diffie-Hellman-Annahme (304) aufweist.
  8. Verfahren nach Anspruch 6, das weiterhin ein Beweisen der Konsistenz des Tupels durch den Prozessor gemäß einer linearen Entscheidungsannahme (304) aufweist.
  9. Computerprogrammprodukt zum Initialisieren verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette (100) und eines gemeinsam genutzten Passwortes, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium mit darauf ausgebildetem computerlesbarem Programmcode, wobei der computerlesbare Programmcode aufweist: computerlesbaren Programmcode, der eingerichtet ist, einen geheimen Schlüssel eines Peer unter Verwendung einer ersten Nachricht, einer zweiten Nachricht und der gemeinsamen Referenzzeichenkette zu ermitteln (406), wobei die erste Nachricht und die zweite Nachricht jeweils ein Tupel von Elementen einer zyklischen Gruppe G der Primordnung p (201), eine Blinding-Verschlüsselung des gemeinsam genutzten Passworts (202) und einen Hash-Projektionsschlüssel (203) aufweisen, wobei die gemeinsame Referenzzeichenkette (100) aus einer zyklischen Gruppe G ausgewählte Elemente g, A, B, K1 und K2 aufweist und wobei das verallgemeinerte Diffie-Hellman-Tupel Elemente S, T und U in der zyklischen Gruppe G aufweist, wobei die Elemente S, T und U erhalten werden, indem eine zufällige ganze Zahl x und eine zufällige ganze Zahl y ausgewählt werden und das Element S durch Potenzieren des g mit der zufälligen ganzen Zahl x, das Element T durch Potenzieren des Elementes A mit der zufälligen ganzen Zahl y und das Element U durch Potenzieren des Elementes B mit der zufälligen ganzen Zahl x plus der zufälligen ganzen Zahl y ermittelt wird.
  10. Computerprogrammprodukt nach Anspruch 9, wobei es sich bei dem Tupel von Elementen um ein verallgemeinertes Diffie-Hellman-Tupel handelt.
  11. Computerprogrammprodukt nach Anspruch 9, wobei die erste Nachricht und die zweite Nachricht weiterhin jeweils einen einmaligen simulationsverlässlichen, kenntnisfreien Beweis aufweisen.
  12. Computerprogrammprodukt nach Anspruch 11, das weiterhin ein Beweisen einer Konsistenz des Tupels gemäß einer symmetrischen externen Diffie-Hellman-Annahme (304) aufweist.
  13. Computerprogrammprodukt nach Anspruch 11, das weiterhin ein Beweisen einer Konsistenz des Tupels gemäß einer linearen Entscheidungsannahme (304) aufweist.
  14. Computerprogrammprodukt zum Initialisieren verschlüsselter Datenübertragung unter Verwendung einer gemeinsamen Referenzzeichenkette (100) und eines gemeinsam genutzten Passwortes, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium mit darauf ausgebildetem computerlesbarem Programmcode, wobei der computerlesbare Programmcode aufweist: computerlesbaren Programmcode, der eingerichtet ist eine erste Nachricht an einen Peer zu senden (106a); computerlesbaren Programmcode, der eingerichtet ist, eine zweite Nachricht von dem Peer zu empfangen (107a); und computerlesbaren Programmcode, der eingerichtet ist, unter Verwendung der ersten Nachricht, der zweiten Nachricht und der gemeinsamen Referenzzeichenkette (100) einen geheimen Schlüssel des Peer zu ermitteln (108a), wobei die erste Nachricht und die zweite Nachricht jeweils ein verallgemeinertes Diffie-Hellman-Tupel, eine Blinding-Verschlüsselung des gemeinsam genutzten Passwortes, einen Hash-Projektionsschlüssel und einen einmaligen simulationsverlässlichen, kenntnisfreien Beweis aufweisen, der die Konsistenz des verallgemeinerten Diffie-Hellman-Tupels beweist, wobei die gemeinsame Referenzzeichenkette (100) aus einer zyklischen Gruppe G ausgewählte Elemente g, A , B, K1 und K2 aufweist und wobei das verallgemeinerte Diffie-Hellman-Tupel Elemente S, T und U in der zyklischen Gruppe G aufweist, wobei der computerlesbare Programmcode aufweist: aufweisend computerlesbaren Programmcode, der eingerichtet ist, die Elemente S, T und U zu erhalten, indem zufällige Zahlen x und y ausgewählt werden, aufweisend, Ermitteln des Elementes S durch Potenzieren des g mit der zufälligen ganzen Zahl x, Ermitteln des Elementes T durch Potenzieren des Elementes A mit der zufälligen ganzen Zahl y, und Ermitteln des Elementes U durch Potenzieren des Elementes B mit der zufälligen ganzen Zahl x plus der zufälligen ganzen Zahl y.
  15. Computerprogrammprodukt nach Anspruch 14, das weiterhin computerlesbaren Programmcode aufweist, der eingerichtet ist, den Hash-Projektionsschlüssel mithilfe der zufälligen ganzen Zahlen x und y in der zyklischen Gruppe G und der Elemente g, A, B, K1 und K2 zu erhalten.
  16. Computerprogrammprodukt nach Anspruch 14, das weiterhin computerlesbaren Programmcode aufweist, der eingerichtet ist, die Verschlüsselung des gemeinsam genutzten Passwortes zu erhalten, indem das Element K1 mit der zufälligen ganzen Zahl x potenziert und das Element K2 mit der zufälligen ganzen Zahl y potenziert wird, die zufälligen ganzen Zahlen x und y multipliziert werden und ein Ergebnis mit dem gemeinsam genutzten Passwort multipliziert wird.
  17. Computerprogrammprodukt nach Anspruch 14, das weiterhin computerlesbaren Programmcode aufweist, der eingerichtet ist, die Verschlüsselung des gemeinsam genutzten Passwortes zu erhalten, indem das Element K1 mit der zufälligen ganzen Zahl x potenziert und das Element K2 mit der zufälligen ganzen Zahl y potenziert wird, die zufälligen ganzen Zahlen x und y multipliziert werden, ein Ergebnis mit einer aus dem Hash-Projektionsschlüssel ermittelten Funktion potenziert und ein Ergebnis mit dem gemeinsam genutzten Passwort multipliziert wird.
DE112012007297.9T 2011-05-25 2012-05-03 Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle Active DE112012007297B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/115,720 2011-05-25
US13/115,720 US8681986B2 (en) 2011-05-25 2011-05-25 Single-round password-based key exchange protocols

Publications (1)

Publication Number Publication Date
DE112012007297B3 true DE112012007297B3 (de) 2019-02-07

Family

ID=47217600

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112012007297.9T Active DE112012007297B3 (de) 2011-05-25 2012-05-03 Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
DE112012001828.1T Active DE112012001828B4 (de) 2011-05-25 2012-05-03 Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112012001828.1T Active DE112012001828B4 (de) 2011-05-25 2012-05-03 Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle

Country Status (5)

Country Link
US (1) US8681986B2 (de)
CN (1) CN103563288B (de)
DE (2) DE112012007297B3 (de)
GB (1) GB2503618B (de)
WO (1) WO2012161939A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544144B2 (en) * 2011-04-29 2017-01-10 International Business Machines Corporation Data encryption
US10263782B2 (en) * 2011-10-12 2019-04-16 Goldkey Corporation Soft-token authentication system
US9449167B2 (en) * 2012-09-12 2016-09-20 Infosys Limited Method and system for securely accessing different services based on single sign on
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9769658B2 (en) * 2013-06-23 2017-09-19 Shlomi Dolev Certificating vehicle public key with vehicle attributes
US20150036820A1 (en) * 2013-07-30 2015-02-05 Gideon Samid Probability Durable Entropic Advantage
CN105227308B (zh) * 2014-06-13 2019-01-08 华为技术有限公司 一种加密、解密方法及电子设备
US10033532B2 (en) * 2015-06-20 2018-07-24 Fujitsu Limited Biometric based authenticated key exchange
CN106301788B (zh) * 2016-08-12 2019-03-19 武汉大学 一种支持用户身份认证的群组密钥管理方法
US10404667B2 (en) 2016-11-17 2019-09-03 Bank Of America Corporation Secure, autonomous file encryption and decryption
CN112968878A (zh) * 2021-01-29 2021-06-15 江苏理工学院 基于多线性映射的一轮多方密钥交换协议
US11610004B2 (en) * 2021-04-14 2023-03-21 Bank Of America Corporation System for implementing enhanced file encryption technique

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010692B2 (en) 1996-04-17 2006-03-07 Phoenix Technologies Ltd. Cryptographic methods for remote authentication
US6084968A (en) * 1997-10-29 2000-07-04 Motorola, Inc. Security token and method for wireless applications
US6128724A (en) * 1997-12-11 2000-10-03 Leland Stanford Junior University Computation using codes for controlling configurable computational circuit
US6925568B1 (en) * 1998-01-16 2005-08-02 Sonera Oyj Method and system for the processing of messages in a telecommunication system
US6693964B1 (en) * 2000-03-24 2004-02-17 Microsoft Corporation Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image
US20030158960A1 (en) 2000-05-22 2003-08-21 Engberg Stephan J. System and method for establishing a privacy communication path
JP4833489B2 (ja) * 2000-06-05 2011-12-07 フィーニックス  テクノロジーズ  リミテッド 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
US6928461B2 (en) * 2001-01-24 2005-08-09 Raja Singh Tuli Portable high speed internet access device with encryption
US20020136410A1 (en) * 2001-03-26 2002-09-26 Sun Microsystems, Inc. Method and apparatus for extinguishing ephemeral keys
US8520844B2 (en) * 2003-06-20 2013-08-27 Alcatel Lucent Methods and apparatus for providing secure two-party public key cryptosystem
US7581100B2 (en) 2003-09-02 2009-08-25 Authernative, Inc. Key generation method for communication session encryption and authentication system
US7908482B2 (en) 2005-08-18 2011-03-15 Microsoft Corporation Key confirmed authenticated key exchange with derived ephemeral keys
US7861078B2 (en) 2005-10-14 2010-12-28 Juniper Networks, Inc. Password-authenticated asymmetric key exchange
US8572387B2 (en) 2006-07-26 2013-10-29 Panasonic Corporation Authentication of a peer in a peer-to-peer network
CN101060530A (zh) * 2007-05-22 2007-10-24 赵运磊 可抵赖的互联网密钥交换协议
WO2009056048A1 (en) 2007-10-23 2009-05-07 Yao Andrew C Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols
US8776176B2 (en) 2008-05-16 2014-07-08 Oracle America, Inc. Multi-factor password-authenticated key exchange
US8553878B2 (en) * 2010-04-14 2013-10-08 Apple Inc. Data transformation system using cyclic groups

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KATZ, J. [et al.]: Round-Optimal Password-Based Authenticated Key Exchange, 25. Juni 2010, S. 1-28, URL: https://eprint.iacr.org/eprint-bin/search.pl, 2010/368 (PDF), [abgerufen am 27.04.2016 im Internet] *

Also Published As

Publication number Publication date
CN103563288B (zh) 2017-03-22
US20120300930A1 (en) 2012-11-29
GB201318211D0 (en) 2013-11-27
US8681986B2 (en) 2014-03-25
DE112012001828B4 (de) 2016-09-15
GB2503618B (en) 2019-02-06
DE112012001828T5 (de) 2014-01-30
GB2503618A (en) 2014-01-01
WO2012161939A1 (en) 2012-11-29
CN103563288A (zh) 2014-02-05

Similar Documents

Publication Publication Date Title
DE112012007297B3 (de) Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
US11722305B2 (en) Password based threshold token generation
DE112015000213B4 (de) Passwortgestützte Berechtigungsprüfung
DE112018001285B4 (de) Kryptografische Schlüsselerzeugung mit Anwendung auf Datendeduplizierung
DE60028645T2 (de) Vorrichtung und Verfahren zur Verteilung von Dokumenten
DE112017002263T5 (de) Infrastruktur mit öffentlichen Schlüssel unter Verwendung von Blockchains
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE102011011652B4 (de) Verfahren zum Verwenden eines ECDSA mit Winternitzeinmalsignatur
DE602004004029T2 (de) Verfahren zur Verteilung von Konferenzschlüsseln, gemäss einem identitätsbasierten Verschlüsselungssystem
JP2020515087A5 (de)
DE112015002927B4 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
CH708239B1 (de) Schlüsseleinigungsprotokoll.
EP2929648A1 (de) Verfahren zum aufbau einer sicheren verbindung zwischen clients
DE102016103491A1 (de) Technologien zur geographischen gebietsattestierung von rechenvorrichtungen in einem netzweg
DE112012000971B4 (de) Datenverschlüsselung
DE102018009943A1 (de) Verfahren zum Erzeugen einer blinden Signatur
DE602004006373T2 (de) Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE60021985T2 (de) Verfahren ind vorrichtung zur sicheren erzeugung von öffentlichen/geheimen schlüsselpaaren
Sahoo et al. Practical attacks on a class of secret image sharing schemes based on Chinese Remainder Theorem
DE102018009950A1 (de) Verfahren zum Erhalten einer blinden Signatur
DE19518546C1 (de) Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
EP1286494B1 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Gruppenschlüsselpaares
DE102006009725A1 (de) Verfahren und Vorrichtung zum Authentifizieren eines öffentlichen Schlüssels

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 112012001828

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final