Skip to main content

Die versteckten Stolperfallen von Multisig Wallets

Am von

Neben der optionalen Passphrase gehören Multisignatur Wallets zu den beliebtesten Maßnahmen, um die Sicherheit der eigenen Coins zu erhöhen. Doch keine dieser Funktionen kommt ohne tückische Stolperfallen daher. In diesem Beitrag schauen wir uns an, warum nahezu alle regulären Multisig Setups verhältnismäßig unsicher verwendet werden und man trotz teuren Hardware Wallets nichts erreicht, sofern gewisse Grundregeln missachtet werden. Viel Spaß mit diesem Multisig Deep-Dive!

Warum Multisig Wallets?

Wem die Sicherheit einer einfachen Wallet, die nur eine Signatur für eine gültige Transaktion benötigt, nicht ausreicht, kann mittels Multisig beliebig viele weitere Faktoren, also die Notwendigkeit für mehrere Signaturen, einführen.
Mit einer klassischen 2-von-3 Aufteilung, bei der zwei von insgesamt drei Schlüsseln eine Transaktion unterschreiben müssen, führt man somit einen zusätzlichen Schutz vor Diebstahl ein. Außerdem schafft man sich Redundanz, da einer der Schlüssel problemlos verloren gehen kann, man braucht schließlich, wenn es darauf ankommt, nur zwei von drei.

Darüber hinaus gibt es natürlich noch weitere, rein praktische, Anwendungsfälle von Multisig Wallets, z.B. für das Verwalten von Lightning Kanälen. An dieser Stelle interessieren wir uns aber nur für den Anwendungsfall Sicherheit, und zwar aus der Sicht eines einfachen Nutzers.

Dieser muss sich als erstes Gedanken machen, wie und auf welche Geräte die verschiedenen Schlüssel verteilt werden sollen. Diese „Mitunterschreiber“ bezeichnen wir im Folgenden als Cosigner. Bereits hier offenbart sich die erste Stolperfalle…

1. Gefährlicher Cocktail

Nutzt man bereits eine Hardware Wallet und möchte ein „Upgrade“ auf Multisig durchführen, steht man vor recht hohen Anschaffungskosten. Für eine sinnvolle und praktikable 2-von-3 Aufteilung braucht es nämlich drei Hardware Wallets – was nicht gerade billig ist.

Die Verlockung ist daher groß, bei den Cosignern Abstriche in der Sicherheit zu machen, z.B. indem man eine einfache Software Wallet zusammen mit zwei Hardware Wallets verwendet. Dieser augenscheinlich sinnvolle Kompromiss stellt sich aber als Fehler heraus, der die Sicherheit der gesamten Wallet untergräbt.

Man nutzt Hardware Wallets, da sämtlicher Software auf dem Smartphone oder Desktop Rechner nicht vertraut werden kann. Diese sind potenziell immer von Angreifern kompromittiert. Genau davon müsste man also auch bei der Software Wallet des 2-von-3 Setups ausgehen. Aber das ist doch kein Problem, schließlich reicht eine Unterschrift der Software Wallet gar nicht für eine gültige Transaktion aus?

Adresse, wo kommst du her?

Um die Hintergründe dafür nachzuvollziehen, muss man genau verstanden haben, wie Empfangsadressen einer Multisig Wallet überhaupt zustande kommen. Diese müssen schließlich alle Informationen über das Setup enthalten, damit für das Bitcoin-Netzwerk klar ist, wann die Bedingungen, um Bitcoin auszugeben, erfüllt sind.

Hinter einer Adresse einer 2-von-3 Wallet stecken daher die öffentlichen Schlüssel von allen drei Cosignern. Um eine korrekte Adresse zu erzeugen, muss man sich also auf alle Cosigner gleichermaßen verlassen können.

Trotz Verwendung von zwei Hardware Wallets könnte die Software Wallet aus dem Beispiel oben einen gefälschten öffentlichen Schlüssel zur Erzeugung der Empfangsadressen beisteuern. Die Hardware Wallets müssen die Informationen der anderen Cosigner schließlich einfach so hinnehmen und haben keine Möglichkeit sie zu verifizieren. Die daraus resultierende Adresse hätte nichts mehr mit der eigenen Multisig Wallet zu tun und würde zu einer anderen Wallet gehören, auf die man selbst keinen Zugriff hat.

