iPhone: cierre de sesión del usuario cuando la aplicación pasa al fondo

4

Nuestra aplicación móvil (financiera / bancaria) requiere que el usuario ingrese un nombre de usuario / contraseña para obtener datos a través de llamadas de servicio web. Una vez que el usuario ha iniciado sesión, las credenciales se almacenan en una variable global hasta que el usuario cierre la sesión. Si la aplicación se envía a segundo plano (mensaje de texto, llamada telefónica, etc.), iniciaremos un temporizador y cerraremos la sesión del usuario si la aplicación no se vuelve a activar después del intervalo de tiempo especificado.

Uno de nuestros clientes nos dijo que esto no es seguro y nos está pidiendo que cambiemos este comportamiento y que cerremos la sesión del usuario inmediatamente si la aplicación pasa a segundo plano. No querían revelar por qué creen que nuestro enfoque es inseguro y nos preguntamos si lo que estamos haciendo es realmente inseguro y por qué, o si son demasiado paranoicos.

    
pregunta Miles 14.05.2012 - 16:47
fuente

2 respuestas

3

Es imposible decir cuál es su problema sin una copia de su análisis de riesgo, pero surgen tres posibilidades:

  • Es posible que les preocupe que una aplicación maliciosa pueda secuestrar la sesión.
  • Es posible que les preocupe que los usuarios piensen erróneamente que la aplicación se cerró y que todas las sesiones se abandonaron cuando la utilizaron como fondo.
  • Es posible que les preocupe que, si se roba el teléfono, haya una ventana cuando aún se pueda usar su aplicación.

No estoy seguro de que alguno sea un riesgo particularmente grande, pero por supuesto depende de la evaluación completa del riesgo. Si tu aplicación está lanzando bombas nucleares, por ejemplo, no estoy seguro de que el cliente sea demasiado paranoico.

    
respondido por el Graham Hill 14.05.2012 - 17:04
fuente
1
  

Una vez que el usuario ha iniciado sesión, las credenciales se almacenan en una variable global   hasta que el usuario cierre la sesión

Nunca debe almacenar el nombre de usuario y las contraseñas en ningún lugar de la aplicación. La mejor práctica es enviar las credenciales a través de HTTPS a un servidor y mantener una sesión con un ID de sesión.

Cuando la aplicación pase al segundo plano, finalice la sesión. Sin embargo, cuando la aplicación se mueve de nuevo a primer plano, debe solicitar credenciales una vez más. Estos son estándares de codificación segura.

    
respondido por el Anil 16.05.2012 - 12:33
fuente

Lea otras preguntas en las etiquetas