Cómo proteger mejor los datos a través de HTTPS

3

Mi objetivo es tener una aplicación (iOS) en la que el usuario inicie sesión y luego, con un inicio de sesión exitoso, obtenga acceso a información adicional a través de un servicio web cifrado (no decidido).

Desde la investigación, entendí las técnicas de cifrado del intercambio de claves diffie-hellman y las 'firmas' que usan HMAC con una clave secreta (del diffie-hellman).

Investigaciones adicionales me llevan a HTTPS para asegurar que no se escuchen a escondidas.

Sin embargo, ahora estoy un poco confundido en cuanto a lo que tendría que hacer a través de la conexión HTTPS para garantizar que los datos de inicio de sesión estén protegidos entre la aplicación y amp; servidor.

  1. ¿Es HTTPS suficiente seguridad para pasar POST 'nombre de usuario' & ¿Los datos de 'contraseña' bajan de la línea al servidor por su cuenta? ¿O sería necesaria una seguridad adicional como un hash de la contraseña?

o

  1. ¿Tendría que implementar una firma de solicitud de intercambio de claves completa (y, en algún momento, un token de acceso), a través de una conexión HTTPS?

No estoy seguro de dónde dibujar la línea con el cifrado.

    
pregunta Simon. 24.10.2014 - 12:41
fuente

1 respuesta

4

HTTPS es más que suficiente seguridad para enviar y recibir información, no empieces a implementar tu propia seguridad, ya que HTTPS se hará cargo de ti. Proporciona:

  • Confidencialidad
  • Integridad
  • autenticidad

La mayor advertencia al escribir aplicaciones móviles es verificar el comportamiento de su aplicación cuando recibe una excepción de certificado.

Con respecto al hash de la contraseña, no es realmente útil, ya que la contraseña será la que usted envíe al servidor, por lo que la repetición de los ataques o el rastreo aún sería posible, incluso cuando tenga su contraseña. Afortunadamente, no será posible ver lo que se está enviando a través de su conexión, ya que usarán HTTPS.

Con respecto a su token de acceso, puede usar un token de sesión como lo haría con cualquier otra aplicación web. Si necesita un servicio RESTful, deberá enviar el nombre de usuario y la contraseña en cada solicitud.

    
respondido por el Lucas Kauffman 24.10.2014 - 13:08
fuente

Lea otras preguntas en las etiquetas