因為“活板門”質數(‘trapdoored' primes)的出現,使用1024位密鑰加密算法已不再安全。在本文中,專家Michael Cobb解釋了加密后門的工作機制。
自2010年起,美國國家標準與技術研究院(NIST)建議使用最少2048位數字簽名算法(DSA),Rivest-Shamir-Adleman(RSA)算法和diffie-hellman算法,自2014年起,政府機構不允許使用1024位密鑰。
然而,現在常用的仍然是1024位密鑰。部署和兼容性問題是其中一個原因。例如,域名系統安全擴展的規范限制最多到1024位DSA密鑰,Java只支持diffie - hellman和DSA密鑰,高于1024位的版本8在2014年才發布。
鑒于攻擊成本,公眾對于針對1024位密鑰進行的攻擊缺乏必要的緊迫感。
然而,由于“活板門”質數(‘trapdoored' primes)的出現,攻擊1024位密鑰不再是理論上的。“活板門”質數允許攻擊者打破某些1024位密鑰來解密通信和密碼,仿冒關鍵業主簽署數據,而受害者毫不知情。
許多加密系統的安全性基于數學問題,涉及質數眾多,以致攻擊者難以解決離散對數問題。與RSA密鑰的素數一樣獨一無二,diffie-hellman質數和DSA經常使用標準化,并被大量的應用程序使用。
“活板門”質數都是精雕細琢的質數,有特殊的數域篩,專用的整數分解算法,可用來求解離散對數問題。這使得破壞1024位密鑰比以往容易了10000倍。
更糟糕的是,沒有已知的現行方式能夠知曉攻擊發生。密鑰被破壞時,一個‘密鑰活板門'看起來像任何密鑰。一旦破壞完成,攻擊者可以利用其破解任何加密。該后門可用于加密解密使用diffie - hellman密鑰交換及使用DSA算法的通信加密或偽造簽名,而這些都是網絡和數據安全的支柱。
一旦攻擊者獲取到一個或多個‘活板門’質數,并將其納入標準的或廣泛使用的庫,數億用戶都將成為潛在的受害者。
此前斯諾登已暗示加密正被削弱,其研究表明一些標準化的1024位密鑰可能存在的“活板門”質數。例如diffie - hellman組RFC 5114中指定參數,被廣泛用作生成加密密鑰的基礎,多用在應用程序使用傳輸層安全協議、安全Shell協議的遠程管理服務器和互聯網密鑰交換協議。
這些參數來自NIST的測試數據。因為“活板門”質數的存在和積極使用,使用1024位密鑰已不再安全。企業和軟件開發者使用基于離散對數問題的硬度密碼需要使用至少2048位密鑰加密算法。