Contenitori con riconoscimento dell'enclave con Intel SGX
Un'enclave è un'area di memoria protetta che assicura la riservatezza dei dati e dell'esecuzione di codice. Si tratta di un'istanza di un ambiente di esecuzione attendibile (TEE) protetto dall'hardware. Il supporto della macchina virtuale di confidential computing nel servizio Azure Kubernetes usa Intel Software Guard Extensions (SGX) per creare ambienti enclave isolati nei nodi tra ogni applicazione contenitore.
Proprio come le macchine virtuali Intel SGX, le applicazioni contenitore sviluppate per l'esecuzione in enclave hanno due componenti:
- Un componente non attendibile (l'host) e
- Un componente attendibile (l'enclave).
L'architettura delle applicazioni contenitore con riconoscimento dell'enclave offre il massimo controllo sull'implementazione mantenendo al minimo il footprint del codice nell'enclave. Ridurre al minimo il codice eseguito nell'enclave contribuisce a ridurre la superficie di attacco.
Componenti principali
Open Enclave SDK
Open Enclave SDK è una libreria open source indipendente dall'hardware per lo sviluppo di applicazioni C e C++ che usano ambienti di esecuzione attendibile (TEE). L'implementazione corrente offre il supporto per Intel SGX e il supporto in anteprima per il sistema operativo OP-TEE in ARM TrustZone.
Informazioni introduttive sulle applicazioni contenitore basate su Open Enclave sono disponibili qui
Intel SGX SDK
Intel gestisce l'SDK per la creazione di applicazioni SGX per carichi di lavoro di contenitori sia Linux che Windows. I contenitori Windows attualmente non sono supportati dai nodi di confidential computing del servizio Azure Kubernetes.
Informazioni introduttive sulle applicazioni basate su Intel SGX sono disponibili qui
CCF (Confidential Consortium Framework)
Il Confidential Consortium Framework (CCF) è un framework open source per la creazione di una nuova categoria di applicazioni sicure, a disponibilità elevata e a prestazioni elevate incentrate sui dati e sul calcolo a parti multiple. Con il framework CCF, è possibile creare reti riservate a scalabilità elevata che soddisfano i principali requisiti aziendali, fornendo un mezzo per accelerare la produzione e l'adozione della blockchain basata su consorzio e della tecnologia di calcolo multipartitico.
Informazioni introduttive sul confidential computing di Azure e sul CCF sono disponibili qui
Runtime ONNX per l'inferenza di dati riservati
Il runtime ONNX basato su enclave open source stabilisce un canale sicuro tra il client e il servizio di inferenza, assicurando che né la richiesta né la risposta possano uscire dall'enclave protetta.
Questa soluzione consente di usare un modello con training di Machine Learning esistente e di eseguirlo in modo riservato, garantendo al tempo stesso una relazione di trust tra il client e il server tramite l'attestazione e le verifiche.
Informazioni introduttive sul trasferimento in modalità lift-and-shift di modelli di Machine Learning nel runtime ONNX sono disponibili qui
EGo
L’SDK EGo open source offre supporto per il linguaggio di programmazione Go per le enclave. EGo si basa sull’SDK Open Enclave. Mira a semplificare la creazione di microservizi riservati. Seguire questa guida dettagliata per distribuire un servizio basato su EGo nel servizio Azure Kubernetes.
Implementazioni campione basate su contenitori
Esempi di Azure per i contenitori con riconoscimento dell'enclave nel servizio Azure Kubernetes
Macchina virtuale riservata Intel SGX in AzureContenitori riservati