Basisbegrippen

Hieronder vindt u enkele basisbegrippen met betrekking tot Microsoft Azure Attestation.

JSON Web Token (JWT)

JSON Web Token (JWT) is een open standaard RFC7519-methode voor het veilig verzenden van informatie tussen partijen als een JavaScript Object Notation (JSON)-object. Deze informatie kan worden geverifieerd en vertrouwd omdat deze digitaal is ondertekend. JWTs kunnen worden ondertekend met behulp van een geheim of een openbaar/persoonlijk sleutelpaar.

JSON Web Key (JWK)

JSON Web Key (JWK) is een JSON-gegevensstructuur die een cryptografische sleutel vertegenwoordigt. Deze specificatie definieert ook een JWK Set JSON-gegevensstructuur die een set JWK’s vertegenwoordigt.

Attestation-provider

Attestation-provider behoort tot de Azure-resourceprovider met de naam Microsoft.Attestation. De resourceprovider is een service-eindpunt dat Azure Attestation REST-contract voorziet en wordt geïmplementeerd met behulp van Azure Resource Manager. Elke Attestation-provider respecteert een specifiek, detecteerbaar beleid. Attestation-providers worden gemaakt met een standaardbeleid voor elk type Attestation (houd er rekening mee dat VBS-enclave geen standaardbeleid heeft). Zie Voorbeelden van een Attestation-beleid voor meer informatie over het standaardbeleid voor SGX.

Attestation-aanvraag

Attestation-aanvraag is een geserialiseerd JSON-object dat is verzonden door de client-toepassing naar de Attestation-provider. Het object Request voor SGX enclave heeft twee eigenschappen:

  • "Quote" - de waarde van de eigenschap "quote" is een tekenreeks met een Base64URL-gecodeerde representatie van de Attestation-offerte
  • "EnclaveHeldData" - de waarde van de eigenschap "EnclaveHeldData" is een tekenreeks met een Base64URL-gecodeerde representatie van de enclave-gegevens.

Azure Attestation valideert de opgegeven "Prijsopgave" en zorgt er vervolgens voor dat de SHA256-hash van de opgegeven enclavegegevens wordt weergegeven in de eerste 32 bytes van het veld reportData in de prijsopgave.

Attestation-beleid

Attestation-beleid wordt gebruikt voor het verwerken van het Attestation-bewijs en kan worden geconfigureerd door klanten. De kern van Azure Attestation is een beleidsengine die claims verwerkt die het bewijs vormen. Beleid wordt gebruikt om te bepalen of Azure Attestation een Attestation-token afgeeft op basis van een bewijs (of niet) en de Attester ondersteund (of niet). Als gevolg hiervan is het niet mogelijk om alle beleidsregels door te geven, waardoor er geen JWT-token wordt uitgegeven.

Als het standaardbeleid van de Attestation-provider niet voldoet aan de behoeften, kunnen klanten aangepaste beleidsregels maken in een van de regio's die worden ondersteund door Azure Attestation. Beleidsbeheer is een belangrijke functie de aan klanten door Azure Attestation wordt geleverd. Beleidsregels zijn specifiek voor het type Attestation en kunnen worden gebruikt om enclaves te identificeren of claims toe te voegen aan het uitvoertoken of claims te wijzigen in een uitvoertoken.

Voorbeelden van een attestation-beleid bekijken

Voordelen van beleidsondertekening

Een Attestation-beleid is wat uiteindelijk bepaalt of een Attestation-token wordt uitgegeven door Azure Attestation. Beleid bepaalt ook welke claims moeten worden gegenereerd in het Attestation-token. Het is daarom van groot belang dat het beleid dat door de service wordt geëvalueerd, in feite het beleid is dat door de beheerder is geschreven, waarmee niet is geknoeid en dat niet is gewijzigd door externe entiteiten.

Het vertrouwensmodel definieert het autorisatiemodel van de Attestation-provider om beleid te definiëren en bij te werken. Er worden twee modellen ondersteund: één op basis van Microsoft Entra-autorisatie en één op basis van het bezit van door de klant beheerde cryptografische sleutels (geïsoleerd model genoemd). Met een geïsoleerd model wordt Azure Attestation ingeschakeld om ervoor te zorgen dat het door de klant ingediende beleid niet is gewijzigd.

In geïsoleerd model maakt de beheerder een Attestation-provider die een set vertrouwde ondertekenende X.509-certificaten in een bestand opgeeft. De beheerder kan vervolgens een ondertekend beleid toevoegen aan de Attestation-provider. Tijdens de verwerking van de Attestation-aanvraag valideert Azure Attestation de handtekening van het beleid met behulp van de openbare sleutel die wordt vertegenwoordigd door de parameter "jwk" of "x5c" in de koptekst. Azure Attestation controleert ook of de openbare sleutel in de aanvraag-header zich in de lijst met vertrouwde handtekeningcertificaten bevindt die zijn gekoppeld aan de Attestation-provider. Op deze manier kan de Relying Party (Azure Attestation) een beleid vertrouwen dat is ondertekend met de X. 509-certificaten die het kent.

Zie Voorbeelden van certificaat beleidsondertekenaar voor voorbeelden.

Attestation-token

Azure Attestation-reactie is een JSON-tekenreeks waarvan de waarde JWT bevat. De claims worden door Azure Attestation ingepakt en er wordt een ondertekende JWT gegenereerd. De ondertekeningsbewerking wordt uitgevoerd met behulp van een zelfondertekend certificaat met de objectnaam die overeenkomt met het AttestUri-element van de Attestation-provider.

De Get OpenID Connect Metadata API Get retourneert een OpenID-configuratieantwoord zoals opgegeven door het OpenID Connect Discovery-Protocol. De API haalt metagegevens op over de handtekeningcertificaten die worden gebruikt door Azure Attestation.

Zie voorbeelden van attestation-token.

Versleuteling van gegevens in rust

Om klantgegevens te beschermen, blijven de gegevens van Azure Attestation in Azure Storage. Azure Storage biedt versleuteling van data-at-rest die naar datacentra worden geschreven, en ontsleutelt deze voor klanten om toegang te krijgen. Deze versleuteling vindt plaats met behulp van een door Microsoft beheerde versleutelingssleutel.

Naast het beveiligen van gegevens in Azure Storage, maakt Azure Attestation ook gebruik van Azure Disk Encryption (ADE) voor het versleutelen van service-VM's. Voor Azure Attestation dat wordt uitgevoerd in een enclave in Azure-omgevingen met vertrouwelijke computing, wordt de ADE-extensie momenteel niet ondersteund. In dergelijke scenario's wordt het wisselbestand uitgeschakeld om te voorkomen dat gegevens worden opgeslagen in het geheugen.

Er worden geen klantgegevens bewaard op de lokale harde schijven van het Azure Attestation-exemplaar.

Volgende stappen