Gewürfeltes BIP39 konformes Wallet

Guten Tag zusammen,

hier wird ja generell häufig die Nutzung einer Hardware Wallet nahe gelegt, häufig mit dem Argument, dass es ein sehr guter Kompromiss zwischen Sicherheit und Bequemlichkeit ist. Ein Punkt der mich aber irritiert ist, dass wir neben der Abwesenheit von MITM Attacks auch davon ausgehen, dass der RNG, welcher zur Bildung des Seeds genutzt wird, auch random genug ist.

Eine alternative, wichtig: für technisch versierte Nutzer, wäre die Nutzung einer Lösung eines Electrum Wallets auf Tails mit einem selbst gewürfelten Seed. Der Vorteil: Ich muss keinem RNG vertrauen, sondern kann echten Zufall nutzen. Nachteil: Die Berechnung des 24sten Worts ohne Computer ist mühselig.

Letztlich würde man so aber einen Seed erhalten, den man auf einem offline Tails mit Electrum eingeben könnte um eine Wallet zu generieren. Den Master Pub Key kann man anschließend auf ein Gerät übertragen von dem man seine BTCs verwalten möchte. Dort können neue Adressen zum Empfang generiert werden und unsignierte Transaktionen generiert werden, die man anschließend auf dem offline Electrum in Tails signieren kann.

Aus Sicherheitsaspekten klingt die Lösung letztlich viel viel robuster als ein Hardware Wallet. Ich muss keinem Hersteller, Versandunternehmen und Chiphersteller vertrauen und bekomme zusätzlich noch plausible deniability dazu. Einzig das Versenden von BTCs ist minimal komplizierter, für die HODLer aber kein ernsthaftes Problem. Als Backup nutzt man einen Seed nach BIP39 Standard, den man mit verschiedensten Tools im Katastrophenfall nutzen kann.

Was übersehe ich hier? Welchen Vorteil bringt mir ein Ledger/Trezor/Bitbox zum oben genannten Vorgehen?

Du musst genauso dem Hersteller deines Rechners und der Software (Tails) vertrauen.

  • Ist dein BIOS sicher nicht kompromittiert?
  • Speichert Tails wirklich nichts auf den Datenträgern?
  • Wie lange bleibt der RAM nach Stromunterbrechung lesbar?
  • etc.

Das Risiko schwere Fehler zu begehen schätze ich wesentlich höher ein, weil du einen nicht standardisierten Weg begehst. Das heißt, du bist wahrscheinlich die einzige Person auf der Welt, die genau dieses Setup mit dieser Hardware und dieser Software Version verwendet. Wenn etwas schief geht, bist du allein dafür verantwortlich.

Wenn dagegen eine Sicherheitslücke in einem Hardwarewallet ausgenutzt würde, ist die Wahrscheinlichkeit wegen der großen Anzahl an Nutzern mit identischem Setup sehr hoch, dass es dich nicht erwischt, aber du trotzdem von der Sicherheitslücke erfährst. Hinter den Hardwarewallets stehen Unternehmen, deren Existenz von nichts anderem als der Sicherheit der verwendeten Hard- und Software abhängt. Bei general purpose Geräten ist das definitionsgemäß nicht so.

3 „Gefällt mir“

Ich denke @Makowski bringt es auf den Punkt:

Zu dieser Frage hat auch @Stadicus (Entwickler der Bitbox) schon einmal etwas geschrieben:

Guck ma :wink:

@Makowski Selbst wenn Tails etwas auf dem Datenträger speichern sollte, was es nachweislich nicht tut, es ist schließlich der ganze Sinn hinter der Sache, wäre das so ziemlich der gleiche Angriffsvektor wie ein physischer Angriff auf einen Trezor One.

@Stadicus Auf deine Antwort hatte ich ja etwas gehofft, genau der verlinkte Beitrag hat nämlich zu der erweiterten Recherche von mir geführt. Letztlich würde ich nach der Anleitung eure Bitbox als den sicheren Speicher des Keys nutzen, mit zusätzlichen Komfortfunktionen (einfaches signieren, Support, etc.)

Letztlich kann ein Hacker aber weder aus eurem Secure Element noch aus einem verschlüsselten persistenten Tails die Keys extrahieren. Wir nehmen jetzt mal den Angriff durch Staatsmächte und unsere Position als Staatsfeind Nr. 1 heraus, denn ab dem Punkt müssten wir noch so einiges mehr beachten.
Wenn ich jetzt nur HODLer bin, benötige ich letztlich lediglich den extenden Public Key um Zahlungen zu empfangen. Hier müsste man sicherlich diskutieren in wie weit ab diesem Punkt eine Anonymität noch gegeben ist, da der xpub auf einem online Gerät verweilt. Aber mir geht es erstmal nur um die Key Sicherheit.

