Wenn der Zufall versagt: der Coldcard-Entropiefehler und was zwei Geräte ändern

·6 Min. Lesezeit·Von SSP Editorial Team
SSP-Academy-Titelbild: der Coldcard-Entropiefehler und die Zwei-Geräte-Architektur

Wenn der Zufall versagt: der Coldcard-Entropiefehler und was zwei Geräte ändern

Ende Juli 2026 begannen Angreifer, Bitcoin aus Tausenden von Hardware-Wallets abzuziehen, die nichts falsch gemacht hatten. Die Besitzer hatten sich an die Ratschläge gehalten. Sie hatten ein eigenes Signiergerät gekauft, den Seed offline gehalten, ihn nie auf einer Website eingetippt. Nichts davon half, denn der Seed, den diese Geräte erzeugten, war nie so zufällig gewesen, wie er aussah.

Rund 1.816 BTC verließen mehr als 5.200 Adressen in vier Wellen. Es wurde der größte Hardware-Wallet-Exploit des Jahres.

Dieser Artikel ist keine Ehrenrunde. Der zugrunde liegende Fehler ist von der Sorte, die fast jeder Wallet hätte passieren können, auch unserer, und die interessante Frage ist nicht, wer ihn ausgeliefert hat, sondern was die Architektur einer Wallet tut, wenn er passiert.

Was genau schiefging

Ein einziger Commit, im März 2021.

Coldcards Entwurf sah vor, Seeds aus einem Hardware-Zufallszahlengenerator zu erzeugen — einem eigenen Chip, der Entropie aus physikalischen Prozessen gewinnt. Das ist der richtige Weg. Doch eine Änderung in Firmware 4.0.1 leitete die Seed-Erzeugung stattdessen durch einen Software-Pseudozufallsgenerator, der aus öffentlichen, fest einkodierten Konstanten gespeist wurde.

Ein PRNG ist per Definition deterministisch. Bei gleichem Startwert liefert er immer dieselbe Folge. Ein so erzeugter Seed ist also keine Zahl, die niemand erraten kann — er ist eine Zahl aus einer Menge, die klein genug zum Durchsuchen ist, erzeugt mit Konstanten, die die ganze Zeit in der veröffentlichten Firmware standen.

Die Geräte verhielten sich weiter völlig normal. Sie zeigten vierundzwanzig Wörter an, man schrieb sie auf, sie leiteten korrekte Adressen ab und signierten gültige Transaktionen. Es gibt auf keiner Wallet einen Bildschirm, der dir zeigt, wie viel Entropie in deinen Seed geflossen ist. Jeder betroffene Nutzer hatte ein Gerät, das bis zu fünf Jahre lang exakt wie ein funktionierendes aussah und sich so verhielt.

Das Fenster reichte von Firmware 4.0.1 im März 2021 bis 4.1.9 im Juli 2026. Ein Firmware-Update reparierte die Erzeugung ab da und tat für bereits erstellte Seeds überhaupt nichts — diese Schlüssel waren schon schwach, und kein Update kann einer Zahl, die längst auf einer Karte im Safe steht, nachträglich Zufall hinzufügen. Betroffene mussten einen neuen Seed erzeugen und ihre Coins umziehen.

Warum schwacher Zufall ein stiller Totalverlust ist

Es lohnt, genau zu sein, warum diese Fehlerklasse so schwer wiegt, denn es ist nicht intuitiv.

Ein 24-Wort-BIP-39-Seed steht für 256 Bit Entropie. Einen zu erraten ist nicht bloß schwer, es ist unvorstellbar — es gibt keinen Computer, heute oder künftig, der diesen Raum durchprobiert. Darauf ruht das gesamte Selbstverwahrungsmodell: Dein Schlüssel ist sicher, weil er einer von unbegreiflich vielen Möglichkeiten ist.

Diese Garantie ist keine Eigenschaft der Wörter. Sie ist eine Eigenschaft des Verfahrens, das sie gewählt hat. Vierundzwanzig Wörter aus einem schwachen Generator sehen genauso aus wie vierundzwanzig aus einem starken. Sie bestehen jede Prüfsumme, erzeugen gültige Adressen und stellen sich in jeder Wallet einwandfrei wieder her. Der einzige Unterschied: Jemand anderes kann ebenfalls auf sie kommen.

Das Versagen ist also von innen unsichtbar, und es ist vollständig. Nicht „ein Angreifer könnte dich bestehlen, wenn du einen Fehler machst" — es gibt keinen Fehler zu vermeiden, keinen Phishing-Link abzulehnen, keinen Bestätigungsdialog sorgfältig zu lesen. Das Geld ist abholbar, wann es dem Angreifer passt, und das erste Anzeichen ist, dass es weg ist.

Was zwei Geräte ändern

Derselbe Fehler, zwei Architekturen

