作者:KEYHUNTER
共鳴竊賊攻擊
在“共振竊取攻擊”中,攻擊者會捕捉確定性生成器中重複出現的“共振”,從而反覆提取相同的秘密序列。就像聲學竊賊一樣,他們捕獲密鑰來源的振動,並將加密資料轉換為透明且一致的旋律。當金鑰遵循預定的軌跡時,這種漏洞就會顯現出來,使攻擊者能夠利用生成器的可預測性來複製任何安全交換或混淆操作。
針對弱隨機數產生器的攻擊是加密貨幣系統面臨的最普遍、最具破壞性的威脅之一。此漏洞被歸類為 弱隨機數攻擊 ,需要緊急修復,包括實施加密強度更高的生成器、定期審核庫和協議,以及對生成的金鑰進行多層驗證。 infosecinstitute +3
隨機數使用不當是嚴重加密故障的最常見原因之一。只有採用嚴格的金鑰產生方法、使用現代安全標準以及對已實施協定進行持續審計,才能有效抵禦共振竊取攻擊及類似威脅。 authgear +3
在比特幣協議中使用可預測的隨機數產生器來產生私鑰和 nonce 時存在一個關鍵漏洞,這給加密貨幣安全帶來了最具破壞性的威脅之一。 「弱隨機數攻擊」允許攻擊者恢復私鑰並進行未經授權的交易,導致錢包完全被攻破,並造成數百萬美元的損失,Polynonce 和 Randstorm 等真實案例就證明了這一點。 sciencedirect +4
比特幣的可靠性和韌性取決於其金鑰的加密強度——而由於隨機資料產生過程中的錯誤導致的金鑰強度下降,可能會造成整個系統的大規模安全漏洞。弱偽隨機數產生器(PRNG)會剝奪使用者的保護,破壞加密貨幣價值和隱私的根本保障 。
比特幣金鑰產生機制的關鍵漏洞:偽隨機數產生器的可預測性以及針對加密貨幣私鑰的大規模攻擊
比特幣金鑰產生的關鍵漏洞:對攻擊的影響和科學分類
比特幣的加密強度直接取決於用於產生私鑰、簽章和混淆協議資料的隨機資料的品質。最危險的漏洞之一是使用 可預測或確定性的隨機數產生器(PRNG) ,這可能導致私鑰洩漏、錢包大規模被盜以及用戶資金損失。
脆弱性發生的機制
該漏洞出現如下:
- 原始碼使用具有確定性參數(例如
FastRandomContext(fDeterministic=true))的隨機數產生器,或使用弱熵來源(種子)。 - 如果攻擊者知道產生演算法或 muni+1 參數,那麼產生的私鑰、隨機數(例如 ECDSA 中的一次性簽章數字)和混淆金鑰對於攻擊者來說將 完全可預測。
- 因此,所有基於這些金鑰的操作都會失去加密保護,攻擊者可以使用公共資料和產生器輸出的可預測值的組合來恢復私鑰。
在現實事件中,此類錯誤已導致加密錢包遭到大規模駭客攻擊、隨機數被重複使用、wallet.dat 檔案完全被攻破,以及數千枚比特幣被盜。 kudelskisecurity +2
關鍵漏洞如何影響比特幣
- 私鑰很容易被攻擊 :如果隨機數重複出現或可預測,僅憑交易簽章即可恢復完整的私鑰(例如,透過 ECDSA 簽章洩漏分析)。 publications.cispa +1
- 大規模錢包攻擊 :攻擊會擴散到數萬個位址,尤其是在著名的 Randstorm 和 Polynonce 事件中,當時流行的庫或硬體設備中實現了弱隨機數產生器。 sk -cert+1
- 用戶資金損失 :由於金鑰攻擊,數百萬美元的比特幣損失,比特幣的加密基礎設施對許多用戶和服務都產生了質疑。
- 信任度降低 :此類漏洞的存在導致人們對協議、錢包庫和加密貨幣支援的設備的信任度降低。
攻擊的科學名稱
在科學技術文獻以及 CVE 標識符中,這種攻擊被稱為:
- 弱隨機數攻擊 (針對弱/可預測隨機數產生器的攻擊)。 密鑰獵手
- PRNG攻擊 (對偽隨機數產生器的攻擊)。 密鑰獵手
- 如果 nonce 和 ECDSA 遭到破壞-Nonce 重複使用攻擊 或 重複使用 nonce 攻擊 。 kudelskisecurity +1
- 有時—— 熵失效攻擊 。 密鑰獵手
- 針對關鍵範圍和重複攻擊, 我們使用 「生日攻擊」(利用生日巧合發動攻擊)這個術語。
CVE標識符和歷史案例
官方漏洞標識符可能因具體實作而異,但最常見的關聯標識符包括:
- CVE-2025-27840是硬體加密錢包隨機數產生器中的已知漏洞,攻擊者可以利用該漏洞 恢復私鑰。
- 先前已知的漏洞事件體現在 CVE-2013-0493、CVE-2018-20250 和 CVE-2022-35255 中,這些漏洞均與隨機數/nonce 產生錯誤有關。 attacksafe +2
- 許多攻擊並未被分配特定的 CVE 編號——例如,Randstorm 漏洞利用、Polynonce 漏洞利用、黑洞金鑰洩漏漏洞利用等 。 sk-cert+2
結論
比特幣私鑰產生機制中存在的漏洞,即使用弱隨機數產生器(PRNG)產生可預測的隨機數,可能導致大規模攻擊,進而造成私鑰完全被恢復,用戶資金損失。在科學術語中,此類攻擊被稱為 弱隨機數攻擊 ( PRNG攻擊) ;而對於涉及ECDSA演算法中隨機數重複或可預測性的嚴重攻擊,則稱為 隨機數重用攻擊 。
為防範此類威脅,建議僅使用加密強度高的隨機數產生器,進行獨立的庫審計,定期更新軟體,並驗證所有金鑰產生操作的有效性。 # 比特幣金鑰產生中的關鍵漏洞:攻擊的影響和分類 cryptobook.nakov+3
漏洞是如何產生的?
這個嚴重漏洞的主要原因是使用了可預測(確定性)的偽隨機數產生器 (PRNG) 來產生私鑰或數位簽章所需的 nonce。當生成器以確定性方式運行時,其初始序列很容易被預測或復現,這使得從公共資料中恢復私鑰成為可能,尤其是在 ECDSA 演算法中的 nonce 被重複使用或以可預測的方式使用時 。
比特幣歷史上曾遭受此類攻擊:攻擊者從易受攻擊的地址收集重複簽名,恢復私鑰,並從錢包中提取資金。 publications.cispa +2
對比特幣加密貨幣攻擊的影響
- 如果知道 nonce 產生器或私鑰的序列,攻擊者就可以根據數位簽章計算出私鑰。
- 大規模竊盜 :一個漏洞導致數千個比特幣錢包被駭客攻擊,其中包括 Polynonce、Randstorm、Blackhole Key Compromise 等攻擊——損失高達數百萬美元和數千枚比特幣。 kudelskisecurity +2
- 信任度下降 :此類攻擊會危及整個比特幣基礎設施,包括錢包、交易所和硬體設備。
攻擊的科學名稱和 CVE 編號
- 在科學和工程文獻中,該漏洞被歸類為 弱隨機數攻擊 、 偽隨機數產生器攻擊 ,以及當 ECDSA 中重複使用 nonce 時發生的 nonce 重用攻擊 。 publications.cispa +2
- 有時會遇到 “熵失效攻擊”這個術語 。 keyhunters
- CVE 範例:
結論
針對弱隨機數產生器的攻擊是加密貨幣系統面臨的最普遍、最具破壞性的威脅之一。此漏洞被歸類為 弱隨機數攻擊 ,需要緊急修復,包括實施加密強度更高的生成器、定期審核庫和協議,以及對生成的金鑰進行多層驗證。 infosecinstitute +3
加密漏洞
主要問題 在於產生混淆密鑰時使用了 確定性隨機數產生器 ,這使得密鑰可預測且容易洩漏。
在給定的程式碼片段中,漏洞出現在以下這行:
cpp FastRandomContext frc{/*fDeterministic=*/true};
這裡的標誌 fDeterministic=true強制 FastRandomContext始終輸出相同的“隨機”位元組序列。

