¿Cómo puedo verificar / confiar en la ubicación de un dispositivo iOS o Android desde el servidor?

Estoy escribiendo el servidor para respaldar una aplicación basada en la ubicación para iOS y Android. La aplicación requiere que verifiquemos tanto la identidad del usuario como su ubicación. Sé cómo hacer el primero, pero no el último.

¿Es posible verificar que el lat / lon que el cliente me envía es de hecho la mejor estimación del dispositivo de su ubicación actual? Me preocupa que un cliente malintencionado falsifique una ubicación y juegue con el sistema.

CLARIFICACIÓN: Me gustaría saber cómo un servidor puede confiar , a través de algún tipo de proceso de verificación, las ubicaciones que se envían.

Puedo averiguar cómo obtener la ubicación del usuario desde el dispositivo. Por ejemplo, en la plataforma Android mi aplicación se registraría para recibir android.location.Location s, extraer lat / lon, y enviarlo al servidor.

Pero, ¿cómo convencer al servidor de que no lo inventé? Desde la perspectiva del servidor, ¿por qué debe creer, cuando se le da una lat / lon, que el usuario está realmente allí (o cerca de allí dada la precisión)?

Tal vez hay alguna manera de firmar los datos?

¿Cómo los servidores de aplicaciones como foursquare y Facebook verifican que los datos de ubicación que se les está dando no están siendo falsificados?

Escriba su propio cliente de android o iOS. Como estoy trabajando en Android es muy simple código. Necesita escribir un servicio que se ejecuta en determinado período de tiempo. Este servicio recuperará la ubicación. Con esto usted estará seguro de que lo que nunca lat / largo que está recibiendo es sólo por su código. Ahora el siguiente punto es la precisión. Puede usar la clase de criterios en android. Puede definir sus propios criterios para buscar la ubicación.

Escribir servicio en Android e iOS que publican el periódico lat / long periodicaly al servidor. Y también escribir código que busque la lat / long periodicaly desde el servidor y manipularlo en el mapa de Android o IOS.

Disfrutar. :))

Por lo que puedo decir, no creo que sea posible detectar spoofing de ubicación en iOS cuando se hace utilizando Xcode y GPX para simular la ubicación. Todas las aplicaciones, incluso la aplicación de iOS Map, creerán que su ubicación es lo que se establezca en el archivo GPX utilizado para simular su ubicación a través de Xcode.

Más información sobre este método: http://www.neglectedpotential.com/2013/04/spoofing-location-services-in-ios/

  • Almacenamiento de credenciales de Android: ¿Dónde guardar las claves privadas?
  • Bluetooth seguro vs. inseguro
  • SecurityException: No se puede iniciar el servicio Intención {act = com.google.android.c2dm.intent.REGISTER pkg = com.google.android.gms (tiene extras)}
  • Facturación en la aplicación de Android: Security.java dice "Error en la verificación de la firma"
  • Lee la huella digital de la computadora RSA desde Android
  • ¿Cómo puedo asegurar que el archivo se transmita desde el teléfono al servidor sin ser manipulado?
  • Hacer una aplicación de Android que no se puede desinstalar / eliminar
  • ¿Qué tan seguros son los archivos SQLite y SharedPreferences en Android?
  • ¿Qué herramientas existen que ofrecen protección apk para android (contra la inversión y el reenvasado)?
  • ¿Es seguro guardar los tokens de acceso / actualización de Oauth2 en las Preferencias compartidas de Android?
  • Alerta de seguridad de Google Play para TrustManager inseguro
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.