146 / 691SLIP39

SLIP-39

Mnemonic-Anteile mit Schwellenwert für Geheimnis-Backups

SLIP-39 speichert ein Geheimnis in Wortanteilen mit Gruppen- und Mitgliederschwellen; entscheidend ist die richtige Kombination, nicht nur die Zahl der Zettel.

SLIP-39 ist eine SatoshiLabs-Spezifikation für interoperable Wortanteile auf Basis von Shamir's Secret Sharing. Sie standardisiert Aufteilung, Metadaten, Fehlerprüfung und Passphrase-Verarbeitung; die Anteile sind nicht mit einer BIP 39-Phrase austauschbar.

Beim Backup einer BIP 32-Wallet ist das Hauptgeheimnis ihr Eingangs-Seed, nicht die erweiterte private Wurzel. Zuerst entsteht das encrypted master secret (EMS), dann dessen Anteile. Berechnet wird byteweise über GF(256); die Spezifikation speichert das Geheimnis in f(255) und bei Schwellen ab 2 einen Prüfdigest in f(254). [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 32 — Hierarchical Deterministic Wallets]

Zuerst muss jede benötigte Gruppe ihre Mitgliederschwelle erfüllen, danach die Gruppenschwelle. Beispiel: 2 von 3 Gruppen mit jeweils 2 von 3 Mitgliedern. Zwei Anteile aus A und zwei aus B reichen; drei aus A und einer aus B nicht, obwohl es ebenfalls vier sind. Ein einfaches 2-von-3-Schema nutzt eine Gruppe. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

Die Liste umfasst 1024 englische Wörter und wird nicht mit der Oberfläche übersetzt. Ein 128-Bit-Geheimnis erzeugt Anteile aus 20 Wörtern, ein 256-Bit-Geheimnis aus 33. Enthalten sind auch Kennung, extendable-Flag, Iterationsexponent, Indizes und Schwellen. Beim Kombinieren werden passende Metadaten und eindeutige Mitgliederindizes geprüft; zwei Kopien desselben Anteils sind keine zwei Mitglieder. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

Die letzten drei Wörter bilden RS1024 und erkennen garantiert Fehler, die höchstens drei Wörter betreffen. Sie belegen weder Herkunft noch Berechtigung des Besitzers; die Spezifikation rät von automatischer Korrektur ab. Ein Rekonstruktionsdigest hilft, falsche Sätze zu erkennen. Wegen seiner 32-Bit-Prüfung gilt die ideale Aussage vollständiger Geheimhaltung unterhalb der Schwelle für SLIP-39 nicht uneingeschränkt. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

Die Verschlüsselung nutzt vier Feistel-Runden mit PBKDF2-HMAC-SHA256 und jeweils 2500×2^e Iterationen. Zulässig ist druckbares ASCII 32–126; ohne Passphrase wird eine leere Zeichenfolge verwendet. Die richtige Passphrase lässt sich nicht direkt prüfen: Eine andere liefert ein anderes Hauptgeheimnis. Gültige Anteile bestätigen daher nicht die gewünschte Wallet; bekannte Adressen prüfen. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

BIP 39 verwendet eine andere Wortliste, Prüfsumme und Umwandlung der Phrase in einen Seed. Seine Wörter auf Zettel aufzuteilen erzeugt weder SLIP-39 noch dessen Schwellenwertschutz. Um dieselbe Wallet zu erhalten, müsste eine Migration den richtigen BIP 32-Seed und Ableitungskontext bewahren; die ursprüngliche Entropie nur anders zu codieren garantiert das nicht. Das konkret unterstützte Verfahren prüfen. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 39 — Mnemonic code for generating deterministic keys]

Das extendable-Flag 1 lässt die Kennung aus dem Verschlüsselungssalt weg. Dadurch lässt sich dasselbe EMS ohne Kenntnis der Passphrase mit neuer Kennung erneut aufteilen. Trezor beschreibt die Erweiterung eines kompatiblen Einzelanteil-Backups auf mehrere Anteile. Der neue Satz macht den alten nicht ungültig: Eine ausreichende ursprüngliche Kombination rekonstruiert weiterhin dasselbe Geheimnis. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — Multi-share Backup]

SLIP-39 setzt bei der Wiederherstellung ein Geheimnis zusammen; es erzeugt weder Multisig noch eine On-Chain-Freigabe jeder Transaktion. Die Verteilung muss gemeinsamen Verlust und den Erwerb einer ausreichenden Kombination durch Angreifer begrenzen. Wiederherstellung auf einem vertrauenswürdigen Gerät testen, Passphrase und Wallet-Kontext bewahren und Kompatibilität mit Referenzimplementierung und Testvektoren prüfen. Die Anzahl der Anteile allein reicht nicht. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — python-shamir-mnemonic reference implementation]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Shamir Secret Sharing, BIP 39, Trezor, Multisig, HD Wallet. Auf diesen Eintrag verweisen außerdem BIP 39, Pavol „Stick“ Rusnák, Shamir Secret Sharing.

DOC · 001SLIP-0039 — Shamir Secret-Sharing for Mnemonic CodesSpezifikationDOC · 002BIP 32 — Hierarchical Deterministic WalletsSpezifikationDOC · 003BIP 39 — Mnemonic code for generating deterministic keysSpezifikationDOC · 004Trezor — Multi-share BackupDokumentationDOC · 005Trezor — python-shamir-mnemonic reference implementationPrimärquelle
Quellenbasiert · Keine Anlageberatung