Un módulo de seguridad de hardware ( HSM ) es un dispositivo informático físico que salvaguarda y administra secretos (principalmente claves digitales ), realiza funciones de cifrado y descifrado para firmas digitales , autenticación fuerte y otras funciones criptográficas. [1] Estos módulos tradicionalmente vienen en forma de una tarjeta enchufable o un dispositivo externo que se conecta directamente a una computadora o servidor de red . Un módulo de seguridad de hardware contiene uno o más chips criptoprocesadores seguros . [2] [3]
Los HSM pueden tener características que proporcionen evidencia de manipulación, como signos visibles de manipulación o registro y alerta, o resistencia a la manipulación, que dificulta la manipulación sin hacer que el HSM quede inoperativo, o capacidad de respuesta a la manipulación, como eliminar claves al detectar una manipulación. [4] Cada módulo contiene uno o más chips criptoprocesadores seguros para evitar la manipulación y el sondeo del bus , o una combinación de chips en un módulo que está protegido por el encapsulado a prueba de manipulación, resistente a la manipulación o sensible a la manipulación. Una gran mayoría de los HSM existentes están diseñados principalmente para gestionar claves secretas. Muchos sistemas HSM tienen medios para realizar copias de seguridad de forma segura de las claves que manejan fuera del HSM. Las claves se pueden respaldar en forma envuelta y almacenar en un disco de computadora u otro medio, o externamente utilizando un dispositivo portátil seguro como una tarjeta inteligente o algún otro token de seguridad . [ cita requerida ]
Los HSM se utilizan para la autenticación y autorización en tiempo real en infraestructura crítica, por lo que generalmente están diseñados para soportar modelos estándar de alta disponibilidad, incluidos agrupamiento , conmutación por error automatizada y componentes redundantes reemplazables en campo .
Algunos de los HSM disponibles en el mercado tienen la capacidad de ejecutar módulos especialmente desarrollados dentro de la carcasa segura del HSM. Esta capacidad es útil, por ejemplo, en casos en los que se deben ejecutar algoritmos especiales o lógica empresarial en un entorno seguro y controlado. Los módulos se pueden desarrollar en lenguaje nativo C , .NET, Java u otros lenguajes de programación.
Debido al papel fundamental que desempeñan en la protección de aplicaciones e infraestructuras, los HSM de propósito general y/o los módulos criptográficos suelen estar certificados de acuerdo con estándares reconocidos internacionalmente, como Common Criteria (p. ej., utilizando el Perfil de protección EN 419 221-5, "Módulo criptográfico para servicios de confianza") o FIPS 140 (actualmente la tercera versión, a menudo denominada FIPS 140-3). Aunque el nivel más alto de certificación de seguridad FIPS 140 alcanzable es el Nivel de seguridad 4, la mayoría de los HSM tienen certificación de Nivel 3. En el sistema Common Criteria, el EAL (Nivel de garantía de evaluación) más alto es EAL7, la mayoría de los HSM tienen certificación EAL4+. Cuando se utiliza en aplicaciones de pagos financieros, la seguridad de un HSM a menudo se valida frente a los requisitos de HSM definidos por el Consejo de Normas de Seguridad de la Industria de Tarjetas de Pago . [5]
Se puede utilizar un módulo de seguridad de hardware en cualquier aplicación que utilice claves digitales. Normalmente, las claves serían de gran valor, lo que significa que habría un impacto negativo significativo para el propietario de la clave si se viera comprometida.
Las funciones de un HSM son:
Los HSM también se implementan para administrar claves de cifrado de datos transparentes para bases de datos y claves para dispositivos de almacenamiento como discos o cintas . [ cita requerida ]
Algunos sistemas HSM también son aceleradores criptográficos de hardware . Por lo general, no pueden superar el rendimiento de las soluciones basadas únicamente en hardware para operaciones de clave simétrica. Sin embargo, con rangos de rendimiento de entre 1 y 10 000 firmas RSA de 1024 bits por segundo, los HSM pueden proporcionar una importante descarga de CPU para operaciones de clave asimétrica. Dado que el Instituto Nacional de Estándares y Tecnología (NIST) recomienda el uso de claves RSA de 2048 bits a partir del año 2010, [6] el rendimiento con tamaños de clave más grandes se ha vuelto más importante. Para abordar este problema, la mayoría de los HSM ahora admiten criptografía de curva elíptica (ECC), que ofrece un cifrado más fuerte con longitudes de clave más cortas.
En entornos PKI , las autoridades de certificación (CA) y las autoridades de registro (RA) pueden utilizar los HSM para generar, almacenar y gestionar pares de claves asimétricas. En estos casos, existen algunas características fundamentales que debe tener un dispositivo, a saber:
Por otro lado, el rendimiento del dispositivo en un entorno PKI es generalmente menos importante, tanto en operaciones en línea como fuera de línea, ya que los procedimientos de la Autoridad de Registro representan el cuello de botella del rendimiento de la Infraestructura.
En la industria de las tarjetas de pago se utilizan HSM especializados. Los HSM admiten funciones de uso general y funciones especializadas necesarias para procesar transacciones y cumplir con los estándares de la industria. Normalmente no cuentan con una API estándar .
Las aplicaciones típicas son la autorización de transacciones y la personalización de tarjetas de pago, requiriendo funciones como:
Las principales organizaciones que producen y mantienen estándares para HSM en el mercado bancario son el Consejo de Normas de Seguridad de la Industria de Tarjetas de Pago , ANS X9 e ISO .
Las aplicaciones críticas para el rendimiento que tienen que usar HTTPS ( SSL / TLS ) pueden beneficiarse del uso de un HSM de aceleración SSL al mover las operaciones RSA, que normalmente requieren varias multiplicaciones de números enteros grandes, desde la CPU del host al dispositivo HSM. Los dispositivos HSM típicos pueden realizar aproximadamente de 1 a 10 000 operaciones RSA de 1024 bits por segundo. [7] [8] Cada vez es más importante lograr cierto rendimiento con tamaños de clave más grandes.
Cada vez más registros utilizan HSM para almacenar el material clave que se utiliza para firmar archivos de zona de gran tamaño . OpenDNSSEC es una herramienta de código abierto que administra la firma de archivos de zona DNS .
El 27 de enero de 2007, ICANN y Verisign , con el apoyo del Departamento de Comercio de los EE. UU ., comenzaron a implementar DNSSEC para las zonas raíz de DNS . [9] Los detalles de la firma raíz se pueden encontrar en el sitio web de Root DNSSEC. [10]
La tecnología blockchain depende de operaciones criptográficas. La protección de las claves privadas es esencial para mantener la seguridad de los procesos blockchain que utilizan criptografía asimétrica. Las claves privadas suelen almacenarse en una billetera de criptomonedas como la billetera de hardware de la imagen.
La sinergia entre los HSM y la cadena de bloques se menciona en varios artículos, destacando su papel en la protección de claves privadas y la verificación de identidad, por ejemplo en contextos como las soluciones de movilidad impulsadas por la cadena de bloques. [11] [12]