Coldcardのエントロピー不具合、ビットコイン約38百万ドル流出の可能性 影響機種はMk3/Mk4/Mk5/Q

【緊急セキュリティ注意喚起】最新ファームウェアのホットフィックス適用前にColdcard Mk3/Mk4/Mk5/Qでシード(復元用フレーズ)を生成した場合、資産が危険にさらされている恐れがある。直ちに公式情報を確認し、移行手順に従って対応したい。 ■何が起きたのか:オンチェーンで約38百万ドル相当が一括移動 オンチェーン分析アカウントLookonchainによると、約500のウォレットから合計594.48 BTC(38百万ドル超相当)が、bc1qnk…で始まる集約アドレスへ短時間・少数ブロックの範囲で送金された。 流出ウォレットの特徴として、(1)単一署名(シングルシグ)が中心でマルチシグ保護がない、(2)数年休眠していたウォレットが複数含まれる、(3)ほぼ同時に協調して動くパターンで自動スイープを示唆――が挙げられる。 Coinkiteは当該流出がエントロピー不具合に起因すると公式に断定していない。一方、注意喚起の公表時期とスイープの近接、ならびに流出ウォレットの性質から、セキュリティ研究者の間では「低エントロピーなシード生成」が最も整合的な技術的説明として注目されている。 ■技術的背景:ハードウェアRNGが使われずソフトウェアPRNGに依存 Coinkiteの技術説明(blog.coinkite.com/entropytechnicalbackgrounder/)によれば、影響を受けるファームウェアでは、シード生成時に本来利用されるべきハードウェアのTrue Random Number Generator(TRNG)が十分に寄与せず、MicroPythonのソフトウェア擬似乱数生成器(PRNG)に依存する状態が発生していた。 原因はビルド設定とプリプロセッサのチェック不備で、ハードウェアRNG経路の強制が働かず、ユーザーに明確な表示のないままソフトウェア側のフォールバックが使われていたという。 ■実効セキュリティの低下(意図は128ビット) ・Mk3:実効約40ビット(本来128ビット) ・Mk4/Mk5/Q:実効約72ビット(セキュアエレメント由来の改善はあるが本来128ビットに届かず) 40ビットは候補が約1兆通り程度で、日常感覚では巨大でも、十分な資金力と計算資源を持つ攻撃者にとって探索可能になり得る水準とされる。72ビットは大きく改善するものの、総当たりが現実的に不可能となる128ビット標準には達しない。40/72ビットと128ビットの差は小さな誤差ではなく、"実用上破れない"領域から、条件次第で"探索され得る"領域へ近づくことを意味する。 ■影響を受ける機種・ファームウェア 出典:Coinkiteの告知(blog.coinkite.com/coldcardmk3seedgenerationwarning/) ・Mk3(高リスク):ファームウェア4.0.1(2021年3月リリース)〜最終サポート版5.0.3で生成したシードが対象。実効エントロピーは約40ビットとされ、影響範囲で最も深刻。 ・Mk4/Mk5/Q(リスク上昇):最新ホットフィックス以前の任意のファームウェアで生成したシードは実効約72ビットとされ、Mk3より良いが標準を下回る。 ・対象外:TAPSIGNER/OPENDIME/SATSCARDは別コードベースのため今回の問題の影響は受けない。 ・相対的にリスクが低いケース:シード生成時に独立した秘密のサイコロ出目を50回以上追加した場合、または強力で固有のBIP39パスフレーズを併用している場合、リスクは大きく下がるとされる。パスフレーズはデバイス内部エントロピーとは別に処理され、RNG問題があっても防御層になり得る。 ■必須対応:既存シードは"更新"では直らない。新シード作成と移行が必要 Coinkiteは、ファームウェア更新は"既に作成済み"のシードを修復しないと明言する。不足したエントロピーで生成された事実は変えられず、解決策は新しいシードを作り、資産を移すことに限られる。 【移行手順(要点)】 1)既存シードは侵害済みの可能性を前提に扱う 影響機種・影響ファームで生成し、サイコロ50回以上の追加も強いパスフレーズもない場合、脆弱性がある前提で対応する。 2)修正版ファームウェアへ直ちに更新 ・Mk4/Mk5:5.6.0以降 ・Q:1.5.0Q以降 ・Mk3:修正なし(暫定策は後述) 3)更新後に"完全に新規"のシードを生成(既存フレーズの復元はしない) 追加対策として、シード生成時に独立したサイコロ出目を50回以上投入する。さらに強力で固有のBIP39パスフレーズを設定し、シードのバックアップとは別管理にする。 4)新シードとパスフレーズを適切にバックアップ シードフレーズは紙などに記録して厳重保管。パスフレーズを使う場合はシードとは分離して保管し、いずれかを失うと復元不能になる点に留意する。 5)ウォレットの検証 ウォレットのフィンガープリントを確認し、少なくとも1つの受取アドレスを検証して設定が正しいことを確かめる。 6)少額のテスト送金 旧ウォレットから新ウォレットへ少額を送り、着金確認後に本移行へ進む。 7)残高を全額移行し、旧シードは使用停止 移行完了後、旧(脆弱な可能性のある)シードは継続利用しない。 【Mk3の暫定策】 Mk3しか手元になく、直ちにMk4/Mk5/Qへ移れない場合、強力で固有のBIP39パスフレーズを追加して当面の露出を下げる方法が示されている。恒久対応ではないため、影響を受けない環境への移行を早急に計画する必要がある。 ■なぜエントロピーが重要か(非技術的説明) ハードウェアウォレットの安全性は、シード生成に使われる"乱数の質"に左右される。シードはすべてのアドレスの元になるマスターキーで、乱数が不足すると、取り得るシードの候補集合が意図より大幅に小さくなる。128ビット(2^128通り)を前提とする世界と、約2^40または2^72通りに圧縮された世界では、攻撃者が探索できる可能性が根本的に変わる。Coldcardのエアギャップや耐タンパーといった物理的特性が保たれていても、シード自体の土台が弱い場合、それだけで補い切れない。 ■公式情報の確認と注意 必ずCoinkiteの公式チャネルで情報を検証し、非公式の手順、SNS上の"サポート"を名乗るアカウント、第三者の"移行支援"提案には従わないこと。 ■結論 Coldcardのエントロピー不具合は深刻で、入手可能なオンチェーン証拠からは、影響ウォレットから約3,820万ドル相当のビットコインが既に盗難被害に遭った可能性が示唆される。原因は、シード生成でハードウェアRNGではなくソフトウェアPRNGが黙って使われ、Mk3で約40ビット、Mk4/Mk5/Qで約72ビット相当の強度に落ちた点にある。 影響ファームウェア上でシードを作成し、サイコロ追加や強いパスフレーズがない場合、現時点でもリスクがある。必要な対応は明確だ。ファームウェアを更新し、新シードを生成し、資産を移行する。 ■FAQ Q. Coldcardのエントロピー不具合とは? A. シード生成時にハードウェアTRNGではなくソフトウェアPRNGが使われ、意図した128ビットではなくMk3で約40ビット、Mk4/Mk5/Qで約72ビット相当の強度になり得たファームウェア不具合。 Q. 影響を受ける? A. Mk3は4.0.1〜5.0.3で生成したシードが高リスク。Mk4/Mk5/Qは最新ホットフィックス以前で生成したシードが対象。TAPSIGNER/OPENDIME/SATSCARDは対象外。 Q. ファームウェア更新で既存シードは直る? A. 直らない。更新は既存シードの乱数品質を改善できないため、新シードを作り資産を移す必要がある。 Q. 更新先の推奨バージョンは? A. Mk4/Mk5は5.6.0以降、Qは1.5.0Q以降。Mk3は修正がないため、暫定的に強いBIP39パスフレーズを追加しつつ、早期の移行を計画する。