其助記詞(seed)生成方式是可以被重現的,任何人都可以重新計算出他們的私鑰。
因此我調查了其他每一家硬體錢包,看看它們是如何生成助記詞的,以及同樣的事情是否會再次發生。
- @Trezor:將裝置的隨機性與電腦的隨機性混合,且裝置必須證明它同時使用了兩者。即使晶片完全損壞,你依然安全。這是目前為止最好的設計。
- @BitBoxSwiss:組合了 5 個獨立的隨機性來源。單一不良來源不會讓你毀滅。開源、可重現構建(reproducible builds),支援擲骰子(dice)。
- @FoundationHQ:除了另外兩個來源之外,還使用普通電阻(resistors)和電容(capacitors)打造了自己的隨機性電路,開源。不需要信任黑盒晶片(black-box chip)。支援擲骰子(dice)。
- @KeystoneWallet:MCU 和 2 個獨立的安全元件各自產生自己的 TRNG,3 個獨立來源合併成最終增強熵值。此外還允許你擲最多256次骰子,並公開了如何自行驗證結果的方法。
- @Blockstream:Jade 從 7 個項目中擷取:無線電雜訊(radio noise)、CPU 計數器(cpu counters)、電池、溫度、攝影機、你的輸入、應用程式(app)。要破壞所有來源非常困難。
- @SeedSigner:你擲的骰子是唯一的來源。完全不需要信任任何晶片。而且他們提供了一份指南,教你如何驗證他們自己的數學計算。硬體最弱,但驗證力最強。
- @OneKey:裝置上結合了 Secure Element 與 MCU,開源韌體。很紮實,但你無法加入自己的隨機性。
- @Ledger:一個經過認證的晶片(AIS-31, EAL5+)。具備良好的隨機性。但它是單一來源、閉源,而且你無法驗證其中的任何細節。你必須完全信任他們。
- @Tangem:私鑰在晶片內部生成且永遠不會離開。經過三家公司審計。同樣的權衡:強大,但設計上讓你無法檢查。
- @ngrave_official:將晶片隨機性與你的指紋和環境光混合。很聰明。但其 "EAL7" 認證標章僅涵蓋單一軟體元件,而非整台裝置。
- @ELLIPAL:單一經過認證的晶片,沒有軟體備援(software fallback),若故障則直接關閉(fails closed)而非猜測。閉源,所以只能選擇相信它。
- @SafePal:混合了 2 個晶片。他們從未公開過詳細資訊。
- @COLDCARDwallet:目前已修復修補,且 COLDCARD 上的骰子功能一直都是可驗證的。但在 2021 年至 2026 年之間生成的所有助記詞(seed)都已永久作廢(burned)。
單一來源(one source) = Ledger, Tangem, Ellipal。如果該單一來源失效,一切就都完蛋了。他們的解決方案是將其做得很優秀並取得認證。但這正是 COLDCARD 賭輸的地方。
多重來源(many sources) = Trezor, BitBox, Passport, Jade, Keystone。單一損壞的來源永遠不會影響到你的私鑰。
而且這當中的每一家都宣稱擁有 128 或 256 位元(bits)的安全強度。
COLDCARD 當初也是這麼宣稱的。認證也沒有幫助,COLDCARD 的晶片本身沒問題,只是程式碼停止呼叫它而已。
唯一能救你的,就是自己進行檢查。
自己擲骰子(roll your own dice)。自己驗證單字(verify the words yourself)。
給冷錢包使用者的核心建議(補充觀點):
1. 不要盲目相信單一晶片或「EAL 認證標章」:軟體韌體邏輯漏洞(如 COLDCARD 案例)可能使頂級硬體 TRNG 形同虛設。
2. 多重來源(Many Sources)優於單一來源(One Source):選擇結合「MCU + 安全晶片 + 主機/用戶熵」的錢包(如 Trezor Safe 系統、BitBox02、Passport、Keystone)。
3. 終極安全作法——自行擲骰子(Roll Your Own Dice):若儲存大額資產,最安全的作法是在生成種子(助記詞)時,選擇支援實體擲骰子輸入熵並能離線驗證單字點陣圖(BIP-39 Mnemonic Verification)的錢包(如 SeedSigner, Passport, BitBox02, Keystone, COLDCARD),徹底消除對硬體晶片與隨機數生成器的盲目信任。
原始資料來源:https://x.com/the_smart_ape/status/2084265598368809390?s=61&t=P_R4W_aDAxCJn612ehUZJA
圖片表格對照翻譯 (Table Breakdown)
| 錢包 (wallet) | 廠商 (vendor) | 熵來源 (entropy sources) | 晶片 / 認證 (chip / certification) | 自訂熵 (your own entropy) | 可驗證? (verifiable?) | 開源 (open source) | 結論 (verdict) |
|---|---|---|---|---|---|---|---|
| Trezor One / T / Safe 3 / Safe 5 | SatoshiLabs | MCU TRNG + 主機電腦熵,混合 SHA-256 (裝置與主機各 32 位元組) | STM32;Safe 3 / Safe 5 增加了安全晶片 | 主機熵,恆定開啟 | 是:承諾協定 (commitment protocol) | 是,可重現構建 (reproducible builds) | 最強設計 (Strongest design) |
| BitBox02 / BitBox02 Nova | Shift Crypto / BitBox | 五個來源:製造階段、裝置密碼、主機電腦、MCU TRNG、安全晶片TRNG | ATECC608B (Nova: Optiga Trust M V3) | 主機熵 + 骰子 | 部分 (partially) | 是,可重現構建 (reproducible builds) | 非常紮實 (Very solid) |
| Foundation Passport (Batch 2 / Core) | Foundation Devices | 開源雪崩雜訊電路 (獨立電阻 + 電容,非黑盒矽晶片) + MCU RNG + SE RNG | 自家 TRNG 電路 + 安全晶片 | 骰子 (dice) | 部分 (partially) | 是,可重現構建 (reproducible builds) | 非常紮實 (Very solid) |
| Keystone 3 Pro(支援簡體中文) | Keystone | MCU 和來自不同製造商的 2 個獨立的安全晶片各自產生自己的 TRNG,3 個獨立來源合併成最終增強熵值 | ATECC608B (Microchip) + DS28S60 (Maxim),均符合 NIST SP 800-90B | 骰子,最多256 次投擲 | 是:廠商公開驗證方法 | 部分開源 (partial) | 非常紮實 (Very solid) |
| Blockstream Jade / Jade Plus | Blockstream | 開機無線電雜訊、CPU 計數器、電池狀態、溫度、相機、使用者輸入、應用程式熵 -> SHA-512 累加器 | ESP32 (Jade Plus: ESP32-S3) | 配套應用程式熵 | 否 (no) | 是 (yes) | 紮實,多重來源 (Solid, many sources) |
| Ledger Nano S / S Plus / X / Stax / Flex | Ledger | Secure Element 內部的單一認證 TRNG + BOLOS 後處理 | ST33K1M5C - AIS-31 PTG.2, EAL5+, CSPN (ANSSI) | 無 (none) | 否 (NO) | 否:閉源 (closed source) | 紮實但不可驗證 (Solid but unverifiable) |
| Tangem cards | Tangem | Secure Element 內部的 TRNG:密鑰在卡上生成且永遠不離開 | Samsung SE, EAL6+;由 Kudelski, Riscure, Cure53 審計 | 無 (none) | 否:設計上無法驗證 | 否 (no) | 紮實但不可驗證 (Solid but unverifiable) |
| NGRAVE ZERO | NGRAVE | 晶片 TRNG + 指紋 + 環境光採樣 | EAL7 適用於 ProvenCore TEE 元件,非整台裝置 | 生物識別 + 環境光 | 否 (no) | 否 (no) | 概念好,但標章過度宣傳 (Good idea, oversold badge) |
| Ellipal Titan | Ellipal | 僅使用安全晶片中的硬體 TRNG,無軟體備援 (故障時關閉) | EAL5+ 安全晶片 | 接受導入助記詞 | 否 (no) | 否 (no) | 廠商宣稱,閉源 (Vendor claim, closed source) |
| OneKey Classic / Pro(支援繁簡中文) | OneKey | 裝置上結合 安全晶片 + MCU | SE EAL6+ | 無 (none) | 否 (no) | 是 (yes) | 紮實,開源 (Solid, open) |
| SafePal S1(支援繁簡中文) | SafePal | 具備密碼學混合的雙晶片架構 | 未公開細節 (undisclosed detail) | 無 (none) | 否 (no) | 否 (no) | 未公開 (Undisclosed) |
| SeedSigner (DIY) | open-source project | 你的骰子 (50 或 99 次投擲) 或相機影像熵 | 無 - 無安全晶片 | 骰子 (dice) | 是:隨附 docs/dice_verification.md 文件 | 是,自 v0.7.0 起可重現構建 | 最可驗證,硬體強化程度最低 (Most verifiable, least hardened) |
| Coldcard Mk4 / Mk5 / Q (2026 修補後) | Coinkite | 修補後為 STM32 TRNG + 安全晶片 + 骰子 | STM32 + 2 個安全晶片 | 骰子 (dice) | 是 (YES) | 原始碼可見 (source-available) | 已修復,但漏洞期間生成的助記詞仍作廢 |
| Coldcard Mk2 / Mk3, firmware 4.0.0–4.1.9 | Coinkite | 軟體 PRNG (Yasmarang) 隨機種子來自晶片 UID + 計時器 - 兩者皆為公開 | - | 骰子 (藏在高級選單中) | - | - | 破裂 (BROKEN) - 有效熵降至 ~2^32 到 2^40 |
| Coldcard Mk1 / pre-v3.2.2 | Coinkite | 真實 STM32 硬體 TRNG | STM32 | - | - | - | 從未受影響:舊款裝置反而是安全的 |
| Tapsigner / Satscard / Opendime | Coinkite | 金鑰於卡片內部生成 | ATECC Secure Element | 無 (none) | 否 - 設計上即不可驗證 | 否 (no) | 架構上不可驗證 (Unverifiable by construction) |
沒有留言:
張貼留言