¿Qué beneficios ofrecen los módulos de seguridad de hardware cuando las claves no están almacenadas dentro de ellos?

14

Estoy investigando un proyecto que hace uso de la criptografía. Es una aplicación .net con claves almacenadas en una base de datos de servidor SQL. Para la criptografía, el proyecto utiliza un Hardware Security Module similar a uno descrito en el artículo de wikipedia vinculado.

Me gustaría entender los beneficios de usar un dispositivo HSM en lugar de hacer cifrado / descifrado / firma / verificación y generación de claves en el código .net usando "implementación estándar" como la que se encuentra en .net BCL. Estamos hablando de RSA / DES aquí.

Comprendería si las claves estuvieran almacenadas dentro del dispositivo, pero me cuesta entender las ventajas si las claves se almacenan en otro lugar. Claro, puede estar seguro de que el algoritmo de cifrado no se modifica, pero si se trata de una manipulación indebida que le da miedo, existe un montón de otros códigos que funcionan con los datos antes de que se cifren / después de que se descifre y puedan ser manipulados. Esto se puede decir de casi cualquier proyecto, creo.

Una posible razón que puedo imaginar es el rendimiento, si la aplicación realiza mucha criptografía, sin embargo, no sé si este es el caso del proyecto todavía. Entonces, ¿cuáles podrían ser otros beneficios?

    
pregunta Andrew Savinykh 03.11.2015 - 23:31
fuente

1 respuesta

13

En muchos HSM, hay muy poca capacidad de almacenamiento seguro (por ejemplo, unos pocos kilobytes). Por lo tanto, lo que el HSM realmente almacena en sus entrañas es una clave maestra K (simétrica). Los pares de claves que utilizan las aplicaciones se almacenan externamente, pero se cifran con K ; se descifran y se usan solo dentro del HSM. En tal configuración, las claves están "lógicamente" dentro del HSM y "físicamente" almacenadas afuera. Esto puede ser lo que sucede en el sistema que le interesa.

¿Qué bien hace un HSM para la seguridad es una pregunta interesante. Básicamente, el HSM asegura que si le roban las llaves, lo sabrá, porque la única forma de robarlas es robar todo el HSM, momento en el que ya no lo tiene. Esto contrasta con las claves de software que pueden copiarse sin dejar rastro del robo.

Si se usa un HSM con claves almacenadas externamente, sin con alguna clave maestra como se describió anteriormente, entonces el HSM realmente es un acelerador simple, utilizado por razones de rendimiento, no para mejorar la seguridad. Esto solía ser popular hace una docena de años, pero perdió gran parte de su relevancia con el aumento del rendimiento ofrecido por la PC básica. La mayoría de los HSM tienen diseños más bien "fijos" porque cualquier cambio a un HSM invalida su certificación EAL 4+ / FIPS 140-2, por lo que muchos de los diseños de HSM actualmente en el mercado utilizan ASIC diseñado hace una década, con un rendimiento que usó es realmente bueno, pero ahora es simplemente comparable a lo que puede ofrecer un servidor de 500 $ (miles de operaciones de clave privada por segundo).

    
respondido por el Tom Leek 04.11.2015 - 03:52
fuente

Lea otras preguntas en las etiquetas