Condividi tramite


Concetti di base

Questo articolo definisce alcuni concetti di base correlati all'attestazione di Microsoft Azure.

JSON Web Token (JWT)

Json Web Token (JWT) è un metodo open standard RFC7519 per trasmettere in modo sicuro le informazioni tra le parti come oggetto JSON (JavaScript Object Notation). Queste informazioni possono essere verificate e attendibili perché firmate digitalmente. I token JWT possono essere firmati con un segreto o con una coppia di chiavi pubblica/privata.

Chiave Web JSON (JWK)

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

Fornitore di attestazioni

Il provider di attestazioni appartiene al provider di risorse di Azure denominato Microsoft.Attestation. Il provider di risorse è un endpoint di servizio che fornisce il contratto REST di attestazione di Azure e viene distribuito con Azure Resource Manager. Ogni provider di attestazioni rispetta un criterio individuabile specifico. I provider di attestazioni vengono creati con un criterio predefinito per ogni tipo di attestazione (si noti che l'enclave VBS non ha criteri predefiniti). Per altri dettagli sui criteri predefiniti per SGX, vedere esempi di criteri di attestazione .

Richiesta di attestazione

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

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

Attestazione di Azure valida il "Quote" fornito per garantire che l'hash SHA256 dei dati detenuti dall'enclave sia espresso nei primi 32 byte del campo reportData nel quote.

Criteri di attestazione

La politica di attestazione viene usata per elaborare le prove di attestazione ed è configurabile dai clienti. Il nucleo di Attestazione di Azure è un motore di criteri, che elabora attestazioni che costituiscono le prove. Le politiche vengono utilizzate per determinare se Attestazione di Azure emetterà o meno un token di attestazione basato sull'evidenza (o meno) e, quindi, approverà o meno l'Attestatore. Di conseguenza, l'impossibilità di passare tutti i criteri non comporta l'emissione di alcun token JWT.

Se i criteri predefiniti nel provider di attestazione non soddisfano le esigenze, i clienti possono creare criteri personalizzati in una qualsiasi delle aree supportate da Attestazione di Azure. La gestione dei criteri è una funzionalità chiave fornita ai clienti da Attestazione di Azure. I criteri sono specifici del tipo di attestazione e possono essere usati per identificare le enclave o aggiungere attestazioni al token di output o modificare le attestazioni in un token di output.

Vedere esempi di criteri di attestazione.

Vantaggi della firma dei criteri

Un criterio di attestazione è ciò che determina in definitiva se un token di attestazione viene emesso da Attestazione di Azure. I criteri determinano anche le attestazioni da generare nel token di attestazione. È fondamentale che i criteri valutati dal servizio siano i criteri scritti dall'amministratore e che non siano stati manomessi o modificati da entità esterne.

Il modello di attendibilità definisce il modello di autorizzazione del provider di attestazioni per definire e aggiornare i 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 consente all'Attestazione di Azure di garantire che la policy inviata dal cliente non sia manomessa.

Nel modello isolato l'amministratore crea un provider di attestazioni che specifica un set di certificati X.509 con firma attendibile in un file. L'amministratore può quindi aggiungere una politica firmata al provider di attestazioni. Attestazione di Azure, durante l'elaborazione della richiesta di attestazione, convalida la firma della politica usando la chiave pubblica rappresentata dal parametro "jwk" o "x5c" nell'intestazione. Attestazione di Azure verifica se la chiave pubblica nell'intestazione della richiesta è nell'elenco dei certificati di firma attendibili associati al provider di attestazione. In questo modo, la parte affidataria (Attestazione di Azure) può considerare attendibile un criterio firmato usando i certificati X.509 che conosce.

Per esempi di certificato del firmatario della politica, vedi i campioni.

Token di attestazione

La risposta di Attestazione di Azure è una stringa JSON il cui valore contiene JWT. Il servizio Azure Attestation impacchetta le attestazioni e genera un token JWT firmato. L'operazione di firma viene eseguita usando un certificato autofirmato con nome soggetto corrispondente all'elemento AttestaUri del provider di attestazione.

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

Vedere esempi di token di attestazione.

Crittografia dei dati a riposo

Per proteggere i dati dei clienti, Attestazione di Azure mantiene i dati in Archiviazione di Azure. Azure Storage fornisce la crittografia dei dati a riposo quando vengono archiviati nei data center e li decrittografa per l'accesso da parte dei clienti. Questa crittografia viene eseguita usando una chiave di crittografia gestita da Microsoft.

Oltre a proteggere i dati nell'archiviazione di Azure, Attestazione di Azure sfrutta anche Crittografia dischi di Azure per crittografare le macchine virtuali del servizio. Per Azure Attestation eseguita in un enclave in ambienti di calcolo confidenziale di Azure, l'estensione ADE non è attualmente supportata. In questi scenari, per evitare che i dati vengano archiviati in memoria, il file di pagina è disabilitato.

Nessun dato del cliente viene salvato in modo permanente nelle unità disco rigido locale dell'istanza di Attestazione di Azure.

Passaggi successivi