保护私钥

问题描述 投票:2回答:3

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

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

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

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

我有什么选择?

encryption key private
3个回答
3
投票

现在,由于我的服务器将发送许多此类消息。

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

但是,如果您打算对发送给您的消息进行签名/解密,则必须考虑一种安全的私钥存储解决方案。

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

您将始终有一个单点故障,一个必须知道您的私钥/访问私钥的秘密的代码等等。但是,此问题不是来自公用/私有密钥加密,而是系统本身。 一方面,无论底层协议是什么,您始终都必须处理未加密的消息。


2
投票

如果他们拥有密钥,并且知道如何使用该密钥(密钥在何处以及如何应用于您的消息),那么是的,您将完全受到损害。 但是,让我们面对现实吧,当有人将您的服务器植根时,情况总是如此。

更好的方法可能是:如何防止常见的黑客(例如中间人攻击)损害安全性?

我会说:

  1. 通过SSL传输消息(如果您使用的是HTTP / HTTPS协议)。
  2. 混淆提供编码/解码功能的代码。 如果有人得到了密钥,这将使您的哈希值难以解码。 如果您未在服务器上对密钥和/或消息进行编码,而未在客户端上进行解码,则可能需要根据您的要求进行研究
  3. 在网络上正在传输消息,请使用网络工具监视流量(即snort)。 入侵检测可以告诉您某人何时采取行动。

只是一个开始...


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.