USB接続が作る攻撃面|ColdcardのmicroSD署名で秘密鍵を守る
ハードウォレットを持っていれば、ビットコインは安全だと思っていませんか。
それは半分正しく、半分は危うい認識です。ハードウォレットは確かに秘密鍵をデバイス内に閉じ込めます。しかし多くのハードウォレットはUSBケーブルでPCに繋いで使います。その瞬間、攻撃者にとっての入口が開きます。
PCは常に「汚染されている可能性がある」
現代のPCには、インストールしたソフト、ブラウザの拡張機能、ダウンロードしたファイル——無数のコードが動いています。そのどれかにマルウェアが潜んでいたとして、あなたはそれを知る方法がありません。
PCのセキュリティを完璧に保つことは、現実的にほぼ不可能です。ウイルス対策ソフトは既知の脅威にしか対応できず、ゼロデイ脆弱性を突いた攻撃や正規ソフトに偽装したマルウェアは日々新たに登場しています。
ここで考えてほしいのは「攻撃面(アタックサーフェス)」という概念です。セキュリティの世界では、攻撃者が侵入できる可能性のある接点の総数を攻撃面と呼びます。ハードウォレットをUSBでPCに繋ぐということは、そのPCのすべての脆弱性をビットコイン管理の攻撃面に加えるということです。
USB経由で何が起きるか
PCにマルウェアが潜んでいる場合、USB接続を通じてできることは想像より多いです。送金先アドレスの書き換え、表示される残高の改ざん、ハードウォレットのソフトウェアを騙した不正な署名要求——これらは実際に確認されている攻撃手法です。
ハードウォレット本体に秘密鍵が保存されていても、PCが汚染されていれば「正しい取引内容」を正しく表示させること自体が難しくなります。2024年2月に発生した大規模なマルチシグ署名事件では、署名者の画面に表示された内容と実際に署名されたトランザクションの内容が異なっていたとされています。秘密鍵が外に出なくても、接続されたPCが侵害されていれば署名プロセス自体を騙せるのです。
PSBTとmicroSD——接続をゼロにする設計
こうした問題への答えがエアギャップ署名です。そしてその実装として最も徹底しているのが、ColdcardのmicroSDを使った署名フローです。
Coldcardが扱うのは「PSBT(Partially Signed Bitcoin Transaction)」というフォーマットです。これはBIP-174で定義された、署名前のトランザクションを運ぶためのデータ形式です。PSBTには送金先アドレス・金額・署名に必要な情報が含まれていますが、秘密鍵は一切含まれていません。
操作の流れはこうなります。まずウォレットソフト(Sparrow WalletやSpecterなど)がオンラインのPCで未署名のPSBTファイルを生成し、そのファイルをmicroSDカードにコピーします。ここでPCの作業は一旦終わりです。
次にそのmicroSDをColdcardに挿入します。Coldcardはオフラインのまま、PSBTの内容を読み込んで画面に表示します。送金先アドレスと金額を確認したうえでデバイス上のボタンで承認すると、署名済みのPSBTファイルがmicroSDに書き出されます。
最後にmicroSDをPCに戻し、ウォレットソフトが署名済みPSBTをビットコインネットワークにブロードキャストして完了です。この一連のプロセスの中で、ColdcardがPCと繋がる瞬間は一度もありません。
「秘密鍵がネットに触れる瞬間」を設計から消す
ほとんどのセキュリティ対策は「リスクを減らす」方向に働きます。しかしColdcardのPSBT署名は「リスクが生じる経路そのものを設計から消す」アプローチです。
攻撃面がゼロになるわけではありません。microSDを抜き差しするプロセスや、PSBTファイルの生成に使うPCは依然として攻撃対象になり得ます。しかし「秘密鍵がインターネットに接続したデバイスと同じ回路上に乗る瞬間」は存在しません。これは他のハードウォレットとは根本的に異なる安全性の質です。
一般的なハードウォレットはUSB接続時、PCとシリアル通信を行います。ファームウェアの脆弱性、USB通信の傍受、PCのマルウェアによる操作要求——これらすべてが潜在的な攻撃ベクターになります。PSBTとmicroSDによる署名はそれらをすべて排除します。
自分のビットコインを守る設計を選ぶ
「自分のビットコインを自分で守る」というセルフカストディの本質は、単にウォレットを持つことではありません。秘密鍵がどの経路を通るかを把握し、その経路を可能な限り狭める設計を選ぶことです。
ハードウォレットを持っている方は、一度立ち止まって考えてみてください。署名するたびにUSBでPCに繋いでいませんか。そのPCは本当に信頼できる状態ですか。
microSDカードという小さなメディアが、秘密鍵とインターネットの間に置く「物理的な壁」になります。Coldcardを使っているなら、まずPSBT署名のフローを試してみることをお勧めします。
※本記事は一般的な情報提供を目的としており、投資助言ではありません。
この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。
LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします