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.
Questo articolo illustra le soluzioni open source per la creazione di applicazioni che usano enclave di applicazioni. Prima di iniziare, assicurarsi di consultare la pagina concettuale delle applicazioni enclave.
Intel SGX-Compatible Tools
Azure offre un'enclave di applicazione tramite macchine virtuali confidenziali con Intel Software Guard Extensions (SGX) abilitate. Dopo aver distribuito una macchina virtuale Intel SGX, sono necessari strumenti specializzati per rendere l'applicazione "compatibile con l'enclave". In questo modo, è possibile compilare applicazioni con parti di codice attendibili e non attendibili.
Ad esempio, è possibile usare questi framework open source:
- Open Enclave (OE) Software Development Kit (SDK)
- The EGo SDK
- The Intel SGX SDK
- Confidential Consortium Framework (CCF)
- Moduli di ottimizzazione del cloud Intel® per Kubeflow
Se non vuoi scrivere nuovo codice dell'applicazione, puoi incapsulare un'applicazione containerizzata usando abilitatori di contenitori confidenziali
Open Enclave Software Development Kit (OE SDK)
Usare una libreria o un framework supportato dal provider se si vuole scrivere codice eseguito in un enclave. Open Enclave SDK (OE SDK) è un SDK open source che consente l'astrazione su vari hardware abilitati per il confidential computing.
OE SDK è progettato per essere un singolo livello di astrazione su qualsiasi hardware in qualsiasi CSP. OE SDK può essere usato sulle macchine virtuali di confidential computing di Azure per creare ed eseguire applicazioni sopra le enclave. Il repository Open Enclave viene 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 enclave. EGo si basa sull'OE SDK e include una libreria Go per enclave adatta all'attestazione e alla sigillatura. Molte applicazioni Go esistenti vengono eseguite in EGo senza modifiche.
Intel SGX Software Development Kit
Intel SGX SDK viene sviluppato e gestito dal team SGX di Intel. L'SDK è uno strumento di raccolta che consente 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. Guidato da Microsoft Research, questo framework usa la potenza degli ambienti di esecuzione attendibili (TEE) per creare una rete di enclave remoti per l'attestazione. I nodi possono essere eseguiti su macchine virtuali Intel SGX di Azure e sfruttare l'infrastruttura dell'enclave. Tramite i protocolli di attestazione, gli utenti della blockchain possono verificare l'integrità di un nodo CCF ed eseguire una verifica efficace dell'intera rete.
Nel CCF il libro mastro decentralizzato è costituito da modifiche registrate in un archivio Key-Value replicato in tutti i nodi di rete. Ognuno di questi nodi esegue un motore di transazioni che può essere attivato dagli utenti della blockchain tramite TLS. Quando si attiva un endpoint, si modifica l'archivio Key-Value. Prima che la modifica crittografata venga registrata nel libro mastro decentralizzato, deve essere concordata da più nodi per raggiungere l'accordo.
Moduli di ottimizzazione del cloud Intel® per Kubeflow
I moduli di ottimizzazione del cloud Intel® per Kubeflow offrono una pipeline Kubeflow ottimizzata di apprendimento automatico utilizzando XGBoost per prevedere la probabilità di mancata restituzione di un prestito. L'architettura di riferimento sfrutta le macchine virtuali Intel® Software Guard Extensions sicure e riservate in un cluster del servizio Azure Kubernetes. Consente anche l'uso di 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.