Was ist das Bedrohungsmodell eines Bitcoin HSM / Hardware Wallets?

Es sind viele Geräte verfügbar, die vorgeben, die sichere Speicherung von Bitcoin in feindlichen Umgebungen zu ermöglichen, wie z. B. kompromittierte Computer oder potenziell nicht vertrauenswürdige Host-Geräte wie Telefone.

Wie sicher sind diese Geräte zum Speichern von Bitcoin und vor welchem ​​Bedrohungsmodell schützen sie und sind anfällig? Inwieweit verbessern allgemein bekannte Praktiken zur Verwendung dieser Geräte die Sicherheit bei der Aufbewahrung von Bitcoin mit ihnen?

Antworten (1)


Was ist das Bedrohungsmodell, vor dem sie schützen und für das sie anfällig sind?

Hardware-Wallets sind Sicherheitsgeräte mit unterschiedlicher Hardware und Funktionen, aber das Gesamtkonzept ist weitgehend identisch. Ein vertrauenswürdiges Gerät enthält kryptografische Schlüssel, ermöglicht das Anzeigen von Informationen auf einem dedizierten Display und akzeptiert sichere Eingaben über seine eigene Schnittstelle (Schaltflächen oder ein Touchscreen).

Geben Sie hier die Bildbeschreibung ein

Im Hardware-Wallet-Sicherheitsmodell interagiert ein Benutzer mit seinem nicht vertrauenswürdigen Host-Gerät, um eine Transaktion aufzubauen, bei der ein Betrag an eine Adresse gezahlt wird, und die Transaktion wird dann an die Hardware-Wallet zum Zusammenstellen der Transaktion einschließlich der kryptografischen Signaturen gesendet. Vom Benutzer wird erwartet, dass er die angezeigten Informationen (nämlich den Betrag) überprüft und die Transaktion auf seinem Gerät bestätigt. Jede Transaktion erfordert eine ausdrückliche Bestätigung auf dem Hardwaregerät, und der Host kann ohne diese Genehmigung keine Transaktionen durchführen.

Dies unterscheidet sich vom herkömmlichen Software-Wallet-Modell, bei dem ein Benutzer mit einem nicht vertrauenswürdigen Host interagiert, der nach Eingabe des Verschlüsselungsschlüssels für die Brieftasche jede beliebige Transaktion in beliebiger Höhe an jedem Ziel durchführen kann.


Inwieweit verbessern allgemein bekannte Praktiken zur Verwendung dieser Geräte die Sicherheit bei der Aufbewahrung von Bitcoin mit ihnen?

Viele der Sicherheitshinweise zur Verwendung von Hardware Wallets bieten nur sehr wenig zusätzliche Sicherheit oder vermitteln nur eine scheinbare Sicherheit anstelle tatsächlich wirksamer Maßnahmen.

Geben Sie hier die Bildbeschreibung ein

Eine häufig wiederholte Sicherheitsmaßnahme besteht darin, zu überprüfen, ob die Adresse auf Ihrer Hardware-Wallet mit der Adresse übereinstimmt, an die Sie versucht haben, sie mithilfe der Begleitanwendung auf dem Host-Computer zu senden. Dies ist völlig bedeutungslos , da die Zieladresse vom nicht vertrauenswürdigen Host bereitgestellt wird. Die nicht übereinstimmende Adresse wäre ein Indikator für absolut nichts anderes als einen schwerwiegenden Softwarefehler auf Seiten des Geräts.


Wie sicher sind diese Geräte zum Speichern von Bitcoin?

Die ultimative Sicherheit des Geräts hängt vom Vertrauen in den Hersteller ab, da Fehler in der Software sehr leicht zu vollständigem Diebstahl oder Geldverlust führen und unsichtbare Hintertüren eingebaut werden können. Die Geschichte hat gezeigt, dass viele der verfügbaren Geräte von ernsthaften Bedenken hinsichtlich der Codequalität geplagt sind, schlechte Entscheidungen beim Aufbau ihrer Hardwaresicherheit haben und ansonsten eine unsichere Wahl zum Speichern von Geldern sein können.

Hintertüren

Hintertüren in Bitcoin-Transaktionen, insbesondere aufgrund einiger Merkmale von EDCSA, sind trivial zu erzeugen und extrem schwer zu erkennen, insbesondere wenn sie sporadisch eingesetzt werden. ECDSA-Signaturen enthalten eine Nummer, die aus einer angeblich zufälligen Quelle generiert wird. Wenn diese Nummer jedoch so gestaltet ist, dass sie Werte eines Dritten enthält, kann sie den geheimen privaten Schlüssel oder andere Informationen leugnen und gleichzeitig gültig sein. Moderne Softwareimplementierungen von ECDSA verwenden [deterministische Generierung] [5] für den geheimen Nonce-Wert, aber dies ist nicht verifizierbar, ohne den privaten Schlüssel zur Validierung zu verwenden.

Codequalität

Alle heutigen Geräte haben schwerwiegende Probleme mit ihren Open-Source-Implementierungen der ECDSA-Kryptographie gezeigt oder ihre Implementierung ist einfach vollständig geschlossen, um der Analyse zu entgehen.

  1. Der Bitcoin Trezor wurde ursprünglich mit einer ECDSA-Implementierung ausgeliefert, die auf einer Python-Bibliothek basierte, die in c. Dieser Code war komischerweise langsam und entlarvte einen [sehr großen Timing-Seitenkanalangriff] [6]. Durch die physische Nähe zum Gerät, während es eine Transaktion signierte, wurden während der Ausführungszeit genügend Informationen offengelegt, um privates Schlüsselmaterial offenzulegen. Der Trezor hatte ansonsten eine beträchtliche Anzahl von Bootloader-, Timing-Analyse-, Leistungsanalyse- und Hardware-Schwachstellen.

  2. Das Ledger Nano hat einen Amateurstundenfehler in seinem Bootloader, der eine vollständige Umgehung der Sicherheit zumindest auf dem Hauptprozessor ermöglicht, der Benutzereingaben und Kommunikation verarbeitet. Bei den meisten Mikrocontrollern hat das Layout des Speichers sich wiederholende Abschnitte und mehrere Positionen, an denen auf Daten zugegriffen werden kann, der Bootloader war sich dessen einfach nicht bewusst und erlaubte willkürliche Änderungen am sicherheitsrelevanten Code.

  3. Die Hardware der CoinKite-Serie verwendet micro-ecc , ein aufgegebenes „ECDSA for arduino“, das absolut keine Tests enthält und für mindestens einen Timing-Angriff anfällig ist.


Die Verwendung einer Hardware-Wallet zum Speichern von Bitcoin ist keine kugelsichere Wahl, sondern eine Reihe von Sicherheitskompromissen, die Nachdenklichkeit und Verständnis für die Bedrohungen und Schwächen der Geräte erfordern.

Es gibt private oder angepasste hsm, die wie github.com/square/subzero verwendet werden können . Sie haben eine App, die in einem Betriebssystem geladen ist, das nicht geändert werden kann, und Multisig an verschiedenen Standorten bieten mehr Sicherheit.