研究人員警告,當今互聯網上許多用來保護通信的1024位密鑰,其基于的質數能夠以無法檢測的方式埋下后門。
網站、電子郵件、VPN、SSH,以及其他網絡連接使用著許多公鑰加密算法,其難于破解的特性來自于離散對數的數學復雜性。使用傳統的方法不能有效地計算大質數群組的離散對數,因此想要破解強加密,在計算實現上不大行得通。
大多數密鑰生成算法都基于可驗證的隨機產生的質數參數。然而,很多參數卻是標準化的,Diffie-Hellman和DSA之類流行加密算法一直在使用這些參數,卻從未公布過用來產生它們的種子。這就根本無法分辨這些質數有沒有被故意植入了“后門”——有意選擇那些可以減省破密所需計算量的質數。
來自賓夕法尼亞大學、法國國家信息與自動化研究所(INRIA)、法國國家科學研究院(CNRS)和洛林大學的研究人員發表了一篇論文,揭示了為什么該密碼透明性的缺乏是有問題的,且可能意味著當前使用的很多密鑰都是基于有后門的質數——除了其創造者,沒人知道后門的存在。
為證明這一點,研究人員創建了一個帶后門的1024位 Diffie-Hellman 質數,并演示了解決這個質數的離散對數問題,比解決真正隨機質數的離散對數問題,要簡單好幾個數量級。
研究人員在論文中說道:“目前對普通1024位離散對數問題的估算顯示,此類計算可能需要數億美元的特殊硬件支持。相反,對一個特意做了陷阱的質數做離散對數計算,我們用學校的機群算了2個月就算出來了。”
問題在于:對不知道后門的人而言,要證明質數被設了陷阱幾乎是不可能的。
加密算法實現者在采用可驗證質數產生機制上的普遍失敗,意味著弱質數的使用實際上是不可檢測的,也不太可能引起關注。
這在概念上與雙橢圓曲線(Dual_EC)隨機數生成器里發現的后門很類似。該后門被懷疑是美國國家安全局故意引入的。不過,那個后門好找得多,而且,不像 Diffie-Hellman 或DSA,Dual_EC從未被廣泛采納。
由于其完美的向前保密屬性能在密鑰失竊時保住過往通信安全,瞬時Diffie-Hellman算法(DHE),正慢慢取代RSA算法作為TLS協議中的密鑰交換算法。然而,帶后門質數的使用,可能會讓這一安全優勢毀于一旦。
更糟的是,盡管美國國家標準與技術局(NIST)2010年起就在建議采用更高密鑰位數,1024位密鑰依然在網上廣泛使用。據 SSL Pulse 項目所言,互聯網140000個頂級HTTPS網站中有22%使用的是1024位的密鑰。
基于離散對數破解困難性的加密系統,應將1024位質數的使用看做不安全因素。論文中針對帶后門質數的離散對數計算,僅適用于1024位大小,針對此類后門的最有效防護,就是總是采用任何計算都不適用的密鑰位數大小。
研究人員估測,對2048位密鑰進行類似計算,即便采用帶后門的質數,也會比對1024位密鑰要難上1600萬倍,很多年后都不可行。當前解決方案,就是切換成2048位密鑰,但在未來,所有標準化質數都應當連同其種子一起公布。
前NSA雇員愛德華·斯諾登在2013年揭秘的文件顯示,該間諜機構有能力解密大量VPN流量。去年,一組研究人員猜測,個中原因,可能就是一小撮固定或標準化質數組在實踐中的廣泛使用。
那個時候,研究人員在論文中寫道:“對一個1024位質數組進行預計算,可能會導致18%的流行HTTPS網站被被動監聽;第二組被預計算,則會讓66%的 IPSec VPN 和26%的SSH服務器流量被解密。對NSA泄露文件的精密解讀顯示,該機構對VPN的攻擊,符合其在這方面有了成功突破的表現。”