Gruppieren von Signaturschemata mit verteilter Rückverfolgbarkeit (oder faires Öffnen einer Signatur)

Bild von Anne-Laure Delva

In diesem Beitrag möchte ich Gruppensignaturschemata und insbesondere Gruppensignaturen mit verteilter Rückverfolgbarkeit erläutern und zeigen, warum dies ein interessantes kryptografisches Tool für verteilte Systeme ist. Als Beispiel für die Verwendung dieser Signaturen dient das Helix-Konsensusprotokoll.

Mit den von Chaum und Van Heyst eingeführten Gruppensignaturen kann ein Mitglied einer Gruppe anonym im Namen der Gruppe signieren und in besonderen Fällen die Identität des Unterzeichners nachverfolgen. Das heißt, Gruppenteilnehmer können mithilfe von Bestätigungsschlüsseln überprüfen, ob eine Signatur tatsächlich von jemandem in der Gruppe erstellt wurde, aber nicht von wem. Im Falle von Streitigkeiten oder Fehlverhalten verwendet eine Verfolgungsbehörde ihren Verfolgungsschlüssel, um den Unterzeichner zurückzuverfolgen.

In einigen Anwendungsfällen funktioniert eine einzige Verfolgungsautorität. In vielen anderen Fällen gibt es jedoch keine einzige Behörde, der alle vertrauen, um die Anonymität zu widerrufen. Daher ist es sinnvoller, die Verantwortung auf mehrere Behörden aufzuteilen. Diese Erkenntnis führte Benjumea et al. „Faire nachvollziehbare Mehrgruppensignaturen“ zu entwerfen. Bei der Eröffnung ihres Schemas ist eine Unterschrift möglich, wenn mehrere Fairness-Behörden zusammenarbeiten. Die Fairness-Behörden können auch zusammenarbeiten, um einen Rückverfolgungsschlüssel eines verdächtigen Benutzers zu ermitteln. Mit diesem Schlüssel kann überprüft werden, ob eine Nachricht von einem bestimmten Benutzer signiert wurde, ohne die Anonymität der anderen Benutzer zu widerrufen.

Bis zum heutigen Tag gibt es mehrere Signaturschemata mit verteilter Rückverfolgbarkeit, die sich in Bezug auf die von ihnen angebotenen Funktionen geringfügig unterscheiden, z. B. "Democratic Group Signatures with Threshold Traceability" von Zheng et al al., auf die ich noch näher eingehen werde.

Gruppensignaturen mit verteilter Rückverfolgbarkeit in Helix

Bei Orbs entwickeln wir Helix, unser ursprüngliches Konsensprotokoll, das speziell entwickelt wurde, um sicherzustellen, dass Transaktionen auf faire Weise bestellt werden. Das Schlüsselkonzept in Helix ist, dass Netzwerkknoten nicht manipulieren können, welche Transaktionen in einem neuen Block enthalten sind oder in welcher Reihenfolge sie angeordnet sind. Insbesondere können sie bestimmte Knoten oder Benutzer nicht zensieren und ihre eigenen Transaktionen nicht wesentlich begünstigen. Weitere Informationen zu Helix finden Sie in diesem Blogbeitrag.

Ein wichtiger Beitrag zur Fairness in Helix besteht darin, dass die Benutzer ihre Transaktionen verschlüsseln und die ursprünglichen Transaktionen erst dann entschlüsseln, nachdem sie an die Blockchain angehängt wurden. Das Verschlüsseln der Transaktionen ist mit einem Preis verbunden, insbesondere müssen Benutzer und Knoten, die Junk-Nachrichten an das Netzwerk senden, bestraft werden, anstatt gültige Transaktionen auszuführen. Aus diesem Grund brauchen wir einen Mechanismus, mit dem wir herausfinden können, welche Netzwerkknoten für problematische Transaktionen verantwortlich sind, um ihre Reputation zu mindern.

Wir können dies mithilfe von Gruppensignaturen mit verteilter Nachverfolgbarkeit tun, indem jeder Netzwerkknoten als Fairness-Autorität fungiert und eine bestimmte Anzahl von Autoritäten zum Öffnen und Nachverfolgen von Signaturen erforderlich ist.

