Share via


Recurso Secure Key Release com AKV e Computação Confidencial do Azure (ACC)

O Secure Key Release (SKR) é uma funcionalidade do Azure Key Vault (AKV) Managed HSM e da oferta Premium. A liberação segura de chaves permite a liberação de uma chave protegida por HSM do AKV para um TEE (Trusted Execution Environment) atestado, como um enclave seguro, TEEs baseados em VM etc. O SKR adiciona outra camada de proteção de acesso às suas chaves de descriptografia/criptografia de dados, onde você pode direcionar um ambiente de tempo de execução de aplicativo + TEE com configuração conhecida para obter acesso ao material da chave. As políticas de SKR definidas no momento da criação da chave exportável regem o acesso a essas chaves.

Suporte SKR com ofertas AKV

Fluxo geral de liberação de chaves seguras com TEE

O SKR só pode liberar chaves com base nas declarações geradas pelo Atestado do Microsoft Azure (MAA). Há uma forte integração na definição da política SKR às reivindicações MAA.

Diagram of Secure Key Release Flow.

As etapas abaixo são para AKV Premium.

Etapa 1: Criar um cofre de chaves com suporte de HSM Premium

Siga os detalhes aqui para a criação do AKV baseado em Az CLI

Certifique-se de definir o valor de [--sku] como "premium".

Etapa 2: Criar uma política de liberação de chave segura

Uma Política de Liberação de Chave Segura é uma política de liberação de formato json, conforme definido aqui , que especifica um conjunto de declarações necessárias, além da autorização para liberar a chave. As reivindicações aqui são baseadas em MAA, conforme referenciado aqui para SGX e aqui para AMD SEV-SNP CVM.

Visite a página de exemplos específicos do TEE para obter mais detalhes. Para obter mais informações sobre a gramática da política SKR, consulte Gramática da política de liberação de chave segura do Cofre de Chaves do Azure.

Antes de definir uma política SKR, certifique-se de executar seu aplicativo TEE por meio do fluxo de atestado remoto. O atestado remoto não é abordado como parte deste tutorial.

Exemplo

{
    "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"
                }
            ]
        }
    ]
}


Etapa 3: Criar uma chave exportável no AKV com a política SKR anexada

Detalhes exatos do tipo de chave e outros atributos associados podem ser encontrados aqui.

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"

Etapa 4: Aplicativo em execução dentro de um TEE fazendo um atestado remoto

Esta etapa pode ser específica para o tipo de TEE que você está executando seu aplicativo Intel SGX Enclaves ou AMD SVV-SNP baseado em Máquinas Virtuais Confidenciais (CVM) ou Contêineres Confidenciais em execução em Enclaves CVM com AMD SEV-SNP etc.

Siga estes exemplos de referências para vários tipos de TEE oferecidos com o Azure:

Perguntas frequentes (FAQ)

Posso executar SKR com ofertas de computação não confidenciais?

Não. A política anexada ao SKR só compreende as declarações MAA associadas a TEEs baseados em hardware.

Posso trazer meu próprio provedor de atestado ou serviço e usar essas reivindicações para AKV para validar e liberar?

Não. A AKV só entende e se integra com a MAA hoje.

Posso usar AKV SDKs para executar chave RELEASE?

Sim. SDK mais recente integrado com a chave de suporte da API AKV 7.3 RELEASE.

Você pode compartilhar alguns exemplos das principais políticas de lançamento?

Sim, exemplos detalhados por tipo de TEE estão listados aqui.

Posso anexar o tipo de política SKR com certificados e segredos?

Não. Não no momento.

Referências

Exemplos de políticas SKR

Instância de Contêiner do Azure com contêineres confidenciais Liberação de Chave Segura com side-cars de contêiner

Exemplo de CVM em aplicações AMD SEV-SNP com Chave Segura

AKV REST API com detalhes SKR

Gramática da política de liberação de chave segura do Cofre de Chaves do Azure

AKV SDKs