Teil 2: Genesis of Ledger Recover – Sichere Verteilung der Anteile | Hauptbuch

Teil 2: Genesis of Ledger Recover – Sichere Verteilung der Anteile | Hauptbuch

Quellknoten: 2184669

Willkommen zurück zum zweiten Teil unserer Blogserie Ledger-WiederherstellungDie Entstehung! Unser Ziel ist es, die vielen technischen Hürden zu untersuchen, die beim Aufbau eines Seed-Recovery-Dienstes auftreten, und wie Ledger Recover diese mit einem sicheren Design und einer sicheren Infrastruktur löst.

Im vorherigen Teilhaben wir untersucht, wie Sie eine geheime Wiederherstellungsphrase durch Aufteilen sichern und wie Ledger Recover dies für Sie erledigt Pedersen nachweisbares Teilen von Geheimnissen.

Da Sie nun drei Aktien haben, lautet die nächste Frage: Wie können Sie sie sicher an Ihre Backup-Anbieter verteilen? Wenn nämlich eine böswillige Partei alle Aktien abfängt, während Sie sie übertragen, wird der Zweck der Aufteilung des Seeds von vornherein zunichte gemacht. In der Cybersicherheit nennt man das a Man-in-the-Middle-AngriffDabei steht ein Angreifer zwischen Ihnen und Ihrem Empfänger und manipuliert die Kommunikation, um Geheimnisse aufzudecken.

Bei Verwendung von Ledger Recover erfolgt die Übertragung Ihres Seeds über einen sicheren Verteilungsmechanismus. Es basiert auf mehreren kryptografischen Werkzeugen und mathematischen Konzepten, die wir ausführlich erläutern werden.

Wir beginnen mit einer detaillierteren Beschreibung des vorliegenden Problems. Anschließend stellen wir verschiedene kryptografische Tools und mathematische Konzepte vor, die Ledger Recover nutzt, um Ihre Seed-Shares sicher an Backup-Anbieter zu verteilen.

Courier-In-The-Middle: Ein Beispiel aus der Praxis

Der offensichtlichste Weg, sich vor einem böswilligen Vermittler zu schützen, besteht darin, überhaupt keinen zu haben. Sie könnten selbst zu den Häusern Ihrer Freunde gehen oder sie an demselben, abgeschlossenen Ort versammeln, um die Aktien abzugeben. Dies wird jedoch viel schwieriger, wenn Sie nicht anwesend sind und die Aktien an einen Fernbekannten senden möchten.

Angenommen, das Netzwerk, über das wir kommunizieren (z. B. der Postdienst), ist von Natur aus nicht vertrauenswürdig. Wie können wir dann garantieren, dass Lauscher niemals Einblick in unsere geheimen Informationen erhalten?

Es ist an der Zeit, Alice und Bob sowie die berüchtigte Eve vorzustellen, drei bekannte Kryptographie-Persönlichkeiten. Alice hat ein Geheimnis, das sie mit Bob teilen möchte, und hat keine andere Wahl, als es über Eve, ihren nicht vertrauenswürdigen Kurier, zu schicken. In kryptografischen Worten: Alice und Bob möchten einen sicheren Kommunikationskanal miteinander aufbauen, um ihr Geheimnis sicher auszutauschen.

Folgendes könnten Alice und Bob tun:

  • Alice steckt ihr Geheimnis in eine Kiste, verschließt sie mit ihrem persönlichen Vorhängeschloss, bevor sie es an Bob schickt.
  • Als Bob die Schachtel erhält, fügt er hinzu sein eigenes Vorhängeschloss und schickt es zurück.
  • Alice kann nun mit ihrem Schlüssel ihr Vorhängeschloss aus der Box entfernen, bevor sie es ein letztes Mal verschickt.
  • Zum Abschluss des Vorgangs nutzt Bob einfach seinen Schlüssel, um sein Vorhängeschloss zu entfernen und – endlich – das Geheimnis von Alice zu entlocken.

