[go: up one dir, main page]

DE60200496T2 - Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs - Google Patents

Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs Download PDF

Info

Publication number
DE60200496T2
DE60200496T2 DE60200496T DE60200496T DE60200496T2 DE 60200496 T2 DE60200496 T2 DE 60200496T2 DE 60200496 T DE60200496 T DE 60200496T DE 60200496 T DE60200496 T DE 60200496T DE 60200496 T2 DE60200496 T2 DE 60200496T2
Authority
DE
Germany
Prior art keywords
party
group
password
function
server
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
DE60200496T
Other languages
English (en)
Other versions
DE60200496D1 (de
Inventor
Philip D. Maplewood MacKenzie
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE60200496D1 publication Critical patent/DE60200496D1/de
Publication of DE60200496T2 publication Critical patent/DE60200496T2/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Description

  • Erfindungsgebiet
  • Die vorliegende Erfindung betrifft allgemein Techniken zur Bereitstellung von Netzwerkauthentisierung und Schlüsselaustausch und insbesondere Techniken zur Verbesserung der rechnerischen Effizienz, die einer solchen Netzwerkauthentisierung und einem Schlüsselaustausch zugeordnet ist.
  • Allgemeiner Stand der Technik
  • Die Authentisierung über ein Netzwerk ist ein wichtiger Teil der Sicherheit für Systeme, die entfernten Clients einen Zugriff auf Netzwerkserver erlauben. Authentisierung wird im allgemeinen erreicht, indem z. B. folgendes verifiziert wird:
    • (i) etwas einem Benutzer Bekanntes, z. B. ein Passwort;
    • (ii) etwas, das ein Benutzer ist, d. h. biometrische Informationen, wie zum Beispiel ein Fingerabdruck; und
    • (iii) etwas, das ein Benutzer besitzt, d. h. ein bestimmtes Identifizierungs-Token, wie zum Beispiel eine Chipkarte.
  • Zum Beispiel verifiziert ein Geldautomat (ATM) zwei davon: etwas, das ein Benutzer besitzt, die ATM-Karte, und etwas, das einem Benutzer bekannt ist, eine persönliche Geheimnummer (PIN). ATM-Authentisierung ist wesentlich einfacher als Authentisierung über ein Datennetzwerk, da der ATM selbst als vertrauenswürdige Hardware betrachtet wird, so dass ihm anvertraut wird, das Vorhandensein der ATM-Karte zu verifizieren und die korrekten Informationen sicher zu einem zentralen Transaktionsserver zu transferieren.
  • Zusätzlich zu der Authentisierung ist Schlüsselaustausch ein wichtiger Teil der Kommunikation über ein Datennetzwerk. Nachdem ein Client und ein Server authentisiert wurden, muss ein sicherer Kommunikationskanal zwischen ihnen eingerichtet werden. Dazu tauschen der Client und Server im allgemeinen einen Schlüssel aus, der als Sitzungsschlüssel bezeichnet und während der Kommunikation nach der Authentisierung verwendet wird.
  • Die Authentisierung über ein Datennetzwerk, insbesondere ein öffentliches Datennetzwerk wie das Internet, ist schwierig, weil die Kommunikation zwischen dem Client und dem Server für viele verschiedene Arten von Attacken anfällig ist. Zum Beispiel kann bei einer Lauschattacke ein Gegenspieler geheime Informationen erfahren, indem er die Kommunikation zwischen dem Client und dem Server abfängt. Wenn der Gegenspieler Passwortinformationen erfährt, kann der Gegenspieler diese Informationen dem Server abspielen, um sich bei einer sogenannten Wiederabspielattacke für den rechtmäßigen Client auszugeben. Wiederabspielattacken sind auch dann effektiv, wenn das von dem Client gesendete Passwort verschlüsselt ist, weil der Gegenspieler das tatsächliche Passwort nicht kennen muss, sondern dem Server nur etwas geben muss, das der Server von dem rechtmäßigen Client erwartet (in diesem Fall ein verschlüsseltes Passwort). Eine weitere Art von Attacke ist eine Spoof-Attacke, bei der sich ein Gegenspieler für den Server ausgibt, so dass der Client glaubt, dass er mit dem rechtmäßigen Server kommuniziert, stattdessen aber mit dem Gegenspieler kommuniziert. Bei einer solchen Attacke kann der Client dem Gegenspieler heikle Informationen zuführen.
  • Ferner gibt es bei jedem Authentisierungsprotokoll auf Passwortbasis die Möglichkeit, dass Passwörter schwach sind, so dass sie für Wörterbuchattacken anfällig sind. Eine Wörterbuchattacke ist eine Brute-Force-Attacke auf ein Passwort, die durch Ausprobieren einer großen Anzahl wahrscheinlicher Passwörter (z. B. aller Wörter in einem englischen Wörterbuch) an bestimmten bekannten Informationen über das gewünschte Passwort durchgeführt wird. Die bekannten Informationen können öffentlich verfügbar sein oder vom Gegenspieler durch eine der obenbeschriebenen Techniken erhalten worden sein. Wörterbuchattacken sind häufig effektiv, weil Benutzer häufig Passwörter wählen, die man sich leicht merken kann und die leicht erraten werden können.
  • Es gibt verschiedene bekannte Techniken zur Netzwerkauthentisierung. Diese Techniken werden in zwei Klassifizierungen eingeteilt. Die erste Klassifizierung umfasst die Techniken, die dauerhaft gespeicherte Daten in dem Client-System erfordern. Die zweite Klassifizierung umfasst die Techniken, die keine dauerhaft gespeicherten Daten in dem Client-System erfordern.
  • Mit Bezug auf die erste Klassifizierung können dauerhaft gespeicherte Daten entweder geheime Daten umfassen (z. B. Geheimschlüssel, die mit dem Authentisierungsserver geteilt werden), die niemals enthüllt werden dürfen, oder nicht geheime, aber heikle Daten (z. B. den öffentlichen Schlüssel des Authentisierungsservers), die manipulationssicher sein müssen. Bei beiden Arten von dauerhaften Daten sind zusätzliche Sicherheitsanforderungen notwendig, um die Daten vor einer Attacke eines Gegenspielers zu schützen. Wenn ein Authentisierungsprotokoll verwendet wird, das sowohl Passwörter als auch dauerhaft gespeicherte Daten verwendet, kann eine Kompromittierung eines dieser zu einer Anfälligkeit des anderen führen. Zum Beispiel kann die Kompromittierung eines Geheimschlüssels zu einer möglichen Wörterbuchattacke an dem Passwort führen. Ein weiteres Problem bei dieser ersten Klasse von Protokollen besteht darin, dass dauerhaft gespeicherte Daten die Erzeugung und Verteilung von Schlüsseln erfordert, was umständlich sein kann und im allgemeinen ein weniger flexibles System ergibt.
  • Die zweite Klassifizierung wird als Nur-Passwort-Authentisierungsprotokolle bezeichnet, da keine Anforderung dauerhaft gespeicherter Daten in dem Client besteht. Der Client muss nur in der Lage sein, ein rechtmäßiges Passwort bereitzustellen. Das Prinzip des Bereitstellens einer starken Sicherheit und Authentisierung unter Verwendung potentiell schwacher Passwörter scheint widersprüchlich zu sein. Es gibt jedoch mehrere Nur-Password-Benutzerauthentisierungs- und Schlüsselaustauschprotokolle, die sicher ausgelegt sind. Eine Beschreibung dieser Protokolle findet sich in D. Jablon, Strong Password-Only Authenticated Key Exchange, ACM Computer Communication Review, ACM SIGCOMM, 26(5): 5–20, 1996. Ein Teil der bemerkenswerteren der Nur-Passwort-Protokolle umfasst verschlüsselten Schlüsselaustausch (EKE), wie in S. M. Bellovin und M. Merritt, Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks, Proceedings of the IEEE Symposium on Research in Security and Privacy, S. 72–84, 1992; Augmented-EKE (A-EKE), S. M. Bellovin und M. Merrit, Augmented Encrypted Key Exchange: A Password-Based Protocol Secure Against Dictionary Attacks and Password File Compromise, Proceedings of the First Annual Conference on Computer and Communications Security, 1993, Seiten 244–250; Modified EKE (M-EKE), M. Steiner, G. Tsudik und M. Waidner, Refinement and Extension of Encrypted Key Exchange, ACM Operating System Review, 29: 22–30, 1995; Simple Password EKE (SPEKE) and Diffie-Hellman EKE (DH-EKE), beides beschrieben in D. Jablon, Strong Password-Only Authenticated Key Exchange, ACM Computer Communication Review, ACM SIGCOMM, 26(5): 5–20, 1996; Secure Remote Password Protocol (SRP), T. Wu, The Secure Remote Password Protocol, Proceedings of the 1998 Internet Society Network and Distributed System Security Symposium, Seiten 97–111, 1998; Open Key Exchange (OKE), Stefan Lucks, Open Key Exchange: How to Defeat Dictionary Attacks Without Encrypting Public Keys, Security Protocol Workshop, Ecole Normale Sup'erieure, 7.–9.4.1997; "Authenticated Key Exchange (AKE)", M. Bellare, D. Pointcheval und P. Rogaway, "Authenticated Key Exchange Secure Against Dictionary Attacks", Advances in Cryptology, S. 139–155, Eurocrypt 2000; und EP-A-1 069 726 beschrieben wird.
  • Das Problem bei den meisten bekannten Nur-Passwort-Authentisierungsprotokollen besteht darin, dass sie sich nicht als sicher erwiesen haben. Tatsächlich kann das EKE-Protokoll gegenüber bestimmten theoretischen Attacken anfällig sein, wie in S. Patel, „Number Theoretic Attacks on Secure Password Schemes", Proceedings of the IEEE Symposium on Research in Security and Privacy, Seiten 236–247, 1997, beschrieben wird. Obwohl sich das AKE-Protokoll als sicher erwiesen hat, erfordert es starke Annahmen, um Sicherheit zu beweisen. Außerdem basiert das SNAPI-Protokoll, das sich zwar auch als sicher erwiesen hat, jedoch nicht auf Diffie-Hellman, sondern auf dem RSA-Algorithmus.
  • Aus EP-A-1 134 929 (veröffentlicht am 19.9.2001, nach dem für die vorliegende Anmeldung beanspruchten Konventionsprioritätsdatum) ist ein sicheres Nur-Passwort-Protokoll für gegenseitige Netzwerkauthentisierung und Schlüsselaustausch bekannt, das nachweisbar sicher ist und ein gemeinsames Geheimnis des Diffie-Hellman-Typs verwendet, aber so modifiziert ist, dass sich die beiden Parteien gegenseitig unter Verwendung eines gemeinsam benutzten Passworts authentisieren können.
  • Aus Boyko V. et al: „Provably Secure Password-Authenticated Key Exchange Using Diffie-Hellman" Advances in Cryptology – EUROCRYPT 2000. International Conf. on the Theory and Application of Cryptographic Techniques. Bruges, BE, 14.–18.5.2000, Proceedings, Lecture Notes in Computer Science, Berlin: Springer, DE, Band 1807, 14.5.2000 (2000-05-14), Seiten 156–171, XP000896058 ISBN: 3-540-67517-5 ist ein Protokoll bekannt, dass ein passwortauthentisiertes Schlüsselaustauschprotokoll auf Diffie-Hellman-Basis ist, das einen formalen Beweis der Sicherheit gegenüber sowohl passiven als auch aktiven Gegenspielern gibt.
  • Kurze Darstellung der Erfindung
  • Verfahren und Vorrichtungen gemäß der Erfindung werden in den unabhängigen Ansprüchen definiert. Bevorzugte Formen werden in den abhängigen Ansprüchen definiert.
  • Die vorliegende Erfindung stellt ein sicheres Nur-Passwort-Protokoll für die gegenseitige Netzwerkauthentisierung bereit, das nachweisbar sicher ist. Gemäß dem erfindungsgemäßen Protokoll erzeugen zwei Parteien unter Verwendung eines Schlüsselaustausches des Diffie-Hellman-Typs ein gemeinsames Geheimnis. Bekanntlich gibt es gemäß dem Schlüsselaustausch des Diffie-Hellman-Typs einen Gruppengenerator g für eine bestimmte Gruppe, einen einer Partei bekannten Index x, einen der anderen Partei bekannten Index y und das gemeinsame Geheimnis gxy. Eine Partei erzeugt gx, die andere Partei erzeugt gy und die Parteien tauschen diese Werte aus, so dass jede Partei nun das gemeinsame Geheimnis gxy erzeugen kann. Obwohl Diffie-Hellman ein Schlüsselaustauschprotokoll definiert, hat das Protokoll keine Authentisierungsaspekte.
  • Gemäß der vorliegenden Erfindung wird somit ein Protokoll bereitgestellt, das ein gemeinsames Geheimnis des Diffie-Hellman-Typs verwendet, das aber so modifiziert ist, dass die beiden Parteien sich unter Verwendung eines gemeinsam benutzten Passworts gegenseitig authentisieren können. Ferner haben die Verfasser bewiesen, dass dieses Protokoll sicher ist.
  • Gemäß der Erfindung erzeugt eine Partei den Diffie-Hellman-Wert gx und kombiniert ihn mit einer Funktion mindestens des Passworts unter Verwendung einer Gruppenoperation, wobei ein beliebiger Teil eines mit der Funktion assoziierten Ergebnisses, der außerhalb der Gruppe liegt, randomisiert wird. Der resultierende Wert wird zu der anderen Partei gesendet. Die Gruppenoperation ist für die bestimmte verwendete Gruppe definiert und wird später ausführlicher beschrieben. Für die vorliegenden Zwecke reicht es aus, zu erkennen, dass jede Gruppe eine Gruppenoperation und eine entsprechende inverse Gruppenoperation aufweist.
  • Nach dem Empfang des Werts führt die andere Partei die inverse Gruppenoperation an dem empfangenen Wert und der Funktion mindestens des Passworts durch und entfernt die Randomisierung jedes Teils des mit der Funktion assoziierten Ergebnisses, der außerhalb der Gruppe liegt, um gx zu extrahieren, so dass die andere Partei dann unter Verwendung ihrer Kenntnis von y das gemeinsame Geheimnis gxy erzeugen kann.
  • Die Verwendung der Gruppenoperation und der inversen Gruppenoperation in Verbindung mit einem Schlüsselaustauschprotokoll des Diffie-Hellman-Typs, so wie sie hier beschrieben wird, hat gegenüber Nur-Passwort-Protokollen zur gegenseitigen Netzwerkauthentisierung Vorteile. Die Randomisierung jedes Teils des mit der Funktion assoziierten Ergebnisses, der außerhalb der Gruppe liegt, verringert die rechnerische Intensität, die den durch die eine Partei durchgeführten Operationen zugeordnet ist. Vorteilhafterweise liefert die vorliegende Erfindung ein Protokoll, von dem bewiesen werden kann, dass es gegenüber Attacken durch Gegenspieler, die Zugang zu dem Kommunikationskanal haben, sicher ist.
  • Wie oben beschrieben, wird der Diffie-Hellman-Wert gx mit einer Funktion mindestens des Passworts kombiniert.
  • Der Begriff „mindestens" wird benutzt, weil bei verschiedenen Ausführungsformen gx mit einer Funktion nur des Passworts kombiniert werden kann, oder mit einer Funktion des Passworts zusammen mit Kennungen der Parteien in den Protokoll, um sicherzustellen, dass das Passwort für ein beliebiges bestimmtes Parteienpaar einzigartig ist.
  • Gemäß einer Ausführungsform der Erfindung können sich die Parteien gegenseitig authentisieren, indem sie eine Funktion mindestens bestimmter Parameter berechnen, den berechneten Wert zu der anderen Partei senden und dann jede Partei den empfangenen Wert mit seinem eigenen berechneten Wert vergleichen. Die für die Berechnung verwendeten Parameter können eine Parteikennung, der Diffie-Hellman-Wert (gx oder gy), das gemeinsame Geheimnis und/oder das gemeinsame Passwort sein. Durch Berechnen einer Funktion mindestens einer dieser Werte können die Parteien authentisieren, dass die andere Partei das gemeinsam benutzte Passwort besitzt.
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung von Ausführungsbeispielen deutlich, die in Verbindung mit den beigefügten Zeichnungen gelesen werden soll.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt das Diffie-Hellman-Schlüsselaustauschprotokoll;
  • 2 zeigt ein Protokoll für gegenseitige Authentisierung und Schlüsselaustausch, bei dem beide Parteien ein gemeinsam benutztes Passwort besitzen;
  • 3 zeigt ein Protokoll für gegenseitige Authentisierung und Schlüsselaustausch mit verbesserter Effizienz gemäß einer Ausführungsform der vorliegen Erfindung, bei dem beide Parteien ein gemeinsam benutztes Passwort besitzen; und
  • 4 zeigt eine verallgemeinerte Hardwarearchitektur eines Datennetzwerks und von Computersystemen, die sich für die Implementierung einer oder mehrerer der durch Passwort authentisierten Schlüsselaustauschmethodologien gemäß der vorliegenden Erfindung eignen.
  • Ausführliche Beschreibung bevorzugter Ausführungsformen
  • Kryptographie ist eine wohlbekannte Technik zur Bereitstellung einer sicheren Kommunikation zwischen zwei Parteien. Vor der Beschreibung verschiedener Ausführungsformen der vorliegenden Erfindung werden einige Hintergrundinformationen und grundlegende Terminologie angegeben.
  • Informell ist eine Funktion f von einer Menge S in eine Menge T eine Einwegfunktion, wenn f(x) für alle x in S leicht berechenbar ist, es aber für die meisten y in T rechnerisch impraktikabel ist, irgendein x in S zu finden, für das f(x) = y gilt. Ein Beispiel für eine Einwegfunktion ist modulare Exponentionierung. Es sei p eine große Primzahl und g ein Generator der multiplikativen Gruppe mod p (das heißt die Zahlen im Bereich 1, ..., p – 1). Von f(x) = gx mod p wird dann allgemein angenommen, dass es sich um eine Einwegfunktion handelt. Die Umkehrfunktion, die als diskrete log-Funktion bezeichnet wird, ist schwierig zu berechnen. Außerdem gibt es andere Gruppen, bei denen die diskrete log-Funktion schwierig zu berechnen ist, wie zum Beispiel bestimmte Gruppen elliptischer Kurven.
  • Es seien k und l Sicherheitsparameter, wobei k der Hauptsicherheitsparameter ist und als allgemeiner Sicherheitsparameter für Hash-Funktionen und geheime Schlüssel (z. B. 160 Bit) angesehen werden kann, und wobei l > k als Sicherheitsparameter für öffentlichen Schlüssel auf diskret-log-Basis (z. B. 1024 oder 2048 Bit) betrachtet werden kann. Es sei {0,1}* die Menge endlicher Binärketten und {0,1}n die Menge binärer Ketten der Länge n. Eine reellwertige Funktion ε(n) ist vernachlässigbar, wenn für jedes c > 0 ein nc > 0 existiert, so dass ε(n) < 1/n für alle n > nc gilt. Es seien q der Größe mindestens k und p der Größe l Primzahlen, so dass für einen bestimmten Wert r, der zu q Koprim ist, p = rq + 1 gilt. Es sei g ein Generator einer Untergruppe von Z * / p von der Größe q. Diese Untergruppe heiße Gp,q.
  • Ein als Diffie-Hellman-Schlüsselaustausch bezeichnetes Schlüsselaustauschprotokoll wird in W. Diffie und M. Hellman, New Directions in Cryptography, IEEE Transactions on Information Theory, Band 22, Nr. 6, 644–654, 1976, beschrieben und basiert auf der modularen Exponentiierungsfunktion. Genauer gesagt vereinbaren zwei Parteien A und B einen Geheimschlüssel gemäß dem in Verbindung mit 1 beschriebenen Protokoll. Im Schritt 102 wählt A ein zufälliges x aus der Gruppe Zq (d. h. x ∊R Zq), mit Zq = {0, 1, ..., q – 1} (oder einfach die ganzen Zahlen mod q). Im Schritt 104 berechnet A X = gx mod p. Im Schritt 106 sendet A X zu B. Im Schritt 108 wählt B ein zufälliges y aus Zq (d. h. y εR Zq). Im Schritt 110 berechnet B Y = gy mod p und sendet Y im Schritt 112 zu A. An diesem Punkt kann sowohl von A als auch von B ein gemeinsames Geheimnis gxy (d. h. ein Geheimschlüssel) berechnet werden. Man beachte, dass im folgenden der einfacheren Schreibweise halber die Notation mod p ignoriert werden kann, wenn klar ist, daß in mod p gearbeitet wird. Da im Schritt 106 X = gx von A zu B gesendet wurde, kann B im Schritt 116 durch Berechnen von Xy das gemeinsame Geheimnis gy berechnen. Da im Schritt 112 Y = gy von B zu A gesendet wurde, kann ähnlich A durch Berechnen von Yx im Schritt 114 das gemeinsame Geheimnis gxy berechnen. Das gemeinsame Geheimnis S kann nun von A und B als Sitzungsschlüssel für die sichere Kommunikation verwendet werden.
  • Der Diffie-Hellman-Schlüsselaustausch kann auch über andere Gruppen durchgeführt werden, in denen die diskrete log-Funktion schwierig zu berechnen ist, wie zum Beispiel bestimmte Gruppen elliptischer Kurven. Gruppen sind in der Technik wohlbekannt, siehe z. B. I. N. Herstein, Topics in Algebra, 2. Auflage, John Wiley & Sons, New York, 1975, und zwar folgendermaßen. Eine nichtleere Menge von Elementen G wird als eine Gruppe bildend bezeichnet, wenn in G eine binäre Operation definiert ist, die als Produkt bezeichnet und als · geschrieben wird, so daß folgendes gilt:
    • 1. aus a, b ∈ G folgt a·b ∈ G (geschlossen).
    • 2. aus a, b, c ∈ G folgt a·(b·c) = (a·b)·c (Assoziativgesetz).
    • 3. Es gibt ein Element e ∈ G, so dass für alle a ∈ G a·e = e·a = a (Existenz eines Identitätselements in G).
    • 4. Für jedes a ∈ G existiert ein Element a–1 ∈ G mit a·a–1 = a–1·a = e (Existenz von Inversen in G).
  • Allgemeiner arbeitet der Diffie-Hellman-Schlüsselaustausch also in einer spezifischen Gruppe, wobei die Geheimschlüssel x und y Indizes auf Elemente der Gruppe sind. Man betrachte also eine Gruppe G mit einem Gruppengenerator g ∈ G und G = {g, g·g, g·g·g, g·g·g·g, ...}, wobei · die Gruppenoperation ist. Wenn zum Beispiel die Gruppenoperation für G Multiplikation ist, dann ist G = {g1, g2, g3, g4, ...}. Wenn die Gruppenoperation · für G Addition ist, dann ist G = {1g, 2g, 3g, 4g, ...}. Da die vorliegende Erfindung mit verschiedenen Gruppen implementiert werden kann, bedeutet die Notation gx im folgenden, dass die Gruppenoperation x mal an dem Gruppengenerator g angewandt wird. Außerdem gibt es für jede Gruppe auch eine inverse Gruppenoperation, die hier als – dargestellt wird.
  • Im Nachfolgenden wird die inverse Gruppenoperation folgendermaßen definiert. Die inverse Gruppenoperation an x und y, d. h.
    Figure 00120001
    ist als x·y–1 definiert.
  • 2 zeigt ein Protokoll für gegenseitige Authentisierung und Schlüsselaustausch gemäß einem expliziten Authentisierungsansatz, bei dem beide Parteien ein gemeinsam benutztes Passwort besitzen. Das Kommunikationsprotokoll in 2 ist aus der oben zitierten EP-A-1134929 bekannt.
  • Im allgemeinen verwendet das Kommunikationsprotokoll ein gemeinsames Geheimnis des Diffie-Hellman-Typs, das aber so modifiziert ist, dass sich die beiden Parteien unter Verwendung eines gemeinsam benutzten Passworts gegenseitig authentisieren können. Ferner hat sich erwiesen, dass dieses Protokoll sicher ist.
  • Gemäß 2 werden auf der linken Seite der Figur gezeigte Schritte durch eine erste Partei A durchgeführt, und auf der rechten Seite der Figur werden durch eine zweite Partei B durchgeführt. A ist in der Regel eine Client-Maschine (Computersystem) und B ist eine Server-Maschine (Computersystem). Dies ist jedoch nicht erforderlich, und A und B werden nur als Beispiel als Client bzw. Server bezeichnet, um den typischen Fall zu zeigen. Es versteht sich also, dass der in 2 gezeigte Ansatz nicht auf den Fall begrenzt ist, dass A und B Client und Server sind, sondern stattdessen auf beliebige zwei Parteien A und B anwendbar ist. Pfeile repräsentieren Kommunikation zwischen den Parteien. Gemäß dem Protokoll authentisiert sich der Server selbst dem Client gegenüber und der Client authentisiert sich selbst dem Server gegenüber. Nachdem sich beide Seiten authentisiert haben, erzeugt jede einen geheimen Sitzungsschlüssel, der für die nachfolgende sichere Kommunikation verwendet werden kann.
  • Es wird angenommen, dass der Client und der Server vor der Einleitung des Protokolls ein Passport π besitzen, mit dem der Client sich bei dem Server authentisiert.
  • Es wird angemerkt, dass das folgende Protokoll sowohl den Server als auch den Client authentisiert. Weder der Server noch der Client werden also als authentisch angenommen und somit kann entweder der Server oder der Client ein Gegenspieler sein. Der Client kann ein Gegenspieler sein, der versucht, sich selbst zu authentisieren, um Zugang zu dem Server zu erhalten. Der Server kann ein Gegenspieler sein, der versucht, sich für einen anderen authentischen Server auszugeben, um zu versuchen, heikle Informationen von einem nichtsahnenden Client zu erhalten.
  • Wieder mit Bezug auf 2 wählt der Client im Schritt 202 einen Zufallswert für den Index x aus Zq. Im Schritt 204 berechnet der Client dann einen Parameter m als m = gx·(H1(A, B, π))r mod p, wobei A eine eindeutige Kennung des Clients, B eine eindeutige Kennung des Servers, π das Passwort des Clients für diesen bestimmten Server, H1 eine Zufalls-Hash-Funktion ist und die Gruppenoperation repräsentiert. H1(A, B, π) wird zur r-ten Potenz erhoben, um sicherzustellen, dass das Ergebnis in G(pq) liegt. Informell wird eine Funktion H von einer Menge S in eine Menge T als Zufalls-Hash-Funktion bezeichnet, wenn die Ausgabe von H zufällig aussieht oder zumindest unvorhersehbar ist, bis die Funktion mit einer Eingabe x in S berechnet wird. Da H1 etwas ausgeben muss, das zufällig in Z * / p aussieht, sollte es |p| + sec in Bit ausgeben (wobei |p| die Anzahl von Bit von p und sec der Sicherheitsparameter ist. Der Sicherheitsparameter kann zum Beispiel 160 betragen. Bekannte Funktionen, die sich allgemein auf diese Weise verhalten, sind SHA-1, beschrieben in FIPS 180-1, Secure Hash Standard, Federal Information Processing Standards Publication 180-1, 1995; und RIPMED-160, beschrieben in H. Dobbertin, A. Bosselaers, B. Preneel, „RIPEMD-160: In a strengthened version of RIPEMD, Fast Software Encryption, 3. Intl. Workshop, 71–82, 1996.
  • Das Tupel (A, B, π) wird anstelle nur des Passworts verwendet, um sicherzustellen, dass es für jedes Client-Server-Paar einzigartig ist. Für heuristische Sicherheit ist nur das Passwort alleine erforderlich, wie später ausführlicher besprochen wird, werden die Namen von Client und Server jedoch verwendet, um einen formalen Sicherheitsbeweis sicherzustellen. Gemäß dem Protokoll in 2 wird also eine Funktion mindestens des Passworts mit dem Diffie-Hellman-Wert gx kombiniert, indem die Gruppenoperation an der Funktion mindestens des Passworts und dem Diffie-Hellman-Wert gx ausgeführt wird. Dies ist ein wichtiger Schritt des Protokolls, da er sicherstellt, dass der Diffie-Hellman-Wert gx nur von einer Person, die das Passwort kennt, von dem Parameter m extrahiert werden kann. Diese Extraktion des Diffie-Hellman-Werts gx wird nachfolgend ausführlicher in Verbindung mit Schritt 214 beschrieben. Im Schritt 206 sendet der Client den Parameter m zum Server.
  • Nach dem Empfang des Parameters m prüft der Server im Schritt 208 den Parameterwert, um sicherzustellen, dass der Wert nicht 0 mod p ist. Wenn der Wert 0 mod p ist, beendet der Server das Protokoll, weil 0 nicht in Z * / p liegt. Andernfalls wählt der Server im Schritt 210 einen Zufallswert für den Index y aus Zq. Im Schritt 212 weist der Server dem berechneten Diffie-Hellman-Wert gy einen Parameter μ zu. Als nächstes berechnet der Server im Schritt 214 das gemeinsame Geheimnis gxy gemäß Diffie-Hellman (das in diesem Protokoll als σ bezeichnet wird), unter Verwendung des empfangenen Parameters m, wie folgt:
    Figure 00150001
    mod p. Dieser Schritt wird nun ausführlicher beschrieben (wobei der Einfachheit halber die Notation mod p weggelassen wird). Als erstes sollte man sich erinnern, dass wie oben beschrieben für jede Gruppenoperation eine inverse Gruppenoperation existiert, so dass die inverse Gruppenoperation an x und y, d. h.
    Figure 00150002
    als x·y–1 definiert ist. Für Fachleute ist also erkennbar, dass die Berechnung von
    Figure 00150003
    im Schritt 214 die inverse Gruppenoperation an m und der Funktion mindestens des Passworts durchführt. Durch Ersetzen des Werts von m aus Schritt 204 erhält man
    Figure 00150004
    . Wenn der Server das korrekte Passwort π besitzt, kann der Server dann also den Diffie-Hellman-Wert gx aus dem Wert des empfangenen Parameters m extrahieren. Die Berechnung im Schritt 214 führt also dazu, dass der Server das gemeinsame Geheimnis gxy gemäß Diffie-Hellman erzeugt.
  • Als nächstes berechnet der Server im Schritt 216 k = H2a(A, B, m, μ, σ, π), wobei H2a eine weitere Zufalls-Hash-Funktion ist, die sec Bit ausgeben muss, wobei sec der Sicherheitsparameter ist. Wie unten beschrieben, authentisiert der Client A mit dem Parameter k, dass der Server das korrekt Passwort besitzt. Im Schritt 218 sendet der Server die Parameter μ und k zu dem Client.
  • Nach dem Empfang der Parameter μ und k berechnet der Client σ = μx mod p im Schritt 220. Wegen μ = gy gilt μx = gxy, wobei es sich um das gemeinsame Geheimnis nach Diffie-Hellman handelt. Im Schritt 222 berechnet der Client H2a (A, B, m, μ, σ, π) unter Verwendung seiner Kenntnis von π und prüft, ob das Ergebnis gleich dem im Schritt 218 von dem Server empfangenen Parameter k ist. Wenn sie übereinstimmen, hat der Client den Server authentisiert. Wenn sie nicht übereinstimmen, beendet der Client das Protokoll, da der Server sich nicht authentisiert hat. Im Schritt 224 berechnet der Client k' = H2b(A, B, m, μ, σ, π), und der Server authentisiert damit den Client wie nachfolgend beschrieben. Im Schritt 226 erzeugt der Client den Sitzungsschlüssel K als K = H3(A, B, m, μ, σ, π). Im Schritt 228 sendet Client k' zum Server. Wiederum sind H2b und H3 Zufalls-Hash-Funktionen, die sec Bit ausgeben müssen, wobei sec der Sicherheitsparameter ist.
  • Im Schritt 230 berechnet der Server H2b(A, B, m, μ, σ, π) unter Verwendung seiner Kenntnis von π und prüft, ob das Ergebnis gleich dem im Schritt 228 von dem Client empfangenen Parameter k' ist. Wenn sie übereinstimmen, hat der Server den Client authentisiert. Wenn sie nicht übereinstimmen, beendet der Server das Protokoll, da sich der Client nicht authentisiert hat. Im Schritt 232 erzeugt der Server den Sitzungsschlüssel K als K = H3(A, B, m, μ, σ, π).
  • An diesem Punkt haben sich sowohl der Client als auch der Server gegenseitig authentisiert und sowohl der Client als auch der Server haben denselben sicheren Sitzungsschlüssel K erzeugt, der für die nachfolgende sichere Kommunikation zwischen Client und Server verwendet werden kann.
  • Obwohl das Kommunikationsprotokoll von 2 die Vorteile eines Schlüsselaustausches mit Authentisierung mit Passwortbasis liefert, kann die Erzeugung des Parameters m als gy·(H1(A, B, μ))r mod p rechnerisch intensiv sein. Dies kann problematisch sein, wenn die Client-Einrichtung nicht die rechnerischen Betriebsmittel zur adäquaten Durchführung dieses Teils des Protokolls besitzt. Dies kann der Fall sein, wenn der Client A eine kleinere, langsamere Einrichtung ist, wie zum Beispiel ein PC älterer Generation, oder eine Chipkarte oder ein tragbarer persönlicher digitaler Assistent (PDA), um nur einige wenige Beispiele zu nennen. Obwohl B ein Server sein kann und angenommen wird, dass er rechnerisch besser ausgestattet als der Client ist, kann das Protokoll zusätzlich auch zwischen zwei Einrichtungen des Client-Typs durchgeführt werden, und deshalb ist rechnerische Effizienz auf beiden Seiten des Protokolls wichtig. Eine Lösung, die die Berechnung auf der Clientseite um mindestens einen Faktor 2 reduzieren kann, wird gemäß der vorliegenden Erfindung bereitgestellt und im Kontext von 3 dargestellt.
  • Nunmehr mit Bezug auf 3 wird gemäß einer Ausführungsform der vorliegenden Erfindung, bei der beide Parteien ein gemeinsam benutztes Passwort besitzen, ein Protokoll für gegenseitige Authentisierung und Schlüsselaustausch mit verbesserter Effizienz bereitgestellt. Das Kommunikationsprotokoll ist ein sicheres durch Passwort authentisiertes Schlüsselaustauschprotokoll und nimmt die Härte des Entscheidungs-Diffie-Hellman-Problems (DDH) in Gp,q an. Es sei DH(X, Y) der Diffie-Hellman-Wert gxy von X = gx und Y = gy wie oben beschrieben. Eine Formulierung besteht darin, dass bei gegebenem g, X, Y, Z in Gp,q, wobei X = gx und Y = gy zufällig gewählt werden und Z entweder DH(X, Y) oder zufällig ist, jeweils mit Halbwahrscheinlichkeit, zu bestimmen, ob Z = DH(X, Y) ist. Das Brechen des DDH impliziert die Konstruktion eines Gegenspielers polynomischer Zeit, der mit nichtvernachlässigbarem Vorteil gegenüber einem zufälligen Raten Z = DH(X, Y) von einem Zufalls-Z unterscheidet.
  • Ferner definiert man Hash-Funktionen H2a, H2b, H3: {0,1}* → {0,1}k < und H1: {0,1}* → {0,1}n > mit η ≥ l + κ. Außerdem nimmt man an, dass H1, H2a, H2b und H3 unabhängige Zufallsfunktionen sind, so wie es oben bei dem Ansatz von 2 verwendet wurde. Man beachte, dass zwar H1 als eine Bitkette zurückgebend beschrieben wird, an seiner Ausgabe jedoch als eine Zahl modulo p gearbeitet wird.
  • Gemäß dem Kommunikationsprotokoll von 2 beachte man, dass der Client zwei |q|-Bit-Exponentiierungen durchführt (Schritte 204 und 220), sowie eine |r|-Bit-Exponentiierung (Schritt 204). Wie später im Kontext von 3 erläutert werden wird, muss gemäß einem Kommunikationsprotokoll der vorliegenden Erfindung der Client nur drei |q|-Bit-Exponentiierungen durchführen, was im allgemeinen im Vergleich mit dem Protokoll von 2 viel weniger Berechnungen erfordert. Die Erfindung kann auf die folgende Weise einen solchen Vorteil bereitstellen. Statt zu erzwingen, dass das Ergebnis der Hash-Funktion, mit der der Parameter m erzeugt wird, in der Gruppe Gp,q liegt, lässt man als das Ergebnis der Hash-Funktion ein beliebiges Element in Z * / p zu und randomisiert diesen Teil des Ergebnisses der Hash-Funktion außerhalb von Gp,q. Dadurch wird der m-Wert von einem Zufallswert in Z * / p (anstelle eines Zufallswerts in Gp,q) ununterscheidbar, es ist aber immer noch möglich, den Hash-Wert und die zusätzliche Randomisierung zu extrahieren.
  • In diesem Fall gilt p = rq + 1 mit gcd (r, q) = 1 (wobei gcd für den größten gemeinsamen Teiler steht), um die zusätzliche Randomisierung zu extrahieren. Für zufällig gewähltes q und p (zum Beispiel unter Verwendung des von NIST genehmigten Algorithmus, der in U.S. Department of Commerce/NIST, Springfield, VA, FIPS186, „Digital Signature Standard", Federal Information Processing Standards Publication 186, 1994 beschrieben wird) kann diese Beziehung natürlich mit großer Wahrscheinlichkeit erfüllt werden.
  • Wie in 2 werden auf der linken Seite von 3 gezeigte Schritte von einer ersten Partei A und auf der rechten Seite von 3 gezeigte Schritte von einer zweiten Partei B durchgeführt. Wiederum wird lediglich als Beispiel, um eine typischen Fall zu zeigen, A als eine Client-Maschine (Computersystem) und B als eine Server-Maschine (Computersystem) bezeichnet. Es versteht sich also, dass das in 3 gezeigte Protokoll auf zwei beliebige Entitäten oder Parteien A und B anwendbar ist. Wiederum repräsentieren Pfeile Kommunikation zwischen den Parteien. Gemäß dem Protokoll von 3 authentisiert sich der Server selbst dem Client gegenüber und der Client authentisiert sich selbst dem Server gegenüber. Weder der Server noch der Client werden also als authentisch angenommen, und somit kann entweder der Server oder der Client ein Gegenspieler sein, wie oben erläutert. Nachdem sich beide Seiten authentisiert haben, erzeugt jede einen geheimen Sitzungsschlüssel, der für nachfolgende sichere Kommunikation verwendet werden kann.
  • Wie bei dem Protokoll von 2 wird angenommen, dass der Client und der Server vor der Einleitung des Protokolls von 3 der Erfindung ein Passwort π besitzen, mit dem sich der Client dem Server gegenüber authentisiert.
  • Wieder mit Bezug auf 3 wählt der Client im Schritt 302 einen Zufallswert für den Index x aus Zq (d. h. x ∈k Zq). Im Schritt 304 wählt der Client einen Zufallswert h aus der Gruppe Z * / p (d. h. h ∈k Z * / p). Im Schritt 306 berechnet der Client dann einen Parameter m als m = gx·hq·H1(A, B, π). Dabei ist A eine eindeutige Kennung des Client, B eine eindeutige Kennung des Servers, π das Passwort des Client für diesen bestimmten Server, H1 eine Zufalls-Hash-Funktion, · stellt die Gruppenoperation dar und hq ist eine Randomisierungsoperation. Man beachte, dass in dem Protokoll von 2 H1(A, B, π) zur r-ten Potenz erhoben wird, um sicherzustellen, dass das Ergebnis in Gp,q liegt. Statt zu erzwingen, dass das Ergebnis der Hash-Funktion, mit der der Parameter m erzeugt wird, in der Gruppe Gp,q liegt, ermöglicht das Protokoll von 3 gemäß der vorliegenden Erfindung jedoch, dass das Ergebnis der Hash-Funktion ein beliebiges Element in Z * / p ist, und randomisiert den Teil des Ergebnisses der Hash-Funktion außerhalb von Gp,q. Man erreicht dies über die Randomisierungsoperation hq. Dadurch wird der m-Wert von einem Zufallswert in Z * / p, anstelle eines Zufallswerts in Gp,q, ununterscheidbar, aber der Server B kann immer noch den Hash-Wert und die zusätzliche Randomisierung extrahieren. Durch Erheben des Zufallsparameters h zu dem Exponenten q wird vorteilhafterweise alles in dem Ergebnis der Hash-Funktion außerhalb der Untergruppe Gp,q randomisiert.
  • Wie oben erläutert bezeichnet man eine Funktion H von einer Menge S in eine Menge T als Zufalls-Hash-Funktion, wenn die Ausgabe von H zufällig aussieht oder zumindest unvorhersehbar ist, bis die Funktion mit einer Eingabe x in S berechnet wird. Da H1 etwas ausgeben muss, das zufällig in Z * / p aussieht, sollte es daher |p| + sec Bit ausgeben (wobei |p| die Anzahl von Bit von p und sec der Sicherheitsparameter ist. Der Sicherheitsparameter kann zum Beispiel 160 betragen. Wiederum sind SHA-1 oder RIPEMD-160 bekannte Funktionen, die sich auf diese Weise verhalten.
  • Wie bei dem Protokoll von 2 wird das Tupel (A, B, π) verwendet (anstelle nur des Passworts), um sicherzustellen, dass es für jedes Client-Server-Paar einzigartig ist. Für heuristische Sicherheit ist nur das Passwort alleine erforderlich, aber man kann Namen von Client und Server verwenden, um einen formalen Beweis der Sicherheit sicherzustellen. Gemäß dem Protokoll in 3 wird also eine Funktion mindestens des Passworts mit dem Diffie-Hellman-Wert gx kombiniert, indem die Gruppenoperation an der Funktion mindestens des Passworts und dem Diffie-Hellman-Wert gx ausgeführt wird. Wieder ist dies ein wichtiger Schritt des Protokolls, da er sicherstellt, dass der Diffie-Hellman-Wert gx nur von einer Person, die das Passwort kennt, aus dem Parameter m extrahiert werden kann. Im Schritt 308 sendet der Client den Parameter m zu dem Server.
  • Nach dem Empfang des Parameters m prüft der Server im Schritt 310 den Parameterwert, um sicherzustellen, dass der Wert nicht 0 modp ist. Wenn der Wert 0 mod p ist, beendet der Server das Protokoll, da 0 nicht in Z * / p liegt. Andernfalls wählt der Server im Schritt 312 einen Zufallswert für den Index y aus Zq. Im Schritt 314 weist der Server dem berechneten Diffie-Hellman-Wert gy einen Parameter μ zu. Als nächstes berechnet der Server im Schritt 316 das gemeinsame Geheimnis gxy nach Diffie-Hellman (das in diesem Protokoll als σ bezeichnet wird) unter Verwendung des empfangenen Parameters m, wie folgt:
    Figure 00210001
    . Dieser Schritt wird nun ausführlicher beschrieben. Als erstes erinnere man sich, dass es, wie oben beschrieben, für jede Gruppenoperation eine inverse Gruppenoperation gibt, dergestalt, dass die inverse Gruppenoperation an x und y, d. h. x/y, als x·y–1 definiert ist. Für Fachleute ist also erkennbar, dass die Berechnung von
    Figure 00210002
    im Schritt 316 die inverse Gruppenoperation an m und der Funktion mindestens des Passworts ausführt, sowie die mit der Client-Zufallsoperation hq assoziierte Randomisierung extrahiert. Durch Ersetzen des Werts von m aus Schritt 306 erhält man gx. Wenn der Server das korrekte Passwort π besitzt, kann der Server dann also den Diffie-Hellman-Wert gx aus dem Wert des empfangenen Parameters m extrahieren. Die Berechnung im Schritt 316 führt also dazu, dass der Server das gemeinsame Geheimnis gxy nach Diffie-Hellman erzeugt.
  • Als nächstes berechnet der Server im Schritt 318 k = H2a(A, B, m, μ, σ, π), wobei H2a eine weitere Zufalls-Hash-Funktion ist, die sec-Bit ausgeben muss, wobei sec der Sicherheitsparameter ist. Mit dem Parameter k authentisiert der Client A wie nachfolgend beschrieben, dass der Server das korrekte Passwort besitzt. Im Schritt 320 sendet der Server die Parameter μ und k zu dem Client.
  • Nach dem Empfang der Parameter μ und k berechnet der Client im Schritt 322 σ = μx mod p. Wegen μ = gy gilt μx = gxy, wobei es sich um das gemeinsame Geheimnis nach Diffie-Hellman handelt. Im Schritt 324 berechnet der Client H2a(A, B, m, μ, σ, π) unter Verwendung seiner eigenen Kenntnis von π und prüft, ob das Ergebnis gleich dem im Schritt 320 von dem Server empfangenen Parameter k ist. Wenn sie übereinstimmen, hat der Client den Server authentisiert. Wenn sie nicht übereinstimmen, beendet der Client das Protokoll, da sich der Server nicht authentisiert hat. Im Schritt 326 berechnet der Client k' = H2b(A, B, m, μ, σ, π), womit der Server den Client wie nachfolgend beschrieben authentisiert. Im Schritt 328 erzeugt der Client den Sitzungsschlüssel K als K = H3(A, B, m, μ, σ, π). Im Schritt 330 sendet der Client k' zu dem Server. Wiederum sind H2b und H3 Zufalls-Hash-Funktionen, die sec Bit ausgeben müssen, wobei sec der Sicherheitsparameter ist.
  • Im Schritt 332 berechnet der Server H2b (A, B, m, μ, σ, π) unter Verwendung seiner eigenen Kenntnis von π und prüft, ob das Ergebnis gleich dem im Schritt 330 von dem Client empfangenen Parameter k' ist. Wenn sie übereinstimmen, hat der Server den Client authentisiert. Wenn sie nicht übereinstimmen, beendet der Server das Protokoll, da sich der Client nicht authentisiert hat. Im Schritt 334 erzeugt der Server den Sitzungsschlüssel K als K = H3(A, B, m, μ, σ, π).
  • An diesem Punkt haben sich der Client als auch der Server gegenseitig authentisiert und sowohl der Client als auch der Server haben denselben sicheren Sitzungsschlüssel K erzeugt, der für nachfolgende sichere Kommunikation zwischen dem Client und dem Server verwendet werden kann.
  • Wie bereits erwähnt, verringert das Kommunikationsprotokoll der Erfindung, so wie es im Kontext von 3 dargestellt wird, die Berechnungen auf der Clientseite um mindestens einen Faktor 2 im Vergleich zu dem Protokoll von 2. Dies wird aus dem folgenden Beispiel ersichtlich. Man nehme an, dass p eine 1024-Bit-Primzahl und q eine 160-Bit-Primzahl ist. Dann beträgt r 864 Bit. Jede Exponentiierung in Z * / p nimmt proportional zu der Anzahl von Bit des Exponenten Zeit in Anspruch. In dem Protokoll von 2 ist dann, wenn zwei q-Bit-Exponentiierungen und eine r-Bit-Exponentiierung durchgeführt werden, die Zeit proportional zu 2*160 + 864 = 1184, während in dem Protokoll der Erfindung (siehe 3), wenn drei q-Bit-Exponentiierungen durchgeführt werden, die Zeit proportional zu 3*160 = 480 ist. Vorteilhafterweise beträgt dieser Wert (480) weniger als die Hälfte des Werts, der dem Protokoll von 2 zugeordnet ist (1184).
  • 4 zeigt die verallgemeinerte Hardwarearchitektur eines Datennetzwerks und von Computersystemen, die sich zur Implementierung einer passwortauthentisierten Schlüsselaustauschmethodologie zwischen zwei Entitäten A und B gemäß der vorliegenden Erfindung eignen. Wie gezeigt, umfasst die Entität A ein Computersystem 402, während die Entität B ein Computersystem 404 umfasst. Die beiden Computersysteme 402 und 404 werden über ein Datennetzwerk 404 gekoppelt. Das Datennetzwerk kann ein beliebiges Datennetzwerk sein, über das A und B kommunizieren möchten, z. B. das Internet. Die Erfindung ist jedoch nicht auf eine bestimmte Art von Netzwerk beschränkt. Wie in 4 bezeichnet, ist A in der Regel eine Client-Maschine und B eine Server-Maschine. Dies ist jedoch nicht erforderlich, und A und B werden lediglich als ein Beispiel als Client bzw. Server bezeichnet, um den typischen Fall zu zeigen. Es versteht sich somit, dass das Kommunikationsprotokoll der vorliegenden Erfindung nicht auf den Fall beschränkt ist, dass A und B Client und Server sind, sondern stattdessen auf beliebige Datenverarbeitungseinrichtungen, die A und B umfassen, anwendbar ist.
  • Für Durchschnittsfachleute ist ohne weiteres erkennbar, dass der Server und der Client als programmierte Computer implementiert werden können, die unter der Kontrolle von Computerprogrammcode wirken. Der Computerprogrammcode wäre in einem computerlesbaren Medium (z. B. einem Speicher) gespeichert und der Code würde durch einen Prozessor des Computers ausgeführt. Anhand der Offenlegung der Erfindung könnten Fachleute ohne weiteres entsprechenden Computerprogrammcode erzeugen, um die hier beschriebenen Protokolle zu implementieren.
  • Trotzdem zeigt 4 allgemein eine beispielhafte Architektur für jedes über das Netzwerk kommunizierende Computersystem. Wie gezeigt, umfasst die Client-Einrichtung E/A-Einrichtungen 408-A, einen Prozessor 410-A und Speicher 412-A. Das Server-System umfasst E/A-Einrichtungen 408-B, einen Prozessor 410-B und Speicher 412-B. Es versteht sich, dass der hier benutzte Begriff „Prozessor" eine oder mehrere Verarbeitungseinrichtungen umfassen soll, darunter eine zentrale Verarbeitungseinrichtung (CPU) oder andere Verarbeitungsschaltkreise. Außerdem soll der Begriff „Speicher" hier einen Speicher umfassen, der einem Prozessor oder einer CPU zugeordnet ist, wie zum Beispiel RAM, ROM, eine Festspeichereinrichtung (z. B. Festplatte) oder eine wechselbare Speichereinrichtung (z. B. eine Diskette oder CDROM). Außerdem soll der Begriff „E/A-Einrichtungen" hier eine oder mehrere Eingabeeinrichtungen (z. B. Tastatur, Maus) zum Eingeben von Daten in die Verarbeitungseinheit, sowie eine oder mehrere Ausgabeeinrichtungen (z. B. CRT-Anzeige) zur Bereitstellung von der Verarbeitungseinheit zugeordneten Ergebnissen umfassen. Softwareanweisungen oder Code zur Durchführung der hier beschriebenen Methodologien der Erfindung können folglich in einer oder mehreren der zugeordneten Speichereinrichtungen z. B. in ROM, festem oder wechselbarem Speicher, gespeichert werden und können, wenn sie für die Verwendung bereit sind, in RAM geladen und durch die CPU ausgeführt werden.
  • Obwohl hier mit Bezug auf die beigefügten Zeichnungen beispielhafte Ausführungsformen der vorliegenden Erfindung beschrieben wurden, versteht sich, dass die Erfindung nicht auf diese genauen Ausführungsformen beschränkt ist und dass Fachleute verschiedene andere Änderungen und Modifikationen vornehmen können, ohne von dem durch die Ansprüche definierten Schutzumfang der Erfindung abzuweichen. Obwohl die Lehren der Erfindung im Kontext eines Kommunikationsprotokolls, das gegenüber dem oben in 2 beschriebenen Kommunikationsprotokoll rechnerische Effizienzen liefert, dargestellt wurden, versteht sich zum Beispiel, dass die Erfindung im Kontext anderer Kommunikationsprotokolle angewandt werden kann. Zum Beispiel kann die Randomisierungsoperation der Erfindung gemäß anderen Protokollausführungsformen verwendet werden, die in der oben zitierten EP-A-1 134 929 beschrieben werden.
  • Zum Beispiel kann die Erfindung gemäß dem impliziten Authentisierungsansatz der oben zitierten Anmeldung verwendet werden, und auch mit dem hier beschriebenen Passwortverifiziereransatz. Obwohl bestimmte Parameter bei der Auswertung der Hash-Funktionen des Kommunikationsprotokolls der Erfindung verwendet werden, versteht sich ferner, dass für heuristische Sicherheit nicht alle Parameter erforderlich sind. Das heißt, es werden zusätzliche Parameter verwendet, um einen formalen Beweis der Sicherheit des Protokolls zu ermöglichen. Zum Beispiel kann in den in den Schritten 318, 324, 326, 328, 332 und 334 verwendeten Hash-Funktionen nur der Parameter σ in der Funktion notwendig sein, damit das Protokoll heuristisch sicher wird.

Claims (10)

  1. Verfahren zur Kommunikation zwischen zwei Parteien, die ein gemeinsames Passwort besitzen, über ein Datennetzwerk unter Verwendung eines Diffie-Hellman-Schlüsselaustausches in Bezug auf eine bestimmte Gruppe zur Erzeugung eines gemeinsamen Geheimnisses gxy, wobei g der beiden Parteien bekannte Gruppengenerator ist, x ein der einen Partei bekannter Index und y ein der anderen Partei bekannter Index ist, wobei die Gruppe eine Gruppenoperation und eine inverse Gruppenoperation aufweist und das Verfahren folgende Schritte umfasst: das Erzeugen eines Parameters m (306) mittels Ausführung der Gruppenoperation an gx und einer Funktion von mindestens dem Passwort und Übertragen von m (308) an die andere Partei durch eine Partei, wodurch es der anderen Partei ermöglicht wird, die umgekehrte Gruppenoperation an m und die Funktion von mindestens dem Passwort auszuführen, um gx zu extrahieren und das gemeinsame Geheimnis gxy zu berechnen (316); dadurch gekennzeichnet, dass die Erzeugung von m das Randomisieren jedes Teils eines mit der Funktion assoziierten Ergebnisses umfasst, der außerhalb der Gruppe liegt, wobei der anderen Partei ermöglicht wird, die Randomisierung zu entfernen.
  2. Verfahren nach Anspruch 1, wobei die bestimmte Gruppe, die als Gp,q bezeichnet ist, eine Untergruppe einer Gruppe Z * / p ist, wobei p und q Primzahlen sind, so dass p gleich rq + 1 für einen Wert r ist, der relativ prim im Verhältnis zu q ist, und wobei der Schritt des Randomisierens jedes Abschnitts eines mit der Funktion assoziierten Ergebnisses, der außerhalb der Gruppe Gp,q liegt, durch Berechnen eines Parameters h, der zufällig aus der Gruppe Z * / p ausgewählt wird, Erhöhen des Parameters h auf den Exponenten q und Multiplizieren von h mit dem mit der Funktion (306) assoziierten Ergebnis ausgeführt wird.
  3. Verfahren nach Anspruch 1, wobei die eine Partei ein Client (402) und die andere Partei ein Server (404) ist.
  4. Verfahren nach Anspruch 1, das des Weiteren folgenden Schritt umfasst: Empfanger von gy von der einen Partei durch die andere Partei und Erzeugen des gemeinsamen Geheimnisses gxy(322).
  5. Verfahren nach Anspruch 4, das des Weiteren folgenden Schritt umfasst: Authentisieren der anderen Partei durch die eine Partei mittels Vergleich eines empfangenen Werts mit einer Funktion von mindestens entweder einer Kennung der einen Partei, einer Kennung der anderen Partei, m, gy, dem gemeinsamen Geheimnis oder dem Passwort (324).
  6. Verfahren nach Anspruch 4, das des Weiteren folgenden Schritt umfasst: Übertragen (330) einer Funktion von mindestens entweder einer Kennung der einen Partei, einer Kennung der anderen Partei, m, gy, dem gemeinsamen Geheimnis oder dem Passwort durch die eine Partei an die andere Partei, wodurch die andere Partei die eine Partei authentisieren kann.
  7. Verfahren nach Anspruch 4, das des Weiteren folgenden Schritt umfasst: Erzeugen eines Sitzungsschlüssels als Funktion von mindestens entweder einer Kennung der einen Partei, eine Kennung der anderen Partei, m, gy, dem gemeinsamen Geheimnis oder dem Passwort (328) durch die eine Partei.
  8. Verfahren zur Kommunikation zwischen zwei Parteien, die ein gemeinsames Passwort besitzen, über ein Datennetzwerk unter Verwendung eines Diffie-Hellman-Schlüsselaustausches in Bezug auf eine bestimmte Gruppe zur Erzeugung eines gemeinsamen Geheimnisses gxy, wobei g der beiden Parteien bekannte Gruppengenerator ist, x ein der einen Partei bekannter Index und y ein der anderen Partei bekannter Index ist, die Gruppe eine Gruppenoperation und eine inverse Gruppenoperation aufweist und das Verfahren folgende Schritte umfasst: Ausführen der inversen Gruppenoperation an m und der Funktion von mindestens dem Passwort, Extrahieren von gx und Berechnen des gemeinsamen Geheimnisses gxy durch die andere Partei also Reaktion auf das Erzeugen eines Parameters m (306) durch die eine Partei mittels Ausführung der Gruppenoperation an gx und einer Funktion von mindestens dem Passwort und übertragen von m (308) an die andere Partei; dadurch gekennzeichnet, dass das Ausführen der inversen Gruppenoperation an m und der Funktion von mindestens dem Passwort das Entfernen der Randomisierung jedes Teils des mit der Funktion assoziierten Ergebnisses umfasst, der sich außerhalb der Gruppe befindet, wobei die Randomisierung bei der Erzeugung von m ausgeführt wurde.
  9. Vorrichtung zur Verwendung gemäß einem Protokoll zur Kommunikation zwischen zwei Parteien, die ein gemeinsames Passwort besitzen, über ein Datennetzwerk unter Verwendung eines Diffie-Hellman-Schlüsselaustausches in Bezug auf eine bestimmte Gruppe zur Erzeugung eines gemeinsamen Geheimnisses gxy, wobei g der beiden Parteien bekannte Gruppengenerator ist, x ein der einen Partei bekannter Index und y ein der anderen Partei bekannter Index ist, die Gruppe eine Gruppenoperation und eine inverse Gruppenoperation aufweist und die Vorrichtung zum Gebrauch durch die eine Partei bestimmt ist und Folgendes umfasst: mindestens einen Prozessor, der betriebsbereit ist: (i) zur Erzeugung eines Parameters m (306) durch Ausführen der Gruppenoperation an gx und einer Funktion von mindestens dem Passwort und (ii) zur Übertragung von m (308) an die andere Partei, wodurch es der anderen Partei ermöglicht wird, die inverse Gruppenoperation an m und die Funktion von mindestens dem Passwort auszuführen, um gx zu extrahieren und das gemeinsame Geheimnis gxy zu berechnen (316); dadurch gekennzeichnet, dass: der mindestens eine Prozessor so konfiguriert ist, dass das Erzeugen von m das Randomisieren jedes Teils eines mit der Funktion assoziierten Ergebnisses umfasst, der außerhalb der Gruppe liegt, wobei es der anderen Partei ermöglicht wird, die Randomisierung zu entfernen.
  10. Vorrichtung zur Verwendung gemäß einem Protokoll zur Kommunikation zwischen zwei Parteien, die ein gemeinsames Passwort besitzen, über ein Datennetzwerk unter Verwendung eines Diffie-Hellman-Schlüsselaustausches in Bezug auf eine bestimmte Gruppe zur Erzeugung eines gemeinsamen Geheimnisses gxy, wobei g der beiden Parteien bekannte Gruppengenerator ist, x ein der einen Partei bekannter Index und y ein der anderen Partei bekannter Index ist, die Gruppe eine Gruppenoperation und eine inverse Gruppenoperation aufweist und die Vorrichtung zum Gebrauch durch die andere Partei bestimmt ist und Folgendes umfasst: mindestens einen Prozessor, der als Reaktion auf das Erzeugen eines Parameters in (306) durch Ausführen der Gruppenoperation an gx und einer Funktion von mindestens dem Passwort durch die eine Partei für die andere Partei betriebsbereit ist und m (305) an die andere Partei überträgt: Ausführen des umgekehrten Gruppenbetriebs an m und der Funktion von mindestens dem Passwort; Extrahieren von gx; und Berechnen des gemeinsamen Geheimnisses gxy (316); dadurch gekennzeichnet, dass: der mindestens eine Prozessor so konfiguriert ist, dass das Ausführen der inversen Gruppenoperation in Bezug auf m und der Funktion von mindestens dem Passwort das Entfernen der Randomisierung jedes Teils des mit der Funktion assoziierten Ergebnisses umfasst, der sich außerhalb der Gruppe befindet, wobei die Randomisierung bei der Erzeugung von m ausgeführt wurde.
DE60200496T 2001-04-05 2002-03-22 Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs Expired - Lifetime DE60200496T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US827227 2001-04-05
US09/827,227 US7076656B2 (en) 2001-04-05 2001-04-05 Methods and apparatus for providing efficient password-authenticated key exchange

Publications (2)

Publication Number Publication Date
DE60200496D1 DE60200496D1 (de) 2004-06-24
DE60200496T2 true DE60200496T2 (de) 2005-06-23

Family

ID=25248630

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60200496T Expired - Lifetime DE60200496T2 (de) 2001-04-05 2002-03-22 Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs

Country Status (5)

Country Link
US (1) US7076656B2 (de)
EP (1) EP1248408B1 (de)
JP (1) JP4237970B2 (de)
CA (1) CA2376947C (de)
DE (1) DE60200496T2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487661B2 (en) 1995-04-21 2002-11-26 Certicom Corp. Key agreement and transport protocol
US7334127B2 (en) * 1995-04-21 2008-02-19 Certicom Corp. Key agreement and transport protocol
US6785813B1 (en) * 1997-11-07 2004-08-31 Certicom Corp. Key agreement and transport protocol with implicit signatures
US7076656B2 (en) * 2001-04-05 2006-07-11 Lucent Technologies Inc. Methods and apparatus for providing efficient password-authenticated key exchange
US7305556B2 (en) * 2001-12-05 2007-12-04 Canon Kabushiki Kaisha Secure printing with authenticated printer key
US20050089173A1 (en) * 2002-07-05 2005-04-28 Harrison Keith A. Trusted authority for identifier-based cryptography
GB0215590D0 (en) * 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
KR100489327B1 (ko) * 2002-09-18 2005-05-12 학교법인 한국정보통신학원 겹선형 디피-헬만 문제에 기반한 네트워크 환경에서의개인 식별 방법
US7284127B2 (en) * 2002-10-24 2007-10-16 Telefonktiebolaget Lm Ericsson (Publ) Secure communications
CN100583758C (zh) * 2003-04-16 2010-01-20 艾利森电话股份有限公司 认证方法
KR100520116B1 (ko) 2003-05-16 2005-10-10 삼성전자주식회사 모바일 애드 혹 상의 암호화를 위한 노드간 키 분배 방법및 이를 이용한 네트워크 장치
KR100581590B1 (ko) * 2003-06-27 2006-05-22 주식회사 케이티 이중 요소 인증된 키 교환 방법 및 이를 이용한 인증방법과 그 방법을 포함하는 프로그램이 저장된 기록매체
BR0318427A (pt) * 2003-07-31 2006-08-01 Thomson Licensing geração e validação de assinaturas digitais diffie-hellman
JP3854954B2 (ja) * 2003-09-05 2006-12-06 キヤノン株式会社 データ共有装置
US7916868B1 (en) * 2004-05-06 2011-03-29 Verizon Data Services Llc Quadratic residue based password authenticated key exchange method and system
US7764795B2 (en) * 2004-10-20 2010-07-27 Oracle International Corporation Key-exchange protocol using a password-derived prime
US20060248079A1 (en) * 2005-04-28 2006-11-02 Freescale Semiconductor Incorporated Method and apparatus for finding a perfect hash function and making minimal hash table for a given set of keys
US7814320B2 (en) * 2005-07-19 2010-10-12 Ntt Docomo, Inc. Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US7698555B2 (en) * 2005-08-29 2010-04-13 Schweitzer Engineering Laboratories, Inc. System and method for enabling secure access to a program of a headless server device
US7783041B2 (en) 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US8954745B2 (en) * 2007-04-03 2015-02-10 Alcatel Lucent Method and apparatus for generating one-time passwords
US20080263672A1 (en) * 2007-04-18 2008-10-23 Hewlett-Packard Development Company L.P. Protecting sensitive data intended for a remote application
JP4924943B2 (ja) * 2007-09-04 2012-04-25 Kddi株式会社 認証付鍵交換システム、認証付鍵交換方法およびプログラム
US20090070593A1 (en) * 2007-09-07 2009-03-12 Authentec, Inc. Finger sensing apparatus using unique session key and associated methods
KR100948604B1 (ko) * 2008-03-25 2010-03-24 한국전자통신연구원 서버 기반 이동 인터넷 프로토콜 시스템에 있어서 보안방법
TWI361610B (en) * 2007-12-03 2012-04-01 Ind Tech Res Inst Key establishing and event processing method and system for dual-mode wireless sensor network
US8464058B1 (en) * 2008-04-08 2013-06-11 Hewlett-Packard Development Company, L.P. Password-based cryptographic method and apparatus
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
WO2010005071A1 (ja) * 2008-07-10 2010-01-14 独立行政法人産業技術総合研究所 パスワード認証方法
US20100042841A1 (en) * 2008-08-15 2010-02-18 Neal King Updating and Distributing Encryption Keys
US8433918B2 (en) * 2009-10-14 2013-04-30 Texas Instruments Incorporated Methods and systems for improving the security of password-based authentication protocols for IEEE 802.11 networks
EP2518932A3 (de) * 2010-10-05 2015-11-18 Brandenburgische Technische Universität Cottbus-Senftenberg Verfahren zur Authentifizierung und Sitzungsschlüsselgenehmigung zur sicheren Datenübertragung, Verfahren zur sicheren Übertragung von Daten und elektronisches Datenübertragungssystem
GB2490483B (en) 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US20170076106A1 (en) 2015-09-16 2017-03-16 Qualcomm Incorporated Apparatus and method to securely control a remote operation
US9876783B2 (en) 2015-12-22 2018-01-23 International Business Machines Corporation Distributed password verification
US10305864B2 (en) * 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10397206B2 (en) 2016-01-26 2019-08-27 Red Hat, Inc. Symmetric encryption key generation/distribution
CN110519300B (zh) * 2019-09-24 2021-08-06 杭州字节信息技术有限公司 基于口令双向认证的客户端密钥安全存储方法
EP4264875A1 (de) * 2021-09-24 2023-10-25 Huawei Technologies Co., Ltd. Verfahren und vorrichtung zur herstellung eines passwortbasierten sicheren kanals
JPWO2024166910A1 (de) * 2023-02-07 2024-08-15
CN119853913B (zh) * 2025-03-18 2025-06-10 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种隐藏接收方元素数量的两方隐私集合求交方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
US5241599A (en) * 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
US5351293A (en) * 1993-02-01 1994-09-27 Wave Systems Corp. System method and apparatus for authenticating an encrypted signal
US5440635A (en) * 1993-08-23 1995-08-08 At&T Corp. Cryptographic protocol for remote authentication
US5450493A (en) * 1993-12-29 1995-09-12 At&T Corp. Secure communication method and apparatus
US5602917A (en) * 1994-12-30 1997-02-11 Lucent Technologies Inc. Method for secure session key generation
JP3541522B2 (ja) * 1995-10-09 2004-07-14 松下電器産業株式会社 機器間通信保護システムおよび機器
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6539479B1 (en) * 1997-07-15 2003-03-25 The Board Of Trustees Of The Leland Stanford Junior University System and method for securely logging onto a remotely located computer
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret
GB2357227B (en) * 1999-12-08 2003-12-17 Hewlett Packard Co Security protocol
SG95612A1 (en) * 1999-12-24 2003-04-23 Kent Ridge Digital Labs Remote authentication based on exchanging signals representing biometrics information
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
US7047408B1 (en) 2000-03-17 2006-05-16 Lucent Technologies Inc. Secure mutual network authentication and key exchange protocol
US7076656B2 (en) * 2001-04-05 2006-07-11 Lucent Technologies Inc. Methods and apparatus for providing efficient password-authenticated key exchange
US7461260B2 (en) * 2002-12-31 2008-12-02 Intel Corporation Methods and apparatus for finding a shared secret without compromising non-shared secrets
US20050157874A1 (en) * 2003-12-01 2005-07-21 The Regents Of The University Of California Cryptography for secure dynamic group communications

Also Published As

Publication number Publication date
EP1248408A3 (de) 2002-11-27
JP2002335238A (ja) 2002-11-22
EP1248408A2 (de) 2002-10-09
EP1248408B1 (de) 2004-05-19
US20020194478A1 (en) 2002-12-19
JP4237970B2 (ja) 2009-03-11
CA2376947C (en) 2007-07-10
CA2376947A1 (en) 2002-10-05
US7076656B2 (en) 2006-07-11
DE60200496D1 (de) 2004-06-24

Similar Documents

Publication Publication Date Title
DE60200496T2 (de) Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs
DE60001630T2 (de) Sichere gegenseitige Netzwerkauthenifizierung und Schlüselaustauschprotokoll
US20230074927A1 (en) Password based threshold token generation
DE60036112T2 (de) Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
US6757825B1 (en) Secure mutual network authentication protocol
DE69935913T2 (de) Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE60031304T3 (de) Verfahren zur authentifizierung von softwarebenutzern
CH694601A5 (de) Verfahren zur Verifizierung der Echtheit von ausgetauschten Nachrichten.
DE69431426T2 (de) System und Verfahren zur Nachrichtenauthentisierung in einem nicht-schmiedbaren Kryptosystem mit öffentlichen Schlüssel
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
WO2003023605A2 (de) Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation
Yi et al. ID-based two-server password-authenticated key exchange
DE60105449T2 (de) Verfahren zur Steigerung der Sicherheit eines Verschlüsselungsverfahrens mit öffentlichen Schlüsseln
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
DE60000649T2 (de) Authentifizierungs- oder unterschriftsverfahren mit verringter zahl an berechnungen
DE69928519T2 (de) Protokoll zur ubereinkunft über einen authentifizierten schlüssel
EP4101118A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
Li et al. A new fair multi-secret sharing scheme based on asymmetric bivariate polynomial
Pathak et al. Simple Three Party Key Exchange Protocol via Twin Diffie-Hellman Problem.
Kwon Addendum to Summary of AMP
Zhang et al. A secure authentication scheme based on fuzzy extractor

Legal Events

Date Code Title Description
8364 No opposition during term of opposition