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 VM gebaseerde TEEs, enzovoort. SKR voegt een andere laag toegangsbeveiliging toe aan uw gegevensontsleutels/versleutelingssleutels, waar u zich kunt richten op een toepassing + TEE-runtimeomgeving met bekende configuratietoegang 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 op de SKR-beleidsdefinitie voor MAA-claims.

Diagram of 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 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. Zie de grammatica van het SKR-beleid voor meer informatie over de grammatica van het SKR-beleid.

Voordat u een SKR-beleid instelt, moet u ervoor zorgen dat u uw TEE-toepassing uitvoert via de externe attestation-stroom. Externe attestation wordt niet behandeld als onderdeel van 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 Secure Key Release met container side-cars

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