Richtlinienbeispiele für die sichere Schlüsselfreigabe für Azure Confidential Computing

Secure Key Release (SKR) kann nur Schlüssel freigeben, die als exportierbar gekennzeichnet sind und auf den von Microsoft Azure Attestation (MAA) generierten Claims basieren. Zwischen der SKR-Richtliniendefinition und den MAA-Claims besteht eine enge Integration. MAA-Ansprüche der Trusted Execution Environment (TEE) finden Sie hier.

Folgen Sie der Grammatik für Richtlinien, um weitere Beispiele zum Anpassen der SKR-Richtlinien zu erhalten.

Beispiele für SKR-Richtlinien für Intel SGX-Anwendungsenklaven

Beispiel 1: Intel SGX-basierte SKR-Richtlinie, die die Details des MR-Signaturgebers (Signaturgeber der SGX-Enklave) als Teil der MAA-Ansprüche überprüft


{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Beispiel 2: Intel SGX-basierte SKR-Richtlinie, die den MR Signer (Signer der SGX-Enklave) oder die Details der MR-Enklave als Teil der MAA-Claims validiert


{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-mrenclave",
          "equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Beispiel 3: Intel SGX-basierte SKR-Richtlinie, die die Details des MR-Signaturgebers (Signaturgeber der SGX-Enklave) und der MR-Enklave mit minimaler SVN-Nummer als Teil der MAA-Ansprüche überprüft

{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-mrenclave",
          "equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-svn",
          "greater": 1
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Beispiele für TEE-SKR-Richtlinien für auf AMD SEV-SNP basierende vertrauliche VMs

Beispiel 1: Eine SKR-Richtlinie, die validiert, ob es sich um eine Azure-konforme CVM handelt, auf authentischer AMD SEV-SNP-Hardware ausgeführt wird und ob die MAA-URL-Autorität über viele Regionen verteilt ist.

{
    "version": "1.0.0",
    "anyOf": [
        {
            "authority": "https://sharedweu.weu.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        },
        {
            "authority": "https://sharedeus2.weu2.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        }
    ]
}

Beispiel 2: Eine SKR-Richtlinie, die überprüft, ob die CVM eine Azure-kompatible CVM ist und auf echter AMD SEV-SNP-Hardware ausgeführt wird und eine bekannte VM-ID aufweist. (VMIDs sind in Azure eindeutig, bearbeiten Sie den Abschnitt "equals" der Anforderung im folgenden Beispiel mit der gewünschten eindeutigen VMID).

{
  "version": "1.0.0",
  "allOf": [
    {
      "authority": "https://sharedweu.weu.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-isolation-tee.x-ms-attestation-type",
          "equals": "sevsnpvm"
        },
        {
          "claim": "x-ms-isolation-tee.x-ms-compliance-status",
          "equals": "azure-compliant-cvm"
        },
        {
          "claim": "x-ms-azurevm-vmid",
          "equals": "<PLACE YOUR VMID here - for example - B958DC88-E41D-47F1-8D20-E57B6B7E9825>"
        }
      ]
    }
  ]
}

Beispiele für Trusted Launch VM (vTPM) SKR-Richtlinien

Secure Key Release beschränkt sich nicht auf vertrauliche Computerangebote. Eine VM für vertrauenswürdigen Start (2. Generation, sicherer Start + vTPM) erzeugt ebenfalls einen MAA-Nachweistoken, und eine Freigaberichtlinie kann die vTPM-Claims für gemessenen Start als Voraussetzung heranziehen –secureboot und x-ms-azurevm-attested-pcr-values.pcrN. Diese Behauptungen erfordern keine AMD SEV-SNP oder Intel TDX Hardware. Confidential Computing schützt zudem das freigegebene Schlüsselmaterial im Speicher vor dem Host. Nutzen Sie es, wenn dieser Schutz erforderlich ist. Eine vollständige Anleitung finden Sie unter Schutz geistigen Eigentums auf Azure-VMs mit attestation-gated Secure Key Release.

Beispiel 1: Eine Trusted Launch SKR-Richtlinie, die die VM validiert, die mit aktiviertem Secure Boot gebootet wird (beweist eine echte Trusted Launch-Plattform und ein validiertes vTPM-Quote).

{
  "version": "1.0.0",
  "anyOf": [
    {
      "authority": "https://sharedweu.weu.attest.azure.net",
      "allOf": [
        {
          "claim": "secureboot",
          "equals": true
        }
      ]
    }
  ]
}

Beispiel 2: Eine Trusted Launch SKR-Richtlinie, die zusätzlich das gebootete Image anpinnt, indem sie spezifische PCR-Werte abgleicht (üblicherweise pcr4 für den Bootloader/Kernel und pcr7 für Secure Boot State). Lesen Sie die erwarteten Werte von einem bekannt-guten Attestationstoken und ersetzen Sie sie dann im folgenden Code. Eine manipulierte, neu aufgesetzte oder mit ausgetauschtem Datenträger versehene VM misst andere PCR-Werte und wird abgelehnt.

{
  "version": "1.0.0",
  "anyOf": [
    {
      "authority": "https://sharedweu.weu.attest.azure.net",
      "allOf": [
        {
          "claim": "secureboot",
          "equals": true
        },
        {
          "claim": "x-ms-azurevm-attested-pcr-values.pcr4",
          "equals": "<BASE64_PCR4>"
        },
        {
          "claim": "x-ms-azurevm-attested-pcr-values.pcr7",
          "equals": "<BASE64_PCR7>"
        }
      ]
    }
  ]
}

Beispiele für SKR-Richtlinien für vertrauliche Container in Azure Container Instances (ACI)

Beispiel 1: Vertrauliche Container in ACI validieren die gestarteten Container und die Metadaten der Containerkonfiguration im Rahmen des Starts der Containergruppe mit zusätzlichen Prüfungen, dass es sich um AMD-SEV-SNP-Hardware handelt.

Hinweis

Die Containermetadaten sind ein auf Rego basierender Richtlinien-Hash, wie in diesem Beispiel dargestellt.

{
    "version": "1.0.0",
    "anyOf": [
        {
            "authority": "https://fabrikam1.wus.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-uvm"
                },
                {
                    "claim": "x-ms-sevsnpvm-hostdata",
                    "equals": "532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25"
                }
            ]
        }
    ]
}

Verweise

Microsoft Azure-Nachweis (MAA)

Schützen Sie geistiges Eigentum in Azure-VMs mit per Attestierung gesteuerter Secure Key Release

Sichere Schlüsselfreigabe – Konzept und grundlegende Schritte