Soluzioni open source per la compilazione di applicazioni enclave
Questo articolo illustra le soluzioni open source per la creazione di applicazioni che usano enclavi di applicazioni. Prima di proseguire con la lettura, assicurarsi di leggere la pagina con informazioni concettuali sulle applicazioni enclave.
Strumenti compatibili con Intel SGX
Azure offre enclavi di applicazioni tramite macchine virtuali riservate con le estensioni Intel Software Guard Extensions (SGX) abilitate. Dopo aver distribuito una macchina virtuale Intel SGX, sono necessari strumenti specifici per fare in modo che l'applicazione riconosca l'enclave. In questo modo, è possibile creare applicazioni con parti di codice sia attendibili che non attendibili.
È ad esempio possibile usare questi framework open source:
- Open Enclave (OE) SDK (Software Development Kit)
- EGo SDK
- Intel SGX SDK
- CCF (Confidential Consortium Framework)
- Moduli di ottimizzazione del cloud Intel® per Kubeflow
Se non si intende scrivere nuovo codice per l'applicazione, è possibile eseguire il wrapping di un'applicazione in contenitori usando gli abilitatori di contenitori riservati
Open Enclave Software Development Kit (OE SDK)
Se si vuole scrivere codice da eseguire in un'enclave, usare una libreria o un framework supportato dal provider. Open Enclave SDK è un SDK open source che consente l'astrazione per diversi componenti hardware abilitati per il confidential computing.
Open Enclave SDK è progettato come singolo livello di astrazione per qualsiasi componente hardware e per qualsiasi CSP. Open Enclave SDK può essere usato nelle macchine virtuali di confidential computing di Azure per creare ed eseguire applicazioni sulle enclavi. Il repository Open Enclave è gestito da Microsoft.
EGo Software Development Kit
EGo è un SDK open source che consente di eseguire applicazioni scritte nel linguaggio di programmazione Go all'interno di enclavi. EGo si basa su OE SDK e include una libreria Go all'interno dell'enclave per l'attestazione e il sealing. Molte applicazioni Go esistenti vengono eseguite in EGo senza modifiche.
Intel SGX Software Development Kit
Intel SGX SDK è sviluppato e gestito dal team SGX di Intel. L'SDK è una raccolta di strumenti che consentono agli sviluppatori di software di creare ed eseguire il debug di applicazioni abilitate per Intel SGX in C/C++.
Confidential Consortium Framework (CCF)
Confidential Consortium Framework (CCF) è un esempio di framework blockchain distribuito. Il CCF si basa sul confidential computing di Azure. Questo framework, guidato da Microsoft Research, sfrutta la potenza degli ambienti di esecuzione attendibile (TEE) per creare una rete di enclavi remote per l'attestazione. I nodi possono essere eseguiti su macchine virtuali Intel SGX di Azure e sfruttare l'infrastruttura delle enclavi. Tramite i protocolli di attestazione, gli utenti della blockchain possono verificare l'integrità di un singolo nodo CCF ed effettuare una verifica effettiva dell'intera rete.
In CCF, il libro mastro decentralizzato è costituito da modifiche registrate a un archivio chiave-valore che viene replicato in tutti i nodi di rete. Ognuno di questi nodi esegue un motore di transazione che può essere attivato dagli utenti della blockchain tramite TLS. Quando si attiva un endpoint, l'archivio chiave-valore viene modificato. Prima che la modifica crittografata venga registrata nel ledger decentralizzato, è necessario ottenere il consenso di più di un nodo.
Moduli di ottimizzazione del cloud Intel® per Kubeflow
I moduli di ottimizzazione del cloud Intel® per Kubeflow forniscono una pipeline Kubeflow di Machine Learning ottimizzata con XGBoost per prevedere la probabilità di un'inadempienza per un prestito. L'architettura di riferimento sfrutta le macchine virtuali Intel SGX (Intel® Software Guard Extensions) sicure e riservate in un cluster del servizio Azure Kubernetes. Consente inoltre di usare le ottimizzazioni Intel® per XGBoost e Intel® daal4py per accelerare il training e l'inferenza dei modelli in una pipeline di Machine Learning end-to-end completa.