将公钥/私钥安全地存储在数据库中

时间:2016-08-21 20:34:17

标签: php security rsa public-key-encryption private-key

我想安全地将公钥和私钥存储在数据库中。

因此,我的问题是如何安全地将私钥存储在数据库中。 (公钥不需要那么安全)。

我目前有两种方法。

  • 将密码(即用户的主密码)添加到私钥并将其作为字符串存储在数据库中
  • 使用对称算法加密私钥,并将其作为字符串存储在数据库中

这些方法是否足够?

哪个更好或者它们是一样的?

有没有更好的方法?

更新 有些人可能会对我为什么要这样做感到困惑。我的用例是基于团队的密码管理系统。公钥用于加密密码(一个用于团队中的每个用户),而使用passphase的私钥用于解密密码。

1 个答案:

答案 0 :(得分:1)

第一个选项可能更好,因为它更容易搞乱你自己的对称加密实现,而不是正确使用现有的。私钥上的密码短语通常只是某种形式的对称加密。

PS。我不确定你为什么在这里使用私钥/公钥。如果是证明谁上传了密钥 - 很棒。如果是加密本身 - 为什么不使用存储密码的对称加密呢?如果所有有权阅读它的人都知道私钥的密码,那么没有太大的区别。你似乎唯一能获得的是能够在不改变每个人都知道的密码的情况下循环密钥。