5

我在读这个:

http://msdn.microsoft.com/en-us/library/tswxhw92(VS.80).aspx

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

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

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

谢谢。-斯科特

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

4

3 回答 3

4

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

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

私有加密密钥是非共享秘密。如果你不保持它不共享和保密,它就无法正常工作。

于 2009-06-15T11:11:33.163 回答
3

一个常见的解决方案是加密钥匙串中的私钥,例如通过使用一些基于密码的加密方案。

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

特别是当公钥加密用于数字签名时,对私钥保密很重要。能够生成可以用您的公钥验证的数字签名基本上证明了制作签名的人可以访问您的私钥。

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

于 2009-06-15T10:46:18.027 回答
2

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

于 2009-06-15T10:24:31.153 回答