Vorsicht: Brainwallets

Sicherheit

(c) Adeel Anwer / flickr.com - Creative Common License 2.0 https://creativecommons.org/licenses/by/2.0/

Es gibt verschiedene Methoden, Bitcoins sicher aufzubewahren. Mit Brainwallets hinterlässt man weder im Internet noch in der echten Welt Spuren: Man speichert den privaten Schlüssel im Gedächtnis. Brainwallets sind sicher – zumindest theoretisch. Tatsächlich gibt es aber ernsthafte Risiken, wie unser Autor Brandon Hurst schreibt.

Das Bitcoin-Protokoll an sich ist bombensicher. Atombombensicher. Kein Safe dieser Welt ist so stabil wie eine Bitcoin-Adresse, weder tief in den Schweizer Alpen noch in Fort Knox. Beim derzeitigen Stand der Technik müsste man mehr Energie in Rechenchips pumpen, als die Sonne hergibt, um einen privaten Schlüssel durch einen Brute-Force-Angriff zu knacken.

Allerdings ist auch der Bitcoin nicht vor dem 45-Zentimeter-Problem gefeit. Der Name rührt daher, dass die Quelle der meisten Fehler 45 Zentimeter vor dem Monitor sitzt. Als Mt. Gox angeblich 850.000 Bitcoins verloren hat, war menschliches Versagen der Grund. Genauso, als C-Cex, Flexcoin und Poloniex die Einlagen ihrer Kunden verloren hatten. Viele raten deswegen, so wenig Bitcoins wie möglich auf einer Börse oder einem Online-Wallet zu lagern. Deine Bitcoins gehören dir nur, wenn du den privaten Schlüssel hast.

In diesem Artikel wird es um eine vermeintlich besonders sichere Variante, Bitcoins aufzuheben, gehen, und darum, weshalb diese auch oft ein massives Risiko darstellt: Brainwallets.

Brainwallets

Das Internet ist kein freundlicher Ort. Dort draußen treibt sich jede Menge Malware herum, die nur darauf wartet, in Ihr System zu schleichen. Eine Kette ist immer nur so stark wie ihr schwächstes Glied, und in diesem Fall ist dies die Sicherheit Ihres Systems.

Da kein System zu 100 Prozent sicher sein kann, wird empfohlen, den größten Teil der Bitcoins offline zu speichern. Offline bedeutet, einen privaten Schlüssel auf einem Computer zu erzeugen, der nicht mit dem Internet verbunden ist und Bitcoins dann an die damit verbundene Adresse zu senden. „Cold Storage“, wie diese Technik genannt wird, ist eine großartige Idee, da sie Ihnen die Gewissheit gibt, dass Ihre Bitcoins von keinem Hacker gestohlen werden können. Allerdings müssen Sie Ihren privaten Schlüssel auf ein Stück Papier schreiben, und jeder, der es findet, hat Zugang zu Ihren Bitcoins. Es bleibt also ein Restrisiko.

Manche Leute bevorzugen es daher, kein physisches „Cold Wallet“ zu erzeugen, sondern den privaten Schlüssel ins Gedächtnis einzuschreiben. Nur – wie prägt man sich eine zufällige 256-bit-Nummer oder eine 32-byte-Zeichenfolge ein? Wer nicht gerade ein Gedächtniskünstler ist, wird damit seine lieben Probleme haben. Das menschliche Gedächtnis reagiert eben allergisch auf Zufallsfolgen.

Damit wären wir bei einer der besten und schlechtesten Ideen des Bitcoin-Ökosystems: Dem Brainwallet. Brainwallets generieren einen privaten Schlüssel durch ein Wort oder einen Satz. Gut gemacht, sind sie genauso sicher wie zufällig generierte private Schlüssel. Schlecht gemacht, sind Brainwallets so bescheuert, als würde man die Schlüssel zu Fort Know unter einem Felsen vor der Hintertüre verstecken.

Errate die Passphrase

Jedes Jahr veröffentlichen Tech-Magazine eine Liste der beliebtesten Passwörter. Einige davon sind erschütternd phantasielos: 123456, password1, iloveyou, und so weiter. Das ist in Ordnung, wenn man eine Wegwerf-Emailadresse anmeldet oder sich bei einem Forum registriert, um einen einzigen Kommentar abzugeben. Aber es ist absolut nicht in Ordnung, wenn man ein Brainwallet anlegt. Ebenso gut könnten Sie Ihre Bitcoins an 1BitcoinEaterAdressDontSendf59kuE senden.

