为什么不能私用密钥存储在本地计算机上逐字或以纯文本格式?
-
13-09-2019 - |
题
我正在读这样的:
http://msdn.microsoft.com/en -us /库/ tswxhw92(VS.80)的.aspx
第一句话说:“非对称私钥不应该被逐字存储或本地计算机上的纯文本。”
如何处理此问题?和如何密钥容器解决它。
我所要求的原因是,我要生成非对称密钥对。我在写对它进行加密,发送回我的公钥信息中的应用。我想存储公钥/私钥对我们的源代码控制系统,使其得到备份的。我不应该那么做吗?如果不是这样,我应该如何存储私钥,以便它可以可靠地备份?
感谢。 斯科特
更新:是 '从不' 的引用的句子的真正含义是从来没有。还是意味着我不应该存储密钥到源代码控制,除非我不准备采取黑客可能获取我们的源代码控制系统或从它创建的备份密钥的风险。
解决方案
是的, “never” 中的引语确实意味着绝不会
如果密钥存储在纯文本,那么任何人都可以访问该文件可以读取或复制你的钥匙,然后用它来冒充你。如果您在屏幕上显示无论出于何种原因该文件(查找钥匙,打开了错误的文件,在文件中编辑其他信息等),那么任何人都走过去可以看到它,可能记住它,并用它来冒充你。
一个私有加密密钥的是一个非共享秘密。如果你不保持非共享和秘密,它不能正确工作。
其他提示
一个常见的解决方案是加密在钥匙串例如私钥通过使用一些基于密码的加密方案。
私钥需要的,以便与解密的公共密钥加密的比特,并且反之亦然。因为公共密钥是公开的定义,你想保持其私人对应的秘密。
特别是当公共密钥加密用于数字签名,它保持私钥的秘密是很重要的。能够产生可与基本你的公钥来验证数字签名证明,任何人制造的签字已经进入你的私钥。
如果你能保证你不信任任何人,但你,还是软件,可以在计算机上访问文件,你不需要加密你的私钥。但这些都是艰难的假设作出。
由于恶意用户可以读取你的关键,如果他/她得到您的文件保持。不知道,密钥容器做什么,但我猜想,这将它们写入一个文件之前加密密钥。