Supporto per enclavi applicative con nodi di confidential computing basati su Intel SGX su servizio Azure Kubernetes (specializzati)

Important

Per la maggior parte delle implementazioni del servizio Azure Kubernetes, usare i pool di nodi di VM riservate del servizio Azure Kubernetes. Questo articolo tratta scenari specializzati di nodi basati su enclave Intel SGX.

Azure Confidential Computing ti aiuta a proteggere i tuoi dati sensibili mentre sono in uso. Gli enclave basati su Intel SGX consentono l'esecuzione di applicazioni confezionate come container all'interno di AKS. I container funzionano all'interno di un Trusted Execution Environment (TEE), che porta isolamento dagli altri container e dal kernel del nodo in un ambiente protetto a livello hardware, a integrità protetta e attestabile.

Panoramica

Il servizio Azure Kubernetes supporta l'aggiunta di nodi di macchine virtuali di confidential computing Intel SGX come pool di agenti in un cluster. Questi nodi consentono di eseguire carichi di lavoro sensibili all'interno di un ambiente TEE basato su hardware. I TEE consentono al codice a livello di utente dai contenitori di allocare aree private di memoria per eseguire il codice direttamente sulla CPU. Queste aree di memoria private che vengono eseguite direttamente dalla CPU sono denominate enclavi. Le enclave consentono di proteggere la riservatezza dei dati, l'integrità dei dati e l'integrità del codice da altri processi in esecuzione sugli stessi nodi, nonché dagli operatori di Azure. Il modello di esecuzione Intel SGX rimuove anche i livelli intermedi del sistema operativo guest, del sistema operativo host e dell'hypervisor riducendo così la superficie di attacco. Il modello di esecuzione isolata per contenitore basata su hardware in un nodo consente l'esecuzione diretta delle applicazioni con la CPU, mantenendo al tempo stesso il blocco di memoria speciale crittografato per ogni contenitore. I nodi di confidential computing con confidential containers rappresentano un’eccellente integrazione per la strategia Zero-Trust, la pianificazione della sicurezza e la difesa avanzata dei contenitori.

Grafica del nodo di calcolo confidenziale di AKS, che mostra i contenitori confidenziali con codice e dati protetti all'interno.

Funzionalità dei nodi di confidential computing Intel SGX

  • Isolamento hardware a livello di processo tramite Intel SGX trusted execution environment (TEE)
  • Cluster di pool di nodi eterogenei (una combinazione di pool di nodi di confidential computing e non)
  • Pianificazione in memoria basata su Encrypted Page Cache (EPC) tramite l'add-on AKS "confcom"
  • Driver DCAP Intel SGX preinstallato e dipendenza kernel installata
  • Scalabilità automatica orizzontale dei pod e scalabilità automatica dei cluster in base all'utilizzo della CPU
  • Supporto dei contenitori Linux tramite i nodi di lavoro di VM Ubuntu 18.04 Gen 2

Componente aggiuntivo di Confidential Computing per AKS

La funzionalità aggiuntiva consente una capacità aggiuntiva sul servizio Azure Kubernetes quando si eseguono pool di nodi compatibili con Intel SGX per il confidential computing nel cluster. L'add-on confcom su AKS abilita le seguenti funzionalità.

Plug-in del dispositivo di Azure per Intel SGX

Il plug-in del dispositivo implementa l'interfaccia del plug-in del dispositivo Kubernetes per la memoria EPC (Encrypted Page Cache) ed espone i driver di dispositivo dai nodi. Di fatto, questo plugin rende la memoria EPC un altro tipo di risorsa in Kubernetes. Gli utenti possono specificare limiti su questa risorsa proprio come per altre risorse. Oltre alla funzione di pianificazione, il plug-in del dispositivo consente di assegnare le autorizzazioni del driver del dispositivo Intel SGX alle distribuzioni di container confidenziali. Utilizzando questo plugin, gli sviluppatori possono evitare di montare i volumi driver Intel SGX nei file di distribuzione. Questo add-on sui cluster AKS funziona come un set di daemon per ogni nodo VM compatibile con Intel SGX. Un'implementazione di esempio della distribuzione basata sulla memoria EPC () è kubernetes.azure.com/sgx_epc_mem_in_MiB.

