Delen via


Attestation-beleid versie 1.0

Exemplaareigenaren kunnen het Azure Attestation-beleid gebruiken om te definiëren wat moet worden gevalideerd tijdens de attestation-stroom. In dit artikel worden de werkingen van de Attestation-service en de beleidsengine beschreven. Elk attestation-type heeft een eigen attestation-beleid. De ondersteunde grammatica en verwerking zijn in grote lijnen hetzelfde.

Beleidsversie 1.0

De minimale versie van het beleid dat door de service wordt ondersteund, is versie 1.0.

Een diagram met Azure Attestation met beleidsversie 1.0.

De attestation-servicestroom is als volgt:

  • Het platform verzendt het attestation-bewijs in de attest-aanroep naar de attestation-service.
  • De attestation-service parseert het bewijs en maakt een lijst met claims die worden gebruikt in de attestation-evaluatie. Deze claims worden logisch gecategoriseerd als binnenkomende claimsets.
  • Het geüploade attestation-beleid wordt gebruikt om het bewijs te evalueren over de regels die zijn geschreven in het attestation-beleid.

Beleidsversie 1.0 heeft drie segmenten:

  • versie: de versie is het versienummer van de grammatica die wordt gevolgd.
  • authorizationrules: een verzameling claimregels die eerst worden gecontroleerd om te bepalen of attestation moet doorgaan naar uitgifteregels. Gebruik deze sectie om aanroepen uit te filteren waarvoor de uitgifteregels niet hoeven te worden toegepast. Er kunnen vanuit deze sectie geen claims worden uitgegeven voor het antwoordtoken. Deze regels kunnen worden gebruikt om attestation te mislukken.
  • issuancerules: een verzameling claimregels die worden geëvalueerd om informatie toe te voegen aan het attestation-resultaat zoals gedefinieerd in het beleid. De claimregels zijn van toepassing in de volgorde waarin ze zijn gedefinieerd. Ze zijn ook optioneel. Deze regels kunnen worden gebruikt om toe te voegen aan de uitgaande claimset en het antwoordtoken. Deze regels kunnen niet worden gebruikt om attestation te mislukken.

De volgende claims worden ondersteund door beleidsversie 1.0 als onderdeel van de binnenkomende claims.

TPM-attestation

Gebruik deze claims om autorisatieregels te definiëren in een TPM-attestation-beleid (Trusted Platform Module):

  • aikValidated: de Booleaanse waarde die informatie bevat als het certificaat van de attestation-identiteitssleutel (AIK) al dan niet is gevalideerd.
  • aikPubHash: de tekenreeks met de openbare AIK-sleutel base64 (SHA256) in DER-indeling.
  • tpmVersion: de geheel getalwaarde die de primaire TPM-versie bevat.
  • secureBootEnabled: de Booleaanse waarde die aangeeft of beveiligd opstarten is ingeschakeld.
  • iommuEnabled:De Booleaanse waarde die aangeeft of de invoer-uitvoergeheugenbeheereenheid is ingeschakeld.
  • bootDebuggingDisabled: de Booleaanse waarde die aangeeft of foutopsporing voor opstarten is uitgeschakeld.
  • notSafeMode: de Booleaanse waarde die aangeeft of Windows niet wordt uitgevoerd in de veilige modus.
  • notWinPE: de Booleaanse waarde die aangeeft of Windows niet wordt uitgevoerd in de WinPE-modus.
  • vbsEnabled: de Booleaanse waarde die aangeeft of beveiliging op basis van virtualisatie (VBS) is ingeschakeld.
  • vbsReportPresent: de Booleaanse waarde die aangeeft of er een VBS-enclaverapport beschikbaar is.

VBS-Attestation

Gebruik de volgende claims om autorisatieregels te definiëren in een VBS-attestation-beleid:

  • enclaveAuthorId: de tekenreekswaarde die de base64Url gecodeerde waarde van de enclave-auteur-id bevat. Dit is de auteurs-id van de primaire module voor de enclave.
  • enclaveImageId: de tekenreekswaarde die de met Base64Url gecodeerde waarde van de id van de enclave-installatiekopie bevat. Dit is de installatiekopieën-id van de primaire module voor de enclave.
  • enclaveOwnerId: de tekenreekswaarde die de base64Url gecodeerde waarde van de enclave-eigenaar-id bevat. Dit is de id van de eigenaar voor de enclave.
  • enclaveFamilyId: de tekenreekswaarde die de gecodeerde base64Url-waarde van de enclave-familie-id bevat. Dit is de familie-id van de primaire module voor de enclave.
  • enclaveSvn: het gehele getal dat het beveiligingsversienummer van de primaire module voor de enclave bevat.
  • enclavePlatformSvn: de gehele waarde die het beveiligingsversienummer bevat van het platform dat als host fungeert voor de enclave.
  • enclaveFlags: de enclaveFlags-claim is een geheel getal dat vlaggen bevat die het runtimebeleid voor de enclave beschrijven.

Voorbeeldbeleidsregels voor verschillende attestation-typen

Voorbeeldbeleid voor TPM:

version=1.0;

authorizationrules { 
    => permit();
};


issuancerules
{
[type=="aikValidated", value==true]&& 
[type=="secureBootEnabled", value==true] &&
[type=="bootDebuggingDisabled", value==true] && 
[type=="notSafeMode", value==true] => issue(type="PlatformAttested", value=true);
};