美国国家标准暨技术研究院(NIST)认为目前受广泛使用的SHA-1加密算法,已经不够安全,因此宣布SHA-1应该在2030年后淘汰,建议还依赖SHA-1安全性的IT专业人员,应尽快更新采用SHA-2或SHA-3。
SHA-1前3个字母为Secure Hash Algorithm的缩写,从1995年以来,一直是联邦资讯处理标准(FIPS)180-1的一部分。SHA-1是SHA的修改版本,而SHA是美国联邦政府在1993年广泛使用且标准化的散列函数,但因为当前越来越强大的运算能力,已经可对该算法进行碰撞攻击(Collision Attack),因此NIST才会宣布SHA-1应该在2030年12月31日退场,并采用更安全的SHA-2和SHA-3算法。
SHA-1目前已经是许多安全应用程序的构建模块,像是在用户加载网页时,通过采用SHA-1,便能够相信来源的真实性。SHA-1通过对消息的字符进行复杂的数学运算,生成称为散列的字符短字符串,第三方要从散列重建原始消息是不可能的,收件人也可以通过简单的方法来知道原始消息是否遭到篡改,因为即便是只对消息动了小手脚,生成的散列也会跟着变动。
但是过去被认为安全的SHA-1,在如今强大的运算能力下变得不可靠,NIST表示,现在的计算机已经可以创建欺诈式消息,也就是经过篡改的消息,能够产生与原始消息相同的散列值,这将危害到真实消息,而且近年这些碰撞攻击已经被用来破坏SHA-1。
NIST过去曾宣布,美国联邦应该在数字签名创建等,碰撞攻击构成严重威胁的情况下,停止使用SHA-1。随着其他应用程序也面对日渐严重的SHA-1碰撞攻击,NIST现在宣布2030年12月31日前应该停止使用SHA-1,该组织将会颁布FIPS 180-5来修正SHA-1规范,并且创建并发布用于验证加密模块和算法的转换策略。
NIST宣布2030年12月31日后停用SHA-1加密算法,这代表着联邦政府不允许购买2030年后仍在使用SHA-1的模块,企业目前有8年的时间换掉SHA-1。