Heute Nacht bin ich um 3:00 aufgewacht und mir gedacht, diesen Fehler musst du schnell noch korrigieren, bevor er jemandem auffällt. Ich habe dann mal alle naiven Aufteilungen m von n (bis 7) systematisiert. Aber das klügste / schnellste Gehirn hat meinen Fehler schon gefunden. Danke dir!
Ein Dieb kann uns bestehlen, wenn er unseren privaten Schlüssel vollständig findet
oder so viel von unserem privaten Schlüssel findet, dass er den Rest erraten kann (=Brute-force).
Deswegen verteilen wir unseren privaten Schlüssel.
Vor- und Nachteile Multisig vs. SSS vs. Naiv
- Der Nachteil der SSS-Methode (shamir secret sharing) ist, wir brauchen Software. Risiko: Shamir's secret sharing Software geht verloren oder der Schlüssel wird auf dem Rechner ausspioniert.
- Der Nachteil der Multi-Sig ist, wir brauchen entweder alle Teile zum Wiederherstellen der Wallet oder müssen zusätzlich auf unser Wallet File aufpassen.
+ Eine naive Aufteilung des Schlüssels erfolgt händisch ohne PC sowie ohne Software und beugt so Spionage und Datenverlust vor.
- Der Nachteil der nativen Aufteilung auf mehrere Zettel ist, dass ein Angreifer mit jedem Zettel bereits ein Stück unseres privaten Schlüssels kennt. Bei einer 2 of 3 Wallet z.B. kennt der Angreifer bereits mit dem ersten Teil 2/3 deines privaen Schlüssels. Die lässt sich durch einen 3x längeren Schlüssel kompensieren, was unbequem ist.
Wie lange können wir daher unsere naive Aufteilung verwenden, bevor wir auf Multisig oder SSS wechseln müssen?
Entropie gewünscht (bit): 128
Veranschaulichung der Entropie:
● 128 Bit entropie entsrpechen knapp 23 Zeichen (A-Z, a-z, 0-9 ohne xX) oder 12 Seed Wörtern
● 24 Seed Wörter + 23 Zeichen Passphrase entsprechen 384 Bit Entropie oder umgerechnet rund 69 Zeichen
● mehr als 24 Seed Wörter + 46 Zeichen Passphrase bzw. 48 Seed Wörter möchte ich nicht aufbewahren ▶ das entsprcht einer Obergrenze von 86 Zeichen
Wallet-Aufstellung: 2 of 2
■ Naive Aufteilungssystematik
● Passwort: AB
● Zettel 1: Ax
● Zettel 2: xB
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 50%
● 2 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 46 Zeichen
● 2 Zettel: unmöglich
▶ z.B. eine Aufteilung in (i) Seed Wörter 1 - 12 und (ii) Seed Wörter 13 - 24
Wallet-Aufstellung: 3 of 3
■ Naive Aufteilungssystematik
● Passwort: ABC
● Zettel 1: Axx
● Zettel 2: xBx
● Zettel 3: xxC
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 33%
● 2 Zettel: 67%
● 3 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 35 Zeichen
● 2 Zettel: 69 Zeichen
● 3 Zettel: unmöglich
▶ z.B. eine Aufteilung in (i) Seed Wörter 1 - 12, (ii) Seed Wörter 13 - 24 und (iii) Passphrase mit 23 Buchstaben
Wallet-Aufstellung: 2 of 3
■ Naive Aufteilungssystematik
● Passwort: ABC
● Zettel 1: ABx
● Zettel 2: AxC
● Zettel 3: xBC
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 67%
● 2 Zettel: 100%
● 3 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 69 Zeichen
● 2 Zettel: unmöglich
● 3 Zettel: unmöglich
▶ z.B. eine Aufteilung in (A) Seed Wörter 1 - 12, (B) Seed Wörter 13 - 24 und (C) Passphrase mit 23 Buchstaben. Ort 1: AB, Ort 2: AC, Ort 3: BC
Wallet-Aufstellung: 2 of 4
■ Naive Aufteilungssystematik
● Passwort: ABCD
● Zettel 1: ABCx
● Zettel 2: ABxD
● Zettel 3: AxCD
● Zettel 4: xBCD
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 75%
● 2 Zettel: 100%
● 3 Zettel: 100%
● 4 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 2 Zettel: unmöglich
● 3 Zettel: unmöglich
● 4 Zettel: unmöglich
Wallet-Aufstellung: 3 of 4
■ Naive Aufteilungssystematik
● Passwort: ABCDEF
● Zettel 1: ABxDxx
● Zettel 2: AxCxEx
● Zettel 3: xBCxxF
● Zettel 4: xxxDEF
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 50%
● 2 Zettel: 83%
● 3 Zettel: 100%
● 4 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 46 Zeichen
● 3 Zettel: unmöglich
● 4 Zettel: unmöglich
Wallet-Aufstellung: 3 of 5
■ Naive Aufteilungssystematik
● Passwort: ABCDEFGHIJ
● Zettel 1: ABCxEFxHxx
● Zettel 2: ABxDExGxIx
● Zettel 3: AxCDxFGxxJ
● Zettel 4: xBCDxxxHIJ
● Zettel 5: xxxxEFGHIJ
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 60%
● 2 Zettel: 90%
● 3 Zettel: 100%
● 4 Zettel: 100%
● 5 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 57 Zeichen
● 3 Zettel: unmöglich
● 4 Zettel: unmöglich
● 5 Zettel: unmöglich
Wallet-Aufstellung: 4 of 7
■ Naive Aufteilungssystematik
● Passwort: ABCDEFGHIJKLMNOPQRSTUVWYZabcdefghij
● Zettel 1: ABCDxFGHxJKxMxxPQRxTUxWxxabxdxxgxxx
● Zettel 2: ABCxEFGxIJxLxNxPQxSTxVxYxaxcxexxhxx
● Zettel 3: ABxDEFxHIxKLxxOPxRSxUVxxZxbcxxfxxix
● Zettel 4: AxCDExGHIxxxMNOxQRSxxxWYZxxxdefxxxj
● Zettel 5: xBCDExxxxJKLMNOxxxxTUVWYZxxxxxxghij
● Zettel 6: xxxxxFGHIJKLMNOxxxxxxxxxxabcdefghij
● Zettel 7: xxxxxxxxxxxxxxxPQRSTUVWYZabcdefghij
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 57%
● 2 Zettel: 86%
● 3 Zettel: 97%
● 4 Zettel: 100%
● 5 Zettel: 100%
● 6 Zettel: 100%
● 7 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 53 Zeichen
● 4 Zettel: unmöglich
● 5 Zettel: unmöglich
● 6 Zettel: unmöglich
● 7 Zettel: unmöglich
▶ Eine naive Aufteilung ist hier so nicht geeignet. Bei einem Diebstahl von 2 Zetteln hat der Dieb 86% unseres privaten Schlüssels.
Damit in den restlicen 14% noch genügend Entropie verbleibt, muss unser privater Schlüssel die Obergrenze von 86 Zeichen überschreiten.
Wallet-Aufstellung: 3 of 7
■ Naive Aufteilungssystematik
● Passwort: ABCDEFGHIJKLMNOPQRSTU
● Zettel 1: ABCDExGHIJxLMNxPQxSxx
● Zettel 2: ABCDxFGHIxKLMxOPxRxTx
● Zettel 3: ABCxEFGHxJKLxNOxQRxxU
● Zettel 4: ABxDEFGxIJKxMNOxxxSTU
● Zettel 5: AxCDEFxHIJKxxxxPQRSTU
● Zettel 6: xBCDEFxxxxxLMNOPQRSTU
● Zettel 7: xxxxxxGHIJKLMNOPQRSTU
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 71%
● 2 Zettel: 95%
● 3 Zettel: 100%
● 4 Zettel: 100%
● 5 Zettel: 100%
● 6 Zettel: 100%
● 7 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 80 Zeichen
● 3 Zettel: unmöglich
● 4 Zettel: unmöglich
● 5 Zettel: unmöglich
● 6 Zettel: unmöglich
● 7 Zettel: unmöglich
Wallet-Aufstellung: 6 of 7
■ Naive Aufteilungssystematik
● Passwort: ABCDEFGHIJKLMNOPQRSTU
● Zettel 1: ABxDxxGxxxKxxxxPxxxxx
● Zettel 2: AxCxExxHxxxLxxxxQxxxx
● Zettel 3: xBCxxFxxIxxxMxxxxRxxx
● Zettel 4: xxxDEFxxxJxxxNxxxxSxx
● Zettel 5: xxxxxxGHIJxxxxOxxxxTx
● Zettel 6: xxxxxxxxxxKLMNOxxxxxU
● Zettel 7: xxxxxxxxxxxxxxxPQRSTU
■ Wenn der Bösewicht X Zettel findet, welchen Anteil vom Passwort kennt er dann?
● 0 Zettel: 0%
● 1 Zettel: 29%
● 2 Zettel: 52%
● 3 Zettel: 71%
● 4 Zettel: 86%
● 5 Zettel: 95%
● 6 Zettel: 100%
● 7 Zettel: 100%
■ Wenn der Bösewicht X Zettel hat, wie lang muss unser Passwort sein, damit dem Bösewicht immer noch 128 Bit Entropie fehlen?
● 0 Zettel: 23 Zeichen
● 1 Zettel: 32 Zeichen
● 2 Zettel: 48 Zeichen
● 3 Zettel: 80 Zeichen
● 6 Zettel: unmöglich
● 7 Zettel: unmöglich
Was haben wir jetzt gelernt?
Multisig bzw. SSS lohnen sich, ...:
❶ ... wenn wir unser Geheimnis auf sehr viele unterschiedliche Teile aufteilen müssen oder
❷ ... wenn wir uns davor absichern möchten, dass ein Dieb fast alle Teile unseres Geheimnisses einsammelt (z.B. 3 Teile bei einer 4 of 7 Wallet) und wir dann ...
❸ ... trotzdem noch genügend Entropie übrig haben möchten.
Zu ❶:
■ Brauchen wir wirklich so viele Geheimnisteile?
● Statt an wichtigen Orten mehrere Teiles unseres Geheimnisses zu lagern und an unwichtigen Orten nur ein Geheimnisteil, könnten wir auch längere Stücke vom Geheimnis an wichtigen Ort lagern und kürzere Stücke an einem unwichtigen Ort.
Zu ❷:
■ Wir können es dem Dieb durch die Wahl der Orte erschweren ...
● ... indem wir ähnlichen Menschen die gleichen Teile geben und unterschiedlichen Menschen unterschiedliche Teile.
● z.B. Freund 1 und Freund 2 bekommen Zettel 1. Verwandter 1 und Verwandter 2 bekommen Zettel 2. Arbeit und Sportverein bekommen Zettel 3. Haus Erdgeschoss und Haus Dachboden bekommen Zettel 4. So haben wir 8 Backups mit nur 4 Teilen und sollte sich eine Gruppe z.B. deine beiden Freunde dann gegen dich verbünden, haben sie gemeinsam keinen Informationsvorteil.
Zu ❸:
■ Leichte Aufweichung der Wünsche zur Entropie (etwas unter 128 Bit) oder zu der Zeichenanzahl (über 86 Zeichen).
● Das ein Dieb mehrere Geheimnisteile findet, ist schon unwahrscheinlich. Brauchen wir dann wirklich noch 128 Bit Entropie?
● Ein Hecker wird eher zu Brute-Force greifen, ein Dieb eher zur 5$-Wrench-Atack. Ein Dieb, der gleichzeitig gut in Brute-Force Attack ist, ist unwascheinlich.
● Der Schutz ggü. Hackern sollte eher 128 bis 256 Bit Entropie sein
● Der Schutz ggü. Einbrechern kann auch etwas unter 128 Bit sein. Wie viel darunter kommt darauf an wie viel Expertise und Zeit der Angreifer hat.
Eine 2 of 3 naive Seed Aufteilung, eine 2 of 3 Multisig Aufteilung und eine 2 of 3 SSS-Aufteilung erstellen gleichwertige Zettel.
Damit machen wir uns das Leben aber unnötig schwierig:
● In den Beispielen oben war jeder Zettel gleich wichtig. In Wirklichkeit sind unsere Orte nicht gleichwertig.
● In den Beispielen geben zwei Zettel zusammen dem Dieb immer den gleichen Informationsgewinn. In Wirklichkeit wird der Dieb Zettel 1 und 2 häufig zusammen finden aber z.B. Zettel 1 und 6 faktisch nie zusammen finden.
Ich würde deswegen Personen und Orte in Gruppen Teilen:
■ Gruppe 0: Gehirn
⚠ Amnesie, Tod
■ Gruppe 1: Bank Schließfach 1, Bank Schließfach 2 und dein Arbeitsplatz als Kundenberater in Bank 2
⚠ Finanzkrise, Bank-holiday, staatliche Enteignung
■ Gruppe 2a: Haus Dachboden, Haus Garage
⚠ Höhere Gewalt zerstört alles zusammen
⚠ Scheidung
■ Gruppe 2b: Ehefrau, Eltern der Ehefrau, Freunde der Ehefrau
⚠ Scheidung
■ Gruppe 3: Freund 1 aus dem Schützenverein, Freund 2 aus dem Schützenverein
⚠ Streit
■ Gruppe 4: Haus deiner Eltern, Wohnung von deinem Bruder
⚠ Familie verstößt dich
▶ Menschen / Orte aus der gleichen Gruppe bekommen das gleiche Geheimnis.
▶ Menschen / Orte aus einer unterschiedlichen Gruppe bekommen unterschiedliche Geheimnisse.
▶ Wie sparen uns so Mühe bei der Aufteilung unseres Geheimnisses und verbessern trotzdem die Sicherheit.
Durch eine einfache Aufteilung in
(i) Seed Wörter 1 - 12,
(ii) Seed Wörter 13 - 24 und
(iii) Passphrase mit 23 Buchstaben
an jeweils 2 Orten
ersparen wir uns die Abhängigkeit von einer SSS Software bzw. dem Backup des Wallet files und sind dennoch nicht anfällig, dass ein Dieb den dritten Teil des privaten Schlüssels per brute force errät.