Estoy tratando de encontrar la mejor manera de asegurar las credenciales de usuario para el inicio de sesión del servicio en el que estoy trabajando. La forma más segura sería utilizar hashing y salado; sin embargo, este proyecto requiere que la contraseña se descifre para que el personal de soporte pueda iniciar sesión en la cuenta del usuario (si el usuario abre un ticket de soporte si algo no funciona bien).
He investigado un poco y parece que AES es la mejor opción. Mi preocupación es cómo debo almacenar las claves de cifrado en el servidor, porque si el servidor está comprometido, el pirata informático tiene acceso a las claves para descifrar todas las credenciales.
Le agradecería que alguien me informara sobre las mejores prácticas que debería usar para este proyecto.
Nota al margen: estoy programando el backend en NodeJS y se ejecutará en un VPS de Linux privado.