許多人把加密貨幣從交易所轉進硬體冷錢包,降低平台倒閉、帳號遭入侵等風險。但冷錢包的安全,不只取決於私鑰是否離線保存,還取決於助記詞產生時是否真的無法預測。
如果裝置使用了有缺陷的隨機數,即使私鑰從未離開冷錢包,攻擊者仍可能從遠端推算出來。最近的真實資安事件顯示,某些硬體錢包曾因韌體程式錯誤,沒有正確使用硬體亂數,反而用了可被重現的軟體亂數。
這不是比特幣或助記詞設計被破解,而是錢包在「發鑰匙」的那一刻就出了問題。
🚨只要助記詞可能由有問題的隨機數產生,就必須建立全新的助記詞,並遷移資產。
只更新韌體、換裝置或匯入舊助記詞,都不能修復已經不安全的錢包。
為什麼隨機數這麼重要?
要看懂這類事件,先從助記詞是怎麼來的開始。
可以把助記詞想成一把密碼鎖。可能的密碼組合越多,攻擊者就越難猜中。
正常的 24 個助記詞,應該來自 256 位元的隨機資料,約有:
2^256種可能,約等於 1 後面有 77 個零
這個數量大到幾乎不可能靠暴力破解猜中。
但如果產生助記詞的隨機來源有問題,原本天文數字般的組合,可能縮小到數十億,甚至更少。對現代電腦而言,這就可能變成可以嘗試的範圍。
三種常見的隨機數:差別在哪裡?
隨機數就像錢包用來「抽密碼」的方式。抽的方式不同,安全度差很多。
1. 硬體真隨機數(TRNG)—— 真的在擲骰子
裝置裡有專門的零件,從電路雜訊這類物理現象取得隨機數。這種亂數沒有規律,也無法重現。只要取到足夠的 256 位元,可能組合就高達 2^256。
2. 密碼學安全偽隨機數(CSPRNG)—— 用一個好種子展開
它是電腦演算法,但專為安全用途設計。只要一開始的「種子」真的隨機且保密,後續產生的數字就同樣難以預測,也能達到 2^256。
3. 一般軟體偽隨機數(PRNG)—— 看起來隨機而已
這是遊戲、模擬常用的亂數,沒有考慮攻擊者。它常依賴裝置編號、時間這類可以被推測的資料,只要推出起點,就能把後面的數字全部重現。如果只剩 32 位元的未知資料,可能組合就只剩 2^32(約 42.9 億)—— 電腦很快就能試完。
所以重點不是「軟體產生的亂數都不安全」。CSPRNG 很安全,真正危險的是把遊戲等級的 PRNG 拿來產生私鑰。
也要注意:把弱亂數再拿去加密運算(如 SHA-256),只是把同一副牌重新洗過,牌組並不會變多。
漏洞是怎麼發生的?
三種亂數的差別這麼大,那麼一台強調安全的錢包,怎麼會用到最不該用的那一種?答案往往不是硬體壞掉,而是程式接錯線。
在最近的真實案例中,硬體亂數晶片本身沒有壞掉,問題出在韌體接錯了程式:
- 裝置原本有安全的硬體亂數功能。
- 韌體更新後,產生助記詞的程式誤用了普通軟體亂數。
- 這個軟體亂數只依賴裝置編號、開機時間和計時器等可被推測的資料。
- 攻擊者因此能列出可能的助記詞,再利用公開的錢包地址確認是否猜中。
這就是「看起來很隨機」與「真的無法預測」之間的差別。更麻煩的是,這種問題完全發生在裝置內部,畫面上看不出任何異常。
那麼,身為一般使用者,我們能做什麼?
用物理骰子增加隨機性
第一個方法,是不完全把隨機數交給裝置,而是自己動手參與。
如果裝置支援使用者輸入物理亂數,可以使用公平的六面骰。每次擲骰約能提供 2.585 位元的隨機性。
- 至少擲 51 次:可超過 128 位元的理論隨機性。
- 建立 24 字助記詞:建議至少擲 99 次。
擲骰時要注意:
- 每次都要真正重新擲骰,不要輸入自己想的數字或固定規律。
- 不要錄影、直播或使用連網工具記錄結果。
- 不要讓其他人看到完整的擲骰紀錄。
擲骰可以降低裝置亂數失效的風險,但不是萬靈丹。如果已經發生資安事件,或不確定當初是否擲了足夠次數,仍應建立新助記詞並遷移資產。
Passphrase 是額外防線,不是修復工具
除了自己擲骰,另一個常被提到的保護手段是 Passphrase。但它的作用很容易被誤解。
BIP-39 Passphrase 常被稱為「第 25 個單字」。它可以讓同一組助記詞產生另一個錢包,增加攻擊者破解的難度。
使用時要注意:
- 使用夠長、難猜、沒有重複使用過的內容。
- 與助記詞分開保存。
- 每次輸入後都核對錢包指紋或地址;一個字打錯,就會進入不同的錢包。
- 一旦遺失,就可能永久失去資產。
- 它可以增加保護,但不能修復原本隨機性不足的助記詞。發生事件後仍應遷移。
錢包開發團隊應該怎麼避免?
使用者能做的事終究有限,這類問題的根源還是在裝置端。了解這些原則,也能幫你判断一家廠商值不值得信任:
- 失敗就停止:硬體亂數功能異常時,禁止繼續產生助記詞,更不能偷偷改用普通軟體亂數。
- 確認實際使用正確的亂數來源:不能只確認安全程式存在,還要測試助記詞產生流程真的有使用它。
- 預設採用多個獨立亂數來源:避免單一來源失效就讓整個錢包失去保護。
- 持續測試:每次韌體或依賴套件更新後,都應重新測試完整流程。
懷疑受影響時,一定要遷移
不過,廠商修好了程式,不等於你手上的錢包就安全了。
更新韌體只能確保之後新產生的助記詞比較安全,無法修復舊助記詞。把舊助記詞匯入新裝置,也只是把同一把可能已被猜中的鑰匙搬到別處。
建議依序處理:
- 停止把新資產轉入舊錢包。
- 從官方管道確認安全公告並更新韌體。不要點擊陌生私訊或廣告中的「緊急修復」連結,也不要向任何人提供助記詞。
- 產生一組全新的助記詞。不要還原或重複使用舊助記詞。
- 備份並重新確認。重新開機後,核對錢包指紋或收款地址是否一致。
- 先進行小額測試。確認新錢包能正常收款與恢復。
- 把剩餘資產完整遷移到新錢包。確認交易完成後,永久停用舊錢包。
- 如果使用多簽錢包,逐一替換可能受影響的金鑰。
⚠️不要因為設定過 Passphrase 或做過幾次擲骰子,就直接認定安全。只要不確定當時的強度、次數或保密性,就應視為可能受影響並完成遷移。
結語
回到最初的問題:有了冷錢包,是不是就萬無一失?
冷錢包可以有效降低私鑰外洩風險,但不是「萬無一失」。真正安全的做法是:
- 確認助記詞來自安全、足夠的隨機數。
- 正確管理助記詞、Passphrase 與備份。
- 一旦懷疑亂數產生流程有問題或是嚴重的安全通報,立即在安全的環境建立新助記詞並完成資產遷移。
最重要的是:更新韌體不等於修復舊助記詞。只要舊助記詞可能不安全,就一定要換新並遷移資產。




