【发布时间】:2019-01-31 15:06:16
【问题描述】:
我正在开发一项 SAAS 服务,允许我的客户连接第三方电子邮件工具(例如 MailChimp)。因此,我要求输入与所需服务关联的 API 密钥,以允许在他们的帐户上自动执行某些操作。
为此,我在他们的数据库中记录了他们的密钥 API,并且连接完成。但是从安全的角度来看,如果我的数据库被黑客入侵,尽管在安全方面采取了所有的倾向(准备好的请求等)......这些都是我的客户的 API 密钥,以及他们的电子邮件地址拥有可以检索、使用、转售的客户......因为我连接的工具本质上允许存储联系人、组织和发送电子邮件。
所以我想知道在不危及他们自己的帐户和客户数据(电子邮件等)的安全的情况下,让我的客户使用他们最喜欢的工具的 API 的最佳做法是什么。我知道目前在数据库中以明确的形式启动我的 Web 应用程序会很危险。
我想到了几个解决方案:
加密数据库中的 API 密钥,但我看不到如何测试它们(解密),因为它不像密码?
将 API 密钥存储在托管在其他地方的不同数据库中,但加密问题仍然存在......不是吗?
-
使用 OAuth 流:看起来很方便,但我想通过 API 连接的所有服务都不提供此功能,我什至不确定这是否真的适合我。
我打算在亚马逊网络服务上托管我的 SAAS,我看到它提出了一项名为“KMS”密钥管理存储的服务,但我不知道它是否真的再次适应了我的问题......
如果有人已经回答过这个问题,或者知道如何解决,我希望得到启发!
注意:对不起,我的英语不好,我是法国人。
【问题讨论】:
标签: php api security oauth key