Während des gesamten Austauschs war Eve, wenn sie die Kiste in ihren Händen hielt, immer geschützt, entweder durch Alices Schloss, durch Bobs oder durch beides.

Obwohl dies ein ausgezeichneter Anfang ist, müssen in diesem Szenario noch einige Probleme gelöst werden:

  • Gegenseitige Authentifizierung: Alice und Bob brauchen narrensichere Methoden, um zu überprüfen, ob jedes Vorhängeschloss tatsächlich von der anderen Partei stammt. Andernfalls könnte Eve es mit ihrer eigenen Box und ihrem Vorhängeschloss austauschen und Alice oder Bob glauben machen, sie sei die andere Partei.
  • Geheimhaltung weiterleiten: Wenn Eve die verschlossene Kiste und später Alices oder Bobs Schlüssel stahl, könnte sie das ursprüngliche Geheimnis wiedererlangen. Stattdessen möchten wir sicherstellen, dass zukünftige Lecks von Langzeitschlüsseln ältere gestohlene Pakete nicht gefährden können.
  • Wahrung der Privatsphäre: In diesem Szenario werden die Adressen von Alice und Bob dem Kurier mitgeteilt. Im digitalen Äquivalent dieses Prozesses wollen wir ein Protokoll, das nichts über die Empfänger preisgibt.
Sicherung digitaler Nachrichten

In der digitalen Sicherheit a sicherer Kanal ist eine Möglichkeit, Daten zwischen zwei zu übertragen authentifiziert Parteien wie diese Daten Vertraulichkeit und Integrität sind garantiert. Wenn Sie einen sicheren Kanal verwenden, können Angreifer Ihre Kommunikation nicht abhören oder manipulieren.

Das Protokoll von Ledger Recover für Sicherung und Wiederherstellung basiert auf a Secure-Channel-Protokoll, oder SCP. Es nutzt mehrere Werkzeuge der modernen Kryptografie-Toolbox, wie symmetrische und asymmetrische Verschlüsselung, Zertifikate und digitale Signaturen.
In den nächsten Abschnitten erhalten Sie eine kurze Einführung in alle diese Konzepte, sodass Sie das gesamte in Ledger Recover verwendete Sicherheitsschema verstehen können.

Symmetrische Kryptographie: Ein leistungsstarkes, aber begrenztes Werkzeug

Um die Vertraulichkeit der zwischen zwei Parteien ausgetauschten Daten zu gewährleisten, werden die Daten in der Regel mit demselben geheimen Schlüssel verschlüsselt und entschlüsselt.
Dieser Vorgang wird als bezeichnet symmetrische Kryptographie, Hierbei handelt es sich um die Untersuchung von Grundelementen, die einen einzigen geheimen Schlüssel beinhalten, um eine oder mehrere Eigenschaften eines sicheren Kanals zu gewährleisten.

Obwohl es sich bei der symmetrischen Kryptografie um ein leistungsstarkes Werkzeug zum Schutz Ihrer Kommunikation handelt, weist sie einige offensichtliche Einschränkungen auf: Angenommen, Alice möchte mehrere verschlüsselte Nachrichten mit Bob austauschen. Sie wählt zunächst einen geheimen Schlüssel aus, teilt ihn dann Bob mit, bevor sie mit dem Versenden von Nachrichten beginnt.
Jetzt stellt sich natürlich das Problem: Wie teilt Alice den geheimen Schlüssel sicher mit Bob? Sollte jemand an den Schlüssel gelangen, ist die Kommunikation zwischen Alice und Bob nicht mehr vertraulich.
Alice könnte Bob persönlich treffen, um ihm den Schlüssel zu geben, aber warum sollten sie in diesem Fall ihre Diskussion dann nicht abseits neugieriger Ohren führen?

Für die digitale Kommunikation benötigen wir eine sichere Methode, um den symmetrischen Schlüssel zu teilen und den geschützten Datenaustausch zu initiieren. Es ist an der Zeit, die Arbeit zweier Giganten der modernen Kryptographie vorzustellen: Whitfield Diffie und Martin Hellmann.