Bei der Recherche zu diesem Artikel habe ich brainwallet.org genutzt, um einige private Schlüssel zu erraten. Ich habe einfach einige Phrasen eingegeben, von denen ich dachte, sie hätte vielleicht jemand benutzt. Innerhalb weniger Minuten hatte ich eine Liste von privaten Schlüsseln zu Adressen, die tatsächlich einmal Bitcoins hatten. Die Passphrasen waren etwa:

  • bitcoin
  • password
  • password1
  • 1234

Diese Adressen sind nun leer. Warum? Ich hoffe, weil die Besitzer die Bitcoins an einen sichereren Ort überwiesen haben. Aber es ist wahrscheinlicher, dass sie gestohlen worden sind. Es gibt Bots, die ausgeklügelte Wörterbuch-Attacken durchführen. Sobald solche Adressen Bitcoins erhalten, werden diese auf andere Adressen überwiesen. Wenn Sie es testen wollen, überweisen Sie doch einfach einen winzigen Bitcoin-Betrag auf eine solche Adresse … Sie werden nicht lange warten müssen, um Bots in Aktion zu beobachten.

Was macht ein gutes Brainwallet aus?

Bereits 2012 schrieb Gavin Andresen einen Blogbeitrag unter dem Titel „DO NOT USE A BRAINWALLET! YOU ARE LIKELY TO LOSE YOUR COINS!“ Sie werden die Quintessenz des Posts erraten. Lesenswert es es dennoch, da es zeigt, wie schlecht wir darin sind, die beteiligten Zahlen zu verstehen sowie die Geschwindigkeit, mit denen Computer mit einem gutgeschriebenen Algorithmus sie erraten können.

Je komplizierter ein Brainwallet-Passwort ist, desto schwieriger ist es für das tückische Script, eine Wörterbuch-Attacke zu fahren. Allerdings ist ein kompliziertes Passwort auch schwieriger zu merken, und darum geht es bei einem Brainwallet schließlich. Gavin Andresen schreibt:

„Also: Ist es unmöglich, ein sicheres Brainwallet zu erzeugen? Passwörter / Passphrasen funktionieren nicht – weil wir so viel teilen (Populärkultur, Sprache, Bildung), sogar wenn man uns sagt ‘Denke an etwas an das kein anderer denken wird’ werden wir wahrscheinlich an etwas denken, an das viele andere Leute ebenso denken werden.
Hier ist ein Vorschlag für ein Brainwallet-Schema, von dem ich denke, dass es dennoch sicher sein kann:
Dein kompletter Name
Passphrase1
Phassphase2
Mein sicheres Brainwallet könnte also sein: „Gavin Anthony AndresenI have eleven hovercraft full of eels! Okey dokey: patches welcome.”’

Wie sicher ist sicher?

Gavins Beispiel ist nicht besonders leicht zu merken. Wie kompliziert muss ein Brainwallet mindestens sein, damit es Ihre Coins sicher hält? Ich weiß es nicht genau, aber dieser Thread von Reddit legt nahe, dass man viel vorsichtiger sein muss, als man annimmt:

„Habe 4 BTC verloren weil mein Brainwallet gehackt wurde. Die Passphrase war eine Zeile eines unbekannten Gedichtes in Afrikaans. Irgendjemand da draußen lässt eine wirklich flächendeckende Wörterbuch-Attacke laufen.“

Bitcoin selbst ist sicher. Die Art, wie wir es nutzen, leider viel zu oft nicht.

by Brandon Hurst

BitScan_article_advertDieser Artikel erschien zuerst auf BitScan.

Übersetzung Christoph Bergmann

 

 

Über Christoph Bergmann (1625 Beiträge)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Christoph hat vor kurzem ein Buch geschrieben: Bitcoin: Die verrückte Geschichte vom Aufstieg eines neuen Geldes. Das Buch stellt Bitcoin in seiner ganzen Pracht dar. Ihr könnt es direkt auf der Webseite Bitcoin-Buch.org bestellen - natürlich auch mit Bitcoin - oder auch per Amazon. Natürlich freuen wir uns auch über Spenden in Bitcoin, Bitcoin Cash oder Bitcoin SV an die folgende Adresse: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wer will, kann uns auch Hier mit Lightning spenden. Tipps für Stories sind an christoph.bergmann@mailbox.org immer erwünscht. Wer dies privat machen möchte, sollte meinen PGP-Schlüssel verwenden.

