GitHub團隊進一步提高平臺安全性,決定更改Git協定,在用戶拉取和推送Git資料的時候,提供額外的保護,這些更改包括取消所有DSA金鑰支援、刪除舊的SSH演算法、關閉未加密的Git協定,以及新增要求RSA金鑰等。大部分用戶不會受到影響,只有使用SSH或git://連接的用戶,需要進行相對應的措施。

之所以GitHub要更改SSH支援的金鑰以及刪除未加密的Git協定,官方提到,公鑰加密技術仰賴安全演算法和足夠強健的金鑰,來確保用戶的資料安全,而較少位元的意思,通常代表較容易遭到暴力破解,而且較舊的演算法也存在已知的攻擊漏洞,考慮到現代運算能力和攻擊的變化,在2001年被視為安全的技術,在2021年已經不再安全。

這些變更包括刪除舊的金鑰類型,官方解釋,DSA金鑰只有80位元安全等級,低於一般標準128位元,而且現在也只有不到0.3%的GitHub請求使用DSA,因此拒絕DSA金鑰能在對極少用戶產生影響的情況下,提高安全性,之後GitHub還會取消對DSA主機金鑰的支援。

同時,GitHub還要棄用不安全的簽章演算法,雖然RSA金鑰比DSA強大,但是較舊的Git客戶端,可能會將RSA金鑰和過時的SHA-1簽章演算法一起使用,官方強調,不少SSH客戶端包括OpenSSH 7.2和更新的版本,都已支援SHA-2簽章RSA,這是更安全的配置,但是因為SHA-1簽章演算法很脆弱,因此他們決定不再允許新的RSA客戶端使用SHA-1簽章,而必須使用SHA-2。

GitHub還要移除SSH服務的部分演算法,像是hmac-sha1訊息鑑別碼和所有CBC加密也都會被刪除,特別是與不少攻擊相關聯的CBC加密,而官方也表示,根據他們統計資料,現在幾乎所有客戶端都使用更安全的加密和MAC演算法,因此刪除這些不安全的演算法,對用戶影響不大。

ECDSA和Ed25519是以橢圓曲線加密為基礎的新標準,提供適度的大小和計算複雜度,GitHub在過去並沒有提供這些作為主機金鑰,但是他們承諾將會開始提供ECDSA和Ed25519作為選項。而在Git協定方面,未加密的git://沒有提供完整性或是身份驗證,所以容易遭到竄改,官方表示,已經很少用戶使用該協定,特別這些協定並無法用來推送程式碼,因此GitHub現在停用對該協定的支援。

這些更改會從9月14日開始,一直到2022年3月15日,開發者可以使用OpenSSH 7.2以上版本,使用更新到libssh2 1.9.0的libgit2與其他工具,並且準備接受新的主機金鑰,以避免受到影響。當用戶的Git遠端操作使用https://開頭,則不會受到任何影響。

熱門新聞

Advertisement