擲骰子可讓比特幣密鑰保持離線,但並非所有人都會花工夫

iconBitcoin.com
分享
AI summary icon精華摘要
比特幣最新消息:擲六面骰子可在離線狀態下生成安全的比特幣錢包種子,以抵禦電子漏洞。一個公平的骰子每次擲出可提供約 2.585 位熵,50 次擲骰即可達到 128 位標準。然而,近期的 Coldcard 攻擊顯示,其他設備功能仍可能構成風險。安全研究員 Kevin Loaec 指出,紙質錢包創建等功能仍可能存在漏洞。雖然基於骰子的熵在理論上是安全的,但手動過程容易出錯,對大多數新用戶而言不切實際。比特幣新聞凸顯了密鑰生成中安全與易用性之間的持續爭議。

一個標準的六面骰子每次擲出可產生約 2.6 位不可預測的資訊。這聽起來可能不多,但若反覆擲足夠多次,這些擲骰結果就能產生無需依賴軟體或電子元件來保障比特幣錢包所需的原始隨機性。

重點摘要

  • 根據克勞德·香農的公式,一個公平的六面骰子擲出約 2.585 位熵。
  • Coinkite 的文件指出,50 次擲骰子符合比特幣錢包種子的 128 位標準。
  • Kevin Loaec 的 Wizard Sardine 分析指出,Coldcard 工具中除主要助記詞外存在風險。

為何擲骰子如此難以預測

數學家克勞德·香農(Claude Shannon)建立資訊理論時,使用熵來衡量結果的不確定性。對於一個公平的六面骰子,每個面出現的機率均為六分之一,因此每次擲骰約有 2.585 位的熵。拋硬幣產生 1 位,而八面骰子則產生 3 位。

不同顏色的骰子圖片

最近的 Coldcard 事件 已經在社交媒體上推動了基於骰子的助記詞生成。一些用戶現在將其視為必備,其他人則表示它保護了他們的資金,而經驗豐富的操作者則指出,大多數新手無法忍受緩慢且容易出錯的設置過程。

重點不在於擲骰子在原子層面上表現出隨機性,它並非如此。結果由物理法則決定,但同時有太多微小變數在變化,以致沒有人能可靠地計算出結果。骰子離開手時具有特定的速度、角度、高度和旋轉,然後撞擊桌面,每次反彈都會改變方向。

實際上,即使發佈時有極微小的變化,也會產生完全不同的結果。手指位置稍有不同或投擲力度略大一點,都會使路徑發生足夠的改變,以致無法透過觀察運動來預測最終數字。結果在理論上可能是確定性的,但對於錢包生成而言,關鍵在於攻擊者無法重現或計算出該結果。

將擲骰子結果轉化為可用資料

電腦無法直接使用骰子結果的列表。必須先將擲骰結果轉換為二進位資料,且轉換方法至關重要。

一種簡單的奇偶方法容易理解,但浪費了大量可用的熵。每次擲骰子僅被縮減為一位元,儘管骰子實際產生了約 2.6 位元的資訊。更高效的方法會收集一長串擲骰結果,並透過加密雜湊函數處理整個字串,從而保留更多的隨機性。

相同的原則也出現在 Diceware 中,這是一種長期用於創建安全密碼短語的方法,以及手動生成比特幣錢包時。一個典型的 12 個單詞的錢包恢復短語由 128 位熵構成。以每擲骰約 2.6 位熵計算,大約 50 次公平擲骰即可提供足夠的原始資訊來達到該門檻。

Coinkite 是 Coldcard 硬體錢包的製造商,建議尋求接近 256 位熵的用戶使用 99 條或更多捲軸。這並不會讓錢包的使用難度加倍,但能為生成的密鑰提供更大的數學安全餘量。

骰子生成種子的真實世界測試

這一區別在 Coinkite 公開了一項自 2021 年以來的固件問題 後變得重要。在某些 Coldcard 裝置上,軟體可能會跳過內部硬體隨機數生成器,而改用與非秘密裝置資訊相關的較弱流程。

由於該過程的部分內容可被重建,攻擊者得以縮小可能的錢包密鑰範圍,而非搜尋整個密鑰空間。截至東部時間下午1點,此漏洞與約1100個地址被盜的約1,128.6633 BTC有關。

X 截圖
圖片來源:X

完全由足夠數量的獨立擲骰子生成的錢包種子,並未通過相同路徑暴露。這些用戶提供了自己的熵值,因此故障的硬體生成器並非創建主要錢包密鑰的原因。

