Funzionalità Secure Key Release con AKV e Confidential Computing di Azure (ACC)

Secure Key Release (SKR) è una funzionalità di Azure Key Vault (AKV) Managed HSM e dell'offerta Premium. Secure Key Release consente di rilasciare una chiave protetta da HSM da AKV verso un Trusted Execution Environment (TEE) attestato, ad esempio un'enclave sicura, TEE basati su VM e così via. SKR aggiunge un ulteriore livello di protezione dell'accesso alle chiavi di decrittografia e crittografia dei dati, consentendo di autorizzare l'accesso al materiale della chiave per una specifica applicazione e un ambiente di runtime TEE con configurazione nota. I criteri SKR definiti al momento della creazione delle chiavi esportabili regolano l'accesso a queste chiavi.

Supporto SKR con offerte AKV

Flusso complessivo del rilascio sicuro delle chiavi con TEE

SKR può rilasciare le chiavi solo in base alle attestazioni generate dall'attestazione di Microsoft Azure (MAA). Vi è una stretta integrazione tra la definizione dei criteri SKR e le attestazioni MAA.

Diagramma del flusso di rilascio delle chiavi sicure.

I passaggi seguenti sono relativi ad AKV Premium.

Passaggio 1: Creare un Key Vault Premium supportato da HSM

Seguire i dettagli indicati qui per la creazione di AKV basato sull'interfaccia della riga di comando di Az

Assicurarsi di impostare il valore di [--sku] su "premium".

Passaggio 2: Creare un criterio per il rilascio sicuro delle chiavi

Un criterio di Secure Key Release è un criterio di rilascio in formato JSON come definito qui che specifica un set di attestazioni necessarie oltre all'autorizzazione per rilasciare la chiave. Le attestazioni qui sono basate su MAA come indicato qui per SGX e qui per AMD SEV-SNP CVM.

Visita la pagina degli esempi specifica per TEE per maggiori dettagli. Per ulteriori informazioni sulla grammatica dei criteri di SKR, vedere Grammatica dei criteri di Secure Key Release di Azure Key Vault.

Prima di impostare un criterio SKR, assicurarsi di eseguire l'applicazione TEE attraverso il flusso di attestazione remota. L'attestazione remota non viene trattata come parte di questa esercitazione.

Esempio

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


Passaggio 3: creare una chiave esportabile in AKV con i criteri SKR associati

I dettagli esatti del tipo di chiave e di altri attributi associati sono disponibili qui.

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"

Passaggio 4: un'applicazione in esecuzione in un TEE che effettua un'attestazione remota

Questo passaggio può essere specifico del tipo di Trusted Execution Environment (TEE) in cui esegui l'applicazione: enclave Intel SGX, macchine virtuali confidenziali (CVM) basate su AMD SEV-SNP oppure container confidenziali in esecuzione in enclave CVM con AMD SEV-SNP, e così via.

Segui questi esempi di riferimento per le diverse offerte relative ai vari tipi di TEE disponibili con Azure:

Domande frequenti

Posso eseguire SKR con offerte di calcolo non riservate?

Sì. Secure Key Release è una funzionalità di Azure Key Vault Premium e Managed HSM. L'operazione di rilascio valida un token Microsoft attestazione di Azure (MAA) firmato rispetto alla policy di rilascio della chiave, indipendentemente dal tipo di calcolo. Le offerte di calcolo confidenziale (VM confidenziali, container confidenziali) sono la fonte più comune di questi token perché trasportano richieste TEE basate sull'hardware, ma non sono obbligatorie. Le macchine virtuali Trusted Launch producono anche token di attestazione MAA, ad esempio l’attestazione secureboot e le attestazioni PCR x-ms-azurevm-attested-pcr-values misurate dal vTPM, e un criterio di rilascio può subordinare il rilascio della chiave a tali attestazioni. Per i requisiti dei token e la struttura delle rivendicazioni, vedi Azure Key Vault secure key release policy grammatic. Il calcolo confidenziale protegge inoltre il materiale chiave rilasciato in memoria dall'host; utilizzare un'offerta di calcolo confidenziale quando tale protezione è necessaria.

È possibile utilizzare un provider o un servizio di attestazione di propria scelta e usare tali attestazioni affinché AKV le convalidi e autorizzi il rilascio?

Microsoft attestazione di Azure è il servizio di attestazione integrato nativamente. Una policy di rilascio può anche convalidare i token provenienti da un'altra autorità di attestazione, a condizione che il token sia conforme alla struttura attesa, supporti OpenID Connect, porti le richieste attese e sia firmato da un certificato che si collega a una CA pubblica di cui Key Vault si fida—attualmente DigiCert. Per ulteriori informazioni, consulta la grammatica della policy di rilascio della chiave sicura di Azure Key Vault.

È possibile usare gli SDK AKV per eseguire la chiave RELEASE?

Sì. L'SDK più recente integrato con l'API Azure Key Vault 7.3 supporta l'operazione RELEASE della chiave.

È possibile condividere alcuni esempi dei criteri di rilascio delle chiavi?

Sì, esempi dettagliati per tipo di TEE sono elencati qui.

È possibile associare un criterio di tipo SKR a certificati e segreti?

No. Non al momento.

Riferimenti

Esempi di criteri SKR

Istanza di Azure Container con contenitori riservati Secure Key Release con contenitori collaterali

CVM nelle applicazioni AMD SEV-SNP con esempio di Secure Key Release

API REST AKV con i dettagli SKR

Grammatica dei criteri di Secure Key Release di Azure Key Vault

Proteggi la proprietà intellettuale nelle VM di Azure con Secure Key Release protetto dall'attestazione

SDK AKV