首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在所有消息都已签名时,MDC也有用途吗?

即使在所有消息都已签名时,MDC也有用途吗?
EN

Security用户
提问于 2021-09-07 14:10:56
回答 1查看 134关注 0票数 0

我想我已经对PGP的概念有了一半的理解,我已经对埃菲尔攻击的概念有了一半的理解。然而,即使所有的消息都有一个签名,我仍然不明白这样的攻击是否有可能(并且需要一个MDC )。我读过几十篇关于Efail和MDC的文章,但没有提到签名是如何发挥作用的。

在我天真的理解中,没有太多的细节和过于简化,并且忽略了标题等方面的问题,在对消息进行签名和加密(例如使用GnuPG)时,会发生以下情况:

  • 消息文本被散列。
  • 哈希是用发送方的私有PGP密钥非对称加密的。
  • 加密的哈希将成为消息文本的一部分。
  • 选择对称加密方法的加密密钥。
  • 该对称加密密钥使用收件人的公共PGP密钥进行非对称加密。
  • 使用对称加密密钥对消息进行加密。
  • 非对称加密的对称加密密钥将成为消息的一部分。

在这个场景中,当每条消息都被签名时,我不明白Efail攻击是如何工作的,以及为什么推荐MDC。毕竟,如果有人在传输过程中篡改消息,则在验证签名时会检测到这一点。据我天真的理解,接见时会发生以下情况:

  • 使用收件人的私有PGP密钥对对称加密密钥进行解密。
  • 使用对称加密密钥对整个消息文本进行解密。
  • 使用发件人的公钥对消息文本的哈希进行解密。
  • 已解密的消息文本由收件人的客户端散列,并将获得的哈希与上一步的哈希进行比较。如果两个散列相同,则消息未被修改。

我错过了什么吗?是否有可能在收件人不知情的情况下篡改已签名的消息,前提是收件人的软件在处理该消息之前总是验证接收到的消息的签名,除非将其以解密形式保存到磁盘以供进一步使用。

EN

回答 1

Security用户

回答已采纳

发布于 2021-09-08 01:34:00

否,如果使用可信签名对整个消息进行签名,并且首先验证签名,则不需要MDC,或者通常不需要任何类型的消息身份验证代码。安全可信的数字签名足以防止对其签名的数据进行篡改。

然而,MDC仍然是一个好主意的原因有很多:

  • 签名人的钥匙可能不存在,也不能用于验证签名。
  • 签字人可能不值得信赖,也可能信任度不详。
  • 签名者和加密消息的一方可能是不同的,并且签名者可能已经收到了被篡改的消息。
  • 如果没有MDC存在,大多数实现都会大声尖叫,而有些则可能在默认情况下完全失败。

一般来说,在密码学和安全方面,我们更喜欢有深度的防御。没有什么理由不包括MDC,所以即使要对消息进行签名,我们也会这样做,因为这使得安全实现更容易,并且增加了消息没有被更改的信心。

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

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

复制
相关文章

相似问题

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