移动设备上的地理位置API有多安全?

3
通过GeoLocation API轻松地黑掉或提供错误信息给网站有多容易?
我需要让用户将他们的位置发布到我的服务器,但我需要确保数据没有被伪造。不需要非常精确的定位,但我需要知道用户至少在他们所声称的附近。
只要我保护好我的服务不被随意调用(使用用户提供的参数),我可以相信通过原生应用程序访问现代智能手机中的GPS系统给出的经纬度吗?HTML5呢?
我的问题基本上是,内置的操作系统API是否安全,即(假设未root的手机)从API返回的数据是有效的?如果不是,有什么方法可以验证数据至少是合理的?
1个回答

6
您期望遇到恶意行为吗?
与任何依赖客户端的技术一样,您必须信任客户端。对于已经获取root/越狱权限的手机,理论上数据可以在手机上被篡改。如果位置服务被禁用,您可能会得到占位符数据(尽管您应该收到指示表明地理定位已被禁用)。据我所知,没有可靠的方法来检测iPhone是否已经越狱,更不用说一个网站了。
除此之外,任何系统都可以被操纵,但是在非越狱的普通iPhone上提供虚假的地理数据并不容易;Android也很可能如此。
您还可以通过使用基于IP的外部地理定位服务进行合理性检查(这也可能被欺骗,例如通过代理服务器)。

1
很遗憾,是的。我确实希望人们尝试篡改数据。我想我也必须随机间隔进行一些距离计算,以确保没有人在瞬移。 - Nate
@Nate 我认为地理定位对于补充数据来说是相当安全的,但对于非常关键的应用程序来说并不十分安全。您将不得不自行开发(即使那也不会100%安全),这几乎是不可能完成的任务。您能期望的最好情况是进行一些合理性检查,但这些检查会给出一些错误的负面结果。 - fzwo

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