Damit wäre der Betreiber, beziehungsweise derjenige, der die Software Wallet kompromittiert hat, in einer Position, in der er den Nutzer mit Lösegeld erpressen könnte, um den dritten, von der falschen Software untergejubelten, Schlüssel freizugeben. Eine sehr unschöne Vorstellung, die nicht mehr viel mit „gewonnener Sicherheit“ zu tun hat.

Solche Szenarien sind natürlich ziemlich konstruiert und wirken auf den ersten Blick unrealistisch. Doch genau vor solchen ausgeklügelten Angriffen möchte man sich schließlich mit einer Multisig Wallet schützen! Ansonsten kann man es auch gleich bei einer einfachen Hardware Wallet belassen.

Merke: Die Sicherheit einer Multisig Wallet misst sich immer am „unsichersten“ Cosigner, also an der größten Schwachstelle. Daher sollten alle Cosigner immer auf einem vergleichbaren (hohen) Sicherheitsniveau sein.

2. Unvollständige Backups

Das Thema Backups erscheint auf den ersten Blick trivial: Bei einer 2-von-3 Multisig Wallet müssen drei Backups, möglichst getrennt und sicher, aufbewahrt werden. Nur zwei dieser Backups sind dann im Notfall notwendig, um die Wallet mitsamt ihren Bitcoin wiederherzustellen.

Leider ist das nicht ganz korrekt. Zwar würden zwei der Backups reichen, um Bitcoin von der Wallet auszugeben, doch dafür muss erstmal klar sein, was man überhaupt ausgeben will. Die Adressen der Wallet müssen nämlich erstmal wieder zusammengebaut werden – wofür man alle drei öffentlichen Schlüssel aller Cosigner benötigt.

Merke: Auf jedem Backup einer Multisig Wallet sollten alle erweiterten öffentlichen Schlüssel (xpubs) bzw. die der verbleibenden Cosigner, notiert sein, um im Notfall stets die Adressen der Wallet wiederherstellen zu können.

3. Problematische Verifizierung

Die Sicherheit einer Multisig Wallet steht und fällt mit der Erzeugung und vor allem Verifizierung von Empfangsadressen. Diese Achillesferse war bereits mehr oder weniger Bestandteil der ersten beiden Stolperfallen, wird jetzt aber erst richtig entscheidend.

Hardware Wallets ohne eigenes Display sind ziemlich nutzlos, denn Informationen, die von der Wallet Software auf dem Smartphone oder Rechner angezeigt werden, können ansonsten nicht auf Korrektheit verifiziert werden. Doch mit einem Multisig Setup wird diese Tatsache noch weiter auf die Spitze getrieben: Selbst Informationen auf den Displays der Hardware Wallets sind nun nicht mehr uneingeschränkt vertrauenswürdig!

Das Problem mit den xpubs

Mit einem „xpub“, einem erweiterten öffentlichen Schlüssel, können alle Adressen eines Accounts in einer Bitcoin Wallet abgeleitet werden. In einem Multisig Setup müssen die Cosigner deshalb diese Schlüssel untereinander austauschen, um überhaupt Adressen erzeugen zu können. Dieser Austausch erfolgt gezwungenermaßen über eine Software Wallet auf Smartphone oder Rechner, da die Hardware Wallets nicht direkt miteinander sprechen können.

Ein einzelner Cosigner bekommt also indirekt über die Software Wallet Informationen über die anderen Cosigner, die einfach so hingenommen werden müssen. Es liegt also alleine am Nutzer sicherzustellen, dass die Informationen der anderen Cosigner korrekt von der Software Wallet weitergegeben wurden. Wird dies versäumt, kann die Software Wallet einem, ähnlich wie bei der ersten Stolperfalle, gefälschte öffentliche Schlüssel unterjubeln.

Damit wird entweder wie oben ein Angriff durch Erpressung möglich, oder noch viel schlimmer: Die Software Wallet kann in diesem Szenario zwei der drei öffentlichen Schlüssel fälschen, und somit volle Kontrolle über die Adressen, die von der Hardware Wallet erzeugt werden, erhalten.

Die vermeintlich sichere Multisig Wallet wäre damit keinen Deut besser als eine gewöhnliche Hot Wallet.

Vernachlässigt man die Verifizierung der öffentlichen Schlüssel, eröffnen sich Angriffsmöglichkeiten durch die Software Wallet.

