首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么TLS不签密匙?

为什么TLS不签密匙?
EN

Security用户
提问于 2018-04-27 11:53:29
回答 1查看 259关注 0票数 2

TLS协商密件和TLS版本,以便在握手时使用。它证实握手没有被篡改,加密套件和TLS版本也没有使用协商密码被降级,正如解释的这里。但是,此验证依赖于在握手时协商的密码,因此如果攻击者选择的密码足够弱到足以迅速破坏,他可能也能够发送这些确认消息。

我的问题是,为什么服务器不使用它的私钥来签署它的加密套件和TLS版本(以及validUntil的时间戳),以便客户端能够检测降级攻击?当客户端当时没有公钥时,客户端可以保留签名,直到证书得到验证和验证为止。为什么TLS协议没有做到这一点?

EN

回答 1

Security用户

发布于 2018-04-28 21:37:38

服务器确实在密室签名。整个协议协商(包括密室、密钥等)签了名。这是握手中的最后一件事:Finished消息。有关更多细节,请参见什么能阻止攻击者在SSL/握手过程中篡改发送的数据?SSL/TLS是如何工作的?

你注意到:

此验证依赖于在握手时协商的密码,因此如果攻击者选择的密码足够弱到足以迅速破坏,他可能也能够发送这些确认消息。

并问:

为什么服务器不使用它的私钥来签署它的加密套件和TLS版本(以及validUntil的时间戳),这样客户端就可以检测到降级攻击了?

再次,服务器确实使用其私钥来对密匙进行签名,而客户端也确实对其进行了验证。这种情况发生在握手结束时,因为只有在客户端和服务器就服务器的密钥以及应该信任的原因达成一致之前,才可能发生这种情况。

您担心的是攻击者说服客户端使用弱密件,以便他们可以伪造签名。有两个案子。

  • 客户知道密件很弱,拒绝使用它。那就没问题了。客户端将关闭连接。
  • 客户不知道密室很弱。那就没什么可做的了。整个谈话都发生在攻击者身上。合法服务器根本不涉及。当合法服务器甚至不参与协议时,合法服务器无法保护客户端免受攻击。
票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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