Zum Inhalt springen

Privater Schlüssel

Aus BitcoinWiki
Konzeptionelle Darstellung eines geschützten Bitcoin-Privatschlüssels, der eine digitale Signatur autorisiert
Konzeptionelle Darstellung der Verwahrung eines Privatschlüssels und des digitalen Signierens; es wird kein nutzbares Schlüsselmaterial gezeigt.

Ein Bitcoin-Privatschlüssel ist eine geheime ganze Zahl, mit der Ausgaben unter einem öffentlichen Bitcoin-Schlüssel autorisiert werden. Wallet-Software erzeugt mit dem Privatschlüssel eine digitale Signatur; Bitcoin-Knoten prüfen diese mit dem zugehörigen öffentlichen Schlüssel, ohne den Privatschlüssel zu erfahren. Wer einen nutzbaren Privatschlüssel erhält, kann normalerweise dieselben Ausgabebedingungen wie der rechtmäßige Verfügungsberechtigte erfüllen. Der Schlüssel muss deshalb geheim bleiben.

Privatschlüssel sind keine Bitcoin-Adressen. Eine Adresse kodiert Informationen über ein Sperrskript oder eine Ausgabebedingung und ist zum Weitergeben für Zahlungseingänge bestimmt. Moderne Wallets können aus einem geschützten Seed viele Schlüssel und Adressen ableiten; manche Ausgabebedingungen erfordern mehrere Schlüssel.

Mathematische Grundlage

Bitcoin verwendet die elliptische Kurve secp256k1. Ein gültiger geheimer Schlüssel ist ein 32-Byte-Wert, der als ganze Zahl von 1 bis n−1 interpretiert wird, wobei n die Ordnung des Kurvengenerators ist. Der öffentliche Schlüssel wird durch Punktmultiplikation auf der elliptischen Kurve berechnet. Diese Operation ist als Einwegoperation ausgelegt: Laut BIP 32 würde die Wiedergewinnung des Privatschlüssels aus einem öffentlichen Schlüssel unter der angenommenen Sicherheit von secp256k1 etwa 2128 Kurvenoperationen erfordern.[1]

Bitcoin verwendete historisch ECDSA-Signaturen. Taproot-Ausgaben verwenden das Schnorr-Signaturverfahren aus BIP 340, ebenfalls auf secp256k1.[2] Die mathematische Stärke eines Schlüssels schützt nicht vor schwacher Zufallserzeugung, fehlerhafter Nonce-Erzeugung, Schadsoftware, Seitenkanälen oder unsicheren Sicherungsverfahren.

Erzeugung und Ableitung

Wallets sollten Schlüssel mit einem kryptografisch sicheren Zufallszahlengenerator erzeugen oder sie nach einem geprüften deterministischen Wallet-Verfahren ableiten. BIP 32 definiert hierarchisch-deterministische Wallets (HD-Wallets), bei denen ein Root-Seed einen Baum erweiterter Schlüssel erzeugt. Ein erweiterter Privatschlüssel enthält Schlüsselmaterial und einen Chain Code und kann einen ganzen Zweig ableiten; seine Offenlegung kann daher viele Adressen gefährden.[1]

Wiederherstellungswörter sind nicht selbst gewöhnliche Privatschlüssel. Bei Verfahren wie BIP 39 wird von der Wallet erzeugte Entropie als Wortfolge kodiert und in einen Seed umgewandelt, aus dem eine HD-Wallet Schlüssel ableitet.[3] Eine Wiederherstellungsphrase oder ein Root-Seed ist daher mindestens ebenso sensibel wie die abgeleiteten Privatschlüssel. Selbst gewählte Wörter sind kein sicherer Ersatz für von der Wallet erzeugte Entropie; siehe Brainwallet.

Erweiterte Schlüssel und Ableitungspfade

Ein erweiterter öffentlicher Schlüssel kann einen Zweig nicht gehärteter öffentlicher Schlüssel ableiten und beobachten, ohne gewöhnliche Ausgabeberechtigung zu erhalten. Das ist für Watch-only-Wallets und Empfangssysteme nützlich, legt aber auch Transaktionsbeziehungen und Salden dieses Zweigs offen. Nach BIP 32 kann die Offenlegung eines nicht gehärteten untergeordneten Privatschlüssels zusammen mit dem erweiterten öffentlichen Schlüssel des übergeordneten Knotens den übergeordneten Privatschlüssel enthüllen. Gehärtete Ableitung soll genau diese Eskalation verhindern.[1]

