Hoy recibí una pregunta de mi gerente preguntándome qué se considera un diseño aceptable para la autenticación de una aplicación de formulario web, especialmente con respecto a la naturaleza de muchos navegadores populares para "Recordar contraseña" para los campos de inicio de sesión de contraseña de nombre de usuario típico .
Tengo problemas para encontrar una respuesta que considero aceptable. A la luz de las vergonzosas fallas de seguridad de Sony, realmente quiero tener cuidado, a pesar de que los datos que se almacenan en las personas son de menor sensibilidad. No estamos almacenando números de seguridad social o incluso direcciones, sin embargo, estamos almacenando números de teléfono, direcciones de correo electrónico y una foto de un visitante.
Le preocupa que un usuario pueda simplemente Recordar contraseña en un terminal público, luego alguien puede simplemente saltar a este terminal y comenzar a ver o modificar datos de una manera no autorizada. Sin embargo, estoy bastante seguro de que al menos en las estaciones de trabajo de Windows el navegador no "recordará la contraseña" en las cuentas de usuario de Windows.
Más allá de esto, estoy implementando un cifrado de contraseña unidireccional en el lado del servidor (almacene la contraseña cifrada en la base de datos, cifre la contraseña proporcionada por el usuario en el servidor, compárela con la cadena cifrada de la base de datos). No hay planes inmediatos para incorporar el cifrado SSL, sin embargo, esta sigue siendo una opción.
¿Hay alguna falla de seguridad importante con este enfoque? ¿Tienes alguna sugerencia mejor?