2013 年 Android Bitcoin 錢包漏洞:隨機性的教訓
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。

Android 承認問題
問題的核心可以追溯到 Android 本身。Android 開發者承認了他們在 Bitcoin 盜竊事件中的角色4:
「我們現在已經確定,在 Android 裝置上使用 Java Cryptography Architecture (JCA) 進行金鑰生成、簽名或隨機數生成的應用程式,由於底層 PRNG 的不當初始化,可能無法接收到加密強度的值。」 – Android 開發者
對使用者的影響
Bitcoin 論壇上的討論揭示了可見的影響:55.82 BTC 被確認被盜。然而,盜竊的總體程度,包括未報告的案例,仍然未知5。

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