我正在与一个明显不了解安全性的第 3 方供应商打交道 - 要从我的后端访问他们的 API,我必须为每批请求提供第 3 方服务的最终用户 ID/用户/密码。
我正在与他们斗争,至少要实现某种基于可撤销令牌的身份验证,但与此同时,我必须处理这个问题(至少他们使用 HTTPS ......嘘)。
我必须定期进行身份验证以同步数据,并且必须在没有最终用户干预的情况下进行同步,因此这基本上意味着 BE 必须以可逆格式存储凭据。我还不够天真以明文形式存储它,但即使我在数据库中加密它,密钥也不会离锁很远,可以这么说。
如果他们没有存储大量机密数据,我就不会那么担心,但这绝对是值得保护的数据。有小费吗?
笔记:
- 密码将存储在分布式数据库中。数据库本身是相当安全的。泄露的唯一真正机会是开发人员直接访问数据的凭据之一泄漏,或者是严重的编程事故。
- 供应商的 API 不允许以编程方式更改密码,因此不能选择轮换密码。
对后端源代码的访问可能会被锁得很紧。将私钥存储在源中并收工是否合理?