在服务器上存储API密钥和机密

Joh*_*ese 3 security encryption api-key

我有一个关于API密钥和机密的安全存储的问题.

这是我的情景:

我正在开发一个程序,用于收集/分析来自多个外部API的数据.数据相当敏感,API都需要密钥和密钥.我的软件将调用这些API,处理返回的数据并存储结果.我希望我最终会在"云端"中托管这个软件,这样我就可以获得最大的正常运行时间和可扩展性.

我的问题是,为我正在调用的外部API存储凭证(密钥和密钥)最安全/最好的方法是什么?

以下是我一直在考虑的一些事情,但我对任何事情都很开放......

  • 加密它们并存储在数据库中(使用时解密它们)
  • 加密它们并将它们存储在服务器上的平面文件中(使用时解密它们)
  • 将它们存储在具有更严格安全性的单独服务器上,并拨打电话获取信用.

Luk*_*ark 6

你将最终在这个上追逐你的尾巴,纯粹是因为服务器漏洞是游戏结束.您可以采取一些措施来减少服务器漏洞造成的损害,但没有什么是万无一失的.

考虑一下您概述的选项:

  • 加密数据库:攻击者可以从数据库中提取并以与服务器完全相同的方式进行解密.
  • 加密w/Flatfile:攻击者可以像服务器一样直接解密.
  • 独立服务器:攻击者可以像服务器一样调用单独的服务器.

我的观点是,您正在关注安全性的错误部分.如果攻击者获得对服务器的访问权限,那么它已经被游戏结束了.首先关注防止访问您的服务器.