Was ist Entropie? Die Zufaelligkeit hinter Krypto-Sicherheit
Inhaltsverzeichnis
Jedes Kryptowaehrungs-Wallet beginnt mit einer Zufallszahl. Kein Passwort, das Sie waehlen, kein Muster, das Sie entwerfen, sondern rohe Zufaelligkeit aus der physischen Welt. Diese Zufaelligkeit wird Entropie genannt, und sie ist der wichtigste einzelne Faktor, der bestimmt, ob Ihre Krypto-Assets sicher oder verwundbar sind.
Wenn die Entropie hinter Ihrem Wallet stark ist, muesste ein Angreifer mehr Kombinationen durchsuchen, als es Atome im beobachtbaren Universum gibt, um Ihre Schluessel zu finden. Wenn die Entropie schwach ist, koennen Ihre Guthaben in Sekunden gestohlen werden. Es gibt keinen Mittelweg.
Entropie definiert¶
In der Kryptographie misst Entropie die Unvorhersagbarkeit von Daten. Sie wird in Bits quantifiziert. Ein Bit Entropie repraesentiert eine einzelne binaere Wahl: Kopf oder Zahl, 0 oder 1. Zwei Bits Entropie ergeben vier moegliche Ergebnisse. Drei Bits ergeben acht. Jedes zusaetzliche Bit verdoppelt die Anzahl der Moeglichkeiten.
Die Formel ist einfach: n Bits Entropie erzeugen 2^n moegliche Werte.
Dieses exponentielle Wachstum macht Entropie so maechtig. Bei kleinen Zahlen erscheinen die Moeglichkeiten ueberschaubar. Bei den Bit-Anzahlen, die in Kryptowaehrungen verwendet werden, werden sie unbegreiflich gross.
Entropie im Krypto-Kontext ist keine Metapher oder ein abstraktes Konzept. Sie ist eine spezifische, messbare Menge an Zufaelligkeit, die in deterministische Algorithmen eingespeist wird, um Ihre Seed Phrase, Private Keys und letztendlich Ihre Adressen zu erzeugen. Alles nach der initialen Entropie ist mathematisch abgeleitet. Die Entropie selbst ist der einzige Teil, der wirklich zufaellig sein muss.
128 Bits vs 256 Bits¶
Der BIP39-Standard, der definiert, wie Seed Phrases generiert werden, unterstuetzt zwei primaere Entropielaengen:
128 Bits (12-Wort Seed Phrase)¶
- Erzeugt 2^128 moegliche Seed Phrases
- Das sind 340.282.366.920.938.463.463.374.607.431.768.211.456 Kombinationen
- Ungefaehr 3,4 x 10^38
256 Bits (24-Wort Seed Phrase)¶
- Erzeugt 2^256 moegliche Seed Phrases
- Das sind ungefaehr 1,16 x 10^77 Kombinationen
- Mehr als die geschaetzte Anzahl von Atomen im beobachtbaren Universum
Beide Niveaus gelten als sicher gegen aktuelle Technologie. 128 Bits Entropie ist der Standard fuer die meisten Consumer-Wallets, und keine bekannte Berechnungsmethode kann 2^128 Moeglichkeiten in einem praktikablen Zeitrahmen durchsuchen. Die 256-Bit-Option bietet einen zusaetzlichen Sicherheitspuffer fuer Nutzer, die maximalen Schutz wuenschen oder sich ueber zukuenftige Fortschritte in der Computertechnik Sorgen machen. Fuer einen detaillierten Vergleich siehe Wie schnell kann eine Seed Phrase per Brute-Force geknackt werden?.
Die Beziehung zwischen Entropie-Bits und Wortanzahl folgt einer einfachen Regel: Alle 11 Bits Entropie werden auf ein Wort aus der BIP39-Wortliste abgebildet (2.048 Woerter, und 2^11 = 2.048). Eine 12-Wort-Phrase kodiert 128 Bits Entropie plus 4 Bits Pruefsumme. Eine 24-Wort-Phrase kodiert 256 Bits Entropie plus 8 Bits Pruefsumme. Fuer die vollstaendige Aufschluesselung dieses Prozesses lesen Sie BIP39 erklaert.
Quellen der Zufaelligkeit: Hardware-RNG und Web Crypto API¶
Die entscheidende Frage ist: Woher kommt die Entropie? Nicht alle Zufallszahlengeneratoren sind gleich.
Pseudozufaellig vs. kryptographisch sicher¶
Eine Standard-Zufallsfunktion in Programmiersprachen (wie JavaScripts Math.random()) ist pseudozufaellig. Sie verwendet eine mathematische Formel, um Zahlen zu erzeugen, die zufaellig erscheinen, aber voellig deterministisch sind. Bei gleichem Startwert erzeugt sie jedes Mal dieselbe Sequenz. Dies ist katastrophal ungeeignet fuer die Generierung von Kryptowaehrungsschluesseln.
Kryptographisch sichere Zufallszahlengeneratoren (CSPRNGs) loesen dies, indem sie echte physische Zufaelligkeit aus Hardwarequellen einbeziehen.
Hardware-Zufallszahlengeneratoren¶
Moderne CPUs enthalten dedizierte Hardware-Zufallszahlengeneratoren, die Entropie aus physikalischen Phaenomenen gewinnen:
- Intel RDRAND/RDSEED: Nutzt thermisches Rauschen in Siliziumschaltkreisen
- ARM TrustZone TRNG: Nutzt hardwarebasierte Zufallsbitgenerierung
- Betriebssystem-Entropiepools: Linux's
/dev/urandom, Windows CryptGenRandom und macOS SecRandomCopyBytes unterhalten alle Entropiepools, die durch Hardware-Ereignisse wie Interrupt-Timing, Festplattensuchvariationen und Netzwerkpaket-Ankunftszeiten gespeist werden
Diese physischen Quellen erzeugen Zufaelligkeit, die selbst ein Angreifer mit vollstaendigem Wissen ueber den Softwarezustand des Systems nicht vorhersagen kann.
Web Crypto API¶
Fuer browserbasierte Tools bietet die Web Crypto API Zugriff auf den kryptographischen Zufallszahlengenerator des Betriebssystems ueber crypto.getRandomValues(). Diese Funktion ist vom W3C spezifiziert und in allen modernen Browsern implementiert. Sie greift auf denselben OS-Level-Entropiepool zu, der auch von nativen Anwendungen verwendet wird.
SafeSeed verwendet die Web Crypto API fuer alle Schluesselgenerierungen. Wenn Sie den Bitcoin Seed Phrase Generator oder Ethereum Seed Phrase Generator verwenden, wird die Entropie ueber crypto.getRandomValues() bezogen, das kryptographisch sichere Zufallsbytes direkt von der Hardware Ihres Geraets liefert. Nichts wird auf einem Server generiert; alles laeuft in Ihrem Browser.
Die Web Crypto API ist nicht dasselbe wie Math.random(). Sie ist ein fundamental anderes System, das speziell fuer kryptographische Operationen entwickelt wurde. Die Unterscheidung ist enorm wichtig: Math.random() hat bei den meisten Implementierungen ungefaehr 52 Bits internen Zustand, was bedeutet, dass ein Angreifer, der einige Ausgaben beobachtet, alle zukuenftigen vorhersagen kann. crypto.getRandomValues() hat keine solche Schwaeche.
Von Entropie zur Seed Phrase¶
Der Weg von roher Entropie zu einer Seed Phrase folgt einem praezisen, deterministischen Pfad, der durch die BIP39-Spezifikation definiert ist:
Schritt 1: Zufaellige Bytes generieren¶
Der CSPRNG erzeugt 16 Bytes (128 Bits) oder 32 Bytes (256 Bits) Zufallsdaten.
Schritt 2: Pruefsumme berechnen¶
Der SHA-256-Hash der Entropie wird berechnet. Die ersten 4 Bits (fuer 128-Bit-Entropie) oder 8 Bits (fuer 256-Bit-Entropie) dieses Hashes werden als Pruefsumme an die Entropie angehaengt.
Schritt 3: In 11-Bit-Gruppen aufteilen¶
Die kombinierten Entropie- + Pruefsummen-Bits werden in Gruppen von je 11 Bits aufgeteilt. Fuer eine 12-Wort-Phrase: 128 + 4 = 132 Bits, aufgeteilt in 12 Gruppen von 11 Bits.
Schritt 4: Auf Woerter abbilden¶
Jeder 11-Bit-Wert (0-2047) wird als Index in die BIP39-Wortliste mit 2.048 Woertern verwendet. Das Ergebnis ist Ihre Mnemonic-Phrase.
Schritt 5: Den Seed ableiten¶
Die Mnemonic-Phrase wird durch PBKDF2-HMAC-SHA512 mit 2.048 Iterationen geleitet, um einen 512-Bit-Seed zu erzeugen. Dieser Seed wird dann verwendet, um Ihren HD-Wallet-Baum gemaess BIP44 Ableitungspfaden abzuleiten.
Jeder Schritt nach Schritt 1 ist deterministisch. Dieselben 128 Bits Entropie werden immer dieselben 12 Woerter, denselben Seed und dieselben Adressen erzeugen. Die gesamte Sicherheit des Systems beruht auf der Unvorhersagbarkeit dieser initialen Zufallsbytes.
Wenn schwache Entropie zu gestohlenen Guthaben fuehrt¶
Die Konsequenzen schwacher Entropie sind nicht theoretisch. Mehrere reale Vorfaelle haben gezeigt, was passiert, wenn Zufaelligkeit versagt.
Die Android SecureRandom-Schwachstelle (2013)¶
Im August 2013 wurde ein Fehler in Androids Implementierung von SecureRandom entdeckt. Die Java-Kryptographie-Bibliothek auf Android seede ihren Zufallszahlengenerator nicht ordnungsgemaess, wodurch einige Bitcoin-Wallets Private Keys mit ungenuegender Entropie generierten. Angreifer nutzten dies aus, um Bitcoins von betroffenen Wallets zu stehlen. Die Schwachstelle betraf mehrere Wallet-Anwendungen und fuehrte zu Notfall-Patches im gesamten Android-Oekosystem.
Blockchain Bandit (vorhersagbare Schluessel)¶
Sicherheitsforscher Adrian Bednarek dokumentierte einen Fall, in dem Angreifer systematisch die Ethereum-Blockchain nach Adressen durchsuchten, die von schwachen Private Keys abgeleitet waren. Schluessel wie 0x0000...0001 (die Zahl 1) oder aus einfachen Phrasen abgeleitete Schluessel wurden von Menschen verwendet, die Entropie nicht verstanden. Automatisierte Bots ueberwachten diese Adressen und stahlen alle eingezahlten Guthaben innerhalb von Sekunden. Tausende Ether wurden von Adressen mit vorhersagbaren Schluesseln abgezogen.
Brain-Wallet-Angriffe¶
Brain Wallets --- bei denen ein Private Key aus einer auswendig gelernten Passphrase abgeleitet wird --- wurden wiederholt kompromittiert, weil von Menschen gewaehlte Phrasen weit weniger Entropie haben, als Menschen annehmen. Angreifer lassen massive Woerterbuecher aus Phrasen, Songtexten, Buchzitaten und gaengigen Passwoertern durch dieselbe Ableitungsfunktion laufen, die von Brain Wallets verwendet wird. Jede Phrase, die ein Mensch sich merken kann, liegt wahrscheinlich im Suchraum dieser Angriffe.
Diese Vorfaelle teilen eine gemeinsame Lektion: Die kryptographischen Algorithmen selbst (SHA-256, secp256k1, ECDSA) sind nicht gebrochen. Die ihnen zugefuehrte Entropie war ungenuegend.
Testen der Entropiequalitaet¶
Wie koennen Sie ueberpruefen, ob ein Zufallszahlengenerator qualitativ hochwertige Entropie erzeugt? Es gibt mehrere statistische Tests:
NIST SP 800-22¶
Das National Institute of Standards and Technology veroeffentlicht eine Suite statistischer Tests fuer Zufaelligkeit. Diese umfassen Haeufigkeitstests (sind Nullen und Einsen ungefaehr ausgeglichen?), Lauftests (haben Sequenzen identischer Bits die erwartete Laenge?) und Matrixrangtests, unter anderem. Ein gut funktionierender CSPRNG sollte alle bestehen.
Dieharder-Testsuite¶
Ein erweiterter Satz von Zufaelligkeitstests, der Generatoren haerter prueft als die NIST-Suite. Benannt nach George Marsaglias originalen Diehard-Tests, wird diese Suite haeufig zur Ueberpruefung neuer Zufallszahlengeneratoren verwendet.
Praktische Ueberpruefung¶
Fuer Endnutzer ist die praktischste Ueberpruefung sicherzustellen, dass Sie ein gut auditiertes Tool verwenden, das auf crypto.getRandomValues() oder einem aequivalenten OS-Level-CSPRNG basiert. Sie sollten nicht versuchen, die Entropie durch Hinzufuegen eigener "Zufaelligkeit" zu verbessern (wie das Auswaehlen von Woertern), da menschliche Entscheidungen weit weniger zufaellig sind, als sie sich anfuehlen.
SafeSeeds Tools sind quelloffen, sodass jeder ueberpruefen kann, dass die Entropiequelle crypto.getRandomValues() und keine schwaeachere Alternative ist. Der Code laeuft vollstaendig in Ihrem Browser ohne Serverkommunikation, sodass es keine Moeglichkeit fuer einen Man-in-the-Middle gibt, die Zufallszahlengenerierung zu beeinflussen. Fuer eine breitere Diskussion, warum clientseitige Generierung wichtig ist, siehe Sind Online Seed Generatoren sicher?.
Entropie und Ihre Sicherheitslage¶
Das Verstaendnis von Entropie veraendert, wie Sie ueber Krypto-Sicherheit denken. Ihre 12-Wort Seed Phrase ist nicht nur ein bequemer Backup-Mechanismus; sie ist eine menschenlesbare Kodierung einer Zufallszahl, die so gross ist, dass das Universum nicht genug Energie enthaelt, um alle Moeglichkeiten durchzusuchen.
Aber dieser Schutz gilt nur, wenn die urspruengliche Zufallszahl wirklich zufaellig war. Bei der Wahl von Tools zur Generierung Ihres Wallets:
- Ueberpruefen Sie die Entropiequelle: Das Tool sollte
crypto.getRandomValues(),/dev/urandomoder eine aequivalente hardwaregestuetzte Zufaelligkeit verwenden. - Vermeiden Sie eigene Entropie: Waehlen Sie nicht Ihre eigenen Woerter, wuerfeln Sie nicht mit einer verzerrten Methode und verwenden Sie keine Zufaelligkeitsquelle, von der Sie "fuehlen", dass sie gut genug ist.
- Nutzen Sie etablierte Standards: BIP39 ist seit 2013 praxiserprobt. Tools, die BIP39 praezise befolgen, wie der Solana Seed Phrase Generator auf SafeSeed, profitieren von einem Jahrzehnt Sicherheitsueberprueefung.
- Generieren Sie wenn moeglich offline: Selbst mit starker Entropie eliminiert die Schluesselgenerierung auf einem Air-Gapped- oder Offline-Geraet netzwerkbasierte Angriffsvektoren. Siehe Wie man eine Bitcoin Seed Phrase offline generiert fuer eine praktische Anleitung.
Entropie ist unsichtbar. Sie koennen sie nicht sehen, fuehlen oder durch Betrachten der Ausgabe ueberpruefen. Eine Seed Phrase, die aus schwacher Entropie generiert wurde, sieht identisch aus mit einer, die aus starker Entropie generiert wurde. Der einzige Weg, Ihre Sicherheit zu gewaehrleisten, ist dem Prozess zu vertrauen: Verwenden Sie auditierte, quelloffene Tools, die auf hardwaregestuetzte Zufallszahlengeneratoren zurueckgreifen, und machen Sie bei diesem Fundament niemals Kompromisse.