Ich beschreibe nun den Ablauf einer Transaktion in Helix und wie Gruppensignaturen mit verteilter Rückverfolgbarkeit verwendet werden können. Wenn Sie sich weniger für diesen bestimmten Ablauf interessieren, können Sie das Schema der Kandidatensignatur überspringen und lesen. Der Ablauf beginnt, wenn ein Benutzer eine Transaktion erstellt, verschlüsselt und an einen Netzwerkknoten sendet, dem er zugeordnet ist. Der Netzwerkknoten signiert dann die Transaktion unter Verwendung eines fairen nachvollziehbaren Gruppensignaturschemas und leitet die Transaktion an das Netzwerk weiter. Bevor die Transaktion in einen Block aufgenommen wird, überprüft der Blockersteller, ob die Transaktion eine gültige Gruppensignatur hat. Nachdem der Block an die Blockkette angehängt wurde, leiten wir einen Prozess ein (der eine Schwellenwertanzahl von Knoten erfordert), um die Transaktionen im Block zu entschlüsseln. Bei Bedarf (zum Beispiel stellt sich heraus, dass die entschlüsselte Transaktion ungültig ist) kooperiert eine bestimmte Anzahl von Knoten und öffnet die Signatur, um festzustellen, welcher Knoten diese Transaktion signiert hat.

Eine weitere mögliche Option für den Ablauf besteht darin, die Signaturen standardmäßig parallel zum Entschlüsselungsprozess zu öffnen. Der Vorteil des standardmäßigen Öffnens der Signatur besteht darin, dass auf diese Weise kein spezielles Protokoll für fehlerhafte Transaktionen initiiert werden muss und stattdessen dieser Prozess als Teil des normalen Ablaufs ausgeführt wird. Eine andere Möglichkeit besteht darin, den Prozess des Anzeigens eines Ablaufverfolgungsschlüssels (der zum Verfolgen eines bestimmten Knotens mit fehlerhaftem Verhalten verwendet wird) einzubeziehen. Wir stellen außerdem fest, dass einige Gruppensignaturschemata auch Anspruchsfunktionen haben, bei denen Unterzeichner die Signatur als zu ihnen gehörend beanspruchen können, die wir im obigen Ablauf nicht verwendet haben.

Aus unserem Datenfluss leiten wir die Sicherheitsanforderungen ab, die wir anstreben:

  • Anonymität: Eine Gruppensignatur gibt keinen Aufschluss über die Identität des Mitglieds, das sie erstellt hat, es sei denn, mehr als eine bestimmte Anzahl von Fairness-Behörden arbeiten zusammen.
  • Die Rückverfolgbarkeit gewährleistet die Anonymität: Wenn ein Knoten behauptet, dass er der Urheber einer Signatur ist oder seine Identität im Rahmen des Rückverfolgungsalgorithmus aufgedeckt wurde, wird die Vertraulichkeit der verbleibenden früheren oder zukünftigen Gruppensignaturen, die er ausgibt, nicht berücksichtigt.
  • Unlinkability: Es ist unmöglich, zwei oder mehr Unterschriften als vom selben Unterzeichner erstellt zu kennzeichnen, ohne dass eine bestimmte Anzahl von Behörden zusammenarbeitet.
  • Nicht-Framefähigkeit: Auch wenn die Gruppen- und Tracing-Manager mit dem Rest der Gruppe zusammenarbeiten, können sie kein ehrliches Gruppenmitglied einrahmen. Ein Benutzer kann auf zwei verschiedene Arten umrahmt werden: Die Behörden und andere Benutzer können eine Signatur erstellen, die sich öffnet oder auf einen unschuldigen Benutzer zurückführt (diese Anforderung wird auch als starke Entschuldbarkeit bezeichnet), oder sie fordern eine vom Benutzer erstellte Signatur als ihre eigenen.

Weitere wichtige Anforderungen sind: Unterstützung des dynamischen Wechsels von Unterzeichnern und Ablaufverfolgern und Nichterfordernis einer vertrauenswürdigen Einrichtung.

Kandidat Unterschriftenschema

Eines der effizientesten Signaturschemata, das derzeit bekannt ist, ist das von Boneh, Boyen und Shacham (BBS), die sie in ihrer Arbeit „Short Group Signaturen“ vorgestellt haben. Ihrem Signaturschema fehlen einige Eigenschaften, die für unsere Verwendung erforderlich sind. Erstens bietet das Gruppensignaturschema keine verteilte Rückverfolgbarkeit, sondern erfordert eine zentralisierte Rückverfolgungsbehörde. Darüber hinaus erfüllt ihr Schema nicht die Anforderung, dass die Rückverfolgbarkeit die Anonymität aufrechterhält (da es keine CCA-Anonymität bietet, die später erläutert wird), was in unserer Umgebung von entscheidender Bedeutung ist. Darüber hinaus erfordert der Schlüsselerzeugungsprozess einen vertrauenswürdigen Händler. Zum Glück gibt es Follow-up-Papiere, die sich um die ersten beiden Themen kümmern. Die Ideen können kombiniert werden, um ein CCA-anonymes Signaturschema zu erhalten, das eine verteilte Rückverfolgbarkeit bietet. Das Problem, den vertrauenswürdigen Händler loszuwerden, muss behoben werden, wenn wir dieses Schema wählen.

