【问题标题】:Where to store RSA private key for a (Spring Boot) Java AWS program在哪里存储(Spring Boot)Java AWS 程序的 RSA 私钥
【发布时间】:2015-12-16 21:48:26
【问题描述】:

所以我有一个 Java (Spring Boot) 应用程序,我在其中使用来自 Amazon 的 RSA 密钥。目前这是.pem 格式并存储在我项目中的本地文件夹中。

但是当我将应用程序部署到网络 (AWS) 时,我应该将其存储在哪里:

  • 能否以其他格式存储,最好在 application.properties 中使用?

  • 我可以将 RSA 密钥用作字符串还是始终来自文件?

*或者我需要将它存储在服务器中的安全位置吗?它会在哪里以及有多安全?

  • 对此我还有其他选择吗?

【问题讨论】:

    标签: java amazon-web-services spring-boot rsa


    【解决方案1】:

    存储私钥的最佳位置是在智能卡或硬件安全模块 (HSM) 中,这样密钥就永远不会被盗。

    Amazon does have an HSM service,但是很贵。

    存储它的下一个最佳位置是一个文件(只有运行您的应用程序的用户拥有和可读)并将其密码存储在操作系统用户环境变量中,因此默认情况下它是相当安全的并且无法签入到源代码控制。

    【讨论】:

    • 谢谢,我会对他们做一些研究。
    【解决方案2】:

    如果您现在没有上面提到的 HSM,还有其他选择。它们是:

    1. Pivotal 正在开发 Spring Cloud Vault 项目。这比环境变量好得多。如果您无权访问 HSM,则可以将文件路径存储在 Vault 中
    2. Stack Exchange,是的,这些家伙正在开发 Stack Exchange Blackbox,它可以加密整个密钥并从 API 加载。如果您不需要使用 docker 并且可以手动启动应用程序,这是一个更好的选择,因为您需要提供密码来访问您的密钥。

    对于保险柜:

    对于堆栈交换黑盒:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多