然而,該保護僅適用於由骰子生成的助記詞,並不會自動保護設備生成的其他所有秘密。

Wizard Sardine 檢視細則

安全研究員 Kevin Loaec 於 8 月 1 日在 Wizard Sardine 的網站上發表了對 Coldcard 漏洞的評估。他最重要的觀察是關於 Coldcard 與主錢包種子分開生成自身秘密的功能。

「我認為極其重要的是要強調,即使使用者是透過擲骰子導入或生成助記詞,若使用以下功能,仍會面臨風險,」Loaec 在 X 上寫道,隨後展示了一張受影響系統的圖示。

該圖表顯示了有缺陷的隨機數生成器為多個次要 Coldcard 功能供應資料,這些功能包括紙錢包建立、裝置複製、USB 會話加密、Secret Teleport 轉帳功能、共同簽署金鑰建立、內建密碼生成器以及硬體安全模組驗證碼。

X 截圖
圖片來源:X 帖子 via 安全研究員 Kevin Loaec。

使用 99 次擲骰子創建的主錢包保留在系統的獨立部分。問題在於,其他工具仍可從有缺陷的生成器請求新的隨機數。因此,一個安全的種子並不能保證在同一裝置上創建的每個密碼、備份、驗證碼或次要金鑰都具有同等的安全性。

為何大多數新用戶不會擲骰子

Dice-generated entropy 在正確執行時在技術上是可靠的,但對於大多數新用戶來說,這並非現實的預設選擇。擲骰子 50 次或 99 次,準確輸入每次結果,並確認沒有遺漏或重複任何一次擲骰,需要耐心和高度集中注意力。一個輸入錯誤的數字就可能完全改變最終的錢包,而大多數設備無法判斷錯誤是來自於擲骰不當、輸入錯誤,還是對指示的誤解。

X 截圖
圖片來源:X

此過程也引入了正規硬體生成器所沒有的風險。使用者可能將擲骰結果寫在紙上、拍攝照片、輸入線上工具,或將清單遺留在他人可找到的地方。有些人以重複或受控的方式擲骰、使用作弊或損壞的骰子,或因過程感覺過度而提前停止。數學可能很強大,但結果的安全性僅取決於使用者的程序。

X 截圖
圖片來源:X

這就是為什麼許多人都不認為擲骰子是最理想的方法,即使對於有經驗的比特幣使用者也是如此。它用對手動過程的信任取代了對設備的信任。對於技術謹慎、理解熵值、驗證方法並保持擲骰序列私密的用戶來說,這種取捨可能合理。但對於首次設置錢包的普通用戶而言,這不僅增加了多個可能造成永久性錯誤的機會,同時也是一個令人煩躁的過程

X 截圖
圖片來源:X

也很難想像,大規模的比特幣採用會依賴人們坐在桌前,記錄99次擲骰子的結果,才能安全地接收資金。安全實踐必須能應對真實的家庭環境、繁忙的日程、干擾,以及不願意學習密碼學的用戶。手動熵應保留為高級選項,但長期目標是開發硬體和軟體,能正確生成強隨機性、清晰解釋正在發生的事,並盡可能減少對專業知識的需求。

冷包用戶應檢查的項目

受影響的 Coldcard 裝置所有者應首先確認裝置上安裝的固件版本,然後審查在運行舊版固件時使用了哪些功能,而不應僅專注於主錢包種子的生成方式。

任何曾使用受影響的裝置生成紙質錢包、複製密鑰、密碼、共簽密鑰或驗證碼的人士,應立即更換相關資料。安裝更新可防止相同問題影響新的密鑰,但無法修復先前已創建的內容。

這起事件也為多供應商錢包設置提供了更強大的實際案例。在多重簽名安排中,可要求來自不同製造商的獨立硬體設備批准交易。這種架構無法完全消除固件漏洞,但可以防止單一有缺陷的隨機數生成器單獨導致整個錢包暴露。

免責聲明:本頁面資訊可能來自第三方,不一定反映KuCoin的觀點或意見。本內容僅供一般參考之用,不構成任何形式的陳述或保證,也不應被解釋為財務或投資建議。 KuCoin 對任何錯誤或遺漏,或因使用該資訊而導致的任何結果不承擔任何責任。 虛擬資產投資可能存在風險。請您根據自身的財務狀況仔細評估產品的風險以及您的風險承受能力。如需了解更多信息,請參閱我們的使用條款風險披露