Prise en charge de l’enclave d’application avec des nœuds d’informatique confidentielle basés sur Intel SGX sur Azure Kubernetes Service

L’informatique confidentielle Azure vous permet de protéger vos données sensibles pendant leur utilisation. Les enclaves basées sur Intel SGX permettent d’exécuter l’application empaquetée en tant que conteneur dans AKS. Les conteneurs exécutés dans un environnement d’exécution de confiance (TEE, Trusted Execution Environment) qui les isolent des autres conteneurs, le noyau de nœud dans un environnement bénéficiant d’une protection matérielle et pouvant être attesté, et dont l’intégrité est protégée.

Vue d’ensemble

Azure Kubernetes Service (AKS) prend en charge l’ajout de nœuds de machine virtuelle d’informatique confidentielle Intel SGX en tant que pools d’agents dans un cluster. Ces nœuds vous permettent d’exécuter des charges de travail sensibles au sein d’un environnement d’exécution de confiance (TEE) matériel. Les environnements TEE permettent au code au niveau utilisateur des conteneurs d’allouer des régions de mémoire privées pour exécuter directement le code avec le processeur. Ces régions de mémoire privées qui s’exécutent directement avec le processeur sont appelées enclaves. Les enclaves aident à protéger la confidentialité des données ainsi que l’intégrité des données et du code contre les autres processus en cours d’exécution sur les mêmes nœuds, de même que l’opérateur Azure. De plus, le modèle d’exécution Intel SGX supprime les couches intermédiaires du système d’exploitation invité, du système d’exploitation hôte et de l’hyperviseur, réduisant ainsi la surface d’exposition aux attaques. Le modèle d’exécution isolée par conteneur basée sur le matériel dans un nœud permet aux applications de s’exécuter directement avec le processeur, tout en conservant le bloc spécial de mémoire chiffré par conteneur. Les nœuds d’informatique confidentielle avec des conteneurs confidentiels sont un excellent ajout à votre stratégie de conteneur avec défense en profondeur et de planification d’une sécurité Confiance Zéro.

Graphique du nœud de calcul confidentiel AKS avec des conteneurs confidentiels comprenant du code et des données sécurisés.

Fonctionnalité des nœuds d’informatique confidentielle Intel SGX

  • Isolement des conteneurs au niveau des processus, basée sur le matériel, par le biais de l’environnement TEE Intel SGX
  • Clusters de pools de nœuds hétérogènes (combinaison de pools de nœuds confidentiels et non confidentiels)
  • Planification de pods basés sur la mémoire EPC (Encrypted Page Cache) par le module complémentaire AKS « confcom »
  • Dépendance de noyau et préinstallée du pilote Intel SGX DCAP
  • Mise à l’échelle automatique des clusters et mise à l’échelle automatique des pods horizontaux en fonction de la consommation processeur
  • Prise en charge des conteneurs Linux par le biais de nœuds Worker sur les machines virtuelles Ubuntu 18.04 de deuxième génération

Module complémentaire d’informatique confidentielle pour AKS

La fonctionnalité de module complémentaire active des fonctionnalités supplémentaires sur AKS lors de l’exécution de pools de nœuds d’informatique confidentielle équipés d’Intel SGX sur le cluster. Le module complémentaire « confcom » d’AKS donne accès aux fonctionnalités suivantes.

Plug-in d’appareil Azure pour Intel SGX

Le plug-in d’appareil implémente l’interface de plug-in d’appareil Kubernetes pour la mémoire EPC et expose les pilotes d’appareil à partir des nœuds. Concrètement, ce plug-in fait de la mémoire EPC un autre type de ressource dans Kubernetes. Les utilisateurs peuvent spécifier des limites sur cette ressource de la même façon que sur les autres ressources. En plus de la fonction de planification, le plug-in d’appareil facilite l’attribution d’autorisations de pilote d’appareil Intel SGX aux déploiements de conteneurs confidentiels. Avec ce plug-in, un développeur n’a pas besoin de monter les volumes de pilote Intel SGX dans les fichiers de déploiement. Ce module complémentaire s’exécute sur les clusters AKS en tant que nœud daemonset par nœud de machine virtuelle équipé d’Intel SGX. Un exemple d’implémentation d’un déploiement basé sur la mémoire EPC (kubernetes.azure.com/sgx_epc_mem_in_MiB) est disponible ici

