保护私钥

时间:2011-06-18 20:00:15

标签: encryption key private

我知道有一些关于此的话题,但我仍想听听你的意见。我正在创建一个网站,它将在网络上发送一些消息。这些消息将通过私钥/公钥加密进行加密。

现在,由于我的服务器将发送大量这些消息,因此我将需要访问私钥。此私钥当前位于服务器上作为文件。然而,这不是必需的。

现在,如果没有人能够进入我的服务器,则完全没有问题。但是,如果有人访问我的服务器怎么办?他们只能获取私钥文件,并且我的安全性被破坏了。

我无法使用硬件解决方案解决此问题。

我有什么选择?

3 个答案:

答案 0 :(得分:3)

  

现在,由于我的服务器将发送大量这些消息....

如果您确实只需要向其他参与者发送消息,则只需要将其公钥存储在您的服务器上。那里没有危险。

如果您打算签署/解密发送给您的邮件,则必须考虑安全的私钥存储解决方案。

  

现在,如果没有人能够进入我的服务器,则完全没有问题。但是,如果有人访问我的服务器怎么办?他们只能获取私钥文件,并且我的安全性被破坏了。

您将始终只有一个故障点,一段代码必须知道您的私钥/访问私钥的秘密等。但这个问题不是来自公钥/私钥加密,而是来自系统本身。有时,无论基础协议如何,您都必须处理未加密的消息。

答案 1 :(得分:2)

如果他们有钥匙,他们知道如何处理它(在哪里以及它如何适用于你的消息),那么是的,你完全被妥协了。但是,让我们面对现实,当有人植根你的服务器时总会如此。

更好的方法可能是:如何防止常见的攻击,如中间人攻击,破坏安全性?

我会说:

  1. 通过SSL传输消息(如果您使用的是HTTP / HTTPS协议)。
  2. 模糊提供编码/解码功能的代码。如果有人获得密钥,这将使您的哈希难以解码。如果您没有在服务器上对密钥和/或消息进行编码,并在客户端上进行解码 - 这可能会根据您的要求进行调查
  3. 在网络上留言 正在传输,使用网络 监控交通的工具(即 打鼾)。入侵检测可以告诉您何时有人做某事。
  4. 刚开始...

答案 2 :(得分:0)

如前所述,您将始终遇到单点故障。但是,谈到私钥存储解决方案,您可以检查存储您的机密的Vault project - 加密形式的私钥。它提供访问控制策略,审计日志和其他功能。