资讯首页 新闻资讯 云计算测评 云服务商动态 技术频道
上云无忧 > 云计算资讯  > 新闻资讯 > Git 迁离 SHA-1,迁移到 SHA-265

Git 迁离 SHA-1,迁移到 SHA-265

发布时间: 2020-02-12 11:43:50 |浏览量:517| 评论: 0

大受欢迎的Git软件版本控制系统的开发人员宣布,他们现在开始走上了迁离SHA-1哈希算法的道路。



这条道路将面临挑战,因为自Linux之父Linus Torvalds早在2005年最初开发Git以来,SHA-1就已经是这个版本控制系统的一部分。Git使用SHA-1生成的哈希值来识别修订版,保护代码免受损坏。遗憾的是,SHA-1的基础已因代码库中发现的一系列安全漏洞而削弱,被认为支离破碎。实际上,迁离SHA-1的主要原因之一是这种哈希算法的糟糕状态可用于破坏Git代码存储库。


换句话说,这种数据外密码哈希函数不再被认为是安全的。据官方的Git哈希函数转换文档(https://github.com/bk2204/git/blob/transition-stage-4/Documentation/technical/hash-function-transition.txt)介绍,SHA-1的不安全性广为人知已有一段时日。该文档指出:“随着时间的推移,安全研究人员已陆续发现了SHA-1的一些漏洞和缺陷。2017年2月23日,SHAttered攻击就表明了实际存在的SHA-1哈希冲突。”


为什么如此具有挑战性?


有人会认为,这只是将Git迁移到一种更新颖更安全的哈希算法的简单方法。遗憾的是,事实并非如此。为什么?Git存储了许多对象。每当对一个对象进行哪怕最细小的更改,都会创建新的SHA-1哈希,然后将该对象以不同的名称存储起来。因为Git是一个版本控制系统,所以这意味着那每一个对象都保存起来。


现在设想一下:将Git上存储的每个对象统统迁移到一种新的哈希算法。单单一个Git存储库可能含有数千个对象。2018年,Git上的存储库数量超过1亿个。再加上提交的代码也有SHA-1哈希,因此迁移任务变得很艰巨。


但由于其他开发人员(比如Mozilla的那些开发人员)已经从SHA-1迁移出去,因此早该进行迁移了。


新哈希


Git计划从SHA-1迁移到SHA-265。所有存储库都进行这种迁移,显然会分阶段完成。据迁移文档显示,“默认情况下,Git v2.13.0及更高版本随后迁移至经过加固的SHA-1实现,这不易受到SHAttered攻击。”当然,这不足以确保存储在Git上的对象的安全性,因此要迁移到新算法。


Git要实现的一些迁移目标包括:


不需要Git之外的任何一方采取任何行动。

SHA-256存储库可以与SHA-1 Git服务器进行联系(用于推送/获取)。

用户可以在SAH-1标识符和SHA-256标识符之间选择。

新的签名对象将使用新的更强大的哈希函数。

便于全面迁离SHA-1(包括如果不再需要与SHA-1兼容,就删除本地元数据)。

对象格式保留了简单性和一致性。

创建存储库转换工具。


眼下,没有给出迁移方面的时间表或截止日期。该计划最初由Git的开发人员Brian Carlson早在2017年就提出了。这项迁移工作开展已有一段时日,代码现处于alpha测试阶段。

更多【新闻资讯】相关文章

有话要说

全部评论

暂无评论
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部