Hier kommt der architektonisch entscheidende Teil, und ich möchte ihn präzise formulieren statt in Marketingworten.

SSP ist eine 2-von-2-Multisig. Guthaben liegt an einer Adresse, die von zwei unabhängigen Schlüsseln auf zwei unabhängigen Geräten kontrolliert wird — einer in der Browser-Erweiterung, einer in der SSP-Key-App — und eine Transaktion verlangt beide Signaturen. Die Zwei-von-zwei-Anordnung ist die gesamte Grundlage der Wallet.

Nun spiele das Coldcard-Szenario gegen diese Struktur durch. Angenommen, die Seed-Erzeugung der Erweiterung hätte denselben Fehler, und ein Angreifer kann deinen Browser-Schlüssel vollständig herleiten.

Er kann trotzdem nichts ausgeben. Er hält eine von zwei nötigen Signaturen. Die Adresse gibt für einen Schlüssel keine Mittel frei, wessen Schlüssel es auch sei und wie er ihn bekommen hat. Um deine Coins zu bewegen, müsste er zusätzlich, unabhängig und gleichzeitig, den Schlüssel auf deinem Telefon brechen — eine andere Anwendung, ein anderes Betriebssystem, eine andere Entropiequelle, zu einem anderen Zeitpunkt erzeugt.

Das ist der strukturelle Unterschied. In einer Ein-Schlüssel-Wallet ist ein schwacher Seed der Totalverlust. In einer 2-von-2 ist ein schwacher Seed ein ernstes Problem, das für sich genommen kein Verlust ist.

Die Einschränkung, klar gesagt

Es wäre leicht, hier aufzuhören und dich schließen zu lassen, SSP sei dagegen immun. Ist es nicht, und während des Vorfalls eines anderen so zu tun, wäre genau der falsche Moment dafür.

Beide SSP-Anwendungen nutzen dieselbe BIP-39-Implementierung — @scure/bip39, in beiden auf dieselbe Version gepinnt. Ein Fehler in dieser Bibliothek selbst träfe beide Schlüssel. Die Unabhängigkeit, die SSP dir gibt, ist real, aber spezifisch: zwei getrennte Seeds, zu verschiedenen Zeiten auf verschiedenen Geräten erzeugt, mit Entropie aus verschiedenen Betriebssystemquellen — die Web Crypto des Browsers auf der einen Seite, der CSPRNG der Mobilplattform auf der anderen. Es ist nicht die Unabhängigkeit zweier völlig unverwandter Codebasen.

Was das erkauft, ist Schutz gegen den Fehlerfall, der bei Coldcard tatsächlich eintrat: ein gerätespezifischer Implementierungsfehler darin, wie ein Produkt seine Seeds erzeugte. Gegen einen Defekt in der gemeinsamen kryptografischen Primitive darunter schützt es nicht.

Das ist eine deutlich schwächere Behauptung als „das kann uns nicht passieren", und es ist die zutreffende. Wer dir erzählt, seine Wallet sei kategorisch immun gegen Entropieversagen, erzählt dir von seinem Marketing, nicht von seiner Architektur.

Was daraus mitzunehmen ist

Wer eine Coldcard aus diesem Firmware-Fenster hat, sollte einzig annehmen, dass der Seed kompromittiert ist, ob Mittel bewegt wurden oder nicht. Erzeuge einen neuen auf gepatchter Firmware und ziehe um. Ein Gerät, das noch nicht geleert wurde, ist kein sicheres Gerät.

Wer irgendeine Ein-Schlüssel-Wallet nutzt, trägt genau dieses Risiko, und es lohnt, sich dessen bewusst zu sein statt ängstlich. Hardware-Wallets bleiben für die meisten Menschen weit besser als die Alternativen. Die Lehre ist nicht, dass sie schlecht sind; sie ist, dass ein einzelner Schlüssel ein einzelner Ausfallpunkt ist und jeder Teil der Geschichte dieses Schlüssels — auch der Moment seiner Entstehung, vor Jahren, in einer Firmware, die du nicht gelesen hast — zu deinem Bedrohungsmodell gehört.

Und allgemein: Bevorzuge Architekturen, in denen ein einzelner Fehlschlag nicht genügt. Dieses Prinzip ist der Grund, warum SSP zwei Geräte verlangt, warum manche Vorgänge erneutes Signieren fordern, selbst wenn du bereits authentifiziert bist, und warum was eine Transaktion wirklich aufhält eine Frage ist, die man jeder Wallet stellen sollte, der man vertraut. Die Antwort sollte nie lauten: „ein Geheimnis, und die Hoffnung, dass es ordentlich erzeugt wurde."

Für einen breiteren Vergleich der Optionen und dessen, wovor jede wirklich schützt, behandelt Selbstverwahrungsoptionen im Vergleich die Abwägungen.

Diesen Artikel teilen

Verwandte Artikel