Sicherheit auch für Paranoide

Das Specter DIY Hardware Wallet gibt es seit 2020, es wurde größtenteils von Stepan Snigirev programmiert. Zu dieser Zeit konnten die Hardware Wallets auf dem Markt seinen Sicherheitsansprüchen nicht genügen. Mit Specter wurde dann das Bitcoin-only Hardware Wallet vollständig Opensource veröffentlicht, so dass es sich jeder selbst bauen konnte und den Code selbst verifizieren konnte. Seitdem wird ein großer Teil des Codes ebenfalls im SeedSigner und Krux Projekt verwendet, ohne das signifikante Sicherheitslücken auftraten.
Sicherheit von Firmware und Software
Opensource
Die Firmware des Specter DIYs ist vollständig Opensource und frei für andere auch kommerzielle Projekte verwendbar. Ein großer Teil des Codes wird deswegen vom SeedSigner und Krux Projekt verwendet, was die Sicherheit und Robustheit des Codes unterstreicht.
Reproduzierbare Builds
Du kannst außerdem die Software selbst signieren und so sicherstellen, dass du die offizielle Version von Specter verwendest. Dies ist deutlich unkomplizierter, hier findest du eine Anleitung.
Secure Boot
Die Firmware des Specter DIY wird ausschließlich von den offiziellen Specter-Entwicklern signiert. Bei jedem Firmware-Update überprüft das Gerät diese digitale Signatur, um sicherzustellen, dass nur authentische und geprüfte Versionen installiert werden. So kannst du sicher sein, dass keine manipulierte Software unbemerkt auf dein Gerät gelangt.
Anti-Phishing-Wörter
Beim ersten Start des Geräts wird auf dem Haupt-Mikrocontroller ein einzigartiges Geheimnis generiert. Dieses Geheimnis ermöglicht es dir zu überprüfen, ob das Gerät durch ein manipuliertes ersetzt wurde – wenn du deinen PIN-Code eingibst, wird dir eine Liste von Wörtern angezeigt, die immer gleich bleibt. Solange diese Wortliste gleich bleibt kannst du dir sicher sein, dass das Gerät in dieser Zeit nicht manipuliert wurde.
Seedphrase Verwaltung
Seed Verwahrung
Seedphrase auf dem internen Gerät-Speicher speichern (nicht empfohlen)
Dein PIN-Code und das einzigartige Geheimnis (vgl. Anti-Fishing Wörter) werden verwendet, um einen Entschlüsselungsschlüssel für deine Bitcoin Seedphrase zu generieren (falls du sie speicherst). Selbst wenn ein Angreifer den PIN-Bildschirm umgehen könnte, würde die Entschlüsselung trotzdem fehlschlagen.
Wenn du die Firmware gesperrt hast (eine Anleitung dazu folgt), wird auch das geheime Schlüsselmaterial effektiv gesperrt. Sollte ein Angreifer versuchen, eine andere Firmware auf das Gerät zu spielen, wird dieses Geheimnis gelöscht. Du erkennst dies daran, dass die Wortsequenz beim Eingeben des PIN-Codes abweicht. Diese Methode wird dennoch nicht empfohlen, da es theoretisch möglich ist, die Seedphrase mithilfe von Techniken wie Lasern oder Säure zu extrahieren.
Seedphrase außerhalb des Gerätes speichern: Temporary Seed
Deshalb wird die Bitcoin-Seedphrase normalerweise nur während der aktiven Nutzung im Arbeitsspeicher (RAM) gespeichert und beim Ausschalten des Geräts gelöscht. Die Seedphrase wird somit außerhalb des Specter DIY aufbewahrt. Üblicherweise werden die 12 bzw. 24 Seed-Wörter auf Papier notiert und bei der Verwendung des Geräts über den großen Touchscreen eingegeben, bequem als Seed-QR-Code eingescannt oder von einer SD-Karte importiert.
Empfehlung: Es sollten mehrere Kopien der Seedphrase erstellt und an verschiedenen sicheren Orten aufbewahrt werden. Es wird empfohlen, diese in manipulationssicheren Beuteln (Tamper Evident Bags) bzw. im Backup Stack zu lagern. Zusätzlich sollte eine Passphrase oder ein Multi-Signatur-Setup verwendet werden. Auf diese Weise lässt sich ein möglicher Diebstahl der Seedphrase erkennen und der Zugriff auf die Bitcoin durch die weiteren Backups und/oder die Passphrase verhindern.
Seed Verwahrung auf dem Secure Element der Smartcard
Der Specter Shield sowie der Specter Shield Lite bietet alle Funktionen des Specter DIY und zusätzlich eine Smartcard-Option. Damit kannst du die Bitcoin Seedphrase verschlüsselt auf dem Secure Element der austauschbaren Smartcard speichern. Damit ein potenzieller Dieb, auf die Bitcoin Seedphrase zugreifen kann, würde er drei verschiedene Geheimnisse benötigen: ein zufälliges Geheimnis auf dem Secure Element (Smartcard), ein zufälliges Geheimnis auf dem Mikrocontroller (Specter Shield) und ein von dir gewähltes Geheimnis, den Gerät-PIN. Hierbei wird wenn 10 falsche Gerät-PINs eingegeben werden, die Smartcard mit dem Secure Element unbrauchbar und diese Seedphrase kann nicht mehr vom Secure Element hergestellt werden. So wird das Brute-Forcing (mehrfaches raten) des PINS auf 10 Versuche limitiert.
Wallet-Seed Erzeugung
Die Sicherheit des Specter DIY basiert auf einer robusten Generierung der privaten Seedphrase durch Kombination mehrerer Entropiequellen:
- Zufallsgenerator: Ein hardwarebasierter True-Random-Number-Generator (TRNG) auf dem Mikrocontroller erzeugt echte Zufallszahlen.
- Touchscreen-Interaktionen: Zeitpunkt und Position jeder Berührung des Touchscreens werden gemessen. Die daraus resultierende Entropie wird in einem Hash gesammelt und bei jeder weiteren Berührung aktualisiert.
Diese Quellen werden kombiniert und gehasht, um eine hochentropische Seedphrase zu erzeugen, die sicherer ist als jede einzelne Quelle allein.
Optional lässt sich auch noch spielerisch einfach und transparent Real Life Zufall in Form von Münzwürfen in die Seedphrase Generierung einmischen, wobei für jeden einzigen Bit eine Münze geworfen werden kann.
Weitere Sicherheitsfunktionen
Nur Bitcoin und Liquid Unterstützung
Der Specter DIY lässt sich neben dem Bitcoin Mainnet, auch auf das Liquid Mainnet (Bitcoin Second Layer Lösung) umschalten, außerdem werden folgende Testnetzwerke unterstützt: Testnet, Signet, Regtest, Liquid Testnet, Liquid Regtest. Dadurch das keine Altcoins supportet werden bleibt die Codebase schmal und bietet weniger Angriffsfläche. Zudem werden die Netzwerke klar voneinander getrennt so gehört jedes Wallet zu einem bestimmten Netzwerk. Das bedeutet, dass ein auf Testnet importiertes Wallet nicht auf Mainnet oder Regtest verfügbar ist. Um das Wallet auf einem anderen Netzwerk zu nutzen, musst du zu diesem Netzwerk wechseln und das Wallet dort separat importieren.
Sicheres Display
Der Specter DIY ist für den Fall gebaut, dass dein Computer kompromittiert sein kann und du man ihm nicht trauen kann. Du kannst Transaktionen, Empfangsadressen, Transakationsgebühr und weitere Daten sicher über das große Touch-Display im Detail verifizieren.
Regeln für Transaktionen, die Specter DIY signiert
- Warnung bei gemischten Inputs: Werden Inputs aus verschiedenen Wallets in einer Transaktion erkannt, wird der Benutzer auf dem Display gewarnt. Dies schützt vor möglichen Angriffen, die auf Manipulationen abzielen.
- Warnung bei ungewöhnlicher Change-Adresse: Erkennt der Specter DIY eine verdächtige oder ungewöhnliche Change-Adresse, wird der Benutzer deutlich auf dem Display gewarnt. Diese Prüfung erfolgt sowohl bei Single-Sig- als auch bei Multisig-Transaktionen, um maximale Sicherheit zu gewährleisten.
- Change-Outputs: Change-Adressen (Rückgabe-Outputs) zeigen auf dem Display den Namen der Wallet, an die sie gesendet werden. Dies sorgt für volle Transparenz und Kontrolle.
- Multisig- oder Miniscript-Nutzung: Um Multisig- oder Miniscript-Transaktionen zu verwenden, muss zunächst die entsprechende Wallet importiert werden. Dies geschieht durch Hinzufügen des Wallet-Deskriptors über QR-Code, USB oder SD-Karte.
Kommunikations-Möglichkeiten
Der Specter DIY unterstützt drei verschiedene Möglichkeiten, um mit der Companion App, des Gerätes, welches mit dem Internet verbunden ist zu kommunizieren.
Air-Gapped
Zwei dieser Kommunikationsmöglichkeiten sind vollständig Airgapped. Das bedeutet, dass bedeutet das keine physische Verbindung zum anderen Gerät besteht. Zudem ist diese Kommunikationsweise extrem transparent, da der Benutzer zu jeder Zeit genau einsehen kann welche Informationen ausgetauscht werden.
per QR-Code (empfohlen)
Das ist die sicherste Kommunikationsmethode. Hier werden die Informationen mit der Compnion App transparent Air-Gapped über QR-Codes angezeigt. Beim Scannen von QR-Codes läuft noch ein separaten Mikrocontroller, sodass die Bildverarbeitung außerhalb des sicherheitskritischen Mikrocontrollers stattfindet.
per SD-Karte (nicht empfohlen)
Auch die Kommunikation über die SD-Karte ist Air-Gapped. Hier wird die SD-Karte von Specter DIY zum Internetfähigen Gerät hin und her gesteckt. Um Angriffsfläche zu reduzieren sollte diese Möglichkeit, nicht verwendet werden, da die Kommunikation direkt mit dem sicherheitskritischen Mikrocontrollers stattfindet.
nicht Air-Gapped (nicht empfohlen)
Diese Kommunikationsweise ist nicht ganz so sicher, da die Kommunikation intransparenter ist.
per Kabel (nicht empfohlen)
Eine Kommunikation über ein Mini USB Kabel ist, ebenfalls möglich. Diese mag zwar praktisch sein, ist aber nicht optimal. Auch weil hier noch die Schnittstelle des Haupt-Mikrocontollers, anstatt eines seperaten, wie es bei der QR-Code Methode der Fall ist. Auch aus diesem Grund haben wir, diese Kommunikationsweise, bei den Geräten die wir bei ClavaStack Shop verkaufen deaktiviert. Um diese zu trotzdem zu verwenden, müsste sie manuell reaktiviert werden
Privatsphäre-Funktionen
X-Pub Speicherung
Es ist
mehrere Accounts
Der Specter DIY ermöglicht die sichere Verwaltung mehrerer Accounts durch Speicherung ihrer xPubs auf dem Gerät. Wallet-Deskriptoren werden über QR-Code, USB oder SD-Karte importiert. Für Übersichtlichkeit können Accounts individuell benannt werden.
Coin Control
Mit dem Specter DIY kannst du problemlos für jede Transaktion genau auswählen, welche UTXOs du verwenden möchtest.
Hinweis
Der Specter DIY ist für selbstsouveräne Bitcoiner gebaut, die wissen oder lernen möchten, wie sie ihre Bitcoin sicher selbst verwahren können. Der Specter DIY bietet eine maximale Freiheit bei deiner Bitcoin Aufbewahrung und besitzt keine eingebaute “Kindersicherung”, deswegen unterstützt er auch manche Features, die unter der falschen Verwendung, keine maximale Sicherheit gewährleisten. Diese optionalen Features werden auf dieser Seite mit “nicht empfohlen” gekennzeichnet.
Der Vollständigkeit halber findest du hier die Sicherheitsseite des Specter DIY GitHub. Auch wenn sich dort vieles wiederholt.