首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SHA-1的弱点被认为是对TLS安全的威胁?

为什么SHA-1的弱点被认为是对TLS安全的威胁?
EN

Security用户
提问于 2016-03-04 08:43:56
回答 2查看 1.1K关注 0票数 8

如果我正确理解散列算法(例如,SHA-1)在TLS证书中所起的作用,则如下所示:

  • 哈希函数应用于主题的公钥。
  • 然后,CA使用其私钥加密哈希输出。
  • 该加密的输出以及其他一些信息将成为证书。

因此,假设有人决定模拟具有SHA-1证书的站点,并试图生成哈希冲突来攻击SHA-1摘要。

如果他们找到一个不同的价值,产生相同的SHA-1摘要作为网站的实际公钥,他们得到了什么?

现在,他们可以伪造一个由CA签署的证书,而不是包含X的实际公钥,但是如果没有匹配的X私钥,这对他们来说不是毫无用处吗?

他们还得破解RSA。而找到一个与X匹配的私钥,难道不像直接攻击主体的公钥那样不可行吗?

换句话说,如果哈希添加了任何安全性,怎么办?肯定有一些,否则,贬值的SHA-1将不会有这么大的问题.我认为哈希在数字签名中的使用主要是出于性能原因,因为像RSA这样的公钥密码学对于大输入来说是缓慢的。

EN

回答 2

Security用户

回答已采纳

发布于 2016-03-04 10:57:05

如果他们找到一个不同的价值,产生相同的SHA-1摘要作为网站的实际公钥,他们得到了什么?

让我们假设我们正在处理MD5。沙-1攻击仍在进行中,我希望它们与在MD5上可能发生的攻击大致相同。

使用MD5,可以创建两个不同的值来产生哈希冲突(在特定的边界内)。然而,这并不意味着只要给定任何输入数据和该数据上的哈希值,就可以创建哈希冲突。

在您的示例中,这意味着您不能只获得一个MD5或SHA1签名的证书,然后创建一个假证书。因此,在CA中创建的内部CA证书风险不大。但是,可以将经过特殊格式化的证书发送到CA,然后以仍然验证签名的方式更改已签名的数据。

因此,请求证书的同一个组织就是进行攻击的组织。这意味着他们已经拿到了私钥。因此,更换公钥是可能的,但没有太大意义。

那么他们能做什么。这是关于证书中的“其他一些信息”。请求信息的组织可以更改该信息。基本上他们可以把他们想要的东西放进去。这意味着某个域的证书可能成为另一个域的证书。证书可以成为可用于创建其他证书的证书(尽管路径长度限制可以缓解该问题)。

换句话说,证书颁发机构对散列进行签名,该散列可能对其他数据有效。证书颁发机构已经不知道它正在签署什么证书了!作为用户,您可以获得mail.google.com的证书,该证书具有为happy.attacker.com创建的有效签名,攻击者持有私钥。换句话说,你可能根本没有和谷歌沟通!

误解:

哈希函数应用于主题的公钥。

不,它应用于需要显式信任的证书属性(示例中的域名也是如此),而不仅仅是公钥。

然后,CA使用其私钥加密哈希输出。

不,签名生成不是加密。对于RSA,它也使用了模幂运算,但这并不等同于加密。即使是RSA规范-- PKCS#1 --也区分了签名生成和加密。

该加密的输出以及其他一些信息将成为证书。

一些信息是非常重要的,其中很多信息都是与公钥一起签名的。有效期、签发人、公钥、签名、主体、密钥使用、路径长度约束、撤销相关信息都是非常重要的。

因此,假设有人决定模拟具有SHA-1证书的站点,并试图生成哈希冲突来攻击SHA-1摘要。

这仍将需要2^159次操作。所以不,这不太可能是一个严肃的研究者尝试过的。

现在,他们可以伪造一个由CA签署的证书,而不是包含X的实际公钥,但是如果没有匹配的X私钥,这对他们来说不是毫无用处吗?

嗯,是的。实际上,公钥不包含单个值X,它由一个模数和指数组成,它们是在X5.09证书中编码的ASN.1/DER。所以X必须有一个非常特殊的结构。如果您试图以这种方式破坏证书(正如上面已经建立的那样,这是不可行的)。因此,只有用特定的X替换密钥才有用。

但是,签名的密钥和证书的编码可能包含其他信息。这可能被攻击者滥用,实际上需要执行实际的MD5攻击。

我认为哈希在数字签名中的使用主要是出于性能原因,因为像RSA这样的公钥密码学对于大输入来说是缓慢的。

不不只是表现上的原因。RSA需要填充,这比消息的密钥(模数)小了大约11个字节--以防使用旧的PKCS#1 v1.5填充。一般情况下,有符号的属性将比这更大。在这种情况下,需要使用哈希方法压缩数据。另一种公钥算法ECDSA实际上不能加密任何数据。

通常,最好将哈希方法作为签名算法的配置选项。换句话说,它是签名算法的一个组成部分。在各种标准中也是这样规定的。

票数 8
EN

Security用户

发布于 2016-03-04 09:00:19

他们现在可以伪造一个由CA签署的证书,而不是包含X的实际公钥。

一点儿没错。他们创建了一个证书,其中包含攻击者自己的主题和自己的公钥。当然,攻击者还拥有与此黑证书相匹配的私钥。

使用它,它们可以模拟任何与新创建的证书主题匹配的服务器,或者在中间攻击中执行活动人员来嗅探甚至修改通信量。但是他们不能被动地嗅探受原始证书保护的连接并对其进行解密。

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

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

复制
相关文章

相似问题

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