向GCM公开/公开我的API密钥本质上是危险的吗?

时间:2016-03-09 20:18:53

标签: android security google-cloud-messaging

我想弄清楚,如果用于向应用发送通知的API密钥是公开的,它是否会以某种方式危害用户。在什么情况下可能会有危险?

据我所知,攻击者还需要一个有效的注册ID才能实际向该应用的用户发送通知。如果攻击者不太可能获得注册ID,是否存在真正的危险?有没有方法可以获得注册ID,而不是以某种方式从创建它的应用程序中获取注册ID?

我的用例,特别是制作一个应用程序,该应用程序与应用程序的用户相关,以获取API密钥并将通知发送到他自己的设备。我试图弄清楚,暴露API Key是否会让他向其他用户发送通知(不知道他们的注册ID)。

更新(由于The Anathema's answer:注册ID在任何时候都不会离开设备(除非由应用用户手动复制)。没有数据库存储,没有Web请求传输它。注册ID也会向应用程序的用户公开。

1 个答案:

答案 0 :(得分:1)

取决于。

您不希望他们同时拥有这两种身份验证令牌。如果他们有一个,他们只需要另一个。

您有多个失败点。当您保存,存储和检索注册ID时,任何这些不正确处理的点都会暴露注册ID,如果攻击者对其进行处理,则会使您承担责任,因为该流量与您相关。 / p>

  • 强暴攻击(等待成功握手/ OK响应)
  • 一个不幸的堆栈跟踪。
  • 数据库曝光。
  • 被黑/被攻陷的用户。
  • 截获的数据包/ HTTP非散列数据(如果不是HTTPS)。
  • 接收设备上的监听器。
  • ...

您希望在任何系统中构建冗余,这就是为什么某些服务需要密钥,名称,随机数(一次性字符串),密码,令牌等等。

相关问题