Nachweisrichtlinienversion 1.0
Instanzbesitzer können die Azure Attestation-Richtlinie verwenden, um festzulegen, was während des Nachweisablaufs überprüft werden muss. In diesem Artikel werden die Funktionsweisen des Nachweisdiensts und des Richtlinienmoduls eingeführt. Jeder Nachweistyp hat seine eigene Nachweisrichtlinie. Die unterstützte Grammatik und Verarbeitung sind allgemein gleich.
Richtlinienversion 1.0
Die Mindestversion der vom Dienst unterstützten Richtlinie ist Version 1.0.
Der Bestätigungsdienstablauf lautet wie folgt:
- Die Plattform sendet den Beweis im Nachweisdienst des Nachweisdienstes.
- Der Nachweisdienst analysiert die Nachweise und erstellt eine Liste der Ansprüche, die dann in der Bestätigungsbewertung verwendet werden. Diese Ansprüche werden logisch als eingehende Anspruchssätze kategorisiert.
- Die hochgeladene Bestätigungsrichtlinie wird verwendet, um die Beweise über die in der Nachweisrichtlinie erstellten Regeln zu bewerten.
Richtlinienversion 1.0 verfügt über drei Segmente:
- Version: Die Version ist die Versionsnummer der befolgten Grammatik.
- Autorisierungsregeln: Eine Sammlung von Anspruchsregeln, die zuerst geprüft werden, um zu bestimmen, ob ein Nachweis an Ausgaberegeln ermittelt werden soll. Verwenden Sie diesen Abschnitt, um Anrufe herauszufiltern, auf die die Ausgaberegeln nicht angewendet werden müssen. Es können keine Ansprüche aus diesem Abschnitt an das Antworttoken ausgestellt werden. Diese Regeln können für eine Fehlerbestätigung verwendet werden.
- Ausgaberegeln: Eine Sammlung von Anspruchsregeln, die ausgewertet werden, um dem Nachweisergebnis gemäß der Definition in der Richtlinie weitere Informationen hinzuzufügen. Die Anspruchsregeln werden in der Reihenfolge angewendet, in der sie definiert wurden. Sie sind auch optional. Diese Regeln können auch verwendet werden, um den ausgehenden Anspruchssatz und das Antworttoken zu ergänzen. Diese Regeln können nicht für eine Fehlerbestätigung verwendet werden.
Liste der Ansprüche, die von Richtlinienversion 1.0 als Teil der eingehenden Ansprüche unterstützt werden.
TPM-Nachweis
Verwenden Sie diese Ansprüche, um Autorisierungsregeln in einer Trusted Platform Modul-Nachweisrichtlinie (TPM) zu definieren:
- aikValidated: Der boolesche Wert, der Informationen enthält, wenn Zertifizierung des Identitätsnachweisschlüssels (AIK) überprüft wurde oder nicht.
- aikPubHash: Die Zeichenfolge, die den öffentlichen base64 (SHA256) AIK-Schlüssel im DER-Format enthält.
- tpmVersion: Der ganzzahlige Wert, der die TPM-Hauptversion enthält.
- secureBootEnabled: Der boolescher Wert, der angibt, ob der sichere Start aktiviert ist.
- iommuEnabled: Der boolesche Wert, der angibt, ob die Input-Output-Speicherverwaltungseinheit aktiviert ist.
- bootDebuggingDisabled: Der boolesche Wert, der angibt, ob das Boot-Debugging deaktiviert ist.
- notSafeMode: Der boolesche Wert, der angibt, ob Windows nicht im sicheren Modus ausgeführt wird.
- notWinPE: Der boolesche Wert, der angibt, ob Windows nicht im WinPE-Modus ausgeführt wird.
- vbsEnabled: Der boolesche Wert, der angibt, ob virtualisierungsbasierte Sicherheit (VBS) aktiviert ist.
- vbsReportPresent: Der boolesche Wert, der angibt, ob ein VBS-Enklavenbericht verfügbar ist.
VBS-Nachweis
Verwenden Sie die folgenden Ansprüche, um Autorisierungsregeln in einer VBS-Nachweisrichtlinie zu definieren:
- enclaveAuthorId: Der Zeichenfolgenwert, der den Base64Url-codierten Wert der Enklave-Autor-ID enthält. Es ist die Autorenkennung des primären Moduls für die Enklave.
- enclaveImageId: Der Zeichenfolgenwert, der den Base64Url-codierten Wert der Enklave-Bild-ID enthält. Es ist die Bildkennung des primären Moduls für die Enklave.
- enclaveOwnerId: Der Zeichenfolgenwert, der den Base64Url-codierten Wert der Enklaveneigentümer-ID enthält. Es ist die Kennung des Besitzers für die Enklave.
- enclaveFamilyId: Der Zeichenfolgenwert, der den Base64Url-codierten Wert der Enklavenfamilien-ID enthält. Es ist die Familienkennung des primären Moduls für die Enklave.
- enclaveSvn: Der ganzzahlige Wert, der die Sicherheitsversionsnummer des primären Moduls für die Enklave enthält.
- enclavePlatformSvn: Der ganzzahlige Wert, der die Sicherheitsversionsnummer der Plattform enthält, die die Enklave hostet.
- enclaveFlags: Der enclaveFlags Anspruch ist ein ganzzahliger Wert, der Flags enthält, die die Laufzeitrichtlinie für die Enklave beschreiben.
Beispielrichtlinien für verschiedene Nachweistypen
Beispielrichtlinie für 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);
};