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 liberación segura de claves (SKR) es una funcionalidad de Azure Key Vault (AKV) Managed HSM y de la oferta Premium. La liberación segura de claves permite liberar una clave protegida por HSM desde AKV a un entorno de ejecución de confianza (TEE) validado mediante attestación, como un enclave seguro, TEE basados en máquinas virtuales, etc. SKR añade otra capa de protección de acceso a sus claves de descifrado y cifrado de datos, ya que puede conceder acceso al material de claves a una aplicación y a un entorno de ejecución TEE con una configuración conocida. Las directivas de SKR definidas en el momento de la creación de claves exportables rigen el acceso a estas claves.
Compatibilidad de SKR con ofertas de AKV
Flujo general de liberación segura de claves con TEE
SKR solo puede liberar claves basándose en las afirmaciones generadas por Microsoft Azure Attestation (MAA). Hay una estrecha integración de la definición de la directiva SKR con las reclamaciones de MAA.
Los pasos siguientes son para AKV Premium.
Paso 1: Cree una instancia de Key Vault Premium respaldada por HSM
Consulte aquí los detalles para la creación de AKV mediante la CLI de Az
Asegúrese de establecer el valor de [--sku] en "premium".
Paso 2: Crear una directiva de liberación segura de claves
Una directiva de liberación de clave segura es una directiva de liberación en formato JSON, tal como se define aquí, que especifica un conjunto de declaraciones necesarias además de la autorización para liberar la clave. Estas declaraciones se basan en MAA, como se indica aquí para SGX y aquí para AMD SEV-SNP CVM.
Visite la página de ejemplos de TEE para obtener más información. Para más información sobre la gramática de directivas de SKR, vea Gramática de la directiva de versión segura de claves de Azure Key Vault.
Antes de establecer una directiva SKR, asegúrese de ejecutar la aplicación de TEE mediante el flujo de atestación remota. La atestación remota no se describe como parte de este tutorial.
Ejemplo
{
"version": "1.0.0",
"anyOf": [ // Always starts with "anyOf", meaning you can multiple, even varying rules, per authority.
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [ // can be replaced by "anyOf", though you cannot nest or combine "anyOf" and "allOf" yet.
{
"claim": "x-ms-isolation-tee.x-ms-attestation-type", // These are the MAA claims.
"equals": "sevsnpvm"
},
{
"claim": "x-ms-isolation-tee.x-ms-compliance-status",
"equals": "azure-compliant-cvm"
}
]
}
]
}
Paso 3: Creación de una clave exportable en AKV con la directiva de SKR asociada
Aquí puede encontrar detalles exactos del tipo de clave y otros atributos asociados.
az keyvault key create --exportable true --vault-name "vault name from step 1" --kty RSA-HSM --name "keyname" --policy "jsonpolicyfromstep3 -can be a path to JSON"
Paso 4: Aplicación que se ejecuta dentro de un TEE que realiza una atestación remota
Este paso puede ser específico del tipo de TEE que ejecuta la aplicación: máquinas virtuales confidenciales (CVM) basadas en Intel SGX Enclaves o AMD SEV-SNP, o bien Contenedores confidenciales que se ejecutan en enclaves CVM con AMD SEV-SNP, etc.
Siga estos ejemplos de referencias para la oferta de varios tipos de TEE con Azure:
- Aplicación en CVM basadas en AMD EV-SNP que realizan la liberación segura de claves
- Contenedores confidenciales en Azure Container Instances (ACI) con contenedores sidecar de SKR
- Aplicaciones basadas en Intel SGX para la liberación segura de claves: implementación en Mystikos de una solución de código abierto
Preguntas frecuentes (FAQ)
¿Puedo realizar SKR con soluciones que no son de informática confidencial?
Sí. La Liberación Segura de Clave es una función de Azure Key Vault Premium y HSM gestionado. La operación de liberación valida un token de Certificación de Microsoft Azure (MAA) firmado según la directiva de liberación de la clave, independientemente del tipo de proceso. Las ofertas de computación confidencial (VMs confidenciales, contenedores confidenciales) son la fuente más común de estos tokens porque contienen reclamaciones TEE basadas en hardware, pero no son necesarias. Las máquinas virtuales de inicio de confianza (Trusted Launch VMs) también generan tokens de certificación MAA —por ejemplo, la secureboot y las x-ms-azurevm-attested-pcr-values PCR medidas por vTPM— y una directiva de liberación puede condicionar la liberación de claves en función de dichas afirmaciones. Para los requisitos de tokens y la estructura de reclamaciones, consulta la gramática de la política de liberación de clave segura de Azure Key Vault. La computación confidencial protege además el material clave liberado en memoria desde el host; utiliza una oferta de computación confidencial cuando esa protección sea necesaria.
¿Puedo usar mi propio proveedor o servicio de atestación y utilizar esas declaraciones para que AKV las valide y las libere?
Microsoft Azure Attestation es el servicio de atestación integrado de forma nativa. Una política de liberación también puede validar tokens de otra autoridad de atestación, siempre que el token cumpla con la estructura esperada, soporte OpenID Connect, lleve las reclamaciones esperadas y esté firmado por un certificado que se encadena a una CA pública en la que Key Vault confía—actualmente DigiCert. Para más información, consulta la gramática de la política de liberación de clave segura de Azure Key Vault.
¿Puedo usar los SDK de AKV para realizar la publicación de la clave?
Sí. El último SDK integrado con las API de AKV 7.3 admite la clave RELEASE.
¿Podría compartir algunos ejemplos de las principales políticas de lanzamiento?
Sí, aquí se muestran ejemplos detallados por tipo de TEE.
¿Puedo asociar una directiva de tipo SKR a certificados y secretos?
No. De momento, no.
Referencias
CVM en aplicaciones AMD SEV-SNP con ejemplo de versión de clave segura
API REST de AKV con detalles de SKR
Gramática de la directiva de versión de clave segura de Azure Key Vault