Asymmetrische Kryptografie: Verstecken Sie Ihre privaten Teile
Diffie-Hellman-Schlüsselvereinbarung

Mit der Public-Key-Kryptographie entwickelten Diffie und Hellman einen neuartigen Ansatz zur Sicherung der Kommunikation. Sie definierten ein Protokoll mit zwei unterschiedlichen Schlüsseln für die Verschlüsselung und Entschlüsselung. Die beiden Schlüssel werden üblicherweise aufgerufen öffentliche und private Schlüsselund bilden ein Paar, das zum Verschlüsseln/Entschlüsseln und Signieren/Verifizieren von Daten verwendet werden kann.

Öffentliche und private Schlüssel
Die Public-Key-Kryptographie ist die Grundlage der meisten unserer digitalen Sicherheitsmaßnahmen. Es dient Ihrem Schutz im Internet und dient auch dazu, den Besitz von Münzen und Token auf allen öffentlichen Blockchains nachzuweisen.

Erfahren Sie mehr zu diesem Thema auf der Ledger Academy!

Was uns wirklich überzeugt, ist die Art und Weise, wie Diffie und Hellman vorschlugen, die Public-Key-Kryptographie zur Verteilung symmetrischer Schlüssel zu verwenden. Ihre Methode, bekannt als Diffie-Hellman-Schlüsselaustausch, besteht aus einem hin- und hergehenden Austausch zwischen zwei Parteien, um sich letztendlich auf ein gemeinsames Geheimnis zu einigen. Bei richtiger Durchführung sind Lauscher nicht in der Lage, aus den Informationen, die sie belauscht haben, dasselbe gemeinsame Geheimnis zu errechnen.

Generieren eines gemeinsamen Geheimnisses k

Der TL;DR ist, dass Eve im obigen Diagramm mathematisch nicht in der Lage ist, das Geheimnis herauszufinden k, obwohl sie Zugriff auf die gesamte Kommunikation von Alice und Bob hat. Um zu verstehen, warum dieses gemeinsame Geheimnis vor jedem Abhörer sicher ist, müssen wir uns ein wenig mit der Gruppentheorie befassen. 

Die Sicherheit des Diffie-Hellman-Schlüsselaustauschs hängt von der Komplexität des Problems des diskreten Logarithmus über einer zyklischen Gruppe ab. Eine zyklische Gruppe ist eine Gruppe, die von einem einzelnen Element generiert wird.
Kurz gesagt führen Alice und Bob die folgenden Schritte aus, um sich auf ein gemeinsames Geheimnis zu einigen k:

  1. Alice und Bob einigen sich auf eine zyklische Gruppe G der Ordnung n von einem Element erzeugt g
  2. Alice zieht zufällig eine Zahl 0 < a < n und sendet pa = ga ∈ G zu Bob
  3. Bob zieht zufällig eine Zahl 0 < b < n und sendet pb = gb ∈ G zu Alice
  4. Alice berechnet das gemeinsame Geheimnis k =(Sb )a ∈ G
  5. Bob berechnet das gemeinsame Geheimnis k =(Sa )b ∈ G

Die Sicherheit des Protokolls hängt von der Härte der Feststellung ab k =gab gegeben g, ga, gb. Dies nennt man das Berechnung Diffie-Hellman-Annahme (CDH). Die Hypothese, dass CDH schwer zu lösen ist, setzt voraus, dass die diskretes Logarithmusproblem ist schwer zu lösen.

Bei diesem System ist das gemeinsame Geheimnis zwar vor Abhörversuchen geschützt, es gibt jedoch keine Garantie für die Herkunft der ausgetauschten Daten. Damit die Interaktion sicher ist, müssen Alice und Bob sich gegenseitig ihre Identität beweisen.

Gegenseitige Authentifizierung und digitale Signatur

Mit einer handschriftlichen Unterschrift wird in der Regel der Inhalt eines Dokuments anerkannt und akzeptiert. Nur der Unterzeichner ist in der Lage, die Unterschrift zu leisten, aber jeder, der „weiß“, wie die Unterschrift aussieht, kann überprüfen, ob das Dokument von der richtigen Person unterzeichnet wurde.

