Concetti di base

Di seguito sono riportati alcuni concetti di base relativi ad Attestazione di Microsoft Azure.

Token JSON Web (JWT)

JSON Web Token (JWT) è un metodo RFC7519 basato su standard aperti per la trasmissione sicura di informazioni tra entità come oggetto JSON (JavaScript Object Notation). Queste informazioni possono essere verificate e considerate attendibili perché sono firmate digitalmente. I token JWT possono essere firmati con un segreto o con una coppia di chiavi pubblica/privata.

JWK (JSON Web Key)

JSON Web Key (JWK) è una struttura di dati JSON che rappresenta una chiave crittografica. Questa specifica definisce anche una struttura di dati JSON JWK Set che rappresenta un set di chiavi JWK.

Provider di attestazioni

Il provider di attestazioni appartiene al provider di risorse di Azure denominato Microsoft.Attestation. Il provider di risorse è un endpoint del servizio che fornisce il contratto REST di Attestazione di Azure e viene distribuito con Azure Resource Manager. Ogni provider di attestazioni rispetta criteri specifici individuabili. I provider di attestazioni vengono creati con un criterio predefinito per ogni tipo di attestazione (si noti che l'enclave VBS non include criteri predefiniti). Per informazioni dettagliate sui criteri predefiniti per SGX, vedere Esempi di un criterio di attestazione.

Richiesta di attestazione

La richiesta di attestazione è un oggetto JSON serializzato inviato dall'applicazione client al provider di attestazioni. L'oggetto della richiesta per l'enclave SGX ha due proprietà:

  • "Quote": il valore della proprietà "Quote" è una stringa contenente una rappresentazione con codifica Base64URL dell'offerta di attestazione
  • "EnclaveHeldData": il valore della proprietà "EnclaveHeldData" è una stringa contenente una rappresentazione con codifica Base64URL dei dati contenuti nell'enclave.

Il servizio di attestazione di Azure convaliderà l'offerta fornita e verificherà che l'hash SHA256 dei dati contenuti nell'enclave forniti sia espresso nei primi 32 byte del campo reportData dell'offerta.

Criteri di attestazione

Il criterio di attestazione viene usato per elaborare l'evidenza dell'attestazione ed è configurabile dai clienti. Alla base di Attestazione di Azure è presente un motore di criteri che elabora le attestazioni che costituiscono l'evidenza. I criteri vengono usati per determinare se Attestazione di Azure emetterà un token di attestazione in base all'evidenza (o meno) e quindi approverà l'attestatore (o meno). Di conseguenza, se i criteri non vengono tutti soddisfatti, non verranno emessi token JWT.

Se il criterio predefinito nel provider di attestazioni non soddisfa le esigenze, i clienti potranno creare criteri personalizzati in tutte le aree supportate da Attestazione di Azure. La gestione dei criteri è una funzionalità chiave fornita ai clienti da Attestazione di Azure. I criteri saranno specifici del tipo di attestazione e potranno essere usati per identificare le enclavi o aggiungere attestazioni al token di output oppure per modificare le attestazioni in un token di output.

Vedere esempi di criteri di attestazione

Vantaggi della firma dei criteri

Un criterio di attestazione è quello che determina in definitiva se un token di attestazione verrà emesso da Attestazione di Azure. Il criterio determina anche le attestazioni da generare nel token di attestazione. È pertanto fondamentale che il criterio valutato dal servizio sia effettivamente quello scritto dall'amministratore e che non sia stato manomesso o modificato da entità esterne.

Il modello di attendibilità definisce il modello di autorizzazione del provider di attestazioni per la definizione e l'aggiornamento dei criteri. Sono supportati due modelli: uno basato sull'autorizzazione di Microsoft Entra e uno basato sul possesso di chiavi crittografiche gestite dal cliente (definito modello isolato). Il modello isolato consentirà ad Attestazione di Azure di garantire che i criteri inviati dal cliente non vengano manomessi.

In un modello isolato l'amministratore crea un provider di attestazioni che specifica un set di certificati di firma X.509 attendibili in un file. L'amministratore può quindi aggiungere un criterio firmato al provider di attestazioni. Durante l'elaborazione della richiesta di attestazione, Attestazione di Azure convaliderà la firma del criterio usando la chiave pubblica rappresentata dal parametro "jwk" o "x5c" nell'intestazione. Attestazione di Azure verificherà inoltre se la chiave pubblica nell'intestazione della richiesta è presente nell'elenco di certificati di firma attendibili associati al provider di attestazioni. In questo modo, la relying party (Attestazione di Azure) può considerare attendibile un criterio firmato usando certificati X.509 riconosciuti.

Per altre informazioni, vedere Esempi di certificato del firmatario di criteri.

Token di attestazione

La risposta di Attestazione di Azure sarà una stringa JSON il cui valore contiene JWT. Attestazione di Azure assemblerà le attestazioni e genererà un token JWT firmato. L'operazione di firma viene eseguita usando un certificato autofirmato con il nome del soggetto corrispondente all'elemento AttestUri del provider di attestazioni.

L'API Get OpenID Metadata restituisce una risposta OpenID Configuration come specificato dal protocollo OpenID Connect Discovery. L'API recupera i metadati relativi ai certificati di firma usati da Attestazione di Azure.

Vedere esempi di token di attestazione.

Crittografia dei dati inattivi

Per proteggere i dati dei clienti, il servizio di attestazione di Azure salva in modo permanente i dati in Archiviazione di Azure. Archiviazione di Azure fornisce la crittografia dei dati inattivi man mano che vengono scritti nei data center e li decrittografa per consentire ai clienti di accedervi. Questa crittografia viene eseguita tramite una chiave di crittografia gestita da Microsoft.

Oltre a proteggere i dati in Archiviazione di Azure, Attestazione di Azure usa anche Crittografia dischi di Azure per crittografare le macchine virtuali del servizio. L'estensione di Crittografia dischi di Azure non è attualmente supportata per il servizio di attestazione di Azure in esecuzione in un'enclave in ambienti di confidential computing di Azure. In scenari di questo tipo il file di paging è disabilitato per impedire l'archiviazione dei dati in memoria.

Nessun dato dei clienti viene salvato in modo permanente nelle unità disco rigido locali dell'istanza di Attestazione di Azure.

Passaggi successivi