【问题标题】:How many certificates used when sign-encrypt-signing emails?签名加密签名电子邮件时使用了多少个证书?
【发布时间】:2017-10-11 00:37:55
【问题描述】:

在签名加密签名(电子邮件)设置中是否可以接受为两个签名操作使用相同的证书,还是应该选择两个单独的证书? 使用预期的收件人公共证书执行加密操作。

最好的问候, 布赖恩

【问题讨论】:

  • 为什么要在第一次签名加密操作后签署这封电子邮件?
  • 谢谢,我知道这个帖子,这就是为什么我问的原因,因为在这个帖子中,有人说在实践中,两者都不够,但他没有给出任何解释(我认为没有)=> 看我的答案

标签: smime


【解决方案1】:

首先,在直接回答您的问题之前,我需要先谈谈Sign-then-encrypt vs Encrypt-then-sign,这是密码学中一个非常常见的问题,但并不常见正确回答。我的意思是没有一个简单的答案,正确答案取决于你遇到的情况

首先,请注意,当两方之间进行实时交换时,Encrypt-then-sign 可防止基于私钥和加密时间之间的相关性的攻击。这是因为在检查签名之前解密时,中间人攻击者可以让您解密他想要您解密的任何内容。然后,他可以测量您解密的延迟,因为您的响应将在您解密他修改的内容之后立即出现(响应通常是“错误”,因为在解密密文后,您会看到内容未正确签名)。因此,对于具有实时交换的两方之间的协议,一个主要规则是在检查签名之前永远不要解密某些内容。为了防止这种定时侧信道攻击,奥克兰大学的 P. Gutmann 在 2013 年底提出了一个drafted RFC。这个 RFC 开始说:本文档描述了一种协商使用 encrypt-then- MAC 安全机制取代 TLS'/DTLS' 现有的 MAC-then-encrypt 一种,多年来一直是许多安全漏洞的主题

现在,当您进行异步交换时,例如在 SMTP 之上使用 PGP 或 S/MIME,就无法进行这种定时攻击。所以,你应该更喜欢Sign-then-encrypt,因为DW在你在评论中谈到的线程中解释了其他原因:https://crypto.stackexchange.com/questions/5458/should-we-sign-then-encrypt-or-encrypt-then-sign(这主要是为了避免密文被其他人签名比发射器)。

那么,让我们回答你的问题:

在签名加密签名(电子邮件)设置中是否可以接受为两个签名操作使用相同的证书,还是应该选择两个单独的证书?使用预期的收件人公共证书执行加密操作。

你说这是一个电子邮件上下文。所以应该不可能有时间侧信道攻击。因此,您应该只签名然后加密。

但是既然你想要Sign-then-encrypt-then-sign,我认为你想避免出于任何其他原因的侧通道攻击。

因此,对两个签名操作使用相同的证书(和私钥)对您的交易所的安全级别没有影响:如您所见,最后一个签名操作用于确保没有人会解密修改后的内容并测量延迟,并且 crypt 之前的第一个签名是在这里检查密文不能被无法解密的人签名。因此,这两个操作都没有关联,因此对这两个操作使用或不同的证书都不会改变任何事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-18
    • 2011-05-18
    • 2018-07-24
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多