Delen via


De functie Key Release beveiligen met AKV en Azure Confidential Computing (ACC)

Secure Key Release (SKR) is een functionaliteit van azure Key Vault (AKV) Managed HSM en Premium-aanbieding. Met beveiligde sleutelrelease kunt u een met HSM beveiligde sleutel van AKV vrijgeven aan een geteste TEE (Trusted Execution Environment), zoals een beveiligde enclave, op een VM gebaseerde TEE's, enzovoort. SKR voegt een extra laag van toegangsbeveiliging toe aan uw encryptie- en decryptiesleutels, waarbij u zich kunt richten op een applicatie en TEE-runtimeomgeving met een bekende configuratie om toegang te krijgen tot het sleutelmateriaal. Het SKR-beleid dat is gedefinieerd op het moment dat een exportbare sleutel wordt gemaakt, bepaalt de toegang tot deze sleutels.

SKR-ondersteuning met AKV-aanbiedingen

Algemene beveiligde sleutelreleasestroom met TEE

SKR kan alleen sleutels vrijgeven op basis van de door Microsoft Azure Attestation (MAA) gegenereerde claims. Er is een nauwe integratie van de SKR-beleidsdefinitie met MAA-claims.

Diagram van Secure Key Release Flow.

De onderstaande stappen zijn voor AKV Premium.

Stap 1: Een Key Vault Premium HSM-back-up maken

Volg hier de details voor het maken van een AKV op basis van Az CLI

Zorg ervoor dat u de waarde van [--sku] instelt op 'premium'.

Stap 2: Een beveiligd sleutelreleasebeleid maken

Een Secure Key Release-beleid is een releasebeleid voor json-indeling, zoals hier gedefinieerd, waarmee een set claims wordt opgegeven die vereist zijn naast autorisatie om de sleutel vrij te geven. De claims hier zijn op MAA gebaseerde claims waarnaar hier wordt verwezen voor SGX en hier voor AMD SEV-SNP CVM.

Ga naar de specifieke TEE-voorbeeldenpagina voor meer informatie. Voor meer informatie over de grammatica van het SKR-beleid, zie Azure Key Vault secure key release policy grammar.

Voordat u een SKR-beleid instelt, moet u ervoor zorgen dat u uw TEE-toepassing uitvoert via het attestatieproces op afstand. Remote attestation wordt niet behandeld in deze zelfstudie.

Voorbeeld

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


Stap 3: Een exportbare sleutel maken in AKV met gekoppeld SKR-beleid

De exacte details van het type sleutel en andere kenmerken die zijn gekoppeld, vindt u hier.

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"

Stap 4: Toepassing die wordt uitgevoerd in een TEE die een externe attestation uitvoert

Deze stap kan specifiek zijn voor het type TEE dat u gebruikt voor uw toepassing Intel SGX Enclaves of AMD SEV-SNP gebaseerde Confidential Virtual Machines (CVM) of Confidential Containers die worden uitgevoerd in CVM Enclaves met AMD SEV-SNP, enzovoort.

Volg deze referentievoorbeelden voor verschillende TEE-typen met Azure:

Veelgestelde vragen (FAQ)

Kan ik SKR uitvoeren met niet-vertrouwelijke computingaanbiedingen?

Nee Het beleid dat is gekoppeld aan SKR begrijpt alleen MAA-claims die zijn gekoppeld aan hardwaregebaseerde TEEs.

Kan ik mijn eigen attestation-provider of -service meenemen en deze claims voor AKV gebruiken om te valideren en vrij te geven?

Nee AKV begrijpt en integreert momenteel alleen met MAA.

Kan ik AKV SDK's gebruiken om key RELEASE uit te voeren?

Ja. Nieuwste SDK geïntegreerd met de ondersteuningssleutel RELEASE van de AKV-API van 7.3.

Kunt u enkele voorbeelden van het beleid voor sleutelrelease delen?

Ja, gedetailleerde voorbeelden per TEE-type worden hier vermeld .

Kan ik het SKR-type beleid koppelen aan certificaten en geheimen?

Nee Op dit moment niet.

Verwijzingen

Voorbeelden van SKR-beleid

Azure Container Instance met vertrouwelijke containers en Secure Key Release met side-cars voor containers

CVM op AMD SEV-SNP-toepassingen met voorbeeld van Secure Key Release

AKV REST API met SKR-details

Grammatica van beleid voor veilige sleutelrelease van Azure Key Vault

AKV SDK's