Sichere deine Geldbörse: Unterschied zwischen den Versionen

Aus Bitcoin Wiki
Wechseln zu: Navigation, Suche
(Technischer Hintergrund: Zweischenspeicher)
K (Interwiki links)
 
(34 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Einführung==
 
==Einführung==
 
Die Sicherheit der Geldbörse kann in zwei unabhängige Ziele geteilt werden:
 
Die Sicherheit der Geldbörse kann in zwei unabhängige Ziele geteilt werden:
# Gegen Verlust sichern
+
 
# Gegen Diebstahl sichern
+
1. Gegen Verlust sichern
 +
 
 +
2. Gegen Diebstahl sichern
  
 
Im Falle einer zur Zeit nicht angemessen gesicherten Geldbörse (z.B. mit schwachem Passwort im Internet hochgeladen):
 
Im Falle einer zur Zeit nicht angemessen gesicherten Geldbörse (z.B. mit schwachem Passwort im Internet hochgeladen):
  
# Neue, sichere Geldbörse erstellen (mit einem angemessen langen Passwort)
+
3. Neue, sichere Geldbörse erstellen (mit einem angemessen langen Passwort)
  
 
==Technischer Hintergrund==
 
==Technischer Hintergrund==
 
Die Börse besitzt einen Fundus an eingereihten Schlüsseln. Standardmäßig sind 100 Schlüssel im [[Key Pool|Key Pool]]. Die Größe dessen kann man mit dem "-keypool"-Parameter in der Befehlszeile einstellen. Wenn du aus irgendeinem Grund eine neue Adresse brauchst, wird diese nicht neu erstellt, sondern aus dem Fundus entnommen. Ein neuer Schlüssel wird erstellt, um den Fundus wieder auf 100 Schlüssel füllen zu können. Wenn als erstes ein Backup erstellt wird, enthält es die alten Schlüssel + 100 unbenutzte. Nach einer Transaktion hat es 99 unbenutzte. Nach 100 Aktionen, die einen neuen Schlüssel benötigen, werden Schlüssel benutzt, die nicht im Backup vorhanden sind. Da das Backup nicht die Schlüssel nach den 100 Stück besitzt, kann dieses Backup bei einer Wiederherstellung evtl. zu Verlust von Bitcoins führen.
 
Die Börse besitzt einen Fundus an eingereihten Schlüsseln. Standardmäßig sind 100 Schlüssel im [[Key Pool|Key Pool]]. Die Größe dessen kann man mit dem "-keypool"-Parameter in der Befehlszeile einstellen. Wenn du aus irgendeinem Grund eine neue Adresse brauchst, wird diese nicht neu erstellt, sondern aus dem Fundus entnommen. Ein neuer Schlüssel wird erstellt, um den Fundus wieder auf 100 Schlüssel füllen zu können. Wenn als erstes ein Backup erstellt wird, enthält es die alten Schlüssel + 100 unbenutzte. Nach einer Transaktion hat es 99 unbenutzte. Nach 100 Aktionen, die einen neuen Schlüssel benötigen, werden Schlüssel benutzt, die nicht im Backup vorhanden sind. Da das Backup nicht die Schlüssel nach den 100 Stück besitzt, kann dieses Backup bei einer Wiederherstellung evtl. zu Verlust von Bitcoins führen.
  
Die Sicherheit von Guthaben hängt bei Bitcoin von zwei Bedingungen ab:  
+
Die Sicherheit von Guthaben hängt bei Bitcoin von drei Bedingungen ab:  
# Die '''Vertraulichkeit (Geheimhaltung)''' der privaten Schlüssel
+
# Die '''Vertraulichkeit (Geheimhaltung)''' der privaten Schlüssel für die gesamte Zeit von der ersten Erzeugung bis zur letzten Verwendung
 
# Die '''Integrität''' der Software auf dem benutzten System.
 
# Die '''Integrität''' der Software auf dem benutzten System.
 +
# sowie dem  '''Schutz der Geldbörse vor Verlust''' z.B. durch Versagen der Festplatte
  
Ein Computer, bei dem nicht '''sowohl''' Vertraulichkeit '''als auch''' Integrität sicher gestellt sind, ist '''kompromittiert'''. Das bedeutet, dass nicht mehr ausgeschlossen werden kann, dass Bitcoins gestohlen werden. Ein Computer, auf der '''Malware'' in Form von Trojanern installiert wurde, ist immer kompromittiert, da zum einen die Schlüssel "gestohlen" werden konnten und zum andern die Software auf dem Computer nicht mehr unter Kontrolle des Anwenders ist. Ein kompromittiertes System kann '''nur''' wieder in einen sicheren Zustand gebracht werden, indem es vollständig neu installiert wird und alle Sicherheitsupdates angewandt werden. Ein "Desinfizieren" von virenbefallenen Programmen reicht nicht aus!
+
Ein Computer, bei dem nicht '''sowohl''' Vertraulichkeit '''als auch''' Integrität sicher gestellt sind, ist '''kompromittiert'''. Das bedeutet, dass nicht mehr ausgeschlossen werden kann, dass Bitcoins gestohlen werden. Ein Computer, auf der '''Malware''' in Form von Trojanern installiert wurde, ist immer kompromittiert, da zum einen die Schlüssel "gestohlen" werden konnten und zum andern die Software auf dem Computer nicht mehr unter Kontrolle des Anwenders ist. Ein kompromittiertes System kann '''nur''' wieder in einen sicheren Zustand gebracht werden, indem es vollständig neu installiert wird und alle Sicherheitsupdates angewandt werden. Ein "Desinfizieren" von virenbefallenen Programmen reicht nicht aus!
  
== Anlegen einer neuen Geldbörse ==
+
Ein Passwort, das zu einer Datensicherung gehört, muss ebenso wie die Dateien selber dauerhaft vor Verlust geschützt werden, anderenfalls ist die Sicherung im Zweifelsfall wertlos.
  
In dem Fall, dass die Geldbörse möglicherweise oder tatsächlich in einem kompromiottierten Zustand gespeichert oder verbreitet wurde, ist es klug, eine neue Geldbörse anzulegen und alle Geldbeträge in der alten Geldbörse auf die neue zu übertragen. Nachdem dies geschehen ist, kann jemand, der Kenntnis der alten privaten Schlüssel erlangt hat, diese nicht mehr benutzen um über Geldbeträge zu verfügen.
+
== Sichern der Vertraulichkeit und Integrität von Geldbörse und Software==
  
Das kann zum Beispiel sinnvoll sein, wenn jemand eine Geldbörse mit einem Passwort von 12 Zeichen bei einem Dienst online gespeichert hat. Inzwischen können Passwörter mit 12 bis zu ungefähr 15 Zeichen entschlüsselt werden und die privaten Schlüssel sind nicht mehr sicher. Die Geldbörse lediglich neu zu verschlüsseln, reicht nicht aus.
+
=== Anlegen einer neuen Geldbörse ===
  
==Anlegen eines sicheren und geschützten Bereichs==
+
In dem Fall, dass die Geldbörse möglicherweise oder tatsächlich in einem kompromittierten Zustand gespeichert oder verbreitet wurde, ist es klug, eine neue Geldbörse anzulegen und alle Geldbeträge in der alten Geldbörse auf die neue zu übertragen. Nachdem dies geschehen ist, kann jemand, der Kenntnis der alten privaten Schlüssel erlangt hat, diese nicht mehr benutzen, um über Geldbeträge zu verfügen.
  
Programme wie zum Beispiel Webbrowser sind nie vollständig sicher. Deswegen ist es ausgesprochen sinnvoll, das Bitcoin Client Programm nicht mit der Benutzerkennung auszuführen, mit der man im WWW surft oder E-Mails liest. Die modernen Betriebssysteme können Programme für unterschiedliche Benutzerkennungen recht wirkungsvoll voneinander abschotten.
+
Das kann zum Beispiel sinnvoll sein, wenn jemand eine Geldbörse mit einem Passwort von 12 Zeichen bei einem Dienst online gespeichert hat. Inzwischen können Passwörter mit 12 bis zu ungefähr 15 Zeichen entschlüsselt werden und die privaten Schlüssel sind nicht mehr sicher. Die Geldbörse lediglich neu zu verschlüsseln, reicht nicht aus.
  
===Exkurs: Sichere Passworte===
+
===Anlegen eines sicheren und geschützten Bereichs===
  
 +
Komplexe und umfangreiche Programme wie zum Beispiel Webbrowser sind nie vollständig sicher. Deswegen ist es ausgesprochen sinnvoll, das Bitcoin Client Programm nicht mit der Benutzerkennung auszuführen, mit der man im WWW surft oder E-Mails liest. Die modernen Betriebssysteme können Programme für unterschiedliche Benutzerkennungen recht wirkungsvoll voneinander abschotten.
 +
 +
====Exkurs: Sichere Passworte====
 +
 +
===== Passwörter =====
 
Eine bewährte Methode zur Erzeugung von sicheren, aber mit etwas Lernaufwand merkbaren Passworten ist wie folgt:
 
Eine bewährte Methode zur Erzeugung von sicheren, aber mit etwas Lernaufwand merkbaren Passworten ist wie folgt:
  
* Man denkt sich einen sinnlosen Satz aus wie "Dreißig Dohlen fliegen rückwärts zum Mond, aber eine Fahrkarte haben sie nicht." Je skurriler der Satz, desto besser kann man ihn sich merken.
+
* Man denkt sich einen sinnlosen Satz aus wie  
 +
"Dreißig Dohlen fliegen rückwärts zum Mond, aber eine Fahrkarte haben sie nicht."  
 +
Je skurriler der Satz, desto besser kann man ihn sich merken.
  
* Die Anfangsbuchstaben und Zahlen verwendet man für das Passwort: 30DfrzM,a1Fkhsn.
+
* Die Anfangsbuchstaben und Zahlen verwendet man für das Passwort:
 +
30DfrzM,a1Fkhsn.
  
* Nun wird man kreativ und ersetzt ein paar Zeichen, z.B. "A" sieht doch ähnlich aus wie "4": 30DfrzM-4lFkhsn;
+
* Nun wird man kreativ und ersetzt ein paar Zeichen, z.B. "A" sieht doch ähnlich aus wie "4":
 +
30DfrzM-4lFkhsn;
  
* jetzt streut man noch ein paar Zeichen ein, die es auf englischen Tastaturen nicht gibt[https://en.bitcoin.it/wiki/Microsoft_Windows_Unicode_Input]: 3ß0þDförzM฿-4lFkhsn;
+
* jetzt streut man noch ein paar Zeichen ein, die es auf englischen Tastaturen nicht gibt[https://en.bitcoin.it/wiki/Microsoft_Windows_Unicode_Input (Tipps)]:
 +
3ß0þDförzM฿-4lFkhsn;
  
Starke Passwörter sind heute, wo gewaltige Rechenkapazitäten verfügbar sind, etwa 15 bis 20 Zeichen lang. Die wenigsten Menschen können sich so lange Passwörter fehlefrei merken, besonders wenn sie länger Urlaub machen. Deswegen schreibt man sich das Password auf und steckt es in seine Brieftasche.
+
Starke Passwörter sind heute, wo gewaltige Rechenkapazitäten verfügbar sind, etwa 15 bis 20 Zeichen lang. Die wenigsten Menschen können sich so lange Passwörter fehlerfrei merken, besonders wenn sie länger Urlaub machen. Deswegen schreibt man sich das Password auf und steckt es in seine Brieftasche.
  
 
* Zum Schutz gegen unbefugte Verwendung hängt man noch einige Zeichen an, die man sich wirklich im Kopf merkt.
 
* Zum Schutz gegen unbefugte Verwendung hängt man noch einige Zeichen an, die man sich wirklich im Kopf merkt.
  
Nun ist es so, dass ein vergessenes Password mindestens so schlecht ist wie ein geknacktes. Einen Button "Passwort vergessen, neues per E-Mail zuschicken" gibt es bei Bitcoin nicht. Also folgt aus "Passwort weg" unweigerlich "Geld weg".
+
Nun ist es so, dass ein vergessenes Password mindestens so schlecht ist wie ein geknacktes. Einen Button "Passwort vergessen, neues per E-Mail zuschicken" gibt es bei Bitcoin nicht. '''Also folgt aus "Passwort weg" unweigerlich "Geld weg"'''.
 +
 
 +
* '''Das erhaltenen Passwort schreibt man deswegen auf''', und bewahrt es z.B. in seinem Bankschließfach (Kosten 40 Euro / Jahr) oder in einem feuersicheren Tresor auf. Da ist es ''"ziemlich"'' sicher vor Datendieben.
 +
 
 +
=====Passphrasen (Passwortsätze) =====
 +
 
 +
* Eine Alternative zu Passwörtern, die '''deutlich leichter zu merken ist''', aber gegenüber Techniken wie dem Crackern mit Rainbow Tables genauso sicher ist die Verwendung von '''Passphrasen'''. Sichere Passphrasen für Dateien sollten aus mindestens sechs ungewöhnlichen Wörtern bestehen und mindestens 35 Zeichen Länge haben. Dieser [http://www.explainxkcd.com/2011/08/10/password-strength/ Comic von XKCD] erklärt das Prinzip.
 +
 
 +
* Ein Beispielsatz wäre: "Die Zitrone flambierte dem Okapi eine phosphoreszierende Absolution."
 +
 
 +
* Wesentlich für die Stärke dieser Methode sind technische Gründe: Sobald ein Password eine gewisse minimale Komplexität erreicht hat, ist die schnellste Methode, das Passwort zu knacken, eine Brute-Force-Suche mit Rainbow Tables und Tabellen. Und da bei dieser Methode die Länge des Passworts der ausschlaggebende Faktor ist, schlagen lange Passphrasen, die vergleichsweise viel besser zu merken sind, kurze sehr komplexe Passwörter.
 +
 
 +
* Weitere Informationen zu Passphrasen finden sich auf der [http://www.gnupp.de/verschluesselung/mantra.html Webseite des Gnu Privacy Projekts].
  
* Das erhaltenen Passwort schreibt man auf, und bewahrt es in seinem Bankschließfach (Kosten 40 Euro / Jahr) oder in einem feuersicheren Tresor auf. Da ist es ''"ziemlich"'' sicher vor Datendieben.
+
* Tiefergehende englischsprachige Informationen sind in der [http://www.iusmentis.com/security/passphrasefaq/ Passphrase FAQ] von Randall T. Williams.
  
 +
* Vorsicht: Völlig ungeeignet sind fest stehende Ausdrücke und Redensarten.
  
===Linux===
+
====Spezielle Linux-Distributionen====
 +
 
 +
Ein Windows-System umfassend abzusichern, ist aufwendig und schwierig. Eine Absicherung, welche für die Verwaltung fünfstelliger Beträge angemessen ist, setzt Kenntnisse voraus, welche der durchschnittliche Anwender nicht hat.
 +
 
 +
Es gibt als Alternative einige spezielle Linux-Distributionen, welche einen eigens für Bitcoin angelegten gesicherten Bereich schaffen können und fast keine Einrichtung brauchen:
 +
 
 +
* [http://www.heise.de/ct/projekte/Sicheres-Online-Banking-mit-Bankix-284099.html c't Bankix], eine für das Online-Banking angepaßte, natürlich kostenlose Variante von Ubuntu, die vom renommierten deutschem Heise-Verlag erstellt wurde. Nach dem (wichtigem) Updaten wird das System schreibgeschützt und ist dann nicht mehr durch Austausch von Software manipulierbar.
 +
* [http://de.wikipedia.org/wiki/Damn_Small_Linux Damn Small Linux] ist ein beliebtes, kleines Debian-basiertes Linux, das nur die wichtigsten Funktionen enthält und somit weniger Angriffsflächen liefert. Die Ableitung von Debian garantiert zügige und gewissenhafte Sicherheits-Updates.
 +
* [http://de.wikipedia.org/wiki/Knoppix Knoppix] ist eine populäre Live-CD Distribution mit hervorrragender Hardware-Erkennung, welche einen etwas größeren Umfang als Damn Small Linux hat und z.B. Unterstützung für Blinde und Sehbehinderte bietet.
 +
* [http://forum.bitcoin.org/index.php?topic=7374 LinuxCoin], das viele Zusatzfunktionen z.B. zum Minen bietet
 +
 
 +
 
 +
Die folgenden Distributionen sind nur für Benutzer mit guten Kenntnissen geeignet, stellen aber aufgrund exzellenter Sicherheitsmerkmale interessante Ausgangspunkte für Bitcoin-Appliances dar:
 +
 
 +
* [http://en.wikipedia.org/wiki/Tin_Hat_Linux Tin Hat Linux] ist ein [http://en.wikipedia.org/wiki/Hardened_Gentoo Hardened Gentoo]-Derivat, das neben einer sehr geringen Größe und einer sehr umfassenden Verschlüsselung interessante zusätzliche Sicherheitsfunktionen bietet, wie beispielsweise [http://en.wikipedia.org/wiki/Grsecurity Grsecurity].
 +
* [http://en.wikipedia.org/wiki/Alpine_Linux Alpine Linux] nutzt ähnlich wie Tin Hat Linux u.a. Kernelfunktionen mit Stack Smashing Protection und verwendet statt der gängigen glibc die uClibc, was bedeutet dass der Bitcoin-Client für diese Distribution eigens kompiliert werden muss.
 +
 
 +
====Linux====
 +
=====Geschütztes Benutzerkonto=====
  
 
Der erste Schritt ist, [http://wiki.ubuntuusers.de/Benutzer_und_Gruppen einen neuen Benutzer anzulegen], das geht mit dem Kommando:
 
Der erste Schritt ist, [http://wiki.ubuntuusers.de/Benutzer_und_Gruppen einen neuen Benutzer anzulegen], das geht mit dem Kommando:
Zeile 57: Zeile 101:
  
 
Dann meldet man sich als der neue Benutzer an, z.B. mit "Benutzer wechseln" (bei Ubuntu unter dem Menü zum Abmelden). Wenn man angemeldet ist, sucht man die Dateiverwaltung, wählt in dieser das Home-Verzeichnis aus (Symbol mit dem Haus), dann mit der rechten Maustaste auf "Eigenschaften", dann die Zugriffsberechtigungen. Hier wählt man "Other" und setzt die Berechtigungen auf "niemand". Mit diesem Schritt können andere Programme anderer Benutzer die Geldbörse nicht mehr lesen.
 
Dann meldet man sich als der neue Benutzer an, z.B. mit "Benutzer wechseln" (bei Ubuntu unter dem Menü zum Abmelden). Wenn man angemeldet ist, sucht man die Dateiverwaltung, wählt in dieser das Home-Verzeichnis aus (Symbol mit dem Haus), dann mit der rechten Maustaste auf "Eigenschaften", dann die Zugriffsberechtigungen. Hier wählt man "Other" und setzt die Berechtigungen auf "niemand". Mit diesem Schritt können andere Programme anderer Benutzer die Geldbörse nicht mehr lesen.
 
Um den Browser abzusichern, startet man Firefox, geht ins Menü "Edit" (Bearbeiten), und wählt "Preferences" (Einstellungen). Nun fängt man bei den Karteikarten links an, wählt unter "Startup" die Option "Show a Blank Page" (Leere Startseite). Unter "Content" (Inhalt), die Option "Load Images automatically / Bilder automatisch laden" abwählen, ebenso wie "Enable Javascript/Javascript aktivieren". In der Karteikarte "Privacy/Datenschutz" im Menü "History / Verlaufsgeschichte" auswählen "Never remember history" / "keinen Verlauf speichern". In der Karteikarte "Security" im Abschnitt "Passwords" die Option "remember Passwords / Passwörter speichern" abwählen, ebenso "use a master password" / "Masterpasswort".  Schließlich in der Karteikarte "Advanced" / "Erweitert" die Option "Automatically check for updates" abwählen, ebenso "Add-ons" und "Search engines"/"Suchmaschinen" abwählen.
 
 
Wenn Javascript deaktiviert ist, wird die Seite [http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/bitcoin-0.3.23-linux.tar.gz/download linux download page] zum Downloaden neuer Versionen des Bitcoin Clients nicht mehr automatisch einen Download starten, deswegen muss man auf den Link "direct link" beim Hinweis "Problems with the download? Please use this 'direct link' or try another mirror." klicken. Nachdem man sich die Mühe gemacht hat, überprüft man natürlich beim Herunterladen neuer Bitcoin Clients die Prüfsummen, die auf der Sourceforge Seite angegeben sind, mit dem Programm sha1.
 
  
 
Den neu angelegten sicheren Benutzer sollte man, um ihn auch sicher zu halten, ausschließlich für Bitcoin benutzen.
 
Den neu angelegten sicheren Benutzer sollte man, um ihn auch sicher zu halten, ausschließlich für Bitcoin benutzen.
Zeile 73: Zeile 113:
 
# Wenn das geklappt hat,  kann man nun ALT+F8 drücken um zurückzugehen und sich unter X11 einzuloggen.
 
# Wenn das geklappt hat,  kann man nun ALT+F8 drücken um zurückzugehen und sich unter X11 einzuloggen.
 
# Das Kommando 'ecryptfs-unwrap-passphrase' ausführen und unbedingt '''den Code, den man erhält, aufschreiben und auf einem sicheren Medium speichern'''. '''Ohne diesen Code kann man auf die Daten - einschließlich der Geldbörse - nicht zugreifen, wenn das System nicht funktioniert.'''
 
# Das Kommando 'ecryptfs-unwrap-passphrase' ausführen und unbedingt '''den Code, den man erhält, aufschreiben und auf einem sicheren Medium speichern'''. '''Ohne diesen Code kann man auf die Daten - einschließlich der Geldbörse - nicht zugreifen, wenn das System nicht funktioniert.'''
# Das Kommando 'ecryptfs-setup-swap' ausführen, welches die Swap-Partition verschlüsselt. Sonst können Schlüssel aus der Geldbörse im Klartext auf die Swap-Partition gelangen, wo sie gestohlen werden könnten. Das bedeutet leider auch, dass "Ruhezustand" bzw. Hibernate nicht mehr benutzt werden kann, weil der Bootloader das Speicherabbild nicht wiederherstellen kann.
+
# Das Kommando 'ecryptfs-setup-swap' ausführen, welches die Swap-Partition verschlüsselt. Sonst können Schlüssel aus der Geldbörse im Klartext auf die Swap-Partition gelangen, wo sie gestohlen werden könnten. Das bedeutet leider auch, dass "Ruhezustand" bzw. Hibernate nicht mehr benutzt werden kann, weil der Bootloader das Speicherabbild nicht wiederherstellen kann. Eine Alternataive ist es, die Swap-Partition beim Herunterfahren des Rechners (also nach der Deaktivierung des virtuellen Speichers) mit zufälligen Daten zu überschreiben.
 
(Anleitung aus [http://bodhizazen.net/Tutorials/Ecryptfs/#Migrate])
 
(Anleitung aus [http://bodhizazen.net/Tutorials/Ecryptfs/#Migrate])
  
===Mac===
+
===== Weitere Informationen =====
 +
* [http://www.easylinux.de/Artikel/ausgabe/2005/11/057-sicherheitsrisiken/ Artikel in easylinux zu Sicherheitsrisiken unter Linux]
  
=====Backup all data (500MB)=====
+
* [http://wiki.ubuntuusers.de/Sicherheit Überblick über Sicherheitsfunktionen in Ubuntu]
Follow these instructions to backup all the bitcoin data (wallet and block chains) to an encrypted disk image.
+
 
# Open Disk Utility
+
====Windows ====
# Click New Image and choose 500MB, 128-bit or 256-bit (faster or more secure) encryption and single partition.
+
 
# Save it somewhere you won't lose it (like your Wuala, Dropbox, Strongspace or whatever)
+
* [http://windows.microsoft.com/de-DE/windows7/help/security-privacy-user-accounts Grundlagen]
# Choose a safe and strong password
+
 
# Move everything from ~/Library/Application Support/Bitcoin/ to the image
+
* Einen extra Benutzer anlegen, unter dem nur die Bitcoin-Software ausgeführt wird. So ist die Geldbörse vor Schadcode in anderen Nutzerapplikationen etwas geschützt:
# Symlink it back so the app would be able to use it
+
** [http://support.microsoft.com/kb/905056/de Windows XP]
:::ln -s /Volumes/Bitcoin ~/Library/Application Support/Bitcoin
+
** [http://windows.microsoft.com/de-DE/windows7/Create-a-user-account Windows 7]
 +
 
 +
* [[Empfehlungen zur Absicherung von Bitcoin-Clients unter Windows]]
 +
* [http://www.ntsvcfg.de/ Windows sicher für Heimbenutzer konfigurieren]
 +
* [http://www.heise.de/security/artikel/Microsoft-Tool-laesst-Exploits-ins-Leere-laufen-1078697.html Microsoft Enhanced Mitigation Experience Toolkit (EMET) konfigurieren] (schützt vor vielen klassischen Exploits)
 +
* [http://www.heise.de/security/dienste/Update-Check-877012.html Applikationsprogramme wie Flash, Acrobat, etc auf fehlende Updates prüfen] (und im abgesicherten Benutzerkonto am besten gar nicht verwenden)
 +
 
 +
===Browser-Sicherheit===
  
Don't forget to mount your image before using Bitcoin and unmount after quitting it.
+
==== Firefox ====
 +
Um den Browser abzusichern, startet man Firefox, geht ins Menü "Edit" (Bearbeiten), und wählt "Preferences" (Einstellungen).  
  
=====Backup just wallet.dat (40MB)=====
+
* Nun fängt man bei den Karteikarten links an, wählt unter "Startup" die Option "Show a Blank Page" (Leere Startseite).  
Follow these instructions to backup just the wallet.dat file. This results in a smaller disk image, but it's more complicated to do.
+
* Unter "Content" (Inhalt),
# Open Disk Utility
+
** die Option "Load Images automatically / Bilder automatisch laden" abwählen,  
# Click New Image and choose 40MB, 128-bit or 256-bit (faster or more secure) encryption and single partition.
+
** ebenso "Enable Javascript/Javascript aktivieren" abwählen.  
# Save it somewhere you won't lose it (like your Wuala, Dropbox, Strongspace or whatever)
+
* In der Karteikarte "Privacy/Datenschutz" im Menü "History / Verlaufsgeschichte" auswählen "Never remember history" / "keinen Verlauf speichern".  
# Choose a safe and strong password
+
* In der Karteikarte "Security" im Abschnitt "Passwords"
# Move your wallet.dat file to the image
+
** die Option "remember Passwords / Passwörter speichern" abwählen,
# Symlink it back so the app would be able to use it
+
** ebenso "use a master password" / "Masterpasswort". 
:::ln -s /Volumes/Bitcoin/wallet.dat ~/Library/Application Support/Bitcoin/wallet.dat
+
* Schließlich in der Karteikarte "Advanced" / "Erweitert" die Option
 +
** "Automatically check for updates" abwählen,
 +
** ebenso "Add-ons" und
 +
** "Search engines"/"Suchmaschinen" abwählen.
  
[[File:MountWalletAndLauchnBitcoin_OSX_Automator.png|thumbnail|150px|Mount Wallet and launch Bitcoin]]
+
Wenn Javascript deaktiviert ist, wird die Seite [http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/bitcoin-0.3.23-linux.tar.gz/download linux download page] zum Downloaden neuer Versionen des Bitcoin Clients nicht mehr automatisch einen Download starten, deswegen muss man auf den Link "direct link" beim Hinweis "Problems with the download? Please use this 'direct link' or try another mirror." klicken. Nachdem man sich die Mühe gemacht hat, überprüft man natürlich beim Herunterladen neuer Bitcoin Clients die Prüfsummen, die auf der Sourceforge Seite angegeben sind, mit dem Programm sha1.
Don't forget to mount your image before using Bitcoin and unmount after quitting it.
 
  
'''Note''': If you start the Bitcoin application without having the image mounted, the application will overwrite your symlink with a new wallet. If that happens, don't panic. Just delete the new wallet.dat, mount the image, and recreate the symlink like above.
+
==Schutz vor Datenverlust: Backup==
 +
Die einzige Datei die man sichern muß, ist die wallet.dat. Vorher sichergehen, dass Bitcoin nicht mehr läuft! Am besten wäre es, die Datei zu verschlüsseln und irgendwo sicher zu verstauen.
  
'''Automation''': You can create a small application using [http://en.wikipedia.org/wiki/Automator_%28software%29 Automator] (included in OS X) to automatically mount the wallet and then launch Bitcoin App. See the Screenshot on how to do this.
+
Du kannst auch den [[API|backupwallet]]-JSON-RPC Befehl nutzten, um im laufenden Betrieb ein Backup zu erstellen.
  
If one ''doesn't'' want to use encrypted Disk images, then a '''small shell script''' can be used instead that takes care of decrypting the wallet, launching bitcoin client, and encrypting it after the client exits. This script works on both OSX and Linux: [http://lorelei.kaverit.org/bitcoin.sh bitcoin-launch-script]
+
===Bitcoin-Ordner finden===
 +
Der [[Bitcoin-Ordner]] ist der Ordner, in dem sich die Daten mitsamt der Datei wallet.dat befinden.
  
===Windows===
+
====Windows====
 +
Klicke auf "Start", dann auf Ausführen und gebe dies ein:
 +
:%APPDATA%\BitCoin
 +
Ein Ordner sollte sich nun öffnen, für die meisten wäre es:
 +
C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\BitCoin (XP)
 +
C:\Users\Benutzername\Appdata\Roaming\BitCoin (Vista und 7)
 +
 
 +
<!---
 +
 
 +
====Windows====
  
 
If you are using Windows XP or Windows 7, you can keep your wallet on an encrypted disk image created by third-party software, such as [http://www.truecrypt.org/ TrueCrypt] (open source) or [http://www.jetico.com/encryption-bestcrypt/ Jetico BestCrypt] (commercial).  You can probably do the same with Windows Vista or Windows 2000.   
 
If you are using Windows XP or Windows 7, you can keep your wallet on an encrypted disk image created by third-party software, such as [http://www.truecrypt.org/ TrueCrypt] (open source) or [http://www.jetico.com/encryption-bestcrypt/ Jetico BestCrypt] (commercial).  You can probably do the same with Windows Vista or Windows 2000.   
Zeile 132: Zeile 194:
 
After doing this, any time you want to use BitCoin, you must first mount the BitCoin encrypted disk image using the same drive designation, and then run BitCoin from the shortcut that you created, so that it can find its data and your wallet. :-)
 
After doing this, any time you want to use BitCoin, you must first mount the BitCoin encrypted disk image using the same drive designation, and then run BitCoin from the shortcut that you created, so that it can find its data and your wallet. :-)
  
==Bitcoin-Ordner finden==
+
-->
Der [[Bitcoin-Ordner]] ist der Ordner, in dem sich die Daten mitsamt der Datei wallet.dat befinden.
 
 
 
===Windows===
 
Klicke auf "Start", dann auf Ausführen und gebe dies ein:
 
:%APPDATA%\BitCoin
 
Ein Ordner sollte sich nun öffnen, für die meisten wäre es:
 
C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\BitCoin (XP)
 
C:\Users\Benutzername\Appdata\Roaming\BitCoin (Vista und 7)
 
  
===Linux===
+
====Linux====
 
Bitcoin sollte einen versteckten Ordner im Home-Verzeichnis des ausführenden Benutzers erstellen.
 
Bitcoin sollte einen versteckten Ordner im Home-Verzeichnis des ausführenden Benutzers erstellen.
 
  ~/.bitcoin/
 
  ~/.bitcoin/
Zeile 153: Zeile 207:
 
:locate wallet.dat
 
:locate wallet.dat
  
===Mac===
+
Die handlichste Backup-Methode unter Linux ist vermutlich, die wallet.dat auf eine bzw. mehrere dafür verwendete USB-Sticks bzw. Speicherkarten zu kopieren, die an einem sicheren Ort (feuersicherer Tresor, Banksafe, Aquarium mit Piranhas, etc) aufbewahrt werden.
Normalerweise hier
+
 
 +
===== Individuelle Verschlüsselung der wallet.dat =====
 +
* Zur individuellen Verschlüsselung der Geldbörse ist das plattformübergreifend verfügbare Programm '''[http://ccrypt.sourceforge.net/ ccrypt]''' gut geeignet. Es verschlüsselt mit einer Variante des vom AES-Standard anerkannten Rijndael-Algorithmus, der als sehr sicher gilt. Die Klartext-Version der Wallet.dat wird dabei automatisch ersetzt. Wie bei allen starken Verschlüsselungen ist eine sorgfältige Sicherung von Daten und Schlüsseln dringend zu empfehlen - unter Linux ist das Verlustrisiko durch Vergessen der Schlüssel bisher viel höher als durch Rechnereinbrüche und Malware.
 +
 
 +
* Zur automatischen Speicherung verschlüsselter Kopien ist GnuPG gut geeignet. Man braucht dabei zum Verschlüsseln nur den öffentlichen Schlüssel, erst zum Entschlüsseln eines Backups wird der private Schlüssel gebraucht, den man sonst sicher im Safe aufbewahren kann. Das Verwenden eines festen Schlüsselpaares verringert die Gefahr eines Schlüsselverlustes durch unbemerkte Tippfehler bei der Eingabe.
 +
 
 +
* Einen zusätzlichen Schutz gegen Angriffe mit Keyloggern bieten Smartcards und Hardware Tokens wie der [http://www.privacyfoundation.de/crypto_stick/ Crypto Stick] der German Privacy Foundation oder die Fellowship Smartcard. Der besondere Vorteil ist, dass man GnuPG-Schlüssel, die aufgrund ihrer Länge sehr sicher sind, auf der Smartcard speichern kann. Ein sechsstelliger PIN-Code schützt den Inhalt der Smartcard; wird er mehrfach falsch eingegeben, so wird der Inhalt unwiderruflich gelöscht. [https://www.privacyfoundation.de/wiki/CryptoStickSoftware Anleitung hier].
 +
 
 +
* Zusammen mit dem FUSE-Dateisystem [http://de.wikipedia.org/wiki/EncFS EncFS] lassen sich so auch einzelne Dateien wie die wallet.dat individuell sichern. Das gesamte Bitcoin-Verzeichnis kann allerdings wegen der verwendeten Datenbank nicht mit EncFS verschlüsselt werden.
 +
 
 +
====Mac====
 +
 
 +
''Hinweis: die folgende Anleitung ist mangels Mac nicht vom Übersetzer überprüft. Bitte prüfen und gegebenenfalls korrigieren, dann Hinweis entfernen!''
 +
 
 +
Das Bitcoin-Verzeichnis mit der wallet.dat befindet sich normalerweise hier:
 
  ~/Library/Application Support/Bitcoin/
 
  ~/Library/Application Support/Bitcoin/
  
==Backup==
+
=====Alle Daten sichern (500 Megabyte)=====
Die einzige Datei die man sicherstellen sollte, ist die wallet.dat. Vorher sichergehen, dass Bitcoin nicht mehr läuft! Am besten wäre es, die Datei zu verschlüsseln und irgendwo sicher zu verstauen.
+
Mit diesen Schritten werden alle Daten von Bitcoin (Geldbörse und Block chain) auf ein verschlüsseltes Festplatten-Image gesichert:
 +
# Disk Utility öffnen
 +
# "New Image" anklicken, 500MB, 128-bit oder 256-bit (schneller oder sicherer)  Verschlüsselung, eintelne Partition angeben.
 +
# An einem Platz kopieren, wo man das Image nicht verlieren wird (z.B. Wuala, Strongspace ofer was auch immer)
 +
# Ein starkes und sicheres Passwort wählen
 +
# Alles aus ~/Library/Application Support/Bitcoin/ in das Image kopieren
 +
# Symlink zum alten Platz anlegen, so dass die App es benuutzen kann
 +
:::ln -s /Volumes/Bitcoin ~/Library/Application Support/Bitcoin
 +
 
 +
Nicht vergessen, das Image vor der Benutzung von Bitcoin zu mounten und nachher zu unmounten.
 +
 
 +
=====Backup der Geldbörsen-Datei wallet.dat alleine (40MB)=====
 +
Diese Schritte sichern nur die Datei wallet.dat. Das bewirkt ein kleineres Speicherabbild, ist aber komplizierter.
 +
 
 +
# Disk Utility öffnen
 +
# "New Image" anklicken, 40MB, 128-bit oder 256-bit, single partition wählen.
 +
# An einem Ort speichern, wo man das Backup nicht verlieren wird.
 +
# Ein sicheres und starkes Passwort wählen
 +
# Die Datei wallet.dat in das Image verschieben
 +
# Symlink zum alten Ort anlegen, so dass die App die Datei finden und benutzen kann
 +
:::ln -s /Volumes/Bitcoin/wallet.dat ~/Library/Application Support/Bitcoin/wallet.dat
 +
 
 +
[[File:MountWalletAndLauchnBitcoin_OSX_Automator.png|thumbnail|150px|Mount Wallet and launch Bitcoin]]
 +
Nicht vergessen, das Image vor der Benutzung von Bitcoin zu mounten und nachher zu unmounten.
 +
 
 +
 
 +
'''Achtung''': Wenn man die Bitcoin applikation startet, ohne dass das Image gemounted ist, wird das Programm das Symlink (eine Art Shortcut) mit einer neuen wallet.dat überschreiben. Keine Panik! Benenne die neue wallet.dat um oder lösche sie, mounte das Image, und lege einfach ein neues Symlink an. Die alte wallet.dat darf natürlich auf keinen Fall gelöscht werden.
 +
 
 +
'''Automation''': Mit dem Programm [http://en.wikipedia.org/wiki/Automator_%28software%29 Automator] (enthalten in OS X) kann man die Wallet automatisch mounten und die Bitcoin App starten.
 +
 
 +
Alternativ kann das folgende Shell-Skript benutzt werden, welches die wallet.dat automatisch entschlüsselt, den Bitcoin Client startet, und sie nachher wieder verschlüsselt. Das Skript funktioniert sowoghl for für OSX und Linux: [http://lorelei.kaverit.org/bitcoin.sh bitcoin-launch-script]
  
Du kannst auch den [[API|backupwallet]]-JSON-RPC Befehl nutzten, um im laufenden Betrieb ein Backup zu erstellen.
 
  
 
===Allgemeine Lösung===
 
===Allgemeine Lösung===
 
wallet.dat ist normalerweise nicht verschlüsselt, jeder der Zugriff auf die Datei hat, kann über die Coins frei verfügen. Du kannst deine wallet.dat auch mit einem dieser Programme verschlüsseln, sollte es nur die kleinste Wahrscheinlichkeit geben, dass jemand anderes Zugriff hat.
 
wallet.dat ist normalerweise nicht verschlüsselt, jeder der Zugriff auf die Datei hat, kann über die Coins frei verfügen. Du kannst deine wallet.dat auch mit einem dieser Programme verschlüsseln, sollte es nur die kleinste Wahrscheinlichkeit geben, dass jemand anderes Zugriff hat.
 +
 +
Achtung: Verschlüsselung hilft nicht nachträglich und sie schützt auch nur höchst lückenhaft vor Malware!
  
 
* [http://www.7-zip.org/ 7-Zip]
 
* [http://www.7-zip.org/ 7-Zip]
Zeile 169: Zeile 268:
 
* [http://www.truecrypt.org/ TrueCrypt]
 
* [http://www.truecrypt.org/ TrueCrypt]
 
* [http://www.rarlab.com/ WinRar]
 
* [http://www.rarlab.com/ WinRar]
 +
* [http://de.wikipedia.org/wiki/EncFS EncFS] (Linux)
 +
 +
=== Verschlüsselung mit Smart Card ===
 +
 +
Ordner können auch mit einer GnuPG-kompatiblen SmartCard verschlüsselt werden. Eine sehr sichere Lösung ist der Crypto Stick der German Privacy Foundation:
 +
 +
[http://www.privacyfoundation.de/crypto_stick/ Überblick Crypto Stick]
  
=== Passwortstärke ===
+
[https://www.privacyfoundation.de/wiki/CryptoStickSoftware Intallation und Benutzung]
Bruteforce-Angriffe sind in der heutigen Zeit effektiver als je zuvor. Mit der richtigen Hardware ist es ohne viel Aufwand möglich bis ~8 Zeichen lange Passwörter zu erraten (kommt auf den Algorithmus an).  
 
  
Empfohlen wird ein Passwort mit einer guten Länge (>12 Zeichen) und einigen Sonderzeichen. Zudem sollte, falls Option vorhanden, auch eine Key-File zum Verschlüsseln genutzt werden (auch hier auf Backup der Key-File achten!).
 
  
 
=== Aufbewahren des Archives===
 
=== Aufbewahren des Archives===
Am einfachsten wäre es, das Archiv als Anhang einer E-Mail an sich selbst zu senden.
+
Am einfachsten wäre es, das Archiv als Anhang einer E-Mail an sich selbst zu senden. Zudem kann man die wallet.dat innerhalb des Archivs noch in etwas unauffälliges umbenennen, genauso wie das Archiv selber.  
  
Zudem kann man die wallet.dat innerhalb des Archivs noch in etwas unauffälliges umbenennen, genauso wie das Archiv selber.  
+
Auch eine Sicherung auf Flash-Medien / Memory Sticks und eine Aufbewahrung an sicheren Orten ist eine sinnvolle Lösung.
  
 
Für erfahrene Benutzer kann auch [http://de.wikipedia.org/wiki/Steganographie Steganographie] in Betracht kommen.  
 
Für erfahrene Benutzer kann auch [http://de.wikipedia.org/wiki/Steganographie Steganographie] in Betracht kommen.  
 
Für Linux-Benutzer gibt es ''steghide''.
 
Für Linux-Benutzer gibt es ''steghide''.
 +
 +
 +
==BOTG: Bitcoin Off The Grid ==
 +
* Eine weitere Alternative, die für höchste Sicherheitsanforderungen geeignet ist, stellt "BOTG - Bitcoin Off-The-Grid" dar, Info [http://forum.bitcoin.org/index.php?topic=7374.msg108351;topicseen#msg108351 in der Ankündigung zu LinuxCoin]. Dabei handelt es sich um ein Skript, das ''ohne'' Internetverbindung ein Schlüsselpaar erzeugen kann. Da der Private Schlüssel auf einem System erzeugt wird, das gar keinen Internetanschluss hat, und er offline gespeichert wird, kann er auch nicht über Internet abhanden kommen. Der öffentliche Schlüssel kann weiter gegeben werden und ganz normal Transaktionen empfangen, welche im Block Explorer nachgeschaut werden können. Erst wenn man das Guthaben verwenden möchte, muß man den privaten Schlüssel in einen Bitcoin Client importieren. Ab dann gelten die normalen Sicherheitsvorkehrungen.
 +
  
 
[[en:Securing your wallet]]
 
[[en:Securing your wallet]]
 +
[[es:Cómo asegurar su monedero]]
 +
[[zh-cn:保护你的钱包]]

Aktuelle Version vom 19. September 2012, 10:06 Uhr

Einführung

Die Sicherheit der Geldbörse kann in zwei unabhängige Ziele geteilt werden:

1. Gegen Verlust sichern

2. Gegen Diebstahl sichern

Im Falle einer zur Zeit nicht angemessen gesicherten Geldbörse (z.B. mit schwachem Passwort im Internet hochgeladen):

3. Neue, sichere Geldbörse erstellen (mit einem angemessen langen Passwort)

Technischer Hintergrund

Die Börse besitzt einen Fundus an eingereihten Schlüsseln. Standardmäßig sind 100 Schlüssel im Key Pool. Die Größe dessen kann man mit dem "-keypool"-Parameter in der Befehlszeile einstellen. Wenn du aus irgendeinem Grund eine neue Adresse brauchst, wird diese nicht neu erstellt, sondern aus dem Fundus entnommen. Ein neuer Schlüssel wird erstellt, um den Fundus wieder auf 100 Schlüssel füllen zu können. Wenn als erstes ein Backup erstellt wird, enthält es die alten Schlüssel + 100 unbenutzte. Nach einer Transaktion hat es 99 unbenutzte. Nach 100 Aktionen, die einen neuen Schlüssel benötigen, werden Schlüssel benutzt, die nicht im Backup vorhanden sind. Da das Backup nicht die Schlüssel nach den 100 Stück besitzt, kann dieses Backup bei einer Wiederherstellung evtl. zu Verlust von Bitcoins führen.

Die Sicherheit von Guthaben hängt bei Bitcoin von drei Bedingungen ab:

  1. Die Vertraulichkeit (Geheimhaltung) der privaten Schlüssel für die gesamte Zeit von der ersten Erzeugung bis zur letzten Verwendung
  2. Die Integrität der Software auf dem benutzten System.
  3. sowie dem Schutz der Geldbörse vor Verlust z.B. durch Versagen der Festplatte

Ein Computer, bei dem nicht sowohl Vertraulichkeit als auch Integrität sicher gestellt sind, ist kompromittiert. Das bedeutet, dass nicht mehr ausgeschlossen werden kann, dass Bitcoins gestohlen werden. Ein Computer, auf der Malware in Form von Trojanern installiert wurde, ist immer kompromittiert, da zum einen die Schlüssel "gestohlen" werden konnten und zum andern die Software auf dem Computer nicht mehr unter Kontrolle des Anwenders ist. Ein kompromittiertes System kann nur wieder in einen sicheren Zustand gebracht werden, indem es vollständig neu installiert wird und alle Sicherheitsupdates angewandt werden. Ein "Desinfizieren" von virenbefallenen Programmen reicht nicht aus!

Ein Passwort, das zu einer Datensicherung gehört, muss ebenso wie die Dateien selber dauerhaft vor Verlust geschützt werden, anderenfalls ist die Sicherung im Zweifelsfall wertlos.

Sichern der Vertraulichkeit und Integrität von Geldbörse und Software

Anlegen einer neuen Geldbörse

In dem Fall, dass die Geldbörse möglicherweise oder tatsächlich in einem kompromittierten Zustand gespeichert oder verbreitet wurde, ist es klug, eine neue Geldbörse anzulegen und alle Geldbeträge in der alten Geldbörse auf die neue zu übertragen. Nachdem dies geschehen ist, kann jemand, der Kenntnis der alten privaten Schlüssel erlangt hat, diese nicht mehr benutzen, um über Geldbeträge zu verfügen.

Das kann zum Beispiel sinnvoll sein, wenn jemand eine Geldbörse mit einem Passwort von 12 Zeichen bei einem Dienst online gespeichert hat. Inzwischen können Passwörter mit 12 bis zu ungefähr 15 Zeichen entschlüsselt werden und die privaten Schlüssel sind nicht mehr sicher. Die Geldbörse lediglich neu zu verschlüsseln, reicht nicht aus.

Anlegen eines sicheren und geschützten Bereichs

Komplexe und umfangreiche Programme wie zum Beispiel Webbrowser sind nie vollständig sicher. Deswegen ist es ausgesprochen sinnvoll, das Bitcoin Client Programm nicht mit der Benutzerkennung auszuführen, mit der man im WWW surft oder E-Mails liest. Die modernen Betriebssysteme können Programme für unterschiedliche Benutzerkennungen recht wirkungsvoll voneinander abschotten.

Exkurs: Sichere Passworte

Passwörter

Eine bewährte Methode zur Erzeugung von sicheren, aber mit etwas Lernaufwand merkbaren Passworten ist wie folgt:

  • Man denkt sich einen sinnlosen Satz aus wie
"Dreißig Dohlen fliegen rückwärts zum Mond, aber eine Fahrkarte haben sie nicht." 

Je skurriler der Satz, desto besser kann man ihn sich merken.

  • Die Anfangsbuchstaben und Zahlen verwendet man für das Passwort:
30DfrzM,a1Fkhsn.
  • Nun wird man kreativ und ersetzt ein paar Zeichen, z.B. "A" sieht doch ähnlich aus wie "4":
30DfrzM-4lFkhsn;
  • jetzt streut man noch ein paar Zeichen ein, die es auf englischen Tastaturen nicht gibt(Tipps):
3ß0þDförzM฿-4lFkhsn;

Starke Passwörter sind heute, wo gewaltige Rechenkapazitäten verfügbar sind, etwa 15 bis 20 Zeichen lang. Die wenigsten Menschen können sich so lange Passwörter fehlerfrei merken, besonders wenn sie länger Urlaub machen. Deswegen schreibt man sich das Password auf und steckt es in seine Brieftasche.

  • Zum Schutz gegen unbefugte Verwendung hängt man noch einige Zeichen an, die man sich wirklich im Kopf merkt.

Nun ist es so, dass ein vergessenes Password mindestens so schlecht ist wie ein geknacktes. Einen Button "Passwort vergessen, neues per E-Mail zuschicken" gibt es bei Bitcoin nicht. Also folgt aus "Passwort weg" unweigerlich "Geld weg".

  • Das erhaltenen Passwort schreibt man deswegen auf, und bewahrt es z.B. in seinem Bankschließfach (Kosten 40 Euro / Jahr) oder in einem feuersicheren Tresor auf. Da ist es "ziemlich" sicher vor Datendieben.
Passphrasen (Passwortsätze)
  • Eine Alternative zu Passwörtern, die deutlich leichter zu merken ist, aber gegenüber Techniken wie dem Crackern mit Rainbow Tables genauso sicher ist die Verwendung von Passphrasen. Sichere Passphrasen für Dateien sollten aus mindestens sechs ungewöhnlichen Wörtern bestehen und mindestens 35 Zeichen Länge haben. Dieser Comic von XKCD erklärt das Prinzip.
  • Ein Beispielsatz wäre: "Die Zitrone flambierte dem Okapi eine phosphoreszierende Absolution."
  • Wesentlich für die Stärke dieser Methode sind technische Gründe: Sobald ein Password eine gewisse minimale Komplexität erreicht hat, ist die schnellste Methode, das Passwort zu knacken, eine Brute-Force-Suche mit Rainbow Tables und Tabellen. Und da bei dieser Methode die Länge des Passworts der ausschlaggebende Faktor ist, schlagen lange Passphrasen, die vergleichsweise viel besser zu merken sind, kurze sehr komplexe Passwörter.
  • Tiefergehende englischsprachige Informationen sind in der Passphrase FAQ von Randall T. Williams.
  • Vorsicht: Völlig ungeeignet sind fest stehende Ausdrücke und Redensarten.

Spezielle Linux-Distributionen

Ein Windows-System umfassend abzusichern, ist aufwendig und schwierig. Eine Absicherung, welche für die Verwaltung fünfstelliger Beträge angemessen ist, setzt Kenntnisse voraus, welche der durchschnittliche Anwender nicht hat.

Es gibt als Alternative einige spezielle Linux-Distributionen, welche einen eigens für Bitcoin angelegten gesicherten Bereich schaffen können und fast keine Einrichtung brauchen:

  • c't Bankix, eine für das Online-Banking angepaßte, natürlich kostenlose Variante von Ubuntu, die vom renommierten deutschem Heise-Verlag erstellt wurde. Nach dem (wichtigem) Updaten wird das System schreibgeschützt und ist dann nicht mehr durch Austausch von Software manipulierbar.
  • Damn Small Linux ist ein beliebtes, kleines Debian-basiertes Linux, das nur die wichtigsten Funktionen enthält und somit weniger Angriffsflächen liefert. Die Ableitung von Debian garantiert zügige und gewissenhafte Sicherheits-Updates.
  • Knoppix ist eine populäre Live-CD Distribution mit hervorrragender Hardware-Erkennung, welche einen etwas größeren Umfang als Damn Small Linux hat und z.B. Unterstützung für Blinde und Sehbehinderte bietet.
  • LinuxCoin, das viele Zusatzfunktionen z.B. zum Minen bietet


Die folgenden Distributionen sind nur für Benutzer mit guten Kenntnissen geeignet, stellen aber aufgrund exzellenter Sicherheitsmerkmale interessante Ausgangspunkte für Bitcoin-Appliances dar:

  • Tin Hat Linux ist ein Hardened Gentoo-Derivat, das neben einer sehr geringen Größe und einer sehr umfassenden Verschlüsselung interessante zusätzliche Sicherheitsfunktionen bietet, wie beispielsweise Grsecurity.
  • Alpine Linux nutzt ähnlich wie Tin Hat Linux u.a. Kernelfunktionen mit Stack Smashing Protection und verwendet statt der gängigen glibc die uClibc, was bedeutet dass der Bitcoin-Client für diese Distribution eigens kompiliert werden muss.

Linux

Geschütztes Benutzerkonto

Der erste Schritt ist, einen neuen Benutzer anzulegen, das geht mit dem Kommando:

sudo adduser new_user_name

Auf die Meldung "Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert" braucht man nur die Returntaste zu drücken.

Dann meldet man sich als der neue Benutzer an, z.B. mit "Benutzer wechseln" (bei Ubuntu unter dem Menü zum Abmelden). Wenn man angemeldet ist, sucht man die Dateiverwaltung, wählt in dieser das Home-Verzeichnis aus (Symbol mit dem Haus), dann mit der rechten Maustaste auf "Eigenschaften", dann die Zugriffsberechtigungen. Hier wählt man "Other" und setzt die Berechtigungen auf "niemand". Mit diesem Schritt können andere Programme anderer Benutzer die Geldbörse nicht mehr lesen.

Den neu angelegten sicheren Benutzer sollte man, um ihn auch sicher zu halten, ausschließlich für Bitcoin benutzen.

Es ist außerdem eine gute Idee, das Home-Verzeichnis dieses Benutzers zu verchlüsseln mit dem Programmpaket ecryptfs-utils.

  1. Wenn das Home-Verzeichnis nicht leer ist, solte zunächst ein Backup angelegt werden, indem der Inhalt auf eine CD oder einen Flash-Spaichger kopiert wird.
  2. Nun ecryptfs-utils installieren (für Ubuntu: sudo apt-get install ecryptfs-utils)
  3. aus X11 (dem graphischen System) abmelden und mit Ctrl+Alt+F1 in der Linux-Konsole anmelden - wenn man unter X11 eingeloggt ist, kann das Home-Verzeichnis nicht verschlüsselt werden.
  4. Das aktuelle Verzeichnis so wechseln, dass es nicht im Home-Ordner liegt, z.B. "cd /".
  5. Das Migrations-Tool ausführen: (in Ubuntu: sudo ecryptfs-migrate-home -u username)
  6. Wenn das geklappt hat, kann man nun ALT+F8 drücken um zurückzugehen und sich unter X11 einzuloggen.
  7. Das Kommando 'ecryptfs-unwrap-passphrase' ausführen und unbedingt den Code, den man erhält, aufschreiben und auf einem sicheren Medium speichern. Ohne diesen Code kann man auf die Daten - einschließlich der Geldbörse - nicht zugreifen, wenn das System nicht funktioniert.
  8. Das Kommando 'ecryptfs-setup-swap' ausführen, welches die Swap-Partition verschlüsselt. Sonst können Schlüssel aus der Geldbörse im Klartext auf die Swap-Partition gelangen, wo sie gestohlen werden könnten. Das bedeutet leider auch, dass "Ruhezustand" bzw. Hibernate nicht mehr benutzt werden kann, weil der Bootloader das Speicherabbild nicht wiederherstellen kann. Eine Alternataive ist es, die Swap-Partition beim Herunterfahren des Rechners (also nach der Deaktivierung des virtuellen Speichers) mit zufälligen Daten zu überschreiben.

(Anleitung aus [1])

Weitere Informationen

Windows

  • Einen extra Benutzer anlegen, unter dem nur die Bitcoin-Software ausgeführt wird. So ist die Geldbörse vor Schadcode in anderen Nutzerapplikationen etwas geschützt:

Browser-Sicherheit

Firefox

Um den Browser abzusichern, startet man Firefox, geht ins Menü "Edit" (Bearbeiten), und wählt "Preferences" (Einstellungen).

  • Nun fängt man bei den Karteikarten links an, wählt unter "Startup" die Option "Show a Blank Page" (Leere Startseite).
  • Unter "Content" (Inhalt),
    • die Option "Load Images automatically / Bilder automatisch laden" abwählen,
    • ebenso "Enable Javascript/Javascript aktivieren" abwählen.
  • In der Karteikarte "Privacy/Datenschutz" im Menü "History / Verlaufsgeschichte" auswählen "Never remember history" / "keinen Verlauf speichern".
  • In der Karteikarte "Security" im Abschnitt "Passwords"
    • die Option "remember Passwords / Passwörter speichern" abwählen,
    • ebenso "use a master password" / "Masterpasswort".
  • Schließlich in der Karteikarte "Advanced" / "Erweitert" die Option
    • "Automatically check for updates" abwählen,
    • ebenso "Add-ons" und
    • "Search engines"/"Suchmaschinen" abwählen.

Wenn Javascript deaktiviert ist, wird die Seite linux download page zum Downloaden neuer Versionen des Bitcoin Clients nicht mehr automatisch einen Download starten, deswegen muss man auf den Link "direct link" beim Hinweis "Problems with the download? Please use this 'direct link' or try another mirror." klicken. Nachdem man sich die Mühe gemacht hat, überprüft man natürlich beim Herunterladen neuer Bitcoin Clients die Prüfsummen, die auf der Sourceforge Seite angegeben sind, mit dem Programm sha1.

Schutz vor Datenverlust: Backup

Die einzige Datei die man sichern muß, ist die wallet.dat. Vorher sichergehen, dass Bitcoin nicht mehr läuft! Am besten wäre es, die Datei zu verschlüsseln und irgendwo sicher zu verstauen.

Du kannst auch den backupwallet-JSON-RPC Befehl nutzten, um im laufenden Betrieb ein Backup zu erstellen.

Bitcoin-Ordner finden

Der Bitcoin-Ordner ist der Ordner, in dem sich die Daten mitsamt der Datei wallet.dat befinden.

Windows

Klicke auf "Start", dann auf Ausführen und gebe dies ein:

%APPDATA%\BitCoin

Ein Ordner sollte sich nun öffnen, für die meisten wäre es:

C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\BitCoin (XP)
C:\Users\Benutzername\Appdata\Roaming\BitCoin (Vista und 7)


Linux

Bitcoin sollte einen versteckten Ordner im Home-Verzeichnis des ausführenden Benutzers erstellen.

~/.bitcoin/

Sollte es sich nicht dort befinden, kann man es evtl. durch

find / -name wallet.dat -print 2>/dev/null

finden. Oder als Root

updatedb

gefolgt von

locate wallet.dat

Die handlichste Backup-Methode unter Linux ist vermutlich, die wallet.dat auf eine bzw. mehrere dafür verwendete USB-Sticks bzw. Speicherkarten zu kopieren, die an einem sicheren Ort (feuersicherer Tresor, Banksafe, Aquarium mit Piranhas, etc) aufbewahrt werden.

Individuelle Verschlüsselung der wallet.dat
  • Zur individuellen Verschlüsselung der Geldbörse ist das plattformübergreifend verfügbare Programm ccrypt gut geeignet. Es verschlüsselt mit einer Variante des vom AES-Standard anerkannten Rijndael-Algorithmus, der als sehr sicher gilt. Die Klartext-Version der Wallet.dat wird dabei automatisch ersetzt. Wie bei allen starken Verschlüsselungen ist eine sorgfältige Sicherung von Daten und Schlüsseln dringend zu empfehlen - unter Linux ist das Verlustrisiko durch Vergessen der Schlüssel bisher viel höher als durch Rechnereinbrüche und Malware.
  • Zur automatischen Speicherung verschlüsselter Kopien ist GnuPG gut geeignet. Man braucht dabei zum Verschlüsseln nur den öffentlichen Schlüssel, erst zum Entschlüsseln eines Backups wird der private Schlüssel gebraucht, den man sonst sicher im Safe aufbewahren kann. Das Verwenden eines festen Schlüsselpaares verringert die Gefahr eines Schlüsselverlustes durch unbemerkte Tippfehler bei der Eingabe.
  • Einen zusätzlichen Schutz gegen Angriffe mit Keyloggern bieten Smartcards und Hardware Tokens wie der Crypto Stick der German Privacy Foundation oder die Fellowship Smartcard. Der besondere Vorteil ist, dass man GnuPG-Schlüssel, die aufgrund ihrer Länge sehr sicher sind, auf der Smartcard speichern kann. Ein sechsstelliger PIN-Code schützt den Inhalt der Smartcard; wird er mehrfach falsch eingegeben, so wird der Inhalt unwiderruflich gelöscht. Anleitung hier.
  • Zusammen mit dem FUSE-Dateisystem EncFS lassen sich so auch einzelne Dateien wie die wallet.dat individuell sichern. Das gesamte Bitcoin-Verzeichnis kann allerdings wegen der verwendeten Datenbank nicht mit EncFS verschlüsselt werden.

Mac

Hinweis: die folgende Anleitung ist mangels Mac nicht vom Übersetzer überprüft. Bitte prüfen und gegebenenfalls korrigieren, dann Hinweis entfernen!

Das Bitcoin-Verzeichnis mit der wallet.dat befindet sich normalerweise hier:

~/Library/Application Support/Bitcoin/
Alle Daten sichern (500 Megabyte)

Mit diesen Schritten werden alle Daten von Bitcoin (Geldbörse und Block chain) auf ein verschlüsseltes Festplatten-Image gesichert:

  1. Disk Utility öffnen
  2. "New Image" anklicken, 500MB, 128-bit oder 256-bit (schneller oder sicherer) Verschlüsselung, eintelne Partition angeben.
  3. An einem Platz kopieren, wo man das Image nicht verlieren wird (z.B. Wuala, Strongspace ofer was auch immer)
  4. Ein starkes und sicheres Passwort wählen
  5. Alles aus ~/Library/Application Support/Bitcoin/ in das Image kopieren
  6. Symlink zum alten Platz anlegen, so dass die App es benuutzen kann
ln -s /Volumes/Bitcoin ~/Library/Application Support/Bitcoin

Nicht vergessen, das Image vor der Benutzung von Bitcoin zu mounten und nachher zu unmounten.

Backup der Geldbörsen-Datei wallet.dat alleine (40MB)

Diese Schritte sichern nur die Datei wallet.dat. Das bewirkt ein kleineres Speicherabbild, ist aber komplizierter.

  1. Disk Utility öffnen
  2. "New Image" anklicken, 40MB, 128-bit oder 256-bit, single partition wählen.
  3. An einem Ort speichern, wo man das Backup nicht verlieren wird.
  4. Ein sicheres und starkes Passwort wählen
  5. Die Datei wallet.dat in das Image verschieben
  6. Symlink zum alten Ort anlegen, so dass die App die Datei finden und benutzen kann
ln -s /Volumes/Bitcoin/wallet.dat ~/Library/Application Support/Bitcoin/wallet.dat

Nicht vergessen, das Image vor der Benutzung von Bitcoin zu mounten und nachher zu unmounten.


Achtung: Wenn man die Bitcoin applikation startet, ohne dass das Image gemounted ist, wird das Programm das Symlink (eine Art Shortcut) mit einer neuen wallet.dat überschreiben. Keine Panik! Benenne die neue wallet.dat um oder lösche sie, mounte das Image, und lege einfach ein neues Symlink an. Die alte wallet.dat darf natürlich auf keinen Fall gelöscht werden.

Automation: Mit dem Programm Automator (enthalten in OS X) kann man die Wallet automatisch mounten und die Bitcoin App starten.

Alternativ kann das folgende Shell-Skript benutzt werden, welches die wallet.dat automatisch entschlüsselt, den Bitcoin Client startet, und sie nachher wieder verschlüsselt. Das Skript funktioniert sowoghl for für OSX und Linux: bitcoin-launch-script


Allgemeine Lösung

wallet.dat ist normalerweise nicht verschlüsselt, jeder der Zugriff auf die Datei hat, kann über die Coins frei verfügen. Du kannst deine wallet.dat auch mit einem dieser Programme verschlüsseln, sollte es nur die kleinste Wahrscheinlichkeit geben, dass jemand anderes Zugriff hat.

Achtung: Verschlüsselung hilft nicht nachträglich und sie schützt auch nur höchst lückenhaft vor Malware!

Verschlüsselung mit Smart Card

Ordner können auch mit einer GnuPG-kompatiblen SmartCard verschlüsselt werden. Eine sehr sichere Lösung ist der Crypto Stick der German Privacy Foundation:

Überblick Crypto Stick

Intallation und Benutzung


Aufbewahren des Archives

Am einfachsten wäre es, das Archiv als Anhang einer E-Mail an sich selbst zu senden. Zudem kann man die wallet.dat innerhalb des Archivs noch in etwas unauffälliges umbenennen, genauso wie das Archiv selber.

Auch eine Sicherung auf Flash-Medien / Memory Sticks und eine Aufbewahrung an sicheren Orten ist eine sinnvolle Lösung.

Für erfahrene Benutzer kann auch Steganographie in Betracht kommen. Für Linux-Benutzer gibt es steghide.


BOTG: Bitcoin Off The Grid

  • Eine weitere Alternative, die für höchste Sicherheitsanforderungen geeignet ist, stellt "BOTG - Bitcoin Off-The-Grid" dar, Info in der Ankündigung zu LinuxCoin. Dabei handelt es sich um ein Skript, das ohne Internetverbindung ein Schlüsselpaar erzeugen kann. Da der Private Schlüssel auf einem System erzeugt wird, das gar keinen Internetanschluss hat, und er offline gespeichert wird, kann er auch nicht über Internet abhanden kommen. Der öffentliche Schlüssel kann weiter gegeben werden und ganz normal Transaktionen empfangen, welche im Block Explorer nachgeschaut werden können. Erst wenn man das Guthaben verwenden möchte, muß man den privaten Schlüssel in einen Bitcoin Client importieren. Ab dann gelten die normalen Sicherheitsvorkehrungen.