Présentation
L'informatique confidentielle protège les données en créant des environnements de charge de travail isolés qui fonctionnent indépendamment du système hôte. Cette isolation empêche les logiciels ou les administrateurs système privilégiés d'accéder aux données hébergées dans une enclave sécurisée. L'informatique confidentielle comble une faille de sécurité majeure en protégeant les données pendant leur utilisation.
La sécurisation des données pendant leur utilisation est primordiale, car même les contrôles de sécurité les plus rigoureux peuvent être compromis par des menaces internes. Par exemple, si le chiffrement est mis en place pour protéger les données au repos, il faut utiliser des clés de déchiffrement qui doivent être chargées dans la mémoire lorsque le système a besoin d'accéder à ces données. Ces clés se retrouvent alors exposées à toute personne ayant accès à la mémoire physique ou virtuelle. L'informatique confidentielle corrige cette vulnérabilité. Elle permet également de sécuriser les environnements d'infrastructure multi-clients et partagés, ainsi que d'éviter les fuites d'informations sensibles lorsqu'une entreprise doit partager des ensembles de données avec un partenaire.
L'informatique confidentielle repose sur des environnements d'exécution de confiance ou TEE (Trusted Execution Environnements), c'est-à-dire des enclaves sécurisées dans lesquelles le code est protégé de l'hôte pendant son exécution. Les TEE empêchent les accès ou changements non autorisés des applications et des données, même en cours d'utilisation. Ils contribuent à préserver la confidentialité et l'intégrité des données lors de leur exécution dans un environnement cloud. Le Confidential Computing Consortium (CCC) définit un TEE comme « un environnement qui contribue à assurer la confidentialité, l'intégrité des données et l'intégrité du code ». L'ensemble repose sur une racine matérielle de confiance.
Fonctionnement de l'informatique confidentielle
Au niveau matériel, la mémoire est physiquement partitionnée, ce qui permet d'exécuter une application dans sa propre enclave (le TEE). Celle-ci fonctionne comme une boîte noire qui contient une clé de chiffrement à laquelle seul le programme autorisé peut accéder. En d'autres termes, le TEE permet au programme autorisé de déchiffrer les informations utilisées dans le TEE pour qu'il exécute ses processus, sans distribuer la clé à d'autres parties. Ainsi, les informations sensibles sont protégées contre les menaces internes, contre les acteurs malveillants et contre les partenaires qui n'ont pas besoin d'y accéder.
Voici les points clés de l'informatique confidentielle :
- Protection contre les menaces internes : les données et les codes sensibles sont protégés contre les utilisateurs privilégiés, tels que les fournisseurs de services cloud et les administrateurs d'infrastructures, qui pourraient avoir accès au matériel ou aux logiciels sous-jacents. Même si l'infrastructure sous-jacente est compromise, les données contenues dans le TEE restent donc protégées.
- Isolation au niveau matériel : la confidentialité est assurée au niveau du matériel, souvent grâce au chiffrement de la mémoire et de l'état des processeurs, afin de créer des TEE solides.
- Attestation à distance : une attestation à distance permet à un vérificateur de confirmer par le biais du chiffrement qu'un système distant exécute un logiciel fiable dans un TEE matériel sécurisé avant de lui envoyer des données sensibles à traiter.
- Machines virtuelles confidentielles : de nombreuses solutions d'informatique confidentielle utilisent des machines virtuelles confidentielles. Celles-ci s'exécutent dans un TEE et forment une base sécurisée pour le déploiement des charges de travail confidentielles. Elles bloquent l'accès aux entités non autorisées, qui ne peuvent pas voir ce qui se passe à l'intérieur.
Renforcer le niveau de sécurité et de conformité
Comparaison avec d'autres approches d'amélioration de la confidentialité
Les approches traditionnelles en matière de confidentialité des données impliquent souvent de se fier à l'ensemble de la pile d'infrastructure et du système d'exploitation hôte du fournisseur cloud. De son côté, l'informatique confidentielle crée des environnements de charge de travail isolés qui fonctionnent indépendamment du système hôte. Si les approches de sécurité conventionnelles peuvent intégrer des vérifications de l'intégrité, l'informatique confidentielle intervient en amont avec l'attestation pour autoriser le traitement des données sensibles uniquement dans des conditions et des environnements d'exécution vérifiés.
L'informatique confidentielle comble une lacune dans les méthodes traditionnelles de chiffrement des données et les protège lorsqu'elles sont dans leur état le plus vulnérable, c'est-à-dire pendant leur utilisation. Contrairement aux méthodes de confidentialité basées sur des logiciels, les TEE offrent une isolation matérielle qui empêche les logiciels ou les administrateurs système privilégiés d'accéder aux données au sein de l'enclave sécurisée.
Avantages et défis
L'informatique confidentielle offre plusieurs avantages, notamment le renforcement de la sécurité des données, la confidentialité pendant l'exécution et le traitement sécurisé des informations sensibles. Cette approche améliore l'intégrité des données et du code, en particulier grâce aux fonctionnalités des TEE, telles que le chiffrement des données en cours d'utilisation et la protection lors de l'exécution. Elle aide également les entreprises à se conformer aux réglementations, à respecter les règles strictes en matière de confidentialité des données et à garantir le chiffrement pour les utilisateurs finaux. En instaurant une coopération plus sûre entre les entreprises, l'informatique confidentielle peut les aider à conserver un avantage concurrentiel et à rationaliser la migration vers le cloud.
La mise en œuvre de l'informatique confidentielle peut également poser des défis et entraîner une dégradation des performances ainsi qu'une augmentation du volume des communications. Elle peut aussi causer des problèmes de compatibilité, en particulier dans les environnements hybrides dans lesquels l'utilisation de matériel spécialisé ou la refonte des applications risquent d'aggraver la complexité. L'informatique confidentielle est susceptible de freiner l'évolutivité et d'introduire de nouvelles vulnérabilités dans les environnements multicloud où plusieurs parties nécessitant un accès root peuvent compromettre la sécurité des enclaves.
L'informatique confidentielle devrait être de plus en plus adoptée pour renforcer la confidentialité et la sécurité des données, d'autant que les progrès en matière d'IA et de cloud computing créent un besoin constant d'outils de confidentialité dans les services de cloud public. Au vu de l'évolution des directives et normes du secteur (sous l'influence du CCC et des conclusions de l'Everest Group), en particulier en matière de sécurité des entrées/sorties et de mécanismes d'attestation, l'informatique confidentielle promet de devenir indispensable à toute infrastructure cloud.
Cas d'utilisation
L'informatique confidentielle permet de relever plusieurs défis majeurs et de prendre en charge des cas d'utilisation clés en matière de sécurité :
Éviter les menaces internes
L'informatique confidentielle contribue à protéger les données et les codes sensibles contre les utilisateurs privilégiés ou les systèmes hôtes qui pourraient avoir accès à l'infrastructure matérielle ou logicielle sous-jacente de l'entreprise, notamment les fournisseurs cloud, les administrateurs d'infrastructures ou même les administrateurs de clusters.
Respecter les exigences réglementaires et de conformité
L'informatique confidentielle aide les entreprises des secteurs hautement réglementés (santé, service public, finance, assurances, etc.) à respecter des obligations strictes, notamment le règlement général sur la protection des données (RGPD), la norme PCI-DSS (Payment Card Industry Data Security Standard), la loi américaine HIPAA (Health Insurance Portability and Accountability Act), le règlement sur la résilience opérationnelle numérique du secteur financier (DORA), la directive sur la sécurisation des réseaux et des systèmes d'information (SRI 2) et le règlement sur la cyberrésilience (CRA).
Protéger la propriété intellectuelle et les modèles d'IA
L'informatique confidentielle s'avère essentielle pour protéger la propriété intellectuelle et la logique métier propriétaire, les modèles d'IA, les ensembles de données d'entraînement et les données utilisateur sensibles pendant le traitement, aussi bien durant la phase d'entraînement que lors de l'inférence. Elle protège ces ressources précieuses contre les accès non autorisés, les injections d'instructions génératives, la divulgation d'informations sensibles, l'empoisonnement des modèles et le vol, même lorsqu'elles sont exécutées dans des environnements contrôlés par des clients ou des partenaires. Grâce à l'informatique confidentielle, il est possible de partager des informations avec un tiers sans lui révéler la propriété intellectuelle.
Gérer une infrastructure multi-client et partagée
Comme elle assure l'isolation des données dans les environnements cloud multi-clients et partagés, l'informatique confidentielle empêche les attaques entre clients. En d'autres termes, elle garantit que les données ou les secrets d'un client restent inaccessibles aux autres clients qui partagent le même matériel sous-jacent.
Améliorer la sécurité de la chaîne d'approvisionnement des logiciels et l'architecture Zero Trust
L'informatique confidentielle renforce les pratiques DevOps grâce aux mécanismes suivants :
- Isolation des étapes du pipeline de CI/CD (intégration et distribution continues)
- Protection du code et des données contre les utilisateurs disposant de privilèges administrateur
- Attestation assurant l'intégrité des clés de signature des artéfacts
L'informatique confidentielle peut également être un élément clé de la sécurité Zero Trust en renforçant les contrôles de sécurité basés sur les TEE et la confiance dans le cloud public.
Prendre en charge l'edge computing
L'informatique confidentielle protège les données et les charges de travail de calcul à la périphérie du réseau, même lorsque celles-ci sont intégrées à des services cloud. Autrement dit, les éléments d'information sensibles et les processus qui les traitent sont plus sécurisés, qu'ils résident uniquement sur du matériel à la périphérie du réseau ou qu'ils interagissent avec une infrastructure cloud centralisée. Cette protection est essentielle pour l'edge computing, car les périphériques se trouvent souvent dans des environnements moins contrôlés et peuvent être plus vulnérables aux attaques physiques ou aux accès non autorisés.
Favoriser l'adoption du cloud et du cloud hybride
En permettant aux entreprises de migrer les charges de travail sensibles vers des environnements de cloud public, privé et hybride, l'informatique confidentielle supprime les obstacles à l'adoption du cloud et du cloud hybride. Elle favorise notamment les pratiques suivantes :
- Cloud bursting sécurisé : transférer les charges de travail du datacenter vers le cloud public en cas de pics de demande ou de besoin de ressources spécialisées (comme des GPU) sans compromettre la sécurité ou la conformité réglementaire.
- Data clean room et collaboration entre partenaires : autoriser plusieurs parties à accéder à des données sensibles sans exposer les informations propriétaires individuelles, favorisant ainsi une collaboration de confiance.
- Souveraineté numérique : fournir les moyens de déplacer les charges de travail entre les clouds de différents fournisseurs ou entre plusieurs systèmes sur site sans compromettre la protection des données.
Nos solutions
Chez Red Hat, nous favorisons la mise en œuvre de l'informatique confidentielle grâce à des solutions et technologies qui renforcent la sécurité des données dans le cloud, dans les environnements sur site et à la périphérie du réseau.
La solution Red Hat® OpenShift® sandboxed containers, basée sur le projet Kata Containers, permet d'exécuter des conteneurs confidentiels. Le projet Confidential Containers standardise l'informatique confidentielle au niveau des pods et simplifie sa mise en œuvre dans les environnements Kubernetes. Cette solution permet aux utilisateurs de déployer des charges de travail confidentielles à l'aide de workflows et d'outils qu'ils maîtrisent, sans nécessairement comprendre en détail les TEE sous-jacents. Disponibles à partir de la version 1.10 de Red Hat OpenShift sandboxed containers, les conteneurs confidentiels s'exécutent dans une enclave matérielle isolée qui protège les données et le code contre les utilisateurs privilégiés tels que les administrateurs du cloud et des clusters. Ils vont protéger l'intégrité des disques de machines virtuelles confidentielles, sécuriser l'initialisation des charges de travail et gérer les secrets qui ne sont déverrouillés qu'à l'intérieur d'un TEE, après vérification.
Le projet Confidential Clusters intègre la technologie d'informatique confidentielle aux clusters Kubernetes. Il permet à des nœuds Red Hat OpenShift entiers de fonctionner au sein de machines virtuelles confidentielles. Cette approche protège la confidentialité de tous les conteneurs du cluster en établissant un modèle de confiance, selon lequel les fournisseurs cloud ne sont pas considérés comme dignes de confiance, tandis que les administrateurs du cluster conservent leur statut de confiance.
L'utilisation de Red Hat Enterprise Linux® sur les machines virtuelles confidentielles permet aux entreprises d'intégrer le matériel de TEE d'un large éventail de fabricants, ainsi que de travailler dans des environnements sur site ou dans le cloud sans dépendance vis-à-vis d'un fournisseur. Avec les machines virtuelles confidentielles, il n'y a pas besoin de recourir à des fournisseurs de stockage tiers, car le stockage racine est automatiquement chiffré au démarrage. Ces machines virtuelles confidentielles fournissent également toutes les mesures nécessaires à l'intégration à des services d'attestation.
La version Red Hat de Trustee est un service d'attestation pour l'informatique confidentielle qui vérifie la fiabilité du TEE avant l'exécution des charges de travail ou la transmission de données sensibles. Ce service fournit des secrets aux charges de travail authentifiées au sein du TEE. Il s'intègre à des services d'attestation externes et sert de référence fiable pour les technologies de TEE. Il prend également en charge les déploiements hiérarchiques pour assurer l'évolutivité dans les environnements de cloud hybride et multicloud, tout en conservant une gestion centralisée de la confiance.
Chez Red Hat, nous collaborons avec un vaste écosystème de partenaires tels queNVIDIA, AMD et Intel, afin de favoriser la mise en œuvre de l'informatique confidentielle. Nous coopérons avec NVIDIA pour proposer des GPU confidentiels et des charges de travail fiables en matière d'intelligence artificielle et d'apprentissage automatique (IA/AA). Cette intégration permet aux charges de travail d'IA/AA, notamment celles d'entraînement et d'inférence, de s'exécuter de manière fiable, ce qui améliore considérablement les performances au sein des conteneurs confidentiels. Le processus d'attestation couvre à la fois le matériel et les logiciels des CPU et GPU avant la génération des clés de déchiffrement.
Nous collaborons également avec des partenaires pour créer des TEE qui protègent les applications et les données contre les accès ou changements non autorisés, même lorsqu'elles sont en cours d'utilisation dans la mémoire. La confidentialité est mise en œuvre au niveau du matériel, souvent par le biais du chiffrement de la mémoire et de l'état des processeurs. Voici quelques exemples de plateformes matérielles prenant en charge cette fonctionnalité :
- Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) d'AMD
- Trust Domain Extensions (TDX) d'Intel
- Secure Execution for Linux (SEL) d'IBM
- Power Protected Execution Facility (PEF)
- Confidential Compute Architecture (CCA) d'ARM
Avec nos partenaires, nous vous proposons de nombreuses options pour tirer parti de l'informatique confidentielle et d'une sécurité des données renforcée dans les environnements cloud-native modernes.
Conteneurs confidentiels sur Microsoft Azure avec Red Hat OpenShift Sandboxed Containers 1.10 et la version Red Hat de Trustee
Avec le lancement de l'opérateur Red Hat OpenShift Sandboxed Containers 1.10, les utilisateurs bénéficient de fonctionnalités de sécurité et d'isolation renforcées dans les environnements Red Hat OpenShift.