Um diese Schwachstelle auszuschließen, muss der Nutzer also zunächst jeden erweiterten öffentlichen Schlüssel individuell auf den Displays der Hardware Wallets prüfen. Damit kann jeder Cosigner korrekt einem xpub zugeordnet werden.

Im nächsten Schritt muss der Nutzer auf der Hardware Wallet, die später Adressen erzeugen soll, die öffentlichen Schlüssel der anderen Cosigner verifizieren, indem sie untereinander abgeglichen werden. Die Software Wallet hat schließlich theoretisch die Möglichkeit, falsche Schlüssel weiterzugeben, was an dieser Stelle sofort auffallen würde.

Erst nach dieser erfolgreichen Überprüfung kann der angezeigten Adresse auf der Hardware Wallet, hier in der Mitte, vertraut werden:

Merke: Bei Multisig Wallets ist es gar nicht so einfach, Vertrauen in Empfangsadressen herzustellen, da diese immer von allen Cosignern und deren Kommunikation untereinander abhängt. Eine sorgfältige Verifikation der einzelnen öffentlichen Schlüssel, sowie die gegenseitige Überprüfung, ob diese korrekt weitergegeben wurden, sind entscheidend, um die Sicherheit des Setups nicht zu gefährden.

Die Wahl der Hardware Wallets

Die gerade beschriebenen Schritte zur Überprüfung von Empfangsadressen sind leichter gesagt als getan. Denn manche Hardware Wallets bieten die dafür notwendigen Funktionen, wie das Anzeigen der Cosigner xpubs, nicht einmal an und sollten damit in einem Multisig Setup erst gar nicht verwendet werden.

Des Weiteren ist eine komplett manuelle Überprüfung auf lange Sicht alles andere als praktikabel. Wohl kaum wird man als Nutzer bei jeder Adresse, die man benutzen möchte, das oben beschriebene Prozedere immer und immer wieder durchlaufen.

Hardware Wallets, die man für ein Multisig Setup nutzt, sollten sich daher im Idealfall alle Cosigner nach dem Einrichten merken, um zukünftig ohne zusätzliche manuelle Überprüfung vertrauenswürdig zu bleiben. Solch eine Funktion wird unter anderem von der Blocktrainer.de empfohlenen BitBox02 geboten. Damit wird auch eine weitere Stolperfalle beseitigt, nämlich die Verifizierung von Wechseladressen, die durch das UTXO-Modell von Bitcoin nicht selten bei Transaktionen benötigt werden, und andernfalls ebenfalls manuell vom Nutzer überprüft werden müssten.

Fazit

Wer eine einsteigerfreundliche Möglichkeit für mehr Sicherheit sucht, sollte sich zweimal überlegen, ob Multisig dabei wirklich die erste Wahl ist. Viele Stolperfallen sind auf den ersten Blick nicht ersichtlich und man wiegt sich schnell in vermeintlicher und damit gefährlicher Sicherheit.

Nach diesem Beitrag sollten eure Sinne aber um einiges geschärft sein, und der verantwortungsbewussten Nutzung einer Multisig Wallet steht erst einmal nichts mehr im Weg. Wichtig ist nur, nicht nachlässig zu werden und das eigene Setup immer wieder zu hinterfragen.

Weniger komplexe und fehleranfällige Lösungen für mehr Sicherheit sind mit einem relativ einfachen Aufteilen der Mnemonic, oder der Nutzung einer optionalen Passphrase möglich. Aber auch hier gilt: Immer gründlich informieren, damit man die eigenen Bitcoin nicht unabsichtlich in Gefahr bringt!



Eine englische Anleitung zur Einrichtung einer Multisig Wallet, mit der dafür bestens geeigneten BitBox02,
findet ihr übrigens hier im Blog von Shift Crypto.

Empfohlen für Bitcoin

BitBox02

  • Sehr einfache Handhabung
  • USB „Typ C“ Unterstützung
  • Zusätzliche Sicherheit durch „Bitcoin only“ Version
  • Kann mit eigener Fullnode betrieben werden
  • Komplett Open Source
  • Bietet die Option die Mnemonic Phrase selbst zu erstellen (würfeln)
  • Aufgrund der Richtlinien von Apple leider nicht mit iPhones kompatibel (mit MacOS aber schon)
  • Unterstützt (bewusst) nur wenige verschiedene Kryptowährungen
  • Die Mnemonic Phrase (24 Wörter) kann optional und sicher auf einer SD Karte gespeichert werden