Safe Network Entwickler Update đŸ‡©đŸ‡Ș 4. November 2021

Dies ist eine maschinelle Übersetzung. Das Original in Englisch ist hier: Update 4 November 2021

Der „Safe“ im Safe Network steht natĂŒrlich fĂŒr sicheren Zugang fĂŒr alle, aber ein Safe ist auch ein Tresor, in dem Sie Ihre Wertsachen einschließen können. Setzen Sie beides zusammen und wir können uns ein Netzwerk von Safes vorstellen, die in einem Meer von stĂ€ndig verfĂŒgbaren Informationen schwimmen. Es ist ein schönes Bild.

Niemand kann jemanden aus dem öffentlichen Netzwerk aussperren – es gibt immerhin sicheren Zugang fĂŒr alle –, aber auch niemand kann unsere persönlichen Daten, unsere Geheimnisse und unseren Vorrat an Token aufsaugen, wenn sie geschĂŒtzt in unserem Safe versteckt sind durch unser sorgfĂ€ltig auswendig gelerntes Passwort und Passphrase.

Aber Moment mal
 was ist, wenn wir eine Beule am Kopf erleiden? Was ist, wenn unsere Papiersicherungskopien durch Feuer oder Überschwemmung zerstört werden? Was ist, wenn wir alt werden (es passiert) und 
 einfach vergessen? Unsere kostbaren Sachen könnten fĂŒr immer verloren sein.

Es muss einen besseren Weg geben – und dank des Wunders der Schwellenwertkryptographie gibt es ihn! @JimCollinson erklĂ€rt weiter unten mehr.

Team-News

Wir befinden uns in der letzten Phase der Ernennung eines Finanzbeauftragten (Gott sei Dank), der einen Fintech-Fokus haben wird. Dies wird die Arbeit, die Sharon fĂŒr uns geleistet hat, ergĂ€nzen, aber die EinfĂŒhrung, das Onboarding und die Token-Ökonomie etwas detaillierter sein.

FÖRDERUNG - @JimCollinson hat die Position des Chief Strategy Officer angenommen. Wir alle kennen Jim und wir alle wissen, wozu er fĂ€hig ist. Dies gibt ihm die Freiheit, ein grĂ¶ĂŸeres Publikum mit AutoritĂ€t zu erreichen. Jim wird mit anderen, einschließlich der Finanzabteilung, zusammenarbeiten, um die MarkteinfĂŒhrung und darĂŒber hinaus zu erreichen. Wir brauchen dir nicht zu sagen, wie gut er das kann, wir wissen es schon :wink:

FÖRDERUNG - @joshuef Hat die Rolle des Chief Technology Officers angenommen. Josh, wie Sie wissen, ist so cool wie Katzen und geht mit Konflikten, Debatten und Teamgeist auf eine Weise um, die ich noch nie zuvor gesehen habe. Ein beruhigender Einfluss, der super auf den Fortschritt fokussiert ist. Wir haben das GlĂŒck, ihn zu haben, und wieder liegt der Fokus auf dem Launch, wo Josh viel mit dem Launch-Team interagieren wird. Wie Jim, immer noch an den Werkzeugen und immer noch am Stecker, aber mit dieser zusĂ€tzlichen AutoritĂ€t, um Dinge noch schneller zu erledigen.

Beide Beförderungen wurden vom gesamten Team sehr begrĂŒĂŸt, was super cool zu sehen ist.

Es kommt alles zusammen, Leute :+1:

Allgemeiner Fortschritt

Letzte Woche sagten wir, dass wir kurz davor stehen, Connection Pool aus qp2p zu entfernen und in Safe Network aufzunehmen, und wir freuen uns, mitteilen zu können, dass @chris.connelly diesen Meilenstein nun endgĂŒltig hinter uns gelassen hat. Klingt technisch – und ist tatsĂ€chlich technisch, aber auf eine Weise, die vieles vereinfacht.

