DE60207691T2 - Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken - Google Patents

Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken Download PDF

Info

Publication number
DE60207691T2
DE60207691T2 DE60207691T DE60207691T DE60207691T2 DE 60207691 T2 DE60207691 T2 DE 60207691T2 DE 60207691 T DE60207691 T DE 60207691T DE 60207691 T DE60207691 T DE 60207691T DE 60207691 T2 DE60207691 T2 DE 60207691T2
Authority
DE
Germany
Prior art keywords
values
share
sub
message
participating network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60207691T
Other languages
English (en)
Other versions
DE60207691D1 (de
Inventor
Christian Cachin
Klaus Kursawe
Anna Lysyanskaya
Reto Strobl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60207691D1 publication Critical patent/DE60207691D1/de
Publication of DE60207691T2 publication Critical patent/DE60207691T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

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

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft ein Netzwerk, dessen Prozessorknoten in einer asynchronen Weise Informationen austauschen, und insbesondere ein Verfahren zur Teilung eines geheimen Wertes unter den Knoten in einer Weise, dass ein ausreichend großer Teil der Knoten den geheimen Wert rekonstruieren kann, während ein kleinerer Teil ihn nicht beeinträchtigen kann, selbst nicht in Gegenwart unerkannter feindlicher Knoten.
  • HINTERGRUND DER ERFINDUNG
  • Schemata zur Geheimnisteilung gewährleisten die Geheimhaltung und schützen die Integrität von Informationen durch die Verteilung der Information auf n verschiedene Orte. Die Information kann nur wiederhergestellt werden, wenn man Zugang zu einer bestimmten Mindestanzahl von Orten hat. Speziell in einem (k, n)-Schwellenwertschema können k Orte zusammen die geheime Information rekonstruieren, wohingegen k – 1 Orte keinerlei Information über das Geheimnis erhalten können.
  • In der Veröffentlichung „Proactive secret sharing or: How to cope with perpetual leakage" von H. Krawczyk et al. in Crypto '95, S. 339–352, Santa Barbara, 1995, wird ein synchrones proaktives Schema zur Geheimnisteilung vorgestellt. Darin wird die Lebensdauer des Systems lediglich in Kurzzeiträume unterteilt, sodass die Annahme plausibel ist, dass ein Angreifer während eines Zeitraums nicht in mehr als k – 1 Orte eindringen kann. Außerdem wird davon ausgegangen, dass es sich um einen temporären Angreifer handelt, d.h. befallene Server können ermittelt und neu gestartet werden, sodass der Angreifer die Kontrolle verliert, den letzten Zustand des Servers jedoch speichert. Zu Beginn jedes Zeitraums wird das System aktualisiert, sodass die Information, die ein Angreifer in einem vorangegangenen Zeitraum erlangt hat, veraltet ist. Zur Aktualisierung des Systems gehört die Erzeugung einer neuen Teilung des alten Geheimnisses nach dem Zufallsprinzip.
  • Von Ran Canetti und Tal Rabin wurde in der Veröffentlichung „Fast asynchronous Byzantine agreement with optimal resilience", in STOC 93, S. 42–51, New York, 1993, ein asynchrones System zur prüfbaren Teilung von Geheimnissen vorgeschlagen, das auf den Ideen von Feldman und Micali, dargelegt in „An Optimal Probabilistic Protocol for Synchronous Byzantine Agreement", in STOC 88, S. 148–161, New York, 1988, beruht. Das Schema verwendet zur Verschlüsselung keinen öffentlichen Schlüssel, die Nachrichten des Schemas weisen jedoch eine sehr hohe Komplexität auf.
  • Der Artikel „Fair Public-Key Cryptosystems" von Silvio Micali in Advances in Cryptology – Crypto, Santa Barbara, 16.–20. August 1992, Proceedings of the Annual International Cryptology Conference, Springer-Verlag Berlin, Konferenzband 12, 16. August 1992, S. 113–138, XP000470380 ISBN: 3-540-57340-2, beschreibt ein Verfahren zum Aufbau von Public-Key-Verschlüsselungssystemen, in denen sich der zugehörige private Schlüssel zum Entschlüsseln nicht bei einer Regierungsbehörde für nationale Interessen befindet, sondern stattdessen Teile des privaten Schlüssels jeweils einem Betreffenden einer Gruppe von Bevollmächtigten zugeteilt sind, von diesen vertraulich behandelt und nur unter bestimmten Umständen an vertraglich vereinbarte Parteien/Behörden herausgegeben werden, z.B. aufgrund einer durch ein zuständiges Gericht erteilten Anweisung. Der Artikel beschreibt die Möglichkeit, dass zur Wiederherstellung des privaten Codes die kombinierten Anteile nur eines Teils der Gesamtzahl von Bevollmächtigten erforderlich sind, anstelle aller Anteile von allen Bevollmächtigten. Ebenso wird beschrieben, dass es möglich ist, die Anteile durch die Bevollmächtigten mittels eines Überprüfers, der vom Verteiler der Anteile bereitgestellt wird, überprüft werden können.
  • Mit der vorliegenden Erfindung soll ein Schema zur prüfbaren Teilung eines Geheimnisses für ein potentiell asynchrones Netzwerk geschaffen werden, wobei das Schema maximal t defekte Vorrichtungen, Prozessoren oder Parteien tolerieren kann. Potentiell asynchrones Netzwerk bedeutet in diesem Sinne, dass das Netzwerk je nach den Umständen und den gegebenen Voraussetzungen im synchronen oder asynchronen Modus arbeiten kann.
  • Außerdem soll die vorliegende Erfindung ein zwischen n Prozessoren oder Parteien einsetzbares Verfahren bereitstellen, bei dem höchstens t < n/3 Prozessoren defekt sind, des Weiteren die Teilung in konstanter Zeit erreicht werden kann und die Anzahl ausgetauschter Nachrichten in der Größenordnung von n2 liegt.
  • Glossar
  • Die folgenden informellen Definitionen sollen zum Verständnis der Beschreibung beitragen.
  • Beim asynchronen prüfbaren Teilen eines Geheimnisses (Asynchronous Verifiable Secret Sharing, AVSS) wird ein geheimer Wert x durch einen Vermittler oder Verteiler unter n Parteien P1, ..., Pn geteilt, sodass jede Koalition von k – 1 Parteien x nicht beeinträchtigen, wohingegen jede Koalition von k oder mehr Parteien x mit Erfolg zusammensetzen kann. Dies wird auch als (k, n)-Teilung bezeichnet, womit angedeutet wird, dass von n Parteien k Parteien zur Wiederherstellung des geheimen Wertes x erforderlich sind.
  • Gruppe: Eine Gruppe im kryptografischen Sinn ist ein algebraisches System (G, *), das aus einer Menge von Elementen oder Zahlen sowie aus einer Gruppenoperation (*) mit einigen festgelegten Eigenschaften besteht, wobei (*) assoziativen Charakter trägt und ein neutrales Element aufweist, und wobei jedes Element in G ein inverses Element besitzt. Das Symbol (*) ist willkürlich gewählt. Tatsächlich wird die Operation der meisten Gruppen entweder mit + oder • gekennzeichnet und derartige Gruppen werden als additive bzw. multiplikative Gruppen bezeichnet.
  • Zum Beispiel besteht für jede positive ganze Zahl q eine Menge Zq aus den Integerwerten 0, ..., q – 1 und bildet durch die Additionsoperation von Modulo q eine Gruppe. Außerdem bildet die Teilmenge von Zq, die aus den zu a relativen Primzahlen besteht, durch Multiplikation von Modulo q eine Gruppe und wird mit Zq* bezeichnet. Wenn im Speziellen p eine Primzahl ist, besteht Zq* aus {1, ..., p – 1} und ist eine Gruppe mit p – 1 Elementen.
  • Hash-Funktion: Eine Hash-Funktion ist eine berechnungstechnisch effiziente Funktion für die Abbildung von Binärzeichenfolgen willkürlicher Länge auf Binärzeichenfolgen einer festen Länge.
  • Hybride Ausfälle
  • Das Verfahren zum Erreichen einer Byzantinischen Übereinkunft (Byzantine Agreement) kann unterscheiden zwischen verschiedenen Arten, auf die ein Netzwerk ausfallen kann. Zu diesen gehören: Byzantinische Fehler (Byzantine Failures, BF): Beim Auftreten eines byzantinischen Fehlers übernimmt der Angreifer die volle Kontrolle über die jeweilige Maschine. Alle Geheimnisse auf dieser Maschine werden an den Angreifer übergeben, der jetzt ihr gesamtes Verhalten steuert.
  • Absturzfehler (Crash Failures, CF): Ein Absturzfehler bedeutet, dass die jeweilige Maschine die Ausführung von Prozessen abbricht. Dies kann jederzeit geschehen, d.h. selbst während eines Broadcasts oder während eine Nachricht gesendet wird. Es wird angenommen, dass es keinen Mechanismus gibt, mit dessen Hilfe andere Parteien einen derartigen Absturz zuverlässig erkennen können.
  • Verbindungsfehler (Link Failures, LF): Ein Verbindungsfehler tritt auf, wenn nicht eine Partei, sondern eine der Verbindungen zwischen den Parteien defekt ist. Da die Verbindung keinen Zugriff auf die Authentifizierungsschlüssel hat, kann sie auf einfache Weise daran gehindert werden, Nachrichten zu verändern oder einzufügen. Eine defekte Verbindung kann jedoch dazu führen, dass Nachrichten gelöscht oder Verbindungen zwischen zwei Parteien vollständig unterbrochen werden.
  • Angreiferstruktur
  • Eine Angreiferstruktur T ist eine Menge von Gruppen (Koalitionen) von Parteien, deren Beschädigung das System tolerieren sollte. Dies verallgemeinert ein Schwellenwertschema, sodass es flexibler wird und sich an die Umgebungsstrukturen anpasst.
  • ÜBERBLICK ÜBER DIE ERFINDUNG UND IHRE VORTEILE
  • Gemäß der vorliegenden Erfindung wird ein auf Maschinen implementierbares Verfahren bereitgestellt zur Teilung eines geheimen Wertes x unter n teilnehmenden Netzwerkvorrichtungen über ein asynchrones Netzwerk mit privaten Verbindungen (Links), d.h. die Kommunikation zwischen vertrauenswürdigen Teilnehmern kann von einem Angreifer nicht gelesen werden. Die n teilnehmenden Netzwerkvorrichtungen umfassen t defekte Vorrichtungen und k Untervorrichtungen, die den geheimen Wert x rekonstruieren können, wobei t < n/3 und k < n ist. Der geheime Wert x wird durch einen Verteiler bereitgestellt. Das Verfahren umfasst das Ableiten von Anteilswerten si und Unteranteilswerten sij des geheimen Wertes x durch den Verteiler mittels Anwendung eines linearen Geheimnisteilungsschemas und das Ableiten von Prüfwerten
    Figure 00060001
    die für die Prüfung der Gültigkeit der Anteilswerte si und der Unteranteilswerte sij verwendbar sind; das Senden einer Anteilsnachricht an jede teilnehmende Netzwerkvorrichtung, wobei die Anteilsnachricht die Unteranteilswerte sAisiA, sBisiB, sCisiC umfasst; das Senden einer Broadcast-Prüfnachricht, welche die Prüfwerte
    Figure 00060002
    umfasst; das Empfangen der Prüfnachricht mit den Prüfwerten
    Figure 00060003
    durch mindestens l teilnehmende Netzwerkvorrichtungen, wobei n – t ≥ l ≥ 2t + 1 ist, und das Durchführen der folgenden Schritte 1)–4) für jede Empfängervorrichtung im Netzwerk:
    • 1) bei Empfang einer Anteilsnachricht mit den Unteranteilswerten sij das Bestimmen der Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
      Figure 00070001
      und
    • 2) bei einem positiven Ergebnis der Bestimmung das Senden einer Broadcast-Einverständnisnachricht, die den Einverständniswert Y umfasst;
    • 3) das Empfangen von l Einverständnisnachrichten, welche die Einverständniswerte YA, YB, YC umfassen;
    • 4) bei Empfang von l Einverständnisnachrichten das Erhalten des Anteilswerts si entweder aus der vom Verteiler D gesendeten Anteilsnachricht oder aus den Unteranteilswerten sij, die von den teilnehmenden Netzwerkvorrichtungen empfangen wurden, und das Bestimmen der Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
      Figure 00070002
      .
  • In einem zweiten Aspekt der vorliegenden Erfindung wird ein auf Maschinen implementierbares Verfahren bereitgestellt zur Teilung eines geheimen Wertes x unter n teilnehmenden Netzwerkvorrichtungen A, B, C über ein asynchrones Netzwerk, wobei die n teilnehmenden Netzwerkvorrichtungen A, B und C t defekte Vorrichtungen umfassen und k Untervorrichtungen, die den geheimen Wert x rekonstruieren können, wobei t < n/3 und k ≤ n – t ist und der geheime Wert x durch einen Verteiler D bereitgestellt wird. Dieses Verfahren wird ohne Broadcast durchgeführt.
  • Das Verfahren hat sich als effizient herausgestellt sowie als nahezu optimal in dem Sinne, dass es eine maximale Anzahl beschädigter Parteien verkraftet. Außerdem ist es in asynchronen Umgebungen verwendbar und toleriert byzantinische Fehler.
  • Wenn bereits bestimmte geheime Werte x geteilt sind, kann das Verfahren zur Teilung eines geheimen Wertes y mit dem Inhalt 0 eingesetzt werden. Anhand der Prüfwerte kann bestätigt werden, dass der Wert von y tatsächlich 0 ist.
  • Durch Addieren der Anteilswerte yi von 0 zu Anteilswerten xi von x teilen sich die neuen Anteilswerte yi + xi das Geheimnis x + 0, d.h. x.
  • Hierdurch werden neue Anteilswerte desselben geheimen Wertes generiert, die verwendet werden können, um die alten Anteile nutzlos zu machen, die zum Angreifer durchgesickert sein könnten.
  • Es ist vorteilhaft möglich, das Verfahren in einer Weise zu modifizieren, dass jede teilnehmende Netzwerkvorrichtung mit dem Index i alle ihre Unteranteilswerte sil bis sin und sli bis sni ableiten kann. Somit ist es leicht möglich, auf effiziente Weise eine weitere Netzwerkvorrichtung in eine Gruppe von sich den geheimen Wert x teilenden Netzwerkvorrichtungen zu integrieren, indem aus den bekannten Unteranteilswerten sil bis sin die entsprechenden Unteranteilswerte
    Figure 00080001
    rekonstruiert werden.
  • Die Unteranteilswerte sij und zusätzliche Prüfwerte können an jede teilnehmende Netzwerkvorrichtung gesendet werden und bei Empfang einer ausreichenden Anzahl von zusätzlichen Prüfwerten können die Prüfwerte
    Figure 00080002
    entsprechend den empfangenen zusätzlichen Prüfwerten modifiziert werden. Dies hat den Vorteil, dass das das für die Broadcast-Sendung der Prüfnachricht verwendete Broadcast-Grundelement vereinfacht werden kann, was eine geringere Netzkommunikation zur Folge hat.
  • Wenn der Schritt des Erhaltens des Anteilswerts si aus den Unteranteilswerten sij, die von den teilnehmenden Netzwerkvorrichtungen empfangen werden, des Weiteren die Broadcast-Sendung einer Beschwerdenachricht und das Empfangen der als Folge der Beschwerdenachricht gesendeten Unteranteilswerte sij umfasst, hat dies den Vorteil, dass der Datenaustausch im Netz reduziert werden kann, sofern der Verteiler vertrauenswürdig ist, was normalerweise zutrifft.
  • Die Prüfwerte
    Figure 00090001
    können abgeleitet werden durch Auswählen einer allgemeinen Zahl g aus einer dem linearen Schema zur Geheimnisteilung entsprechenden kryptografischen Gruppe G und Ableiten der Prüfwerte
    Figure 00090002
    durch Erheben der ausgewählten allgemeinen Zahl g zur Potenz einer linearen Funktion f des Anteilswerts si. Hierdurch kann ein einfaches kryptografisches Grundelement zur Generierung der Prüfwerte
    Figure 00090003
    verwendet werden.
  • Die Prüfwerte
    Figure 00090004
    können mittels einer Hash-Funktion abgeleitet werden. Dies führt zu kleineren Prüfwerten
    Figure 00090005
    und somit müssen weniger Daten über das Netz übertragen werden.
  • Es können mehrere geheime Werte gleichzeitig geteilt werden. Dies ist aufgrund von Synergieeffekten effizienter.
  • Die Anzahl t defekter Vorrichtungen kann als eine Menge T von Gruppen betrachtet werden, die verschiedene teilnehmende Netzwerkvorrichtungen umfassen, d.h. Vorrichtungen mit unterschiedlichen Betriebssystemen und an unterschiedlichen Orten. Außerdem können die teilnehmenden Netzwerkvorrichtungen hybride Fehler aufweisen, z.B. byzantinische Fehler, Absturzfehler und Verbindungsfehler, was die unterschiedliche Struktur der Menge T oder unterschiedliche Schwellenwerte ti bei i = 1, 2 ... widerspiegelt. Dies zeigt die Flexibilität des Protokolls.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Bevorzugte Ausführungsarten der Erfindung sind nachfolgend detailliert, aber nur exemplarisch beschrieben, wobei Bezug auf die folgenden schematischen Zeichnungen genommen wird.
  • 1 zeigt ein typisches asynchrones Netzwerk mit mehreren teilnehmenden Netzwerkvorrichtungen und einem Verteiler.
  • 2 zeigt ein schematisches Diagramm des asynchronen Schemas zur prüfbaren Teilung eines Geheimnisses.
  • 3 zeigt ein schematisches Diagramm des asynchronen Schemas zur prüfbaren Teilung eines Geheimnisses ohne Broadcast.
  • 4 zeigt ein Szenario von teilnehmenden Netzwerkvorrichtungen, die in strukturierter Weise verteilt sind.
  • Die Zeichnungen dienen nur der Veranschaulichung und stellen nicht notwendigerweise maßstabsgerechte praktische Beispiele der vorliegenden Erfindung dar.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1 zeigt ein Beispiel eines üblichen Computersystems 8, in dem ein geheimer Wert x geteilt wird. Es besteht aus n = 4 teilnehmenden Netzwerkvorrichtungen A, B, C und D, die über Kommunikationsleitungen (1 bis 5) miteinander vernetzt sind. Das System umfasst einen Verteiler D, der mit „x" bezeichnet ist.
  • Jede teilnehmende Netzwerkvorrichtung A, B, C, D kann eine beliebige Computereinheit nach dem Stand der Technik sein, von einem Computer auf einem Chip über einen tragbaren Computer bis hin zu einem großen Computersystem. Die Kommunikationsleitungen können beliebige Kommunikationsmittel sein, die zum Senden von Daten oder Nachrichten von einer teilnehmenden Netzwerkvorrichtung A, B, C, D zu einer anderen allgemein bekannt ist. Zum Beispiel können die Kommunikationsleitungen entweder einzelne bidirektionale Kommunikationsleitungen 5 zwischen jedem Paar der teilnehmenden Netzwerkvorrichtungen A, B, C, D sein oder eine unidirektionale Leitung in jeder Richtung zwischen jedem Paar der teilnehmenden Netzwerkvorrichtungen A, B, C, D. Ein derartiges Computersystem 8 und die Kommunikationsleitungen 5 sind in der Technik wohlbekannt. Wenn eine teilnehmende Netzwerkvorrichtung A, B, C Informationen an sich selbst sendet, könnte ein äquivalentes Ergebnis erzielt werden, indem die Daten lediglich innerhalb der teilnehmenden Netzwerkvorrichtung bewegt und nicht über die Kommunikationsleitung an sich selbst gesendet werden. Das übliche Computersystem 8 ist dargestellt, um die Beschreibung des folgenden asynchronen Protokolls zur prüfbaren Teilung eines Geheimnisses zu erleichtern. Zur Bezeichnung gleicher oder ähnlicher Teile werden dieselben Bezugsnummern verwendet.
  • 2 zeigt den allgemeinen Ablauf des Protokolls zur Teilung eines geheimen Wertes x unter den teilnehmenden Netzwerkvorrichtungen A, B, C, D über das asynchrone Netzwerk, wobei jede der teilnehmenden Netzwerkvorrichtungen A, B, C, D eine Anzahl von Nachrichten sendet und empfängt.
  • Es wird angenommen, dass der Verteiler D den geheimen Wert x teilen möchte. Aus dem geheimen Wert x leitet der Verteiler D wie durch Kasten 10 angedeutet zunächst anhand eines normalen linearen Schemas zur Geheimnisteilung, wie es zum Beispiel in der Veröffentlichung „How to share a secret" von A. Shamir in Communications of the ACM 22, 1979, S. 612–613, beschrieben ist, Anteilswerte si ab. Außerdem leitet der Verteiler D auch so genannte Unteranteile, auch als Unteranteilswerte sij bezeichnet, ab. Das heißt, dass der Verteiler D für jeden Anteilswert si die entsprechenden Unteranteilswerte sij erzeugt. Die Unteranteilswerte sij erhält man durch ein anderes lineares Schema zur Geheimnisteilung, das von der Erzeugung der Anteilswerte si unabhängig ist. Alternativ kann der geheime Wert x unter Verwendung des Schemas von Shamir mit einem Polynom über zwei Variablen geteilt werden. Des Weiteren leitet der Verteiler D die Prüfwerte
    Figure 00120001
    hier durch einfache Potenzieroperationen in einer kryptografischen Gruppe G ab. Diese Prüfwerte
    Figure 00120002
    werden als Prüftabelle interpretiert. Die Prüfwerte
    Figure 00120003
    können zur Prüfung der Gültigkeit der Anteilswerte si und der Unteranteilswerte sij verwendet werden.
  • Figure 00120004
    Tabelle 1
  • Tabelle 1 zeigt die entsprechenden Unteranteilswerte sij für jeden Anteilswert si. Alle Unteranteilswerte sij in einer Reihe teilen den in der ganz linken Spalte stehenden Wert dieser Reihe, während alle Unteranteilswerte sij in einer Spalte den obersten Wert in der Spalte teilen, den Anteilswert si.
  • Zu beachten ist, dass der Wert s10 den Wert bezeichnet, der von den Werten s11, s12, ... s1n geteilt wird, während s01 den Wert bezeichnet, der von den Werten s11, s21, ... sn1, geteilt wird.
  • Es ist ein Vorteil, dass ein Absturz oder ein byzantinisches Verhalten des Verteilers D in der Mitte des Protokolls toleriert werden kann. Wenn t + 1 einander vertrauende, teilnehmende Netzwerkvorrichtungen A, B, C annehmen, dass sie gültige Anteilswerte si des geheimen Wertes x empfangen haben, können alle anderen vertrauenswürdigen teilnehmenden Netzwerkvorrichtungen A, B, C mit Hilfe jener t + 1 vertrauenswürdigen teilnehmenden Netzwerkvorrichtungen A, B, C ihre Anteilswerte si am geheimen Wert x rekonstruieren, selbst wenn sie überhaupt nichts vom Verteiler D gehört haben.
  • Es ist jedoch für einen nicht vertrauenswürdigen Verteiler D noch möglich, beschädigte Anteilswerte si zu verteilen, d.h. Anteilswerte si, die sich nicht zu einem eindeutigen geheimen Wert x kombinieren lassen. Zur Behandlung dieses Problems fügt der Verteiler D Prüfinformationen hinzu, die es allen teilnehmenden Netzwerkvorrichtungen A, B, C ermöglichen, die Gültigkeit der empfangenen Anteilswerte si zu prüfen, ohne etwas über den geheimen Wert x zu erfahren.
  • Der Verteiler D sendet jeder teilnehmenden Netzwerkvorrichtung A, B, C eine Anteilsnachricht sm, welche die im Kasten 20 angegebenen entsprechenden Unteranteilswerte sAisiA, sBisiB, sCisiC umfasst, und sendet eine Broadcast-Prüfnachricht vm, welche die in Kasten 30 angegebenen Prüfwerte
    Figure 00130001
    umfasst. Bei der Broadcast-Nachricht kann es sich um eine zuverlässige Broadcast-Nachricht handeln, wie von Cachin et al. in „Secure and Efficient Asynchronous Broadcast Protocols" in Joe Kilian, Hrsg., „Advances in Cryptology", Crypto, 2001, Lecture Notes in Computer Science, Band 2139, Springer-Verlag 2001, S. 524–541, beschrieben. Für die teilnehmenden Netzwerkvorrichtungen A, B, C mit dem Index i entsprechen die Unteranteilswerte sij, die der Verteiler D an diese teilnehmende Netzwerkvorrichtung A, B, C sendet, der Reihe und der Spalte i in der Tabelle 1. Die durch die Kästen 10, 20 und 30 dargestellten Schritte werden vom Verteiler D durchgeführt, wie durch den mit D bezeichneten Kasten dargestellt.
  • Die Prüfnachricht vm umfasst weitere Informationen, die ausreichen, um alle Anteilswerte si und Unteranteilswerte sij zu prüfen, welche die Empfängervorrichtung A, B, C im Netzwerk empfängt, während das Protokoll läuft.
  • Die teilnehmenden Netzwerkvorrichtungen A, B, C empfangen die Prüfnachricht vm, wie im Kasten 40 dargestellt. Jede der Empfängervorrichtungen A, B, C im Netzwerk führt die folgenden Schritte durch.
  • Wurde im vorangegangenen Schritt eine Anteilsnachricht sm empfangen, welche die Unteranteilswerte sij umfasst, wird die Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
    Figure 00140001
    bestimmt, wie im Kasten 50 dargestellt. Bei einem positiven Ergebnis der Bestimmung wird eine Broadcast-Einverständnisnachricht gesendet, die einen Einverständniswert Y umfasst, wie im Kasten 60 dargestellt. Die entsprechenden Netzwerkvorrichtungen A, B, C empfangen dann l Einverständnisnachrichten mit n – t ≥ l ≥ 2t + 1, welche die Einverständniswerte YA, YB, YC umfassen, wie im Kasten 70 dargestellt. Die Schritte in den Kästen 70 und 80 können auch von einer teilnehmenden Netzwerkvorrichtung A, B, C ausgeführt werden, welche die in den Kästen 40, 50 und 60 dargestellten Schritte nicht durchgeführt hat, wie durch den mit 90 bezeichneten Pfeil angezeigt.
  • Beim Empfang von l Einverständnisnachrichten erhält jede teilnehmende Netzwerkvorrichtung A, B, C den Anteilswert si, entweder aus der vom Verteiler D gesendeten Anteilsnachricht sm oder aus den Unteranteilswerten sij, die von den anderen teilnehmenden Netzwerkvorrichtungen A, B, C empfangen wurden. Dann wird die Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
    Figure 00150001
    bestimmt. Dies ist im Kasten 80 dargestellt.
  • Verwendung von Commitments
  • Für jeden Anteilswert si und Unteranteilswert sij berechnet der Verteiler D eine Commitmentfunktion C(si) bzw. C(sij) . Die Commitments haben die Eigenschaft, dass, wenn die Anteilswerte si und Unteranteilswerte sij zu einem geheimen Wert x und dem Anteilswert si kombiniert werden, C(si) (oder C(sij)) zu einem Geheimnis C(x) (oder (C(si)) kombiniert werden.
  • Ein Beispiel ist die Anwendung der Exponentation in einer finiten Gruppe G von Primzahlen, d.h. C(si) = gsi, wie von Cachin et al. in „Random Oracles in Constantinople: Practical Byzantine Agreement using Cryptography", POD000, Portland, Oregon, 2000, beschrieben.
  • Allerdings ist auch die Verwendung von weiterentwickelten Commitments, zum Beispiel von Pedersen-Commitments möglich, wie von T. Pedersen in „Non-interactive and information-theoretic secure verifiable secret sharing", Crypto 1991, Lecture Notes in Computer Science, Band 576, S. 129–140, Springer-Verlag 1992, beschrieben.
  • Die Commitments werden mittels einer konsistenten Broadcast-Nachricht auf alle teilnehmenden Netzwerkvorrichtungen A, B, C verteilt, wie von Cachin et al. in „Secure and Efficient Asynchronous Broadcast Protocols" in Joe Kilian, Hrsg., „Advances in Cryptology", Crypto, 2001, Lecture Notes in Computer Science, Band 2139, S. 524–541, Springer-Verlag 2001, beschrieben, d.h. alle teilnehmenden Netzwerkvorrichtungen A, B, C empfangen dieselben Commitments; diese Broadcast-Sendung kann durch Hinzufügen eines neuen Schrittes zum Protokoll vereinfacht werden, wie nachfolgend in der Beschreibung der Optimierung der Kommunikationskomplexität gezeigt.
  • Das Protokoll funktioniert dann wie folgt:
    • 1. Der Verteiler D verteilt alle Anteilswerte si und Unteranteilswerte sij auf die teilnehmenden Netzwerkvorrichtungen A, B, C mit dem Index i und sendet die Prüftabelle mittels einer entsprechenden Broadcast-Nachricht.
    • 2. Jede teilnehmende Netzwerkvorrichtung A, B, C, welche die oben genannten Nachrichten des Verteilers D empfängt, prüft, ob:
    • • ihre Anteilswerte si und Unteranteilswerte sij den Funktionen C(si) und C(sij) in der Prüftabelle entsprechen;
    • • die C(sij) in der Prüftabelle eine eindeutige C(si) bilden;
    • • die C(sji) in der Prüftabelle einen eindeutigen Wert bilden.
    • 3. Empfängt eine teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i alle Anteilswerte si und Unteranteilswerte sij und alle Prüfungen verlaufen erfolgreich, sendet die Vorrichtung eine Broadcast-OK-Nachricht.
    • 4. Bei Empfang von ausreichend vielen, d.h. mindestens 2t + 1, OK-Nachrichten akzeptiert die betreffende teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i den Verteiler D und dessen Anteilswert si.
    • 5. Hat eine teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i noch keinen gültigen Anteilswert si empfangen, sendet sie eine Beschwerdenachricht an alle teilnehmenden Netzwerkvorrichtungen A, B, C. Bei Empfang einer derartigen Beschwerdenachricht senden die teilnehmenden Netzwerkvorrichtungen A, B, C mit dem Index j, welche die Beschwerdenachricht empfangen, ihren Unteranteilswert sij an die teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i, welche die Beschwerdenachricht gesendet hat. Diese teilnehmende Netzwerkvorrichtung A, B, C prüft dann mit Hilfe der Prüftabelle den Unteranteilswert sij und kombiniert die gültigen Anteilswerte zu si.
  • Optimieren der Kommunikationskomplexität
  • Die Prüfnachricht vm, welche die mittels der Broadcast-Nachricht vom Verteiler D gesendete Prüftabelle umfasst, ist relativ groß und kann auf mehrere Arten komprimiert werden. Nachfolgend ist beschrieben, wie das Protokoll modifiziert werden kann, damit es ein weniger aufwendiges Broadcast-Ursprungselement sowie kleinere Prüfwerte verwendet:
    • • Jede teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i empfängt nur ihre Reihe i und Spalte i der Tabelle 1, d.h. für alle j, sij und sji und die entsprechenden Prüfwerte C(sij) und C(sji). Des Weiteren empfängt jede teilnehmende Netzwerkvorrichtung A, B, C einen Hash-Wert in jeder Reihe und jeder Spalte sowie die Werte C(sj0) und C(s0j), wobei sj0 der von sj1, ..., sjn geteilte Wert ist. Diese Werte werden eventuell nicht in konsistenter Weise durch die Broadcast-Nachricht verbreitet, d.h. die teilnehmenden Netzwerkvorrichtungen A, B, C empfangen eventuell unterschiedliche Werte, wenn der Verteiler D nicht vertrauenswürdig ist.
    • • Bei Empfang der Anteilsnachricht sm und der Prüfnachricht vm überprüft jede teilnehmende Netzwerkvorrichtung A, B, C die von ihr empfangenen Hash-Werte und Prüfwerte und berechnet die Prüfwerte C(sj0), C(s0j), C(sij) und C(sji) neu, falls dies notwendig ist, d.h., wenn sie nicht den Anteilswerten sj0 und s0j sowie den Unteranteilswerten sij und sji entsprechen.
    • • Die betreffende teilnehmende Netzwerkvorrichtung A, B, C sendet die Unteranteilswerte sij und sji zusammen mit den Hash-Werten und den – eventuell neu berechneten – Prüfwerten an die teilnehmenden Netzwerkvorrichtungen A, B, C mit dem Index i.
    • • Die betreffende teilnehmende Netzwerkvorrichtung A, B, C wartet, bis sie genügend, d.h. mindestens 2t + 1, der oben genannten Nachrichten empfangen hat, die mit deren Hash-Werten übereinstimmen und gültige Unteranteilswerte sij und sji entsprechend dem Hash-Wert umfassen. Dann sendet sie eine OK-Nachricht an alle teilnehmenden Netzwerkvorrichtungen A, B, C.
    • • Bei Empfang von ausreichend vielen, d.h. mindestens 2t + 1, OK-Nachrichten akzeptiert jede teilnehmende Netzwerkvorrichtung A, B, C den Verteiler D. Falls erforderlich, wird der Anteilswert si aus den Unteranteilswerten sij berechnet.
  • Zu beachten ist, dass das oben genannte Verfahren zur Optimierung der Kommunikationskomplexität nicht dafür vorgesehen ist, eine Einigung zu garantieren, ob der Verteiler D akzeptiert wird oder nicht; es ist möglich, dass einige teilnehmende Netzwerkvorrichtungen A, B, C das Protokoll nicht beenden, während andere dies tun. Es ist jedoch am einfachsten, an das Ende des aktuellen Protokolls ein Protokoll gemäß der Byzantinischen Übereinkunft anzufügen und sicherzustellen, dass, wenn eine teilnehmende Netzwerkvorrichtung A, B, C den Verteiler D und seinen Anteilswert si akzeptiert, alle vertrauenswürdigen teilnehmenden Netzwerkvorrichtungen A, B, C mit dem Index j den Verteiler D akzeptieren und ihren Anteilswert sj empfangen.
  • Ohne Broadcast
  • Es ist möglich, das Protokoll ohne Broadcast auszuführen und das Protokoll zur prüfbaren Geheimnisteilung in ein zuverlässiges Broadcast zu integrieren. Dies hat den Vorteil, dass die durch Kommunikation und Berechnung verursachte Last weiter reduziert wird, weil kein konsistentes Broadcast verwendet wird. Konsistentes Broadcast schließt komplexe Berechnungen für digitale Signaturen ein, die somit vermieden werden.
  • 3 zeigt ein schematisches Diagramm eines derartigen asynchronen Schemas zur prüfbaren Geheimnisteilung ohne Broadcast. Zur Bezeichnung gleicher oder ähnlicher Teile werden dieselben Symbole oder Bezugsnummern verwendet.
  • Das Protokoll verwendet in diesem Fall drei Nachrichtenaustausch-Zyklen:
    Wie durch den Kasten 10 angezeigt, leitet der Verteiler D die Anteilswerte si und Unteranteilswerte sij des geheimen Wertes x ab, indem er ein lineares Schema zur Geheimnisteilung anwendet.
  • Außerdem leitet der Verteiler D Prüfwerte
    Figure 00200001
    ab, die zur Prüfung der Gültigkeit der Anteilswerte si und Unteranteilswerte sij verwendet werden können. Im nächsten Schritt, Kasten 22, wird eine erste Nachricht (1.), welche die entsprechenden Unteranteilswerte sAisiA, sBisiB, sCisiC und Prüfwerte
    Figure 00200002
    umfasst, an jede teilnehmende Netzwerkvorrichtung A, B, C gesendet.
  • Bei mindestens 2t + 1 teilnehmenden Netzwerkvorrichtungen A, B, C werden von jeder teilnehmenden Netzwerkvorrichtung A, B, C mit dem Index i die folgenden Schritte i.)–vii.) ausgeführt:
    • i.) Jede teilnehmende Netzwerkvorrichtung A, B, C mit dem Index i, welche die erste Nachricht (1st:) vom Verteiler D empfängt, bestimmt in Abhängigkeit von den Prüfwerten
      Figure 00200003
      Figure 00200004
      die Gültigkeit aller Unteranteilswerte sij, sji für i = 1, ..., n und j = 1, ..., n, wie in Kasten 32 dargestellt.
    • ii.) Bei einem positiven Ergebnis der Bestimmung leitet die am Netzwerk teilnehmende Vorrichtung mit dem Index i aus den empfangenen Unteranteilswerten sij, sji die relevanten Unteranteilswerte sim, smi ab, die mit denen der anderen am Netzwerk teilnehmenden Vorrichtungen A, B, C mit dem Index m übereinstimmen. Dann sendet die teilnehmende Netzwerkvorrichtung mit dem Index i eine zweite Nachricht (2.), welche die Prüfwerte
      Figure 00200005
      für r = 1, ..., n und j = 1, ..., n und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung A, B, C mit dem Index m, wie in Kasten 34 dargestellt.
    • iii.) Empfängt eine teilnehmende Netzwerkvorrichtung A, B, C mit dem Index j die zweite Nachricht (2.:), wird die Gültigkeit der empfangenen Unteranteilswerte sij, sji in Abhängigkeit von den Prüfwerten
      Figure 00210001
      ,
      Figure 00210002
      durch die am Netzwerk teilnehmenden Vorrichtungen A, B, C mit dem Index i bestimmt, wie in Kasten 42 dargestellt.
    • iv.) Bei einem positiven Ergebnis der Bestimmung für 2t + 1 empfangene zweite Nachrichten (2.:) – siehe Kasten 44 – wird eine dritte Nachricht (3.), welche die Prüfwerte
      Figure 00210003
      und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung A, B, C mit dem Index m gesendet, wie in Kasten 46 dargestellt. Falls keine erste Nachricht (1.:) empfangen wurde, werden die relevanten Unteranteilswerte sim, smi aus den empfangenen zweiten Nachrichten (2.:) abgeleitet, wie durch den mit 92 bezeichneten Pfeil gezeigt.
    • v.) Empfängt eine teilnehmende Netzwerkvorrichtung A, B, C mit dem Index j die dritte Nachricht (3.:), wird die Gültigkeit der empfangenen Unteranteilswerte sij, sji in Abhängigkeit von den Prüfwerten
      Figure 00210004
      ,
      Figure 00210005
      bestimmt, wie in Kasten 52 dargestellt.
    • vi.) Bei einem positiven Ergebnis der Bestimmung für t + 1 empfangene dritte Nachrichten (3.:) und wenn die dritte Nachricht (3.) nicht gesendet wurde – siehe Kasten 54 – wird eine dritte Nachricht (3.), welche die Prüfwerte
      Figure 00210006
      und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung A, B, C mit dem Index m gesendet, wie in Kasten 56 dargestellt. Falls keine erste Nachricht (1.:) empfangen wurde, werden die relevanten Unteranteilswerte sim, smi aus den empfangenen zweiten oder dritten Nachrichten (2.:, 3.:) abgeleitet, wie durch den mit 94 bezeichneten Pfeil für die empfangenen dritten Nachrichten (3.:) gezeigt.
    • vii.) Bei einem positiven Ergebnis der Bestimmung für 2t + 1 empfangene dritte Nachrichten – siehe Kasten 58 – wird der Anteilswert si aus den empfangenen ersten, zweiten oder dritten Nachrichten (1.:, 2.:, 3.:) abgeleitet, wie in Kasten 80 dargestellt. Dies bedeutet, dass der vom Verteiler D kommende Anteilswert si akzeptiert ist.
  • Das effizientere Protokoll kann mit dem Verfahren zur Verwendung von Commitments und mit dem Verfahren zur Optimierung der Kommunikationskomplexität kombiniert werden. Das sich daraus ergebende Protokoll hat den Vorteil, dass die Komplexität von Kommunikation und Berechnung weiter reduziert wird. Vorteilhaft ist, dass es auch eine Einigung darüber gewährleistet, ob der Verteiler D akzeptiert wird oder nicht, sodass jede teilnehmende Netzwerkvorrichtung A, B, C das Protokoll nur dann beendet, wenn alle anderen teilnehmenden Netzwerkvorrichtungen A, B, C dies tun.
  • Hybride Angreiferstrukturen
  • Indem man – anstelle eines festen Schwellenwertes t aus n Beschädigungen – real existierende Strukturen wiedergibt, ist es möglich, mehr Flexibilität zu erreichen.
  • Ein Angreifer könnte zum Beispiel in der Lage sein, alle teilnehmenden Netzwerkvorrichtungen mit einem bestimmten Betriebssystem zu kontrollieren, oder er könnte einen Systemadministrator bestechen, sodass er ihm Zugriff auf alle teilnehmenden Netzwerkvorrichtungen eines bestimmten Standortes gewährt. Angreiferstrukturen kommen mit einem derartigen Angriffsschema zurecht.
  • Zur Definition einer Angreiferstruktur T muss man jede Koalition von Parteien definieren, deren Beschädigung das System tolerieren sollte, z.B. Koalitionen aller teilnehmenden Netzwerkvorrichtungen mit demselben Betriebssystem. Die Menge aller dieser Gruppen bildet dann die Angreiferstruktur T.
  • 4 zeigt ein Szenario von 19 Standorten von teilnehmenden Netzwerkvorrichtungen P1 bis P19 mit einer strukturierten Verteilung, d.h. jede teilnehmende Netzwerkvorrichtung P1 bis P19 weist ein Betriebssystem OS-1 bis OS-4 auf und einen Ort in einem Land C1 bis C4. Konventionelle t-aus-n-Strukturen können eine beliebige Gruppe von sechs teilnehmenden Netzwerkvorrichtungen tolerieren, die mit einem byzantinischen Fehler ausfallen. Bei Verwendung der entsprechenden Angreiferstrukturen kann man gleichzeitige Ausfälle von 1 Betriebssystem und 1 Ort tolerieren. Im vorliegenden Beispiel können dies bis zu 10 teilnehmende Netzwerkvorrichtungen sein (z.B. Ausfall aller teilnehmenden Netzwerkvorrichtungen im vierten Land C4 oder mit dem ersten Betriebssystem OS-1) oder weniger als vier, wenn die Beschädigungen gut verteilt sind, d.h. vier am Netzwerk teilnehmende, auf alle Länder und alle Betriebssysteme verteilte Vorrichtungen.
  • In dem Protokoll zur Teilung eines Geheimnisses x können gleichzeitig verschiedene Arten von Ausfällen auftreten. Zum Beispiel könnten das Absturzfehler CF, byzantinische Fehler BF und Verbindungsfehler LF sein. Dies ermöglicht es, eine größere Anzahl von Ausfällen zu tolerieren.
  • Die vorliegende Erfindung kann in Hardware, Software oder einer Kombination von Hardware und Software realisiert werden. Jede Art von Computersystem – oder jede andere Einrichtung zur Ausführung der in der vorliegenden Patentanmeldung beschriebenen Verfahren – ist geeignet. Eine typische Kombination von Hardware und Software könnte ein Mehrzweck-Computersystem mit einem Computerprogramm sein, das, wenn es geladen und ausgeführt wird, das Computersystem in der Weise steuert, dass es die in der vorliegenden Patentanmeldung beschriebenen Verfahren ausführt. Die vorliegende Erfindung kann auch in ein Computerprogrammprodukt eingebettet werden, welches alle Merkmale zur Implementierung der in der vorliegenden Patentanmeldung beschriebenen Verfahren umfasst und das – wenn es in ein Computersystem geladen wird – diese Verfahren ausführen kann.
  • Mit dem Begriff Computerprogrammmittel oder Computerprogramm ist im vorliegenden Zusammenhang jeder beliebige Ausdruck – in jeder beliebigen Sprache, jedem Code oder jeder Notation – einer Menge von Anweisungen gemeint, die dazu dienen, ein System, das die Fähigkeit zur Informationsverarbeitung besitzt, entweder direkt oder nach einem oder beiden der folgenden Schritte eine bestimmte Funktion ausführen zu lassen: a) Konvertierung in eine andere Sprache oder Notation oder in einen anderen Code; b) Reproduktion in einer anderen materiellen Form.

