出於安全方面考慮OpenSSH宣布放棄對SHA-1認證方案的支持
OpenSSH是最受歡迎的連接和管理遠程服務器實用工具之一,近日團隊宣布計劃放棄對SHA-1認證方案的支持。OpenSSH在公告中引用了SHA-1散列算法中存在的安全問題,被業內認為是不安全的。該算法在2017年2月被谷歌密碼學專家破解,可利用SHAttered技術將兩個不同文件擁有相同的SHA-1文件簽名。
不過當時創建一個SHA-1碰撞被認為需要非常昂貴的計算成本,因此谷歌專家認為SHA-1在實際生活中至少還需要等待半年的時間,直到成本進一步下降。隨後在在2019年5月和2020年1月發布的研究報告中,詳細介紹了一種更新的方法,將SHA-1選擇-前綴碰撞攻擊的成本分別降低到11萬美元和5萬美元以下。
對於像國家級別以及高端網絡犯罪集團來說,讓他們生成一個SSH認證密鑰,從而讓它們能夠遠程訪問關鍵服務器而不被檢測到,那麼5萬美元的代價是非常小的。OpenSSH開發者今天表示:“由於這個原因,我們將在不久的未來版本中默認禁用’ssh-rsa’公鑰簽名算法。”
OpenSSH應用程序使用”ssh-rsa “模式來生成SSH驗證密鑰。這些密鑰中的一個存儲在用戶要登錄的服務器上,另一個存儲在用戶的本地OpenSSH客戶端中,這樣用戶就可以在每次登錄時不需要輸入密碼就可以訪問服務器,而是以本地驗證密鑰來代替登錄。
在默認情況下,OpenSSH ssh-rsa模式通過使用SHA-1散列功能生成這些密鑰,這意味著這些密鑰容易受到SHAterred攻擊,使威脅行為者能夠生成重複的密鑰。OpenSSH開發者今天表示:“遺憾的是,儘管存在更好的替代方案,但這種算法仍然被廣泛使用,它是原始SSH RFCs規定的唯一剩下的公鑰簽名算法”。
OpenSSH團隊現在要求服務器所有者檢查他們的密鑰是否已經用默認的ssh-rsa模式生成,並使用不同的模式生成新的密鑰。OpenSSH團隊表示,推薦的模式是rsa-sha2-256/512(自OpenSSH 7.2以來支持)、ssh-ed25519(自OpenSSH 6.5以來支持)或ecdsa-sha2-nistp256/384/521(自OpenSSH 5.7以來支持) 。