8 Kommentare zu Vorsicht: Brainwallets

  1. Hallo, eine Verständnisfrage: Bei jedem email account, paypal etc etc wird nach drei falschen Versuchen der Zugang verweigert, auch wenn danach das richtige Passwort kommt.
    Es müssten ja nicht 3 falsche Versuche sein, sondern sagen wir 30.
    Jedenfalls wäre dann jedes extreme Passwortbombardement nicht mehr möglich.

    Gibt es Gründe, die gegen eine solchen Ansatz sprechen?

    Merci im Voraus
    Urs

  2. Du hast keinen Server, der deinen Private Key verifiziert und ggf. einen weiteren Zugriff sperren könnte. Lässt sich aus dem Key die fragliche Bitcoinadresse erzeugen, so ist er korrekt. Der Algorithmus liegt offen und du kannst das alles offline berechnen.

  3. Mike Witte // 29. March 2014 um 0:01 // Reply

    Habe anhand von brainwallet.org die Adresse aus der vorgeschlagenen Passphrase von Gavin Andresen erzeugt und bei blockchain.info nachgeschlagen. Diese passphrase scheint wirklich gut zu sein, werde sie dann mal benutzen.

    • “Du hast keinen Server, der deinen Private Key verifiziert und ggf. einen weiteren Zugriff sperren könnte. Lässt sich aus dem Key die fragliche Bitcoinadresse erzeugen, so ist er korrekt. Der Algorithmus liegt offen und du kannst das alles offline berechnen.”
      Es kann doch kein Problem sein, eine (wallet) Software so einzurichten, das sie nach 3 oder 30 oder 300 falschen Eingaben weitere Zugriffe verweigert, ob online oder offline ist doch egal.
      sobald man das hat, sind “bruteforce” Angriffe nicht mehr möglich.
      Oder warum macht man das nicht?

      fragende Grüsse
      Urs

      • Du brauchst keine Wallet um eine Adresse leerzuräumen. Du erzeugst eine Überweisung und signierst sie mit dem Private Key der Adresse. Gelingt dir das, wir die Überweisung vom Bitcoinnetzwerk angenommen, andernfalls nicht. Ob du einen gültigen Private Key hast, kannst du offline testen ohne, dass jemand deine Fehlversuche mitbekommt.

      • Mike Witte // 30. March 2014 um 20:53 //

        Hallo Urs,

        auf brainwallet.org gibt es den Code, um aus einer Passphrase einen Key zu erzeugen, zum Download – er läuft auf Deinem Rechner. Den kannst Du also in ein Skript einbinden, das alle möglichen Passphrases ausprobiert, und schaut, welche Adressen sich mit diesen passphrases ergeben. Über blockchain.info oder eine runtergeladene Liste mit bitcoin-führenden Adressen kannst Du dann gegenprüfen, ob Du einen “Treffer” hattest. Da es keinen zentralen Server gibt, kann niemand Deine “Anzahl Versuche” einschränken.

        Viele Grüße
        Mike

  4. 2500 yuan many manys @1st april

  5. Wer ein sicheren Passphrase haben will sollte sich ein Satz nach dem oben erwähnten Schema erstellen dann noch eine ca 5 stellige zahl daran hängen und den ganzen String durch ein hash Algorithmus jagen und zwar am besten glich mehrmals hintereinander was danach raus kommt z.b. “46EB924FB9F7B02D17A039EE07353206” wenn man das mit MD5 gehascht hat wird keiner erraten und man kann an jedem PC innerhalb kürzester Zeit wider generiert werden wenn man den Satz+Algorithmus+Anzahl hashdurchgängige weiss.

    Es empfiehlt sich ein kleines Script aufm USB Stick oder auf dropbox zu haben. Und nein wenn das jemand findet bringt ihm das gar nix.

    Pseudo-Code

    $PW = “Passphrase here”
    $anzalhashdurchgänge = 12345

    for $i = 0 to $anzalhashdurchgänge
    $PW = md5($PW)
    next

    Print($PW)

Leave a Reply to Urs Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: