CH708239B1 - Schlüsseleinigungsprotokoll. - Google Patents

Schlüsseleinigungsprotokoll. Download PDF

Info

Publication number
CH708239B1
CH708239B1 CH00973/14A CH9732014A CH708239B1 CH 708239 B1 CH708239 B1 CH 708239B1 CH 00973/14 A CH00973/14 A CH 00973/14A CH 9732014 A CH9732014 A CH 9732014A CH 708239 B1 CH708239 B1 CH 708239B1
Authority
CH
Switzerland
Prior art keywords
key
entity
value
public
cryptographic
Prior art date
Application number
CH00973/14A
Other languages
English (en)
Other versions
CH708239A2 (de
Inventor
A Vanstone Scott
Antipa Adrian
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 Erfindung betrifft ein Verfahren zur Ausführung eines Protokolls zur Einigung auf einen Schlüssel, das zwischen einem Paar Entitäten ausgeführt wird, die über ein Datenkommunikationssystem kommunizieren, ein Datenkommunikationssystem mit einem Paar kryptografischer Korrespondentengeräte, die konfiguriert sind, um das Verfahren umzusetzen, sowie ein kryptografisches Korrespondentengerät. Beim erfindungsgemässen Verfahren wird von jeder Entität ein privater Sitzungsschlüssel (100, 200) und ein kryptografischer öffentlicher Sitzungsschlüssel (102, 202) generiert. Der öffentliche Sitzungsschlüssel (102, 202) wird von einer Entität an die jeweils andere Entität weitergegeben. Durch Kombinieren der öffentlichen Sitzungsschlüssel und der Identitäten der Entitäten wird ein gemeinsamer Wert generiert (104, 204). Dieser gemeinsame Wert wird mit dem privaten Sitzungsschlüssel und einem langfristigen privaten Sitzungsschlüssel der jeweiligen Entität kombiniert und so für jede Entität ein geheimer Wert generiert (108, 208). Das Berechnen eines ephemeren Wertes (112, 212) an jeder Entität umfasst das Kombinieren des öffentlichen Sitzungsschlüssels und eines langfristigen öffentlichen Schlüssels der anderen Entität sowie des gemeinsamen Wertes. Aus dem ephemeren Wert und dem geheimen Wert wird an jeder Entität eine geteilte geheime Information (114, 214) generiert, um einen geteilten Schlüssel zu erzielen.

Description

Beschreibung
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 Authentifizierungsproto-kolle 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 öffentlichem 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, sodass, 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, a, 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, sodass K = f(a, 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, sodass K = f(ak).
[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 y2 mod p = x3 + 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, sodass 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, sodass 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 ka und sendet einem anderen Gerät bzw. einer anderen Entität, Bob, den öffentlichen Schlüssel kaP.
[0016] Bob generiert einen privaten Schlüssel kb und sendet Alice den öffentlichen Schlüssel kbP.
[0017] Alice berechnet ka · kbP und Bob berechnet kb · kaP, sodass 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 Alice 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 über die 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-»Telefon-gesprächs bereitstellen. Das Trennen der Schlüsselbestätigung von der impliziten Schlüsselauthentifizierung 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üsselauthentifizierung und Schlüsselbestätigung wurde eine gewisse Anzahl von wünschenswerten Sicherheitsattributen von AK- und AKC-Protokollen identifiziert: 1. 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. 2. (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. 3. 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. 4. 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. 5. 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 Verfahren zur Ausführung eines Protokolls zur Einigung auf einen Schlüssel, 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 zu diesem gehöriger kryptografischer langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines zu einem diskreten logarithmische n Problem gehörenden Generatorpunkts generiert wird, und eine Identität verknüpft ist, wobei das Verfahren folgende Schritte umfasst: Generieren für jede Entität eines zu dieser Entität gehörenden privaten Sitzungsschlüssels und eines zu dieser Entität gehörenden kryptografischen öffentlichen Sitzungsschlüssels; Weitergeben an die andere Entität des öffentlichen Sitzungsschlüssels jeder Entität; Erzielen an jeder Entität einer Kennung für die 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 der Identitäten jeder Entität; Generieren für jede Entität eines zu dieser Entität gehörenden geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel der Entität; 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, um einen geteilten Schlüssel zu erzielen.
[0030] Nach einem anderen Aspekt wird ein Datenkommunikationssystem bereitgestellt, wobei das Datenkommunikationssystem ein Paar kryptografische Korrespondentengeräte umfasst, die konfiguriert sind, um das Verfahren nach einem der Ansprüche 1 bis 10 umzusetzen.
[0031] Nach einem weiteren Aspekt wird ein kryptografisches Korrespondentengerät bereitgestellt, wobei das Korrespondentengerä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 Verfahren umsetzt, das folgende Schritte umfasst: Generieren eines zu diesem kryptografischen Korrespondentengerät gehörenden privaten Sitzungsschlüssels und eines zu diesem kryptografischen Korrespondentengerät gehörenden kryptografisch entsprechenden öffentlichen Sitzungsschlüssels; Weitergeben des öffentlichen Sitzungsschlüssels über ein Datenkommunikationssystem an ein anderes kryptografisches Korrespondentengerät; Erzielen von dem anderen kryptografischen Korrespondentengerät eines öffentlichen Sitzungsschlüssels; Erzielen einer Kennung von beiden der kryptografischen Korrespondentengeräte; Generieren eines gemeinsamen Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des kryptografischen Korrespondentengerätes, des öffentlichen Sitzungsschlüssels des anderen kryptografischen Korrespondentengerätes und der Identitäten jedes der kryptografischen Korrespondentengeräte; Generieren eines zu diesem kryptografischen Korrespondentengerät gehörenden geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel des kryptografischen Korrespondentengerätes; Berechnen eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des anderen kryptografischen Korrespondentengerätes, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels des anderen kryptografischen Korrespondentengerätes; und Generieren einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert des kryptografischen Korrespondentengerätes, um einen geteilten Schlüssel zu erzielen.
[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 zeigt:
Fig. 1 eine schematische Darstellung eines Datenkommunikationssystems;
Fig. 2 eine Darstellung eines Gerätes, das in dem Datenkommunikationssystem aus Fig. 1 verwendet wird; und
Fig. 3 ein Ablaufschema, welches das Protokoll zeigt, das zwischen einem Gerätepaar, das in Fig. 1 gezeigt ist, umgesetzt wird.
Ausführliche Beschreibung [0038] 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.
[0039] 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*p der 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.
[0040] Daher umfasst mit Bezug auf Fig. 1 ein Datenkommunikationssystem 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.
[0041] 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 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.
[0042] 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.
[0043] 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: - der Feldgrösse q - den elliptischen Kurvenkoeffizienten a und b
- dem Basispunktgenerator P - der n. Ordnung des Basispunktgenerators - dem Kofaktor h, der eine derartige Zahl ist, dass hn die Anzahl von Punkten auf der elliptischen Kurve ist.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] Ephemere Werte, die von der ALU berechnet werden, können ebenfalls in dem gesicherten Modul 24 gespeichert werden, falls ihr Wert geheim bleiben soll.
[0048] 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 dA und einen entsprechenden öffentlichen Schlüssel QA, die in dem gesicherten Speichermodul 24 gespeichert sind. Ähnlich verfügt Bob über einen privaten Schlüssel de und einen entsprechenden öffentlichen Schlüssel Qb, die in seinem gesicherten Speichermodul 24 gespeichert sind.
[0049] 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.
[0050] 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 14 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.
[0051] Ä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 14 an Alice gesendet.
[0052] 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 yzu verwenden.
[0053] 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.
[0054] 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.
[0055] In Block 108, 208 berechnen Alice und Bob jeweils einen gemeinsamen Wertc= H(y//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.
[0056] Alice berechnet in Block 110 die Komponente sA = a + cdA (mod n), welche die langfristigen und kurzfristigen privaten Schlüssel verwendet, die in dem gesicherten Modul 24 gespeichert sind.
[0057] Ähnlich berechnet Bob in Block 210 sB = b + cdB (mod n).
[0058] Aus öffentlichen Informationen, zu denen der öffentliche Sitzungsschlüssel bP gehört, der von Bob empfangen wird, kann Alice sBP = bP + cQB berechnen, wie in 112 gezeigt.
[0059] Ähnlich kann Bob sAP = aP + cQA (212) berechnen.
[0060] Alice und Bob verfügen jeweils über eine Komponente, die aus privaten Informationen und dem gemeinsamen Wert berechnet wird, und eine Komponente, die aus öffentlichen Informationen berechnet wird. Diese können kombiniert werden, um eine geteilte geheime Information bereitzustellen.
[0061] Daher können in Block 114, 214 Alice und Bob beide den Wert K = hsAsBP als die geteilte geheime Information berechnen.
[0062] Alice hat sBP aus öffentlichen Informationen berechnet und hat den Wert sA gespeichert.
[0063] Ähnlich hat Bob sAP berechnet und hat den Wert sB gespeichert.
[0064] 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.
[0065] 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.
[0066] Eine Möglichkeit, einen Schlüssel aus der geteilten geheimen Information K abzuleiten, besteht darin, eine Ein-weg-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.
[0067] Zusammenfassend kann das Schlüsseleinigungsprotokoll unter Verwendung des folgenden Algorithmus umgesetzt werden: 1. Alice erzielt eine authentische Kopie des langfristigen öffentlichen Schlüssels QB von Bob. 2. Alice generiert eine zufällige Ganzzahl, um einen privaten Sitzungsschlüssel a (0 < a < n) bereitzustellen. 3. Alice berechnet aP und sendet dies an Bob. 4. Bob erzielt eine authentische Kopie des öffentlichen Schlüssels Qa von Alice. 5. Bob generiert eine zufällige Ganzzahl b (0 < b < n). 6. Bob berechnet bP und sendet dies an Alice. 7. Alice berechnet sA = a + cdA (mod n), wobei c = H(y//IDa//IDb). (Anmerkung: IDA und IDB können jeweils die öffentlichen Schlüssel von Alice und Bob enthalten). 8. Alice berechnet sBP = bP + cQB. (Anmerkung: Bob hat Alice bP gesendet, und sie hat eine authentische Kopie von Qb erzielt). 9. Bob berechnet sB = b + cdB (mod n). 10. Bob berechnet aus den öffentlichen Informationen sAP = aP + cQA. 11. Sowohl Alice als auch Bob können nun K = h · sA · sBP als geteilte geheime Information berechnen, wobei h der Kofaktor ist. 12. Die geteilte geheime Information kann bei Bedarf als Eingabe für eine Schlüsselableitungsfunktion verwendet werden.

Claims (21)

  1. Patentansprüche
    1. Verfahren zur Ausführung eines Protokolls zur Einigung auf einen Schlüssel, das zwischen einem Paar Entitäten ausgeführt wird, die überein Datenkommunikationssystem kommunizieren, wobei mit jeder der Entitäten ein langfristiger privater Schlüssel, ein zu diesem gehöriger kryptografischer langfristiger öffentlicher Schlüssel, der unter Verwendung des langfristigen privaten Schlüssels und eines zu einem diskreten logarithmischen Problem gehörenden Generatorpunkts generiert wird, und eine Identität verknüpft ist, wobei das Verfahren folgende Schritte umfasst: - Generieren für jede Entität eines zu dieser Entität gehörenden privaten Sitzungsschlüssels und eines zu dieser Entität gehörenden kryptografischen öffentlichen Sitzungsschlüssels; - Weitergeben an die andere Entität des öffentlichen Sitzungsschlüssels jeder Entität; - Erzielen an jeder Entität einer Kennung für die 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 der Identitäten jeder Entität; - Generieren für jede Entität eines zu dieser Entität gehörenden geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel der Entität; - 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, um einen geteilten Schlüssel zu erzielen.
  2. 2. Verfahren nach Anspruch 1, wobei die geteilte geheime Information als Eingabe in eine Schlüsselableitungsfunktion verwendet wird, um den geteilten Schlüssel zu erzielen.
  3. 3. Verfahren 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. 4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Verfahren in einem Kryptosystem mit elliptischen Kurven umgesetzt wird und die Kombination der öffentlichen Sitzungsschlüssel durch Punktaddition ausgeführt wird.
  5. 5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Verfahren 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. 6. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Verfahren 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. 7. Verfahren 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. 8. Verfahren 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. 9. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation eines Kofaktors, des geheimen Wertes und des ephemeren Wertes ist.
  10. 10. Verfahren 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. 11. Datenkommunikationssystem, umfassend ein Paar kryptografische Korrespondentengeräte, die konfiguriert sind, um das Verfahren nach einem der Ansprüche 1 bis 10 umzusetzen.
  12. 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 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 Verfahren umsetzt, das folgende Schritte umfasst: - Generieren eines zu diesem kryptografischen Korrespondentengerät gehörenden privaten Sitzungsschlüssels und eines zu diesem kryptografischen Korrespondentengerät gehörenden kryptografisch entsprechenden öffentlichen Sitzungsschlüssels; -Weitergeben des öffentlichen Sitzungsschlüssels über ein Datenkommunikationssystem an ein anderes kryptografisches Korrespondentengerät; - Erzielen von dem anderen kryptografischen Korrespondentengerät einen öffentlichen Sitzungsschlüssel; - Erzielen einer Kennung von beiden der kryptografischen Korrespondentengeräte; - Generieren eines gemeinsamen Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des kryptografischen Korrespondentengerätes, des öffentlichen Sitzungsschlüssels des anderen kryptografischen Korrespondentengerätes und der Identitäten jedes der kryptografischen Korrespondentengeräte; - Generieren eines zu diesem kryptografischen Korrespondentengerät gehörenden geheimen Wertes, umfassend das Kombinieren des gemeinsamen Wertes mit dem privaten Sitzungsschlüssel und dem langfristigen privaten Schlüssel des kryptografischen Korrespondentengerätes; - Berechnen eines ephemeren Wertes, umfassend das Kombinieren des öffentlichen Sitzungsschlüssels des anderen kryptografischen Korrespondentengerätes, des gemeinsamen Wertes und des langfristigen öffentlichen Schlüssels des anderen kryptografischen Korrespondentengerätes; und - Generieren einer geteilten geheimen Information aus dem geheimen Wert und dem ephemeren Wert des kryptografischen Korrespondentengerätes, um einen geteilten Schlüssel zu erzielen.
  13. 13. Kryptografisches Korrespondentengerät nach Anspruch 12, wobei die geteilte geheime Information als Eingabe in eine Schlüsselableitungsfunktion verwendet wird, um einen geteilten Schlüssel zu erzielen.
  14. 14. Kryptografisches Korrespondentengerät nach Anspruch 12 oder 13, wobei das Generieren eines gemeinsamen Wertes das Anwenden einer XOR-Operation auf die Identitäten jedes kryptografischen Korrespondentengerätes umfasst.
  15. 15. Kryptografisches Korrespondentengerät nach einem der Ansprüche 12 bis 14, wobei das Verfahren in einem Krypto-system mit elliptischen Kurven umgesetzt wird und die Kombination der öffentlichen Sitzungsschlüssel durch Punktaddition ausgeführt wird.
  16. 16. Kryptografisches Korrespondentengerät nach einem der Ansprüche 12 bis 15, wobei das Verfahren in einem Kryp-tosystem mit elliptischen Kurven umgesetzt wird und das Generieren des gemeinsamen Wertes das Erzielen einer X-Koordinate der Summe des öffentlichen Schlüssels umfasst.
  17. 17. Kryptografisches Korrespondentengerät nach einem der Ansprüche 12 bis 14, wobei das Verfahren in einem Krypto-system 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. 18. Kryptografisches Korrespondentengerät 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. 19. Kryptografisches Korrespondentengerät 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. 20. Kryptografisches Korrespondentengerät nach einem der Ansprüche 12 bis 18, wobei die Kombination des geheimen Wertes und des ephemeren Wertes die skalare Multiplikation eines Kofaktors, des geheimen Wertes und des ephemeren Wertes ist.
  21. 21. Kryptografisches Korrespondentengerät nach einem der Ansprüche 12 bis 20, wobei die Identität des kryptografischen Korrespondentengerätes 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 CH708239A2 (de) 2014-12-31
CH708239B1 true 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
CH708239A2 (de) 2014-12-31

Similar Documents

Publication Publication Date Title
CH708239B1 (de) Schlüsseleinigungsprotokoll.
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE112018001285B4 (de) Kryptografische Schlüsselerzeugung mit Anwendung auf Datendeduplizierung
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE602004004029T2 (de) Verfahren zur Verteilung von Konferenzschlüsseln, gemäss einem identitätsbasierten Verschlüsselungssystem
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
JP2020515087A5 (de)
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE112012001828B4 (de) Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
CH711133B1 (de) Protokoll zur Signaturerzeugung
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
EP3443705A1 (de) Verfahren und anordnung zum aufbauen einer sicheren kommunikation zwischen einer ersten netzwerkeinrichtung (initiator) und einer zweiten netzwerkeinrichtung (responder)
CN112818369B (zh) 一种联合建模方法及装置
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
Meshram A cryptosystem based on double generalized discrete logarithm problem
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
DE10159690C2 (de) Verfahren zur Vereinbarung eines symmetrischen Schlüssels über einen unsicheren Kanal und zur digitalen Signatur
Jiang Transforming Secure Comparison Protocol from Passive to Active Adversary Model

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