Exemples de stratégie de mise en production de clés sécurisées pour l’informatique confidentielle Azure

Secure Key Release (SKR) ne peut libérer que des clés marquées comme exportables, à partir des affirmations générées par Microsoft Azure Attestation (MAA). Il existe une intégration étroite entre la définition de la stratégie SKR et les assertions MAA. Les attestations MAA pour l’environnement d’exécution sécurisé (TEE) sont disponibles ici.

Suivez la grammaire de stratégie pour obtenir d’autres exemples sur la façon dont vous pouvez personnaliser les stratégies SKR.

Exemples de stratégie SKR pour les enclaves d’application Intel SGX

Exemple 1 : stratégie SKR basée sur Intel SGX validant les détails du signataire MR (signataire d’enclave SGX) dans le cadre des revendications MAA


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

Exemple 2 : stratégie SKR basée sur Intel SGX validant le signataire MR (signataire d’enclave SGX) ou les détails de l’enclave MR dans le cadre des revendications 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"
}

Exemple 3 : stratégie SKR basée sur Intel SGX validant le signataire MR (signataire d’enclave SGX) et MR Enclave avec un nombre SVN minimal dans le cadre des revendications 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"
}

Exemples de stratégies SKR de TEE pour les machines virtuelles confidentielles basées sur AMD SEV-SNP

Exemple 1 : stratégie SKR qui valide s’il s’agit d’une machine virtuelle CVM conforme à Azure et qui s’exécute sur un matériel AMD SEV-SNP authentique et l’autorité d’URL MAA est répartie entre de nombreuses régions.

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

Exemple 2 : stratégie SKR qui valide si la machine virtuelle CVM est une machine virtuelle conforme à Azure et s’exécute sur un matériel AMD SEV-SNP authentique et est d’un ID de machine virtuelle connu. (Les VMID sont uniques dans Azure, modifiez la partie « égale » de la revendication dans l’exemple ci-dessous avec l’ID de machine virtuelle unique souhaité)

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

Exemples de politiques SKR pour une VM de lancement fiable (vTPM)

La libération sécurisée de clés ne se limite pas aux offres informatiques confidentielles. Une VM de lancement de confiance (génération 2, Secure Boot + vTPM) produit également un jeton d’attestation MAA, et une politique de release peut verrouiller ses revendications de démarrage mesuré vTPM —secureboot et x-ms-azurevm-attested-pcr-values.pcrN. Ces affirmations ne nécessitent pas de matériel AMD SEV-SNP ou Intel TDX. L’informatique confidentielle protège également le contenu clé libéré en mémoire de l’hôte. Utilisez-le lorsque cette protection est nécessaire. Pour une visite complète, voir Protéger la propriété intellectuelle sur les machines virtuelles Azure avec Secure Key Release avec verrouillage d’attestation.

Exemple 1 : Une politique Trusted Launch SKR qui valide la VM démarrée avec Secure Boot activé (prouve qu’il s’agit d’une véritable plateforme Trusted Launch et d’une citation vTPM validée).

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

Exemple 2 : Une stratégie SKR Trusted Launch qui fixe en outre l’image démarrée en la faisant correspondre à des valeurs PCR spécifiques (généralement pcr4 pour le chargeur de démarrage/noyau et pcr7 pour l’état de Secure Boot). Lisez les valeurs attendues d’un jeton d’attestation de qualité connue, puis remplacez-les dans le code suivant. Une VM altérée, réinstallée à partir d’une image ou dont le disque a été remplacé mesure des valeurs PCR différentes et se voit refuser l’accès.

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

Exemples de stratégie SKR (Conteneurs confidentiels) sur Azure Container Instances (ACI)

Exemple 1 : conteneurs confidentiels sur ACI validant les conteneurs initiés et les métadonnées de configuration de conteneur dans le cadre du lancement du groupe de conteneurs avec des validations ajoutées indiquant qu’il s’agit d’un matériel AMD SEV-SNP.

Remarque

Les métadonnées des conteneurs sont un hachage de stratégie basé sur Rego, tel qu’illustré dans cet exemple.

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

Références

Microsoft Azure Attestation (MAA)

Protégez la propriété intellectuelle sur les machines virtuelles Azure grâce à la libération sécurisée de clés contrôlée par attestation

Concept de mise en production de clé sécurisée et étapes de base