Característica Versión de clave segura (SKR) con AKV y la informática confidencial de Azure (ACC)
Versión de clave segura (SKR) es una funcionalidad de la oferta HSM administrado y Premium de Azure Key Vault (AKV). La versión de clave segura permite liberar una clave protegida con HSM de AKV a un entorno de ejecución de confianza (TEE) atestiguado, como un enclave seguro, TEE basados en máquinas virtuales. etc. SKR agrega otra capa de protección de acceso a las claves de descifrado y cifrado de datos, donde puede dirigirse a una aplicación y un entorno en tiempo de ejecución de TEE con la configuración conocida para obtener acceso al material de clave. 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 versión de clave segura con TEE
SKR solo puede liberar claves en función de las reclamaciones 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: Creación de una instancia de Key Vault Premium con respaldo de HSM
Siga estos detalles para la creación de AKV desde la CLI de Az
Asegúrese de establecer el valor de [--sku] en "premium".
Paso 2: Creación de una directiva de versión de clave segura
Una directiva de versión de clave segura es una directiva de versión en formato JSON como se define aquí que especifica un conjunto de notificaciones necesarias además de la autorización para liberar la clave. Estas notificaciones se basan en MAA como se indica aquí para SGX y aquí para AMD SEV-SNP CVM.
Visite la página de ejemplos de específicos de TEE para 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 dentro de CVM basada en AMD EV-SNP que realiza la versión de clave segura
- Contenedores confidenciales con Azure Container Instances (ACI) con side-car de SKR
- Aplicaciones basadas en Intel SGX que realizan la versión de clave segura: implementación de Mystikos de la solución de código abierto
Preguntas más frecuentes (P+F)
¿Puedo realizar SKR con ofertas que no sean de informática confidencial?
No. La directiva asociada a SKR solo comprende las notificaciones MAA asociadas a TEE basados en hardware.
¿Puedo traer mi propio proveedor o servicio de atestación, y usar esas notificaciones para que AKV las valide y publique?
No. Actualmente AKV solo entiende y se integra con MAA.
¿Puedo usar los SDK de AKV para realizar la publicación de la clave?
Sí. El SDK más reciente integrado con la clave de soporte técnico de la API de AKV 7.3.
¿Puede compartir algunos ejemplos de las directivas de versión clave?
Sí, aquí se muestran ejemplos detallados por tipo de TEE.
¿Puedo adjuntar el tipo de directiva SKR con 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