Descripción

La arquitectura HSM Dinamo se basa en los principios de modularidad, separación de particiones de claves, control de acceso, protección contra manipulaciones y optimización con el objetivo de ofrecer estabilidad y rendimiento en las operaciones criptográficas.

Hay tres elementos básicos en la arquitectura HSM: usuarios, objetos y módulos.

Los usuarios son las entidades que solicitan servicios y disponen de un área de almacenamiento dentro del HSM; estas áreas también se denominan particiones de usuario. También son los usuarios que pueden abrir sesiones de servicio con el HSM. A cada usuario le corresponde una partición en el HSM.

Los objetos son las entidades almacenadas en las particiones del HSM. Cada objeto está intrínsecamente relacionado con un usuario. Existe un tipo especial de objeto, que es el que contiene material criptográfico, normalmente una clave de cifrado simétrica o asimétrica; estos objetos se denominan claves y tienen un nivel de protección y control superior al de los demás objetos. Los demás objetos pueden ser de diversos tipos, como certificados o cadenas de certificados digitales, listas de certificados revocados, o incluso un objeto opaco sin significado para el HSM. Los objetos también pueden ser temporales, es decir, objetos no persistentes entre sesiones, es decir, que sólo existen durante la sesión y son eliminados por el HSM al final de la misma. En Dinamo todos los objetos se mantienen encriptados internamente por una Llave Maestra del Servidor en la zona de memoria persistente y sólo se desencriptan cuando hay una petición de acceso válida y siempre a memoria volátil.

Los módulos son las unidades de prestación de servicios dentro del HSM, cada una responsable de una especialidad. Dentro de los módulos se encuentran las implementaciones de algoritmos criptográficos o genéricos. Existe una interfaz de comunicación bastante rígida con cada módulo, expuesta a los usuarios a través de las API de la biblioteca de funciones del HSM. A excepción de los módulos Core y State Manager, que prestan servicios básicos y sirven a otros módulos, todos los módulos son opcionales, lo que significa que el HSM puede configurarse en fábrica en función de las necesidades de cada demanda, optimizando los costes y el uso de los recursos.

En HSM, cada usuario tiene soberanía sobre su partición, es decir, puede crear, modificar y eliminar sus propios objetos. También puede dar permiso a otros usuarios para acceder a los objetos de su partición. No hay usuarios ni administradores con permisos implícitos sobre las particiones de otros usuarios; todos los permisos deben ser otorgados explícitamente por el usuario propietario de la partición. No existe una zona común o pública de almacenamiento. La partición existirá mientras exista el usuario en la base de datos del HSM.