Coldcardエントロピーバグ:ハードウェアウォレットの脆弱性はビットコインのセルフカストディを脅かすのか?
重要ポイント
- •攻撃者はColdcardのファームウェア脆弱性を悪用し、組織的な攻撃を通じて少なくとも1億ドル相当の1,596ビットコイン以上を盗み出した。
- •このバグにより、ウォレットのシード生成がより弱い疑似乱数生成器にフォールバックし、プライベートキーが攻撃者にとって予測可能かつ再現可能となっていた。
- •ユーザーがサイコロ振りなどの手動方法でエントロピーを生成したColdcardデバイスは、この特定の脆弱性の影響を受けなかった。
- •この欠陥は5年間以上検出されず、侵害された出力が標準的な乱数性テストをパスし得るため、弱い乱数生成の特定がいかに困難であるかを浮き彫りにした。
- •セキュリティ専門家や業界リーダーは現在、より強固な保証基準、エントロピー源の独立した検証、そしてビットコインカストディにおける単一障害点を排除するためのマルチシグ構成の導入を提唱している。

Coldcardのエントロピーバグは、暗号通貨のセキュリティに対する信頼にさらなる打撃を与え、市場で最も確立されたハードウェアウォレットの1つに重大な欠陥を明らかにした。このデバイスは、エアギャップ設計とオープンソースファームウェアにより、ビットコインのセルフカストディ提唱者たちに長く愛用されてきた。
この脆弱性は、Coldcardの製造元であるCoinkiteによって7月31日に開示され、複数のColdcardデバイスに影響を及ぼす。Galaxy Digitalの研究者によると、攻撃者はこの欠陥を悪用し、一連の組織的な攻撃を通じて1,596ビットコイン以上(少なくとも1億ドル相当)を盗み出した。
この事件により、ハードウェアウォレットの製造元は、ほとんどのユーザーが意識することのないプロセス、すなわちデバイスがビットコインを保護するプライベートキーをどのように生成するかについて公に説明せざるを得なくなった。このような精査が行われるのは、セルフカストディの重要性が一層高まっている時期であり、2022年のFTXのような有名取引所の崩壊によって、多くのユーザーが第三者プラットフォームに秘密鍵を委ねるのではなく、自ら直接管理するよう加速された背景がある。
ビットコインカストディ企業Onramp Bitcoinのプロダクト責任者であるMichael Tangumaは、Cointelegraph Magazineに対して次のように述べた。
「モデル全体は、ベンダーが正しく実装したという信頼の上に成り立っています[…]ハードウェア、ファームウェア、そしてデバイスの基盤となるエントロピー生成を監査できる個人はほぼいません。」
Coinkiteはファームウェアのパッチを発行し、影響を受けるユーザーに資金の移行を指示した。それでもなお、この侵害はビットコイン保有者に深い動揺を与え、切実な疑問を投げかけた。Coldcardウォレットが侵害されるのであれば、すべてのハードウェアウォレットに潜在的な脆弱性があるのではないか?
基盤に潜む欠陥:乱数性
Coldcardの脆弱性は、ビットコインのプロトコルを攻撃したわけでも、現代の暗号技術を破ったわけでもない。それよりもはるかに根本的なものを標的にした。乱数性である。
すべてのビットコインウォレットは、ランダムなデータのプールからシードフレーズを生成することから始まる。そのランダム性は、結果として生成されるプライベートキーを事実上推測不可能にするのに十分な予測困難性を持たなければならない。エントロピーとは、その予測困難性の度合いを指す。
何らかの理由でランダム性が弱まると、攻撃者は可能なキーの数を絞り込み、最終的にはキーを再現できるようになる。
Coinkiteは7月31日に、影響を受けるファームウェアで作成されたウォレットは危険とみなされるべきだとユーザーに初めて警告し、新しく生成したウォレットへ資金を移動するよう顧客に勧告した。その後数日間にわたり研究者がバグを調査する中で、このような重大な欠陥が5年間以上も検出されなかった経緯に対する疑問が高まった。
Core Lightningの開発者であるDustin Dettmerは、このバグが2021年のファームウェア変更時に発生した可能性を示唆した。彼は、ハードウェア乱数生成器とのインターフェースを意図したコードが誤ってそれを無効化し、ウォレット作成がMicroPythonのより弱いYasmarang疑似乱数生成器にフォールバックする原因になったと考えている。
この理論は、バグが本番ファームウェアにどのように混入したかについての最も有力な説明の一つとなっているが、Coinkiteはこの正確な経緯を確認しておらず、完全な技術的事後分析を「間もなく」公開すると述べている。
Coinkiteの広報担当者はCointelegraph Magazineに対して次のように述べた。
「特定のファームウェアバージョンには、シード生成におけるフォールバックパスが存在し、デバイスのファームウェア自体で生成された場合に弱いエントロピーを生成する可能性がありました。」
ユーザーがサイコロ振りなどの手動方法で自身のエントロピーを生成したデバイスは、「この特定のフォールバックパスの影響を受けていない」と同広報担当者は付け加えた。
弱い乱数生成(RNG)は前例のないものではないが、他の多くのセキュリティ欠陥とは異なり、検出が極めて困難である。ビットコインのセキュリティ専門家であるJameson Loppは、RNGの脆弱性が過去にBlockchain.comのAndroidウォレットからTrust Walletに至るまで、数多くの暗号通貨ウォレットやライブラリに影響を与えてきたと指摘した。
LedgerのプロダクトセキュリティディレクターであるVincent BouzonはCointelegraph Magazineに対し、「弱い乱数性は出力テストをパスする」と述べた。これは、侵害された乱数生成器がランダムに見える値を依然として生成できることを意味し、欠陥の特定を極めて困難にしている。
ウォレットごとに異なる乱数へのアプローチ
ハードウェアウォレットの製造元は、セキュアなエントロピー生成が不可欠である点で一致しているが、その実現には著しく異なる戦略を採用している。
Ledgerの理念は専用のセキュリティハードウェアを中心としている。Bouzonは、Ledgerデバイスが認証済みのSecure Elementに組み込まれた真の乱数生成器を使用してシードを生成すると説明した。エントロピー源はAIS-31 PTG.2基準で認証されており、Secure ElementはCommon Criteria認証を受けている。彼は次のように述べた。
「今回のColdcardの事件は、1つの特定の実装における失敗であり、セキュアなセルフカストディに対する判断ではありません[…]エントロピーの生成はセキュアなハードウェアに基づいている必要があり、信頼されていないソフトウェアベースのソースに気付かれずにダウングレードすることのないアーキテクチャでなければなりません。」
Trezorは異なるアプローチをとり、単一のエントロピー源に依存するのではなく、デバイス内部で生成された乱数とホストコンピュータから供給された乱数を組み合わせている。新しいTrezorモデルは追加のハードウェアエントロピー源も組み込んでいる。同社はウォレット作成時にデバイスが実際に予測不可能な乱数を寄与したことを確認するためのエントロピーチェックを実施している。
Trezorの最高技術責任者であるTomáš SušánkaはCointelegraph Magazineに対して次のように述べた。
「業界全体にとっての教訓は、乱数性が単一のソースや単一のコード行が正しいことに依存してはならないということです。」
FoundationのPassportウォレットも同様に複数のエントロピー源に依存しながら、透明性を強く重視している。最高経営責任者のZach Herbertは、Passportがウォレットを作成する前に別々のハードウェアコンポーネントで生成された乱数を組み合わせると述べた。ファームウェアは再現可能なビルドを備えたフリーおよびオープンソースソフトウェアとして公開されており、独立した研究者がデバイス上で実行されているソフトウェアが公開されたコードと一致することを検証できる。
Herbertは次のように述べた。
「バグ自体はColdcardに特有のものでした[...]より大きな警告は、人々が人生を変えるほどの金額をこのプロダクトに信頼して預けていた中で、これが5年間以上も気づかれなかったということです。」
信頼、透明性、そして検証
Ledger、Trezor、Foundationの間の分断は、乱数性の重要性に関するものではなく、ユーザーがエントロピー生成が正しく機能していることをどのように確信できるかという点にある。
Ledgerは、独立した認証が最も強力な保証を提供すると主張している。Foundationは、オープンソース開発、再現可能なビルド、そして外部研究者との積極的な協力に依存している。Trezorは、オープンファームウェアと階層化されたエントロピー源を組み合わせ、いかなる単一コンポーネントへの依存も回避している。
Coinkiteのセキュリティ開示に対するアプローチも批判を招いている。複数のビットコイン開発者が、過去の脆弱性報告に対する同社の対応や、従来型のバグバウンティプログラムの不在について批判している。
Herbertは、オープンソース開発や独立した監査と並んで、外部の研究者を歓迎すること自体がセキュアなプロダクト構築の不可欠な一部であると主張した。
Krakenの最高セキュリティ責任者であり、Uptakeの元最高セキュリティ責任者であるNick Percocoは、Coldcardの事件を、製造元がどの設計理念を採用するかにかかわらず、業界がより強固な基準を導入するための契機と見なしている。
「Coldcardのエントロピー障害は、ハードウェアウォレット業界全体にとっての警鐘となるべきです」と彼は述べ、既存の認証スキームは、本番ファームウェアが実際にそれらを正しく使用していることを確認せずに、個々のコンポーネントのみを検証することが多いと指摘した。
Percocoは、エントロピー源の独立した検証、ファームウェアが意図されたハードウェア乱数生成器を呼び出していることの検証、および特定のハードウェアとファームウェアのバージョンに紐づいた認証を要求する、業界固有の保証基準を提案した。
この議論は技術的な実装の枠を超えて広がっている。Herbertのような意見は、オープンソース開発がセキュリティ文化をも形作ると主張し、バグバウンティプログラムや独立した研究者との建設的なエンゲージメントを、セキュアなプロダクト開発の不可欠な要素として挙げている。
ビットコイン保有者は今どうすべきか?
Coldcardユーザーにとって、最優先事項は、自身のウォレットが影響を受けるファームウェアを使用して作成されたと思われる場合、Coinkiteの移行ガイダンスに従うことである。
長期的には、Tangumaのような専門家は、ビットコイン保有者がこの出来事を学習の機会として捉えることを強調している。特に、単一の障害が資金を危険にさらす可能性のあるアーキテクチャ設計を避ける必要性について。
「現実的に言えば、今日必要なのはマルチシグと独立して生成されたエントロピーです[…]実際にスケールする緩和策はアーキテクチャ的なものです。単一のデバイス、ベンダー、または機関が間違えても資金が失われることのないセットアップです」と彼は述べた。マルチシグネチャ、すなわちマルチシグとは、ビットコイントランザクションを承認するために別々のデバイスまたは当事者からの複数の独立した承認を必要とする構成であり、単一障害点で資金のロックを解除できないようにするものである。
現時点では、答えは「いいえ」のようである。すべてのハードウェアウォレットが脆弱というわけではない。Coldcardの事件は、1つの特定の実装における失敗を明らかにしたが、同時にセルフカストディの核心にあるプロセス、すなわち他のだれも予測できない秘密を生成することについて、製造元にベールを剥がさせることにもなった。