No soy un experto en seguridad, así que podría estar haciendo una pregunta tonta, pero permítame describir lo que estoy pensando.
Primero, sé que muchos sitios web almacenan contraseñas cifradas / encriptadas que podrían descifrarse mediante un ataque de fuerza bruta una vez que la tabla en la base de datos es hackeada. Los piratas informáticos pueden incluso utilizar las contraseñas en otros sitios web y acceder a otra información confidencial.
Dado que AES no se puede romper por qué puedo ' ¿Simplemente utilizamos una lógica similar al cifrado autenticado ? aquí es otro enlace relevante. Por ejemplo,
- Prepare un archivo binario aleatorio de 1kb como el archivo esperado.
- Cifre el archivo esperado con una contraseña con hash
- Cuando un usuario inicia sesión en el sistema, valide la contraseña descifrando el archivo cifrado y verifique el archivo esperado. Si falla rechaza el inicio de sesión. Supongo que podemos usar la misma lógica para las preguntas secretas y las respuestas para restablecer la contraseña sin almacenar realmente las respuestas.
Si los archivos confidenciales también se cifran con la contraseña, supongo que el usuario no podrá restablecer la contraseña. ¿Hay alguna manera de hacerlo?
Mientras escribía esto, encontré una muy similar , pero están hablando sobre el descifrado del lado del cliente y estoy hablando del lado del servidor (o solo dentro del sistema local).
Realmente agradecería cualquier comentario o sugerencia.