Eine digitale Signatur verfügt zwar über ähnliche Eigenschaften, bietet jedoch durch die Nutzung asymmetrischer Kryptografie zusätzliche starke Garantien:

  • Authentizität: Jeder kann überprüfen, ob die Nachricht mit dem privaten Schlüssel signiert wurde, der dem angegebenen öffentlichen Schlüssel entspricht.
  • Nicht-Zurückweisung: Der Unterzeichner kann nicht leugnen, die Nachricht signiert und gesendet zu haben.
  • Integrität: Die Nachricht wurde während der Übertragung nicht verändert.

Nun, solange Wir kennen und vertrauen dem öffentlichen Schlüssel Als Kunde unseres Korrespondenten können wir die Authentizität aller Nachrichten überprüfen, indem wir ihre digitale Signatur überprüfen.
In den meisten realen Fällen kennen wir unseren Gesprächspartner jedoch entweder nicht genau oder er muss aus Sicherheitsgründen regelmäßig sein privates/öffentliches Schlüsselpaar ändern. Dies erfordert eine zusätzliche Ebene der Überprüfung und des Vertrauens in Form von Zertifikate, die die Beschreibung einer Entität und ihren öffentlichen Schlüssel enthalten.

Jedes Zertifikat ist mit einem übergeordneten öffentlichen Schlüssel signiert. Indem wir über eine Stammzertifizierungsstelle (oder Stammzertifizierungsstelle) verfügen, der wir immer vertrauen, können wir mithilfe aufeinanderfolgender digitaler Signaturen eine Vertrauenskette aufbauen.

Elliptische Kurven: Public-Key-Kryptographie der nächsten Stufe

Elliptische Kurvenkryptographie (ECC) ist ein Teilgebiet der Public-Key-Kryptographie, bei der elliptische Kurven für kryptografische Anwendungen verwendet werden, beispielsweise für Verschlüsselungs- oder Signaturverfahren. 
Basierend auf der derzeit verstandenen Mathematik bietet ECC eine wesentlich sicherere Grundlage als frühere Kryptografiesysteme mit öffentlichem Schlüssel RSA.

Bei gleichem Sicherheitsniveau weist ECC im Vergleich zu anderen asymmetrischen Kryptosystemen kürzere Schlüssellängen auf, was es zu einer guten Wahl für eingebettete Systeme mit begrenzten Ressourcen macht.
Wenn Sie mehr wissen möchten, Dieser Artikel kann helfen, elliptische Kurven besser zu verstehen.

Ordnung einer elliptischen Kurve
Die Reihenfolge eines Elements g einer Gruppe ist ein wichtiger Parameter des Diffie-Hellman-Schlüsselaustauschs. Wenn es sich bei der Gruppe um eine elliptische Kurve handelt, ist dieses Element ein Punkt, und seine Reihenfolge gibt an, wie oft es zu sich selbst addiert werden kann, bevor es auf seinem Anfangswert eine Schleife bildet.
Beachten Sie, dass diese Addition nichts mit Ihrer üblichen Summe über reellen Zahlen zu tun hat, sondern ähnliche Eigenschaften der Additivität aufweist.

Nehmen wir die elliptische Kurve E: j2 =x3 +2x +3 über das Feld 𝔽97 als Beispiel. Als diskrete Funktion wird sie durch die Punkte in der folgenden Abbildung dargestellt. Wir werden uns auf den Punkt konzentrieren P =(3, 6) und alle seine Vielfachen.

Das sehen wir nach 5.P, wir sind wieder am Anfang und erreichen die gleichen Punkte wie zuvor. Egal welchen Wert der Skalar hat P multipliziert wird, treffen wir immer einen unserer 5 Anfangspunkte.
Somit ist die Reihenfolge von P ist 5 und die von ihm generierte Untergruppe enthält genau 5 Punkte. Bei kryptografischen Anwendungen ist die Reihenfolge jedoch weitaus größer als 5, was die Zufälligkeit erhöht.

