2013 年 8 月,Bitcoin 社群面臨重大安全威脅:Android Bitcoin 錢包漏洞導致 55.82 BTC 被盜。這起事件凸顯了隨機性在保護 Bitcoin 錢包安全方面所扮演的關鍵角色。

問題的根源

在 Bitcoin 系統中,位址是 Bitcoin 餘額的載體,通過看似簡單的過程生成。隨機生成的私鑰,通過不可逆的運算,產生一個唯一的位址。然而,這些私鑰的隨機性對 Bitcoin 的安全至關重要。2013 年,Android 隨機數生成器中的一個關鍵缺陷,使得兩個使用者可能無意中創建相同的錢包,導致潛在的盜竊。

開發者回應和公開聲明

Bitcoin 開發者迅速識別了這個疏忽,並於 2013 年 8 月發布了一封公開信1,敦促使用者處理這個嚴重的漏洞。許多新聞媒體報導了這一進展2

「所有在 Android 手機/平板電腦上生成的私鑰都是弱的,並且已經觀察到一些簽名具有碰撞的 R 值,允許私鑰被破解,金錢被盜。」 – Bitcoin 開發者

Bitcoin.org 的官方警告

Bitcoin.org 針對此漏洞發布了官方警告3,聲稱任何本地隨機數生成器都可能受到影響。受影響的錢包包括 Bitcoin Wallet、BitcoinSpinner、Mycelium Bitcoin Wallet 和 blockchain.info。

Bitcoin developer mailing list announcement of critical Android SecureRandom vulnerability in August 2013

Android 承認問題

問題的核心可以追溯到 Android 本身。Android 開發者承認了他們在 Bitcoin 盜竊事件中的角色4

「我們現在已經確定,在 Android 裝置上使用 Java Cryptography Architecture (JCA) 進行金鑰生成、簽名或隨機數生成的應用程式,由於底層 PRNG 的不當初始化,可能無法接收到加密強度的值。」 – Android 開發者

對使用者的影響

Bitcoin 論壇上的討論揭示了可見的影響:55.82 BTC 被確認被盜。然而,盜竊的總體程度,包括未報告的案例,仍然未知5

Technical diagram explaining Android SecureRandom PRNG weakness allowing private key prediction

結論

這起事件提醒我們加密隨機性在數位錢包安全中的重要性。Bitcoin 社群的迅速回應和透明溝通,是減輕漏洞和防止進一步損失的關鍵。