I want to prevent GPS spoofing in a mobile device and want to investigate additional ways to improve authenticity of this data.
PokemonGo is already struggling with this around the world.
Here are a few ways that may improve the situation:
For phones with a manufacturer signed bootstrap, sign the GPS hardware location data. This would limit the usage of emulators, and some jailbroken/rooted devices
Correlate GPS data with an IP ping to a trusted server. Lookup the IP coordinates of that IP in various GeoDatabases
For high volume games, like Pokemon, collect additional verification such as SSID, BTLe addresses. Peers in the same location should have some overlap in data.
To preserve privacy, I think that hardware manufacturers (iOS/Android) could modify existing APIs to add a confidence level to the GPS data returned.
Do any of these ideas make sense? Is there a better way?