149 / 736AIRGAP

Air-gapped Wallet

Eine Wallet, die abseits des Online-Rechners signiert

Der Computer bereitet die Zahlung vor, ein separates Gerät signiert sie. Was diese Trennung bringt, was QR-Codes übertragen und warum der Blick aufs Display wichtig bleibt.

Eine Air-gapped Wallet signiert Zahlungen auf einem Gerät ohne gewöhnliche Netzwerkverbindung zum Online-Computer oder Smartphone. Die privaten Schlüssel sollen in dieser getrennten Umgebung bleiben; Zahlungsentwürfe und Signaturen werden kontrolliert übertragen, etwa per QR-Code oder Speicherkarte.

Eine Wallet ist eine Anwendung oder ein Gerät zum Empfangen und Senden von Bitcoin. Anna surft mit ihrem Notebook im Internet. Ihre privaten Schlüssel möchte sie dort nicht aufbewahren: Das sind die geheimen Daten, mit denen Signaturen zur Freigabe von Bitcoin-Zahlungen entstehen. Deshalb teilt sie die Arbeit auf. Das Programm auf dem Notebook verfolgt Zahlungen und bereitet neue vor; es heißt Koordinator. Ein separates Gerät prüft den Entwurf und signiert nach Annas Zustimmung; es ist das Signiergerät. Eine Hardware Wallet kann so arbeiten. Air gap beschreibt vor allem die Trennung und den Datentransfer, keine automatische Eigenschaft jeder Hardware Wallet. Auf einem gewöhnlichen Notebook kurz Wi-Fi auszuschalten reicht nicht: Weitere Verbindungen, die Software und eine spätere erneute Verbindung mit noch vorhandenen Geheimnissen zählen ebenfalls. [3] [5]

Anna gibt Empfänger und Betrag im Koordinator ein. Dieser erstellt eine PSBT: ein Datenpaket mit dem Transaktionsentwurf und den Angaben, die zum Signieren benötigt werden. Dazu gehören Angaben zu UTXO, den noch nicht ausgegebenen Ausgängen früherer Zahlungen. Das sind einzelne Beträge, auf die die Eingänge der neuen Transaktion verweisen. Anna überträgt das Paket zum Signiergerät, etwa durch Scannen eines QR-Codes. Das Gerät verarbeitet die unterstützten Angaben und ergänzt nach Prüfung und Freigabe eine Signatur. Das Ergebnis geht zurück zum Notebook. Erst wenn die erforderlichen Signaturbedingungen erfüllt sind, lässt sich die fertige Transaktion zusammensetzen und ins Netzwerk senden. In einem Block bestätigt ist sie damit noch nicht. Ein Block bündelt Transaktionen, die gemeinsam in die öffentliche Transaktionshistorie von Bitcoin aufgenommen werden. Übertragen werden Entwurf und Signatur, nicht der geheime Schlüssel oder das Wallet-Backup. [1] [6]

Nehmen wir einen Eingang von 100000 sat. Sat ist die kleinste Bitcoin-Einheit. Anna möchte 60000 sat versenden, 39000 sat an sich zurückgeben und 1000 sat als Gebühr belassen. Der zurückgehende Betrag erhält einen eigenen Ausgang, den Change Output. Das Signiergerät muss ihn anhand der richtigen Schlüssel und Wallet-Konfiguration prüfen; eine vom Notebook mitgelieferte Kennzeichnung als Wechselgeld reicht nicht. Anna vergleicht außerdem die vollständige Empfängeradresse, den Betrag und die Gebühr auf dem vertrauenswürdigen Gerätedisplay mit ihrer Absicht. Ein infiziertes Notebook kann eine fremde Adresse vorschlagen und dabei fehlerfrei rechnen. Stimmt Anna diesem Entwurf zu, schützt die Trennung der Geräte ihr Geld nicht. [1] [4]

Ein QR-Code stellt Daten als Bild dar; er bestätigt nicht deren Sicherheit. Größere Pakete lassen sich als Bildfolge im Format BBQr oder UR übertragen, das beide Geräte verstehen müssen. Die Software zum Lesen des Bildes und der PSBT kann wie jedes Programm Fehler enthalten. Besonders wichtig ist der Unterschied zwischen einem Transaktions-QR und SeedQR. SeedQR enthält eine Sicherung geheimer Daten und keinen Zahlungsentwurf. Er gehört deshalb nicht vor die Kamera eines Online-Notebooks oder Smartphones. Ob ein Code die isolierte Umgebung verlassen darf, hängt von Inhalt und Zweck ab, nicht von seiner Ähnlichkeit mit anderen kleinen Quadraten. [2] [4]

