¿Cómo almacenar una contraseña WS en Android sin riesgo o reduciendo el riesgo?

0

Tengo una aplicación de Android que llama a SOAP WS. La llamada WS pasa por HTTPS y tiene credenciales (usuario y pase)

(este no es un usuario / pase específico, sino el usuario / pase del propio WS)

¿Cómo debo almacenar el usuario / pase?

Sé que si pongo la contraseña codificada, cualquier atacante puede descompilar la aplicación y obtenerla.

    
pregunta Daniel Benedykt 15.09.2016 - 15:02
fuente

1 respuesta

1

Esto suena como una re-arquitectura puede ser requerida. Como se mencionó anteriormente, no podrá proteger el nombre de usuario y la contraseña si están almacenados localmente en el dispositivo. Necesitará algún tipo de proxy entre el punto final del servicio web y el dispositivo.

Mejores prácticas

La mejor práctica sería otorgar a cada usuario su propia credencial para el proxy, y luego el propio proxy conectará el punto final SOAP. El proxy se conectará al servicio SOAP a través de SSL

Una solución no recomendada

Dependiendo de sus requisitos de seguridad, es posible que pueda salirse con los requisitos menos estrictos. Si hay operaciones particulares en el servicio SOAP a las que no desea que sus usuarios puedan acceder, simplemente no puede exponerlas a través de la aplicación proxy. Por ejemplo, si el servicio SOAP expone una operación de agregar, editar y eliminar, y no desea que sus usuarios finales utilicen la operación de eliminación, su aplicación proxy no expondrá una operación de eliminación a sus usuarios. Tenga en cuenta que esta solución solo funcionará con el control de acceso vertical y no con el control de acceso horizontal. Solo evitará que los usuarios realicen acciones no autorizadas, como el ejemplo de eliminación. No evitará que los usuarios realicen acciones autorizadas contra objetos a los que no deberían poder acceder (es decir, si puedo actualizar mis registros, también puedo actualizar sus registros).

Espero que ayude. Por favor, vaya con la mejor práctica si es posible.

    
respondido por el Dan 15.09.2016 - 21:24
fuente

Lea otras preguntas en las etiquetas