我的应用程序中有一个特定的用例来存储用户的第三方API密钥,以从这些第三方检索数据。这是一个Web应用程序,我正在使用express和MongoDB作为数据库。
是否有一种特定方法可以最好地保护它(我需要在存储后多次访问实际密钥(。还是我根本不应该存储这些?
如果没有,您有什么解决方案可以解决此问题?
如果你将密钥存储在MongoDB中,这可能是MongoDB 4.2中引入的客户端字段级加密的一个很好的用例。
从页面:
应用程序可以在通过线路将数据传输到服务器之前加密文档中的字段。只有有权访问正确加密密钥的应用程序才能解密和读取受保护的数据。删除加密密钥会使使用该密钥加密的所有数据永久不可读。
有关示例用例,请参阅客户端字段级加密指南。
请注意,字段级加密的一些更好的功能(例如字段的自动加密,以便驱动程序可以透明地使用加密字段(是MongoDB企业版功能,而不是社区版功能。但是,MongoDB Atlas使用企业版作为标准。