Cómo transferir de forma segura la contraseña de una página de registro a la base de datos [duplicar]

-2
  1. ¿Qué pasos se deben seguir para enviar la contraseña de forma segura desde la página de registro del usuario (es decir, del lado del cliente) al servidor a través de un canal no cifrado (http) cuando el usuario se registra por primera vez en el sitio web? (Suponemos que existe un intruso entre el cliente y el servidor)

  2. la contraseña debe estar encriptada con un algoritmo como AES (requiere que la clave privada se comparta entre el cliente y el servidor, lo que podría no ser seguro) o el uso de SHA2 en el lado del cliente antes de enviarlo al servidor para realizar más hash utilizando PBKDF2 o bcrypt.

pregunta A. Sinha 11.02.2016 - 17:01
fuente

2 respuestas

10

El único método seguro para que un sitio web transfiera una contraseña al servidor es usar HTTPS / SSL. Si la conexión en sí no está encriptada, un ManInTheMiddle puede modificar o eliminar cualquier JavaScript enviado al cliente. Así que no puedes confiar en el hashing del lado del cliente.

No puede configurar una conexión segura entre el cliente y el servidor por su cuenta, porque ya no hay información compartida. Esto es como inventar un lenguaje secreto mientras el malo está escuchando. Para eso es SSL, si obtiene un certificado SSL para su sitio web de una CA pública, entonces los navegadores incorporan certificados raíz para estas CA que utilizan para validar su sitio web. Sobre esta base, el cliente y el servidor pueden configurar una conexión segura.

    
respondido por el martinstoeckli 11.02.2016 - 17:27
fuente
1

La respuesta aquí es que no debería ser.

La contraseña debe estar con hash (y incluirse con sal, y cualquier otro algoritmo para probar) en el lado del cliente, y ese hash debe pasarse a la base de datos. La contraseña no debe salir del lado del cliente.

Si desea evitar que ese hash sea interceptado, entonces se requiere HTTPS o algo similar para cifrar el canal.

    
respondido por el Jozef Woods 11.02.2016 - 17:05
fuente

Lea otras preguntas en las etiquetas