Ein Ableitungspfad beschreibt die Position eines Schlüssels in einem HD-Baum. Ein Seed allein kann für eine einfache Wiederherstellung unzureichend sein, wenn Wallet-Typ, Ableitungsverfahren, Skripttyp, Konten oder eine optionale Passphrase unbekannt sind. Sicherungen sollten deshalb die nicht geheimen Wallet-Metadaten enthalten, die das dokumentierte Wiederherstellungsverfahren benötigt, ohne geheimes Material in einer Online-Notiz abzulegen.

Darstellungen und Wallet-Beschreibungen

Intern kann ein Privatschlüssel als 32 Byte gespeichert werden. Ältere Software kann einen einzelnen Schlüssel im Wallet Import Format (WIF) exportieren, einer Base58Check-Kodierung mit Informationen zu Netzwerk und Komprimierung des öffentlichen Schlüssels. Ein erweiterter Privatschlüssel hat eine andere Kodierung, die häufig mit einem implementationsabhängigen Präfix wie xprv beginnt.

Eine Kodierung macht einen Schlüssel nicht sicherer. Hexadezimaldarstellung, WIF, erweiterter Privatschlüssel, QR-Code, Seed-Phrase und Wallet-Sicherung können jeweils Ausgabeberechtigung offenlegen. Dieser Artikel zeigt bewusst kein funktionsfähiges Privatschlüsselbeispiel, da solche Beispiele oft kopiert, indexiert oder irrtümlich finanziert werden.

Output-Skript-Deskriptoren beschreiben maschinenlesbar, wie Wallet-Skripte und Schlüssel abgeleitet werden. Ein Deskriptor kann für eine Watch-only-Wallet ausschließlich öffentliche Informationen oder aber privates Schlüsselmaterial enthalten; Letzteres muss als Geheimnis geschützt werden. Die Deskriptor-Wallet-Schnittstelle von Bitcoin Core unterscheidet öffentliche Deskriptoren von Deskriptoren, die mit privatem Material zurückgegeben werden.[4]

Importieren, Sweepen und erneutes Scannen

Beim Importieren wird ein Privatschlüssel einer Wallet hinzugefügt, damit sie zugehörige Ausgaben beobachten und ausgeben kann. Beim Sweepen werden diese Ausgaben durch eine Transaktion an einen neuen, von der empfangenden Wallet kontrollierten Schlüssel übertragen. Das Verhalten hängt von Wallet, Skripttyp, Deskriptor-Unterstützung und Rescan-Regeln ab. Ein einzelner importierter Schlüssel rekonstruiert möglicherweise weder verwandte HD-Wallet-Adressen noch die Sicherungsrichtlinie der ursprünglichen Wallet.

Fügen Sie einen finanzierten Privatschlüssel oder eine Wiederherstellungsphrase niemals in eine Website, einen Blockexplorer, Konverter, Support-Chat, KI-Prompt oder eine unbekannte Wallet ein. Befolgen Sie die Dokumentation der Wallet, die die Sicherung erzeugt hat. Muss ein alter Schlüssel wiederhergestellt werden, verwenden Sie vertrauenswürdige aktuelle Software auf einem kontrollierten Gerät und prüfen Sie die Ziel-Wallet, bevor Sie Guthaben übertragen.

Verwahrungsmodelle

Nicht jede Bitcoin-Ausgabe wird von einem einzigen Privatschlüssel kontrolliert. Übliche Modelle sind:

  • Single-Signature-Verwahrung, bei der ein Schlüssel die Ausgabebedingung erfüllen kann;
  • Multisignature-Verwahrung, bei der ein Schwellenwert mehrerer Schlüssel erforderlich ist;
  • Hardware-Signieren, bei dem ein Gerät Schlüsselmaterial isoliert hält und genehmigte Transaktionen signiert;
  • Watch-only-Koordination, bei der ein Online-System Transaktionen erstellt und beobachtet, während ein getrenntes System signiert; und
  • Schwellwertsignaturen, bei denen Parteien gemeinsam eine Signatur erzeugen, ohne einen vollständigen Privatschlüssel an einem Ort zusammenzusetzen.

Diese Modelle verändern das Ausfallrisiko, nicht die Notwendigkeit von Sicherungen. Eine Multisignature-Wallet kann die Abhängigkeit von einem Gerät verringern, doch zur Wiederherstellung werden auch die richtigen Skripte oder Deskriptoren, Schlüsselherkünfte, die Schwellenwertregel und genügend verbleibende Unterzeichner benötigt. Ungeprüfte Komplexität kann selbst zu dauerhaftem Verlust führen.

Historische Schlüsselspeicherung

Paper Wallets und physische Bitcoins speicherten häufig einen einzelnen Privatschlüssel oder einen verschlüsselten Privatschlüsseldatensatz. BIP 38 spezifizierte dafür ein passphrasengeschütztes Format mit scrypt und AES.[5] Diese Formate sind bei der Wiederherstellung historischer Guthaben weiterhin relevant, besitzen aber viele Eigenschaften moderner HD-Sicherungen nicht. Sie können durch kompromittierte Drucker, unlesbare Medien, schwache Passphrasen, Software-Inkompatibilität oder versehentliche Wiederverwendung nach einer Teilausgabe scheitern.

