【问题标题】:Is it risky to store public and private keys together in pkcs12?将公钥和私钥一起存储在 pkcs12 中是否有风险?
【发布时间】:2013-09-20 20:19:23
【问题描述】:

我最近一直在处理一些存储私钥和公​​钥的p12 文件。远离密码学专家,我开始思考将公钥和私钥一起存储在同一个存档中(然后通过网络传输)是否会破坏密钥的全部目的。

【问题讨论】:

  • 你能解释一下你什么时候转移东西吗?你当然不应该给任何人你的私钥。它是私人的。你在说什么文件?这些是在 ssl 的配置中还是什么?您实际上是在进行转移还是只是假设会发生这种情况?
  • 在我们的包存储库中,我们有一个用于产品部署的 p12 文件,该文件具有私钥和公钥。

标签: cryptography pkcs#12 truststore


【解决方案1】:

将公钥与私钥一起存储在文件中并没有错。这一切都取决于这样做的意图。

如果您只想将公钥发送给第三方,那么通过发送您的私钥,您可以为他们提供破解公钥机制的方法。这是不安全的,您应该丢弃您的密钥,因为它们现在没有任何值。

如果传输是您的基础架构的一部分,并且传输是安全进行的,并且您完全希望此文件在目的地是私有的,那么存储就没有错它们作为一个文件。

大多数框架都知道如何正确使用单个私有/公共文件,并且只会将公共部分透露给第三方并将私有部分保留在内部。

【讨论】:

    【解决方案2】:

    是否分发私钥取决于您的特定需求。通常它们是保密的,不会分发超出需要的部分(几乎从不)。

    从技术上讲,可以将没有私钥的证书添加到 PKCS#12 容器中,但这没有多大意义,因为其他格式对于仅分发证书更实用。如果您只是因为某些软件仅适用于 PKCS#12 格式而添加私钥,并且您不知道如何避免将私钥放在那里,那么这是一个错误 - 您不应该这样做。

    现在,PKCS#12 文件中数据的安全性取决于所使用的加密算法。以前(在旧版本的 Windows 中)默认使用 40 位加密。 40 位是不安全的,这是肯定的。较新的版本支持 3DES 加密——它更强大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-26
      • 2011-03-12
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 2017-12-23
      • 2020-06-05
      • 2013-07-09
      相关资源
      最近更新 更多