Esempi di criteri di rilascio delle chiavi sicure per Confidential Computing di Azure

Secure Key Release (SKR) può rilasciare solo chiavi contrassegnate come esportabili in base alle attestazioni generate da Microsoft attestazione di Azure (MAA). La definizione delle policy SKR è strettamente integrata con le attestazioni MAA. Le attestazioni MAA del trusted execution environment (TEE) sono disponibili qui.

Seguire la grammatica dei criteri per altri esempi su come personalizzare i criteri SKR.

Esempi di criteri SKR per enclavi dell'applicazione Intel SGX

Esempio 1: criteri SKR basati su Intel SGX che convalidano i dettagli del firmatario MR (firmatario dell'enclave SGX) come parte delle attestazioni MAA


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

Esempio 2: criterio SKR basato su Intel SGX che convalida i dettagli di MR Signer (firmatario dell'enclave SGX) o di MR Enclave come parte delle attestazioni MAA


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

Esempio 3: criterio SKR basato su Intel SGX che convalida MR Signer (firmatario dell'enclave SGX) e MR Enclave con i dettagli di un numero SVN minimo come parte dei claim MAA

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

Esempi di criteri SKR per la TEE di una VM confidenziale basata su AMD SEV-SNP

Esempio 1: un criterio SKR che convalida la conformità ad Azure di una CVM ed è in esecuzione su un hardware originale AMD SEV-SNP e l'autorità dell'URL MAA è distribuita in molte aree.

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

Esempio 2: Un criterio SKR che verifica se la CVM è una CVM conforme ad Azure, se è in esecuzione su hardware AMD SEV-SNP autentico e se è associata a un ID di macchina virtuale noto. (Gli ID delle macchine virtuali sono univoci in Azure, modificare la sezione 'equals' dell'attestazione nell'esempio seguente con l'ID della macchina virtuale univoco desiderato)

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

Esempi di policy SKR per Trusted Launch VM (vTPM)

Secure Key Release non è limitato alle offerte di calcolo riservato. Una VM Trusted Launch (Generazione 2, Secure Boot + vTPM) genera anch'essa un token di attestazione MAA e un criterio di rilascio può basarsi sulle attestazioni di avvio misurato del relativo vTPM: secureboot e x-ms-azurevm-attested-pcr-values.pcrN. Queste affermazioni non richiedono hardware AMD SEV-SNP o Intel TDX. Il calcolo confidenziale protegge inoltre il materiale chiave rilasciato in memoria dall'host. Usalo quando questa protezione è necessaria. Per una guida completa, vedi Proteggere la proprietà intellettuale nelle VM di Azure con Secure Key Release protetto tramite attestazione.

Esempio 1: Una policy Trusted Launch SKR che convalida la VM avviata con Secure Boot abilitato (dimostra una vera piattaforma Trusted Launch e una citazione vTPM validata).

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

Esempio 2: Una policy Trusted Launch SKR che inoltre vincola l'immagine avviata facendo corrispondere specifici valori PCR (comunemente pcr4 per il boot loader/il kernel e pcr7 per lo stato di Secure Boot). Leggi i valori attesi da un token di attestazione noto e buono, e poi sostituiscili nel codice seguente. Una macchina virtuale manomessa, di cui è stata ricreata l'immagine o con il disco sostituito, misura PCR diversi e viene rifiutata.

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

Esempi di criteri SKR per contenitori riservati in istanze di Azure Container

Esempio 1: contenitori riservati in ACI che convalidano i contenitori avviati e i metadati di configurazione dei contenitori come parte dell'avvio del gruppo di contenitori con convalide aggiuntive che attestano che si tratta di un hardware AMD SEV-SNP.

Nota

I metadati dei contenitori sono un codice hash dei criteri basato su Rego, come in questo esempio.

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

Riferimenti

Attestazione di Microsoft Azure (MAA)

Proteggi la proprietà intellettuale nelle VM di Azure con Secure Key Release protetto tramite attestazione

Concetto e passaggi fondamentali del rilascio sicuro delle chiavi