You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用的FCM密钥被窃取后是否会被恶意应用仿冒?

核心问题解答

原有验证逻辑正确性判断

你原本的验证思路是错误的。FCM token仅能证明该token为匹配你项目配置、对应指定包名的应用向FCM官方服务器申请的合法凭证,完全无法区分申请token的应用是正版还是仿冒的同包名应用,因此“推送可送达”不能作为token来源为正版应用的判定依据。

顾虑场景验证

你的猜测完全正确:

  • 攻击者提取到你google-services.json中的FCM项目配置(项目ID、API密钥等核心参数)后,只要制作包名与你正版应用一致的恶意应用,就可以正常向FCM申请到合法有效的token
  • 你服务端向这类恶意token发送推送时,FCM官方服务器会判定该token属于你的项目且有效,会正常返回成功响应无报错,推送内容会直接投递到恶意应用中,你无法通过FCM的接口返回值判断应用真伪。
可行的防护方案
  • 新增应用签名校验:客户端上传FCM token时,同步上传当前应用的签名哈希值,服务端与你正版应用的官方签名哈希做比对,不一致直接拒绝注册请求。注意不要把签名校验逻辑放在客户端本地执行,避免被逆向破解绕过。
  • 接入应用完整性校验:可以使用Google Play Integrity API,客户端注册时先获取完整性校验凭证传到服务端,服务端验证凭证合法后才允许绑定FCM token,可有效识别仿冒、篡改、非官方渠道分发的应用。
  • 敏感推送内容加密:所有包含敏感信息的推送不要明文传输,使用仅正版客户端与服务端共享的加密密钥加密后再推送,即便恶意应用拿到推送内容也无法解密读取。
  • 限制FCM密钥权限:在Google Cloud控制台限制google-services.json中对应API密钥的使用范围,仅允许匹配你正版应用包名、签名的应用调用FCM相关接口,降低配置泄露后的滥用风险。

内容的提问来源于stack exchange,提问作者Nikolaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:27:00