In einer Arbeit von Blomer et. Unter dem Titel „Kurze Gruppensignaturen mit verteilter Rückverfolgbarkeit“ wird das Schema von BBS erweitert, um die verteilte Rückverfolgbarkeit zu unterstützen. Dies wird auf folgende Weise erreicht. Im BBS-Schema ist ein Teil der Signatur eine Verschlüsselung (eines Teils) des geheimen Schlüssels, und das Öffnen entspricht dem Entschlüsseln dieses Chiffretexts. In der Arbeit von Blomer wird die Verschlüsselung in Schwellenwertverschlüsselung geändert. Das Öffnen einer Signatur besteht aus zwei Prozessen: Der erste erzeugt eine offene Freigabe aus der Signatur und der zweite kombiniert eine bestimmte Anzahl von Freigaben, um den Schlüssel des Unterzeichners wieder zu entschlüsseln. Eine weitere Änderung besteht darin, dem geheimen Schlüssel ein zusätzliches Element hinzuzufügen, das nur dem Benutzer und nicht den Fairness-Behörden bekannt ist. Dies garantiert, dass die Fairness Authority nicht im Namen anderer Mitglieder unterschreiben kann.

Das System von BBS bietet CPA-Anonymität. In etwa bedeutet dies, dass die Signaturen anonym sind, vorausgesetzt, der Gegner kann das Protokoll der Ablaufverfolgungssignaturen nicht abfragen. Diese Annahme ist jedoch in unserer Situation nicht gerechtfertigt, da ein Gegner möglicherweise signierte Nachrichten erstellt und diese an die Blockchain sendet. Anschließend werden sie als Teil unseres normalen Datenflusses nachverfolgt. Aus diesem Grund muss das Signaturschema CCA-anonym sein. Dies bedeutet, dass auch ein Angreifer, der Zugriff auf das Protokoll zur offenen Verfolgung hat, die Signatur nicht verfolgen kann, ohne mit einer bestimmten Anzahl von Fairness-Behörden zusammenzuarbeiten. In seinem Artikel „Kommunikationseffiziente, nicht interaktive Wissensnachweise mit Online-Extraktoren“ stellt Fischlin eine Methode vor, mit der das Signaturschema von BBS CCA-sicher gemacht werden kann. Dies funktioniert, indem der Signatur eine Komponente hinzugefügt wird, die einen nicht interaktiven wissensfreien Wissensnachweis für die beim Verschlüsseln verwendeten Zufallswerte generiert. Informell stellt dies sicher, dass der Gegner nicht viel von der Interaktion mit dem Ablaufverfolgungsprotokoll profitiert, da er zum Signieren einer gültigen Nachricht zunächst die Zufallswerte kennen musste, die zum Erzeugen der Verschlüsselung verwendet wurden.

Größe der Unterschrift

Die Länge des BBS-Gruppensignaturschemas unter den von den Autoren vorgeschlagenen Parametern beträgt 1.533 Bit. Dies ist vergleichbar mit der Größe der RSA-Signatur, die für Signaturen mit ähnlicher Sicherheit 1.024 oder 2.048 Bit lang ist. Durch das Hinzufügen einer verteilten Rückverfolgbarkeit wird die Signatur nicht länger. In Bezug auf die Komplexität muss jedoch die Lagrange-Polynominterpolation berechnet werden, um die Anteile zu kombinieren.

Der wissensfreie Nachweis von Wissen ist relativ groß und teuer in der Berechnung. Für die im Papier vorgeschlagenen Parameter beträgt die Länge 3.520 Bit, was einer Signaturlänge von insgesamt 5.053 Bit entspricht.

Die Größe der Signatur-Shares beträgt 340 Bit pro Share.

Ich möchte Steven Goldfeder für hilfreiche Diskussionen zu diesem Thema danken.

* Lesen Sie die Whitepapers zu Orbs: https://www.orbs.com/white-papers

Tritt der Orbs-Community bei:

  • Telegramm: https://t.me/orbs_network
  • Twitter: https://twitter.com/orbs_network
  • Reddit: https://www.reddit.com/r/ORBS_Network/
  • GitHub: https://github.com/orbs-network