GitHub:未加密的 Git 协议正在成为历史
前几天,GitHub 发布了一篇博客。这表明我们正在采取措施提高托管代码存储库的安全性。稍后,当您推送和拉取 Git 数据时,您将需要使用加密的 Git 协议。这些更改会影响 SSH 支持的一些密钥。根据 Git 系统团队的说法,未加密的 Git 协议已成为过去。

具体来说,GitHub 不再支持 DSA 密钥(数字签名算法),一些传统的 SSH 算法如 HMAC-SHA-1 和 CBC 不再适用。特别是在后一种情况下,CBC 现在是攻击者频繁且容易攻击的目标。 GitHub 添加了两个新的主机密钥,SSH-ECDSA 和 Ed25519。这两个都是基于椭圆曲线密码学的新标准。对 RSA 密钥也有新的要求(Rivest-Shamir-Adleman),将来会使用 SHA-2 签名来满足额外的安全要求。
此更改不会影响所有 GitHub 用户
但是,根据系统团队的说法,大多数用户不受此政策变化的影响。根据公告,只有通过 SSH 或 git:// 连接到仓库的用户才会受到影响。如果您的 Git 以 https:// 开头,它也不受影响。不久前,GitHub 还放弃了 Git Actions 密码认证。虽然 Git 协议的加密要求在技术上并不相关,但这两个变化是 GitHub 为保护用户数据所做的努力。
删除旧的键类型</ h3>
GitHub 团队表示,放弃旧的密钥类型和签名使用的一些算法的原因是,在原始技术下,更多的攻击和更新的攻击方法会增加安全问题……几十年前被认为是安全的,今天并不总是如此。 DSA 密钥的安全级别只有 80 位,但当前的标准是 128 位。 GitHub 的用户需要或多或少地了解这一点,但根据 GitHub 内部统计,仍有 0.3% 的 GitHub 请求使用 DSA。