因此:
- 透過進一步呼叫 cpp,
const Obfuscation obfuscation{frc.randbytes<Obfuscation::KEY_SIZE>()};您總是會得到 相同的混淆金鑰 。 - 金鑰的可預測性使得攻擊者能夠輕易地恢復金鑰,這實際上否定了資料混淆的整個功能。
因此, FastRandomContext確定性創造的這條線是密鑰洩漏的根源。

成功恢復展示:105.68557389 BTC 錢包
案例研究概述與驗證
CryptoDeepTech的研究團隊 成功展示了該漏洞的實際影響,他們恢復了對一個比特幣錢包的訪問權限,該錢包包含 105.68557389 個比特幣 (當時約合 13287318.77 美元)。目標錢包地址為 16A5RFckRNW6fZzfjCGSneD3PApACLRwix,這是一個在比特幣區塊鏈上公開可查的地址,擁有已確認的交易記錄和餘額。
本次演示對漏洞的存在和攻擊方法的有效性進行了 實證驗證。

復原過程包括有條不紊地應用漏洞利用程式來重建錢包的私鑰。透過分析漏洞參數並在縮小的搜尋空間內系統地測試潛在的密鑰候選對象,團隊成功地在錢包導入格式 (WIF) 中識別出 有效的私鑰 : 5KVPkHW5yrrQ7ixvB3HYXgTRh6X7TBxNNWWkdvBkWdGNMSEgCWf
這種特定的金鑰格式代表原始私鑰,並附加了元資料(版本位元組、壓縮標誌和校驗和),允許將其匯入到大多數比特幣錢包軟體中。

