为什么我需要使用不同的公钥对进行签名和加密,而不能使用相同的RSA密钥对?如果使用相同的密钥对是否存在安全问题?
为什么我需要使用不同的公钥对进行签名和加密,而不能使用相同的RSA密钥对?如果使用相同的密钥对是否存在安全问题?
使用不同的密钥进行签名和加密的原因:
你可能想去安全堆栈查看类似的问题:
在我看来,Am1rr3zA的回答是最好的。
拥有单独的签名和加密密钥对允许公司备份加密证书,以便在您离开公司并且他们发现使用您的密钥加密的内容时解密数据。
通常,公司不会保留您的签名证书备份副本,因为这会破坏有效数字签名的概念。如果签名证书由多个方持有,则谁真正使用它签署了消息?
因此,加密密钥由用户持有并由公司备份。签名密钥仅由用户持有。
我不太确定你想表达什么意思。我假设你想知道为什么在使用https/ssl/ssh和代码签名时应该使用不同的密钥(除了它们具有不同的用途位)。
SSL证书必须挂在Web服务器周围,而Web服务器以被攻击而闻名。代码签名证书可以完全脱机隐藏。理论上是这样的。实际上,Web服务器由专业系统管理员管理,而代码签名证书则留在开发人员的个人电脑上。此外还有最小特权原则。
加密文本 = 加密(明文,公钥);明文 = 解密(加密文本,私钥)
。公钥签名:签名 = 加密(消息,私钥);消息 = 解密(签名,公钥)
(其中消息
通常是文档的哈希值)。第一次操作与后两次操作使用不同的密钥对,其中原因何在? - Paŭlo Ebermann