Freigeben über


Secure Key Release-Feature mit AKV und Azure Confidential Computing (ACC)

Secure Key Release (SKR) ist eine Funktionalität des verwalteten HSM- und Premium-Angebots von Azure Key Vault (AKV). Secure Key Release ermöglicht die Freigabe eines HSM-geschützten Schlüssels aus AKV für eine attestierte Trusted Execution Environment (TEE) wie beispielsweise eine sichere Enklave oder VM-basierte TEEs. SKR fügt Ihren Datenentschlüsselungs- bzw. Datenverschlüsselungsschlüsseln eine weitere Zugriffsschutzschicht hinzu, in der Sie auf eine Anwendungs- und TEE-Laufzeitumgebung mit bekannter Konfiguration zugreifen können, um Zugriff auf das Schlüsselmaterial zu erhalten. Die zum Zeitpunkt der exportierbaren Schlüsselerstellung definierten SKR-Richtlinien steuern den Zugriff auf diese Schlüssel.

SKR-Unterstützung mit AKV-Angeboten

Gesamter Secure Key Release-Flow mit TEE

SKR kann Schlüssel nur basierend auf den von Microsoft Azure Attestation (MAA) generierten Ansprüchen freigeben. Es gibt eine enge Integration der SKR-Richtliniendefinition in MAA-Ansprüche.

Diagramm des Secure Key Release-Flows

Die folgenden Schritte gelten für AKV Premium.

Schritt 1: Erstellen einer HSM-geschützten Key Vault Premium-Instanz

Befolgen Sie die Details hier für die Az CLI-basierte AKV-Erstellung

Stellen Sie sicher, dass Sie den Wert von [--sku] auf „premium“ festlegen.

Schritt 2: Erstellen einer Secure Key Release-Richtlinie

Eine Secure Key Release-Richtlinie ist eine Freigaberichtlinie im JSON-Format (wie hier definiert), die zusätzlich zur Autorisierung zum Freigeben des Schlüssels eine Reihe von erforderlichen Ansprüchen angibt. Die hier aufgeführten Ansprüche sind MAA-basierte Ansprüche (wie unter Beispiele für ein Nachweistoken für SGX und unter Exemplarisches JWT, das für einen SEV-SNP-Nachweis generiert wurde für AMD SEV-SNP CVM beschrieben).

Weitere Details finden Sie auf der TEE-spezifischen Beispielseite. Informationen zur SKR-Richtliniengrammatik finden Sie unter Secure Key Release-Richtliniengrammatik für Azure Key Vault.

Bevor Sie eine SKR-Richtlinie festlegen, stellen Sie sicher, dass Sie Ihre TEE-Anwendung über den Remotenachweisflow ausführen. Der Remotenachweis wird im Rahmen dieses Tutorials nicht behandelt.

Beispiel

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


Schritt 3: Erstellen eines exportierbaren Schlüssels in AKV mit angefügter SKR-Richtlinie

Genaue Details zum Schlüsseltyp und anderen zugeordneten Attributen finden Sie 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"

Schritt 4: Anwendung, die in einer TEE ausgeführt wird und einen Remotenachweis durchführt

Dieser Schritt kann spezifisch für den Typ der TEE sein, in der Sie beispielsweise Ihre Intel SGX-Anwendungsenklaven oder AMD SEV-SNP-basierte CVM-Instanz (Confidential Virtual Machines) bzw. Confidential Containers-Instanz in CVM-Enklaven mit AMD SEV-SNP ausführen.

Verwenden Sie diese Referenzbeispiele für verschiedene TEE-Typen, die mit Azure angeboten werden:

Häufig gestellte Fragen (FAQ)

Kann ich SKR mit Nicht-Confidential-Computing-Angeboten durchführen?

Nein Die an SKR angefügte Richtlinie versteht nur MAA-Ansprüche, die hardwarebasierten TEEs zugeordnet sind.

Kann ich meinen eigenen Nachweisanbieter oder Dienst nutzen und diese Ansprüche für AKV zur Überprüfung und Freigabe verwenden?

Nein AKV versteht aktuell nur MAA-Ansprüche und wird daher nur in MAA integriert.

Kann ich AKV-SDKs für die Schlüsselfreigabe verwenden?

Ja. Das neueste SDK, das in Version 7.3 der AKV-APIs integriert ist, unterstützt die Schlüsselfreigabe.

Gibt es Beispiele für die wichtigsten Freigaberichtlinien?

Ja, detaillierte Beispiele nach TEE-Typ sind hier aufgeführt.

Kann ich den SKR-Richtlinientyp mit Zertifikaten und geheimen Schlüsseln anfügen?

Nein Derzeit leider nicht.

References

Beispiele für SKR-Richtlinien

Secure Key Release mit Confidential Containers in Azure Container Instances (ACI)

CVM für AMD SEV-SNP-Anwendungen mit Secure Key Release-Beispiel

AKV-REST-API mit SKR-Details

Secure Key Release-Richtliniengrammatik in Azure Key Vault

AKV-SDKs