如何防止黑客读取/写入 firebase 数据库

Ana*_*AJI 5 security android firebase firebase-security firebase-authentication

我有一些关于保护移动应用程序的 Firebase 数据库的问题。

例如,在反编译 Android 应用程序后,黑客可以获得 firebase api 密钥,然后访问 firebase 数据库,这是正确的吗?

让我们假设,我添加了一些安全规则,例如,只有当 auth!=null 时,应用程序才能在 firebase 上读/写,这意味着身份验证正在保护我的 firebase 数据库,但这让我问了同样的问题,如果我配置facebook/google/ 甚至 firebase 电子邮件身份验证 我将需要一些 API 密钥用于我的应用程序中的那些提供程序,如果黑客可以访问这些密钥,他是否能够在他自己的应用程序中使用我的身份验证并访问我的火力数据?

我想了解在 Android 应用程序中做什么,以确保只有我的应用程序才能访问 firebase 数据库。

Dou*_*son 4

反编译 Android 应用程序后,黑客可以获得 firebase api 密钥,然后访问 firebase 数据库,这是正确的吗?

仅当您的数据库不使用任何限制仅允许经过身份验证的用户访问的安全规则时。

如果我配置 facebook/google/ 甚至 firebase 电子邮件身份验证,我将需要一些 api 密钥用于我的应用程序中的这些提供商,如果黑客能够访问这些密钥,他是否能够在自己的应用程序中使用我的身份验证并获取访问我的 firebase 数据?

不,事情不是这样的。

每个通过 Firebase 进行身份验证的用户都会获得一个令牌,用于在用户访问受保护的服务(例如实时数据库、Firestore 或存储)时识别该用户。该令牌的有效期为 1 小时,之后必须刷新,SDK 将自动执行此操作。

对于黑客来说,要控制该用户的数据,他们必须获得此令牌,并且他们使用它的时间不会超过一个小时。之后,他们必须获取SDK获得的下一个令牌。所有这一切都必须发生在用户的设备上。

  • 谢谢,但我不明白 firebase 或 google 在给他们密钥库的 sha-1 后如何进行安全身份验证...您能解释一下吗? (3认同)