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

Secure Key Release (SKR) è una funzionalità dell'offerta di modulo di protezione hardware e Premium gestita di Azure Key Vault (AKV). Secure Key Release consente il rilascio di una chiave protetta del modulo di protezione hardware da AKV a un ambiente di esecuzione attendibile (TEE) attestato, ad esempio un'enclave sicura, TEE virtuali basati su macchine virtuali e così via. SKR aggiunge un altro livello di protezione dell'accesso alle chiavi di decrittografia/crittografia dei dati in cui è possibile specificare come destinazione un'applicazione e un ambiente di esecuzione attendibile con una configurazione nota per ottenere l'accesso al materiale della chiave. I criteri SKR definiti al momento della creazione delle chiavi esportabili regolano l'accesso a queste chiavi.

Supporto SKR con offerte AKV

Flusso complessivo di Secure Key Release con ambiente di esecuzione attendibile

SKR può rilasciare le chiavi solo in base alle attestazioni generate dall'attestazione di Microsoft Azure (MAA). Esiste una stretta integrazione nella definizione dei criteri SKR per le attestazioni MAA.

Diagramma del flusso di rilascio delle chiavi sicure.

I passaggi seguenti sono relativi ad AKV Premium.

Passaggio 1: creare un modulo di protezione hardware Premium di Key Vault supportato

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 di Secure Key Release

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.

Per ulteriori informazioni, visitare la pagina degli esempi specifici dell'ambiente di esecuzione attendibile. 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 tramite 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: applicazione in esecuzione all'interno di un ambiente di esecuzione attendibile che esegue un'attestazione remota

Questo passaggio può essere specifico per il tipo di ambiente di esecuzione attendibile in cui si esegue l'applicazione Intel SGX Enclaves o AMD SEV-SNP basato su macchine virtuali riservate (CVM) o contenitori riservati in esecuzione in enclave CVM con AMD SEV-SNP e così via.

Seguire questi esempi di riferimenti per vari tipi di ambienti di esecuzione attendibili offerti con Azure:

Domande frequenti

È possibile eseguire SKR con offerte non confidential computing?

No. Il criterio associato a SKR riconosce solo le attestazioni MAA associate agli ambienti di esecuzione attendibili basati su hardware.

È possibile usare il proprio provider o servizio di attestazione e usare tali attestazioni per la convalida e il rilascio tramite AKV?

No. Attualmente AKV comprende e si integra solo con MAA.

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

Sì. L'SDK più recente integrato con la chiave di supporto RELEASE dell'API AKV 7.3.

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

Sì, qui sono elencati esempi dettagliati per tipo di ambiente di esecuzione attendibile.

È possibile collegare il tipo di criterio SKR con certificati e segreti?

No. Non al momento.

Riferimenti

Esempi di criteri SKR

Istanza di contenitore di Azure 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

SDK AKV