Funcionalidade Secure Key Release com AKV e Azure Confidential Computing (ACC)
O Secure Key Release (SKR) é uma funcionalidade do Azure Key Vault (AKV) Managed HSM and Premium offering. A liberação segura de chaves permite a liberação de uma chave protegida por HSM do AKV para um Ambiente de Execução Confiável (TEE) 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 aplicativo + ambiente de tempo de execução TEE com configuração conhecida 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 seguro de liberação de chaves com TEE
A SKR só pode liberar chaves com base nas declarações geradas pelo Microsoft Azure Attestation (MAA). Há uma estreita integração na definição da política SKR para reivindicações MAA.
Os passos abaixo são para AKV Premium.
Etapa 1: Criar um HSM Premium do Key Vault Backed
Siga os detalhes aqui para a criação de AKV baseada 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 reivindicações baseadas em MAA, conforme referenciado aqui para SGX e aqui para AMD SEV-SNP CVM.
Visite a página de exemplos específicos de 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 segura de chaves do Azure Key Vault.
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 máquinas virtuais confidenciais (CVM) baseadas em AMD SEV-SNP ou contêineres confidenciais executados em enclaves CVM com AMD SEV-SNP etc.
Siga estes exemplos de referências para várias ofertas de tipos de TEE com o Azure:
- Aplicação dentro da CVM baseada em AMD EV-SNP executando Secure Key Release
- Contêineres confidenciais com Instâncias de Contêiner do Azure (ACI) com contêineres de carro lateral SKR
- Aplicativos baseados em Intel SGX que executam Secure Key Release - Solução de código aberto Mystikos Implementation
Perguntas Mais Frequentes (FAQ)
Posso executar SKR com ofertas de computação não confidenciais?
N.º A política anexada à SKR só compreende as declarações MAA associadas a TEEs baseadas em hardware.
Posso trazer meu próprio provedor de atestado ou serviço e usar essas reivindicações para AKV validar e liberar?
N.º AKV só entende e se integra com MAA hoje.
Posso usar SDKs AKV para executar o RELEASE de chave?
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.º Neste momento, não.
Referências
CVM em aplicativos AMD SEV-SNP com exemplo de liberação de chave segura
Gramática da política de liberação segura de chaves do Azure Key Vault