Partager via


Solutions open source pour construire des applications d'enclave

Cet article passe en charge des solutions open source pour la création d’applications qui utilisent des enclaves d’application. Avant de lire, veillez à lire la page conceptuelle des applications d’enclave .

Outils compatibles Intel SGX

Azure propose des enclaves d’application via des machines virtuelles confidentielles avec les extensions Intel Software Guard (SGX) activées. Après avoir déployé une machine virtuelle Intel SGX, vous aurez besoin d’outils spécialisés pour concevoir votre application afin qu'elle prenne en compte l’enclave. De cette façon, vous pouvez créer des applications qui ont des parties de code approuvées et non approuvées.

Par exemple, vous pouvez utiliser ces frameworks open source :

Si vous ne souhaitez pas écrire de nouveau code d’application, vous pouvez encapsuler une application conteneurisée à l’aide d’enablers de conteneur confidentiels

Kit de développement logiciel Open Enclave (SDK OE)

Utilisez une bibliothèque ou une infrastructure prise en charge par votre fournisseur si vous souhaitez écrire du code qui s’exécute dans une enclave. Le Kit de développement logiciel (SDK) Open Enclave (SDK OE) est un KIT SDK open source qui permet l’abstraction sur différents matériels compatibles avec l’informatique confidentielle.

Le kit de développement OE a été conçu pour servir de couche d’abstraction unifiée sur n’importe quel matériel chez n’importe quel fournisseur de services Cloud. Le Kit de développement logiciel (SDK) OE peut être utilisé sur des machines virtuelles de calcul confidentiel Azure pour créer et exécuter des applications sur des enclaves. Le référentiel Open Enclave est géré par Microsoft.

Kit de développement logiciel EGo

EGo est un 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 Intel SGX

Le Kit de développement logiciel (SDK) Intel SGX est développé et géré par l’équipe SGX d’Intel. Le SDK est un outil de collection qui permet aux développeurs de logiciels de créer et de déboguer des applications Intel SGX activées en C/C++.

CCF (Confidential Consortium Framework)

CCF (Confidential Consortium Framework) est un exemple d’infrastructure blockchain distribuée. Le CCF est basé sur l’informatique confidentielle Azure. Lancée par Microsoft Research, cette infrastructure utilise la puissance des environnements d’exécution approuvés (TEE) pour créer un réseau d’enclaves distantes pour l’attestation. Les nœuds peuvent s’exécuter sur des machines virtuelles Intel SGX Azure et tirer parti de l’infrastructure d’enclave. Grâce aux protocoles d’attestation, les utilisateurs de la blockchain peuvent vérifier l’intégrité d’un nœud CCF et vérifier efficacement l’ensemble du réseau.

Dans le CCF, le registre décentralisé est constitué de modifications enregistrées apportées à un stockage de Key-Value répliqué sur l'ensemble des nœuds du réseau. Chacun de ces nœuds exécute un moteur de transaction qui peut être déclenché par les utilisateurs de la blockchain via 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 optimisé de machine learning Kubeflow utilisant XGBoost pour prédire la probabilité de défaut de prêt. 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