我正在开发一个web应用程序,它将要求用户通过客户端提供第三方API密钥,然后使用它从我的应用程序后端向第三方API发出请求。
经过研究,我认为最好的方法和标准实践是将这些API键作为纯文本存储在我的数据库中。
但是,我的问题在于这些密钥在从客户端发送到数据库的过程中的安全性。
为了进一步澄清,第三方API密钥将由用户客户端通过标准的HTML表单输入,提交后,客户端将向我的后端发出一个post请求,后者将将密钥存储在mongodb中。
在将这些密钥从客户端发送到后端的过程中,坏角色能够通过dev工具或其他恶意方法访问这些密钥吗?
如果是的话,我可以采取哪些操作来进一步保护它们,同时将它们从客户端发送到数据库?
发布于 2021-04-28 07:07:57
API密钥基本上是一个密码。因此,像TLS运输这样的通常保护措施(即使用HTTPS)应该是足够的。
发布于 2022-09-20 21:23:47
是的,因为这需要清晰的文本恢复,所以在你的手中就少了。
我不确定我是否会像我说的那样设置对称加密,这不一定是您的问题,但是可以很容易地撤销密钥:)也许将它存储在浏览器加密的存储中,但这将不能运行服务器到服务器。
发布于 2022-10-21 06:33:07
今天,大多数API使用API密钥对web服务的合法客户端进行身份验证。从客户端的角度来看,API密钥的使用非常简单:
有几种保护API密钥的方法,如:
我想回答你的问题
在将这些密钥从客户端发送到后端的过程中,坏角色能够通过dev工具或其他恶意方法访问这些密钥吗?
答案:
开发工具是用于开发和调试的,恶意黑客看不到任何东西,他们可以使用burpsuite看到他们在web表单上提供的内容(基本上他们不知道您的密钥)。如果您的站点没有使用HTTPS/HTTP,就会发现这一点。
https://security.stackexchange.com/questions/248804
复制相似问题