You can also read the English version of this article.

Warum ein Secure Chip wichtig ist

Hardware-Wallets sind darauf ausgelegt, deine privaten Schlüssel sicher zu verwahren. Die meisten leisten einen guten Job gegen Angreifer aus der Ferne und schirmen alle sensiblen Informationen von deinem normalen Computer ab. Das macht es bösartigen Wallet-Anwendungen, Viren oder gezielten Fernangriffen schwer, deine Coins zu stehlen. Physische Sicherheit ist jedoch schwieriger. Spezialisiertes Equipment ermöglicht es einem Angreifer, Zugang zu Informationen auf generischen Mikroprozessoren zu bekommen, zum Beispiel indem er Informationen direkt aus dem Inneren eines Chips ausliest. Einige Möglichkeiten, dies zu tun, sind das Entkapseln des Chips mit einem Laser oder die Verwendung von Säure und das anschliessende Auslesen aller Daten. Es kann teure Ausrüstung involviert sein, aber ein Angreifer braucht nicht unbedingt ein Labor: solche Dienste sind auch online verfügbar.

Generische Mikrocontroller (MCU, "microcontroller unit") sind bezüglich Leistung, Funktionalität und Kosten optimiert. Sie sind nicht dafür gebaut, solchen physischen Angriffen zu widerstehen. "Secure Chips" hingegen sind eine spezialisierte Art von Computer-Chips, welche in erster Linie mit Blick auf diese Angriffe entwickelt werden und so aufgebaut sind, dass sie Dekapselung, Sondierung, Fehlerinjektion und Spannungs-Glitching, Pufferüberläufe oder “Side Channel”-Angriffen widerstehen.

Für uns ist klar, dass der physische Schutz der Daten in einer Hardware-Wallet ohne die Verwendung eines Secure Chips ein aussichtsloser Kampf ist.

Der Nachteil von “Closed Source”

Secure Chips sind gar nicht mal so teuer, warum werden sie also nicht von jeder Hardware-Wallet eingesetzt? Der grösste Nachteil ist, dass Computercode, der auf einem Secure Chip läuft, aufgrund von erzwungenen Geheimhaltungsvereinbarungen nicht als “Open Source” veröffentlicht werden kann.

Wenn es um den Computercode geht, der deine Bitcoin sichert, geheime Schlüssel erzeugt und Transaktionen signiert, sollte man nicht blindlings “Closed Source”-Software vertrauen müssen, da diese nicht unabhängig von jedermann geprüft werden kann. Unserer Meinung nach solltest du nicht darauf vertrauen müssen, dass der Hersteller der Hardware-Wallet (und all seine einzelnen Mitarbeiter) zu den "guten Jungs" gehört, die fleissig ihre eigenen Fehler ohne unabhängige Überprüfung finden und diese dann auch tatsächlich beheben.

Das Beste aus beiden Welten

Dennoch sind Allzweck-MCUs der Aufgabe, ein digitales Geheimnis zu bewahren, einfach nicht gewachsen. In einer idealen Welt wäre es möglich, Open-Source Firmware auf einem sicheren Open-Source-Chip laufen zu lassen. Es gibt Projekte, die sich die Entwicklung genau solcher Chips zum Ziel gesetzt haben (z.B. TropicSquare), aber zum jetzigen Zeitpunkt gibt es solche Open-Source-Chips schlichtweg noch nicht. Die nächstbeste Option ist, die Vorteile von Open-Source Firmware und Secure Chips zu nutzen, indem man diese kombiniert. Damit kann erreicht werden, dass

  • die Hardware-Wallet komplett mit Open-Source Firmware läuft
  • das Gerät mit einem Secure Chip stärker gegen physische Angriffe gesichert ist
  • dem Secure Chip nicht vertraut werden muss, da dieser keine relevanten Geheimnisse erfährt.

Die Sicherheitsarchitektur der BitBox02 ist auf diese Ziele ausgelegt. Wir verwenden zwei Chips, eine generische MCU und einen Secure Chip parallel, beide mit ihren einzigartigen Stärken. Anstatt die Bitcoin-Firmware direkt auf dem Secure Chip laufen zu lassen, wird sie auf der MCU ausgeführt. Das bedeutet, dass der Code vollständig quelloffen ist und von jedem überprüft werden kann. Die Geheimnisse werden ebenfalls auf der MCU gespeichert, sind aber mit mehreren Schlüsseln kryptografisch verschlüsselt, auch unter Einbezug des Secure Chip. Der Schlüssel des Secure Chips kann nur mit speziellen Key Derivation Functions (KDF) verwendet werden.

Verglichen mit der alleinigen Verwendung einer MCU bietet diese Architektur wichtige zusätzliche Sicherheitsmerkmale:

  • Das Auslesen der verschlüsselten Daten direkt von der MCU an sich ist nutzlos.
  • Entsperrversuche werden soweit verlangsamt, dass Brute-Force-Angriffe nicht mehr sinnvoll funktionieren.
  • Die maximale Anzahl an Entsperrversuchen wird über die gesamte Lebensdauer limitiert um Brute-Force-Angriffe zusätzlich abzuwehren.
  • Der Secure Chip bietet einen echten, zusätzlichen Zufallszahlengenerator (RNG), dem jedoch nicht vertraut werden muss.
  • Die sichere Speicherung eines eindeutigen Zertifikatsschlüssels ("Attestation key") stellt sicher, dass nur offiziell signierte Firmware verwendet werden kann.

