firebase AppCheck如何防止有人通过检查自己的网络获取jwt令牌?

ss2ws0br  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(133)

如果我正确理解了AppCheck的工作流,它本质上是基于成功的证明机制创建一个具有特定到期时间的jwt令牌,然后,所有包含此jwt的请求都被视为有效,并且来自允许的应用程序。
但是假设有人下载了一个合法的应用程序,并检查他们的网络来查看和复制这样的jwt令牌(比如说在浏览器的开发工具中检查网络)。
这个jwt令牌可以插入到任何其他的应用程序中,比如一个本地主机服务器,并与projectid等结合起来...来执行看起来合法的请求,但是现在来自未经验证的应用程序?

41ik7eoe

41ik7eoe1#

您所指的是replay attack(拦截数据并重新传输)。Firebase App Check令牌可以配置为有效期至少为30分钟,最长为7天,并且同一令牌 * 可以重复使用 *。
但是,如果您在自定义后端服务器上有适当的安全规则或验证,这应该不是一个严重的问题。
如果您仍然希望确保一个令牌只能使用一次,则必须使用一些自定义逻辑来阻止令牌,或者直接使用reCAPTCHA等证明提供程序。
每个reCAPTCHA用户响应令牌的有效期为两分钟,并且 * 只能验证一次以防止重放攻击 *。如果需要新令牌,可以重新运行reCAPTCHA验证。
我不确定其他提供程序,但是您可以编写自己的逻辑来防止重用令牌。

相关问题