Soy nuevo en el desarrollo web (comenzó en enero) y en la seguridad web (¡empecé hace menos de una semana!), Así que discúlpeme si mi pregunta es groseramente incrédula, está mal informada o simplemente es estúpida.¿Es necesario cifrar contraseñas antes de enviarlas a través de HTTPS?
La empresa para la que trabajo es el producto principal, es un buen sistema cliente/servidor anticuado. Para que sea más atractivo para nuestros clientes, me han dado la tarea de desarrollar un conjunto de aplicaciones web centradas en tareas simples que complementan el diseño centrado en el proceso de todo el negocio del sistema. Por ejemplo, si el rol de un usuario en la organización consiste en aprobar órdenes de compra y órdenes de pago, le resultará más fácil utilizar la aplicación de aprobaciones web que abrir los módulos Compras y Tesorería y usarlas para aprobar órdenes de compra y órdenes de pago, respectivamente. .
No hace falta decir que todas mis aplicaciones web tienen una página de inicio de sesión. Y, por supuesto, necesito que estén seguros. Por ese motivo, por diseño, estas aplicaciones web solo se pueden usar a través de HTTPS, nunca a través de HTTP simple.
Ahora, me gustaría saber qué tan seguro es enviar contraseñas a través de HTTPS sin más medidas de seguridad. ¿Es lo suficientemente seguro? ¿Qué tienen que decir las personas con experiencia en el campo de la seguridad?
@Matthew: Realmente no entiendo cómo funciona la salazón al azar. ¿Cómo puedo validar la contraseña de un usuario contra un hash que incluye una sal aleatoria? – pyon
@ Eduardo, almacena tanto la sal por usuario como el hash en la base de datos. Ninguno de los dos es realmente secreto. Luego, hash la sal almacenada y la contraseña suministrada y verifica el resultado contra el hash almacenado. Ver [este artículo] (http://wheelersoftware.com/articles/storing-passwords-securely-hash-salt.html). También puede buscar Stack Overflow para obtener más información. –
@Matthew: Si estas sales se guardan realmente en la base de datos y se asocian con sus respectivos usuarios, ¿cuál es la diferencia entre usar un sal aleatorio y utilizar un campo no público específico del usuario (como ID de usuario, en sistemas en los que ID de usuario y UserName son campos separados) como la sal? – pyon