Partage via


Solutions open source pour générer des applications enclaves

Cet article passe en revue les solutions open source pour la génération d’applications qui utilisent des enclaves d’application. Avant de le lire, veillez à lire la page conceptuelle sur les applications enclaves.

Outils compatibles Intel SGX

Azure offre des enclaves d’application via des machines virtuelles confidentielles avec Intel SGX (Software Guard Extensions) activé. Après avoir déployé une machine virtuelle Intel SGX, vous devez disposer d’outils spécialisés pour faire en sorte que votre application reconnaisse les enclaves. De cette façon, vous pouvez générer des applications qui ont aussi bien des portions de code approuvées que non approuvées.

Par exemple, vous pouvez utiliser ces frameworks open source :

Si vous n’envisagez pas d’écrire un nouveau code d’application, vous pouvez wrapper une application conteneurisée à l’aide d’activateurs de conteneurs confidentiels

SDK Open Enclave (SDK OE)

Utilisez une bibliothèque ou un framework pris en charge par votre fournisseur si vous souhaitez écrire du code qui s’exécute dans une enclave. Le SDK Open Enclave (SDK OE) est un SDK open source qui permet de créer une couche d’abstraction sur différents matériels prenant en charge l’informatique confidentielle.

Le SDK OE est conçu pour servir de couche d’abstraction unique sur n’importe quel matériel sur n’importe quel fournisseur de solutions cloud. Le SDK OE peut être utilisé sur des machines virtuelles d’informatique confidentielle Azure pour créer et exécuter des applications sur des enclaves. La maintenance du référentiel Open Enclave est assurée par Microsoft.

Kit de développement logiciel (SDK) EGo

EGo est un kit SDK open source qui vous permet d’exécuter des applications écrites dans le langage de programmation Go à l’intérieur d’enclaves. EGo s’appuie sur le kit SDK OE, et est fourni avec une bibliothèque Go intégrée à l’enclave pour l’attestation et le scellement. De nombreuses applications Go existantes s’exécutent sur EGo sans modification.

Kit de développement logiciel (SDK) Intel SGX

Le SDK Intel SGX est développé et tenu à jour par l’équipe SGX d’Intel. Le SDK est un ensemble d’outils permettant aux développeurs de logiciels de créer et de déboguer des applications compatibles Intel SGX en C/C++.

CCF (Confidential Consortium Framework)

Le CCF (Confidential Consortium Framework) est un exemple de framework blockchain distribué. Le CCF repose sur l’informatique confidentielle Azure. Lancé par Microsoft Research, ce framework utilise la puissance des environnements d’exécution de confiance (TEE, Trusted Execution Environment) pour créer un réseau d’enclaves distantes à des fins d’attestation. Les nœuds peuvent s’exécuter sur des machines virtuelles Azure Intel SGX et tirer pleinement parti de l’infrastructure d’enclaves. Avec les protocoles d’attestation, les utilisateurs du blockchain peuvent vérifier l’intégrité d’un nœud CCF et contrôler efficacement l’ensemble du réseau.

Dans le framework CCF, le registre décentralisé stocke les modifications enregistrées dans un magasin clé-valeur qui est répliqué sur tous les nœuds du réseau. Chacun de ces nœuds exécute un moteur de transaction qui peut être déclenché par les utilisateurs du blockchain sur TLS. Quand vous déclenchez un point de terminaison, vous mutez le magasin clé-valeur. Avant que le changement chiffré soit enregistré dans le registre décentralisé, il doit être accepté par plusieurs nœuds pour parvenir à un accord.

Modules d’optimisation du cloud Intel® pour Kubeflow

Les modules d’optimisation du cloud Intel® pour Kubeflow fournissent un pipeline Kubeflow d’apprentissage automatique optimisé à l’aide de XGBoost pour prédire la probabilité d’un prêt par défaut. L’architecture de référence tire parti des machines virtuelles Intel Software Guard extensions sécurisées et confidentielles sur un cluster Azure Kubernetes Services (AKS®). Il permet également d’utiliser des optimisations Intel® pour XGBoost et Intel® daal4py afin d’accélérer l’apprentissage et l’inférence des modèles dans un pipeline machine learning complet de bout en bout.

Étapes suivantes