Ejemplos de directivas de Liberación segura de claves para la informática confidencial de Azure

La Liberación segura de claves (SKR) solo puede liberar claves marcadas exportables basadas en las reclamaciones generadas por Microsoft Azure Attestation (MAA). Hay una estrecha integración de la definición de la directiva SKR con las reclamaciones de MAA. Las reclamaciones de MAA por entorno de ejecución de confianza (TEE) pueden encontrarse aquí.

Siga la gramática de directivas para ver más ejemplos sobre cómo puede personalizar las directivas SKR.

Ejemplos de directivas SKR para enclaves de aplicaciones Intel SGX

Ejemplo 1: directiva SKR basada en Intel SGX que valida los datos del firmante MR (firmante del enclave SGX) como parte de las reclamaciones MAA


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

Ejemplo 2: política de SKR basada en Intel SGX que valida el MR Signer (firmante del enclave SGX) o los detalles de MR Enclave como parte de las declaraciones de 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"
}

Ejemplo 3: Política SKR basada en Intel SGX que valida el MR Signer (firmante del enclave SGX) y el MR Enclave con detalles sobre el número mínimo de SVN como parte de las reclamaciones 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"
}

Ejemplos de directivas TEE SKR de máquina virtual confidenciales basadas en SEV-SNP de AMD

Ejemplo 1: una directiva SKR que valida si se trata de un CVM compatible con Azure y que se ejecuta en un hardware AMD SEV-SNP auténtico y la autoridad URL de MAA está repartida por muchas regiones.

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

Ejemplo 2: una directiva SKR que valida si el CVM es un CVM compatible con Azure y se está ejecutando en un hardware AMD SEV-SNP auténtico y es de un id. de máquina virtual conocido. (Los VMID son únicos en Azure, edite la parte "equals" de la notificación en el ejemplo siguiente con el VMID único deseado).

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

Ejemplos de políticas SKR en Trusted Launch VM (vTPM)

La Liberación Segura de Claves no se limita a ofertas de computación confidencial. Una VM de Lanzamiento Confiable (Generación 2, Arranque Seguro + vTPM) también produce un token de atestación MAA, y una política de lanzamiento puede bloquear sus reclamaciones de arranque medido vTPM—secureboot y x-ms-azurevm-attested-pcr-values.pcrN. Estas afirmaciones no requieren AMD SEV-SNP ni hardware Intel TDX. La computación confidencial también protege el material clave liberado en memoria desde el host. Úsalo cuando se requiera esa protección. Para obtener una guía paso a paso completa, consulta Proteger la propiedad intelectual en Azure Virtual Machines con Secure Key Release controlado por certificación.

Ejemplo 1: Una política de Trusted Launch SKR que valida la VM arrancada con Secure Boot activado (prueba una plataforma Trusted Launch genuina y una cita validada de vTPM).

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

Ejemplo 2: Una política de SKR de Lanzamiento Confiable que además fija la imagen arrancada mediante la coincidencia de valores específicos de PCR (comúnmente pcr4 para el cargador de arranque/kernel y pcr7 para el estado de arranque seguro). Lee los valores esperados de un token de certificación válido conocido y, a continuación, sustitúyelos en el siguiente código. Una máquina virtual manipulada, con una imagen reinstalada o con el disco sustituido mide PCR diferentes y se rechaza.

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

Ejemplos de directivas SKR de contenedores confidenciales en Azure Container Instances (ACI)

Ejemplo 1: contenedores confidenciales en ACI validando los contenedores iniciados y los metadatos de configuración del contenedor como parte del lanzamiento del grupo de contenedores con validaciones agregadas de que se trata de un hardware AMD SEV-SNP.

Nota:

Los metadatos de los contenedores son un hash de políticas basado en Rego, como se refleja en este ejemplo.

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

Referencias

Microsoft Azure Attestation (MAA)

Proteja la propiedad intelectual en las máquinas virtuales de Azure con Secure Key Release protegida mediante atestación

Concepto y pasos básicos de la Liberación segura de claves