@yogesh arbeitet an der Implementierung einer weiteren Vereinfachung, die fĂŒr einige Zeit geplant, aber noch nicht in die Testnetze eingefĂŒhrt wurde. Wenn ein Knoten dem Netzwerk beitreten möchte, muss er die Stimmen der Ältesten sammeln und sie dann erneut einreichen, wenn er genug hat.

Entwerfen sicherer, belastbarer und verwendbarer Anmeldeinformationen

Das Erstellen Ihres eigenen Safes ist das Erstellen einiger Anmeldeinformationen. Sie sind effektiv eins. Sie erstellen eine Reihe von SchlĂŒsseln, die es Ihnen und nur Ihnen ermöglichen, auf Ihre eigenen Daten zuzugreifen und diese zu verwenden; Öffnen Sie die TĂŒr zu Ihrem eigenen konzeptionellen sicheren Raum, der auf einem einzelnen GerĂ€t beginnt, aber im Netzwerk endet und viele umfasst.

Die erste Aufgabe fĂŒr diese Anmeldeinformationen muss also völlig eindeutig sein. Sie werden nicht im Netzwerk oder irgendwo auf einem Server gespeichert, wie bei einem herkömmlichen Online-Konto. Sie mĂŒssen also ĂŒber genĂŒgend Entropie oder ZufĂ€lligkeit verfĂŒgen, um nicht zu stolpern, nicht mit den Zugangsdaten anderer zu kollidieren oder unter einem ‚Brain Wallet‘-artigen Angriff zu leiden.

DarĂŒber hinaus gibt es eine weitere Reihe von QualitĂ€ten, die diese Referenzen erfĂŒllen mĂŒssen:

  1. Sie sollten offline erstellt werden können.
  2. ZuverlÀssig aufzuschreiben und auf Papier aufzubewahren.
  3. Haben Sie einen Wiederherstellungsmechanismus.
  4. Kann geÀndert werden, ohne den Zugriff zu unterbrechen.
  5. Sollte sich nicht auf einen Menschen verlassen, um ZufÀlligkeit zu erzeugen.
  6. Kann auf jedem GerĂ€t verwendet werden. D.h. erfordert nicht, dass ich fĂŒr jedes von mir verwendete GerĂ€t separate Anmeldeinformationen oder Kennwörter verwalten muss.
  7. Kann auf eine Weise verwendet werden, um den Zugriff auf meinen Safe von einem GerÀt, dem ich nicht mehr vertraut habe, aus der Ferne zu widerrufen, ohne den Zugriff durch andere zu unterbrechen.
  8. Darf nicht online, im Netzwerk gespeichert oder ĂŒbertragen werden.
  9. Sollte keine öffentlich identifizierbaren oder erkennbaren Informationen ĂŒber mich enthalten.

Wenn man weitergeht und ein fĂŒr Menschen nutzbares System entwickelt, sollten sie auch wĂŒnschenswerte Eigenschaften haben, wie zum Beispiel:

  • Unvergesslich
  • Mehrsprachig
  • Ergonomisch und auf einer Vielzahl von GerĂ€ten verwendbar
  • Ermöglichen Sie in Zukunft die Verwendung zusĂ€tzlicher Faktoren, abhĂ€ngig von meinen Anforderungen und Hardwareressourcen. Z.B. erlauben Sie mir, einen HardwareschlĂŒssel oder biometrische Faktoren auf meinem Telefon zu verwenden.

Es ist eine ziemliche Wunschliste, nicht wahr? Wir könnten in jede dieser Fragen tief eintauchen, aber lassen Sie uns einfach eine Lösung durchgehen, und ich werde sie auf dem Weg erklÀren.

Sichere Anmeldeinformationen mit Schwellenwertkryptografie

Können wir es also tun? Nun, hier ist ein Vorschlag, wieWir können einen Multisig-Ansatz fĂŒr Anmeldeinformationen mit BLS verwenden. Lassen Sie es mich durch das Medium von Wireframes erklĂ€ren.

Zum ersten Mal einen Safe erstellen