Alles zusammen: ECDH mit Authentifizierung

Wir haben jetzt alle Werkzeuge, die wir brauchen, um ein großartiges Schlüsselaustauschprotokoll zu erstellen:  Elliptische Kurve Diffie-Hellman (ECDH).

ECDH ist ein standardisiertes kryptografisches Schema, das den oben beschriebenen Diffie-Hellman-Schlüsselaustausch implementiert, indem es die Elliptic-Curve-Kryptografie verwendet, um die Schlüsselpaare und das gemeinsame Geheimnis zu generieren.

Authentifizierter ECDH-Schlüsselaustausch

Es beginnt mit der Auswahl einer elliptischen Kurve und ihres Erzeugungspunkts. Anschließend tauschen die beiden Parteien vertrauenswürdige Zertifikate aus, wodurch sie die Authentizität ihrer jeweiligen öffentlichen Schlüssel überprüfen können. Nach der Authentifizierung können sie ein gemeinsames Geheimnis k generieren, das wie folgt berechnet wird:

k = dA . DB . G
dA: Alices privater Schlüssel
dB: Bobs privater Schlüssel
G: EC-Punkt

Um das zu erreichen Vorwärtsgeheimnis Eigenschaft sollte das Schlüsselpaar von Alice und Bob kurzlebig sein, d. h. sie werden vor Ort generiert und für eine einzelne Ausführung des Protokolls verwendet. Wir sprechen von einem Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). In diesem Szenario werden die ephemeren Schlüssel sowohl von den statischen Schlüsseln auf dem Gerät als auch von den HSMs signiert, wodurch eine starke Authentifizierung der Schlüssel ermöglicht wird. Selbst wenn in Zukunft ein unbefugter Zugriff auf die statischen Schlüssel erfolgen sollte, wären dadurch keine Entschlüsselungsfunktionen für die durch die kurzlebigen Schlüssel geschützten Börsen möglich.

Darüber hinaus haben wir eine bemerkenswerte Verbesserung des Protokolls implementiert, indem wir die statischen Schlüssel der Geräte innerhalb des sicheren Kanals verbergen. Diese Vorsichtsmaßnahme verhindert, dass Angreifer Einblick in das statische Zertifikat der Geräte erhalten, was wiederum dazu führen könnte, dass eindeutige Kennungen verloren gehen, die bei Sicherungs-/Wiederherstellungsvorgängen verwendet werden.

Zurück zu Ledger Recover: Die Reise eines Samens

Okay, es ist Zeit, eine Minute innezuhalten.

Wir haben viele Themen behandelt, die sowohl die Sicherheit als auch die Mathematik betreffen, und das Ergebnis ist ein Protokoll zur sicheren Kommunikation über jedes unsichere Netzwerk. Fassen wir zusammen, was wir bisher gesehen haben:

Zwei Entitäten können eine sichere Kommunikation über einen unsicheren Kanal haben, indem sie sich auf einen einigen einzigartiges Geheimnis Danke an die ECDHE, eine Implementierung des Diffie-Hellman-Schlüsselvereinbarungsprotokolls, das verwendet wird vergängliche Schlüssel um die Vorwärtsgeheimnis zu schützen. Jede Entität ist dazu in der Lage Überprüfen Sie die Echtheit ihres Korrespondenten Dank einer Initiale Zertifikatsüberprüfung.

Im Fall von Ledger Recover haben wir vier sichere Kanäle mithilfe des Secure Channel Protocol eingerichtet. Diese Kanäle verbinden das Gerät mit jedem der Backup-Anbieter und dem Orchestrator, die alle mit Hardware-Sicherheitsmodulen (HSMs) ausgestattet sind.

