DE69636815T2 - Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften - Google Patents

Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften Download PDF

Info

Publication number
DE69636815T2
DE69636815T2 DE69636815T DE69636815T DE69636815T2 DE 69636815 T2 DE69636815 T2 DE 69636815T2 DE 69636815 T DE69636815 T DE 69636815T DE 69636815 T DE69636815 T DE 69636815T DE 69636815 T2 DE69636815 T2 DE 69636815T2
Authority
DE
Germany
Prior art keywords
correspondent
key
integer
function
generator
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
DE69636815T
Other languages
English (en)
Other versions
DE69636815D1 (de
Inventor
A. Scott Waterloo VANSTONE
John Alfred Auburn MENEZES
Mingua Waterloo QU
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.)
Certicom Corp
Original Assignee
Certicom 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 Certicom Corp filed Critical Certicom Corp
Application granted granted Critical
Publication of DE69636815D1 publication Critical patent/DE69636815D1/de
Publication of DE69636815T2 publication Critical patent/DE69636815T2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft Protokolle zum Vereinbaren von Schlüsseln zum Übertragen und Authentisieren von Schlüsseln zum Verschlüsseln.
  • Um während eines Informationsaustauschs eine Geheimhaltung aufrechtzuerhalten, ist es weithin bekannt, Daten unter Verwendung eines Schlüssels zu verschlüsseln. Der Schlüssel muss so gewählt sein, dass die Korrespondenten dazu in der Lage sind, Nachrichten zu verschlüsseln und zu entschlüsseln, jedoch so, dass eine Person, die die Nachricht abfängt, den Inhalt der Nachricht nicht ermitteln kann.
  • In einem geheimen Verschlüsselungsprotokoll mit geheimem Schlüssel teilen sich die Korrespondenten einen gemeinsamen Schlüssel, der für die Korrespondenten geheim ist. Dies erfordert, dass der Schlüssel zwischen den Korrespondenten vereinbart wird, und macht es erforderlich, dass Vorsorge dafür getroffen wird, dass der Schlüssel weiterhin geheim gehalten wird, und dass ein Wechsel des Schlüssels vorgesehen wird, sollte die grundlegende Sicherheit gefährdet sein.
  • Verschlüsselungsprotokolle mit öffentlichem Schlüssel wurden zuerst von Diffie-Hellman im Jahr 1976 vorgeschlagen und verwendeten einen öffentlichen Schlüssel, der allen potentiellen Korrespondenten verfügbar gemacht wurde, und einen privaten Schlüssel, der nur dem bestimmungsgemäßen Empfänger bekannt war. Die öffentlichen und privaten Schlüssel sind so miteinander verknüpft, dass eine Nachricht, die mit dem öffentlichen Schlüssel eines Empfängers verschlüsselt wurde, nur mit dem privaten Schlüssel leicht entschlüsselt werden kann, jedoch der private Schlüssel nicht aus dem Klartext, dem verschlüsselten Text und dem öffentlichen Schlüssel hergeleitet werden kann.
  • Ein Key-Establishment ist ein Vorgang, bei dem zwei (oder mehrere) Parteien einen gemeinsamen geheimen Schlüssel festlegen, den so genannten Sitzungsschlüssel. Der Sitzungsschlüssel wird daraufhin verwendet, um einige Verschlüsselungsziele wie beispielsweise Geheimhaltung zu erzielen. Es gibt zwei Arten von Key-Agreement-Protokollen: Key-Transport-Protokolle, bei denen ein Schlüssel von einer Partei erzeugt wird und geheim zu der zweiten Partei übertragen wird, und Key-Agreement-Protokolle, bei denen beide Parteien Informationen beisteuern, die zusammen den gemeinsamen geheimen Schlüssel festlegen. Die Anzahl der Nachrichtenaustauschvorgänge, die zwischen den Parteien erforderlich sind, wird als Durchlaufanzahl bezeichnet. Man sagt, dass ein Key-Establishment-Protokoll eine implizierte Schlüsselauthentisierung (oder einfache Schlüsselauthentisierung) leistet, wenn eine Partei sich sicher ist, dass außer einer speziell identifizierten zweiten Partei keine andere Partei den Wert des Sitzungsschlüssel erfahren kann. Die Eigenschaft der implizierten Schlüsselauthentisierung bedeutet aber nicht zwangsweise, dass die zweite Partei tatsächlich den Sitzungsschlüssel besitzt. Ein Key-Establishment-Protokoll soll eine Schlüsselbestätigung bieten, wenn eine Partei sich sicher ist, dass eine bestimmte identifizierte Partei tatsächlich im Besitz eines bestimmten Sitzungsschlüssels ist. Wenn die Authentisierung für beide Parteien, die in dem Protokoll involviert sind, vorgesehen ist, dann kann gesagt werden, dass die Schlüsselauthentisierung gegenseitig ist. Wenn sie nur für eine einzige Partei vorgesehen ist, dann ist die Authentisierung nur einseitig.
  • Es gibt verschiedene frühere Vorschläge, die beanspruchen, dass sie eine implizierte Schlüsselauthentisierung bieten.
  • Beispiele hierfür sind das Nyberg-Rueppel-Protokoll mit einem Durchlauf und das Matsumoto-Takashima-Imai (MTI)- und das Goss und Yacobi-Protokoll mit zwei Durchläufen zur Vereinbarung eines Schlüssels. Das Nyberg-Rueppel-Protokoll und das MTI-Protokoll sind in der EP 0 639 907 und in Matsumoto, T., Takashima, Y. und Imai, H.: On Seeking Smart Public-Key-Distribution Systems, The Transactions of the IECE of Japan, E69: 99-106, 1986 beschrieben. Das Goss-Protokoll ist in dem US-Patent Nr. 4,956,865 beschrieben. Das Yacobi-Protokoll ist in Y. Yacobi, "A Key Distribution Paradox", Advances in Cryptology, Crypto '90, Lecture Notes in Computer Science 537, Springer-Verlag, 1991, Seiten 268 bis 273 beschrieben.
  • Diese früheren Vorschläge stellen sicher, dass Übertragungen zwischen Korrespondenten zum Festlegen eines gemeinsamen Schlüssels sicher sind und dass ein Lauscher den Sitzungsschlüssel nicht abfragen und den verschlüsselten Text nicht entschlüsseln kann. Auf diese Weise wird Sicherheit für heikle Transaktionen wie beispielsweise Geldtransaktionen geboten.
  • Beispielsweise legt das MTI/AO-Key-Agreement-Protokoll einen gemeinsamen sicheren Schlüssel K, der den beiden Korrespondenten bekannt ist, auf folgende Weise fest:
    • 1. Während eines einmaligen ersten Setups wird die Erzeugung eines Schlüssels und dessen Veröffentlichung dadurch vorgenommen, dass ein geeigneter Primwert p und ein Generator α ∈ Z*p des Systems in einer Weise ausgewählt und veröffentlicht werden, die eine Authentizität garantieren. Der Korrespondent A wählt als privaten Langzeitschlüssel eine ganzzahlige Zufallszahl „a", 1 < a < p – 1 und berechnet einen öffentlichen Langzeitschlüssel zA = αa mod p. B erzeugt analog die Schlüssel b, zB. A und B haben Zugang zu authentisierten Kopien vom jeweiligen öffentlichen Langzeitschlüssel des anderen.
    • 2. Das Protokoll erfordert den Austausch der folgenden Nachrichten: A → B:αx mod p (1) A ← B:αy mod p (2)Die Werte von x und y bleiben während derartiger Übertragungen geheim, da es unmöglich ist, den Exponenten zu ermitteln, sogar wenn der Wert von a und die Exponentation bekannt ist, selbstverständlich vorausgesetzt, dass p ausreichend groß gewählt wurde.
    • 3. Um das Protokoll zu implementieren, werden jedes Mal, wenn ein gemeinsamer Schlüssel gefordert wird, die folgenden Schritte ausgeführt. (a) A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, und sendet B die Nachricht (1), das heißt αx mod p. (b) B wählt eine ganzzahlige Zufallszahl y, zu der 1 ≤ y ≤ p – 2 und sendet A die Nachricht (2), das heißt αy mod p. (c) A berechnet den Schlüssel K = (αy)azB x mod p. (d) B berechnet den Schlüssel K = (αx)bzA y mod p. (e) Beide teilen sich den Schlüssel K = αbx+ay.
  • Um den Schlüssel K zu berechnen, muss A seinen geheimen Schlüssel a und die ganzzahlige Zufallszahl x verwenden, die beide nur ihm bekannt sind. Gleichermaßen muss B seinen geheimen Schlüssel b und die ganzzahlige Zufallszahl y verwenden, um den Sitzungsschlüssel K zu berechnen.
  • Vorausgesetzt die geheimen Schlüssel a, b bleiben ungefährdet, kann ein Lauscher keinen Sitzungsschlüssel erzeugen, der mit dem anderen Korrespondenten identisch ist. Entsprechend wird irgendein verschlüsselter Text für beide Korrespondenten nicht entschlüsselbar sein.
  • Die EP 0 639 907 beschreibt ein Key-Agreement-Verfahren. Ein Benutzer A besitzt einen privaten Key-Agreement-Schlüssel sA. Ein Benutzer B besitzt einen öffentlichen Key-Agreement-Schlüssel kB, der dem privaten Key-Agreement-Schlüssel sB über die Vorschrift kB =
    Figure 00040001
    mod p entspricht.
  • Diese und andere Protokolle wurden als solche für die Festlegung eines Schlüssels und gegenüber herkömmlichen Lauschangriffen oder man-in-the-middle-Angriffen als ausreichend widerstandsfähig erachtet.
  • Unter gewissen Umständen könnte es für einen Gegner vorteilhaft sein, einen Korrespondenten im Hinblick auf die wahre Identität des anderen Korrespondenten zu täuschen.
  • Bei einem solchen Angriff modifiziert ein aktiver Gegner oder Lauscher E Nachrichten, die zwischen A und B ausgetauscht werden, mit dem Ergebnis, dass B glaubt, dass er einen Schlüssel K mit E teilt, während A glaubt, dass sie den gleichen Schlüssel K mit B teilt. Obwohl E den Wert von K nicht erfährt, kann die Fehlinformation in Bezug auf die Identität der Korrespondenten nützlich sein.
  • Ein praktisches Szenario, bei dem eine solche Attacke erfolgreich eingesetzt werden kann, ist wie folgt. Es wird angenommen, dass B eine Zweigstelle einer Bank ist und A ist ein Kontoinhaber. Von der Hauptgeschäftsstelle der Bank werden Zertifikate ausgegeben und in dem Zertifikat befinden sich die Informationen betreffend das Konto des Inhabers. Angenommen, das Protokoll zum elektronischen Zahlen einer Geldsumme besteht darin, einen Schlüssel mit einer Zweigstelle einer Bank über ein gegenseitig authensierendes Key-Agreement-Verfahren auszutauschen. Sobald B die sendende Identität authentisiert hat, werden die verschlüsselten Geldsummen auf die Kontonummer in dem Zertifikat eingezahlt. Wenn keine weitere Authentisierung in der verschlüsselten Zahlungsanweisung erfolgt (was der Fall sein könnte, um Bandbreite einzusparen), dann wird die Zahlung auf das Konto von E geleistet.
  • Es ist somit eine Aufgabe der vorliegenden Erfindung, ein Protokoll bereitzustellen, bei dem die obigen Nachteile überwunden oder verringert sind.
  • Somit wird gemäß der vorliegenden Erfindung ein Verfahren zum Authentisieren eines Schlüssels geschaffen, der zwischen einem Korrespondentenpaar festgelegt wird, wie es in den anhängigen Ansprüchen beschrieben ist.
  • Obwohl der Lauscher E bei der Übertragung deren öffentlichen Schlüssel pE = αae als Teil der Nachricht austauschen kann, wird B somit pE anstatt pA verwenden, wenn die Nachricht authentifiziert wird. Entsprechend werden die berechneten und übertragenen Werte der Exponentialfunktionen nicht einander entsprechen.
  • Es werden nun rein beispielhaft Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen geschrieben, wobei:
  • 1 eine schematische Darstellung eines Datenkommunikationssystems ist.
  • Es wird deshalb auf die 1 Bezug genommen, in der ein Korrespondentenpaar 10, 12, die als Korrespondent A und Korrespondent B bezeichnet sind, über einen Kommunikationskanal 14 Informationen austauschen. Eine Verschlüsselungseinheit 16, 18 ist zwischen jedem der Korrespondenten 10, 12 und dem Kanal 14 zwischengeschaltet. Jeder Verschlüsselungseinheit 16, 18 ist ein Schlüssel 20 zugeordnet, um einen Klartext, der zwischen jeder Einheit 16, 18 und deren entsprechenden Korrespondenten 10, 12 übertragen wird, in verschlüsselten Text zu konvertieren, der über den Kanal 14 übertragen wird. Während des Betriebs wird eine Nachricht, die durch den Korrespondenten A, 10 erzeugt wird, durch die Einheit 16 mit dem Schlüssel 20 verschlüsselt und als verschlüsselter Text über den Kanal 14 an die Einheit 18 übermittelt.
  • Der Schlüssel 20 wird in der Einheit 18 auf den verschlüsselten Text angewandt, um eine Nachricht mit Klartext für den Korrespondenten B, 12 zu erzeugen. Vorausgesetzt, die Schlüssel 20 entsprechen einander, dann wird die Nachricht, die der Korrespondent 12 erhält, die sein, die von dem Korrespondenten 10 gesendet wurde.
  • Damit das in der 1 gezeigte System einwandfrei arbeitet, ist es notwendig, dass die Schlüssel 20 identisch sind und deswegen wird ein Key-Agreement-Protokoll eingerichtet, das die öffentliche Übertragung von Informationen erlaubt, um die identischen Schlüssel festzulegen. Für eine solche Schlüsselerzeugung sind etliche Protokollen verfügbar, die Abwandlungen des Schlüsselaustausches gemäß Diffie-Hellman sind. Deren Zweck besteht darin, für die Parteien A und B einen geheimen Sitzungsschlüssel K festzulegen.
  • Die Systemparameter für diese Protokolle sind eine Primzahl p und ein Generator α der multiplikativen Gruppe Z*p . Der Korrespondent A besitzt einen privaten Schlüssel a und einen öffentlichen Schlüssel pA = αa. Der Korrespondent B besitzt einen privaten Schlüssel b und einen öffentlichen Schlüssel pB = αb. In dem folgenden beispielhaften Protokoll ist der TextA ein Informationsstring, der die Partei A identifiziert. Wenn der andere Korrespondent B eine authentische Kopie des öffentlichen Schlüssels des Korrespondenten A besitzt, dann wird der TextA das von einer gesicherten Stelle ausgegebene Zertifikat für den öffentlichen Schlüssel von A enthalten. Der Korrespondent B kann diese authentische Kopie des öffentlichen Schlüssels der gesicherten Stelle verwenden, um das Zertifikat des Korrespondenten A zu verifizieren, und somit erhält er eine authentische Kopie des öffentlichen Schlüssels des Korrespondenten A.
  • In jedem nachfolgenden Beispiel wird angenommen, dass ein Lauscher E versucht, dass Nachrichten von A als von E stammend identifiziert werden. Um dies zu erreichen, wählt E eine ganzzahlige Zufallszahl e aus, 1 ≤ e ≤ p – 2, berechnet pE = (pA)e = αae mod p, und erhält dies als seinen öffentlichen Schlüssel zertifiziert. E kennt den Exponenten ae nicht, obwohl er e kennt. Indem der TextA durch den TextE ersetzt wird, wird der Korrespondent B annehmen, dass die Nachricht von E anstatt von A stammt und verwendet den öffentlichen Schlüssel E, um den Sitzungsschlüssel K zu erzeugen. E fängt auch die Nachricht von B ab und verwendet dessen geheime ganzzahlige Zufallszahl e, um dessen Inhalte zu modifizieren. A wird dann diese Information dazu benutzen, den gleichen Sitzungsschlüssel zu erzeugen, der A erlaubt, mit B zu kommunizieren.
  • Um zu verhindern, dass der Lauscher E die Partei B davon überzeugt, dass er mit E kommuniziert, ist das folgende Protokoll eingerichtet.
  • Der Zweck des Protokolls besteht darin, dass die Parteien A und B einen Sitzungsschlüssel K einrichten. Die beispielhaft erläuterten Protokolle sind rollen-symmetrisch [role-symmetric] und nicht interaktiv [non-interactive]. Die als erstes Protokoll, modifiziertes erstes Protokoll, zweites Protokoll, drittes Protokoll und Key-Transport-Protokoll bezeichneten Protokolle werden erläutert, um allgemeine Konzepte vorzustellen. Diese speziellen Protokolle sind aber nicht Teil der derzeit beanspruchten Erfindung.
  • Die Systemparameter für diese Protokolle sind eine Primzahl p und ein Generator α der multiplikativen Gruppe Z*p . Ein Benutzer A besitzt einen privaten Schlüssel a und einen öffentlichen Schlüssel pA = αa. Der Benutzer B besitzt einen privaten Schlüssel b und einen öffentlichen Schlüssel pB = αb.
  • Erstes Protokoll
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet rA = αx und eine Signatur sA = x – rAa mod(p – 1). A sendet {rA, sA, TextA} an B.
    • 2. B wählt eine ganzzahlige Zufallszahl y, 1 ≤ y ≤ p – 2, aus und berechnet rB = αy und eine Signatur sB = y – rBb mod(p – 1). B sendet {rB, sB, TextB} an A.
    • 3. A berechnet
      Figure 00070001
      und verifiziert, dass dies mit rB übereinstimmt. A berechnet den Sitzungsschlüssel K = (rB)x = αxy.
    • 4. B berechnet
      Figure 00070002
      und verifiziert, dass dies gleich rA ist. B berechnet den Sitzungsschlüssel K = (rA)y = αxy.
  • Sollte E den TextA durch den TextE ersetzen, wird B
    Figure 00070003
    berechnen, was nicht mit dem übermittelten Wert von rA übereinstimmen wird. B wird somit vor dem Lauscher E gewarnt und wird damit weitermachen, einen anderen Sitzungsschlüssel einzuführen.
  • Ein Nachteil des ersten Protokolls besteht darin, dass keine perfekte Vorwärtssicherheit bietet. Das heißt, wenn ein Gegner den privaten Langzeitschlüssel a der Partei A erfährt, dann kann der Gegner alle letzten Sitzungsschlüssel von A herleiten. Die perfekte Vorwärtssicherheit kann durch Modifizierung des Protokolls 1 in der nachfolgenden Weise erzielt werden.
  • Modifiziertes erstes Protokoll
  • Im Schritt 1 sendet A auch
    Figure 00080001
    an B, wobei x1 eine zweite ganzzahlige Zufallszahl ist, die von A generiert wurde. In gleicher Weise sendet im obigen Schritt 2B auch
    Figure 00080002
    an A, wobei y1 eine ganzzahlige Zufallszahl ist. A und B berechnen nun den Schlüssel K = αxy
    Figure 00080003
    .
  • Ein weiterer Nachteil des ersten Protokolls besteht darin, dass für den Fall, dass ein Gegner die private ganzzahlige Zufallszahl x von A erfährt, der Gegner den privaten Langzeitschlüssel a der Partei A aus der Gleichung sA = x – rAa mod p – 1 berechnen kann. Dieser Nachteil ist primär theoretischer Natur, da eine gut gestaltete Implementierung des Protokolls verhindern wird, dass die privaten ganzzahligen Zahlen offengelegt werden.
  • Zweites Protokoll
  • Ein zweites Protokoll, das nachfolgend erläutert wird, zielt auf diese zwei Nachteile ab.
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet (pB)x, αx und eine Signatur sA = x + a(pB)x mod(p – 1). A sendet {αx, sA, TextA} an B.
    • 2. B wählt eine ganzzahlige Zufallszahl y, 1 ≤ y ≤ p – 2 aus und berechnet (pA)y, αy und eine Signatur sB = y + b(pA)y mod(p-1). B sendet {αy, sB, TextB} an A.
    • 3. A berechnet (ay)a und verifiziert, dass
      Figure 00080004
      = ay. A berechnet dann den Sitzungsschlüssel K = αay(pB)x.
    • 4. B berechnet (αx)b und verifiziert, dass
      Figure 00080005
      = αx. A berechnet dann den Sitzungsschlüssel K = αby(pA)y.
  • Das zweite Protokoll verbessert das erste Protokoll dahingehend, dass es die perfekte Vorwärtssicherheit bietet. Es ist zwar weiterhin der Fall, dass eine Offenbarung einer privaten ganzzahligen Zufallszahl x einem Gegner erlaubt, den privaten Schlüssel a zu erfahren, dies wird aber in der Praxis kein Problem sein, weil A x zerstören kann, sobald sie diesen im Schritt 1 des Protokolls verwendet.
  • Wenn A keine authentisierte Kopie des öffentlichen Schlüssels von B besitzt, dann muss B zu Beginn des Protokolls eine zertifizierte Kopie dieses Schlüssels an B übermitteln. In diesem Fall ist das zweite Protokoll ein Protokoll mit drei Durchläufen.
  • Die Größe sA dient als Signatur von A auf den Wert αx. Diese Signatur hat die neue Eigenschaft, dass sie nur die Partei B verifiziert werden kann. Diese Idee kann auf alle ElGamalartigen Signaturschema generalisiert werden.
  • Die obigen ersten und zweiten Protokolle können modifiziert werden, um die Bandbreitenanforderungen und die Recheneffizienz der Schlüsselvereinbarung zu verbessern. Die modifizierten Protokolle sind nachfolgend als Protokoll 1' und Protokoll 2' bezeichnet. In jedem Fall teilen sich A und B den gemeinsamen Schlüssel
    Figure 00090001
    .
  • Protokoll 1'
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet rA = αa und sA = x + rAa mod(p – 1). A sendet {rA, TextA} an B.
    • 2. B wählt eine ganzzahlige Zufallszahl y, 1 ≤ y ≤ p – 2, aus und berechnet rB = αy und sB = y + rBb mod(p – 1). B sendet {rB, TextB} an A. 6
    • 3. A berechnet K =
      Figure 00090002
      , das äquivalent zu
      Figure 00090003
      ist.
    • 4. B berechnet K =
      Figure 00090004
      , das ebenfalls äquivalent zu
      Figure 00090005
      ist.
  • A und B teilen sich somit den gemeinsamen Schlüssel, es ist aber zu beachten, dass die Signaturen sA und sB nicht übermittelt werden müssen.
  • Protokoll 2'
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet (pB)x, αx und sA = x + a(pB)x mod(p – 1). A sendet {αx, TextA} an B.
    • 2. B wählt eine ganzzahlige Zufallszahl y, 1 ≤ y ≤ p – 2, aus und berechnet (pA)y, αy und sB = y + b(pA)y mod(p – 1).B sendet {αy, TextB} an A.
    • 3. A berechnet (αy)a und K =
      Figure 00090006
      , d.h.
      Figure 00090007
      .
    • 4. B berechnet (αx)b Und K =
      Figure 00090008
      , d.h.
      Figure 00090009
      .
  • Abermals wird somit eine Übermittlung von sA und sB vermieden.
  • Ein weiteres Protokoll ist für die Parteien A und B zum Einrichten eines Sitzungsschlüssels K verfügbar.
  • Drittes Protokoll
  • Die Systemparameter für dieses Protokoll sind eine Primzahl p und ein Generator α für die multiplikative Gruppe Z*p . Der Benutzer A besitzt einen privaten Schlüssel a und einen öffentlichen Schlüssel pA = αa. Der Benutzer B besitzt einen privaten Schlüssel b und einen öffentlichen Schlüssel pB = αb.
    • 1. A wählt zwei ganzzahlige Zufallszahlen x, x1, 1 ≤ x, x1 ≤ p – 2 aus und berechnet
      Figure 00100001
      =
      Figure 00100002
      , rA = αx und
      Figure 00100003
      , dann berechnet er eine Signatur sA =
      Figure 00100004
      Figure 00100005
      a mod(p – 1). A sendet {rA, sA,
      Figure 00100006
      , TextA}an B.
    • 2. B wählt zwei ganzzahlige Zufallszahlen y, y1, 1 ≤ y, y1 ≤ p – 2 aus uns berechnet
      Figure 00100007
      =
      Figure 00100008
      , rB = αy und
      Figure 00100009
      , dann berechnet er eine Signatur sB =
      Figure 00100010
      Figure 00100011
      b mod(p – 1). A sendet {rB, sB,
      Figure 00100012
      TextB} an A.
    • 3. A berechnet
      Figure 00100013
      und verifiziert, dass dies gleich
      Figure 00100014
      ist. A berechnet einen Sitzungsschlüssel K =
      Figure 00100015
      =
      Figure 00100016
      .
    • 4. B berechnet
      Figure 00100017
      und verifiziert, dass dies gleich
      Figure 00100018
      ist. B berechnet den Sitzungsschlüssel K =
      Figure 00100019
      =
      Figure 00100020
      .
  • In diesen Protokollen kann (rA, sA) als Signatur von
    Figure 00100021
    sein, mit der Eigenschaft, dass nur A die Nachricht
    Figure 00100022
    signieren kann.
  • Key-Transport-Protokoll
  • Die oben beschriebenen Protokolle erlauben die Einrichtung und Authentisierung eines Sitzungsschlüssels K. Es ist auch wünschenswert, ein Protokoll einzurichten, bei dem es A er laubt ist, einen Sitzungsschlüssel K an die Partei B zu schicken. Ein solches Protokoll wird nachfolgend beispielhaft erläutert.
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet ein rA = αx und eine Signatur sA = x – rAa mod(p – 1). A berechnet den Sitzungsschlüssel K = (PB)x und sendet {rA, sA, TextA} an B.
    • 2. B berechnet
      Figure 00110001
      und verifiziert, dass diese Größe gleich rA ist. B berechnet den Sitzungsschlüssel K = (rA)b.
  • Modifiziertes Key-Transport-Protokoll
  • Das obige Protokoll kann modifiziert werden, um die Bandbreite zu reduzieren, indem die Notwendigkeit, die Signatur sA zu übertragen, vermieden wird, was folgendermaßen erfolgt:
    • 1. A wählt eine ganzzahlige Zufallszahl x, 1 ≤ x ≤ p – 2, aus und berechnet rA = αx und sA = x – rAa mod(p – 1). A berechnet K =
      Figure 00110002
      und sendet {rA, TextA} an B.
    • 2. B berechnet K =
      Figure 00110003
      =
      Figure 00110004
      .
  • Alle Key-Transport-Protokolle mit einem Durchlauf weisen das folgende Wiedergabeproblem auf. Es wird angenommen, dass ein Key-Transport-Protokoll mit einem Durchlauf dazu verwendet wird, einen Sitzungsschlüssel K wie auch irgendeinen Text, der mit dem Sitzungsschlüssel K verschlüsselt wurde, von A an B zu übertragen. Es wird auch angenommen, dass E die Übermittlung von A an B aufzeichnet. Wenn E zu einem späteren Zeitpunkt Zugang zu B's Entschlüsselungsmaschine (aber nicht auf den inneren Gehalt der Maschine, wie beispielsweise B's privaten Schlüssel) erhalten kann, dann kann E durch Wiedergeben der Übertragung an die Maschine den Originaltext wiederherstellen (in diesem Szenario erfährt E den Sitzungsschlüssel K nicht).
  • Diese Wiedergabeattacke kann mit gewöhnlichen Verfahren vereitelt werden, wie beispielsweise der Verwendung von Zeitstempeln. Es gibt aber einige praktische Situationen, wenn B begrenzte Rechenkapazitäten hat, bei denen es zu Beginn jeder Sitzung zweckmäßiger ist, dass B einen zufälligen Bitstring k an A übermittelt. Der Sitzungsschlüssel, der zum Verschlüsseln des Textes verwendet wird, ist dann k ⊕ K, d.h. k XOR'd mit K.
  • Die Signiergleichung sA = x – rAa, wobei im Protokoll 1 gilt: rA = αx, und die Key-Transport-Protokolle, wobei im Protokoll 2 rA = αxb gilt, können durch verschiedene Varianten ersetzt werden. Einige dieser Varianten sind: rA = sAx + z sA = xαa + arA sA = xrA + aαa 1 = arA + xsA
  • Alle zuvor erläuterten Protokolle wurden in Verbindung mit der multiplikativen Gruppe Z*p beschrieben. Sie können aber alle ohne weiteres modifiziert werden, so dass sie in irgendeiner finiten Gruppe arbeiten, in der das diskrete Logarithmusproblem hartnäckig erscheint. Eine geeignete Auswahl umfasst die multiplikative Gruppe einer Teilüberdeckung [finite filed] (insbesondere die Teilüberdeckung GR(2n), Untergruppen von Z*p der Ordnung q und die Gruppe der Punkte auf einer elliptischen Kurve, die über ein Galoisfeld [finite field] bestimmt sind. In jedem Fall wird ein geeigneter Generator α dazu eingesetzt, die öffentlichen Schlüssel zu definieren.
  • Die zuvor erläuterten Protokolle können auch in direkter Weise modifiziert werden, um die Situation im griff zu haben, wenn jeder Benutzer seines eigenen Systemparameter p und α auswählt (oder analoge Parameter, wenn anstatt Z*p eine andere Gruppe verwendet wird).
  • In den obigen Protokollen wurde eine Signaturkomponente der allgemeinen Form sA = x + r·a·αa verwendet.
  • Die Protokolle können modifiziert werden, um eine einfachere Signaturkomponente der allgemeinen Form sA = x + ra·a zu verwenden, ohne dass die Sicherheit gefährdet wird.
  • Nachfolgend werden Beispiele für solche Protokolle unter Verwendung der gleichen Notation beschrieben, obwohl es klar ist, dass die Protokolle in einer alternativen Notation ausgedrückt werden könnten, wenn dies bevorzugt würde.
  • Protokoll 1''
  • Dieses Protokoll wird unter Verwendung einer Implementierung in der multiplikativen Gruppe Z*p mit der folgenden Notation beschrieben:
    p ist eine Primzahl,
    α ist ein Generator von Z*p ,
    a und b sind die jeweiligen privaten Langzeitschlüssel der Parteien A und B,
    αa mod p ist der öffentliche Langzeitschlüssel der Partei A,
    αb mod p ist der öffentliche Langzeitschlüssel der Partei B,
    x ist eine ganzzahlige Zufallszahl, die von A als privater Kurzzeitschlüssel ausgewählt wird,
    ra = αx mod p ist der öffentliche Kurzzeitschlüssel der Partei A,
    y ist eine ganzzahlige Zufallszahl, die von B als privater Kurzzeitschlüssel ausgewählt wird,
    rb = αy mod p ist der öffentliche Kurzzeitschlüssel der Partei B,
    Figure 00130001
    ist ein ganzzahliger Wert, der von ra hergeleitet ist, und umfasst typischerweise die 80 niedrigwertigsten Bit von ra,
    Figure 00130002
    ist ein ganzzahliger Wert, der von rb abgeleitet ist, und umfasst typischerweise die 80 niedrigwertigsten Bit von rb.
  • Zur Implementierung des Protokolls wird folgendes Ausgeführt:
    • 1. A sendet ra an B.
    • 2. B sendet rB an A.
    • 3. A berechnet sA = x +
      Figure 00130003
      ·a mod(p – 1).
    • 4. A berechnet den Sitzungsschlüssel K, wobei K =
      Figure 00130004
      mod p.
    • 5. B berechnet sB = y +
      Figure 00130005
      ·b mod(p – 1).
    • 6. B berechnet den Sitzungsschlüssel K, wobei K =
      Figure 00140001
      mod p.
    • 7. Das gemeinsame Geheimnis ist
      Figure 00140002
      mod p.
  • In diesem Protokoll sind die Anforderungen an die Bandbreite wiederum dadurch reduziert, dass die Signaturkomponenten die Kurz- und Langzeitschlüssel der Korrespondenten kombinieren, um eine Attacke eines Lauschers zu verhindern.
  • Das obige Protokoll kann auch unter Verwendung einer Untergruppe von Z*p implementiert werden. In diesem Fall wird q ein Primzahldivisor von (p – 1) sein und g wird ein Element der Ordnung p in Z*p sein.
  • Die öffentlichen Schlüssel von A und B werden die Form ga bzw. gb haben und die Kurzzeitschlüssel ra, rb werden die Form gx, gy haben.
  • Die Signaturkomponenten sA, sB werden mit mod q und der Sitzungsschlüssel k wird mit mod q wie zuvor berechnet. Das gemeinsame Geheimnis ist dann
    Figure 00140003
    mod p.
  • Wie zuvor erwähnt, können die Protokolle in anderen Gruppen als der Z*p implementiert werden und eine besonders robuste Gruppe ist die Gruppe von Punkten auf einer elliptischen Kurfe über ein Galoisfeld. Ein Beispiel einer solchen Implementierung wird nachfolgend als Protokoll 1''' erläutert.
  • Protokoll 1'''
  • Es wird die folgende Notation verwendet:
    E ist eine elliptische Kufe, die über Fq definiert ist,
    P ist ein Punkt primer Ordnung n in E(Fq),
    da (1 < da < n – 1) ist der private Langzeitschlüssel der Partei A,
    db (1 < db < n – 1) ist der private Langzeitschlüssel der Partei B,
    Qa = daP ist der öffentliche Langzeitschlüssel der Partei A,
    Qb = dbP ist der öffentliche Langzeitschlüssel der Partei B,
    k(1 < k < n – 1) ist der private Kurzzeitschlüssel der Partei A,
    ra = kP ist der öffentliche Kurzzeitschlüssel der Partei A,
    m(1 < m < n – 1) ist der private Kurzzeitschlüssel der Partei B,
    rb = mP ist der öffentliche Kurzzeitschlüssel der Partei B,
    Figure 00150001
    und
    Figure 00150002
    sind jeweils Bitstrings, beispielsweise die 80 niedrigwertigsten Bit der x-Koordinate von ra und rb.
  • Zum Implementieren des Protokolls erfolgt Folgendes:
    • 1. A sendet ra an B.
    • 2. B sendet rb an A.
    • 3. A berechnet sA = (k +
      Figure 00150003
      ·da)mod n.
    • 4. A berechnet den Sitzungsschlüssel K, wobei K = sa(rb +
      Figure 00150004
      ).
    • 5. B berechnet sB = (m +
      Figure 00150005
      )mod n.
    • 6. B berechnet den Sitzungsschlüssel K, wobei K = sb(ra +
      Figure 00150006
      ).
    • 7. Das gemeinsame Geheimnis ist sasbP.
  • Es ist wiederum anzumerken, dass es nicht notwendig ist, die Signaturkomponenten sA, sB zwischen den Korrespondenten hin und her zu senden, jedoch sind die Kurz- und Langzeitschlüssel der Korrespondenten durch die Form der Komponenten kombiniert. (Um eine Verwirrung mit den Koordinaten (x, y) des Punktes auf der Kurve zu vermeiden, wird man es zu schätzen wissen, dass die Notation m für x, y in den vorherigen Beispielen ersetzt wurde).

Claims (27)

  1. Verfahren zum Authentisieren eines zwischen zwei Korrespondenten (10, 12) A, B in einem Datenkommunikationssystem mit öffentlichen Schlüsseln hergestellten Schlüssels (20) zum Ermöglichen des Austausches von Informationen (16, 18) zwischen diesen über einen Kommunikationskanal (14), wobei jeder der Korrespondenten (10, 12) einen jeweiligen privaten Schlüssel und einen von einem Generator und jeweiligen der privaten Schlüssel abgeleiteten öffentlichen Schlüssel besitzt, mit den folgenden Schritten: i) ein erster der Korrespondenten A (10) wählt eine erste zufällige ganze Zahl und erhebt eine den Generator enthaltende Funktion zu einer Potenz, um eine erste zur Potenz erhobene Funktion ra bereitzustellen; ii) der erste Korrespondent A (10) erzeugt eine erste Signatur sA aus der zufälligen ganzen Zahl und einer von der zur Potenz erhobenen Funktion ra abgeleiteten ganzen Zahl
    Figure 00160001
    ; iii) der erste Korrespondent A (10) leitet eine von der ersten zur Potenz erhobenen Funktion ra abgeleitete Nachricht zu einem zweiten Korrespondenten B weiter; iv) der zweite Korrespondent B (12) wählt eine zweite zufällige ganze Zahl und erhebt eine den Generator enthaltende Funktion zu einer Potenz, um eine zweite zur Potenz erhobene Funktion rb bereitzustellen, und erzeugt eine Signatur sB, die aus der zweiten zufälligen ganzen Zahl und einer von der zweiten zur Potenz erhobenen Funktion rb abgeleiteten ganzen Zahl
    Figure 00160002
    erhalten wird; v) der zweite Korrespondent B (12) leitet eine Nachricht zu dem ersten Korrespondenten A weiter, die von der zweiten zur Potenz erhobenen Funktion rb abgeleitet wird; vi) jeder der Korrespondenten (10, 12) konstruiert einen Sitzungsschlüssel K (20) durch Potenzieren von Informationen, die durch den anderen Korrespondenten veröffentlicht werden, mit seiner eigenen privaten Signatur.
  2. Verfahren nach Anspruch 1, wobei die von dem ersten Korrespondenten (10) weitergeleitete Nachricht eine Identifikation des ersten Korrespondenten enthält.
  3. Verfahren nach Anspruch 1 oder 2, wobei die von dem zweiten Korrespondenten (12) weitergeleitete Nachricht eine Identifikation des zweiten Korrespondenten (12) enthält.
  4. Verfahren nach Anspruch 1, 2 oder 3, wobei die erste Funktion, die den Generator enthält, der Generator selbst ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zweite Funktion, die den Generator enthält, der Generator selbst ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die erste Funktion, die den Generator enthält, den öffentlichen Schlüssel des zweiten Korrespondenten (12) enthält.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zweite Funktion, die den Generator enthält, den öffentlichen Schlüssel des ersten Korrespondenten (10) enthält.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die von einem jeweiligen der Korrespondenten (10, 12) erzeugte Signatur die zufällige ganze Zahl, die potenzierte Funktion und den privaten Schlüssel dieses einen Korrespondenten (10, 12) kombiniert.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die von einem anderen Korrespondenten (10, 12) veröffentlichten Informationen den öffentlichen Schlüssel, die potenzierte Funktion und die ganze Zahl dieses einen Korrespondenten (10, 12) kombinieren.
  10. Verfahren nach Anspruch 9, wobei der öffentliche Schlüssel und die potenzierte Funktion multipliziert werden und der resultierende Wert mit der ganzen Zahl potenziert wird.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Generator ein Element α einer multiplikativen Gruppe Z*p ist, wobei p eine Primzahl ist.
  12. Verfahren nach Anspruch 11, wobei das gemeinsame Geheimnis
    Figure 00180001
    ist.
  13. Verfahren nach Anspruch 11 oder 12, wobei die erste Signatur aus der ersten zufälligen ganzen Zahl x, der ganzen Zahl
    Figure 00180002
    und dem privaten Schlüssel a des ersten Korrespondenten A gemäß sA = x +
    Figure 00180003
    mod(p – 1) berechnet wird.
  14. Verfahren nach Anspruch 11, 12 oder 13, wobei die zweite Signatur sb aus der zweiten zufälligen ganzen Zahl y, der ganzen Zahl
    Figure 00180004
    und dem privaten Schlüssel b des zweiten Korrespondenten gemäß sB = y +
    Figure 00180005
    mod(p – 1) berechnet wird.
  15. Verfahren nach Anspruch 11, 12, 13 oder 14, wobei das gemeinsame Geheimnis durch den ersten Korrespondenten aus dem öffentlichen Schlüssel αy, der potenzierten Funktion αb und der ganzen Zahl
    Figure 00180006
    des zweiten Korrespondenten B gemäß K =
    Figure 00180007
    mod p berechnet wird.
  16. Verfahren nach Anspruch 11, 12, 13, 14 oder 15, wobei das gemeinsame Geheimnis durch den zweiten Korrespondenten aus dem öffentlichen Schlüssel αx, der potenzierten Funktion αa und der ganzen Zahl
    Figure 00180008
    des ersten Korrespondenten A gemäß K =
    Figure 00180009
    mod p berechnet wird.
  17. Verfahren nach einem der Ansprüche 11 bis 16, wobei das Element α ein Generator von Z*p ist.
  18. Verfahren nach einem der Ansprüche 11 bis 16, wobei das Element α ein Generator g einer Untergruppe von Z*p der Ordnung q ist, wobei q ein Primdivisor von p – 1 ist.
  19. Verfahren nach einem der Ansprüche 1 bis 10, wobei der Generator α ein Punkt P der Ordnung n auf einer über einem Galoisfeld Fq definierten elliptischen Kurve ist, Potenzierung wird durch Skalarmultiplikation auf der elliptischen Kurve durchgeführt.
  20. Verfahren nach Anspruch 19, wobei die ganzen Zahlen Bitketten von Koordinaten der potenzierten Funktionen sind.
  21. Verfahren nach Anspruch 20, wobei die Bitketten niedrigstwertige Bit der x-Koordinaten der potenzierten Funktionen sind.
  22. Verfahren nach Anspruch 21, wobei die Bitketten die 80 niedrigstwertigen Bit der x-Koordinaten der potenzierten Funktionen sind.
  23. Verfahren nach einem der Ansprüche 19 bis 22, wobei die erste Signatur aus der ersten zufälligen ganzen Zahl k, der ganzen Zahl
    Figure 00190001
    und dem privaten Schlüssel da des ersten Korrespondenten A gemäß sA =
    Figure 00190002
    mod n berechnet wird.
  24. Verfahren nach einem der Ansprüche 19 bis 23, wobei die zweite Signatur aus der zweiten zufälligen ganzen Zahl m, der ganzen Zahl
    Figure 00190003
    und dem privaten Schlüssel db des zweiten Korrespondenten B gemäß sB =
    Figure 00190004
    mod n berechnet wird.
  25. Verfahren nach einem der Ansprüche 19 bis 24, wobei der erste Korrespondent (10) den Sitzungsschlüssel aus der ersten Signatur sA, der zweiten potenzierten Funktion rb, der ganzen Zahl
    Figure 00190005
    und dem öffentlichen Schlüssel Qb des zweiten Korrespondenten B gemäß K = sa
    Figure 00190006
    berechnet.
  26. Verfahren nach einem der Ansprüche 19 bis 25, wobei der zweite Korrespondent (12) den Sitzungsschlüssel aus der zweiten Signatur sB, der ersten potenzierten Funktion ra, der ganzen Zahl
    Figure 00190007
    und dem öffentlichen Schlüssel Qa des ersten Korrespondenten A gemäß K = Sb
    Figure 00190008
    berechnet.
  27. Verfahren nach einem der Ansprüche 19 bis 26, wobei der Punkt P eine prime Ordnung aufweist.
