Encryption 为什么不应该';私钥不能逐字或纯文本存储在本地计算机上吗?

Encryption 为什么不应该';私钥不能逐字或纯文本存储在本地计算机上吗?,encryption,key-management,Encryption,Key Management,我在读这篇文章: 第一句话说:“非对称私钥不应逐字或以纯文本形式存储在本地计算机上。” 这有什么问题?密钥容器是如何解决这个问题的 我问的原因是我想生成一个非对称密钥对。我正在编写的应用程序将使用公钥加密它发送回我的信息。我在考虑将公钥/私钥对存储在源代码管理系统中,以便对其进行备份。我不应该这么做吗?如果没有,我应该如何存储私钥以便能够可靠地备份它 谢谢。 -斯科特 更新:引用的句子中的“从不”真的是指从不吗。或者这是否意味着我不应该存储源代码管理的密钥,除非我不准备承担黑客可能从我们的源代

我在读这篇文章:

第一句话说:“非对称私钥不应逐字或以纯文本形式存储在本地计算机上。”

这有什么问题?密钥容器是如何解决这个问题的

我问的原因是我想生成一个非对称密钥对。我正在编写的应用程序将使用公钥加密它发送回我的信息。我在考虑将公钥/私钥对存储在源代码管理系统中,以便对其进行备份。我不应该这么做吗?如果没有,我应该如何存储私钥以便能够可靠地备份它

谢谢。 -斯科特


更新:引用的句子中的“从不”真的是指从不吗。或者这是否意味着我不应该存储源代码管理的密钥,除非我不准备承担黑客可能从我们的源代码管理系统或从中获取的备份中检索密钥的风险。

因为恶意用户可以读取您的密钥,如果他/她获得您的文件。不确定密钥容器的作用,但我猜它在将密钥写入文件之前会对密钥进行加密

常见的解决方案是加密密钥链中的私钥,例如使用一些基于密码的加密方案

需要私钥来解密用公钥加密的位,反之亦然。由于公钥的定义是公开的,因此您希望对其私有对应项保密

特别是当公钥密码用于数字签名时,私钥的保密尤为重要。能够生成可以用公钥验证的数字签名基本上证明了签名者可以访问您的私钥

如果您可以保证,除了您或您信任的软件之外,没有人可以访问您计算机上的文件,那么您就不需要加密您的私钥。但是这些都是很难做出的假设。

是的,引用的句子中的“从不”确实意味着从不

如果密钥以明文形式存储,则任何有权访问该文件的人都可以读取或复制您的密钥,然后使用它来模拟您。如果您出于任何原因(查找密钥、打开错误的文件、编辑文件中的其他信息等)在屏幕上显示该文件,那么任何经过的人都可以看到它,潜在地记住它,并使用它来模拟您


私有加密密钥是非共享密钥。如果你不把它保密,它就不能正常工作。

s/黑客/被解雇或不满的员工/你有更常见的情况。嗯。我得把它放在某个地方。我不认为有人会记住它,因为它很长而且非常随机——我不可能记住它。所以,我仍然认为它必须放在磁盘上。我只需要确保磁盘不会落入坏人手中。我想我可以通过加密来存储它,但是,我仍然有一个问题,那就是如何使用我用来加密它的密钥。是的,它必须存储在某个地方,而你最终得出的结论是,你应该以加密的形式存储它。解密它的密钥通常是用户在程序启动时输入的密码短语。你是说用保存在人类内存中的密码加密私钥吗?@Scott Langham:是的,或者更像是更长的密码短语。当然,这不是唯一的保护形式。您仍然不会与任何人共享私钥,而是将其存储在不易访问的地方。例如,通过使用操作系统提供的保护,如文件系统权限或特殊密钥库组件。