Claims (10)

  1. Verfahren zur Teilung eines geheimen Wertes x unter n teilnehmenden Netzwerkvorrichtungen (A, B, C) über ein asynchrones Netzwerk, wobei die n teilnehmenden Netzwerkvorrichtungen (A, B, C) t defekte Vorrichtungen umfassen und k Untervorrichtungen, die den geheimen Wert x rekonstruieren können, mit t < n/3 und k < n, und der geheime Wert x durch einen Verteiler (D) bereitgestellt wird und wobei das Verfahren die folgenden Schritte umfasst: – Ableiten (10) von Anteilswerten si und Unteranteilswerten sij des geheimen Wertes x mit Hilfe eines linearen Schemas zur Geheimnisteilung durch den Verteiler (D) und Ableiten (10) von Prüfwerten
    Figure 00250001
    , die zur Prüfung der Gültigkeit der Anteilswerte si und Unteranteilswerte sij verwendbar sind; – Senden (20) einer Anteilsnachricht, welche die entsprechenden Unteranteilswerte sAisiA, sBisiB, sCisiC umfasst, an jede teilnehmende Netzwerkvorrichtung (A, B, C); – Senden (30) einer Broadcast-Prüfnachricht, welche die Prüfwerte
    Figure 00250002
    umfasst; – Empfangen (40) der Prüfnachricht mit den Prüfwerten
    Figure 00250003
    durch mindestens l teilnehmende Netzwerkvorrichtungen (A, B, C), wobei n – t ≥ l ≥ 2t + 1 ist, und Durchführen der folgenden Schritte 1) bis 4) für jede Empfängervorrichtung im Netzwerk (A, B, C): 1) bei Empfang der Anteilsnachricht mit den Unteranteilswerten sij das Bestimmen (50) der Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
    Figure 00260001
    ; und 2) bei einem positiven Ergebnis der Bestimmung das Senden (60) einer Broadcast-Einverständnisnachricht, die einen Einverständniswert Y umfasst; 3) das Empfangen (70) von l Einverständnisnachrichten, welche die Einverständniswerte YA, YB, YC umfassen; 4) bei Empfang von l Einverständnisnachrichten das Erhalten (80) des Anteilswerts si entweder aus der vom Verteiler (D) gesendeten Anteilsnachricht oder aus den Unteranteilswerten sij, die von den teilnehmenden Netzwerkvorrichtungen (A, B, C) empfangen wurden, und das Bestimmen der Gültigkeit der Unteranteilswerte sij in Abhängigkeit von den Prüfwerten
    Figure 00260002
    .
  2. Verfahren zur Teilung eines geheimen Wertes x unter n teilnehmenden Netzwerkvorrichtungen (A, B, C) über ein asynchrones Netzwerk, wobei die n teilnehmenden Netzwerkvorrichtungen (A, B, C) t defekte Vorrichtungen und k Untervorrichtungen umfassen, die den geheimen Wert x rekonstruieren können, mit t < n/3 und k ≤ n – t, und der geheime Wert x durch einen Verteiler (D) bereitgestellt wird und wobei das Verfahren die folgenden Schritte umfasst: – Ableiten (10) der Anteilswerte si und der Unteranteilswerte sij des geheimen Wertes x durch den Verteiler (D) mittels eines linearen Schemas zur Teilung eines Geheimnisses und Ableiten (10) von Prüfwerten
    Figure 00260003
    die für die Prüfung der Gültigkeit der Anteilswerte si und der Unteranteilswerte sij verwendet werden können; – Senden (22) einer ersten Nachricht an jede teilnehmende Netzwerkvorrichtung (A, B, C), wobei die Nachricht die entsprechenden Unteranteilswerte sAisiA, sBisiB, sCisiC und die Prüfwerte
    Figure 00270001
    umfasst; Durchführen der folgenden Schritte für jede teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index i bei mindestens 2t + 1 teilnehmenden Netzwerkvorrichtungen (A, B, C): i.) bei Empfang der ersten Nachricht, welche die Unteranteilswerte sij, sji umfasst, das Bestimmen (32) der Gültigkeit der Unteranteilswerte sij, sji in Abhängigkeit von den Prüfwerten
    Figure 00270002
    ,
    Figure 00270003
    ; ii.) bei einem positiven Ergebnis der Bestimmung das Ableiten derjenigen relevanten Unteranteilswerte sim, smi aus den empfangenen Unteranteilswerten sij, sji, die mit den anderen teilnehmenden Netzwerkvorrichtungen (A, B, C) mit dem Index m übereinstimmen, und das Senden (34) einer zweiten Nachricht, welche die Prüfwerte
    Figure 00270004
    und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index m; iii.) empfängt eine teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index j die zweite Nachricht, das Bestimmen (42) der Gültigkeit der empfangenen Unteranteilswerte sij, sji in Abhängigkeit von den Prüfwerten
    Figure 00280001
    ,
    Figure 00280002
    ; iv.) bei einem positiven Ergebnis der Bestimmung für 2t + 1 empfangene zweite Nachrichten (44) das Senden (46) einer dritten Nachricht, welche die Prüfwerte
    Figure 00280003
    und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index m; falls keine erste Nachricht empfangen wurde, das Ableiten der relevanten Unteranteilswerte sim, smi aus den empfangenen zweiten Nachrichten; v.) empfängt eine teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index j die dritte Nachricht, das Bestimmen (52) der Gültigkeit der empfangenen Unteranteilswerte sij, sji in Abhängigkeit von den Prüfwerten
    Figure 00280004
    ,
    Figure 00280005
    ; vi.) bei einem positiven Ergebnis der Bestimmung für t + 1 empfangene dritte Nachrichten und wenn keine dritte Nachricht (54) gesendet wurde, das Senden (56) einer dritten Nachricht, welche die Prüfwerte
    Figure 00280006
    und die relevanten Unteranteilswerte sim, smi umfasst, an jede teilnehmende Netzwerkvorrichtung (A, B, C) mit dem Index m; falls keine erste Nachricht empfangen wurde, das Ableiten der relevanten Unteranteilswerte sim, smi aus den empfangenen zweiten oder dritten Nachrichten; vii.) bei einem positiven Ergebnis der Bestimmung für 2t + 1 empfangene dritte Nachrichten (58) das Ableiten (80) des Anteilswerts si aus den empfangenen ersten, zweiten oder dritten Nachrichten.
  3. Verfahren nach Anspruch 1, bei dem der Schritt 1) des Weiteren umfasst, dass an jede teilnehmende Netzwerkvorrichtung (A, B, C) die Unteranteilswerte sij, sji und zusätzlichen Prüfwerte gesendet werden, und dass beim Empfang von l zusätzlichen Prüfwerten die Prüfwerte
    Figure 00290001
    in Abhängigkeit von den empfangenen zusätzlichen Prüfwerten modifiziert werden.
  4. Verfahren nach Anspruch 1, bei dem der Schritt des Erhaltens der Anteilswerte si aus den Unteranteilswerten sij, die von den teilnehmenden Netzwerkvorrichtungen (A, B, C) empfangen wurden, des Weiteren das Senden einer Broadcast-Beschwerdenachricht und das Empfangen der als Reaktion auf die Beschwerdenachricht gesendeten Unteranteilswerte sij umfasst.
  5. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die Prüfwerte
    Figure 00290002
    abgeleitet werden durch Auswählen einer allgemeinen Zahl g aus einer dem linearen Schema zur Geheimnisteilung entsprechenden kryptografischen Gruppe G und Ableiten der Prüfwerte
    Figure 00290003
    durch Erheben der ausgewählten allgemeinen Zahl g zur Potenz einer monotonen Funktion f des Anteilswerts si.
  6. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die Prüfwerte
    Figure 00300001
    mit Hilfe einer Hash-Funktion abgeleitet werden.
  7. Verfahren nach einem der vorangegangenen Ansprüche, bei dem mehrere geheime Werte gleichzeitig geteilt werden.
  8. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die Anzahl t defekter Vorrichtungen auf eine Menge T von Gruppen erweitert wird, welche die teilnehmenden Netzwerkvorrichtungen (A, B, C; P1–P19) umfassen.
  9. Verfahren nach Anspruch 8, bei dem die teilnehmenden Netzwerkvorrichtungen (A, B, C; P1–P19) Hybridfehler (BF, CF, LF) aufweisen, welche eine unterschiedliche Struktur der Menge T oder unterschiedliche Schwellenwerte ti mit i = 1, 2, ... m widerspiegeln.
  10. Computerprogrammprodukt, das auf einem computerlesbaren Medium gespeicherte Programmcodemittel umfasst, für die Durchführung des Verfahrens nach einem der Ansprüche 1 bis 9, wenn das Computerprogrammprodukt auf einem Computer ausgeführt wird.
