删除 RC4 流密码和删除 SHA 1 证书之间有什么联系吗?含义 - 删除一个是否会强制删除另一个,或者只是碰巧它们都已同时删除?
1 回答
TL;DR:没有这样的联系。这些算法中的每一个的目的都是不同的,它们彼此之间没有这样的影响。
SHA1是一种加密散列函数,其目的是创建证书中数据的单向散列。密码散列函数有几个属性,在这种情况下重要的是第二个原像抗性(给定data1
,应该很难找到不同data2
的)和抗碰撞性h(data1)=h(data2)
(应该很难找到data1
等等data2
那个h(data1)=h(data2)
)。
如果用于散列证书的散列函数不满足这些要求,则可以提出具有相同散列的不同证书。那会很糟糕。
SHA1 的问题在于它更容易找到它应该存在的冲突。为了阐明问题的严重程度,160 位散列函数需要大约 2^80 次散列操作(预期值)才能找到冲突。与此相反,根据 2005 年发布的攻击,对于 SHA1,它约为 2^63。这仍然是一个巨大的数字,实际上仍然不可行,但人们认为几年后可能会有可行的攻击,所以看起来更好当人们仍然有时间将证书更改为更好的哈希函数而 SHA1 仍然非常安全时,现在就退出 SHA1。
RC4是流密码,它的输入是数据流和密钥,输出是加密流。长期以来一直存在已知的弱点,但这些弱点并不能真正破坏 RC4,因为它在 SSL/TLS 中使用(攻击在计算上不可行)。然后在 2015 年,多位研究人员提出了针对 RC4 的不同攻击(Bar-mitzvah 攻击、NOMORE 攻击、改进的 Royal Holloway 攻击),这使得在现实生活中破解 TLS 中的 RC4 变得更加可行。实际上,如果使用 RC4 作为流密码,现在很可能有组织可以破解 TLS,因此根据 IETF 的建议将其删除。