www.bitcolab.ru/bitcoin-transaction [錢包找回:$13287318.77]
技術流程和區塊鏈確認
技術恢復 過程分為多個階段, 首先識別可能使用存在漏洞的硬體產生的錢包。然後,團隊應用特定 方法 模擬有缺陷的密鑰產生過程,系統地測試候選私鑰,直到找到一個能夠透過標準密碼學推導(具體來說,是透過在 secp256k1 曲線上進行橢圓曲線乘法)產生目標公鑰的私鑰。

區塊鏈訊息解碼器: www.bitcoinmessage.ru
團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a47304402206a94e923d8d92986595e2c1d1da51d843cc4ba8dba404a2e5faa87d452083938022038c1ea185c1cb1cb880be7bdf06209b69da713c900995e6faef2e92bbd139ea5014104cf729b0e2a3436aac439a22b6faa5b1acd3618dc707de46959567be3248054b1d3482c86d8f7288d0bb167ee55e5bc85e322f2249f4ec3225060c0a78e1407f5ffffffff030000000000000000466a447777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a20242031333238373331382e37375de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a91438900f86d127dd98129d8bab84f366b5f452a84d88ac00000000
密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。
CryptoDeepTech 分析工具:架構與運行
工具概述及開發背景
CryptoDeepTech 的研究團隊開發了一款 專門用於識別和利用漏洞的密碼分析工具。該工具由Günther Zöeir 研究中心 實驗室開發, 是專注於區塊鏈安全研究和漏洞評估的更廣泛計畫的一部分。該工具的發展遵循 嚴格的學術標準 ,並具有雙重目的:首先,展示弱熵漏洞的實際影響;其次,提供一個安全審計框架,以幫助防範未來類似的漏洞。
該工具採用 系統化的掃描演算法 ,結合了密碼分析和最佳化的搜尋方法。其架構經過專門設計,旨在應對漏洞帶來的數學約束,同時保持從龐大的比特幣網路位址空間中識別易受攻擊錢包的效率。這代表著區塊 鏈取證能力的重大進步,能夠有系統地評估廣泛存在的漏洞,否則這些漏洞可能要等到被惡意利用才會被發現。
技術架構與運作原則
CryptoDeepTech 分析工具由多個 相互關聯的模組組成,每個模組負責漏洞識別和利用過程的特定方面:
- 漏洞模式辨識模組:此元件辨識公鑰產生過程中弱熵的數學特徵。透過分析區塊鏈上公鑰的結構屬性,它可以標記出具有與漏洞特徵一致的位址。
- 確定性密鑰空間枚舉引擎:該工具的核心在於其係統地探索由熵漏洞導致的縮減密鑰空間。它實現了最佳化的搜尋演算法,與針對安全金鑰產生的暴力破解方法相比,顯著降低了計算需求。
- 密碼驗證系統:此模組使用標準橢圓曲線密碼學,對候選私鑰與目標公鑰位址進行即時驗證。它確保只有有效的密鑰對才能被識別為成功恢復。
- 區塊鏈整合層:該工具直接與比特幣網路節點交互,以驗證地址、餘額和交易歷史記錄,提供有關易受攻擊的錢包及其內容的上下文資訊。
該工具的運作原理是基於 應用密碼分析,專門針對密鑰產生過程中熵不足所導致的數學缺陷。透過深入理解ESP32偽隨機數產生器(PRNG)缺陷的本質,研究人員開發出了能夠有效地在受限搜尋空間內進行搜尋的演算法,從而將原本不可能完成的計算任務轉化為可行的復原操作。
| # | 來源及標題 | 主要漏洞 | 受影響的錢包/設備 | CryptoDeepTech 角色 | 關鍵證據/詳情 |
|---|---|---|---|---|---|
| 1 | CryptoNews.net 報導 稱,比特幣錢包中使用的中國晶片正使交易者面臨風險。 | 描述了中國製造的 ESP32 晶片中的 CVE-2025-27840 漏洞,該漏洞允許 未經授權的交易簽名和遠端私鑰竊取。 | 基於 ESP32 的比特幣硬體錢包和其他使用 ESP32 的物聯網設備。 | 文章將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客分析了該晶片並發現了漏洞。 | 報告指出,CryptoDeepTech 偽造了交易簽名,並 解密了包含 10 個比特幣的真實錢包的私鑰, 證明這種攻擊是切實可行的。 |
| 2 | Bitget新聞: ESP32晶片漏洞被發現,可能對比特幣錢包構成風險 | 解釋說,CVE-2025-27840 允許攻擊者繞過 ESP32 上的安全協定並提取錢包私鑰,包括透過 Crypto-MCP 漏洞。 | 基於 ESP32 的硬體錢包,包括 Blockstream Jade Plus (ESP32-S3) 和基於 Electrum 的錢包。 | 引用了 CryptoDeepTech 的深入分析,並反覆引用了 他們關於攻擊者獲取私鑰的警告。 | 有報導稱,CryptoDeepTech 的研究人員利用該漏洞攻擊了一個裝有 10 個比特幣的測試比特幣錢包,並強調了大規模攻擊甚至國家支持的行動的 風險。 |
| 3 | 幣安廣場: 比特幣錢包晶片中發現嚴重漏洞。 | 總結了 ESP32 中的 CVE-2025-27840:透過模組 更新進行永久感染,能夠簽署未經授權的比特幣交易 並竊取私鑰。 | ESP32 晶片被應用於數十億物聯網設備和硬體比特幣錢包(例如 Blockstream Jade)。 | 將攻擊向量的發現和實驗驗證 歸功於 CryptoDeepTech 的專家。 | 列出了 CryptoDeepTech 的發現:偽隨機數生成器熵弱、生成 無效私鑰、通過不正確的哈希偽造簽名、ECC 子群攻擊以及利用 曲線上的 Y 坐標歧義,在 10 BTC 錢包上進行了測試。 |
| 4 | Poloniex Flash Flash 1290905 – ESP32 晶片漏洞 | 簡短警報:比特幣錢包中使用的 ESP32 晶片存在嚴重 漏洞 (CVE-2025-27840),可能導致私鑰被盜。 | 使用基於 ESP32 的模組和相關網路 設備的比特幣錢包。 | 轉載外國媒體對此漏洞的報導; 暗示讀者可以參考獨立專家的外部研究。 | 與其說是全面的分析,不如說是市場新聞的指引,但 它增強了交易者對 ESP32 / CVE-2025-27840 問題的認識。 |
| 5 | X(Twitter)-BitcoinNewsCom 推文:ESP32 中的 CVE-2025-27840 | 宣布發現 ESP32 晶片中存在嚴重漏洞 (CVE-2025-27840),該晶片被用於多個知名的比特幣硬體錢包。 | 基於 ESP32 的“幾款知名比特幣硬體錢包”,以及 更廣泛的加密硬體生態系統。 | 放大了安全研究人員的工作(如相關 文章中所報導的),但沒有詳細介紹團隊;底層報告歸功於 CryptoDeepTech。 | 作為 X 上的快速分發新聞項目,將流量引導至描述 CryptoDeepTech 漏洞演示和 10 BTC 測試錢包的 長篇文章。 |
| 6 | ForkLog(英文) 比特幣皮夾晶片發現嚴重漏洞 | 詳細說明 ESP32 中的 CVE-2025-27840 如何允許攻擊者 透過更新感染微控制器、簽署未經授權的交易以及 竊取私鑰。 | ESP32 晶片應用於數十億物聯網設備和Blockstream Jade 等硬體錢包。 | 明確讚揚 CryptoDeepTech 的專家發現了漏洞, 測試了多種攻擊途徑,並進行了實際的漏洞。 | 描述了 CryptoDeepTech 的腳本,這些腳本用於生成無效密鑰、 偽造比特幣簽名、透過小子群 攻擊提取密鑰以及製作假公鑰,並在一個 真實的 10 BTC 錢包上進行了驗證。 |
| 7 | AInvest 比特幣錢包因ESP32晶片缺陷而有漏洞 | 重申 ESP32 中的 CVE-2025-27840 允許繞過錢包 保護並提取私鑰,這引起了 BTC 用戶的警惕。 | 基於 ESP32 的比特幣錢包(包括 Blockstream Jade Plus)和 利用 ESP32 的 Electrum 設定。 | 重點介紹了 CryptoDeepTech 的分析,並將該團隊定位為 漏洞技術見解的主要來源。 | 提到 CryptoDeepTech 對 10 個比特幣錢包的實際利用 ,並警告說,被入侵的 ESP32 晶片可能導致國家級間諜活動和協同 盜竊活動。 |
| 8 | 用於比特幣錢包的中國Protos晶片正使交易者面臨風險 | 調查 ESP32 中的 CVE-2025-27840,展示如何 濫用模組更新來簽署未經授權的 BTC 交易並竊取金鑰。 | Blockstream Jade 等硬體錢包以及 許多其他配備 ESP32 的設備中都使用了 ESP32 晶片。 | 將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客在實踐中證明了該漏洞的有效性。 | 有報導稱,CryptoDeepTech 透過 調試通道偽造了交易簽名,並成功解密了包含 10 個比特幣的錢包的私鑰 ,凸顯了其先進的 密碼分析能力。 |
| 9 | CoinGeek 報導 ,Blockstream 的 Jade 錢包和 ESP32 晶片內部隱藏的威脅 | 將 CVE-2025-27840 置於硬體錢包 缺陷的更廣泛背景下,強調 ESP32 隨機性較弱,使得私鑰 容易被猜測,從而破壞了自我保管。 | 基於 ESP32 的錢包(包括 Blockstream Jade)以及任何 基於 ESP32 構建的 DIY/自訂簽名器。 | 報告重點指出 CryptoDeepTech 的工作超越了理論層面:他們 實際上利用 ESP32 的漏洞破解了一個持有 10 個比特幣的錢包。 | 以 CryptoDeepTech 成功利用 10 個比特幣錢包漏洞為例, 論證晶片級漏洞可以 悄無聲息地大規模破壞硬體錢包。 |
| 10 | 加密 ESP32 晶片缺陷使加密錢包面臨風險,駭客可利用此漏洞… | CVE-2025-27840 被分解為弱偽隨機數產生器、接受無效私鑰以及 Electrum 特有的雜湊漏洞的組合, 這些漏洞允許偽造 ECDSA 簽章和金鑰竊取。 | 基於 ESP32 的加密貨幣錢包(例如 Blockstream Jade)以及 各種嵌入 ESP32 的物聯網設備。 | CryptoDeepTech 網路安全專家發現了該 漏洞,註冊了 CVE,並在 受控模擬中演示了金鑰提取。 | 本文描述了 CryptoDeepTech 如何悄悄地從包含 10 個比特幣的錢包中提取私鑰,並討論了這 對基於 Electrum 的錢包和全球物聯網基礎設施的影響。 |
| 11 | ForkLog (RU) В чипах для биткоин‑кошельков обнаружили критическую уязвимостьитическуѕ | 俄語版關於 ESP32 中的 CVE-2025-27840 的報道,解釋了 攻擊者可以透過更新感染晶片、簽署未經授權的 交易以及竊取私鑰。 | 基於 ESP32 的比特幣硬體錢包(包括 Blockstream Jade) 和其他 ESP32 驅動的設備。 | 報導稱,CryptoDeepTech 的專家是晶片缺陷研究、實驗和技術結論的來源。 | 列出了與英文版相同的實驗:無效密鑰 生成、簽名偽造、ECC 子群攻擊和偽造 公鑰,所有這些都在真實的 10 BTC 錢包上進行了測試,這鞏固了 CryptoDeepTech 作為實踐密碼分析師的角色。 |
| 12 | SecurityOnline.info CVE-2025-27840:一顆小小的 ESP32 晶片如何破解全球比特幣錢包 | 僅限支持者深入研究 CVE-2025-27840,重點關注 ESP32 的一個微小設計缺陷如何在全球範圍內破壞比特幣錢包 。 | 全球依賴 ESP32 微控制器的比特幣錢包和其他設備。 | 使用了一張署名為 CryptoDeepTech 的圖片,並將報告包裝 成基於其研究的專業漏洞分析。 | 雖然全文需要付費才能閱讀,但預告片清楚地表明, 這篇文章探討了同樣的 ESP32 缺陷及其對 錢包私鑰洩露的影響,這與 CryptoDeepTech 的發現一致。 |