Ich stimme zu, dass mit der Tails Nutzung, die Angriffsfläche für Sidechannel Attacken erhöht ist, wenn man nicht gut aufpasst (China IoT Geräte mit Mikrofonen, Kameras, etc.), aber wenn man sich all diesen Dingen bewusst ist und nicht täglich, wöchentlich oder monatlich seine Satoshis von der eigenen Wallet verschickt, ist doch der Kosten/Nutzen einer Hardware Wallet nicht mehr zu rechtfertigen, oder?

Wie gesagt, der normale Nutzer möge bitte unbedingt eine HW Wallet nutzen, aber bei technisch versierten Nutzern, besteht doch dazu kein wirklicher Grund, sofern man es so selbst aufsetzt.

Es spricht nichts dagegen, den Seed zu würfeln, auf Air-gapped Tails-Computer vervollständigen und dann verschlüsselt abspeichern. Wenn Du weisst, was Du tust, denke ist das ziemlich sicher.

Die Krux kommt dann vielleicht, sobald Du die Bitcoin wieder verwenden willst. Die dauerhafte sichere Speicherung der Wallet auf einem Airgapped-Computer zur regelmässigen Verwendung, mit der Vorbereitung von Transaktionen auf Deinem Rechner, dann Austausch der unsignierten Tx mittels QR-Code & zurück zum Versenden (vergleichbar mit dem Glacier Protocol) ist dann schon nicht trivial.

Aber alles machbar, wenn Du die Zeit und Musse dafür hast. Ich für mich weiss, dass ich lieber ne Hardware-Wallet kaufe, als mich mehrere Tage mit dem Setup solch eines Systems beschäftige. Auch mit der Gefahr, dass dies kein Mensch nutzen kann, wenn Du den Bus kommen solltest…Aber das ist nur meine subjektive Einschätzung :wink:

1 „Gefällt mir“

Ok, dann habe ich zumindest nichts übersehen.

Klar die Wiederverwendung erfordert ein ebenfalls hohes Maß an Sicherheitsvorkehrungen und Aufwand, aber da ich eine Wiederverwendung der BTC für die mittelfristige Zukunft ausschließe, ist dies zunächst egal. Im Falle des Falles einer regelmäßigen Verwendung von BTC, bleibt mir dann immer noch die Möglichkeit eine Hardware Wallet zu nutzen und in einer Transaktion die BTC von meiner Wallet in die neue (möglicherweise komfortablere) Wallet zu schieben.

Besten Dank für die Inputs soweit.

1 „Gefällt mir“

Zum Thema Würfeln hatte ich übrigens in diesem Beitrag und den folgenden mal ein paar Gedanken festgehalten:

Ist es nicht besser seine Wörter Seed zu würfeln? - #8 von skyrmion

1 „Gefällt mir“

Danke für den Hinweis. Wenn man das Thema Zufallsgeneratoren aufmacht, taucht man echt in ein Rabbithole ein :smiley:

Eine interssante Idee, einen möglichen Würfelbias durch einen Extractor auszumerzen. Da muss ich nochmal länger drüber nachdenken, in wie fern sich die Entropie letztlich im Vergleich zum erwürfeln mit mehreren Würfeln in einem Würfelbecher (Kegelstumpf) eines base6 Werts verhält.

Absolut, aber ist natürlich nicht meine Idee. Ich hatte mal angefangen mir Gedanken zu machen, wie man aus unterschiedlich gewichteten Würfelseiten wieder gleichverteilte Nullen und Einsen bekommt. Wie üblich habe ich dann aber schnell festgestellt, dass es das schon lange gibt. :slightly_smiling_face:

Für das von Neumann Verfahren braucht man allerdings über den Würfelvorgang hinweg zumindest konstante Wahrscheinlichkeiten der einzelnen Ergebnisse.

Deshalb sollte man auch auf möglichst „zufälliges Würfeln“ achten. Zum Beispiel eben mehrere Würfel im Becher, nicht nur ein Würfel mit der Hand.

In dem verlinkten Thread habe ich allerdings auch versucht grob die Größenordnung abzuschätzen, wieviel Entropie man verlieren kann, wenn man die Gleichverteilung nicht wiederherstellt. Das war auch nicht die Welt und immer noch bei weitem sicherer als z.B. eine 12 Wörter Seed Phrase.

Hallo alchemist, wie sieht dein Vorgehen 2022 aus, hast sich was geändert bei dir?
Den Vorteil einer Hardware Wallet sehe ich darin, am besten noch mit Open Source Software sehe durch die vielen Anwender. Gibt es Probleme, wollen viele das Problem lösen.

Deswegen gefällt mir die BitBox02 und die Trezor One Lösung.
Den Trezor T empfinde ich als zu teuer, so „den“ Vorteil für mich konnte ich bisher nicht ersehen.

Man kann viel hinbasteln, aber weis man es selbst noch in 10 Jahren?

SeedSigner und PiTrezor sind aus meiner Sicht auch Individuallösungen.

Ein System mit z. B. Debian und den entsprechenden benötigten Softwarewallets ist vermutlich leichter zu reproduzieren.

VG
F.