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). Die sichere Schlüsselfreigabe ermöglicht die Freigabe eines HSM-geschützten Schlüssels von AKV zu einer attestierten Trusted Execution Environment (TEE), z. B. einer sicheren Enklave, VM-basierten TEEs usw. SKR fügt Ihrer Datenentschlüsselung/Verschlüsselungsschlüssel eine weitere Zugriffsebene hinzu, mit 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-Support 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 in die SKR-Richtliniendefinition zu MAA-Ansprüchen.

Diagram of Secure Key Release Flow.

Die folgenden Schritte gelten für AKV Premium.

Schritt 1: Erstellen eines key Vault Premium HSM gesichert

Folgen Sie den Details hier für az CLI basierte AKV Creation

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

Schritt 2: Erstellen einer Richtlinie für sichere Schlüsselfreigabe

Eine Richtlinie für sichere Schlüsselfreigabe ist eine JSON-Formatversionsrichtlinie, wie hier definiert, die zusätzlich zur Autorisierung zum Freigeben des Schlüssels eine Reihe von Ansprüchen angibt, die erforderlich sind. Die hier aufgeführten Ansprüche sind MAA-basierte Ansprüche, wie hier für SGX und hier für AMD SEV-SNP CVM referenziert.

Weitere Details finden Sie auf der Seite mit teespezifischen Beispielen. Weitere Informationen zur SKR-Richtliniengrammatik finden Sie in der Grammatik für sichere Schlüsselveröffentlichungen in Azure Key Vault.

Bevor Sie eine SKR-Richtlinie festlegen, stellen Sie sicher, dass Sie Ihre TEE-Anwendung über den Remotenachweisfluss ausführen. Der Remotenachweis wird im Rahmen dieses Lernprogramms 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 einem TEE ausgeführt wird und einen Remotenachweis durchführt

Dieser Schritt kann spezifisch für den Typ des TEE sein, den Sie ausführen Ihre Anwendung Intel SGX Enklaven oder AMD SEV-SNP-basierte vertrauliche virtuelle Maschinen (CVM) oder vertrauliche Container, die in CVM Enklaven mit AMD SEV-SNP usw. ausgeführt werden.

Folgen Sie diesen Referenzbeispielen für verschiedene TEE-Typen, die mit Azure angeboten werden:

Häufig gestellte Fragen (FAQ)

Kann ich SKR mit nicht vertraulichen 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 mitbringen und diese Ansprüche für AKV verwenden, um diese zu validieren und freizugeben?

Nein. AKV versteht und integriert sich heute nur noch mit MAA.

Kann ich AKV-SDKs zum Ausführen von Key RELEASE verwenden?

Ja. Neuestes SDK, das in den Supportschlüssel RELEASE der 7.3 AKV-API integriert ist.

Können Sie einige Beispiele für die wichtigsten Releaserichtlinien freigeben?

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

Azure Container Instance mit vertraulichen Containern Secure Key Release mit Container-Side-Cars

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

AKV REST-API mit SKR-Details

Grammatik für sichere Schlüsselfreigabe in Azure Key Vault

AKV SDKs