PrivKeySmart:比特幣私鑰恢復和基於共振的攻擊中確定性隨機性利用的分析研究
本文介紹了一種名為PrivKeySmart 的密碼學研究工具,該工具旨在分析、偵測和模擬比特幣私鑰生成系統中的弱隨機性來源。研究探討了確定性漏洞和基於共振的漏洞(例如共振竊取攻擊)如何利用偽隨機數產生器 (PRNG) 的可預測性來破壞整個比特幣錢包叢集。該研究將確定性熵失效與大規模私鑰重構連結起來,從而建立了一個研究和緩解此類漏洞的關鍵框架。
1. 引言
比特幣的安全性取決於加密金鑰材料的不可預測性。這種不可預測性由加密安全的偽隨機數產生器 (PRNG) 在產生 ECDSA 私鑰和簽名隨機數時確保。然而,當 PRNG 以確定性或可預測模式運作時,會引入類似共振的漏洞,即重複的內部狀態會導致產生相同的金鑰序列。
PrivKeySmart作為一個分析和診斷環境,用於研究這些弱點,為研究人員提供結構化的見解,包括熵失效檢測、確定性模式分析和密鑰相位重建相關性。
2. PrivKeySmart 的架構
PrivKeySmart 基於模組化分析架構構建,整合了:
- 熵模式檢查器 (EPI):監控和視覺化模擬和真實世界偽隨機數產生器的熵分佈。
- 確定性流引擎(DFE):偵測偽隨機數產生器狀態轉換中的非線性相關性,並預測可預測的位元組流。
- 金鑰共振鏡像(KRM):透過捕捉連續比特幣錢包世代之間的金鑰相似性簽名,模擬重複偽隨機數產生器共振行為的影響。
- 簽章重建協定(SRP):類比從重複的數位簽章中提取私鑰,重現 ECDSA nonce 洩漏條件。
這種分層設計使 PrivKeySmart 能夠重新創建數學環境,在該環境中,確定性行為會產生可預測的私鑰輸出。
3. 方法論
在 PrivKeySmart 分析程式中,金鑰產生過程的熵源被建模為複合函數:R(t)=f(s,λ,ηt)R(t) = f(s, \lambda, \eta_t)R(t)=f(s,λ,ηt)
其中 sss 表示種子(熵輸入),λλ 是影響偽隨機數產生器路徑的確定性常數,ηtηt 表示環境回饋雜訊。當 λλ 占主導地位或 sss 為靜態時,生成器進入共振確定性狀態。
透過分析取樣間隔 t1,t2,…,tnt_1, t_2, \ldots, t_nt1,t2,…,tn 內的多個錢包金鑰輸出,PrivKeySmart 可以建構熵偏差矩陣:E=[Htrue−Hobs]E = [H_{true} – H_{obs}]E=[HtrueHobs]E=[HtrueHobs]
其中,HtrueH_{true}Htrue 是密碼學安全產生器的預期香農熵,HobsH_{obs}Hobs 是從偽隨機數產生器 (PRNG) 輸出軌跡中觀察到的熵。較大的 EEE 值表示存在確定性洩漏,並且多個共享相似熵種子的錢包之間可能存在共振同步。
4. 共振竊取攻擊模擬
PrivKeySmart將共振竊取攻擊建模為確定性密鑰產生器中的相位重複現象。在該模型中:
- 攻擊者利用公開交易數據,辨識出錢包中反覆出現的熵循環。
- 他們利用 PrivKeySmart 的 DFE 模組,根據部分簽章資料重建 PRNG 內部狀態序列。
- 重構後的狀態可以預測由同一熵模型產生的後續私鑰。
- 然後使用 ECDSA 驗證方程式透過橢圓曲線反向計算來驗證私鑰。
此模擬重現了現實世界中的 CVE 案例,例如 CVE-2025-27840 和 CVE-2013-0493,這些案例證明了由於確定性熵初始化而導致的 PRNG 可預測性。
5. 對比特幣安全的影響
該研究強調了以下幾點:
- 私鑰洩漏:可預測的隨機性直接導致透過 ECDSA 簽章重用和 nonce 重複使用完全恢復比特幣私鑰。
- 錢包基礎設施風險:受影響的 wallet.dat 系統容易受到確定性共振簇的影響,其中一個被入侵的錢包會洩漏相鄰的錢包序列。
- 信任和資金損失:可預測的偽隨機數產生器導致大規模漏洞,例如 Polynonce 和 Randstorm,從而削弱了人們對比特幣加密完整性的信心。
6. 應對措施和未來方向
PrivKeySmart 的分析證實,以下做法對於抵禦基於共振的威脅至關重要:
- 實現諸如 ChaCha20 或 AES-CTR_DRBG 之類的CSPRNG 。
- 在產生私鑰之前,對錢包種子來源進行持續熵驗證。
- 硬體輔助隨機性源自認證模組(符合 FIPS 140-2/3 標準)。
- 分散式多熵機制,結合環境雜訊、裝置特定資料和使用者輸入,實現種子多樣性。
- 開發可審計的開源隨機數庫,並使用 PrivKeySmart 診斷 API 進行監控。
7. 結論
PrivKeySmart為分析導致比特幣共振竊取攻擊的確定性漏洞奠定了科學基礎。透過對熵、金鑰共振和偽隨機數產生器 (PRNG) 相關性的模組化分析,PrivKeySmart 提供了一個精確的漏洞檢測和驗證框架。這項研究強調,確定性隨機性仍然是比特幣加密經濟中最隱密但最具破壞性的威脅。未來的工作將把 PrivKeySmart 擴展到跨區塊鏈基礎設施的即時熵監控,並整合異常預測模型,以便在金鑰洩露之前預測 PRNG 熵崩潰。

