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

gil*_*gev 17 security encryption-asymmetric digital-signature

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

Gum*_*mbo 21

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

另一个原因可能是法律原因:

在一些国家,数字签名的地位有点像传统的纸笔签名,如欧盟数字签名立法.通常,这些规定意味着任何数字签名的合法签名都会将文件的签名者与其中的条款绑定在一起.出于这个原因,通常认为最好使用单独的密钥对进行加密和签名.使用加密密钥对,人可以参与加密的对话(例如,关于房地产交易),但加密不合法地签署他发送的每个消息.只有当双方达成协议时,他们才会与他们的签名密钥签订合同,然后他们才会受到特定文件条款的法律约束.签名后,可以通过加密链接发送文档.如果签名密钥丢失或被泄露,则可以撤消该签名密钥以减轻将来的任何事务.如果加密密钥丢失,则应使用备份或密钥托管来继续查看加密内容.永远不应备份签名密钥或托管.


Tom*_*ine -1

我不完全确定你在说什么。我假设您想知道为什么应该使用不同的密钥进行 https/ssl/ssh 和代码签名(除了它们具有不同的使用位之外)。

SSL 证书必须挂在网络服务器周围,而网络服务器因被泄露而臭名昭著。代码签名证书可以完全离线隐藏。理论上。实际上,网络服务器由专业的系统管理员管理,代码签名证书则存放在工作开发人员的 PC 上。还有最小特权原则。