En términos generales, lo mejor que puedes hacer es endurecer el servidor para hacerlo tan resistente al compromiso como sea posible.
Lo ideal sería almacenar la semilla en un módulo de seguridad de hardware (HSM; también conocido como un coprocesador criptográfico). Se aseguraría de que la semilla nunca abandone el HSM, es decir, realice todos los cálculos criptográficos en el HSM. Esto ofrece una mejor protección, aunque es más caro.
Pero, como lo señala correctamente, no puede almacenar la semilla en forma de hash. La semilla debe almacenarse en el claro, por lo que si ese servidor se compromete , usted are en grande trouble . Esto significa que es absolutamente vital que protejas ese servidor tan bien como puedas.
Las semillas OTP son diferentes de las contraseñas. Las personas tienden a usar la misma contraseña en varios sitios; Eso no sucede con las semillas OTP. Las contraseñas de hash se utilizan en parte para proteger las contraseñas de los usuarios, de modo que si la base de datos del sitio X no se cumple, las cuentas de los usuarios de X en otros sitios no se ven comprometidas. Esa amenaza simplemente no se aplica a las semillas OTP.
También, con contraseñas, usted puede hash de contraseñas. Si puede, también podría hacerlo, ya que ayuda a mitigar algunos riesgos. (Y las contraseñas son tan ampliamente utilizadas y utilizadas por los desarrolladores que no son expertos en seguridad, que es casi un hecho dado que muchos sitios que usan contraseñas experimentarán una brecha de seguridad en algún momento). Ya que no puede hash de semillas OTP, esto la mitigación simplemente no está disponible para las semillas OTP, por lo que tendrá que usar otros métodos para proteger sus semillas OTP. Afortunadamente, solo los sitios muy conscientes de la seguridad deberían almacenar sus propias semillas OTP, por lo que si uno es optimista, uno puede esperar que esté en una mejor posición para aplicar otras defensas.
De todos modos, dado que las semillas OTP tienen características diferentes de las contraseñas, no debe asumir que cada mitigación de las contraseñas se transferirá necesariamente también a las semillas OTP.