Intel SGX Quote Helper con componenti software della piattaforma

Come parte del plugin, un altro set di daemon viene implementato per ogni nodo VM compatibile con Intel SGX sul cluster AKS. Questo DaemonSet aiuta le tue app di contenitori riservati quando viene invocata una richiesta di attestazione remota out-of-proc.

Le applicazioni dell'enclave che eseguono l'attestazione remota devono generare una Quote. La Quote fornisce la prova crittografica dell'identità e dello stato dell'applicazione, insieme all'ambiente host dell'enclave. La generazione di Quote si basa su alcuni componenti software attendibili di Intel, che fanno parte dei componenti software della piattaforma SGX (PSW/DCAP). Questo PSW viene fornito come DaemonSet che viene eseguito per nodo. È possibile utilizzare il PSW quando si richiede una quota di attestazione da parte di app enclave. L'utilizzo del servizio fornito da AKS aiuta a mantenere meglio la compatibilità tra il PSW e altri componenti software dell'host con driver Intel SGX che fanno parte dei nodi VM AKS. Leggi di più su come le tue app possono utilizzare questo daemonset senza dover impacchettare le primitive di attestazione come parte delle implementazioni dei tuoi container qui.

Modelli di programmazione

Contenitori riservati tramite partner e OSS

I contenitori riservati aiutano a eseguire applicazioni contenitore esistenti e non modificate nei runtime dei più comuni linguaggi di programmazione (Python, Node, Java e altri) in modo riservato. Questo modello di packaging non necessita di alcuna modifica o ricompilazione del codice sorgente ed è il metodo più veloce per l'esecuzione negli enclave Intel SGX impacchettando i tuoi container Docker standard con progetti open-source o soluzioni partner Azure. In questo modello di pacchettizzazione ed esecuzione, tutte le parti dell'applicazione container vengono caricate nel perimetro attendibile (enclave). Questo modello è adatto ad applicazioni contenitore standard disponibili sul mercato o app personalizzate attualmente in esecuzione su nodi generici. Scopri di più sul processo di preparazione e distribuzione qui.

Contenitori con riconoscimento dell'enclave

I nodi di confidential computing sul servizio Azure Kubernetes supportano anche contenitori programmati per funzionare in un'enclave per utilizzare il set speciale di istruzioni disponibile dalla CPU. Questo modello di programmazione consente un controllo più stretto del flusso di esecuzione e richiede SDK e framework speciali. Fornisce il maggior controllo del flusso applicativo con la base di calcolo attendibile (TCB) più bassa. Lo sviluppo di container consapevole dell'enclave coinvolge parti non affidabili e fidate dell'applicazione container, che permettono di gestire la memoria regolare e la memoria Encrypted Page Cache (EPC) dove viene eseguita l'enclave. Leggi di più sui container enclave-aware.

Domande frequenti

Trova le risposte ad alcune delle domande comuni sul supporto dei pool di nodi di Servizio Azure Kubernetes (AKS) per i nodi di confidential computing basati su Intel SGX qui

Passaggi successivi

Distribuire pool di nodi di macchine virtuali riservate nel servizio Azure Kubernetes

Distribuire un cluster del servizio Azure Kubernetes con nodi di confidential computing

Esempi di contenitori riservati

Per il nuovo repository consolidato, vedi Azure Confidential computing code samples.

Macchine virtuali riservate Intel SGX - Elenco SKU DCsv2

Macchine virtuali riservate Intel SGX - Elenco SKU DCsv3

Sessione webinar sulla difesa in profondità con confidential containers