Eine Passphrase schützt nur entsprechend ihrer Entropie und Implementierung. Verschlüsselung repariert keinen Schlüssel, der vorhersehbar erzeugt, vor der Verschlüsselung kopiert oder im entschlüsselten Zustand offengelegt wurde.

Sicherheit und Speicherung

Häufige Ausfallursachen sind:

  • Schadsoftware, Austausch der Zwischenablage, Screenshots, Protokollierung oder Cloud-Synchronisierung, die ein Geheimnis offenlegen;
  • vorhersehbare oder verzerrte Zufallserzeugung;
  • eine selbst gewählte Phrase, die offline erraten werden kann;
  • Wiederverwendung eines in Quellcode, Dokumentation, Rätseln oder Websites veröffentlichten Schlüssels;
  • Verlust, Beschädigung oder unvollständige Sicherungen;
  • Phishing, das zum „Prüfen“, „Synchronisieren“, „Beanspruchen“ oder „Wiederherstellen“ einer Wallet nach Seed oder Schlüssel fragt; und
  • Offenlegung eines erweiterten Privatschlüssels oder unsichere Kombination eines nicht gehärteten untergeordneten Privatschlüssels mit zugehörigen erweiterten öffentlichen Schlüsseldaten in einem BIP-32-Entwurf.[1]

Eine geeignete Sicherungsstrategie hängt von Wallet und Bedrohungsmodell ab. Typische Schutzmaßnahmen sind gepflegte Wallet-Software, Offline-Sicherungen an physisch geschützten Orten, Wiederherstellungstests mit nicht sensiblen oder Testdaten und gegebenenfalls Hardware-Signiergeräte. Eine Sicherung sollte Diebstahl, physische Schäden, Handlungsunfähigkeit, Erbschaft und Software-Veralterung berücksichtigen, ohne die Zahl der Personen oder Systeme mit Zugriff auf das Geheimnis unnötig zu erhöhen.

Vermutete Kompromittierung

Wurde ein Privatschlüssel möglicherweise offengelegt, ist er als kompromittiert zu behandeln. Erstellen Sie auf einem vertrauenswürdigen Gerät eine neue Wallet mit frischer Entropie, prüfen Sie deren Sicherung und übertragen Sie das Guthaben an eine neue Empfangsadresse. Bei komplexen Wallets oder großen Beträgen sollte zuerst festgestellt werden, welche Ausgaben und verwandten Schlüssel betroffen sein könnten; qualifizierte Hilfe darf das Geheimnis nicht erhalten. Verwenden Sie den alten Schlüssel nach der Übertragung nicht erneut und verlassen Sie sich nicht auf das Löschen einer Kopie: Ein Angreifer könnte sie bereits gespeichert haben.

Privatschlüssel, öffentlicher Schlüssel und Adresse

  • Ein Privatschlüssel erzeugt Signaturen und muss geheim bleiben.
  • Ein öffentlicher Schlüssel ermöglicht die Prüfung von Signaturen und kann aus dem Privatschlüssel abgeleitet werden.
  • Eine Bitcoin-Adresse ist eine benutzerfreundliche Kodierung, die sich auf ein bestimmtes Output-Skript bezieht; sie ist nicht bloß ein anderer Name für einen öffentlichen Schlüssel.
  • Ein erweiterter Schlüssel verbindet einen Schlüssel mit einem Chain Code zur deterministischen Ableitung und kann einen ganzen Wallet-Zweig darstellen.
  • Ein Deskriptor beschreibt ein oder mehrere Output-Skripte und deren Schlüsselableitung; er kann nur öffentliche oder auch private Informationen enthalten.

Siehe auch

  • Bitcoin-Adresse
  • Bitcoin-Wallet
  • Brainwallet
  • Cold Storage
  • Mnemonische Phrase
  • Digitale Signatur

Einzelnachweise

  1. 1,0 1,1 1,2 1,3 BIP 32: Hierarchical Deterministic Wallets, „Conventions“ und „Security“, abgerufen am 27. August 2026.
  2. BIP 340: Schnorr Signatures for secp256k1, „Public Key Generation“ und „Default Signing“, abgerufen am 27. August 2026.
  3. BIP 39: Mnemonic code for generating deterministic keys, abgerufen am 27. August 2026.
  4. Bitcoin Core 30.0 RPC: listdescriptors, abgerufen am 27. August 2026.
  5. BIP 38: Passphrase-protected private key, abgerufen am 27. August 2026.