Estoy implementando encriptación de extremo a extremo a nivel de campo (e2ee) a los datos del cliente almacenados en una base de datos, esta base de datos está utilizando una aplicación web RESTFUL (angular) a través de una API web.
La API genera una clave de cifrado por usuario y cifra simétricamente esa clave de cifrado con la contraseña en bruto del usuario + las credenciales y el almacén en una base de datos.
Cada vez que el usuario debe proporcionar la contraseña a la API web para descifrar su clave de cifrado y al usar esa clave, la API web descifra los datos del cliente y los proporciona a la WebUI RESTABLECIDA.
Cuando se encuentra en una situación en la que el cliente pierde su contraseña, no puede acceder a sus datos.
¿Hay alguna solución para este problema de escenario de contraseña perdida? Sin embargo, e2ee siempre debe estar disponible y nuestro personal de API / UI / desarrolladores / administración de la web debe tener un conocimiento nulo de los datos del cliente.