Zum Inhalt springen
buybitcoinsmart

Glossar / Adressen und Schlüssel

Gehärtete Ableitung

Auch bekannt als Hardened derivation.

Was ist Gehärtete Ableitung?
Bei der gehärteten Ableitung fließt der private Schlüssel des übergeordneten Knotens in jede Berechnung der untergeordneten Schlüssel ein, und genau das verhindert, dass ein offengelegter erweiterter öffentlicher Schlüssel den darunterliegenden Zweig auflöst.

Spezifiziert im BIP-32.

Jeder Knoten in einem BIP-32-Baum kann 4.294.967.296 untergeordnete Schlüssel erzeugen, und die obere Hälfte dieses Bereichs verhält sich anders. Indizes ab 2.147.483.648 sind gehärtet, werden mit einem Apostroph oder dem Buchstaben h geschrieben, und kein öffentlicher Schlüssel kann sie ableiten. Diese Einschränkung ist die Funktion, kein Mangel.

So funktioniert es

Die gehärtete und die normale Ableitung unterscheiden sich durch einen einzigen Eingabewert in denselben Hash. Beide führen den Chain-Code eines übergeordneten Schlüssels und einen Index des untergeordneten Schlüssels in HMAC-SHA512 ein. Die normale Ableitung ergänzt den öffentlichen Schlüssel des übergeordneten Knotens, den jeder besitzt, der den erweiterten öffentlichen Schlüssel hat. Die gehärtete Ableitung ergänzt stattdessen den privaten Schlüssel des übergeordneten Knotens, mit vorangestelltem Null-Byte, sodass die Berechnung ohne das Geheimnis nicht durchgeführt werden kann.

Der Grund ist eine konkrete Schwäche, die BIP-32 in seinen Sicherheitshinweisen ausführt: Kenntnis eines erweiterten öffentlichen Schlüssels eines übergeordneten Knotens plus irgendeines nicht gehärteten privaten Schlüssels, der von ihm abstammt, ist gleichbedeutend mit der Kenntnis des erweiterten privaten Schlüssels des übergeordneten Knotens und damit jedes Schlüssels unterhalb dieses Punktes. Die dahinterstehende Arithmetik ist einfach. Ein normaler privater Schlüssel eines untergeordneten Knotens entspricht dem Schlüssel des übergeordneten Knotens plus einem aus öffentlichen Informationen berechneten Wert, sodass die Subtraktion dieses Wertes den Schlüssel des übergeordneten Knotens zurückliefert.

Gehärtete Indizes schließen diesen Weg. Für sie gibt es keine öffentliche Ableitungsfunktion, sodass ein erweiterter öffentlicher Schlüssel an der Grenze endet. Ein offengelegter xpub für ein Konto gibt dessen Historie preis und nichts darüber oder daneben.

Wo sie auftritt

Die Härtung zeigt sich als Apostrophe in einem Ableitungspfad, und wo sie liegen, ist eine bewusste Designentscheidung.

Der standardmäßige Pfad für natives SegWit lautet m/84'/0'/0'/0/0. Die ersten drei Ebenen, Zweck, Coin-Typ und Konto, sind gehärtet. Die letzten beiden, Chain und Adressindex, sind es nicht. Genau diese Aufteilung macht eine Watch-Only-Wallet praktikabel: Ein erweiterter öffentlicher Schlüssel eines Kontos kann alle Empfangsadressen und Wechselgeldadressen darunter erzeugen, während ein Angreifer, der denselben xpub erhält, weder zum Hauptschlüssel aufsteigen noch seitlich nach m/84'/0'/1' wechseln kann.

Die Schreibweise variiert, ohne etwas zu ändern. BIP-32 schreibt 0', viele Programme akzeptieren 0h, und Bitcoin Core schreibt h in den von ihm exportierten Deskriptoren, weil ein Apostroph innerhalb von JSON maskiert werden muss. Ein aus Sparrow in Core kopierter Pfad kommt in der h-Form zurück, was beim ersten Mal für Verunsicherung sorgt und rein kosmetisch ist.

Die praktische Regel ist kurz. Härten Sie jede Ebene bis zum Konto, lassen Sie die beiden Ebenen darunter ungehärtet, damit Watch-Only-Programme weiter funktionieren, und behandeln Sie jede Software, die den Export eines einzelnen nicht gehärteten privaten Schlüssels eines untergeordneten Knotens anbietet, als Gefahr statt als Annehmlichkeit, denn dieser Export ist zusammen mit Ihrem xpub der ganze Zweig.

Gehärtete Ableitung vs. Passphrase

Die gehärtete Ableitung ist automatisch; eine BIP-39-Passphrase ist ein Geheimnis, das Sie wählen. Sie werden als Möglichkeiten zusammengefasst, eine Wallet zu härten, und behandeln unabhängige Probleme. Die Härtung schützt einen Baum vor einem erweiterten öffentlichen Schlüssel, der abhandengekommen ist, und jede Standard-Wallet wendet sie bereits an, ohne Sie zu fragen. Eine Passphrase ist ein zusätzlicher Eingabewert, der in den Seed eingemischt wird, bevor der Baum überhaupt aufgebaut wird, und erzeugt aus denselben zwölf oder vierundzwanzig Wörtern eine völlig separate Wallet. Vergessen Sie die Passphrase, sind die Bitcoin unerreichbar, weil sie nirgendwo festgehalten wird. Vergessen Sie die Härtung, passiert nichts, weil nie Sie darüber entschieden haben.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Was bedeutet der Apostroph in m/84'/0'/0'?

Er kennzeichnet eine gehärtete Ebene, das heißt, der Index ist 2.147.483.648 oder höher und der untergeordnete Schlüssel lässt sich nur mit dem privaten Schlüssel des übergeordneten Knotens ableiten. Manche Programme schreiben stattdessen h, und Bitcoin Core verwendet h in Deskriptoren, weil JSON den Apostroph maskieren müsste.

Muss ich die gehärtete Ableitung selbst konfigurieren?

Nein. Jede Wallet, die BIP-44, BIP-49, BIP-84 oder BIP-86 folgt, härtet die Ebenen Zweck, Coin-Typ und Konto automatisch und lässt die beiden Ebenen darunter ungehärtet, damit Watch-Only-Wallets weiter funktionieren.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Adressen und Schlüssel

Diese Seite auf Englisch lesen