Das Onboarding, das erstmalige Erstellen eines Safes, umfasst, wie bereits erwÀhnt, die Erstellung einer Reihe von Anmeldeinformationen. Zu Beginn wÀhle ich ein Passwort, und dann bekomme ich eine generierte Passphrase, die ich notieren oder ausdrucken kann:

Diese Passphrase wĂ€re eine Phrase im Stil von BIP39 mit einer PrĂŒfsumme am Ende.

Mit diesen beiden Elementen haben wir also etwas, das du kennst, das Passwort, und etwas, das du hast, die Passphrase; und in Kombination können wir eine geeignete Entropiemenge erzeugen.

Dies ist das grundlegende, standardmĂ€ĂŸige Paar von Anmeldeinformationen fĂŒr einen Safe. Beide sind fĂŒr den Zugriff erforderlich, daher ist es stark und einzigartig, aber machen wir die Dinge ein bisschen besser, oder?

Der nĂ€chste optionale Schritt ermöglicht es mir, einen GerĂ€teschlĂŒssel zu erstellen, wenn ich dem von mir verwendeten GerĂ€t vertraue. Dies ist ein dritter ZugangsschlĂŒssel zu meinem Safe, der einige praktische Funktionen bietet.

Erstens ermöglicht es uns, ein 2-aus-3-SchlĂŒsselschema (Multisig FTW) zu erstellen, was bedeutet, dass ich, wenn ich mein Passwort vergesse, immer noch mit meinem Telefon und meiner Passphrase darauf zugreifen kann. Oder vielleicht möchte ich nicht jedes Mal, wenn ich meinen Safe entsperre, die Passphrase eingeben; Auf diesem vertrauenswĂŒrdigen GerĂ€t kann ich einfach mein Passwort und den GerĂ€teschlĂŒssel verwenden, möglicherweise auch mithilfe integrierter Biometrie, um ein Element von etwas, das du bist, zu erhalten.

Ich bin dann bereit, den Safe zum ersten Mal lokal zu beenden und zu öffnen, indem ich diesen Satz von drei Anmeldeinformationen verwende, von denen zwei zum Entsperren immer erforderlich sind.

Mo’ Keys, Mo’ Optionen

Aber ich muss hier nicht aufhören. Ich kann zusĂ€tzliche ZugriffsschlĂŒssel erstellen, um mehr FlexibilitĂ€t und Ausfallsicherheit zu bieten. Auf dem Optionsbildschirm erstelle ich zusĂ€tzliche Passphrasen, vielleicht ein Backup, vielleicht eines zum Speichern an verschiedenen physischen Orten. Und ich kann hier auch zusĂ€tzliche GerĂ€te einrichten (einschließlich dedizierter HardwareschlĂŒssel wie in Zukunft einen YubiKey) oder den Zugriff auf jedes GerĂ€t oder jede Passphrase widerrufen, auf die ich das Vertrauen verloren habe oder auf die ich keinen Zugriff mehr habe.

Aus dieser Reihe von SchlĂŒsseln habe ich die Möglichkeit, ein Schema zu erstellen, das meinen eigenen besonderen UmstĂ€nden und meinem Bedrohungsmodell entspricht.

Zum Beispiel kann ich ein 3-von-6-Setup haben oder zu k-von-n meiner Wahl ĂŒbergehen. Außerdem kann ich wĂ€hlen, ob zum Entsperren meines Safes immer ein Passwort oder eine Passphrase erforderlich sein soll, und jedem, der zufĂ€llig Zugriff auf zwei oder mehr meiner GerĂ€te hatte, den Zugriff verweigern.

Auf einem anderen GerÀt entsperren

Ich habe also meinen Safe erstellt, möchte ihn aber auf einem anderen GerÀt öffnen, das ich noch nicht verwendet habe. Schauen wir uns an, wie das funktioniert.

Mir wird ein Entsperrungsbildschirm angezeigt, auf den ich tippe, um einen ZugriffsschlĂŒssel einzugeben.

