Exempel på principexempel för säker nyckelutgivning för konfidentiell databehandling i Azure

Secure Key Release (SKR) kan bara frigöra exporterbara markerade nycklar baserat på de MAA-genererade anspråken (Microsoft Azure Attestation). Det finns en snäv integration mellan SKR-policydefinitionen och MAA-anspråk. Anspråk från MAA i en betrodd exekveringsmiljö (TEE) finns här.

Följ policyn grammatik för fler exempel på hur du kan anpassa SKR-policyerna.

Intel SGX Application Enclaves SKR-principexempel

Exempel 1: Intel SGX-baserad SKR-princip som validerar detaljerna om MR Signer (SGX-enklavens signerare) som en del av MAA-anspråken.


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

Exempel 2: Intel SGX-baserad SKR-princip som validerar MR Signer (SGX-enklaversignerare) eller MR Enclave-information som en del av MAA-anspråken


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

Exempel 3: Intel SGX-baserad SKR-princip som validerar MR Signer (SGX-enklavens signerare) och MR Enclave med detaljer om ett minimalt SVN-nummer som en del av MAA-anspråken

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

Exempel på konfidentiell VM AMD SEV-SNP-baserad virtuell dator TEE SKR-policy

Exempel 1: En SKR-princip som verifierar om detta är Azure-kompatibel CVM och körs på en äkta AMD SEV-SNP-maskinvara och MAA-URL-utfärdaren är spridd över många regioner.

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

Exempel 2: En SKR-princip som verifierar om CVM är en Azure-kompatibel CVM och körs på en äkta AMD SEV-SNP-maskinvara och är av ett känt virtuellt dator-ID. (VMID:er är unika i Azure, redigera delen "lika med" av anspråket i exemplet nedan med önskat unikt 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>"
        }
      ]
    }
  ]
}

Exempel på SKR-policyer för trusted Launch VM (vTPM)

Secure Key Release är inte begränsad till konfidentiella datortjänster. En Trusted Launch-VM (Generation 2, Secure Boot + vTPM) genererar också en attesteringstoken från MAA, och en releasepolicy kan villkoras av dess vTPM-anspråk för uppmätt start—secureboot och x-ms-azurevm-attested-pcr-values.pcrN. Dessa påståenden kräver inte AMD:s SEV-SNP eller Intel TDX-hårdvara. Konfidentiell databehandling skyddar dessutom det frisläppta nyckelmaterialet i minnet från värdsystemet. Använd den när det skyddet behövs. För en fullständig genomgång, se Skydda immateriella rättigheter på Azure-VM:ar med attestationsstyrd Secure Key Release.

Exempel 1: En Trusted Launch SKR-policy som validerar VM:n som startas med Secure Boot aktiverat (bevisar en äkta Trusted Launch-plattform och en validerad vTPM-offert).

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

Exempel 2: En Trusted Launch SKR-policy som dessutom fäster den uppstartade avbilden genom att matcha specifika PCR-värden (vanligtvis pcr4 för bootloadern/kärnan och pcr7 för Secure Boot-tillståndet). Läs de förväntade värdena från en verifierad attestationstoken och ersätt dem sedan i följande kod. En manipulerad VM, en VM som har återställts från en annan avbild eller en VM med utbytt disk mäter andra PCR-värden och nekas åtkomst.

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

Exempel på SKR-policyer för konfidentiella containrar i Azure Container Instances (ACI)

Exempel 1: Konfidentiella containrar på ACI som validerar de containrar som initieras och metadata för containerkonfiguration som en del av containergruppens start med ytterligare valideringar om att detta är en AMD SEV-SNP-maskinvara.

Kommentar

Containrarnas metadata är en rego-baserad policyhash som visas i detta exempel..

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

Referenser

Microsoft Azure Attestation (MAA)

Skydda immateriella rättigheter på Azure-VM:er med attestationsstyrd Secure Key Release

Secure Key Release Concept och grundläggande steg