Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio Trusted Hardware Identity Management gestisce la gestione della cache dei certificati per tutti gli ambienti di esecuzione attendibili (TEE) che risiedono in Azure. Fornisce inoltre informazioni TCB (Trusted Computing Base) per applicare una baseline minima per le soluzioni di attestazione.
Trusted Hardware Identity Management and attestation interactions (Gestione delle identità hardware attendibili e interazioni di attestazione)
Trusted Hardware Identity Management definisce il livello di sicurezza di base di Azure per i nodi di confidential computing (ACC) di Azure e archivia nella cache gli elementi collaterali dai fornitori TEE. I servizi di attestazione e i nodi acc possono usare le informazioni memorizzate nella cache per convalidare le TEE. Il diagramma seguente illustra le interazioni tra un servizio di attestazione o un nodo, Trusted Hardware Identity Management e un host enclave.
Domande frequenti
Come si usa Trusted Hardware Identity Management con processori Intel?
Per generare preventivi Intel SGX e Intel TDX, la Intel Quote Generation Library (QGL) necessita di accesso al materiale di generazione e validazione dei preventivi. Devi recuperare tutto o parte di questo materiale da Trusted Hardware Identity Management. È possibile recuperarlo usando la libreria client QPL (Intel Quote Provider Library) o la libreria client DCAP (Data Center Attestation Primitives) di Azure.
La data di "aggiornamento successivo" dell'API del servizio di memorizzazione nella cache interna di Azure usata da Attestazione di Azure sembra non aggiornata. È ancora in funzione e posso usarlo?
Il tcbinfo campo contiene le informazioni TCB. Il servizio Trusted Hardware Identity Management fornisce informazioni meno recenti tcbinfo per impostazione predefinita. Aggiornare alle ultime tcbinfo informazioni di Intel potrebbe causare fallimenti di attestazione per gli utenti che non sono ancora migrati all'ultimo SDK di Intel, e potrebbe causare interruzioni.
L'SDK di Open Enclave e attestazione di Azure non guardano la nextUpdate data e l'attestazione di passaggio.
Che cos'è la libreria DCAP di Azure?
La libreria DCAP (Data Center Attestation Primitives) di Azure, una sostituzione di Intel Quote Provider Library (QPL), recupera il materiale collaterale e la convalida delle virgolette direttamente dal servizio Gestione delle identità di hardware attendibile. Recuperare materiale collaterale direttamente dal servizio di Trusted Hardware Identity Management garantisce che tutti gli host Azure abbiano materiale collaterale facilmente disponibile all'interno di Azure per ridurre le dipendenze esterne. Usa l'ultima versione disponibile per il tuo sistema operativo di destinazione.
Dove è possibile scaricare la libreria DCAP di Azure più recente?
Usare i collegamenti seguenti per scaricare i pacchetti:
Per le versioni più recenti di Ubuntu (ad esempio, Ubuntu 24.04), devi usare l'Intel QPL.
Perché la Gestione dell'identità dell'hardware attendibile e Intel hanno basi di riferimento diverse?
Trusted Hardware Identity Management e Intel forniscono diversi livelli di base della base di elaborazione attendibile. Quando assumi che Intel abbia le ultime baseline, assicurati che tutti i requisiti siano soddisfatti. Questo approccio può causare una rottura se non hai aggiornato ai requisiti specificati.
Trusted Hardware Identity Management adotta un approccio più lento nell'aggiornare la base TCB, così puoi apportare le modifiche necessarie al tuo ritmo. Sebbene questo approccio fornisca una base TCB più vecchia, non si riscontra una rottura se non si soddisfano i requisiti della nuova base TCB. Per questo motivo, la linea base TCB della Trusted Hardware Identity Management è una versione diversa da quella di Intel. Questo approccio ti aiuta a soddisfare i requisiti della nuova base TCB al tuo ritmo, invece di forzare un aggiornamento e causare interruzioni che richiederebbero una riprioritizzazione dei flussi di lavoro.
Con i processori Intel Xeon E, potrei ottenere i miei certificati direttamente dal PCS Intel. Perché, con processori Scalabili Intel Xeon a partire dalla 4a generazione, è necessario ottenere i certificati da Trusted Hardware Identity Management? E come è possibile recuperare tali certificati?
A partire dalla 4ª generazione di processori scalabili Intel® Xeon®, Azure effettua la registrazione indiretta presso il Servizio di Registrazione Intel utilizzando il Platform Manifest e memorizza il certificato PCK risultante nel servizio Trusted Hardware Identity Management (THIM).
Azure utilizza la registrazione indiretta, perché il servizio di registrazione di Intel non memorizza le chiavi radice per una piattaforma in questo caso e questa condizione si riflette nel falseCachedKeys flag nei certificati PCK.
Poiché Azure utilizza la registrazione indiretta, tutte le comunicazioni successive con i PC Intel richiedono il Platform Manifest, che Azure non fornisce alle macchine virtuali (VM).
Invece, le VM devono contattare THIM per ricevere i certificati PCK.
Per recuperare un certificato PCK, è possibile usare intel QPL o la libreria DCAP di Azure.
Come posso usare Intel QPL con Trusted Hardware Identity Management?
Potresti voler la flessibilità di usare Intel QPL per interagire con Trusted Hardware Identity Management senza scaricare un'altra dipendenza da Microsoft, come la libreria client Azure DCAP. Per utilizzare Intel QPL con il servizio Trusted Hardware Identity Management, regola il file di configurazione Intel QPL, sgx_default_qcnl.conf.
Il materiale di generazione e verifica dei preventivi utilizzato per generare i preventivi Intel SGX o Intel TDX può essere suddiviso in:
- Certificato PCK. Per recuperarlo, devi utilizzare un endpoint di Trusted Hardware Identity Management.
- Tutto l'altro materiale di supporto per la generazione e la verifica dei preventivi. Per recuperarlo, puoi utilizzare un endpoint Trusted Hardware Identity Management o un endpoint Intel Provisioning Certification Service (PCS).
Il file di configurazione Intel QPL (sgx_default_qcnl.conf) contiene tre chiavi per definire gli endpoint collaterali. La pccs_url chiave definisce l'endpoint usato per recuperare i certificati PCK. La chiave collateral_service può definire l'endpoint utilizzato per recuperare tutti gli altri materiali per la generazione e la verifica delle quote. Se non definisci la chiave collateral_service, tutto il materiale di supporto per la verifica del preventivo viene recuperato dall'endpoint definito dalla chiave pccs_url.
La tabella seguente mostra come configurare queste chiavi.
| Nome | Possibili punti finali |
|---|---|
pccs_url |
Endpoint di Gestione delle identità di hardware attendibile: https://global.acccache.azure.net/sgx/certification/v3. |
collateral_service |
Endpoint di Gestione delle identità di hardware attendibile (https://global.acccache.azure.net/sgx/certification/v3) o endpoint Intel PCS. Il file sgx_default_qcnl.conf elenca sempre l'endpoint più aggiornato nella collateral_service chiave. |
Il frammento di codice seguente proviene da un esempio di file di configurazione Intel QPL:
{
"pccs_url": "https://global.acccache.azure.net/sgx/certification/v3/",
"use_secure_cert": true,
"collateral_service": "https://global.acccache.azure.net/sgx/certification/v3/",
"pccs_api_version": "3.1",
"retry_times": 6,
"retry_delay": 5,
"local_pck_url": "http://169.254.169.254/metadata/THIM/sgx/certification/v3/",
"pck_cache_expire_hours": 24,
"verify_collateral_cache_expire_hours": 24,
"custom_request_options": {
"get_cert": {
"headers": {
"metadata": "true"
},
"params": {
"api-version": "2021-07-22-preview"
}
}
}
}
Le procedure seguenti illustrano come modificare il file di configurazione intel QPL e attivare le modifiche.
In Windows
Apportare modifiche al file di configurazione.
Assicurati che vi siano autorizzazioni di lettura per il file nella seguente posizione del registro di sistema e nella coppia chiave/valore seguente:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intel\SGX\QCNL] "CONFIG_FILE"="<Full File Path>"Riavviare il servizio AESMD. Ad esempio, apri PowerShell come amministratore e usa i seguenti comandi:
Restart-Service -Name "AESMService" -ErrorAction Stop Get-Service -Name "AESMService"
In Linux
Apportare modifiche al file di configurazione. Ad esempio, usa Vim eseguendo il seguente comando:
sudo vim /etc/sgx_default_qcnl.confRiavviare il servizio AESMD. Aprire qualsiasi terminale ed eseguire i comandi seguenti:
sudo systemctl restart aesmd systemctl status aesmd
Come è possibile richiedere materiale collaterale in una macchina virtuale riservata?
Usare l'esempio seguente in una macchina virtuale confidenziale (CVM) guest per richiedere la documentazione AMD che include il certificato VCEK e la catena di certificati. Per informazioni dettagliate su questo materiale collaterale e sulla sua provenienza, vedere Certificato VCEK (Versioned Chip Endorsement Key) e specifica dell'interfaccia KDS.
Parametri URI
GET "http://169.254.169.254/metadata/THIM/amd/certification"
Corpo della richiesta
| Nome | Tipo | Descrizione |
|---|---|---|
Metadata |
Boolean | Impostare su True per restituire la garanzia. |
Esempio di richiesta
curl GET "http://169.254.169.254/metadata/THIM/amd/certification" -H "Metadata: true"
Risposte
| Nome | Descrizione |
|---|---|
200 OK |
Elenca gli elementi collaterali disponibili nel corpo HTTP nel formato JSON |
Other status codes |
Descrive il motivo per cui l'operazione non è riuscita |
Definizioni
| Chiave | Descrizione |
|---|---|
VcekCert |
Certificato X.509v3 come definito in RFC 5280 |
tcbm |
Base di elaborazione attendibile |
certificateChain |
Certificati AMD SEV Key (ASK) e AMD Root Key (ARK) |
Come posso richiedere il materiale collaterale AMD in un contenitore del servizio Azure Kubernetes su un nodo CVM?
Seguire questa procedura per richiedere il materiale collaterale AMD in un contenitore riservato:
Per iniziare, creare un cluster del Servizio Azure Kubernetes su un nodo CVM o aggiungere un pool di nodi CVM a un cluster esistente:
Creare un cluster AKS su un nodo CVM.
Creare un gruppo di risorse in una delle aree supportate da CVM:
az group create --resource-group <resource-group> --location <location>Creare un cluster AKS con un nodo CVM nel gruppo di risorse:
az aks create --name <aks-cluster-name> --resource-group <resource-group> -l <location> --node-vm-size Standard_DC4as_v5 --nodepool-name <pool-name> --node-count 1Configurare kubectl per connettersi al cluster:
az aks get-credentials --resource-group <resource-group> --name <aks-cluster-name>
Aggiungere un pool di nodi CVM a un cluster AKS esistente:
az aks nodepool add --cluster-name <aks-cluster-name> --resource-group <resource-group> --name <pool-name> --node-vm-size Standard_DC4as_v5 --node-count 1
Verificare la connessione al cluster usando il
kubectl getcomando . Questo comando restituisce un elenco dei nodi del cluster.kubectl get nodesL'esempio di output seguente mostra il singolo nodo creato nei passaggi precedenti. Verifica che lo stato del nodo sia
Ready.NOME STATO RUOLI ETÀ VERSIONE aks-nodepool1-31718369-0 Pronto agente 6m44s v1.12.8 Creare un file curl.yaml con il contenuto seguente. Definisce un processo che esegue un contenitore curl per recuperare il materiale collaterale AMD dall'endpoint Gestione delle identità di hardware affidabile. Per altre informazioni sui processi Kubernetes, vedere la documentazione di Kubernetes.
apiVersion: batch/v1 kind: Job metadata: name: curl spec: template: metadata: labels: app: curl spec: nodeSelector: kubernetes.azure.com/security-type: ConfidentialVM containers: - name: curlcontainer image: alpine/curl:3.14 imagePullPolicy: IfNotPresent args: ["-H", "Metadata:true", "http://169.254.169.254/metadata/THIM/amd/certification"] restartPolicy: "Never"Il file curl.yaml contiene gli argomenti seguenti.
Nome Tipo Descrizione MetadataBoolean Impostare su Trueper restituire la garanzia.Eseguire il processo applicando il file curl.yaml :
kubectl apply -f curl.yamlControllare e attendere che il pod completi il processo:
kubectl get podsDi seguito è riportata una risposta di esempio:
Nome Pronto Stato Riavvii Età Curl-w7nt8 0/1 Completato 0 72 secondi Esegui il seguente comando per ottenere i log del lavoro e confermare che funziona. Un output riuscito deve includere
vcekCert,tcbmecertificateChain.kubectl logs job/curl
Passaggi successivi
- Altre informazioni sulla documentazione di attestazione di Azure.
- Informazioni sul confidential computing di Azure.