GitHub:未加密的 Git 協(xié)議即將成為歷史
日前 GitHub 發(fā)布博客,表示正在采取措施提高其托管的代碼倉(cāng)庫(kù)的安全性。之后推送和拉取 Git 數(shù)據(jù)時(shí)必須使用加密的 Git 協(xié)議。這些變化將影響 SSH 中支持的一些密鑰,根據(jù) Git 系統(tǒng)團(tuán)隊(duì)的說(shuō)法,未加密的 Git 協(xié)議自此將成為過(guò)去式。
具體而言,GitHub 不再支持 DSA 密鑰(Digital Signature Algorithm),一些傳統(tǒng)的 SSH 算法,如 HMAC-SHA-1 和 CBC 也不再適用。尤其是后者,如今 CBC 已經(jīng)成為攻擊者頻繁攻擊且容易攻擊的一個(gè)目標(biāo)了。GitHub 將為 SSH 增加了兩個(gè)新的主機(jī)密鑰 —— ECDSA 和 Ed25519,它們都是基于橢圓曲線加密為基礎(chǔ)的新標(biāo)準(zhǔn)。還會(huì)新增對(duì) RSA 密鑰的要求(Rivest-Shamir-Adleman),今后將通過(guò) SHA-2 簽名來(lái)滿足額外的安全要求。
變化并不影響所有 GitHub 用戶
不過(guò)根據(jù)系統(tǒng)團(tuán)隊(duì)的說(shuō)法,大多數(shù)用戶都不會(huì)受到此次政策變化的影響。根據(jù)公告,只有那些通過(guò) SSH 或 git:// 連接到倉(cāng)庫(kù)的用戶才會(huì)受到影響,如果你自己的 Git 是以 https:// 開頭的,也同樣不會(huì)受到影響。前段時(shí)間,GitHub 還放棄了對(duì) Git Actions 的密碼認(rèn)證,雖然此次 Git 協(xié)議的加密要求與之沒(méi)有技術(shù)上的聯(lián)系,但這兩項(xiàng)改變都是 GitHub 為了保護(hù)用戶數(shù)據(jù)安全所做出的努力。
移除舊的密鑰類型
GitHub 團(tuán)隊(duì)表示,之所以要放棄舊的密鑰類型和一些用于簽名的算法,是由于越來(lái)越多的攻擊和新的攻擊方法在原本的技術(shù)下容易引起更多的安全問(wèn)題。幾十年前被認(rèn)定為安全的東西,放到如今已經(jīng)不一定適用了。DSA 密鑰只有 80 位的安全級(jí)別,而現(xiàn)在的標(biāo)準(zhǔn)則是 128 位。雖然使用 GitHub 用戶對(duì)此應(yīng)該多多少少有所了解,但根據(jù) GitHub 的內(nèi)部統(tǒng)計(jì),目前仍然有 0.3% 的 GitHub 請(qǐng)求在使用 DSA。
移除不安全的簽名算法
如今不少 SSH 客戶端包括 OpenSSH 7.2 (rsa-sha2-256 和 rsa-sha2-512)以及更新的版本都已支持 SHA-2 與 RSA 的結(jié)合。雖然 RSA 密鑰被認(rèn)為更安全(ssh-rsa),但在舊的 Git 客戶端中,它們經(jīng)常與過(guò)時(shí)的簽名算法(基于 SHA-1)結(jié)合使用。由于 SHA-1 簽名算法十分脆弱,因此 GitHub 如今將強(qiáng)制新的 RSA 客戶端使用 SHA-2 簽名。盡管如此,用戶目前還可以繼續(xù)使用 SHA-1 簽名,但從 2021 年 11 月 2 日開始所有密鑰都需要使用 SHA-2 簽名。
這些變化何時(shí)生效?
Git 團(tuán)隊(duì)已經(jīng)分享了即將到來(lái)的變化的時(shí)間表,新的主機(jī)密鑰 ECDSA 和 Ed25519,最早將在 2021 年 9 月 14 日通過(guò) UpdateHostKeys-Extension 提供。11 月 2 日起,用 SHA-1 算法設(shè)置 RSA 密鑰的選項(xiàng)將不再適用,屆時(shí)將強(qiáng)制使用 SHA-2。兩個(gè)新的主機(jī)密鑰 ECDSA 和 Ed25519 將從 11 月 16 日開始全面運(yùn)行,與此同時(shí),之前的 DSA 主機(jī)密鑰也將退出支持。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:GitHub:未加密的 Git 協(xié)議即將成為歷史
本文地址:https://www.oschina.net/news/158632/improving-git-protocol-security-github