149 / 736AIRGAP

Air-gapped Wallet

オンラインのパソコンから離して署名するウォレット

パソコンが支払いを準備し、別の装置が署名します。この分担で守れること、QR コードが運ぶもの、画面確認が欠かせない理由を説明します。

Air-gapped Wallet は、オンラインのパソコンやスマートフォンと通常のネットワーク接続を持たない別の装置で支払いに署名する構成です。秘密鍵はその環境に残し、支払い案や署名を QR コードやメモリーカードなどの管理された経路で受け渡します。

ウォレットは、ビットコインを受け取ったり送ったりするためのアプリや機器です。アンナは日頃、ノートパソコンでインターネットを使っています。そこに秘密鍵まで置きたくはありません。秘密鍵とは、bitcoin を使う権限を示す署名を作るための秘密情報です。そこで作業を分担します。パソコン上で入出金を調べ、新しい支払いを準備するソフトがコーディネーターです。別の装置が支払い案を確認し、アンナの承認後に署名します。こちらが署名装置です。Hardware Wallet、つまりハードウェアウォレットもこのように使えます。Air gap は主に分離とデータ転送の方法を表し、すべてのハードウェアウォレットに自動的に備わる性質ではありません。普通のパソコンで一時的に Wi-Fi を切るだけでは不十分です。他の接続、ソフトウェア、秘密情報を残したまま後で再接続するかどうかも関係します。 [3] [5]

アンナはコーディネーターに宛先と金額を入力します。ソフトは PSBT、取引案と署名に必要な情報をまとめたデータを作ります。そこには UTXO、つまり過去の支払いで受け取り、まだ使っていない出力の情報も入ります。出力は個別の金額を表し、新しい取引の入力はその出力を参照します。アンナは QR コードを読み取るなどしてデータを署名装置へ渡します。装置は対応する情報を処理し、確認と承認の後に署名を加え、結果をパソコンへ返します。必要な署名条件が満たされて初めて、完成した取引を組み立ててネットワークに送れます。その時点ではまだブロックで承認されたわけではありません。ブロックは、Bitcoinの公開取引履歴にまとめて記録される取引の集まりです。往復するのは取引案と署名であり、秘密鍵やバックアップではありません。 [1] [6]

入力が 100000 sat だとします。Sat は bitcoin の最小単位です。アンナは 60000 sat を送り、39000 sat を自分に戻し、1000 sat を手数料にするつもりです。戻る分には Change Output という独立したお釣りの出力があります。署名装置は、正しい鍵とウォレット設定に照らしてそれを検証する必要があります。パソコンが付けた「お釣り」という表示だけでは足りません。アンナも、信頼できる装置の画面で宛先アドレス全体、金額、手数料を意図した支払いと照合します。感染したパソコンは計算を正しく保ったまま、他人のアドレスを提案できます。それを承認してしまえば、装置を分離していても資金は守れません。 [1] [4]

QR コードはデータを画像で表す方法であり、安全性の証明ではありません。大きなデータは BBQr や UR 形式の連続画像として送れますが、双方がその形式に対応している必要があります。画像や PSBT を読むソフトにも、他のプログラムと同様に不具合はあり得ます。特に区別したいのが取引の QR と SeedQR です。SeedQR は秘密情報のバックアップを含み、支払い案ではありません。オンラインのパソコンやスマートフォンのカメラで読み取ってはいけません。隔離環境から出してよいかは、他の四角い模様との見た目の類似ではなく、内容と用途で決まります。 [2] [4]

別の方法では MicroSD を使います。アンナが PSBT をカードに保存して署名装置に挿し、結果を持ち帰ります。ネットワークケーブルは不要ですが、装置が外部のファイルを読む点は変わりません。安全性は処理ソフトだけでなく、データの読み取りや整理を担当するコントローラーとファイルシステムにも依存します。専用カードはファイルの混在を減らせますが、無害な内容を保証しません。電源も具体的に確認する必要があります。USB は電力とデータを運べるため、電源専用なら実際に有効なデータ経路がないことが必要です。「充電」という表示だけでは証明になりません。 [2] [3]

COLDCARD は NFC も air gap の転送方式に含めています。NFC は近距離無線です。一方、QR は画像を、MicroSD は物理媒体上のファイルを運びます。同じ通信経路として扱うのは正確ではありません。無線を使わないことが条件なら、有効な NFC はその条件を満たしません。個々の装置について、どの経路が有効で、いつ起動し、何を通せるのかを調べる方が、air-gapped という言葉だけに頼るより役立ちます。常時接続の USB データ通信も、手でファイルを運ぶ場合とは境界が異なります。 [2]

コーディネーターは watch-only、つまりウォレットを観察するだけで自分では署名できない構成にできます。使えるのは、他の公開鍵を導出する拡張公開鍵 xpub や、アドレスを作る鍵と規則を記述した公開 Descriptor です。これらだけで資金を使うことはできませんが、アドレスや支払いを同じウォレットに結び付けられる場合があります。PSBT も公開鍵、導出パス、UTXO 情報を含み得ます。Multisig は、決められた規則に従って複数の鍵で支出を承認する方式です。全参加者の正しい設定は復元にもお釣りの検証にも重要です。署名装置の隔離だけではパソコンは匿名にならず、ネットワークへの照会も非公開にはなりません。 [1] [4]

アンナには、安全に保管した Seed Phrase、単語で表すバックアップと、ウォレットが要求するその他の情報が必要です。SeedSigner は秘密情報を一時的に読み込むため、電源を切った後、そのメモリーをバックアップとして頼ることはできません。Air gap は、装置内部のプログラムである信頼できるファームウェアや、支払いの確認にも代わりません。Secure Element は別の面を守り、チップ自体への特定の攻撃を難しくします。Cold Storage はオンライン環境から離して鍵を保管することを指し、air gap は署名を分離した運用を表します。大切な貯蓄を預ける前に、別のテスト鍵で転送、確認、復元を練習するとよいでしょう。目的は机に装置を増やすことではなく、各手順を理解することです。 [3] [4]

理解を深めるには、この項目とあわせて次もお読みください Hardware Wallet, PSBT, Cold Storage, Seed Phrase, Output Descriptor, Multisig. 次の項目からも参照されています Cold Storage, Secure Element, SeedQR, BBQr.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction Format仕様 DOC · 002COLDCARD — Bitcoin Air-Gap Signing Methods文書 DOC · 003SeedSigner — Frequently Asked Questions一次資料 DOC · 004SeedSigner — Independent Custody Guide文書 DOC · 005Bitcoin Developer Guide — Wallets文書 DOC · 006Bitcoin Developer Guide — Block Chain文書
改訂日: 一次資料を優先 · 投資助言ではありません