Développement d’une enclave d’application

Avec l’informatique confidentielle Azure, vous pouvez créer des enclaves d’application pour les machines virtuelles qui exécutent Intel SGX (Software Guard Extensions). Il est important de comprendre les outils et logiciels associés avant de commencer le développement.

Remarque

Si vous n’avez pas encore lu la présentation des machines virtuelles et enclaves Intel SGX, faites-le avant de continuer.

Enclaves d’application

Les enclaves d’application sont des environnements isolés qui protègent du code et des données spécifiques. Lorsque vous créez des enclaves, vous devez déterminer quelle partie de l’application s’exécute dans l’enclave. Lorsque vous créez ou gérez des enclaves, veillez à utiliser des SDK et des frameworks compatibles pour la pile de déploiement choisie.

Vous pouvez développer et déployer des enclaves d’application à l’aide de machines virtuelles confidentielles avec Intel SGX activé.

Développement d’applications

Dans une application, il y a deux partitions générées avec des enclaves.

L’hôte est le composant « non approuvé ». Votre application enclave s’exécute sur l’hôte. L’hôte est un environnement non approuvé. Lorsque vous déployez du code d’enclave sur l’hôte, ce dernier ne peut pas accéder à ce code.

L’enclave est un composant « approuvé ». Le code de l’application ainsi que ses données en cache et sa mémoire s’exécutent dans l’enclave. L’environnement de l’enclave protège vos secrets et vos données sensibles. Faites en sorte que vos calculs sécurisés se produisent dans une enclave.

Diagram of an application, showing the host and enclave partitions. Inside the enclave are the data and application code components.

Pour utiliser la puissance des enclaves et des environnements isolés, choisissez des outils qui prennent en charge l’informatique confidentielle. Différents outils prennent en charge le développement d’applications enclaves. Par exemple, vous pouvez utiliser ces frameworks open source :

Lorsque vous concevez une application, identifiez et déterminez quelle partie du code doit s’exécuter dans des enclaves. Le code situé dans le composant approuvé est isolé du reste de votre application. Une fois l’enclave initialisée et le code chargé dans la mémoire, les composants non approuvés ne peuvent pas lire ou modifier ce code.

Étapes suivantes