Security 使用单独的密钥对进行签名和加密的目的是什么?

Security 使用单独的密钥对进行签名和加密的目的是什么?,security,digital-signature,encryption-asymmetric,Security,Digital Signature,Encryption Asymmetric,为什么我需要使用单独的公钥对进行签名和加密 例如,RSA不使用相同的密钥对吗? 使用同一个密钥是否存在安全问题?我不完全确定您的意思。我将假设您想知道为什么应该为https/ssl/ssh和代码签名使用不同的密钥(不同的是它们有不同的使用位) SSL证书必须挂在web服务器上,因为web服务器被破坏而臭名昭著。代码签名证书可以完全脱机隐藏。理论上。实际上,web服务器由专业的系统管理员管理,代码签名证书放在bodge-a-job开发者的电脑上。还有最低特权原则。使用单独的密钥对进行签名和加密的原

为什么我需要使用单独的公钥对进行签名和加密 例如,RSA不使用相同的密钥对吗?
使用同一个密钥是否存在安全问题?

我不完全确定您的意思。我将假设您想知道为什么应该为https/ssl/ssh和代码签名使用不同的密钥(不同的是它们有不同的使用位)


SSL证书必须挂在web服务器上,因为web服务器被破坏而臭名昭著。代码签名证书可以完全脱机隐藏。理论上。实际上,web服务器由专业的系统管理员管理,代码签名证书放在bodge-a-job开发者的电脑上。还有最低特权原则。

使用单独的密钥对进行签名和加密的原因是为了分散风险:如果有人恢复了私有加密密钥,他/她可以对使用公共加密密钥加密的文档进行解密,但不能同时使用该密钥对文档进行签名,反之亦然

另一个原因可能是:

在一些国家,数字签名的地位有点像传统的笔和纸签名,如美国。一般而言,这些规定意味着任何数字签名的内容都对文件的签署人具有法律约束力,使其遵守其中的条款。因此,通常认为最好使用单独的密钥对进行加密和签名。使用加密密钥对,一个人可以进行加密对话(例如,关于房地产交易),但加密并不能合法地对他发送的每封邮件进行签名。只有当双方达成协议时,他们才使用他们的签名密钥签署合同,只有到那时他们才受特定文件条款的法律约束。签名后,可以通过加密链接发送文档。如果签名密钥丢失或泄露,则可以撤销该密钥以缓解未来的任何事务。如果加密密钥丢失,应使用备份或密钥托管继续查看加密内容。绝不应备份或托管签名密钥

请阅读以下内容:


基本上,您正在询问非对称加密和对称加密之间的区别。

您可能希望从安全堆栈中看到类似的问题:


IMHO,Am1rr3zA的答案是最好的。

拥有单独的签名和加密密钥对允许公司备份加密证书,以便在您离开公司后发现使用您的密钥加密的内容时解密数据

通常,公司不会保留您的签名证书的备份副本,因为这会破坏有效数字签名的概念。如果签名证书由多个参与方持有,那么谁真正用它签署了消息


因此,加密密钥由用户持有并由公司备份。签名密钥仅由用户持有。

使用单独密钥进行签名和加密的原因:

  • 在组织中有用的是需要备份或删除加密密钥 托管,以便在 组织不再可用。与加密密钥不同 签名密钥不得由除 员工/用户,不需要也不应该被托管
  • 允许对加密签名有不同的过期时间 钥匙
  • 假设加密和加密的基础数学是相同的 只有在攻击者能够说服/欺骗密钥的情况下,才能进行反向签名 持有者使用同一密钥对未格式化的加密邮件进行签名 然后攻击者得到原始的

  • 我理解的问题是为什么使用不同的密钥对进行(非对称)加密和(也是非对称)签名。原则上,我的公共签名密钥也可以用于向我发送加密消息。。。。那么,拥有公钥和私钥就没有意义了。整个想法是有两个密钥,一个应该加密,一个应该解密。如果同一个密钥可以做到这一点,那么使用非对称enc是毫无意义的。我想我仍然没有得到你想要问的东西。(这里不是我问的。)公钥加密的工作方式:
    cryptotext=crypt(message,public_key);message=crypt(加密文本,私钥)
    。公钥签名:
    signature=crypt(消息,私钥);message=crypt(签名,公钥)
    (其中
    message
    通常是文档的散列)。在前两个操作中使用另一个密钥对而不是最后两个操作的原因是什么?使用两个签名密钥对是否合理,一个用于“我发送了此消息”(这在合同谈判期间很有用),另一个用于“我希望受此合同的法律约束”?不同意,其中一个签名表示我不希望受到法律约束。这是一个重要的区别。@nKn对我来说,这似乎是一个答案,而不是一个问题。根据当今的标准,这个问题本身可能过于宽泛和基于观点,如果是新的问题,它将被关闭,但鉴于这个问题,这是一个答案。请注意#3是特定于RSA的。签名和加密的基础数学通常是不同的。使用无填充的RSA具有一个令人讨厌的特性,即签名oracle将解密消息,但RSA的良好签名和加密方案确保操作不同(因此您不能使用PSS签名oracle来解密OEAP加密的消息)。您可能是正确的(源?)。尽管我将保留原样,因为它仍然回答了OP的问题,因为他/她提到了RSA作为一个例子,并且没有询问其他许多细节。这个问题最好由以下人员回答。