Attestation-beleid versie 1.0
Eigenaren van exemplaren 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 geïntroduceerd. 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.
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 gevolgde grammatica.
- authorizationrules: Een verzameling claimregels die eerst worden gecontroleerd om te bepalen of attestation moet doorgaan met uitgifteregels. Gebruik deze sectie om aanroepen uit te filteren waarvoor de uitgifteregels niet hoeven te worden toegepast. Er kunnen geen claims vanuit deze sectie worden uitgegeven aan het antwoordtoken. Deze regels kunnen worden gebruikt om attestation uit te voeren.
- 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 uit te voeren.
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) is gevalideerd of niet.
- aikPubHash: de tekenreeks die de openbare AIK-sleutel base64 (SHA256) in DER-indeling bevat.
- 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 beheereenheid voor het geheugen voor invoeruitvoer is ingeschakeld.
- bootDebuggingDisabled: de Booleaanse waarde die aangeeft of opstartfoutopsporing 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 gecodeerde base64Url-waarde van de enclave-auteur-id bevat. Dit is de auteur-id van de primaire module voor de enclave.
- enclaveImageId: de tekenreekswaarde die de met Base64Url gecodeerde waarde van de enclave-installatiekopie-id bevat. Dit is de afbeeldings-id van de primaire module voor de enclave.
- enclaveOwnerId: de tekenreekswaarde die de gecodeerde base64Url-waarde van de enclave-eigenaar-id bevat. Dit is de id van de eigenaar voor de enclave.
- enclaveFamilyId: de tekenreekswaarde die de met Base64Url gecodeerde waarde van de enclavefamilie-id bevat. Dit is de familie-id van de primaire module voor de enclave.
- enclaveSvn: de gehele waarde die 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.
Voorbeeldbeleid 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);
};