Ich bekomme dann einen Bildschirm, auf dem ich einen QR scannen kann (der sich auf Ausdrucken von Passphrasen befindet oder in der Verwendung von GerĂ€teschlĂŒsseln, auf die wir spĂ€ter kommen werden) oder ich kann einfach anfangen, eine Passphrase in die Texteingabe am einzugeben Unterseite.

Wenn ich mit der Eingabe beginne, gehe ich in den Passphrase-Eingabemodus, in dem wir Dinge wie Voraustippen und VorschlÀge aus dem Phrasenwörterbuch verwenden, um den Vorgang zu beschleunigen. Ich kann die Wörter im Satz auch neu anordnen oder wischen, um sie zu entfernen, wenn ich einen Fehler mache.

Hier können wir also eine BenutzeroberflĂ€che erstellen, die zwar nicht superschnell ist, aber dennoch glatt ist und sich bei der Eingabe eines langen Satzes ziemlich einfach zu bedienen anfĂŒhlt.

Wenn ich am Ende des Satzes angelangt bin und die PrĂŒfsumme richtig eingegeben habe, kann ich fortfahren.

Beachten Sie hier, dass ich erst nach erfolgreicher Eingabe dieses ersten SchlĂŒssels (entweder eine Passphrase oder ein GerĂ€teschlĂŒssel) aufgefordert werde, ein Passwort einzugeben.
Hier sehen wir, dass das Passwort erfolgreich eingegeben wurde und der Safe entsperrt ist.

Nach erfolgreichem Entsperren werde ich aufgefordert, einen GerĂ€teschlĂŒssel auf diesem Telefon zu erstellen, falls ich ihm vertrauen sollte. Auf diese Weise kann ich entsperren, ohne jedes Mal die Passphrase eingeben zu mĂŒssen, oder einsteigen, wenn ich mein Passwort vergessen habe.

Und in diesem Sinne


Entsperren ohne Passwort


was mach ich, wenn ich mein Passwort vergessen habe? Dies kommt hĂ€ufig vor und ist insgesamt eine der grĂ¶ĂŸten Bedrohungen fĂŒr die Sicherheit unserer Daten in einem dezentralisierten Netzwerk. Schließlich gibt keine zentrale AutoritĂ€t, an die man sich wenden kann, kein Server, an den man eine Anfrage zum ZurĂŒcksetzen des Passworts senden kann, keine Liste von Benutzernamen mit Passwort-Hashes. Es liegt an mir und den Werkzeugen, die mir zur VerfĂŒgung stehen.

Zum GlĂŒck können wir diese Multisig-Chops verwenden, um wieder einzusteigen, sollte ich mein Passwort leer lassen, wie ich dazu tendiere.

Ich verwende ein neues GerĂ€t, auf dem kein GerĂ€teschlĂŒssel gespeichert ist, und verdammt noch mal, ich kann mir einfach nicht vorstellen, was dieses Passwort ist. Also beginne ich mit der Eingabe einer Passphrase:

Ich kehre zum Entsperrungsbildschirm zurĂŒck und ichkann die gerade eingegebene Passphrase sehen. Ich kann hier kein Passwort eingeben, weil ich es natĂŒrlich vergessen habe, also muss ich mein anderes GerĂ€t verwenden, um einzusteigen. Ich tippe auf einen anderen ZugangsschlĂŒssel eingeben und bin bereit, einen QR zu scannen. Ich produziere ĂŒber mein anderes GerĂ€t.

Mit meinem anderen GerĂ€t, das ich zuvor verwendet habe und auf dem ein GerĂ€teschlĂŒssel gespeichert ist, öffne ich den Entsperrbildschirm:

Durch Tippen auf den hier aufgelisteten GerĂ€teschlĂŒssel oder ĂŒber das FleischbĂ€llchen-MenĂŒ oben rechts oder vielleicht sogar nur durch Doppeltippen auf das Schlosssymbol kann ich einen GerĂ€teschlĂŒsselbildschirm erstellen, der einen QR-Code zum Scannen auf dem neuen GerĂ€t enthĂ€lt (oder wenn ich möchte, Ich könnte es als Passphrase anzeigen und manuell eingeben.Oder im weiteren Verlauf könnten wir uns andere Optionen wie NFC easy ansehen, aber Sie bekommen die Idee).

