【问题标题】:Encrypting Signed Data加密签名数据
【发布时间】:2015-08-27 00:49:23
【问题描述】:

我正在向第 3 方提交包含敏感数据的文件,谁能解释同时对其进行签名和加密的意义何在?只是加密不能验证我的身份(第 3 方要求对其进行签名然后加密)吗?

【问题讨论】:

    标签: encryption


    【解决方案1】:

    您使用您的私钥签名。签名是来源证明,它证明您拥有私钥,因此数据必须来自您,并且数据没有被更改。

    您使用目标公钥进行加密。这是为了确保只有目的地才能解密它。

    如您所见,签名和加密有不同的用途。

    【讨论】:

    • 还有一种情况是您使用对称密钥进行签名和加密,但这几乎总是适用于传输中的数据,典型的例子是 SSL/TLS。那里的签名是为了防止篡改加密数据,因为解密本身并不能检测到篡改(只是解密数据通常是显示篡改的垃圾的事实),并且可能存在以某种方式篡改加密数据的攻击产生有效的解密数据,添加 HMAC 签名会检测到这一点。
    【解决方案2】:

    签名是将您的签名放在一封信上,而加密是将信件放入信封中。信封阻止其他人阅读这封信。签名证明是你写的。

    此外,您按此顺序签名然后加密,因为如果您先将信放入信封,然后在信封上签名,这并不能真正证明您写了信。你可以在法官面前争辩说在信封密封之前你没有看到这封信。

    最后,您不应使用相同的密钥进行签名和加密。有加密的原因,但另一个更简单的原因是,您用于加密的密钥可以由其他人(例如,您工作的公司)托管,以便在需要时访问您所有信封的内容,但您用于签名的密钥应该只提供给您信任的人,他们可以合法地代替您签名,就像授权书一样。

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 2019-06-21
      • 2015-08-21
      • 2014-09-05
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多