¿Hay alguna forma segura de almacenar la clave secreta utilizada en un esquema TOTP?

7

Estoy escribiendo una pequeña aplicación web que demuestra la autenticación de 2 factores. Estoy usando el protocolo TOTP como se describe en RFC 6238 . En nuestro esquema, estamos almacenando, además de un hash de contraseña cifrado en b para cada usuario, una clave secreta, que se utiliza para validar códigos de un solo uso.

Estoy usando postgreSQL para un backend de base de datos. Supongamos que mi base de datos está comprometida sin mi conocimiento. Todas las contraseñas son seguras, ya que las estoy procesando y cifrando: no hay un ataque fácil que revele todas las contraseñas, salvo las brutas que obligan a cada una.

¿Hay alguna manera de que pueda guardar de forma segura la clave para el TOTP? No puedo controlarlo, necesito su texto simple para la validación de OTP.

¿Hay alguna forma de almacenar esta clave de forma segura?

    
pregunta Wug 01.03.2014 - 07:41
fuente

1 respuesta

4

Sí. Cifre la clave TOTP de texto sin formato en el lado de la aplicación y guarde el texto cifrado en la base de datos. Si tampoco puede confiar en la aplicación, use un HSM (módulo de seguridad de hardware) o cree y use una versión de software de la misma.

    
respondido por el Matrix 01.03.2014 - 09:21
fuente

Lea otras preguntas en las etiquetas