source avatarJoseph Hurtado - Founder Granata Consulting

共有

THE COLDCARD BITCOIN HARDWARE WALLET SECURITY DEBACLE, WHAT REALLY HAPPENED? @COLDCARDwalletで実際に何が起きたのかを、最高のAIレポート—Claude Opus 5 Max—が解説。確認は必要だが、非常に可能性が高い。つまり、TrezorとLedgerは安全である可能性が高い: 「Coldcardの失敗は、TRNGチップの破損では**なかった**。ハードウェアTRNGを完全に無視するビルド設定バグだった。 Coldcardのボード設定では、Coinkiteが独自のハードウェア-RNGラッパーを提供しているため、`MICROPY_HW_ENABLE_RNG`がゼロに設定されている。しかし、libnguライブラリはそのマクロが*定義されているか*のみをチェックし、*有効化されているか*は確認しなかったため、ビルドは成功し、MicroPythonのソフトウェアフォールバック(非暗号的「Yasmarang」ジェネレータ)に静かにバインドされた。このジェネレータは、チップのUID、SysTick、RTCレジスタからシードされた。¹ これらの値はすべて秘密ではない:UIDはファクトリメタデータであり、USBシリアル番号として一部公開されており、タイマー値は制御可能である。¹ 世代ごとの影響:¹ - **ファームウェアv4.0.0–v4.1.9のMk2/Mk3** — 暗号的エントロピーがまったくない。UID、タイマー状態、コール履歴がわかれば、シード生成は*決定論的*になる。冷起動時の実用的な候補数は2^256ではなく、約2^16から2^40程度。 - **Mk4/Q/Mk5** — 起動時にセキュアエレメントのエントロピーを追加するが、それをハッシュして4バイトのみ保持し、`reseed()`は32ビット状態ワードの1つのみ上書きする。候補数の上限:2^32、平均して約2^31回の試行。 この事例を学ぶ上で重要な点が2つある。libnguはフォールバックと、公開された定数から初期化された*2つ目の*YasmarangストリームとXORするが、2つの再現可能な入力のXORも再現可能である。¹ また、ヘルスチェックは隣接する出力が同一である場合のみ拒否したが、決定論的PRNGはこれを簡単に通過する。¹ 結果にSHA256dを適用しても意味がない:ハッシュ化では候補集合を拡大できない。¹ 約594 BTC(約3800万ドル)が25分間で約500のシングルシグウォレットから引き出され、3ブロックにまたがる1,324のUTXOが対象となった。³ Coinkite自身の警告では、Mk3ファームウェア4.0.1から5.0.3が影響を受け、Mk4/Q/Mk5は初期分析では影響なしとされているが、² Blockの独立したレポートはこの点に異議を唱え、現在のモデルも2^32の上限にあるとしている。¹ 両方を暫定的なものとみなすべきだ。 人々を驚かせる2つの事実:脆弱性は**シードが作成されたときのファームウェア**に依存し、購入日や現在のファームウェアではない—アップグレードしても既存のシードは修復されない。¹ また、弱いシードを別のウォレットにエクスポートしても解決しない。¹ ## 主要ウォレットのエントロピー生成方法 **Ledger** — シングルソースだが、高度に認証されたもの。TRNGはセキュアエレメント内にあり、エントロピーはそこで生成されBIP39単語にマッピングされる。⁵ Ledgerのセキュリティラボによると、SE TRNGはEAL5+およびAIS-31で検証されたフリーオシレータ設計であり、温度・電圧・周波数の範囲でテストされ、欠陥検出機能が組み込まれている。⁴ Nano XはEAL5+、Nano S PlusとStaxはEAL6+部品を使用している。⁶ トレードオフは正直である:認証は得られるが、検証性は得られない—OSはクローズドソースであり、ホストエントロピーの混合も独立して確認できない。 **Trezor** — 設計上マルチソースであり、これはColdcardの失敗モードに対するアーキテクチャ的解決策である。Model OneとModel TはホストOSエントロピーとSTM32ハードウェアTRNGをXORする。Safe 3とSafe 5には3つ目のソースとしてOptigaセキュアエレメントを追加。Safe 7には4つ目のソースとしてTROPIC01チップを追加。⁷ 理由は攻撃者がすべてのソースを同時に攻撃する必要があるためである。⁷ 重要なのは検証可能であること:`trezorctl`を使えばホストが送信したエントロピーを確認でき、デバイスに内部エントロピーを表示させ、自分でシードを再構築して一致するか検証できる。⁸ Trezor Suite 25.2.2(2025年2月)ではこれを「エントロピーチェック」として自動化し、ファームウェアの`ResetDevice`ワークフローにも組み込まれている。⁹ ¹⁰ **BitBox02** — 5つのソース:製造時のランダム性、デバイスパスワード、ホストコンピュータ、マイクロコントローラー、セキュアチップ。これらはすべてエントロピーを追加するのみで、決して減らさないよう結合されている。¹¹ ファームウェアはオープンソースで、WalletScrutinyによって独立して再現可能なビルドが検証されている。¹² ## ハッキングに対してどれほど安全か? 正直な答えは、TRNGシリコン自体が攻撃されるケースはほぼないということだ。これまでの大規模な現実世界のエントロピー失敗はすべてソフトウェアの*統合*失敗だった: - 2013年のAndroidの`SecureRandom`バグでウォレットが空になった⁴ - Milksad(2023年)— Libbitcoin Explorerが32ビット時計値からシードされたMersenne Twisterを使用;約2,600ウォレットが侵害され、約90万ドルが確認された⁷ - Coldcard(2026年)— `#ifndef`であるべきところが`#if`だった¹ 認証済みSE TRNGを攻撃するには物理的所持と実験室機器および専門スキルが必要である。エントロピー脆弱性を悪用するにはxpubまたはアドレスが必要だが、これらは公開されており無料の検証オラクルとして機能し、攻撃者がオフラインで大規模に候補シードをテストできる。¹ この非対称性こそが、ここではアーキテクチャが認証よりも優れている理由である。 したがって実用的な順位: 1. **マルチソース混合** — 独立したコンポーネントがそれぞれ寄与する。1つの欠陥のあるソースでもシード全体を崩壊させられない。 2. **検証可能性** — オープンソースで再現可能なビルドであり、*あなた自身*が提供したエントロピーが実際に使用されたことを確認できる手段があること。TrezorのエントロピーチェックとBitBoxの再現可能なビルドが具体的な例である。 3. **認証** — 物理攻撃に対して実際の価値(EAL5+/6+、AIS-31)を持つが、それはコンポーネントを認証するだけであり、それを呼び出すファームウェアまでは認証しない。ColdcardのMk4にはセキュアエレメントがあったが、ファームウェアはその32バイト中28バイトを破棄した。¹ ## RNGへの信頼を完全に排除したい場合ダイス。各D6のロールは2.585ビットのエントロピーを提供するため、50回のロールで128ビットのセキュリティ、99回のロールで256ビットのセキュリティが得られます。¹³ Coldcardの専用ダイスパスは、ロールのシーケンスをSHA256で直接ハッシュし、デバイスのランダム数生成器を完全にバイパスします²。¹³ — これは、通常の新規ウォレット作成フローではなく、`既存のものをインポート > ダイスロール`経由でのみ機能します。² BitBox02も同様の手順を公開しています。¹¹ ロールの画像を撮影したり、ネットワーク接続されたコンピューターに手動で入力したりしないでください。² 強力なBIP39パスフレーズはもう一つの対策です:これはデバイスのRNG外部にエントロピーを追加するため、Coinkiteはパスフレーズで保護されたMk3ウォレットはリスクが最小限であると述べています。² これは移行の代わりではなく、真の対策です。 影響を受けたColdcardでシードを生成した場合、CoinkiteとBlockの両方は資金を移動することを推奨しています。また、脆弱なデバイスのみで構成されたマルチシグクォーラムは保護を提供しません。¹ ² --- **参照情報** 1. Block Engineering — *Predictable RNG Fallback and 32-Bit Reseed in COLDCARD Firmware* — https://t.co/YrOOIe9vZq 2. Coinkite Blog — *Mk3 Security Advisory* — https://t.co/ZSVtMGe7wr 3. CoinDesk — *Major bitcoin wallet flaw drains 594 BTC in 25-minute sweep* — https://t.co/IoK6xqEUOi 4. Ledger Donjon — *Threat Model: Random Number Generation* — https://t.co/L3pZxe9McO 5. Ledger Academy — *What Is The Entropy in Crypto?* — https://t.co/WckSL8rTFM 6. Ledger Academy — *The Secure Element Chip* — https://t.co/0e1bv1VnBr 7. Trezor Knowledge Base — *What is entropy and how does Trezor generate your wallet?* — https://t.co/BNQ0E9trcK 8. Trezor Forum — *Entropy Check on Trezor Model One* — https://t.co/y1sTJpp10u 9. Trezor — *Trezor Suite update February 2025* — https://t.co/HV77m2i5uk 10. Trezor Firmware — *core/CHANGELOG.md* — https://t.co/Zllvf7bw5F 11. BitBox Support Hub — *Can I create a wallet with my own entropy?* — https://t.co/TnGyVIDb2J 12. BitBox — *Security on every level* — https://t.co/Gon18TlnkH 13. COLDCARD Documentation — *Verifying Dice Roll Math* — https://t.co/hATD4o7yI4

免責事項: 本ページの情報はサードパーティからのものであり、必ずしもKuCoinの見解や意見を反映しているわけではありません。この内容は一般的な情報提供のみを目的として提供されており、いかなる種類の表明や保証もなく、金融または投資助言として解釈されるものでもありません。KuCoinは誤記や脱落、またはこの情報の使用に起因するいかなる結果に対しても責任を負いません。 デジタル資産への投資にはリスクが伴います。商品のリスクとリスク許容度をご自身の財務状況に基づいて慎重に評価してください。詳しくは利用規約およびリスク開示を参照してください。