Dem Secure Chip soll nicht vertraut werden müssen. Aus diesem Grund stellt unsere Sicherheitsarchitektur sicher, dass der Secure Chip niemals irgendwelche Geheimnisse erfahren kann, welche mit den gesicherten Kryptowährungen im Zusammenhang stehen. Im unwahrscheinlichen Fall, dass der Secure Chip komplett kompromittiert wird und sich bösartig verhält, sinkt die Gesamtsicherheit der Hardware-Wallet auf das Sicherheitsniveau, welches durch die Nichtverwendung eines Secure Chip erreicht würde. Dabei sind die Geheimnisse immer noch durch das Gerätepasswort und den Schlüsseln auf der MCU geschützt.

Wie funktioniert das?

Die Sicherung des geheimen Seeds

Alle privaten Schlüssel werden von einem Hauptgeheimnis (“wallet seed”) abgeleitet. Dieses ist verschlüsselt im Flash-Speicher der MCU gesichert. Um auf den Seed zuzugreifen, sind drei verschiedene Schlüssel notwendig, wie in der folgenden Abbildung beschrieben.

Wenn ein Angreifer jedoch Millionen von Geräte-Passwörtern pro Minute ausprobieren kann, würde eine solche Architektur leicht mittels roher Gewalt (“brute force”) geknackt. Um dies zu verhindern werden zwei Zähler verwendet:

  • Die MCU zählt die Anzahl Entsperrungen. Nach 10 aufeinanderfolgenden Fehleingaben des Passworts wird das Gerät auf den Auslieferungszustand zurückgesetzt. Die Wallet muss danach mittels Backup wiederhergestellt werden.
  • Als zweite Verteidigungslinie zählt der Secure Chip alle Entsperrungen über die gesamte Lebensdauer des Geräts. Nach ~730'000 Entsperrungen wird die BitBox02 permanent blockiert. Bei regulären Verwendung wird dieses Limit jedoch nie erreicht (das wären 100 Entsperrungen pro Tag über 20 Jahre).

Zusätzlich werden Entsperrversuche verlangsamt, so dass eine potentielle Brute-Force-Attacke Jahre dauern würde. Dazu muss das Key-Stretching, um das Geheimnis (K) vom Secure Chip zu erhalten, drei Mal durch den KDF-Slot ausgeführt werden, was eine kleine Verzögerung verursacht.

Was bedeutet das für einen potentiellen Dieb? Um ein alphanumerisches 8-Zeichen-Gerätepasswort zu knacken, bräuchte der Dieb im Durchschnitt über 1000 Jahre, obwohl der Zähler auf dem Secure Chip das Gerät bereits nach etwa einem Tag abriegeln würde. Dieses Szenario geht davon aus, dass der Zähler auf der MCU umgangen werden kann, so dass das Gerät nicht schon nach den ersten 10 Entsperrversuchen zurückgesetzt wurde.

Entsperren des Seeds

Der Seed wird für die Open-Source Firmware verfügbar, sobald das Gerät erfolgreich entsperrt wurde. Fehlt auch nur eines der drei benötigten Geheimnisse, bleibt der verschlüsselte Seed unzugänglich.

Es ist kein Vertrauen in den Secure Chip nötig

In dieser Architektur kann das Vertrauen in den Secure Chip vermieden werden. Der Chip ist nicht in der Lage, irgendwelche Rückschlüsse auf die relevanten Geheimnisse zu ziehen, oder die Zufälligkeit bei der Erstellung der Wallet zu verschlechtern.

Authentizitätsprüfung

Es ist wichtig, dass du eine originale BitBox02 verwendest, und nicht einen bösartigen Klon. Aus diesem Grund erstellt der Secure Chip einen einzigartigen Zertifizierungsschlüssel, der während der Herstellung der BitBox02 von Shift Crypto signiert wird.

Der Secure Chip erstellt

  • einen privaten Schlüssel, der nicht aus dem Secure Chip exportiert werden kann, und
  • den dazugehörigen öffentlichen Schlüssel, der von einem Shift Root Key signiert wird.

Wenn du die BitBox02 mit deinem Computer verbindest, sendet die BitBoxApp eine Challenge (eine Zufallszahl) an das Gerät, die signiert und zusammen mit dem entsprechenden öffentlichen Schlüssel, der zuvor von Shift signiert wurde, zurückgeschickt wird.

Die App ist in der Lage, den gesamten Zertifizierungspfad zu verifizieren und zeigt eine Warnung an, wenn diese Prüfung fehlschlägt. Damit ist sichergestellt, dass eine BitBox02-Fälschung zuverlässig erkannt werden kann.

Diese Sicherheitsarchitektur erlaubt uns, einen Secure Chip zu nutzen, um die physische Sicherheit der BitBox02 deutlich zu verbessern. Und dies, ohne unsere Open-Source-Werte zu kompromittieren oder die Gesamtsicherheit potenziell zu beeinträchtigen, selbst wenn man Worst-Case-Szenarien in Betracht zieht.

Interessiert an mehr Sicherheitstransparenz bezüglich der BitBox02? Entdecke alle weiteren Sicherheitsmerkmale!


Noch keine BitBox?

Deine Kryptowährung sicher zu halten, muss nicht schwer sein. Die BitBox02 Hardware Wallet speichert die privaten Schlüssel für deine Kryptowährungen offline. So kannst du deine Coins sicher verwalten.

Die BitBox02 gibt es auch als Bitcoin-only Version, mit einer radikal fokussierten Firmware: weniger Code bedeutet weniger Angriffsfläche, was deine Sicherheit weiter verbessert, wenn du nur Bitcoin speicherst.

Hol dir eine in unserem Shop!


Shift Crypto is a privately held company based in Zurich, Switzerland. Our international team of specialists across engineering, cryptosecurity and Bitcoin core development build the BitBox products and provide consulting services. The BitBox02, a second generation hardware wallet, equips individuals to easily store, protect, and transact cryptocurrencies. Its companion, the BitBoxApp, provides an all-in-one solution to securely manage your digital assets with ease.