DE69636815T 1995-04-21 1996-10-18 Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften Expired - Lifetime DE69636815T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42671295A 1995-04-21 1995-04-21
US08/442,833 US5761305A (en) 1995-04-21 1995-05-17 Key agreement and transport protocol with implicit signatures
PCT/US1996/016608 WO1998018234A1 (en) 1995-04-21 1996-10-18 Key agreement and transport protocol with implicit signatures

Publications (2)

Publication Number Publication Date
DE69636815D1 DE69636815D1 (de) 2007-02-15
DE69636815T2 true DE69636815T2 (de) 2007-11-08

Family

ID=27027154

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69636815T Expired - Lifetime DE69636815T2 (de) 1995-04-21 1996-10-18 Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften

Country Status (7)

Country Link
US (1) US5761305A (de)
EP (1) EP0873617B1 (de)
JP (1) JP4384728B2 (de)
AU (1) AU1405797A (de)
CA (1) CA2237688C (de)
DE (1) DE69636815T2 (de)
WO (1) WO1998018234A1 (de)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033565A1 (en) * 1995-04-21 1996-10-24 Certicom Corp. Method for signature and session key generation
US6487661B2 (en) 1995-04-21 2002-11-26 Certicom Corp. Key agreement and transport protocol
US7243232B2 (en) 1995-04-21 2007-07-10 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
CA2176972C (en) * 1995-05-17 2008-11-25 Scott A. Vanstone Key agreement and transport protocol with implicit signatures
GB9510035D0 (en) * 1995-05-18 1995-08-02 Cryptech Systems Inc Strengthened public key protocols
KR0146437B1 (ko) * 1995-05-26 1998-09-15 조백제 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법
US5978482A (en) * 1995-08-21 1999-11-02 International Business Machines Corporation Method and system for protection of digital information
US7567669B2 (en) 1996-05-17 2009-07-28 Certicom Corp. Strengthened public key protocol
US5796830A (en) * 1996-07-29 1998-08-18 International Business Machines Corporation Interoperable cryptographic key recovery system
US6292896B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
US5915021A (en) * 1997-02-07 1999-06-22 Nokia Mobile Phones Limited Method for secure communications in a telecommunications system
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
IL121876A0 (en) * 1997-09-30 1998-02-20 Aliroo Ltd Electronic publishing
US6424712B2 (en) * 1997-10-17 2002-07-23 Certicom Corp. Accelerated signature verification on an elliptic curve
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
EP1082836B1 (de) * 1998-03-18 2005-11-23 Kent Ridge Digital Labs Verfahren zum austausch digitaler daten
US6212279B1 (en) 1998-06-26 2001-04-03 The United States Of America As Represented By The United States National Security Agency Method of elliptic curve cryptographic key exchange using reduced base tau expansion in non-adjacent form
US6243467B1 (en) 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
US6697488B1 (en) * 1998-08-26 2004-02-24 International Business Machines Corporation Practical non-malleable public-key cryptosystem
US7111173B1 (en) 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
FI115372B (fi) 1998-09-18 2005-04-15 Nokia Corp Menetelmä matkaviestimen tunnistamiseksi, viestintäjärjestelmä ja matkaviestin
US7215773B1 (en) 1998-10-14 2007-05-08 Certicom.Corp. Key validation scheme
US6684330B1 (en) 1998-10-16 2004-01-27 Tecsec, Inc. Cryptographic information and flow control
WO2000054455A1 (en) * 1999-03-11 2000-09-14 Tecsec, Incorporated Voice and data encryption method using a cryptographic key split combiner
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US7707420B1 (en) 1999-06-23 2010-04-27 Research In Motion Limited Public key encryption with digital signature scheme
CA2277633C (en) 1999-07-19 2009-10-20 Certicom Corp. Split-key key-agreement protocol
US7260716B1 (en) 1999-09-29 2007-08-21 Cisco Technology, Inc. Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach
US7434046B1 (en) 1999-09-10 2008-10-07 Cisco Technology, Inc. Method and apparatus providing secure multicast group communication
US6684331B1 (en) 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US6987855B1 (en) * 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
US7103185B1 (en) 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US7181014B1 (en) 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US6708049B1 (en) * 1999-09-28 2004-03-16 Nellcor Puritan Bennett Incorporated Sensor with signature of data relating to sensor
US6442696B1 (en) 1999-10-05 2002-08-27 Authoriszor, Inc. System and method for extensible positive client identification
US7089211B1 (en) * 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
US6941457B1 (en) 2000-06-30 2005-09-06 Cisco Technology, Inc. Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key
US20040199475A1 (en) * 2001-04-27 2004-10-07 Rivest Ronald L. Method and system for micropayment transactions
DE10137152A1 (de) * 2001-07-30 2003-02-27 Scm Microsystems Gmbh Verfahren zur Übertragung vertraulicher Daten
US7334125B1 (en) 2001-11-27 2008-02-19 Cisco Technology, Inc. Facilitating secure communications among multicast nodes in a telecommunications network
US7127063B2 (en) * 2001-12-31 2006-10-24 Certicom Corp. Method and apparatus for computing a shared secret key
CA2375898A1 (en) * 2002-03-11 2003-09-11 Karthika Technologies Inc. Authentication protocols for networked storage devices
US7073068B2 (en) * 2002-05-24 2006-07-04 Lucent Technologies Inc. Method and apparatus for distributing shares of a password for use in multi-server password authentication
US7024559B1 (en) 2002-06-28 2006-04-04 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using expansion in joint sparse form
US7062043B1 (en) 2002-06-28 2006-06-13 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using coefficient splitting
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
US7885411B2 (en) 2004-04-02 2011-02-08 Research In Motion Limited Key agreement and re-keying over a bidirectional communication path
US20060004896A1 (en) * 2004-06-16 2006-01-05 International Business Machines Corporation Managing unwanted/unsolicited e-mail protection using sender identity
AU2004324546B2 (en) * 2004-10-29 2009-12-24 Thomson Licensing Secure authenticated channel
US8467535B2 (en) * 2005-01-18 2013-06-18 Certicom Corp. Accelerated verification of digital signatures and public keys
ATE533103T1 (de) 2005-01-18 2011-11-15 Certicom Corp Beschleunigte verifikation digitaler signaturen und öffentlicher schlüssel
US7747865B2 (en) * 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
US8443191B2 (en) * 2007-04-09 2013-05-14 Objective Interface Systems, Inc. System and method for accessing information resources using cryptographic authorization permits
US8681129B2 (en) * 2007-11-12 2014-03-25 Hewlett-Packard Development Company, L.P. Associating auxiliary data with digital ink
EP2562956B1 (de) 2007-12-13 2017-09-27 Certicom Corp. System und Verfahren zur Steuerung von Merkmalen an einer Vorrichtung
WO2010057312A1 (en) 2008-11-24 2010-05-27 Certicom Corp. System and method for hardware based security
WO2010069063A1 (en) 2008-12-16 2010-06-24 Certicom Corp. Acceleration of key agreement protocols
US8504836B2 (en) * 2008-12-29 2013-08-06 Motorola Mobility Llc Secure and efficient domain key distribution for device registration
US9148423B2 (en) 2008-12-29 2015-09-29 Google Technology Holdings LLC Personal identification number (PIN) generation between two devices in a network
US9538355B2 (en) 2008-12-29 2017-01-03 Google Technology Holdings LLC Method of targeted discovery of devices in a network
CN101499908B (zh) * 2009-03-20 2011-06-22 四川长虹电器股份有限公司 一种身份认证及共享密钥产生方法
US8904172B2 (en) 2009-06-17 2014-12-02 Motorola Mobility Llc Communicating a device descriptor between two devices when registering onto a network
JP5449214B2 (ja) * 2011-01-19 2014-03-19 日本電信電話株式会社 情報共有方法、情報共有システム、情報共有装置、及びプログラム
JP5238045B2 (ja) * 2011-02-02 2013-07-17 トムソン ライセンシング セキュア認証チャネル
US9209980B2 (en) 2011-06-21 2015-12-08 Blackberry Limited Provisioning a shared secret to a portable electronic device and to a service entity
US8745376B2 (en) 2011-10-14 2014-06-03 Certicom Corp. Verifying implicit certificates and digital signatures
US20140215211A1 (en) * 2013-01-25 2014-07-31 Dw Associates, Llc Split data exchange protocol
US10397206B2 (en) * 2016-01-26 2019-08-27 Red Hat, Inc. Symmetric encryption key generation/distribution
CN115641131A (zh) 2016-02-23 2023-01-24 区块链控股有限公司 在区块链上安全转移实体的方法和系统
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
CN117611331A (zh) 2016-02-23 2024-02-27 区块链控股有限公司 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统
JP6925346B2 (ja) 2016-02-23 2021-08-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンベースのトークナイゼーションを用いた交換
ES2680851T3 (es) 2016-02-23 2018-09-11 nChain Holdings Limited Registro y método de gestión automática para contratos inteligentes ejecutados por cadena de bloques
WO2017145004A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
BR112018016821A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd sistema e métodos implementados por computador
JP6833861B2 (ja) 2016-02-23 2021-02-24 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンシステム内におけるフィードバックを統合したエージェントベースチューリング完全なトランザクション
EA201891829A1 (ru) * 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Способ и система для эффективного перевода криптовалюты, связанной с заработной платой, в блокчейне для создания способа и системы автоматизированной выплаты заработной платы на основе смарт-контрактов
AU2017222421B2 (en) 2016-02-23 2022-09-01 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
GB2561729A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
SG10202007904SA (en) 2016-02-23 2020-10-29 Nchain Holdings Ltd A method and system for securing computer software using a distributed hash table and a blockchain
AU2018228890B2 (en) 2017-03-01 2020-08-06 Apple Inc. System access using a mobile device
WO2018216749A1 (ja) * 2017-05-25 2018-11-29 Necネットワーク・センサ株式会社 暗号通信方法、情報処理装置及びプログラム
US11431477B2 (en) 2018-05-14 2022-08-30 nChain Holdings Limited Computer-implemented systems and methods for using a blockchain to perform an atomic swap
GB201815396D0 (en) 2018-09-21 2018-11-07 Nchain Holdings Ltd Computer implemented system and method
GB201909960D0 (en) 2019-07-11 2019-08-28 Nchain Holdings Ltd Computer-implemented system and method
CN113242122B (zh) * 2021-04-15 2022-11-25 哈尔滨工业大学 一种基于dh和rsa加密算法的加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
DE3915262A1 (de) * 1988-05-18 1989-11-30 Asea Brown Boveri Verfahren zur erzeugung von authentifizierten geheimschluesseln
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
DE69327238T2 (de) * 1993-08-17 2000-09-07 Entrust Technologies ( Switzerland) Ltd. Liab. Co., Glattzentrum Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft

Also Published As

Publication number Publication date
US5761305A (en) 1998-06-02
WO1998018234A1 (en) 1998-04-30
EP0873617B1 (de) 2007-01-03
CA2237688C (en) 2007-07-24
AU1405797A (en) 1998-05-15
DE69636815D1 (de) 2007-02-15
EP0873617A1 (de) 1998-10-28
CA2237688A1 (en) 1998-04-30
JP2000502553A (ja) 2000-02-29
JP4384728B2 (ja) 2009-12-16

Similar Documents

Publication Publication Date Title
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE69633590T2 (de) Verfahren zur Unterschrift und zur Sitzungsschlüsselerzeugung
DE69630331T2 (de) Verfahren zur gesicherten Sitzungsschlüsselerzeugung und zur Authentifizierung
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE60001630T2 (de) Sichere gegenseitige Netzwerkauthenifizierung und Schlüselaustauschprotokoll
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE68919923T2 (de) Verfahren und Vorrichtung zur Authentifizierung.
DE602004004029T2 (de) Verfahren zur Verteilung von Konferenzschlüsseln, gemäss einem identitätsbasierten Verschlüsselungssystem
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE69311581T2 (de) Verfahren und system zur authentifizierten sicheren schlüsselverteilung in einem kommunikationssystem
DE69520714T2 (de) Verfahren und Vorrichtung zum sicheren elektronischen Abstimmen
US6785813B1 (en) Key agreement and transport protocol with implicit signatures
DE60031304T3 (de) Verfahren zur authentifizierung von softwarebenutzern
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
WO1996032791A1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer benutzercomputereinheit u und einer netzcomputereinheit n
DE69431426T2 (de) System und Verfahren zur Nachrichtenauthentisierung in einem nicht-schmiedbaren Kryptosystem mit öffentlichen Schlüssel
CH694603A5 (de) Identifizierungsverfahren.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
EP1423786A2 (de) Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation
CH711134A2 (de) Schlüsselzustimmungsprotokoll.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, 80336 MUENCHE