DE60207691T 2001-03-16 2002-02-15 Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken Expired - Lifetime DE60207691T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01106633 2001-03-16
EP01106633 2001-03-16
PCT/IB2002/000468 WO2002087145A1 (en) 2001-03-16 2002-02-15 Method of verifiably sharing a secret in potentially asynchronous networks

Publications (2)

Publication Number Publication Date
DE60207691D1 DE60207691D1 (de) 2006-01-05
DE60207691T2 true DE60207691T2 (de) 2006-07-06

Family

ID=8176814

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60207691T Expired - Lifetime DE60207691T2 (de) 2001-03-16 2002-02-15 Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken

Country Status (6)

Country Link
US (1) US7389416B2 (de)
EP (1) EP1368928B1 (de)
JP (1) JP3910538B2 (de)
KR (1) KR100570133B1 (de)
DE (1) DE60207691T2 (de)
WO (1) WO2002087145A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594275B2 (en) * 2003-10-14 2009-09-22 Microsoft Corporation Digital rights management system
US7444514B2 (en) * 2003-10-15 2008-10-28 International Business Machines Corporation Group key exchanges with failures
US20070094494A1 (en) * 2005-10-26 2007-04-26 Honeywell International Inc. Defending against sybil attacks in sensor networks
US8842835B2 (en) 2005-10-27 2014-09-23 Cisco Technology Network security system
US8682842B2 (en) * 2008-12-09 2014-03-25 Yahoo! Inc. System and method for logging operations
WO2011136806A1 (en) 2010-04-30 2011-11-03 Hewlett-Packard Development Company, L.P. Ionic devices with interacting species
US9292671B1 (en) * 2012-08-31 2016-03-22 Emc Corporation Multi-server authentication using personalized proactivization
US9558359B1 (en) * 2013-03-13 2017-01-31 Hrl Laboratories, Llc Information theoretically secure protocol for mobile proactive secret sharing with near-optimal resilience
US9614676B1 (en) 2013-03-13 2017-04-04 Hrl Laboratories, Llc Cryptographically-secure packed proactive secret sharing (PPSS) protocol
US9450938B1 (en) 2013-03-13 2016-09-20 Hrl Laboratories, Llc Information secure proactive multiparty computation (PMPC) protocol with linear bandwidth complexity
US9787472B1 (en) 2013-03-13 2017-10-10 Hrl Laboratories, Llc Information secure protocol for mobile proactive secret sharing with near-optimal resilience
US9536114B1 (en) 2013-03-13 2017-01-03 Hrl Laboratories, Llc Secure mobile proactive multiparty computation protocol
US9467451B1 (en) 2013-03-13 2016-10-11 Hrl Laboratories, Llc Generic proactively-secure secret-sharing protocol from any suitable honest-majority secret-sharing protocol
JP6034927B1 (ja) * 2015-07-27 2016-11-30 日本電信電話株式会社 秘密計算システム、秘密計算装置、およびプログラム
CN108155989B (zh) * 2017-12-28 2020-11-03 贵州玛迩比特通信科技有限公司 一种多用户认证方法及系统
US11240010B2 (en) * 2018-02-12 2022-02-01 Ripple Labs Inc. Random oracles in open networks
US11531603B2 (en) 2018-02-12 2022-12-20 Ripple Labs Inc. Byzantine agreement in open networks
US11362816B2 (en) 2020-09-11 2022-06-14 Seagate Technology Llc Layered secret sharing with flexible access structures
US11316673B2 (en) 2020-09-11 2022-04-26 Seagate Technology Llc Privacy preserving secret sharing from novel combinatorial objects

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2534430B2 (ja) * 1992-04-15 1996-09-18 インターナショナル・ビジネス・マシーンズ・コーポレイション フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法
JP3604737B2 (ja) 1994-07-29 2004-12-22 キヤノン株式会社 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム
JPH10198272A (ja) * 1996-12-27 1998-07-31 Canon Inc 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム
JP3328597B2 (ja) 1999-01-25 2002-09-24 日本電信電話株式会社 分散乗算装置及びそのプログラム記録媒体
US6754845B2 (en) * 2000-01-14 2004-06-22 International Business Machines Corporation Method of achieving optimistic multiple processor agreement in potentially asynchronous networks
US6931431B2 (en) * 2001-01-13 2005-08-16 International Business Machines Corporation Agreement and atomic broadcast in asynchronous networks
EP1418750A1 (de) * 2002-11-11 2004-05-12 STMicroelectronics Limited Integrierte Schaltung mit Sicherheitsfunktion
US7327847B2 (en) * 2003-01-29 2008-02-05 International Business Machines Corporation Method for distributed computation of RSA inverses in asynchronous networks

