MD5和SHA-1都已经成为弱密码算法,最近美国国家标准与技术研究院 (NIST) 表示是时候淘汰安全哈希算法 1 (SHA-1),这是一种在安全应用程序中使用的已有 27 年历史的弱算法。但是,其实我们使用MD5的信息系统却还大量的存在着。
“我们建议任何依赖 SHA-1 安全的人尽快迁移到 SHA-2 或 SHA-3,”NIST 计算机科学家 Chris Celi在周四的预制声明中说。
尽快不一定那么快:NIST 表示,应该在 2030 年 12 月 31 日之前从软件和系统中删除 SHA-1。与此同时,科技行业已经在很大程度上向前发展。
SHA-1 是联邦信息处理标准 (FIPS) 180-4批准使用的七种哈希算法之一。到 2030 年底,政府哈希标准的下一个修订版 FIPS 180-5 将不再将 SHA-1 作为受支持的规范。
NIST 打算更新SP 800-131A和其他相关 NIST 出版物以反映 SHA-1 的停用。此外,它正在寻求发布用于验证加密模块和算法的过渡策略。
SHA-1 散列是通过将任意长度的消息映射到由 160 位组成的固定长度消息摘要来生成的,通常由 40 个十六进制数字表示。例如,消息“密码”导致 SHA-1 摘要5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
。
哈希不应该是可逆的,但是可以预先计算像“密码”这样的简单消息输入并将其放入查找表中,这使得从相应的哈希摘要中导出字典存储的输入消息变得微不足道,假设它们是未加盐的——结合增强安全性的附加值。
NIST 在 2011 年弃用了 SHA-1,并在 2013 年禁止将其用于数字签名创建和验证,但由于2005 年描述的理论碰撞攻击在 2017年变得实用。
碰撞攻击是指两个输入消息产生与输出相同的散列值。对于数字签名或文件校验和等应用程序,您不希望发生冲突,因为它们违反了关于唯一性的安全假设。当合法程序和恶意程序共享相同的哈希值时,这是次优的。
到 2015 年,Facebook、谷歌、微软和 Mozilla 等公司已经计划与 SHA-1 保持距离。到 2017 年,主要的网络浏览器停止识别 SHA-1 证书,但行业其他公司花了一段时间才赶上来。
尽管 SHA-1 存在众所周知的弱点,但近年来它已经出现,支持遗留应用程序并提供劣质密码存储。微软终于在 2020 年 8 月从 Windows 更新过程中删除了 SHA-1 。
即使没有被广泛使用,SHA-1 仍然可以广泛使用。NIST 的密码算法验证程序为供应商验证密码算法,其中包括2,272 个在过去五年中经过验证但仍支持 SHA-1 的密码模块。
这些模块是密码系统的构建块,不一定使用 SHA-1,但它们支持它。因此,在其产品中加入任何这些模块的公司应该寻找排除过时算法的修订版本。而且这些模块的制造商也不能袖手旁观,因为联邦调查局要求每五年对密码模块进行一次验证。
Celi 解释说,2030 年后仍在使用 SHA-1 的模块将没有资格由联邦政府购买。有八年的时间来提交更新似乎是绰绰有余,但 Celi 警告说,随着截止日期的临近,可能会出现提交积压的情况。希望避免潜在验证延迟的开发人员应尽早提交修改后的代码。
原文始发于微信公众号(祺印说信安):美国NIST建议在2030年之前放弃弱SHA-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论