Conteneurs compatibles avec les enclaves Intel SGX (spécialisé)

Important

Pour la plupart des charges de travail de conteneurs, commencez par des conteneurs confidentiels sur Azure et des pools de nœuds VM confidentiels sur AKS. Cet article s’adresse aux développeurs qui travaillent sur des scénarios spécialisés de développement compatible avec les enclaves.

Une enclave est une région de mémoire protégée qui garantit la confidentialité des données utilisées et du code exécuté. C’est une instance d’un Environnement d’Exécution de Confiance (TEE) sécurisé par du matériel. Les machines virtuelles d’informatique confidentielle sur AKS utilisent Intel Software Guard Extensions (SGX) pour créer, sur les nœuds, des environnements d’enclave isolés entre chaque application conteneurisée.

Comme les machines virtuelles Intel SGX, les applications conteneur développées pour s’exécuter dans des enclaves ont deux composants :

  • Un composant non fiable (appelé hôte) et
  • Un composant fiable (appelé l’enclave).

Architecture d’un conteneur reconnaissant les enclaves

L’architecture applicative des conteneurs conscients de l’enclave vous donne le plus de contrôle sur l’implémentation tout en maintenant une faible empreinte de code dans l’enclave. Minimiser le code qui s’exécute dans l’enclave aide à réduire la surface d’attaque.

Activateurs

Open Enclave SDK

Open Enclave SDK est une bibliothèque open source indépendante du matériel pour développer des applications en C et C++ utilisant des environnements d’exécution de confiance matériels. L’implémentation actuelle assure la prise en charge d’Intel SGX ainsi qu’une prise en charge en préversion de OP-TEE OS sur Arm TrustZone.

Commencez ici avec une application conteneur basée sur Open Enclave.

Intel SGX SDK

Intel fournit un SDK qui permet de créer des applications SGX pour les charges de travail de conteneurs Linux et Windows. Les conteneurs Windows ne sont actuellement pas pris en charge par les nœuds AKS de calcul confidentiel.

Commencez avec des applications basées sur Intel SGX ici.

CCF (Cadre de consortium confidentiel)

Le CCF (Confidential Consortium Framework) est un framework open source qui permet de créer une nouvelle catégorie d’applications sécurisées, hautement disponibles et performantes qui utilisent essentiellement des ressources informatiques et données multipartites. Le CCF peut permettre des réseaux confidentiels à grande échelle qui répondent aux exigences clés de l’entreprise. Elle permet d’accélérer la production et l’adoption par les entreprises de la blockchain basée sur des consortiums et des technologies de calcul multipartite.

Commencez avec Azure Confidential Computing et CCF ici.

Inférence confidentielle avec ONNX Runtime

L’exécution ONNX basée sur enclave open source établit un canal sécurisé entre le client et le service d’inférence. Ce canal garantit que ni la requête ni la réponse ne peuvent quitter l’enclave sécurisée.

Cette solution vous permet d’importer des modèles ML existants et déjà entraînés et de les exécuter de manière confidentielle tout en assurant la confiance entre le client et le serveur via l’attestation et les vérifications.

Démarrer ici avec le modèle Machine Learning lift-and-shift pour le Runtime ONNX.

EGo

Le SDK EGo open source apporte la prise en charge du langage de programmation Go aux enclaves. EGo s’appuie sur le Open Enclave SDK. Il a pour but de faciliter la création de microservices confidentiels. Suivez ce guide étape par étape pour déployer un service basé sur EGo sur AKS.

Exemples d’implémentation basés sur des conteneurs

Exemples Azure pour les conteneurs compatibles avec les enclaves sur AKS

Déploiement d’un cluster AKS avec des nœuds VM confidentiels Intel SGX

Azure Attestation

Machine virtuelle confidentielle Intel SGX sur AzureConteneurs confidentiels