Also Published As

Publication number Publication date
EP1368928B1 (de) 2005-11-30
KR100570133B1 (ko) 2006-04-12
DE60207691D1 (de) 2006-01-05
US20040139146A1 (en) 2004-07-15
JP3910538B2 (ja) 2007-04-25
WO2002087145A1 (en) 2002-10-31
JP2004525466A (ja) 2004-08-19
EP1368928A1 (de) 2003-12-10
KR20030085002A (ko) 2003-11-01
US7389416B2 (en) 2008-06-17

Similar Documents

Publication Publication Date Title
DE60207691T2 (de) Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
DE69737097T2 (de) Kryptographisches verfahren und vorrichtung mit öffentlichem schlüssel
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
DE69633590T2 (de) Verfahren zur Unterschrift und zur Sitzungsschlüsselerzeugung
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE19803939B4 (de) Verfahren zur Identifizierung von Zugangsbefugten
EP1793525B1 (de) Verfahren zum Ändern eines Gruppenschlüssels in einer Gruppe von Netzelementen in einem Netz
DE60312659T2 (de) Leichtgewicht identifizierung von informationen
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE69531264T2 (de) Verfahren zur Erzeugung und Aktualisierung eines Sitzungsschlüssels in einen verteilten Kommunikationsnetzwerk
DE60215332T2 (de) System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses
DE69630331T2 (de) Verfahren zur gesicherten Sitzungsschlüsselerzeugung und zur Authentifizierung
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE69133502T2 (de) Geheimübertragungsverfahren und -gerät
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
DE60006147T2 (de) Schlüsselzustimmungsprotokoll mit getrennten Schlüsseln
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
CH711133A2 (de) Protokoll zur Signaturerzeugung.
EP2321927A1 (de) Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
EP3791534A2 (de) Verfahren zum sichern eines datenaustausches in einer verteilten infrastruktur

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R082 Change of representative

Ref document number: 1368928

Country of ref document: EP

Representative=s name: PFENNING MEINIG & PARTNER GBR, DE