Mit dem BitBox Bellinzona-Update haben wir einen neuen Sicherheitsmechanismus für deine BitBox02 implementiert. Es mag zwar nicht intuitiv klingen, zusätzliche Sicherheitsmaßnahmen zu implementieren, ohne dass es überhaupt eine Sicherheitslücke gibt. Aber genau hier kommt unser Ethos der "Verteidigung in der Tiefe" zum Tragen.
Verteidigung in der Tiefe
Der Begriff "Verteidigung in der Tiefe" (oder auch "tief gestaffelte Verteidigung") hat zwar einen militärischen Hintergrund, wird aber heutzutage meist in Bezug auf Cybersicherheit verwendet. Er beschreibt eine Strategie, bei der eine Verteidigungslinie nicht als einzelne Kontaktlinie, sondern als mehrere gestaffelte Verteidigungslinien aufgebaut wird. Das Ziel ist es, die Abnutzung eines Angreifers zu maximieren, indem er nicht nur ein einziges Ziel attackieren muss, sondern ein ganzes Gebiet von Befestigungen mit unterschiedlichen Stärken besiegen muss. Ein Durchbruch an einer Stelle führt nicht sofort zu einem Zusammenbruch der gesamten Verteidigungslinie.
Diese Philosophie gilt auch für die Sicherheitsarchitektur der BitBox02. Ähnlich wie bei einer militärischen Verteidigungslinie zielt die Sicherheit der BitBox darauf ab, dass es keine einzelne Schwachstelle gibt, die zu einem vollständigen Durchbruch führen kann. Anstatt einem möglichen Angreifer ein einziges Ziel zu bieten, das er ausnutzen kann, breitet die BitBox02 ihre Sicherheitsmechanismen redundant und so weit wie möglich aus.
Die Kompromittierung eines einzelnen Aspekts der BitBox02 reicht in der Regel nicht aus, um Zugang zur Wallet zu erhalten. Ein Beispiel dafür ist unsere Dual-Chip-Architektur, bei der die Geheimnisse, die zur Entschlüsselung des auf der BitBox02 gespeicherten Seeds benötigt werden, sowohl auf die Universal-MCU als auch auf den Secure-Chip verteilt sind. Bei anderen Hardware-Wallets reicht es aus, entweder den sicheren Chip oder die MCU zu kompromittieren. Bei der BitBox02 müssten beide Chips geknackt werden, und der Seed wäre immer noch durch das Gerätepasswort geschützt, welches überhaupt nicht auf dem Gerät gespeichert ist. Weitere Beispiele für diesen "Sicherheit in der Tiefe"-Ansatz sind reproduzierbare Builds, das Anti-Klepto-Protokoll und unsere USB-Kommunikationsverschlüsselung.
Seed-Verschlüsselung
In früheren Firmware-Versionen wurde der Seed, sobald das Gerät entsperrt war, entschlüsselt und ohne zusätzliche Verschlüsselung im Arbeitsspeicher der BitBox02 (auch "Random Access Memory" oder RAM genannt) abgelegt. Das war notwendig, weil die BitBox02 auf den Seed zugreifen muss, um zu funktionieren, z.B. um Adressen zu erstellen oder Transaktionen zu signieren.
Wenn jedoch irgendwann eine Schwachstelle gefunden würde, durch die ein Angreifer Zugriff auf den Inhalt des Arbeitsspeichers der BitBox02 erhalten würde, könnten die Schlüssel potentiell entwendet werden. Das ist ein sehr unwahrscheinliches Szenario, da der Angreifer wahrscheinlich physischen Zugang zu einem entsperrten Gerät in einem Elektronik-Labor haben müsste, während das Gerät die ganze Zeit eingeschaltet bleiben muss. Aber selbst auf einen solchen Angriff können wir uns vorbereiten und den möglichen Schaden begrenzen.
Indem wir den Seed verschlüsselt halten, wenn er nicht aktiv genutzt wird, und ihn nur dann vorübergehend entschlüsseln, wenn es unbedingt notwendig ist, können wir selbst im Falle eines möglichen Auslesens des Arbeitsspeichers der BitBox02 eine potentielle Sicherheitslücke vermeiden.
Aber wie kann das funktionieren? Wenn der Verschlüsselungsschlüssel für den Seed auch im Arbeitsspeicher des Geräts gespeichert ist, könnte ein Angreifer einfach beides auslesen und den Seed anschließend entschlüsseln. Wie kann die BitBox02 den Seed verschlüsselt halten und trotzdem Transaktionen signieren, ohne dass jedes Mal das Gerätepasswort eingeben werden muss?
Wie die Seed-Verschlüsselung funktioniert
Es ist nicht einfach, Daten im Arbeitsspeicher des Geräts zu verschlüsseln, wo auch der Verschlüsselungsschlüssel in irgendeiner Form gespeichert werden muss. So haben wir es bei der BitBox02 umgesetzt:
- Entriegeln der BitBox02: Wenn du deine BitBox02 anschließt, wirst du nach deinem Gerätepasswort gefragt. Das Gerätepasswort entschlüsselt in Kombination mit den Geheimnissen auf dem Micro-Controller (MCU) und dem Secure-Chip den verschlüsselten Seed, der im dauerhaften Flash-Speicher der BitBox02 gespeichert ist. Dieser Vorgang wird in unserem Blogpost "Das Beste beider Welten: Secure Chip mit Open-Source Firmware" ausführlich erklärt.
- Erzeugung des Verschlüsselungsschlüssels: Nach der Entsperrung der BitBox02 erstellt die MCU einen temporären Zufallsschlüssel. Dieser Zufallsschlüssel wird dann an den Secure-Chip gesendet, der den Schlüssel über seine Schlüsselableitungsfunktion (KDF) dehnt. Dazu wird dasselbe Geheimnis verwendet, das im Sicherheitselement für die Entsperrung gespeichert wurde. Auf diese Weise können wir einen Zwischenschlüssel für die eigentliche Verschlüsselung sicher im RAM speichern.
- Verschlüsseln des Seeds: Der gestreckte Schlüssel wird an die MCU zurückgeschickt, die ihn dann zum erneuten Verschlüsseln des Seeds im RAM verwendet. Der gestreckte Verschlüsselungsschlüssel und der unverschlüsselte Seed werden dann sofort gelöscht.
- Entschlüsseln des Seeds: Um den Seed zu entschlüsseln, z.B. um eine Transaktion zu senden, fordert die MCU erneut den gestreckten Schlüssel vom Secure-Chip an. Mit diesem temporären Schlüssel kann sie den verschlüsselten Seed entschlüsseln und die Transaktion signieren. Danach wird der gestreckte Schlüssel sofort wieder verworfen und nur der verschlüsselte Schlüssel verbleibt auf der MCU.
Mit diesem Verfahren ist der Seed auch dann geschützt, wenn es einem Angreifer gelingt, den Arbeitsspeicher der BitBox02 auszulesen.
Da der Zufallsschlüssel nur im RAM gespeichert ist, wird er beim Herausziehen der BitBox02 gelöscht. Dadurch wird sichergestellt, dass das Gerätepasswort erneut benötigt wird, um den Seed zu entschlüsseln.
Fazit
Die Tatsache, dass der Seed nur noch dann entschlüsselt wird, wenn es absolut notwendig ist, macht die BitBox02 sicherer. Als Hersteller eines Geräts, mit dem große Geldbeträge verwahrt werden, müssen wir die Möglichkeit einkalkulieren, dass unsere aktuellen Sicherheitsannahmen in Zukunft nicht immer gültig bleiben könnten. Deshalb ist es wichtig, sich nicht auf einzelne Sicherheitsmechanismen zu verlassen, sondern mehrere Sicherheitsebenen in die Architektur einzubauen und somit die Sicherheit der BitBox02 insgesamt ständig zu verbessern.
Wie eine Burg, die eine weitere Festungsmauer erhält, hat die BitBox02 jetzt eine zusätzliche Sicherheitsebene.
Du hast noch keine BitBox?
Deine Kryptowährungen sicher zu halten muss nicht schwer sein. Die BitBox02 Hardware Wallet speichert die privaten Schlüssel deiner 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!
Frequently Asked Questions (FAQ)
Was ist "Verteidigung in der Tiefe"?
Es beschreibt eine Strategie in der Cybersicherheit, bei der eine Verteidigungslinie nicht als einzelne Kontaktlinie, sondern als mehrere gestaffelte Verteidigungslinien aufgebaut wird.
Wie unterscheidet sich die Sicherheitsarchitektur der BitBox02?
Die BitBox02 verwendet eine tief gestaffelte Verteidigung, bei der es keine einzelne Schwachstelle gibt, die zu einem vollständigen Durchbruch führen kann. Sie verwendet mehrere Sicherheitsmechanismen, um die Sicherheit zu maximieren.
Was ist die Seed-Verschlüsselung bei der BitBox02?
In früheren Firmware-Versionen wurde der Seed im Arbeitsspeicher der BitBox02 entschlüsselt gespeichert. Jetzt bleibt der Seed verschlüsselt, es sei denn, er wird aktiv genutzt, um die Sicherheit zu erhöhen.
Wie funktioniert die Seed-Verschlüsselung?
Die BitBox02 verwendet einen temporären Zufallsschlüssel und einen Secure-Chip, um den Seed sicher im RAM zu verschlüsseln und zu entschlüsseln, wenn es notwendig ist.
BitBox Hardware-Wallets werden von der Shift Crypto AG, einem privaten Unternehmen mit Sitz in Zürich, in der Schweiz entwickelt und produziert. Unser Team aus Bitcoin-Entwicklern, Krypto-Experten und Sicherheitsingenieuren entwickelt Produkte, die unseren Kunden eine stressfreie Reise vom Anfänger zum Meister der Kryptowährung ermöglichen. Die BitBox02, unsere Hardware-Wallet der zweiten Generation, ermöglicht es den Nutzern, Bitcoin und andere Kryptowährungen zu speichern, zu schützen und mit Leichtigkeit zu handeln - zusammen mit der dazugehörigen Software, der BitBoxApp.