首页
学习
活动
专区
圈层
工具
发布

SHA1漏洞
EN

Security用户
提问于 2016-11-04 08:01:20
回答 4查看 5.6K关注 0票数 4

我们目前正在与我们的web应用程序中的第三方组件集成。这种集成的一部分需要通过http发送数据。这是通过POST参数完成的。请求中包含一个附加参数,它是其他参数的SHA1散列,加上密钥,组合如下:

代码语言:javascript
复制
param1.param2.param3.param4.param5.param6.secretkey

处于中间攻击的恶意用户或人可以访问参数和输出哈希,但不能访问未通过http发送的秘密密钥。我一直在读到,SHA1被认为是弱的,如果有足够的资源,就会崩溃。我想更多地了解这个设置的健壮性,以及SHA1是如何弱的。

我的问题如下:

  1. 攻击者可以遍历所有可能的秘密密钥组合,创建一个新哈希,直到找到匹配的哈希为止。一旦找到秘密密钥,修改在我们之间发送的数据(然后生成一个新的哈希)将是微不足道的,而且至关重要的是,无法检测到。除了蛮力外,还有其他方法来找出秘密钥匙吗?暴力强迫可以用来对付任何算法,让我相信有更好/更快/更便宜的方法可以做到这一点。换句话说,攻击者如何利用SHA1的弱点?
  2. 如果我们无法让他们通过使用SHA2或SHA3来增加他们的消息的安全性,那么使用SHA1的合适的长密钥会保护我们免受任何攻击吗?
EN

回答 4

Security用户

回答已采纳

发布于 2016-11-04 08:32:44

你应该读读这篇文章。在任何情况下,HMAC都是首选方案。使用键控哈希的方式暴露了哈希算法的所有弱点。然而,HMAC仍然是安全的,因为它的安全性依赖于不太强的哈希算法假设。

请注意,与您打算使用的散列(密匙包消息)(而不是散列(Message可比))相反,计算散列的方法是完全不安全的,因为您可以读取这里这里

票数 5
EN

Security用户

发布于 2016-11-04 12:26:44

在大键的情况下,知道参数和不知道键和不知道都没有多大区别,因为键中的任何附加位都会生成完全不同的SHA。如果攻击者知道您的秘密附加密钥的长度,可能会有一个小优势,但如果该密钥足够大,您就没有任何问题。如果钥匙足够大,蛮力将是徒劳的尝试。

票数 1
EN

Security用户

发布于 2017-02-23 15:12:51

研究人员现在有了成功地执行了针对SHA1 1的碰撞攻击,这就是MD5死亡的原因。

密码学家将周四披露的攻击称为“相同前缀”冲突,这意味着攻击者可以创建两个具有相同哈希值的不同消息。这一品种的力量不如火焰进行的“选择前缀”MD5冲突。在后一种情况下,攻击者可以针对一个或多个现有文件,例如公司用于验证其更新机制的数字证书。尽管与SHA1的碰撞不那么强大,密码学专家表示,任何真实世界中的相同前缀攻击都是哈希函数的游戏结束事件。

有一个专门用于攻击的网站

现在几乎可以创建两个碰撞的PDF文件,并在第一个PDF文件上获得SHA-1数字签名,这也可以被滥用为第二个PDF文件上的有效签名。

换句话说,停止使用SHA1

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/141773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档