Compartir vía


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.

Diagrama del flujo de versión de clave segura.

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:

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

Ejemplos de directivas de SKR

Azure Container Instance con la versión de clave segura de contenedores confidenciales con side-car de contenedor

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

SDK de AKV