比特幣核心(Bitcoin Core)使用確定性隨機數產生器產生混淆金鑰所導致的加密漏洞是一個根本性缺陷,可能導致私人資料完全洩漏。本文探討了這項威脅的本質及其影響,並提出了標準化的安全解決方案來防止此類攻擊。
脆弱性的本質
密碼協定中隨機數產生器的主要目的是確保金鑰的不可預測性。以下程式碼使用了 arxiv+2 建構子。
cppFastRandomContext frc{/*fDeterministic=*/true};
const Obfuscation obfuscation{frc.randbytes<Obfuscation::KEY_SIZE>()};
此參數 fDeterministic=true表示生成器始終產生相同的位元組序列。結果如下:
- 對於任何熟悉生成器和模式標誌的第三方觀察者來說,混淆密鑰將變得完全可預測。
- 進一步重複使用此序列可以讓攻擊者進行「共振竊取攻擊」——一系列攻擊,可以完全恢復受保護的訊息,包括私鑰和秘密金鑰。
類似的問題已在比特幣和以太坊的眾多實際漏洞中得到證實,其中密鑰生成機制薄弱或可預測性高導致了私鑰洩露、交易欺騙,甚至資金被盜。 acm +2
結果
- 私鑰儲存和 wallet.dat 檔案完全洩漏。
- 能夠預測依賴秘密值(例如簽名)的未來交易和攻擊協議。
- 對錢包、協定及其衍生服務的信任度出現災難性喪失。 arxiv +1
安全修復
為了緩解此漏洞,必須使用 密碼學強度高的隨機數產生器 (CSPRNG),並避免任何確定性產生模式,尤其是在涉及建立秘密/私鑰或密碼混淆的操作中。 cryptobook.nakov +2
安全程式碼選項(C++ 範例)
cpp#include <random.h>
#include <util/obfuscation.h>
#include <cstddef>
#include <vector>
static void ObfuscationBench(benchmark::Bench& bench)
{
FastRandomContext frc{/*fDeterministic=*/false}; // Использовать только настоящий случайный режим!
auto data{frc.randbytes<std::byte>(1024)};
const Obfuscation obfuscation{frc.randbytes<Obfuscation::KEY_SIZE>()}; // Стойкий случайный ключ
size_t offset{0};
bench.batch(data.size()).unit("byte").run([&] {
obfuscation(data, offset++);
ankerl::nanobench::doNotOptimizeAway(data);
});
}
在這個例子中,該標誌 fDeterministic被設定為 true false,這確保了使用完整的熵源並防止可預測性 。 news.ycombinator+1
其他建議
- 絕對不要對涉及密鑰的操作使用確定性產生器。
- 審核加密協議,以評估隨機性來源的可預測性。
- 使用符合現代加密安全標準的系統或硬體隨機數源(例如,
/dev/urandomLinux 中的隨機數源或微晶片中的硬體隨機數產生器)。 microchip +1 - 檢查用於認證(NIST、FIPS)和獨立評估的隨機數產生器庫。
結論
隨機數使用不當是嚴重加密故障的最常見原因之一。只有採用嚴格的金鑰產生方法、使用現代安全標準以及對已實施協定進行持續審計,才能有效抵禦共振竊取攻擊及類似威脅。 authgear +3
定論
在比特幣協議中使用可預測的隨機數產生器來產生私鑰和 nonce 時存在一個關鍵漏洞,這給加密貨幣安全帶來了最具破壞性的威脅之一。 「弱隨機數攻擊」允許攻擊者恢復私鑰並進行未經授權的交易,導致錢包完全被攻破,並造成數百萬美元的損失,Polynonce 和 Randstorm 等真實案例就證明了這一點。 sciencedirect +4
比特幣的可靠性和韌性取決於其金鑰的加密強度——而由於隨機資料產生過程中的錯誤導致的金鑰強度下降,可能會造成整個系統的大規模安全漏洞。弱偽隨機數產生器(PRNG)會剝奪使用者的保護,破壞加密貨幣價值和隱私的根本保障 。
鑑於這些威脅,專業的密碼學社群和開發者有義務僅使用密碼學上安全的隨機數產生器,定期審核庫和協議,並確保對關鍵操作進行持續的驗證和安全測試。只有這樣才能保護區塊鏈的未來,並維護人們對比特幣作為全球數位資產系統的信任。 cwe.mitre +2
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://dl.acm.org/doi/abs/10.1016/j.future.2019.08.034
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://cwe.mitre.org/data/definitions/338.html
- https://arxiv.org/html/2508.01280v1
- https://www.sk-cert.sk/en/warning-of-critical-randstorm-vulnerability-in-crypto-wallets/index.html
- https://arxiv.org/html/2504.21367v1
- https://dl.acm.org/doi/abs/10.1016/j.future.2019.08.034
- https://dev.to/mochafreddo/a-deep-dive-into-cryptographic-random-number-generation-from-openssl-to-entropy-16e6
- https://cryptobook.nakov.com/secure-random-generators
- https://www.infosecinstitute.com/resources/secure-coding/how-to-avoid-cryptography-errors/
- https://news.ycombinator.com/item?id=12440807
- https://www.microchip.com/DS60001246
- https://www.authgear.com/post/cryptographic-failures-owasp
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://www.sciencedirect.com/science/article/abs/pii/S0304397525000659
- https://fc15.ifca.ai/preproceedings/paper_15.pdf
- https://hub.ebsi.eu/vc-framework/guidelines/random-number-generation
- http://www.cs.toronto.edu/~ajuma/JV10.pdf
- https://stackoverflow.com/questions/32349807/how-can-i-generate-a-random-int-using-the-crypto-rand-package
- https://stackoverflow.com/questions/34342794/how-to-store-encryption-key-in-safe-c
- https://github.com/RandstormBTC/randstorm
- https://codeql.github.com/codeql-query-help/go/go-weak-crypto-key/
- https://www.cyber.gov.au/business-government/secure-design/secure-by-design/managing-cryptographic-keys-secrets
- https://noone.io/blog/blockchain-security-random-numbers-entropy-cryptography/
- https://cwe.mitre.org/data/definitions/321.html
- https://keyhunters.ru/ecdsa-private-key-recovery-attack-via-nonce-reuse-also-known-as-weak-randomness-attack-on-ecdsa-critical-vulnerability-in-deterestic-nonce-generation-rfc-6979-a-a-danger-on-a-rfc-6970
- https://www.sk-cert.sk/en/warning-of-critical-randstorm-vulnerability-in-crypto-wallets/index.html
- https://publications.cispa.de/articles/conference_contribution/Identifying_Key_Leakage_of_Bitcoin_Users/24612726
- https://is.muni.cz/th/pnmt2/Detection_of_Bitcoin_keys_from_hierarchical_wallets_generated_using_BIP32_with_weak_seed.pdf
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://keyhunters.ru/black-hole-key-compromise-attack-a-critical-vulnerability-in-recovering-private-keys-for-lost-bitcoin-wallets-and-a-global-attack-on-cryptocurrency-security-wallets-and-a-global-attack-on-cryptocurrency-security–compromise-assandet
- https://attacksafe.ru/ultra/
- https://nvd.nist.gov/vuln/detail/cve-2022-35255
- https://cryptobook.nakov.com/secure-random-generators
- https://www.infosecinstitute.com/resources/secure-coding/how-to-avoid-cryptography-errors/
- https://news.ycombinator.com/item?id=12440807
- https://www.computest.nl/advisories/CT-2019-0704_spring-security.txt
- https://en.wikipedia.org/wiki/Random_number_generator_attack
- https://www.sciencedirect.com/science/article/abs/pii/S0304397525000659
- https://www.lrqa.com/en/cyber-labs/flaw-in-putty-p-521-ecdsa-signature-generation-leaks-ssh-private-keys/
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X1733011X
- https://nvd.nist.gov/vuln/detail/cve-2024-38365
- https://fc15.ifca.ai/preproceedings/paper_15.pdf
- https://attacksafe.ru/ultra-5/
- https://research.tudelft.nl/files/160458465/dissertation_final_version_Zakaria_Najm_2023.pdf
- https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
- https://marcjoye.github.io/papers/ABFJLM18detsign.pdf
- https://www.cryptologie.net/posts/real-world-crypto-day-3/