我想开发一个基于 GPS 的游戏(实际上我的游戏的一部分将基于 GPS,但用户需要经过身份验证)。
在我的后端,我有用户收集数据的入口点,因此客户端应用程序中不会存储任何数据(至少不是游戏数据)。
假设我使用安全的通信通道(例如:分别为 HTTPS 或 WSS),并且证书是受信任的(例如,Startcom SSL ......实际上并不重要,因为我稍后可以专注于 SSL 提供程序)。这意味着:客户端应用程序连接到服务器并接收其 PubKey 证书。
部分通信(通过 HTTPS、WSS 或带有 TLS 层的常规套接字)将涉及客户端应用程序发送其 GPS 坐标。它们是敏感数据,将存储在服务器中,但数据将由客户端生成。
问:我可以使用什么技术(或者可能是每个 Android 设备自特定版本以来已经内置的应用程序)来验证连接的应用程序是允许的?
我要解决的问题是:我不希望玩家作弊(通过使用与我的应用程序相同的协议的被黑客户端应用程序)发送虚假/精心制作的 GPS 位置。
我将使用的技术:(主要)Android(也许稍后会使用其他设备但还没有)4+。
我的期望是什么:我不需要特定的代码行来解决问题(尽管欢迎使用代码行),而是专注于一个好的技术、概念或补充工具。
注意:这不是帐户身份验证问题。这与用户冒充其他用户的能力无关,而是一个被黑客入侵/作弊的客户端应用程序冒充一个好的客户端应用程序(通常是同一用户试图作弊)。