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.
I passaggi seguenti sono relativi ad AKV Premium.
Passaggio 1: creare un modulo di protezione hardware Premium di Key Vault supportato
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:
- 'Applicazione all'interno della CVM basata su AMD EV-SNP che esegue Secure Key Release
- Contenitori riservati con istanze di Azure Container (ACI) con contenitori collaterali SKR
- Applicazioni basate su Intel SGX che eseguono Secure Key Release - Open Source Solution Mystikos Implementation
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
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