Ein anderer Weg nutzt MicroSD: Anna speichert die PSBT auf einer Karte, steckt diese ins Signiergerät und bringt das Ergebnis zurück. Dafür braucht sie kein Netzwerkkabel, doch das Gerät liest weiterhin eine fremde Datei. Die Sicherheit hängt vom verarbeitenden Programm sowie vom Controller und Dateisystem ab, die Daten lesen und ordnen. Eine eigene Karte hilft, Ordnung zu halten; harmlose Inhalte garantiert sie nicht. Ebenso genau ist die Stromversorgung zu betrachten. USB kann Strom und Daten übertragen. Soll es nur Strom liefern, darf tatsächlich kein aktiver Datenpfad bestehen. Die Aufschrift „Laden“ allein beweist das nicht. [2] [3]

COLDCARD zählt auch NFC zu seinen Air-gap-Verfahren. NFC ist Kurzstreckenfunk; QR überträgt ein Bild, MicroSD eine Datei auf einem physischen Medium. Diese Wege sind nicht gleichzusetzen. Wer Funkkommunikation ausschließen will, erfüllt diese Anforderung mit eingeschaltetem NFC nicht. Bei einem konkreten Gerät ist es hilfreicher zu klären, welcher Kanal aktiv ist, wann er eingeschaltet wird und welche Daten passieren können, als nur auf das Wort air-gapped zu achten. Eine dauerhafte USB-Datenverbindung hat wiederum eine andere Grenze als der manuelle Transport einer Datei. [2]

Der Koordinator kann als Watch-only-Wallet arbeiten: Er beobachtet die Wallet, kann aber selbst keine Zahlung signieren. Dafür nutzt er einen xpub, einen erweiterten öffentlichen Schlüssel zum Ableiten weiterer öffentlicher Schlüssel, oder einen öffentlichen Descriptor, der Schlüssel und Regeln zur Adresserzeugung beschreibt. Diese Angaben allein erlauben keine Ausgaben, können aber Adressen und Zahlungen einer Wallet zuordnen. Eine PSBT kann ebenfalls öffentliche Schlüssel, deren Ableitungspfade und UTXO-Daten enthalten. Bei Multisig, wo mehrere Schlüssel nach einer festgelegten Regel Ausgaben freigeben, ist die richtige Konfiguration aller Beteiligten für Wiederherstellung und Wechselgeldprüfung wichtig. Die Trennung des Signiergeräts macht das Notebook deshalb weder anonym noch seine Netzwerkanfragen privat. [1] [4]

Anna braucht weiterhin eine sicher aufbewahrte Seed Phrase, das Backup in Wörtern, und alle weiteren von ihrer Wallet benötigten Angaben. SeedSigner lädt Geheimnisse nur vorübergehend; nach dem Ausschalten kann sein Speicher nicht als Backup dienen. Ein air gap ersetzt weder vertrauenswürdige Firmware, also das Programm im Gerät, noch die Prüfung einer Zahlung. Ein Secure Element schützt einen anderen Bereich, indem es bestimmte Angriffe auf den Chip erschwert. Cold Storage bezeichnet das Aufbewahren von Schlüsseln außerhalb einer Online-Umgebung; air gap beschreibt die Arbeit mit getrennter Signaturerstellung. Vor dem Einsatz für größere Ersparnisse lohnt es sich, Transfer, Prüfung und Wiederherstellung mit separaten Testschlüsseln zu üben. Entscheidend ist, jeden Schritt zu verstehen, nicht bloß mehr Geräte auf dem Tisch zu haben. [3] [4]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Hardware Wallet, PSBT, Cold Storage, Seed Phrase, Output Descriptor, Multisig. Auf diesen Eintrag verweisen außerdem Cold Storage, Secure Element, SeedQR, BBQr.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction FormatSpezifikation DOC · 002COLDCARD — Bitcoin Air-Gap Signing MethodsDokumentation DOC · 003SeedSigner — Frequently Asked QuestionsPrimärquelle DOC · 004SeedSigner — Independent Custody GuideDokumentation DOC · 005Bitcoin Developer Guide — WalletsDokumentation DOC · 006Bitcoin Developer Guide — Block ChainDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung