Característica de versión de clave segura con AKV y Azure Confidential Computing (ACC)

Secure Key Release (SKR) es una funcionalidad de la oferta HSM y Premium administradas 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 basado en máquinas virtuales, etc. SKR agrega otra capa de protección de acceso a las claves de descifrado o cifrado de datos, donde puede dirigirse a una aplicación + entorno de 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 basadas en las notificaciones generadas por Microsoft Azure Attestation (MAA). Hay una estrecha integración en la definición de la directiva SKR para las notificaciones maa.

Diagram of Secure Key Release Flow.

Los pasos siguientes son para AKV Premium.

Paso 1: Crear un HSM Premium de Key Vault respaldado

Siga los detalles aquí para la creación de AKV basada en la CLI de Az.

Asegúrese de establecer el valor de [--sku] en "Premium".

Paso 2: Crear una directiva de versión de clave segura

Una directiva de versión de clave segura es una directiva de versión de formato JSON tal como se define aquí que especifica un conjunto de notificaciones necesarias además de la autorización para liberar la clave. Las notificaciones aquí son notificaciones basadas en MAA como se hace referencia aquí para SGX y aquí para AMD SEV-SNP CVM.

Visite la página de ejemplos específicos de TEE para obtener más detalles. Para más información sobre la gramática de directivas de SKR, consulte Gramática de directivas de versión de claves seguras de Azure Key Vault.

Antes de establecer una directiva SKR, asegúrese de ejecutar la aplicación TEE a través del flujo de atestación remota. La atestación remota no se trata 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

Puede encontrar detalles exactos del tipo de clave y otros atributos asociados aquí.

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 está ejecutando la aplicación Intel SGX Enclaves o AMD SEV-SNP based Confidential Virtual Machines (CVM) o Contenedores confidenciales que se ejecutan en enclaves CVM con AMD SEV-SNP, etc.

Siga estos ejemplos de referencias para varios tipos de TEE que ofrecen con Azure:

Preguntas más frecuentes (P+F)

¿Puedo realizar SKR con ofertas de computación no confidencial?

No. La directiva asociada a SKR solo comprende las notificaciones MAA asociadas a teE basadas en hardware.

¿Puedo traer mi propio proveedor o servicio de atestación y usar esas notificaciones para QUE AKV valide y libere?

No. AKV solo entiende e integra con MAA en la actualidad.

¿Puedo usar los SDK de AKV para realizar la clave RELEASE?

Sí. 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 enumeran ejemplos detallados por tipo TEE.

¿Puedo adjuntar el tipo de directiva SKR con certificados y secretos?

No. De momento, no.

Referencias

Ejemplos de directivas de SKR

Azure Container Instance con la versión de clave segura de contenedores confidenciales con automóviles en el lado del contenedor

CVM en aplicaciones DE 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 claves seguras de Azure Key Vault

SDK de AKV