如何安全地存储客户的API密钥?



我有一个应用程序,用户需要在其中输入第三方服务的API密钥,

存储用户API密钥的最佳方式是什么?我知道我们可以使用私钥对它们进行加密,但这会产生另一个问题,如何安全地存储加密密钥?我们不希望为所有用户使用一个加密密钥。

谢谢你的帮助

正确答案是专用的秘密存储。如果您正在使用云部署,AWS秘密管理器,GCP秘密管理器或Azure密钥库是三大云供应商提供的产品。

如果你部署在kubernetes集群上,你可以使用内置的秘密存储。

或者在任何情况下,您可以使用专用的第三方秘密存储软件,如Hashicorp Vault, akeyless或其他。

如果您有非常有价值的密钥,不应该公开(并且您有足够的钱),您应该查看硬件安全模块,例如ulitmaco。这些可以提供密钥使用,而无需密钥离开受保护的设备。云供应商也提供使用HSM的服务,例如AWS CloudHSM、GCP cloud HSM、Azure Dedicated HSM。

对于应用程序端需要的密钥:在部署期间,绝不应将密钥存储在代码存储库或磁盘上。一个好的做法是使用环境变量或在启动后删除的临时文件(在容器的情况下,您可以重新启动整个容器)。

最新更新