Intel SGX Quote Helper avec composants logiciels de plateforme

Dans le cadre du plug-in, un autre daemonset est déployé par nœud de machine virtuelle équipé d’Intel SGX sur le cluster AKS. Ce daemonset aide vos applications de conteneurs confidentiels quand une demande d’attestation hors processus distante est appelée.

Les applications d’enclave qui effectuent une attestation à distance doivent générer une Quote. La Quote fournit une preuve chiffrée de l’identité et de l’état de l’application, ainsi que de l’environnement hôte de l’enclave. La génération de Quote repose sur certains composants logiciels approuvés d’Intel, qui font partie des composants logiciels de la plateforme SGX (PSW/DCAP). Ce PSW est inclus sous la forme d’un ensemble de démons (un DaemonSet) qui s’exécute sur chaque nœud. Vous pouvez utiliser le PSW lors de la demande de Quote d’attestation à partir d’applications d’enclave. Le service fourni par AKS permet de mieux assurer la compatibilité entre les composants logiciels de plateforme et les autres composants logiciels de l’hôte avec les pilotes Intel SGX qui font partie des nœuds de machine virtuelle AKS. Pour plus d’informations sur la façon dont vos applications peuvent utiliser ce daemonset sans avoir à empaqueter les primitives d’attestation dans le cadre de vos déploiements de conteneurs, cliquez ici.

Modèles de programmation

Conteneurs confidentiels via des partenaires et OSS

Les conteneurs confidentiels vous permettent d’exécuter les applications conteneur non modifiées existantes de la plupart des runtimes des langages de programmation les plus courants (Python, Node, Java, etc.) de manière confidentielle. Ce modèle d’empaquetage n’a pas besoin de modifications ou de recompilations de code source et est la méthode la plus rapide à exécuter dans une enclave Intel SGX obtenue en empaquetant vos conteneurs Docker standard avec Open-Source Projects ou Azure Partner Solutions. Dans ce modèle d’empaquetage et d’exécution, toutes les parties de l’application conteneur sont chargées dans la limite de confiance (enclave). Ce modèle fonctionne bien pour les applications conteneur prêtes à l’emploi disponibles sur le marché ou pour les applications personnalisées qui s’exécutent sur des nœuds à usage général. En savoir plus sur le processus de préparation et de déploiement ici

Conteneurs reconnaissant les enclaves

Les nœuds d’informatique confidentielle sur AKS prennent également en charge les conteneurs qui sont programmés pour s’exécuter dans une enclave afin d’utiliser un jeu d’instructions spécial disponible à partir du processeur. Ce modèle de programmation permet un contrôle plus étroit de votre flux d’exécution et nécessite l’utilisation de kits SDK et de frameworks spéciaux. Ce modèle de programmation offre un contrôle maximal du flux d’application avec une base TCB (Trusted Computing Base) réduite. Le développement de conteneurs prenant en charge les enclaves implique des parties approuvées et non approuvées dans l’application conteneur, ce qui vous permet de gérer la mémoire normale et la mémoire EPC dans laquelle l’enclave est exécutée. Découvrez-en plus sur les conteneurs reconnaissant les enclaves.

Forum Aux Questions (FAQ)

Trouvez des réponses à certaines des questions fréquentes sur la prise en charge du pool de nœuds AKS (Azure Kubernetes Service) pour les nœuds d’informatique confidentielle basés sur Intel SGX ici

Étapes suivantes

Déployer un cluster AKS avec des nœuds d’informatique confidentielle

Démarrer rapidement avec des exemples de conteneurs confidentiels

Machines virtuelles confidentielles Intel SGX – Liste des références SKU DCsv2

Machines virtuelles confidentielles Intel SGX – Liste des références SKU DCsv3

Session de webinaire sur la défense en profondeur avec des conteneurs confidentiels