Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La administración eficaz de claves es fundamental para optimizar el rendimiento, la seguridad y la eficacia de Azure HSM en la nube. En este artículo se proporcionan prácticas recomendadas y recomendaciones para controlar los límites de almacenamiento de claves, la seguridad de envoltura de claves, los atributos de las claves y las estrategias de caché.
Gestión del límite de almacenamiento de claves
Los módulos de seguridad de hardware (HSM) tienen límites en el número máximo de tokens y claves de sesión que se pueden almacenar en un solo momento. Para más información sobre estos límites, consulte Límites de servicio de HSM en la nube de Azure.
Para evitar superar los límites de servicio de HSM en la nube de Azure, considere la posibilidad de usar una o varias de las estrategias siguientes para una administración eficaz de claves:
- Rotación de claves: Rotar claves con frecuencia para asegurarse de que las antiguas se reemplazan y se libera espacio para nuevas. La rotación frecuente ayuda a mantener el HSM dentro de los límites de almacenamiento mientras se mantiene la seguridad.
- Jerarquía de claves: use una jerarquía de claves en la que se usan claves principales para cifrar otras claves. Esta jerarquía reduce el número de claves que deben almacenarse directamente en el HSM.
- Uso compartido y reutilización de claves: en el caso de las aplicaciones con varias sesiones o tokens, considere la posibilidad de compartir claves o reutilizarlas para reducir el número total almacenado.
- Eliminación de claves: después de que ya no necesite una clave (por ejemplo, después de que finalice una sesión), asegúrese de que se elimina de forma segura para liberar espacio para las nuevas claves.
Nota:
Espere 24 horas después de crear una clave para asegurarse de que se completen la sincronización y las copias de seguridad dentro de la implementación de HSM en la nube de Azure.
Precaución
Si existe una clave en un solo nodo y ese nodo falla sin una copia de seguridad, puede quedar bloqueado permanentemente fuera de los datos cifrados sin posibilidad de recuperación. Compruebe siempre que las claves se sincronizan entre todos los nodos y mantienen copias de seguridad periódicas.
Al crear usuarios, es responsabilidad del cliente asegurarse de que los usuarios están presentes en todos los nodos del clúster de HSM en la nube de Azure. Para obtener más información, consulte Asegurarse de que los usuarios de HSM están disponibles en todos los nodos del clúster. Para conocer los pasos para sincronizar las claves que faltan, consulte Synchronize users and keys across Azure Cloud HSM nodes.
Administración del ajuste de claves
Use el atributo EXTRACTABLE en Azure Cloud HSM para marcar las claves como extractables o nonextables. De forma predeterminada, las claves HSM se establecen como extractables. Puede exportar claves que se pueden extraer del HSM mediante el ajuste de claves, que cifra las claves. A continuación, las claves requieren desencapsular a través de la misma clave de ajuste antes de usarla.
Por el contrario, las claves no extraíbles no se pueden exportar desde Azure Cloud HSM en ninguna circunstancia. Después de establecer las claves como nonextractables, no hay forma de cambiarlas a extractables. Es crucial considerar con atención si necesita que sus claves sean extraíbles y establecer el atributo de clave en consecuencia.
Si la aplicación requiere el ajuste de claves, le recomendamos que use el ajuste de claves de confianza. Este enfoque restringe a los usuarios de HSM a encapsular y desencapsular solo las claves que un administrador designó explícitamente como de confianza:
: las claves creadas con el atributo establecido en no se pueden exportar, excepto como objetos enmascarados. Son ideales para las claves que nunca quiere dejar el HSM.
WRAP_WITH_TRUSTED=1: De forma predeterminada, las claves que se pueden extraer creadas a través del SDK de HSM en la nube de Azure usan la envoltura de claves confiables. Sin embargo, la especificación de PKCS#11 establece en de forma predeterminada. Sin envoltura de clave confiable, un usuario de criptografía puede exportar el material privado de una clave sin autorización alguna. Cualquier persona que tenga access a una aplicación cliente y use esas claves puede exportarlas en texto no cifrado.
Compatibilidad con atributos clave para proveedores de HSM en la nube de Azure
| proveedor de HSM en la nube de Azure | Atributos predeterminados para claves privadas y simétricas | Admite EXTRACTABLE=0 | Admite la configuración de WRAP_WITH_TRUSTED dentro del proveedor | Valor de WRAP_WITH_TRUSTED predeterminado |
|---|---|---|---|---|
azcloudhsm_util |
, | Sí | Sí | ( se puede establecer mediante parámetros) |
| PKCS#11 | , | Sí | Sí | (especificado en la especificación PKCS#11, pero se puede establecer en en la API) |
| CNG/KSP | , | No | No | 1 |
| Motor de OpenSSL | , | No | No | 1 |
| JCE | , , , | Sí | No | 1 |
Las claves que cree mediante el proveedor Cryptography API: Next Generation (CNG) siempre se establecen como . Puede usar la herramienta CavImportKey.exe para importar claves de otras herramientas de HSM en la nube de Azure al proveedor CNG a través de sus identificadores de clave. Esta importación crea una clave en el proveedor de almacenamiento de claves (KSP) a partir de los identificadores de clave existentes.
En el caso de las entidades de certificación que usan CNG o KSP como proveedor, todas las claves generadas en el proveedor de CNG siguen marcadas como extractables. Si una clave está marcada como en el HSM (como una clave de cifrado de clave generada por el usuario), puede usarse para extraer el texto no cifrado de clave privada de estas claves, incluso después del cambio de .
En tales casos, se recomienda usar para generar la clave si no desea que se marque como . Se recomienda usar para comprobar que las claves generadas tienen los atributos deseados.
Empleo de atributos clave para administrar permisos de clave
Use atributos clave para administrar funcionalidades clave como permisos. Al generar una clave, use atributos de clave para especificar permisos que permitan o restrinjan operaciones específicas para esa clave. Le recomendamos que genere claves solo con los atributos necesarios para su propósito previsto.
Por ejemplo, una clave estándar de cifrado avanzado (AES) que se usa para el cifrado no debe tener la capacidad de encapsular claves fuera del HSM. Para obtener más información sobre los atributos del SDK de HSM de Azure Cloud, consulte la integration guides.
Optimización de la latencia mediante el almacenamiento en caché de objetos de clave
Para reducir la latencia, considere la posibilidad de almacenar en caché objetos de clave siempre que sea posible. En las búsquedas de claves, se consulta cada HSM del clúster HSM de Azure Cloud. Esta operación es costosa y no se escala de forma eficaz. El método para las búsquedas de claves depende del proveedor:
- Para PKCS#11, las búsquedas de claves usan la API.
- Para la Extensión de Criptografía de Java (JCE), las búsquedas de claves usan el valor de .
Para obtener un rendimiento óptimo, le recomendamos que use comandos de búsqueda de claves (como y ) solo una vez durante el inicio de la aplicación. Almacene el objeto de clave devuelto en la memoria de la aplicación. Cuando necesite este objeto de clave más adelante, recuperelo de la memoria caché en lugar de consultarlo con cada operación. Realizar consultas para ello incurre en una sobrecarga de rendimiento significativa.