Después de leer esto: enlace , sobre cómo almacenar la" clave secreta "para asignar tokens JWT. Tuve preguntas de seguridad. Mis datos (mensajes, nombre de usuario, etc.) se cifrarán (en la base de datos) y solo los usuarios autorizados pueden descifrarlos (según su clave privada). Dado que los tokens JWT se generan usando 1 "clave secreta" que se almacena en el servidor, en caso de que un atacante obtenga la "clave secreta" y se apoderen de la base de datos, los tokens se pueden falsificar y, por lo tanto, los datos se pueden descifrar sin pasar por la "contraseña". lo que hace inútil el cifrado. Con esto en mente aquí están mis ideas
Método 1. Almacene la "clave secreta" en un servidor separado (como HSM) que se recibirá durante el inicio de sesión y luego se usará para configurar el token
Método 2. Cifre algún tipo de sal para cada usuario y utilícelo como la "clave secreta"
Mi sistema / autorización de inicio de sesión da acceso a casi todos los datos, incluidos los mensajes cifrados, etc. Así que necesito que sea seguro.
Me gustaría escuchar tus pensamientos e ideas. ¿Cómo lo hace facebook o twitter? ¿Realmente necesito HSM para almacenar claves privadas para el cifrado o hay algún tipo de alternativa (por ejemplo: sistema de archivos seguro)?
Gracias :)