Delen via


Basisbegrippen

In dit artikel worden enkele basisconcepten met betrekking tot Microsoft Azure Attestation gedefinieerd.

JSON Web Token (JWTs)

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 die een Base64URL-gecodeerde weergave van de attestation-offerte bevat.
  • "EnclaveHeldData": de waarde van de eigenschap EnclaveHeldData is een tekenreeks met een Base64URL-gecodeerde weergave van de enclave-gegevens.

Azure Attestation valideert de opgegeven offerte om ervoor te zorgen dat de SHA256-hash van de opgegeven enclave-gegevens wordt uitgedrukt in de eerste 32 bytes van het veld reportData in de offerte.

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. Beleidsregels worden gebruikt om te bepalen of Azure Attestation een attestation-token uitgeeft op basis van bewijs (of niet) en zo de Attester (of niet) onderschrijft. Als u niet alle beleidsregels doorgeeft, leidt dit ertoe dat er geen JWT-token wordt uitgegeven.

Als het standaardbeleid in 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 attestation-typespecifiek en kunnen worden gebruikt om enclaves te identificeren of claims toe te voegen aan het uitvoertoken of claims in een uitvoertoken te wijzigen.

Zie voorbeelden van een attestation-beleid.

Voordelen van beleidsondertekening

Een attestation-beleid bepaalt uiteindelijk of een attestation-token wordt uitgegeven door Azure Attestation. Beleid bepaalt ook welke claims moeten worden gegenereerd in het Attestation-token. Het is van cruciaal belang dat het beleid dat door de service wordt geëvalueerd, het beleid is dat is geschreven door de beheerder en dat het niet is gemanipuleerd of 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 het geïsoleerde model kan Azure Attestation ervoor zorgen dat er niet met het door de klant ingediende beleid wordt geknoeid.

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. Azure Attestation valideert tijdens het verwerken van de attestation-aanvraag de handtekening van het beleid met behulp van de openbare sleutel die wordt vertegenwoordigd door de 'jwk' of de parameter 'x5c' in de header. Azure Attestation controleert of de openbare sleutel in de aanvraagheader voorkomt in de lijst met vertrouwde handtekeningcertificaten 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-antwoord is een JSON-tekenreeks waarvan de waarde JWT bevat. Azure Attestation verpakt de claims en genereert een ondertekende JWT. 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 omdat de gegevens naar datacenters worden geschreven en ontsleutelt deze voor klanten om er toegang toe 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