That is, what is a non-hackable way to measure the physical environment of a consumer smartphone?
Can the critical data be stored in a DRM module protected by OEM TPM module?
That is, what is a non-hackable way to measure the physical environment of a consumer smartphone?
Can the critical data be stored in a DRM module protected by OEM TPM module?
At this point you need to be more precise about what you exactly intend to measure. Even if you build something perfectly unbreakable, nothing prevents an attacker from simulating the environment around it, whether movement (by building a robot to shake the device), visual (monitor in front of camera sensor), radio (GPS constellation simulators, etc).
I've seen physical security companies enforce patrols by having their guards tap their phone on a physical device in the secured property (which does a challenge-response) to prove that they've indeed been there at a given time, but even that can be defeated by attaching a device with a microcontroller and some out-of-band channel (cellular, etc) to relay the signals over the internet and allow them to "check-in" at every location without physically being there. The system works because in most cases the cost & skill required for such an attack isn't worth it (if you have those skills you typically already have access to better-paying jobs).
Health tracker apps typically don't have this problem because the incentives are aligned - the user has no incentive to lie to their health tracking app so no security is needed. It's a problem for this particular app because the true purpose of the app isn't to encourage healthy living, it's "growth and engagement" where advertisers can pay to get people to go to certain places and most likely buy their location data as well - in this case the relationship is adversarial and there's no bulletproof solution, it will always be a game of cat & mouse. The proper solution is to just find a better business model where incentives are aligned.
- wanna be GPS spoofers would need to emulate the whole OS/sensors to send spoofed data to Apple/Google
- the platform/OS developers would have more ressources and incentives to detect spoofed data
The cat&mouse game is harder when played against Apple/Google than against a single small developer.