Jeder Akteur behält sein persönliches Zertifikat, signiert durch ein Ledger-Zertifikat, das als Wurzel der Vertrauenskette fungiert. Wenn das Gerät des Benutzers zum ersten Mal seine Absicht, eine Sicherung durchzuführen, an den Orchestrator übermittelt, initiiert es einen authentifizierten ECDHE. Unter diesen mTLS Sitzungen übermittelt der Orchestrator Informationen, die zukünftige sichere Kanäle mit der jeweiligen Sicherungsanforderung des Benutzers verknüpfen, zusammen mit der Identität des Benutzers, die zur Validierung bei einer späteren Wiederherstellung des Seeds abgefragt wird.

Geheimnisse mit HSMs schützen
Auch wenn wir versuchen, dies zu vermeiden, ist es manchmal erforderlich, Geheimnisse auf Servern zu speichern und zu verarbeiten. Dies kann riskant sein, da der Schutz von Servern und deren Zugriff keine triviale Aufgabe ist. Um dieses Risiko zu mindern, nutzen Unternehmen und Branchen, die Wert auf Sicherheit legen Hardware-Sicherheitsmodule. Dabei handelt es sich um spezielle Hardware, die kryptografische Schlüssel schützt und kryptografische Verarbeitung bereitstellt. Wir werden in späteren Teilen dieser Blogserie mehr über HSMs sprechen.

Alles ist bereit, um endlich den kritischsten Teil der gesamten Operation durchführen zu können: Übermittlung der drei Anteile des Benutzer-Seeds.

Wieder einmal erstellen wir neue sichere Kanäle, dieses Mal jedoch zwischen dem Ledger-Gerät des Benutzers und den HSMs der Backup-Anbieter Direkt. Die Seed-Shares werden in einem Ende-zu-Ende-verschlüsselten Kanal an ihren endgültigen Speicherort übertragen, wobei garantiert wird, dass sie das richtige Ziel erreichen (hier wurde die Überprüfbarkeit von Pedersen Secret Sharing eingeführt). Teil 1 ist nützlich).
Das Gerät des Benutzers authentifiziert die HSMs der Backup-Anbieter nacheinander, und die Backup-Anbieter wissen, dass sie mit dem eindeutigen offiziellen Ledger-Gerät austauschen, das diese spezifische Backup-Anfrage initiiert hat.
Niemand außer dem Gerät des Benutzers und den HSMs der Backup-Anbieter sieht jemals die durch die symmetrischen Schlüssel dieser gegenseitig authentifizierten sicheren Kanäle verschlüsselten Seed-Freigaben, nicht einmal der Orchestrator.

Sicher empfangen… und gespeichert?

In diesem Teil haben wir mehrere neue Konzepte vorgestellt, von denen einige recht technisch sind. Jedes dieser Konzepte ist erforderlich, um eine sichere Übertragung zu etablieren, die die Vertraulichkeit und Integrität des Austauschs gewährleistet. Unabhängig von der Sicherheit des Netzwerks Jetzt können wir unsere geheimen Freigaben versenden, ohne befürchten zu müssen, dass sie manipuliert oder abgefangen werden könnten. Das ist wirklich ein Upgrade!

Der gesamte Prozess wird durch solide Kryptografie und sichere Hardware in Form Ihres Ledger-Hardwaregeräts und HSMs, die jedem Backup-Anbieter gehören, unterstützt.

Jetzt ist es an der Zeit, mit der Rückgewinnung der Seed-Anteile fortzufahren! Wir müssen lediglich die Backup-Anbieter bitten, uns die Freigaben zurückzusenden, die sie auf ihrer Infrastruktur speichern …

Aber Moment: Wie genau speichern sie diese sehr sensiblen Daten? Es würde uns nichts nützen, wenn wir die sichersten Kommunikationskanäle hätten, aber unsere Backup-Anbieter hielten die Freigaben nur im Klartext und bettelten darum, gestohlen zu werden.

Bevor wir also über die Genesung sprechen – wir werden es schaffen, versprochen! – müssen wir in Teil 3 einen kurzen Abstecher machen, um die Sicherheit unserer Seed-Aktien im Ruhezustand zu besprechen. Bleiben Sie dran!

Zeitstempel:

Mehr von Ledger