研究人員在未提取私鑰的情況下偽造1024位元RSA簽章
重點速覽
- •加州大學聖地牙哥分校與Inria的研究人員在未提取私鑰的情況下偽造了1024位元RSA簽章,對硬體安全模組上未加填充的原始簽章預言機發送了約43億次查詢。
- •這次攻擊在五個月內耗費了1,380個CPU核心年,遠低於分解同一金鑰預估的500,000至1,000,000個核心年;預計算完成後,後續偽造約需180個核心年。
- •該技術需要原始、未填充的RSA簽署介面,因此標準的PKCS#1 v1.5與RSA-PSS簽章實際上不受影響;依賴secp256k1 ECDSA與Schnorr簽章的比特幣與乙太坊亦不受影響。
- •NIST自2013年起已禁止將1024位元金鑰用於數位簽章,且底層演算法可追溯至2007年,研究人員的實際實作才是新穎之處。
- •對加密貨幣託管機構而言,這項發現表明,若簽署API與審批流程遭入侵,僅靠安全硬體並不足夠;EY的2026年調查與ESMA於7月8日針對金鑰與儲存管理的監理行動均反映了這一風險。

加州大學聖地牙哥分校的一組研究人員證明,透過向硬體安全模組(HSM)——一種用於產生並儲存加密金鑰、並將金鑰材料隔離於內部的強化設備——發送大量查詢,即可偽造1024位元RSA簽章,且全程未從設備中提取私鑰。
這項發現指出加密貨幣託管機構面臨的一類獨特風險:若攻擊者入侵了獲授權使用金鑰的系統,僅將金鑰存放於防篡改硬體中並不足夠。
偽造金鑰從未簽署過的簽章
在IACR ePrint 2026/2131中,加州大學聖地牙哥分校的Laura Shea、Miro Haller、Adam Suhl與Nadia Heninger,連同Inria的Emmanuel Thomé,描述了取得原始RSA簽章預言機——一種對提交的任意資料原樣簽署、不套用任何填充的介面——的臨時存取權限,最終如何使攻擊者能夠離線偽造簽章。
這次攻擊涉及2^32次基本簽署請求——略多於43億次查詢——耗費1,380個CPU核心年的運算時間,分散在五個月內完成。相較之下,根據研究人員的專案資料,分解同一個1024位元RSA模數大約需要500,000至1,000,000個核心年。其中大部分工作僅在預計算階段執行一次;之後,偽造一個選定簽章約需180個核心年。
1024位元金鑰本身已屬過時:NIST指引自2013年起已禁止使用1024位元RSA金鑰產生數位簽章。
該演算法可追溯至2007年。改變的是研究團隊實際行了這次攻擊,正如Bruce Schneier於9月28日所指出的:
"真正的新意在於其實作。" — Bruce Schneier
為何未填充簽署是整個攻擊的關鍵
這類攻擊存在一個關鍵限制:它需要存取原始、未填充的RSA簽署或解密預言機。使用PKCS#1 v1.5或RSA-PSS的標準RSA簽章並不會暴露此類介面,因此該技術並不構成對正確實作的RSA的實際攻擊。這一區別的意義遠超此演示:RSA仍是最廣泛部署的公鑰演算法之一,保護著TLS握手、程式碼簽署與支付系統。
正如Decrypt所指出的,研究人員關閉了HSM上經認證的FIPS模式——即依據美國聯邦密碼學標準驗證的配置——並使用了他們自己的測試金鑰。
根據論文,原始簽署存取權限仍可能出現在HSM API以及RSA盲簽章系統中。論文引用RFC 9474作為例子,描述了伺服器在從未見過原始訊息的情況下對盲化訊息進行簽署的情境。
為了說明並行請求累積的速度,該研究使用了Apple的23億部活躍設備這一數字。以每分鐘一個代幣計算,單一設備需要約1,700萬年才能達到2^43次查詢。然而,若分散在23億部設備上,同樣數量的請求約2.3天即可完成。
簽章介面是安全邊界的一部分
對加密貨幣託管機構而言,將私鑰鎖在安全硬體中並不能提供完整的安全保障。呼叫該金鑰的API、審批流程與自動化系統本身就帶有風險。
業界已經反映出這一顧慮。根據EY的2026年調查,數位資產安全性與金鑰簽署流程在託管機構遴選過程中的重要性已大幅提升。ESMA於7月8日推出的共同監理行動同樣聚焦於金鑰與儲存管理、交易控制以及事件應變的審查。
根據研究人員的說法,暴露於簽章預言機之下的RSA,對於典型的102至4096位元金鑰,其安全性比基於質因數分解的估計低15-30位元。在此模型下,4096位元RSA甚至無法提供128位元加密的安全強度。
並非比特幣或乙太坊的破解
這項研究僅涉及RSA。乙太坊使用secp256k1 ECDSA,而比特幣採用secp256k1 ECDSA與Schnorr簽章,因此該演示的攻擊不適用於它們的交易簽署系統。
然而,更廣泛的託管風險問題並非全新。Cryptopolitan於9月20日的報導描述了遭入侵的簽署權限被用於從Fetch.ai與NuNet盜取約200萬美元的過程。該案例涉及個人取得金鑰本身;而這項新研究表明,攻擊者可能無需持有金鑰即可取得簽署權限。