No es demasiado fácil crear una contraseña confiable y al mismo tiempo memorable.
Entonces, ¿qué tal una serie de preguntas memorables en lugar de una sola contraseña? (Esta idea está relacionada con este )
Deje que el usuario cree las preguntas por sí mismo. Podría ser cualquier cadena, incluso un número aleatorio de símbolos, siempre que le recuerde algo. Hará la inscripción mucho más tiempo, sí.
UPD : cuando un usuario inicia sesión, ve la pregunta que está respondiendo actualmente, de modo que las preguntas funcionan como sugerencias de contraseña. Solo para aclarar.
Las respuestas se almacenan con hash (con sal de curso) (¿será útil el cifrado adicional?). Las preguntas se almacenan encriptadas en una cadena, excepto la primera. La respuesta a la primera pregunta es la clave para descifrar la siguiente, y así sucesivamente. Eso garantiza que un infractor potencial tendrá que obtener la respuesta para cada pregunta una por una en una secuencia estricta, lo que hará que sea más difícil hacerlo con la ingeniería social.
Restablecer en caso de respuesta olvidada para una de las preguntas: la parte olvidada de la cadena se elimina y el usuario puede "crecer" una nueva en lugar de ella. Por supuesto, primero le preguntamos al usuario si realmente quiere hacerlo por correo electrónico.
Restablecer en caso de respuestas comprometidas: se elimina toda la cadena y el usuario puede crear una nueva. Nuevamente, confirmación por correo electrónico.
(esta idea se basa en el correo electrónico, podría ser un problema)
¿Podría ser mejor que la autenticación de contraseña estándar?