弱錢包種子簡明解析
弱錢包種子如何危及比特幣安全?
即使比特幣的加密機制本身無漏洞,錢包軟體若產生可預測的種子,風險仍然存在。只要有人能重現該種子或私鑰,即使原硬體錢包離線,也能在其他裝置花費資產。
快速解答
為何格式正確的種子仍可能不安全?
12 或 24 個有效助記詞只能代表格式正確,不能證明錢包使用了真正難以預測的隨機來源。產生器出錯時,看似正常的種子可能只來自很小的範圍,攻擊者便能逐一測試。
這些事件中,比特幣區塊鏈與簽章規則本身運作正常,問題出在錢包金鑰產生階段,區塊鏈尚未接收到交易前就已失守。
目錄
區塊鏈與錢包比較
區塊鏈驗證簽章,錢包產生秘密
這兩者分工不同:區塊鏈負責驗證交易,錢包負責產生與保護簽署金鑰。即使區塊鏈安全,錢包層的弱種子仍可能導致失守。
區塊鏈
記錄交易歷史,並在簽章有效時允許支出。
錢包
產生種子、衍生私鑰、顯示地址並簽署交易。
攻擊者
若種子可預測或被複製,私鑰可在其他地方重建。
攻擊者無需竊取裝置,只要取得複製或可預測的種子,即可在其他軟體中重建錢包並簽署交易。
兩大常見迷思
硬體與冷錢包能降低風險,但無法讓已外洩的私鑰變安全
這兩種方式都很實用,但保護的前提是秘密必須安全產生且未曾外洩。
沒裝置就無法花我的幣?
硬體錢包平時將私鑰隔離於日常電腦之外,但只要種子被複製或可預測,這些私鑰仍可在其他地方重建。
只有在種子與私鑰未外洩時,裝置才能發揮保護作用。離線錢包讓比特幣無法被遠端存取
錢包離線僅能阻擋遠端存取該裝置,無法阻止已取得種子或私鑰者在其他裝置操作。
離線僅保護原始副本,無法阻止第二份複製品被利用。弱點從哪裡開始
錯誤可能在種子短語出現前就已發生
錢包會先收集無法被預測的資料,再透過安全隨機產生器轉換為種子。若起始資料本身不夠隨機,最終產生的種子即使看似正確,實際上仍可能被預測。
熵
「熵」是描述不可預測性的技術詞彙。熵越高,錢包可選擇的隨機值越多。
安全隨機產生器
將不可預測的起始資料轉換為安全金鑰的軟體或硬體。
種子短語
一組可讀備份,錢包可據此重建多組私鑰。只要擁有完整種子,通常就能還原錢包。
私鑰
用於授權特定地址資金支出的秘密值。單一種子可產生多組私鑰。
格式正確不代表安全產生
為何12字正確不代表安全
想像樂透號碼看似很長,實際上只用1,000種組合。每張票都像真的,但攻擊者只需測試這1,000種。錢包隨機產生器出錯時也是如此。
安全的12字種子應來自極大量的隨機組合,但弱錢包可能只從極小的隱藏清單中挑選。僅憑種子內容或格式無法分辨安全與否。
錢包持有人看到的情況
12 字種子、校驗碼正確、錢包可正常開啟。
哪些資訊仍被隱藏
隨機產生器起始資料過於可預測,僅能產生有限組種子。
攻擊者可獲得什麼
攻擊者只需測試極少數組合,而非所有理論上可能的種子。
1,000 組樂透僅為比喻,實際數量取決於隨機產生器的缺陷。
真實失敗,各有原因
隨機性不足曾多次導致錢包失守
這些事件雖來自不同產品與錯誤,但共同教訓是:錢包介面再完善、種子再長,都不代表其不可預測。
Milk Sad / Libbitcoin Explorer
bx seed 指令僅用 32 位元系統時間搭配梅森旋轉器產生隨機數,雖然輸出看似隨機,實際上研究人員可重建所有可能組合,並發現多條區塊鏈因此遭竊。
輸出再長,若起始值可預測,仍無法補足安全性。RANDSTORM / BitcoinJS
早期瀏覽器錢包可能因 JavaScript 及瀏覽器環境隨機性不足而產生弱種子。多年後,研究人員仍警告當時產生的錢包可能存在風險。
即使錢包介面已更新,舊私鑰本身仍然是舊的。Android SecureRandom
Android 隨機數產生器的弱點曾讓部分比特幣錢包暴露風險。雖然開發者釋出修正,但用戶仍需更換新地址與私鑰,因為更新無法補救已產生的弱私鑰。
修正隨機產生器僅保護新產生的私鑰,舊私鑰仍有風險。COLDCARD RNG
部分 COLDCARD 韌體產生的種子隨機性遠低於預期,顯示即使專用硬體,若種子產生流程未正確使用安全來源,仍可能失敗。
硬體設備不能取代完整驗證金鑰產生流程。閱讀完整 COLDCARD 事件指引實用風險檢查
什麼情況下舊錢包應視為不安全?
僅看種子內容通常無法判斷安全性,重點在於產生的時間、地點及所用軟硬體。
種子來源不明
您無法確定這組恢復短語最初是由哪個應用、網站、裝置、韌體或流程產生的。
錢包出現在安全公告中
該種子由官方警告、CVE、研究揭露或遷移公告中提及的版本產生。
將舊種子匯入新錢包
將同一組恢復短語移至新硬體錢包,只是換了容器,秘密本身未變。
種子或私鑰可能已外洩
種子曾被輸入網站、拍照、存雲端筆記、與客服分享或被他人看到。
依風險選擇對應措施
遇到舊種子或來源可疑時該怎麼辦?
錢包舊不代表一定不安全,請先確認種子產生方式及該產品或版本是否出現在官方安全公告,再依證據採取行動。
來源明確且無外洩跡象
請保持錢包與韌體更新、妥善保管備份,並留意官方安全公告。舊錢包不代表必然不安全。
種子來源不明或出現在安全公告中
請用目前安全的軟硬體產生全新種子,確認備份無誤,先小額測試,再轉移全部資產。
種子或私鑰可能已被他人知曉
請將受控資產視為高風險,盡快轉移至新種子產生的新地址。僅更換 PIN、密碼或裝置無法改變已外洩的私鑰。
哪些做法無法補救弱或外洩種子
- 將同一組種子匯入新硬體錢包
- 僅更改裝置 PIN 或錢包密碼
- 僅安裝更新但未重建新種子
- 秘密外洩後才將裝置離線
給錢包開發者
測試金鑰產生的完整流程
僅有理論安全的演算法並不足夠。審查必須涵蓋從熵來源、隨機產生器到最終種子的完整流程,包括韌體、瀏覽器、作業系統、建置與備援行為。
- 請使用專為密碼學設計的隨機來源(平台或硬體)。
- 若安全隨機來源不可用,應安全失效,切勿默默退回一般隨機函式。
- 測試應涵蓋實際產品與完整呼叫流程,而非僅限於單一原始檔。
- 記錄種子產生流程及失效後的用戶遷移指引。
主要揭露與安全指引
檢視相關事件與密碼學指引
本文說明與案例參考 NIST 指引、Milk Sad 公告、Unciphered RANDSTORM 通知、Bitcoin.org Android 警告、Bitcoin Optech 及現行錢包安全建議。
常見問題
只要知道我的種子短語就能花我的比特幣嗎?
通常可以。完整恢復短語可重建錢包私鑰,攻擊者可在其他軟體或裝置匯入並簽署交易,無需原硬體錢包或 PIN。
比特幣會儲存在硬體錢包裡嗎?
不會。比特幣記錄於區塊鏈,硬體錢包僅保護授權支出的私鑰。若他人取得等效私鑰,實體裝置就不再是唯一授權方式。
冷錢包能保護已外洩的私鑰嗎?
無法。冷錢包僅能隔離未知私鑰,一旦他人已知私鑰或種子,便可用自己的裝置簽署並廣播交易。
韌體更新能修復舊的弱種子嗎?
不行。更新僅能修正未來產生的種子,無法讓既有種子變得不可預測。建議重新產生新種子並將資產轉移至新地址。
僅看種子內容能判斷是否安全嗎?
通常無法。弱種子也可能字數正確、校驗無誤。請查明產生來源、裝置、韌體、時間及相關安全公告。
強密碼能補救弱種子嗎?
不會。裝置 PIN 或應用密碼僅能保護本地存取,無法改變種子所控制的私鑰。有些錢包設計可額外加密短語,但這不應視為修補已知弱種子的手段。
單一私鑰外洩會讓整個錢包失守嗎?
不一定。單一私鑰僅影響對應地址資產,種子外洩則可重建多組私鑰,影響範圍更廣,實際情況視錢包設計與外洩內容而定。
24 字種子也可能不安全嗎?
會。字數越多理論上組合越多,但前提是錢包安全產生起始值。若隨機產生器有問題,24 字種子也可能來自極小可預測組合。
繼續閱讀實際案例