设备和GCM服务器之间的Google云消息传递渠道有多安全?

3
GCM在设备上使用什么身份验证机制,特别是考虑到Google不需要在Android 4.0.4及以上版本上配置任何Google帐户即可使用GCM通知。该机制如何防止GCM会话劫持?也就是说,身份验证机��如何防止恶意应用程序读取设备上的数据(a.在已root设备上,b.在未root设备上),并使用来自不同计算机的信息与GCM服务器建立会话,以接收原始设备的推送通知?此外,是否存在已知漏洞?

添加了 Android 标签。 - Ramki
你能详细说明你的关注点是什么吗?GCM是一种“推送”通知服务,即您可以通知设备发生事件并提供一些数据与通知一起,由接收设备/应用程序决定如何处理该信息。 - nPn
@nPn 我的问题是关于设备如何识别自己以及GCM服务器如何验证来自设备的连接,以便他们可以推送接收到的消息给该设备。 - Ramki
如果设备到GCM身份验证的过程被攻击,那么就有可能窃听所有针对该设备上任何应用程序的消息,从而可能暴露有关设备用户的非常敏感的信息。 - Ramki
1个回答

2
GCM的网络传输尚未公开记录。话虽如此,这是已公开记录的部分内容...
通常情况下,GCM消息由专用服务接收,然后转发给各个应用程序。该服务负责与(并认证)Google服务器通信。由于所有通信都通过该服务进行,因此应用程序从不直接访问GCM传输。此外,应用程序沙箱防止非根设备上的应用程序访问其他软件包拥有的内存或文件。
根设备更加复杂。一般来说,我建议不要对设备进行root,因为它会破坏Android的安全模型的一部分。具有root特权的应用程序将能够读取任何其他应用程序的文件或内存。许多社区开发的Android发行版包括额外的保护措施(例如Superuser实用程序),可帮助管理哪些应用程序可以获得root权限,以帮助防止此类攻击。
我不知道是否有针对GCM协议的任何攻击。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接