CH708239A2 - Schlüsseleinigungsprotokoll. - Google Patents

Schlüsseleinigungsprotokoll. Download PDF

Info

Publication number
CH708239A2
CH708239A2 CH00973/14A CH9732014A CH708239A2 CH 708239 A2 CH708239 A2 CH 708239A2 CH 00973/14 A CH00973/14 A CH 00973/14A CH 9732014 A CH9732014 A CH 9732014A CH 708239 A2 CH708239 A2 CH 708239A2
Authority
CH
Switzerland
Prior art keywords
key
protocol
value
public
entity
Prior art date
Application number
CH00973/14A
Other languages
English (en)
Other versions
CH708239B1 (de
Inventor
Scott A Vanstone
Adrian Antipa
Original Assignee
Infosec Global 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 Infosec Global Inc filed Critical Infosec Global Inc
Publication of CH708239A2 publication Critical patent/CH708239A2/de
Publication of CH708239B1 publication Critical patent/CH708239B1/de

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/0847Key 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 identity based encryption [IBE] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Computing Systems (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Schlüsseleinigungsprotokoll, ein kryptografisches Kommunikationssystem und ein kryptografisches Korrespondentengerät, welche das erfindungsgemässe Protokoll umsetzen. Das Protokoll generiert einen privaten Sitzungsschlüssel und einen kryptografischen öffentlichen Sitzungsschlüssel. Mit Hilfe dieser Schlüssel wird ein geheimer bzw. ephemerer Wert berechnet, welche zu einer geteilten geheimen Information zusammengesetzt werden. Das erfindungsgemässe Kommunikationssystem umfasst eine Vielzahl von Geräten wie Computer (12a), Server (12b), Mobiltelefon (12c), ATM (12d) und Chipkarte (12e). Diese verfügen über Kommunikationsverbindungen (14), um das erfindungsgemässe Protokoll umzusetzen.

Description

TECHNISCHES GEBIET
[0001] Die vorliegende Erfindung betrifft Datenkommunikationssysteme und Protokolle, die in derartigen Systemen verwendet werden.
ALLGEMEINER STAND DER TECHNIK
[0002] Datenkommunikationssysteme werden verwendet, um Informationen zwischen Geräten auszutauschen. Die auszutauschenden Informationen umfassen Daten, die als Folgen von digitalen Bits organisiert sind, die formatiert sind, um für andere Geräte erkennbar zu sein und die Verarbeitung und/oder Wiederherstellung der Informationen zu erlauben.
[0003] Der Informationsaustausch kann über ein öffentlich zugängliches Netzwerk erfolgen, wie etwa über eine Kommunikationsverbindung zwischen zwei Geräten, über ein dediziertes Netzwerk innerhalb eines Betriebs oder kann zwischen zwei Geräten innerhalb der gleichen dedizierten Komponente erfolgen, wie etwa innerhalb eines Computers oder eines Verkaufsstellengeräts.
[0004] Die Geräte können von relativ grossen Computersystemen bis zu Telekommunikationsgeräten, Mobiltelefonen, Überwachungsgeräten, Sensoren, elektronischen Geldbörsen und Chipkarten und zahlreichen Geräten, die verbunden sind, um Daten zwischen zwei oder mehreren derartigen Geräten zu übertragen, reichen.
[0005] Es wurde eine grosse Anzahl von Kommunikationsprotokollen entwickelt, um den Austausch von Daten zwischen verschiedenen Geräten zu ermöglichen. Die Kommunikationsprotokolle ermöglichen den Austausch von Daten auf robuste Art und Weise, häufig mit einer Funktion der Fehlerkorrektur und Fehlerermittlung, und das die Daten dem beabsichtigten Empfänger zugeleitet und zur weiteren Verwendung wiederhergestellt werden.
[0006] Da die Daten für andere Geräte zugänglich sein können, sind sie für Abfangen und Beobachtung oder Manipulation anfällig. Die Empfindlichkeit der Informationen erfordert, dass Massnahmen getroffen werden, um die Informationen zu sichern und ihre Integrität sicherzustellen.
[0007] Eine gewisse Anzahl von Techniken, die insgesamt als Verschlüsselungsprotokolle und Authentifizierungsprotokolle bezeichnet werden, wurden entwickelt, um die notwendigen Attribute bereitzustellen und die Sicherheit und/oder Integrität beim Austausch von Informationen sicherzustellen. Diese Techniken verwenden einen Schlüssel, der mit den Daten kombiniert wird.
[0008] Es gibt zwei Hauptarten von Kryptosystemen, welche die Protokolle umsetzen, nämlich Kryptosysteme mit symmetrischem Schlüssel und Kryptosysteme mit asymmetrischem oder öffentlichen Schlüssel. Bei einem Kryptosystem mit symmetrischem Schlüssel teilen die Geräte, die Informationen austauschen, einen gemeinsamen Schlüssel, der nur den Geräten bekannt ist, die dazu gedacht sind, die Informationen zu teilen. Systeme mit symmetrischem Schlüssel bieten den Vorteil, dass sie relativ schnell sind und demnach in der Lage sind, auch mit begrenzter Rechenleistung grosse Datenmengen in relativ kurzer Zeit zu verarbeiten. Die Schlüssel müssen jedoch auf gesicherte Art und Weise an die verschiedenen Geräte ausgeteilt werden, was zu erhöhtem Aufwand und grösserer Anfälligkeit führt, wenn der Schlüssel fragwürdig ist.
[0009] Kryptosysteme mit asymmetrischem oder öffentlichem Schlüssel verwenden ein mit jedem Gerät verknüpftes Paar Schlüssel, von denen einer öffentlich und der andere privat ist. Der öffentliche Schlüssel und der private Schlüssel stehen durch ein «schwieriges» mathematisches Problem in Zusammenhang, so dass selbst wenn der öffentliche Schlüssel und das zugrundeliegende Problem bekannt sind, der private Schlüssel nicht in einem machbaren Zeitraum wiederhergestellt werden kann. Ein derartiges Problem ist die Faktorisierung des Produkts zweier grosser Primzahlen, wie sie bei RSA-Kryptosystemen verwendet wird. Ein anderes ist das diskrete Logarithmusproblem in einer endlichen Gruppe. Ein Generator, α, der zugrundeliegenden Gruppe wird als Systemparameter identifiziert, und eine zufällige Ganzzahl, k, wird zur Verwendung als privater Schlüssel generiert. Um einen öffentlichen Schlüssel, K, zu erzielen, wird eine k-fache Gruppenoperation ausgeführt, so dass K = f (α, k).
[0010] Es können verschiedene Gruppen in Kryptosystemen mit diskretem Logarithmus verwendet werden, wozu die multiplikative Gruppe eines endlichen Felds, die Gruppe von Ganzzahlen in einer endlichen zyklischen Gruppe p. Ordnung, die gewöhnlich mit Zp* bezeichnet wird und aus den Ganzzahlen 0 bis p-1 besteht, gehören. Die Gruppenoperation ist eine Multiplikation, so dass K = f (α<k>).
[0011] Eine andere Gruppe, die zur besseren Sicherheit verwendet wird, ist eine elliptische Kurvengruppe. Die elliptische Kurvengruppe besteht aus Paaren von Elementen, von denen eines mit x und das andere mit y bezeichnet wird, in einem Feld, das die Gleichung der gewählten elliptischen Kurve erfüllt. Für eine elliptische Kurvengruppe p. Ordnung würde die elliptische Kurve im Allgemeinen durch die Beziehung y<2>mod p = x<3>+ ax + b mod p definiert. Andere Kurven werden für verschiedene Gruppen verwendet, wie es wohlbekannt ist. Jedes derartige Elementepaar ist ein Punkt auf der Kurve, und ein Generator der Gruppe wird als Punkt P bezeichnet. Die Gruppenoperation ist eine Addition, so dass ein privater Schlüssel k einen entsprechenden öffentlichen Schlüssel f (kP) aufweist.
[0012] Kryptosysteme mit öffentlichem Schlüssel reduzieren die Infrastruktur, die bei einem Kryptosystem mit symmetrischem Schlüssel notwendig ist. Ein Gerät kann eine Ganzzahl k generieren und kann den entsprechenden öffentlichen Schlüssel kP generieren. Der öffentliche Schlüssel wird veröffentlicht, so dass er anderen Geräten zur Verfügung steht. Das Gerät kann dann ein geeignetes Signaturprotokoll verwenden, um eine Nachricht unter Verwendung des privaten Schlüssels k zu signieren, und andere Geräte können die Integrität der Nachricht unter Verwendung des öffentlichen Schlüssels kP bestätigen.
[0013] Ähnlich kann ein Gerät eine Nachricht, die an ein anderes Gerät gesendet werden soll, unter Verwendung des öffentlichen Schlüssels des anderen Gerätes verschlüsseln. Die Nachricht kann dann von dem anderen Gerät unter Verwendung des privaten Schlüssels wiederhergestellt werden. Diese Protokolle sind jedoch rechenintensiv und demnach im Vergleich mit den Protokollen von symmetrischen Kryptosystemen relativ langsam.
[0014] Kryptosysteme mit öffentlichem Schlüssel können ebenfalls verwendet werden, um einen Schlüssel zu erstellen, den sich zwei Geräte teilen. In seiner einfachsten Form, wie sie von Diffie-Hellman vorgeschlagen wird, sendet jedes Gerät einen öffentlichen Schlüssel an das andere Gerät. Die beiden Geräte kombinieren dann die empfangenen öffentlichen Schlüssel mit ihrem privaten Schlüssel, um einen geteilten Schlüssel zu erzielen.
[0015] Ein Gerät, das gewöhnlich als Entität (oder Korrespondent) bezeichnet wird, Alice, generiert einen privaten Schlüssel kaund sendet einem anderen Gerät bzw. einer anderen Entität, Bob, den öffentlichen Schlüssel kaP.
[0016] Bob generiert einen privaten Schlüssel kbund sendet Alice den öffentlichen Schlüssel kbP.
[0017] Alice berechnet ka• kbP und Bob berechnet kb • kaP, so dass sie einen gemeinsamen Schlüssel K = kakbp = kbkaP teilen. Der geteilte Schlüssel kann dann in einem symmetrischen Schlüsselprotokoll verwendet werden. Weder Alice noch Bob kann den gegenseitigen privaten Schlüssel wiederherstellen, und Dritte können den geteilten Schlüssel nicht nachvollziehen.
[0018] Um die Integrität des geteilten Schlüssels sicherzustellen, und um Angriffe abzuweisen, die entwickelt wurden, um den geteilten Schlüssel und/oder die privaten Schlüssel innerhalb des geteilten Schlüssels wiederherzustellen oder zu ersetzen, wurden Protokolle zum Erstellen von Schlüsseln entwickelt.
[0019] Die Erstellung von Schlüsseln ist der Prozess, durch den zwei (oder mehrere) Entitäten einen geteilten geheimen Schlüssel erstellen. Der Schlüssel wird anschliessend verwendet, um ein kryptografisches Ziel zu erreichen, wie etwa die Vertraulichkeit oder die Datenintegrität.
[0020] Im weitesten Sinne gibt es zwei Arten von Protokollen zum Erstellen von Schlüsseln: Schlüsseltransportprotokolle, bei denen ein Schlüssel von einer Entität angelegt wird und gesichert an die zweite Entität übertragen wird, und Schlüsseleinigungsprotokolle, bei denen beide Parteien Informationen beisteuern, die zusammen den geteilten geheimen Schlüssel erstellen. Die vorliegende Anmeldung betrifft Schlüsseleinigungsprotokolle für Kryptosysteme mit asymmetrischem (öffentlichem) Schlüssel.
[0021] Wenn Alice und Bob zwei rechtschaffene Entitäten, d.h. legitime Entitäten, sind, welche die Schritte eines Protokolls richtig ausführen, dann kann man informell von einem Schlüsseleinigungsprotokoll sagen, dass es eine implizite Schlüsselauthentifizierung (von Bob an Alice) bereitstellt, wenn sich die Entität Alice sicher ist, dass keine andere Entität ausser einer spezifisch identifizierten zweiten Identität Bob möglicherweise den Wert eines bestimmten geheimen Schlüssels erfahren kann. Der Besitz der impliziten Schlüsselauthentifizierung bedeutet nicht unbedingt, dass sich Alice sicher ist, dass Bob tatsächlich den Schlüssel besitzt, sondern dass sie sich sicher ist, dass niemand ausser Bob den Schlüssel besitzt. Ein Schlüsseleinigungsprotokoll, das eine implizite Schlüsselauthentifizierung für die beiden teilnehmenden Entitäten bereitstellt, wird als authentifiziertes Schlüsseleinigungs- (AK) Protokoll bezeichnet.
[0022] Informell wird von einem Schlüsseleinigungsprotokoll gesagt, dass es eine Schlüsselbestätigung (von Bob an Alice) bereitstellt, falls sich die Entität A sicher ist, dass die zweite Entität Bob tatsächlich im Besitz eines bestimmten geheimen Schlüssels ist. Falls sowohl die implizite Schlüsselauthentifizierung als auch die Schlüsselbestätigung (von Bob an Alice) bereitgestellt werden, dann wird von dem Schlüsselerstellungsprotokoll gesagt, dass es eine explizite Schlüsselauthentifizierung (von Bob an Alice) bereitstellt. Ein Schlüsseleinigungsprotokoll, das eine explizite Schlüsselauthentifizierung für die beiden teilnehmenden Entitäten bereitstellt, wird als Protokoll mit authentifizierter Schlüsseleinigung mit Schlüsselbestätigung (AKC) bezeichnet. Eine ausführliche Abhandlung der Erstellung von Schlüsseln wird in Kapitel 12 aus «Handbook of Applied Cryptography» von Menezes, van Oorshot und Vanstone, dessen Inhalt hiermit zur Bezugnahme übernommen wird, bereitgestellt.
[0023] Bei der Trennung der Schlüsselbestätigung von der impliziten Schlüsselauthentifizierung ist äusserste Vorsicht geboten. Falls ein AK-Protokoll, das keine Schlüsselbestätigung bietet, verwendet wird, dann ist es wünschenswert, wie es in dem Artikel von 1997 von S. Blake-Wilson, D. Johnson und A. Menezes unter dem Titel «Key agreement protocols and their security analysis» angeführt wird, dass der vereinbarte Schlüssel vor der kryptografischen Verwendung bestätigt wird. Das kann auf verschiedene Weisen erreicht werden. Falls der Schlüssel beispielsweise anschliessend verwendet werden soll, um Vertraulichkeit zu erreichen, dann kann die Verschlüsselung mit dem Schlüssel mit einigen (sorgfältig ausgewählten) bekannten Daten beginnen. Andere Systeme können eine Schlüsselbestätigung während eines «Echtzeit-» Telefongesprächs bereitstellen. Das Trennen der Schlüsselbestätigung von der impliziten Schlüssel-authentifizierung ist manchmal wünschenswert, weil es eine gewisse Flexibilität bei der bestimmten Umsetzung erlaubt, die gewählt wird, um die Schlüsselbestätigung zu erreichen, und somit die Arbeitslast der Schlüsselbestätigung von dem Erstellungsmechanismus auf die Anwendung überträgt.
[0024] Zahlreiche auf Diffie-Helman basierende AK- und AKC-Protokolle wurden in den letzten Jahren vorgeschlagen; bei vielen hat sich jedoch später herausgestellt, dass sie Sicherheitsfehler aufweisen. Die Hauptprobleme bestanden darin, dass entsprechende Bedrohungsmodelle und die Ziele von gesicherten AK- und AKC-Protokollen keine formelle Definition hatten. Blake-Wilson, Johnson und Menezes, die frühere Arbeiten von Bellare und Rogaway in der symmetrischen Umgebung anpassten, stellten ein formelles Modell für verteiltes Rechnen und rigorose Definitionen der Ziele der gesicherten AK- und AKC-Protokolle innerhalb dieses Modells bereit. Es wurden konkrete AK- und AKC-Protokolle vorgeschlagen und innerhalb dieses Rahmens in dem zufallsmässigen Vorhersagemodell als gesichert nachgewiesen.
[0025] Man geht davon aus, dass ein gesichertes Protokoll in der Lage sein sollte, sowohl passiven Angriffen (bei denen ein Gegner versucht zu verhindern, dass ein Protokoll seine Ziele erreicht, indem er einfach rechtschaffene Entitäten beobachtet, die das Protokoll ausführen) als auch aktiven Angriffen (bei denen ein Gegner zusätzlich die Kommunikationen durch Einschalten, Löschen, Ändern oder Wiederholen von Nachrichten untergräbt) zu widerstehen.
[0026] Zusätzlich zu der impliziten Schlüssel-authentifizierung und Schlüsselbestätigung wurde eine gewisse Anzahl von wünschenswerten Sicherheitsattributen von AK- und AKC-Protokollen identifiziert: <tb>1.<SEP>Sicherheit bekannter Schlüssel. Jeder Durchgang eines Schlüsseleinigungsprotokolls zwischen A und B muss einen einzigartigen geheimen Schlüssel erzeugen; solche Schlüssel werden Sitzungsschlüssel genannt. Ein Protokoll muss gegenüber einem Gegner, der einige andere Sitzungsschlüssel erfahren hat, weiterhin sein Ziel erreichen. <tb>2.<SEP>(Perfekte) Vorwärtsgeheimhaltung. Falls langfristige Schlüssel einer oder mehrerer Entitäten in Frage gestellt werden, ist die Geheimhaltung vorhergehender Sitzungsschlüssel, die von rechtschaffenen Entitäten erstellt wurden, nicht beeinträchtigt. <tb>3.<SEP>Schlüssel kompromittierende Nachahmung. Nehmen wir an, dass der langfristige Schlüssel von A aufgedeckt wurde. Offensichtlich kann ein Gegner, der diesen Wert kennt, nun A nachahmen, da genau dieser Wert A identifiziert. Es kann jedoch wünschenswert sein, dass es dieser Verlust einem Gegner nicht ermöglicht, andere Entitäten gegenüber A nachzuahmen. <tb>4.<SEP>Teilen unbekannter Schlüssel. Die Entität A kann nicht dazu gezwungen werden, ohne Wissen von A einen Schlüssel mit der Entität B zu teilen, d.h. wenn A glaubt, dass der Schlüssel mit einer Entität C ≠ B geteilt wird, und B (richtigerweise) glaubt, dass der Schlüssel mit A geteilt wird. <tb>5.<SEP>Schlüsselkontrolle. Keine der Entitäten darf in der Lage sein, den Sitzungsschlüssel zwangsweise auf einen vorgewählten Wert zu setzen.
[0027] Wünschenswerte Leistungsattribute von AK- und AKC-Protokollen umfassen eine Mindestanzahl von Durchgängen (die Anzahl von Nachrichten, die in einem Durchgang des Protokolls ausgetauscht werden), geringen Kommunikationsaufwand (gesamte Anzahl übertragener Bits) und geringen Rechenaufwand. Andere Attribute, die unter gewissen Umständen wünschenswert sein können, umfassen Rollensymmetrie (die Nachrichten, die zwischen den Entitäten übertragen werden, haben die gleiche Struktur), Nicht-Interaktivität (die Nachrichten, die zwischen den beiden Entitäten übertragen werden, sind unabhängig voneinander) und das Nicht-Beruhen auf Verschlüsselung, Hash-Funktionen (da diese bekanntlich schwer zu gestalten sind) und Zeitstempeln (da es schwierig ist, dies gesichert in die Praxis umzusetzen).
[0028] Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Schlüsseleinigungsprotokoll bereitzustellen, bei dem die obigen Nachteile vermieden oder gemindert werden und bei dem das Erreichen der gewünschten Attribute erleichtert wird.
KURZDARSTELLUNG
[0029] Nach einem Aspekt wird ein Schlüsseleinigungsprotokoll, das zwischen einem Paar Entitäten ausgeführt wird, die über ein Datenkommunikationssystem kommunizieren, bereitgestellt, wobei mit jeder der Entitäten ein langfristiger privater Schlüssel, ein kryptografischer entsprechender langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines Generatorpunkts generiert wird, und eine Identität verknüpft sind, wobei das Protokoll die folgenden Schritte umfasst: Generieren für jede Entität eines jeweiligen privaten Sitzungsschlüssels und eines kryptografischen entsprechenden öffentlichen Sitzungsschlüssels; Weitergeben an die andere Entität des öffentlichen Sitzungsschlüssels jeder Entität; Erzielen an jeder Entität der Kennung der beiden Entitäten; Generieren eines gemeinsamen Wertes, umfassend das Kombinieren an jeder Entität des öffentlichen Sitzungsschlüssels der Entität, des öffentlichen Sitzungsschlüssels der anderen Entität und die Identitäten jeder Entität; Generieren für jede Entität eines jeweiligen geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel der Entität und dem langfristigen privaten Schlüssel; Berechnen an jeder Entität eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels der anderen Entität, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels der anderen Entität; und Generieren an jeder Entität einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert der Entität.
[0030] Nach einem anderen Aspekt wird ein kryptografisches Kommunikationssystem bereitgestellt, wobei das System ein Paar kryptografische Korrespondenten umfasst, die konfiguriert sind, um das Schlüsseleinigungsprotokoll nach einem der Ansprüche 1 bis 9 umzusetzen.
[0031] Nach einem weiteren Aspekt wird ein kryptografisches Korrespondentengerät bereitgestellt, wobei das Gerät einen Prozessor und einen Speicher umfasst, wobei in dem Speicher ein langfristiger privater Schlüssel gespeichert ist, wobei mit dem Gerät ferner ein kryptografischer entsprechender langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines Generatorpunktes generiert wird, und eine Identität verknüpft sind, wobei in dem Speicher ferner Computeranweisungen gespeichert sind, die, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Schlüsseleinigungsprotokoll umsetzt, das folgende Schritte umfasst: Generieren eines privaten Sitzungsschlüssels und eines kryptografischen entsprechenden öffentlichen Sitzungsschlüssels; Weitergeben über ein Datenkommunikationssystem an ein anderes kryptografisches Korrespondentengerät des öffentlichen Sitzungsschlüssels; Erzielen von dem anderen kryptografischen Korrespondentengerät des öffentlichen Sitzungsschlüssels desselben; Erzielen der Kennung der beiden Korrespondenten; Generieren eines gemeinsamen Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des Korrespondenten, des öffentlichen Sitzungsschlüssels des anderen Korrespondenten und der Identitäten jedes Korrespondenten; Generieren eines geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel des Korrespondenten; Berechnen eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des anderen Korrespondenten, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels des anderen Korrespondenten; und Generieren einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert des Korrespondenten.
[0032] Im Allgemeinen kombiniert das Protokoll die öffentlichen Sitzungsschlüssel jeder Entität und die Identitäten jeder Entität, um einen gemeinsamen Wert zu erzielen, der die beiden Entitäten bindet. Dieser wird von jeder Entität verwendet, um einen jeweiligen geheimen Wert zu generieren, indem der gemeinsame Wert und sowohl der private Sitzungsschlüssel als auch der langfristige private Schlüssel der Entität kombiniert werden. Der geheime Wert wird als ephemerer privater Schlüssel verwendet. Die andere Entität berechnet einen ephemeren öffentlichen Schlüssel, der dem geheimen Wert der einen Entität unter Verwendung des gemeinsamen Wertes entspricht. Jede Entität kann dann eine geteilte geheime Information aus ihrem ephemeren privaten Schlüssel und dem ephemeren öffentlichen Schlüssel der anderen Entität generieren.
[0033] Bevorzugt wird die geteilte geheime Information als Eingabe in eine Schlüsselableitungsfunktion verwendet, um einen geteilten Schlüssel zu erzielen.
[0034] Bevorzugt wird auch das Protokoll in einem Kryptosystem mit elliptischen Kurven umgesetzt, und die Kombination der öffentlichen Schlüssel wird durch Punkteaddition ausgeführt.
[0035] Weiter bevorzugt wird die Identität der Entitäten aus einem kryptografischen Zertifikat erzielt, das von einem vertrauenswürdigen Dritten ausgestellt wird.
[0036] Dadurch dass die Entitäten wie zuvor beschrieben gebunden sind, generiert jeder Durchgang einen neuen geheimen Wert, und mit der richtigen Auswahl der Parameter, die sich auf normale kryptografische Praktiken beziehen, werden die wünschenswerten Attribute erreicht.
BESCHREIBUNG DER ZEICHNUNGEN
[0037] Eine Ausführungsform der vorliegenden Erfindung wird nun rein beispielhaft mit Bezug auf die beiliegenden Zeichnungen beschrieben. Es zeigen:
[0038] Fig. 1 eine schematische Darstellung eines Datenkommunikationssystems;
[0039] Fig. 2 eine Darstellung eines Geräts, das in dem Datenkommunikationssystem aus Fig. 1 verwendet wird; und
[0040] Fig. 3 ein Ablaufschema, welches das Protokoll zeigt, das zwischen einem Gerätepaar, das in Fig. 1 gezeigt ist, umgesetzt wird.
AUSFÜHRLICHE BESCHREIBUNG
[0041] Wie nachstehend beschrieben, wird ein effizientes AK-Protokoll mit zwei Durchgängen vorgeschlagen, das auf der Schlüsseleinigung nach Diffie-Hellman basiert und viele der wünschenswerten Sicherheits- und Leistungsattribute aufweist, die in dem Artikel von 1997 von S. Blake-Wilson, D. Johnson und A. Menezes unter dem Titel «Key agreement protocols and their security analysis» besprochen werden.
[0042] Das nachstehend beschriebene Protokoll wurde im Rahmen der Gruppe von Punkten auf einer elliptischen Kurve beschrieben, die über ein endliches Feld definiert ist. Es kann jedoch ohne Weiteres geändert werden, um in einer beliebigen endlichen Gruppe zu funktionieren, in der das Problem des diskreten Logarithmus unlösbar erscheint. Geeignete Möglichkeiten umfassen die multiplikative Gruppe eines endlichen Feldes, Untergruppen von Z*n, wobei n eine zusammengesetzte Ganzzahl ist, und nicht triviale Untergruppen von Z*pder primen Ordnung q. Elliptische Kurvengruppen sind deshalb von Vorteil, weil sie eine gleichwertige Sicherheit bieten wie die anderen Gruppen, jedoch mit kleineren Schlüsselgrössen und schnelleren Rechenzeiten.
[0043] Daher umfasst mit Bezug auf Fig. 1 ein Datenkommunikationssystem 10 eine Vielzahl von Geräten 12, die durch Kommunikationsverbindungen 14 zusammengeschaltet sind. Die Geräte 12 können von beliebiger bekannter Art sein, wozu ein Computer 12a, ein Server 12b, ein Mobiltelefon 12c, ein ATM 12d und eine Chipkarte 12e gehören. Die Kommunikationsverbindungen 14 können herkömmliche Festtelefonleitungen, drahtlose Verbindungen, die zwischen den Geräten 12 umgesetzt werden, Nahfeld-Kommunikationsverbindungen, wie etwa Bluetooth, oder eine andere herkömmliche Kommunikationsform sein.
[0044] Die Geräte 12 unterscheiden sich gemäss ihrem beabsichtigten Zweck, umfassen aber typischerweise ein Kommunikationsmodul 20 (Fig. 2 ) zur Kommunikation mit den Verbindungen 14. Ein Speicher 22 stellt ein Speichermedium für nicht vorübergehende Anweisungen bereit, um Protokolle umzusetzen und je nach Bedarf Daten zu speichern. Die Anweisungen werden von einem kryptografischen Prozessor (30) ausgeführt. Ein gesichertes Speichermodul 24, das Teil des Speichers 22 oder ein getrenntes Modul sein kann, wird verwendet, um private Informationen zu speichern, wie etwa die privaten Schlüssel, die bei den Verschlüsselungsprotokollen verwendet werden, und um einer Manipulation an diesen Daten standzuhalten. Eine arithmetische Logikeinheit (ALU) 26 wird bereitgestellt, um die Anweisungen der arithmetischen Operationen durch den Speicher 22 unter Verwendung von Daten, die in den Speichern 22, 24 gespeichert sind, auszuführen. Ein Generator 28 von Zufalls- oder Pseudozufallszahlen ist ebenfalls enthalten, um Bitfolgen zu generieren, die Zufallszahlen auf kryptografisch gesicherte Art und Weise darstellen.
[0045] Es versteht sich, dass das in Fig. 2 abgebildete Gerät 12 sehr schematisch ist und ein herkömmliches Gerät darstellt, das in einem Datenkommunikationssystem verwendet wird.
[0046] Der Speicher 22 speichert umzusetzende Systemparameter für das Kryptosystem und einen Satz von computerlesbaren Anweisungen, um das benötigte Protokoll umzusetzen. Für den Fall eines Kryptosystems mit elliptischen Kurven bestehen die Domänenparameter der elliptischen Kurven aus sechs Grössen q, a, b, P, n und h, nämlich aus: <tb>•<SEP>der Feldgrösse q <tb>•<SEP>den elliptischen Kurvenkoeffizienten a und b <tb>•<SEP>dem Basispunktgenerator P <tb>•<SEP>der n. Ordnung des Basispunktgenerators <tb>•<SEP>dem Kofaktor h, der eine derartige Zahl ist, dass hn die Anzahl von Punkten auf der elliptischen Kurve ist.
[0047] Die Parameter werden als Bitfolgen dargestellt, und die Darstellung des Basispunktes G wird als Bitfolgenpaar dargestellt, die jeweils ein Element des zugrundeliegenden Feldes darstellen. Wie gewohnt kann eine dieser Folgen gekürzt werden, da man die vollständige Darstellung aus der anderen Koordinate und der gekürzten Darstellung wiederherstellen kann.
[0048] Das gesicherte Speichermodul 24 enthält eine Bitfolge, die einen langfristigen privaten Schlüssel d und den entsprechenden öffentlichen Schlüssel Q darstellt. Für ein Kryptosystem mit elliptischen Kurven ist der Schlüssel Q = dP.
[0049] Der gesicherte Speicher 24 umfasst auch eine Kennung ID des Geräts 12. Praktischerweise handelt es sich dabei um ein Zertifikat, das von einer vertrauenswürdigen Instanz ausgestellt wird, um eine Fremdüberprüfung der Identität zu ermöglichen. Eine praktische Zertifikatform ist ein ECQV-Zertifikat, wie es in der Norm SEC 4 dargelegt wird.
[0050] Ephemere Werte, die von der ALU berechnet werden, können ebenfalls in dem gesicherten Modul 24 gespeichert werden, falls ihr Wert geheim bleiben soll.
[0051] Das Schlüsseleinigungsprotokoll wird in Fig. 3 gezeigt, wie es zwischen einem Paar von Geräten ausgeführt wird, die als Entität Alice und Entität Bob bezeichnet werden. Die Werte, die mit Alice verknüpft sind, werden mit der Endung A bezeichnet und die von Bob mit der Endung B. Alice verfügt über einen langfristigen privaten Schlüssel dAund einen entsprechenden öffentlichen Schlüssel QA, die in dem gesicherten Speichermodul 24 gespeichert sind. Ähnlich verfügt Bob über einen privaten Schlüssel dBund einen entsprechenden öffentlichen Schlüssel QB, die in seinem gesicherten Speichermodul 24 gespeichert sind.
[0052] Die Entitäten Alice und Bob wollen einen gemeinsamen Schlüssel teilen und setzen daher über die Anweisungen, die in dem Speicher 22 gespeichert sind, das in Fig. 3 gezeigte Protokoll um.
[0053] In Block 100 generiert Alice eine zufällige Ganzzahl unter Verwendung des RNG 28 und speichert den ganzzahligen Wert als privaten Sitzungsschlüssel in dem gesicherten Modul 24. Die ALU 26 von Alice berechnet in Block 102 einen entsprechenden öffentlichen Sitzungsschlüssel aP, den sie über eine Kommunikationsverbindung 16 an Bob sendet. Der öffentliche Sitzungsschlüssel aP ist eine Darstellung eines Punktes auf der Kurve und verfügt über ein Paar Bitfolgen, die jeweils ein Element in dem zugrundeliegenden Feld darstellen. Bei einigen Umsetzungen der Berechnungen, die von der ALU 26 ausgeführt werden, ist es nur notwendig, die X-Koordinate des Punktes zu verwenden, wobei die Y-Koordinate dann nicht notwendig ist. Die X-Koordinate ist in dieser Situation für den öffentlichen Schlüssel aP repräsentativ. Die Y-Koordinate kann bei Bedarf aus der X-Koordinate wiederhergestellt werden. Punktkompressionstechniken, bei denen eine Angabe des Wertes der Y-Koordinate mit der X-Koordinate gesendet wird, können gegebenenfalls ebenfalls verwendet werden, um die Bandbreite bei der Übertragung zu reduzieren.
[0054] Ähnlich generiert Bob in Block 200 mit seinem RNG 28 eine zufällige Ganzzahl, die er in seinem gesicherten Modul 24 als privaten Sitzungsschlüssel b speichert. Ein entsprechender öffentlicher Sitzungsschlüssel bP wird in Block 202 berechnet und über eine Kommunikationsverbindung 16 an Alice gesendet.
[0055] Sowohl Alice als auch Bob führen unter Verwendung der ALU 26 eine Punktaddition aus, um γ = bP+aP zu berechnen, wie bei 104, 204 gezeigt. Dies wird wiederum zu einem weiteren Punkt, γ, auf der Kurve und ist somit als Elementepaar dargestellt. Bei einigen Ausführungsformen ist es möglich, nur die X-Koordinate der Summe der öffentlichen Schlüssel bei der Berechnung von γ zu verwenden.
[0056] Bei weiteren Ausführungsformen, bei denen das Protokoll in einem Kryptosystem mit hyperelliptischen Kurven umgesetzt ist, wird die Kombination der öffentlichen Schlüssel durch Punktaddition in der Jacobi-Matrix der hyperelliptischen Kurve umgesetzt.
[0057] Sowohl Alice als auch Bob erzielen Kopien der gegenseitigen Identität ID (106, 206). Dies kann vor der Umsetzung des Protokolls erfolgen, oder das Zertifikat kann mit dem öffentlichen Sitzungsschlüssel gesendet werden. Das Zertifikat kann bei Bedarf vom Empfänger überprüft werden.
[0058] In Block 108, 208, berechnen Alice und Bob jeweils einen gemeinsamen Wert c = H(γ//IDA//IDB), wobei H eine kryptografisch gesicherte Hash-Funktion ist, wie etwa eine SHA2-Hash-Funktion. Der Wert c wird in dem Speicher 22 gespeichert. Der gemeinsame Wert c bindet Alice und Bob. Durch das Verketten der Identitäten ID ist es notwendig, die Reihenfolge zu bestimmen, in der die Folge, die c darstellt, zusammengesetzt wird. Als Alternative können die Identitäten daher durch eine Operation XOR der ID kombiniert werden und dadurch ermöglichen, dass die Folge zusammengesetzt wird, ohne sich um ihre Reihenfolge zu kümmern. Soweit bevorzugt, kann γ ähnlich eine XOR-Operation mit den ID erfahren.
[0059] Alice berechnet in Block 110a die Komponente sA= a+cdA(mod n), welche die langfristigen und kurzfristigen privaten Schlüssel verwendet, die in dem gesicherten Modul 24 gespeichert sind.
[0060] Ähnlich berechnet Bob in Block 210 sB= b+cdB(mod n).
[0061] Aus öffentlichen Informationen, zu denen der öffentliche Sitzungsschlüssel bP gehört, der von Bob empfangen wird, kann Alice sBP = bP+cQBberechnen, wie in 112 gezeigt.
[0062] Ähnlich kann Bob sAP = aP+cQA(212) berechnen.
[0063] Alice und Bob verfügen jeweils über eine Komponente, die aus privaten Informationen und den gemeinsamen Wert berechnet wird, und eine Komponente, die aus öffentlichen Informationen berechnet wird. Diese können kombiniert werden, um eine geteilte geheime Information bereitzustellen.
[0064] Daher können in Block 114, 214, Alice und Bob beide den Wert K = hsAsBP als die geteilte geheime Information berechnen.
[0065] Alice hat sBP aus öffentlichen Informationen berechnet und hat den Wert sAgespeichert.
[0066] Ähnlich hat Bob sAP berechnet und hat den Wert sBgespeichert.
[0067] Eine andere Option, um die geteilte geheime Information zu berechnen, besteht darin, dass Alice K = sA• sBP berechnet, und dass Bob K = sB• sAP berechnet, wobei der Kofaktor h ignoriert wird. Dies ist nützlich, wenn der Wert von h klein ist, z.B. 1, oder bei Widerstand gegen den kleinen Gruppenangriff.
[0068] Das zuvor beschriebene Protokoll erstellt somit eine geteilte geheime Information K zwischen zwei Entitäten. Eine Schlüsselableitungsfunktion muss dann verwendet werden, um einen geheimen Schlüssel aus der geteilten geheimen Information abzuleiten. Dies ist notwendig, weil die geteilte geheime Information K ein schwaches Bit aufweisen kann - Bits mit Informationen über K, die zu nicht unbeachtlichem Vorteil vorhergesagt werden können.
[0069] Eine Möglichkeit, einen Schlüssel aus der geteilten geheimen Information K abzuleiten, besteht darin, eine Einweg-Hash-Funktion, wie etwa SHA-1, auf K anzuwenden. Alternativ können andere Schlüsselableitungsfunktionen verwendet werden, wie es ausführlicher im Kapitel XX aus «Handbook of Applied Cryptography» beschrieben wird, dessen Inhalt hiermit zur Bezugnahme übernommen wird.
[0070] Zusammenfassend kann das Schlüsseleinigungsprotokoll unter Verwendung des folgenden Algorithmus umgesetzt werden: <tb>1.<SEP>Alice erzielt eine authentische Kopie des langfristigen öffentlichen Schlüssels QBvon Bob. <tb>2.<SEP>Alice generiert eine zufällige Ganzzahl, um einen privaten Sitzungsschlüssel a (0<a<n) bereitzustellen. <tb>3.<SEP>Alice berechnet aP und sendet dies an Bob. <tb>4.<SEP>Bob erzielt eine authentische Kopie des öffentlichen Schlüssels QAvon Alice. <tb>5.<SEP>Bob generiert eine zufällige Ganzzahl b, (0<b<n). <tb>6.<SEP>Bob berechnet bP und sendet dies an Alice. <tb>7.<SEP>Alice berechnet sA= a+cdA(mod n), wobei c = H (γ//IDA//IDB). (Anmerkung: IDAund IDBkönnen jeweils die öffentlichen Schlüssel von Alice und Bob enthalten). <tb>8.<SEP>Alice berechnet sBP = bP+cQB. (Anmerkung: Bob hat Alice bP gesendet, und sie hat eine authentische Kopie von QBerzielt). <tb>9.<SEP>Bob berechnet sB= b+cdB(mod n). <tb>10.<SEP>Bob berechnet aus den öffentlichen Informationen sAP = aP+cQA. <tb>11.<SEP>Sowohl Alice als auch Bob können nun K = h • sA• sBP als geteilte geheime Information berechnen, wobei h der Kofaktor ist. <tb>12.<SEP>Die geteilte geheime Information kann bei Bedarf als Eingabe für eine Schlüsselableitungsfunktion verwendet werden.
[0071] Eine andere Option zum Berechnen der geteilten geheimen Information besteht darin, dass Alice K = sA• sBP berechnet und Bob K = sB• sAP berechnet, wobei der Kofaktor h ignoriert wird. Dies ist nützlich, wenn der Wert von h gering ist, z.B. 1, oder bei Widerstand gegen den kleinen Untergruppenangriff.

Claims (21)

1. Ein Schlüsseleinigungsprotokoll, das zwischen einem Paar Entitäten ausgeführt wird, die über ein Datenkommunikationssystem kommunizieren, wobei mit jeder der Entitäten ein langfristiger privater Schlüssel, ein kryptografischer entsprechender langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines Generatorpunkts generiert wird, und eine Identität verknüpft sind, wobei das Protokoll folgende Schritte umfasst: <tb>–<SEP>Generieren für jede Entität eines jeweiligen privaten Sitzungsschlüssels und eines kryptografischen entsprechenden öffentlichen Sitzungsschlüssels; <tb>–<SEP>Weitergeben an die andere Entität des öffentlichen Sitzungsschlüssels jeder Entität; <tb>–<SEP>Erzielen an jeder Entität der Kennung der beiden Entitäten; <tb>–<SEP>Generieren eines gemeinsamen Wertes, umfassend das Kombinieren an jeder Entität des öffentlichen Sitzungsschlüssels der Entität, des öffentlichen Sitzungsschlüssels der anderen Entität und der Identitäten jeder Entität; <tb>–<SEP>Generieren für jede Entität eines jeweiligen geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel der Entität; <tb>–<SEP>Berechnen an jeder Entität eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels der anderen Entität, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels der anderen Entität; und <tb>–<SEP>Generieren an jeder Entität einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert der Entität.
2. Protokoll nach Anspruch 1, wobei die geteilte geheime Information als Eingabe in eine Schlüsselableitungsfunktion verwendet wird, um einen geteilten Schlüssel zu erzielen.
3. Protokoll nach Anspruch 1 oder 2, wobei das Generieren eines gemeinsamen Wertes das Anwenden einer XOR-Operation auf die Identitäten jeder Entität umfasst.
4. Protokoll nach einem der Ansprüche 1 bis 3, wobei das Protokoll in einem Kryptosystem mit elliptischen Kurven umgesetzt wird, und die Kombination der öffentlichen Sitzungsschlüssel durch Punktaddition ausgeführt wird.
5. Protokoll nach einem der Ansprüche 1 bis 4, wobei das Protokoll in einem Kryptosystem mit elliptischen Kurven umgesetzt wird, und das Generieren des gemeinsamen Wertes das Erzielen einer X-Koordinate der Summe der öffentlichen Schlüssel umfasst.
6. Protokoll nach einem der Ansprüche 1 bis 4, wobei das Protokoll in einem Kryptosystem mit hyperelliptischen Kurven umgesetzt wird, und die Kombination der öffentlichen Schlüssel durch Punktaddition in der Jacobi-Matrix der hyperelliptischen Kurve ausgeführt wird.
7. Protokoll nach einem der Ansprüche 1 bis 6, wobei das Generieren des öffentlichen Sitzungsschlüssels eine skalare Multiplikation des privaten Sitzungsschlüssels und des Generatorpunktes umfasst.
8. Protokoll nach einem der Ansprüche 1 bis 7, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation des geheimen Wertes und des ephemeren Wertes ist.
9. Protokoll nach einem der Ansprüche 1 bis 7, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation des Kofaktors, des geheimen Wertes und des ephemeren Wertes ist.
10. Protokoll nach einem der Ansprüche 1 bis 9, wobei die Identität der Entitäten aus einem kryptografischen Zertifikat erzielt wird, das von einem vertrauenswürdigen Dritten ausgestellt wird.
11. Kryptografisches Kommunikationssystem, umfassend ein Paar kryptografische Korrespondenten, die konfiguriert sind, um das Schlüsseleinigungsprotokoll nach einem der Ansprüche 1 bis 10 umzusetzen.
12. Kryptografisches Korrespondentengerät, umfassend einen Prozessor und einen Speicher, wobei in dem Speicher ein langfristiger privater Schlüssel gespeichert ist, wobei mit dem Gerät ferner ein kryptografischer entsprechender langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines Generatorpunkts generiert wird, und eine Identität verknüpft sind, wobei in dem Speicher ferner Computeranweisungen gespeichert sind, die, wenn sie von dem Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Schlüsseleinigungsprotokoll umsetzt, das folgende Schritte umfasst: <tb>–<SEP>Generieren eines privaten Sitzungsschlüssels und eines kryptografischen entsprechenden öffentlichen Sitzungsschlüssels; <tb>–<SEP>Weitergeben des öffentlichen Sitzungsschlüssels über ein Datenkommunikationssystem an ein anderes kryptografisches Korrespondentengerät; <tb>–<SEP>Erzielen von dem anderen kryptografischen Korrespondentengerät des öffentlichen Sitzungsschlüssels desselben; <tb>–<SEP>Erzielen der Kennung der beiden Korrespondenten; <tb>–<SEP>Generieren eines gemeinsamen Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des Korrespondenten, des öffentlichen Sitzungsschlüssel des anderen Korrespondenten und der Identitäten jedes Korrespondenten; <tb>–<SEP>Generieren eines geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel des Korrespondenten; <tb>–<SEP>Berechnen eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des anderen Korrespondenten, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels des anderen Korrespondenten; und <tb>–<SEP>Generieren einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert des Korrespondenten.
13. Protokoll nach Anspruch 12, wobei die geteilte geheime Information als Eingabe in eine Schlüsselableitungsfunktion verwendet wird, um einen geteilten Schlüssel zu erzielen.
14. Protokoll nach Anspruch 12 oder 13, wobei das Generieren eines gemeinsamen Wertes das Anwenden einer XOR-Operation auf die Identitäten jedes Korrespondenten umfasst.
15. Protokoll nach einem der Ansprüche 12 bis 14, wobei das Protokoll in einem Kryptosystem mit elliptischen Kurven umgesetzt wird, und die Kombination der öffentlichen Sitzungsschlüssel durch Punktaddition ausgeführt wird.
16. Protokoll nach einem der Ansprüche 12 bis 15, wobei das Protokoll in einem Kryptosystem mit elliptischen Kurven umgesetzt wird, und das Generieren des gemeinsamen Wertes das Erzielen einer X-Koordinate der Summe des öffentlichen Schlüssels umfasst.
17. Protokoll nach einem der Ansprüche 12 bis 15, wobei das Protokoll in einem Kryptosystem mit hyperelliptischen Kurven umgesetzt wird, und die Kombination des öffentlichen Schlüssels durch Punktaddition in der Jacobi-Matrix der hyperelliptischen Kurve ausgeführt wird.
18. Protokoll nach einem der Ansprüche 12 bis 17, wobei das Generieren des öffentlichen Sitzungsschlüssels eine skalare Multiplikation des privaten Sitzungsschlüssels und des Generatorpunktes umfasst.
19. Protokoll nach einem der Ansprüche 12 bis 18, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation des geheimen Wertes und des ephemeren Wertes ist.
20. Protokoll nach einem der Ansprüche 12 bis 18, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation des Kofaktors, des geheimen Wertes und des ephemeren Wertes ist.
21. Protokoll nach einem der Ansprüche 12 bis 20, wobei die Identität des Korrespondenten aus einem kryptografischen Zertifikat erzielt wird, das von einem vertrauenswürdigen Dritten ausgestellt wird.
CH00973/14A 2013-06-27 2014-06-26 Schlüsseleinigungsprotokoll. CH708239B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361839961P 2013-06-27 2013-06-27

Publications (2)

Publication Number Publication Date
CH708239A2 true CH708239A2 (de) 2014-12-31
CH708239B1 CH708239B1 (de) 2019-02-28

Family

ID=52105792

Family Applications (1)

Application Number Title Priority Date Filing Date
CH00973/14A CH708239B1 (de) 2013-06-27 2014-06-26 Schlüsseleinigungsprotokoll.

Country Status (5)

Country Link
US (1) US9571274B2 (de)
CA (1) CA2855099C (de)
CH (1) CH708239B1 (de)
SA (1) SA114350627B1 (de)
WO (1) WO2014205570A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013108713B8 (de) * 2013-08-12 2016-10-13 WebID Solutions GmbH Verfahren zum Verifizieren der ldentität eines Nutzers
US9178699B2 (en) * 2013-11-06 2015-11-03 Blackberry Limited Public key encryption algorithms for hard lock file encryption
WO2016187690A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Key agreement protocol
CN105306212B (zh) * 2015-08-31 2019-09-10 上海扈民区块链科技有限公司 一种身份隐藏且强安全的签密方法
WO2017130200A1 (en) * 2016-01-27 2017-08-03 Secret Double Octopus Ltd System and method for securing a communication channel
US11170094B2 (en) 2016-01-27 2021-11-09 Secret Double Octopus Ltd. System and method for securing a communication channel
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US10348502B2 (en) 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device
US10341102B2 (en) 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
FR3085815B1 (fr) * 2018-07-11 2022-07-15 Ledger Gouvernance de securite du traitement d'une requete numerique
CN109687969B (zh) * 2018-12-03 2021-10-15 上海扈民区块链科技有限公司 一种基于密钥共识的格基数字签名方法
JP7377487B2 (ja) * 2019-07-17 2023-11-10 日本電信電話株式会社 鍵交換システム、通信装置、鍵交換方法及びプログラム
US10630476B1 (en) * 2019-10-03 2020-04-21 ISARA Corporation Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
US10880278B1 (en) 2019-10-03 2020-12-29 ISARA Corporation Broadcasting in supersingular isogeny-based cryptosystems
US11405191B2 (en) * 2020-05-13 2022-08-02 Apple Inc. Guaranteed encryptor authenticity
CN112511554B (zh) * 2020-12-15 2021-12-17 中国电子科技集团公司第三十研究所 一种网络安全协议的符号建模***
CN114513758B (zh) * 2022-02-10 2023-06-20 深圳指芯物联技术有限公司 基于密钥交换的自动绑定前后锁方法、***及智能门锁

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US20080077976A1 (en) * 2006-09-27 2008-03-27 Rockwell Automation Technologies, Inc. Cryptographic authentication protocol
SG174833A1 (en) * 2006-11-15 2011-10-28 Certicom Corp Implicit certificate verification
EP2395698B1 (de) 2010-06-11 2014-08-13 Certicom Corp. Generierung von impliziten Zertifikaten im Kontext von schwachen Zufallszahlgeneratoren

Also Published As

Publication number Publication date
US9571274B2 (en) 2017-02-14
CA2855099C (en) 2016-05-17
SA114350627B1 (ar) 2016-08-04
WO2014205570A1 (en) 2014-12-31
US20150003615A1 (en) 2015-01-01
CA2855099A1 (en) 2014-12-27
CH708239B1 (de) 2019-02-28

Similar Documents

Publication Publication Date Title
CH708239A2 (de) Schlüsseleinigungsprotokoll.
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
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
JP2020515087A5 (de)
DE112012001828B4 (de) Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
LU93024B1 (de) Verfahren und Anordnung zum Aufbauen einer sicheren Kommunikation zwischen einer ersten Netzwerkeinrichtung (Initiator) und einer zweiten Netzwerkeinrichtung (Responder)
CH711133A2 (de) Protokoll zur Signaturerzeugung.
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
Fujioka et al. Supersingular isogeny Diffie–Hellman authenticated key exchange
EP3304800A1 (de) Verfahren zur bereitstellung eines räumlichen puzzles
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
Gupta et al. Cryptanalysis of Wang et al.’s lattice-based key exchange protocol
CN114760023A (zh) 基于联邦学习的模型训练方法、装置及存储介质
DE10061697A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln
JP4305049B2 (ja) 秘密分散方法、秘密分散システム、及び分散演算装置
WO2016187690A1 (en) Key agreement protocol
Raya et al. Diffie-hellman instantiations in pre-and post-quantum world: A review paper
Al-Adhami et al. A 256 bit implementation of ECC-RFID based system using Shamir secret sharing scheme and Keccak hash function
EP1286494B1 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Gruppenschlüsselpaares
DE10159690C2 (de) Verfahren zur Vereinbarung eines symmetrischen Schlüssels über einen unsicheren Kanal und zur digitalen Signatur
DE202023105042U1 (de) Ein erweitertes Proxy-Neuverschlüsselungssystem zur Gewährleistung effizienter Sicherheit in Fog- und IoT-Netzwerken
Wang et al. Towards Efficient and Secure Verifiable Aggregation for Federated Learning

Legal Events

Date Code Title Description
PCAR Change of the address of the representative

Free format text: NEW ADDRESS: HOLEESTRASSE 87, 4054 BASEL (CH)

NV New agent

Representative=s name: ISLER AND PEDRAZZINI AG, CH