Es ist zu beachten, dass der ZugangsschlĂŒssel (genauer gesagt der SchlĂŒsselanteil), der durch den hier angezeigten QR reprĂ€sentiert wird, beim Öffnen des Bildschirms generiert wird. Dieser wird an das neue GerĂ€t weitergegeben und ermöglicht in Kombination mit einem zweiten SchlĂŒssel das Entriegeln des Safes. Dadurch wird vermieden, dass der GerĂ€teschlĂŒssel selbst freigelegt / weitergegeben wird, sondern ein Prozess, bei dem ein SchlĂŒssel speziell fĂŒr das ZielgerĂ€t ĂŒber einen vorhandenen erstellt wird.

Also scanne ich den QR auf dem neuen GerÀt



und ich bin dabei. An dieser Stelle kann ich dem neuen GerĂ€t einen GerĂ€teschlĂŒssel hinzufĂŒgen und natĂŒrlich auch mein Passwort zurĂŒcksetzen.

Und je nach meiner speziellen SchlĂŒsselkonfiguration könnte ich bei Bedarf sogar mit nur einer Reihe von GerĂ€ten wieder auf mein Konto zugreifen.

Wie sieht dieser Vorschlag aus?

Was denken Sie? Wird die Rechnung passen? Ein Multisig-Ansatz, der uns ein System von Anmeldeinformationen bietet, das:

:white_check_mark: Kann offline erstellt werden
:white_check_mark: Sind ergonomisch
:white_check_mark: EinprÀgsamkeit ermöglichen
:white_check_mark: Sind menschenlesbar und aussprechbar, so dass sie aufgeschrieben und zuverlÀssig eingegeben werden können
:white_check_mark: Sind widerstandsfÀhig gegen den Verlust von Anmeldeinformationen
:white_check_mark: Kann geÀndert werden, ohne den Zugriff zu unterbrechen
:white_check_mark: Sie verlassen sich nicht nur auf die Entropie des Menschen
:white_check_mark: Kann auf einer Vielzahl von GerÀten verwendet werden
:white_check_mark: Kann in mehreren Sprachen zugÀnglich und leicht erweiterbar sein
:white_check_mark: Erlaube mir, den Zugriff auf GerÀte zu widerrufen, denen ich das Vertrauen verloren habe
:white_check_mark: Muss nicht im Netzwerk gespeichert, online oder ĂŒbertragen werden
:white_check_mark: Und erfordern keine öffentlich identifizierbaren oder erkennbaren Informationen.

Ist das ein sauberer Schwung?

Es wird zweifellos Knicke geben, die gelöst werden mĂŒssen, z. Aber wir haben hier die Basis fĂŒr ein starkes System, das insgesamt ein Gewinn fĂŒr Benutzerfreundlichkeit und Sicherheit sein soll.

Sehen Sie sich alle Details an

Wenn Sie sich die Wireframe-BenutzerflĂŒsse fĂŒr diesen Vorschlag genauer ansehen möchten, können Sie direkt in die vollstĂ€ndig dokumentierte Figma Datei unten. Es gibt ein bisschen mehr Nuancen, als wir in ein Entwickler-Update stopfen können, also zögern Sie nicht, herumzustöbern, und wie immer freuen wir uns ĂŒber Ihr Feedback und Ihre Kommentare.


NĂŒtzliche Links

FĂŒhlen Sie sich frei, unten mit Links zu Übersetzungen dieses Entwicklungsupdates zu antworten, und die Moderatoren werden sie hier hinzufĂŒgen.

Als Open Source-Projekt sind wir immer auf der Suche nach Feedback, Kommentaren und Community-BeitrĂ€gen. Seien Sie also nicht schĂŒchtern, machen Sie mit und lassen Sie uns gemeinsam das sichere Netzwerk erstellen!