Introduction aux techniques cryptographiques — Environnement d'exécution fiable

Protection fondée sur le matériel informatique relativement aux données en cours d'utilisation qui peuvent être appliquées n'importe où

par Betty Ann Bryanton, Agence du revenu du Canada

Introduction

La popularité croissante des appareils connectés et la prévalence des technologies, comme l'infonuagique, l'informatique mobile et l'Internet des objets (IdO), ont mis à rude épreuve les capacités de sécurité existantes et exposé des « lacunes dans la sécurité des données » (Lowans, 2020). Les organisations qui traitent des renseignements identificatoires personnels (RIP) doivent « atténuer les menaces qui ciblent la confidentialité et l'intégrité de l'application ou des données dans la mémoire système » (Confidential Computing Consortium, 2021).

Par conséquent, Gartner prédit que « d'ici 2025, 50 % des grandes organisations adopteront l'informatique d'amélioration de la confidentialité pour le traitement des données dans des environnements non fiables et des cas d'utilisation de l'analyse multipartite de données »Notes de bas de page1Notes de bas de page2 (Gartner, 2020). Parmi les nombreuses techniques d'informatique d'amélioration de la confidentialité, l'environnement d'exécution de confiance est la seule technique qui s'appuie sur le matériel informatique pour atteindre son objectif d'amélioration de la confidentialité.

Qu'est-ce qu'un environnement d'exécution de confiance?

Un environnement d'exécution de confiance (EEC), également appelé enclave sécurisée, est un environnement construit avec des modules matériels spéciaux qui permet d'avoir une zone sécurisée à l'intérieur de l'appareil. Cet environnement isolé fonctionne en parallèle avec le système d'exploitation (OS). L'information est transmise dans l'EEC et le calcul est effectué à même l'EEC (« monde sécurisé ») et demeurent ainsi protégées du reste du système non fiable (« monde normal »). Ces environnements sécurisés et isolés protègent la confidentialité et l'intégrité du contenu, empêchant ainsiNotes de bas de page3 l'accès non autorisé ou la modification des applications et des données lors de leur utilisation.

Le terme « informatique confidentielle » est souvent utilisé comme synonyme d'EEC; les termes sont liés, mais distincts. Conformément au Confidential Computing Consortium, l'informatique confidentielle estNotes de bas de page4activée par l'EEC. De plus, l'informatique confidentielle fournie par l'EEC fondé sur le matériel informatique est indépendante de l'emplacement topographique (aucune mention de nuage informatique, de l'appareil d'un utilisateur, etc.), des processeurs (un processeur normal ou un processeur séparé) ou des techniques d'isolation (p. ex. si le chiffrement est utilisé).

Pourquoi le matériel informatique est-il nécessaire?

« La sécurité n'est aussi forte que les couches inférieures, car la sécurité de toute couche de la pile informatique pourrait potentiellement être contournée par une atteinte à la sécurité d'une couche sous-jacente » (Confidential Computing Consortium, 2021). En déplaçant la sécurité au plus bas niveau de silicium, cela réduit la possibilité de compromission, car elle minimise les dépendances qui sont plus hautes dans la pile informatique (p. ex. le système d'exploitation, les périphériques et les administrateurs et fournisseurs).

Pourquoi est-ce important?

L'utilisation d'un EEC permet de fournir une immense gamme de fonctionnalités à l'utilisateur, tout en répondant aux exigences en matière de protection des renseignements personnels et de confidentialité, sans exposer les données à des risques lorsqu'elles sont déchiffrées durant le traitement. Cela permet aux utilisateurs de protéger la propriété intellectuelle et de s'assurer que les RIP sont inaccessibles. Cela assure une protection contre les menaces internes, les attaquants qui exécutent du code malveillant ou les fournisseurs de services infonuagiques inconnus. Ainsi, les EEC représentent une couche cruciale dans une approche de sécurité en couches (c'est-à-dire une défense en profondeur) et ils « ont le potentiel de renforcer considérablement la sécurité des systèmes » (Lindell, 2020).

Utilisations

Un EEC « peut être appliqué n'importe où, y compris sur les serveurs infonuagiques publics, les serveurs hébergés sur place, les passerelles, les appareils de l'IdO, les déploiements informatiques de pointeNotes de bas de page5, les appareils d'utilisateurs, etc. » (Confidential Computing Consortium, 2021).

  • Vous trouverez ci-dessous un résumé des cas d'utilisation possibles pour un EEC tiré du document : Confidential Computing: Hardware-Based Trusted Execution for Applications and Data (en anglais seulement). Clés, secrets, informations d'identification, jetons : Ces ressources de grande valeur sont les « clés du royaume ». Dans le passé, le stockage et le traitement de ces ressources nécessitaient un module de sécurité matériel (MSM) sur place, mais dans les EEC, les applications pour gérer ces ressources peuvent fournir une sécurité comparable à celle d'un MSM traditionnel.
  • Informatique multipartite : Les EEC permettent aux organisations, comme celles qui offrent des services financiers ou des soins de santé, de tirer parti des données partagées (p. ex. l'analyse fédérée), sans compromettre les sources de données.
  • Informatique mobile, informatique personnelle et appareils de l'IdO : Les fabricants d'appareils ou les développeurs d'applications comportent des EEC pour assurer que les données personnelles ne sont pas perceptibles durant le partage ou le traitement.
  • Appareils de point de vente / traitement des paiements : Pour protéger les renseignements saisis par l'utilisateur, comme un numéro d'identification personnel, l'information figurant sur le pavé numérique est lisible uniquement par code dans l'EEC fondé sur le matériel informatique de l'appareil, ce qui fait en sorte que l'information ne peut pas être lue ou attaquée par un logiciel malveillant qui peut se trouver dans l'appareil.

Avantages

  • Environnement contrôlé : Étant donné que l'EEC fonctionne au moyen de matériel informatique spécialisé, il est contrôlé et cela empêche l'écoute clandestine pendant que les données chiffrées sont déchiffrées.
  • Confidentialité : Il est possible de chiffrer les RIP dans une base de données; toutefois, pour traiter les données, elles doivent être déchiffrées et à ce moment-là, elles sont vulnérables aux attaquants et aux menaces internes. Si les données ne sont déchiffrées et traitées qu'à l'intérieur de l'EEC, elles sont isolées des utilisateurs non autorisés, protégeant ainsi la confidentialité des données.
  • Vitesse : Étant donné que l'EEC est déjà une enclave sécurisée, le code ou les données peuvent exister sous forme non chiffrée dans l'EEC. Si c'est le cas, « cela permet à l'exécution dans l'EEC d'être beaucoup plus rapide que l'exécution liée à la cryptographie complexe » (Choi et Butler, 2019).
  • Confiance : Étant donné que les données dans l'EEC ne sont pas obscurcies (comme dans certaines autres techniques d'informatique d'amélioration de la confidentialité), cela fournit une certaine satisfaction que le calcul et ses résultats sont corrects, c'est-à-dire qu'il n'y a pas d'erreurs introduites par les techniques d'obscurcissement.
  • Séparation des préoccupations : Étant donné qu'il y a deux environnements distincts, il y a une séparation entre la charge de travail et les données administrées et détenues par le « monde normal » par rapport à la charge de travail et aux données isolées dans le « monde sécurisé ». Cela offre une protection contre les menaces internes et les charges de travail potentiellement corrompues qui sont effectuées sur le même appareil.
  • Déchiffrement : Si les données sont chiffrées dans l'EEC, elles doivent être déchiffrées pour être traitées; cependant, ce déchiffrement a avantage à être effectué dans un espace étroitement contrôlé.

Défis à relever

  • Mise en œuvre : La mise en œuvre est difficile et nécessite des connaissances et une expertise personnalisées, qu'il s'agisse de créer l'ensemble du système d'exploitation sécurisé de toutes pièces, d'utiliser un système d'exploitation de confiance d'un fournisseur commercial, ou de mettre en œuvre des composantes émergentes comme des trousses de développement logiciel, des bibliothèques ou des utilitaires.
  • Absence d'uniformisation : Les EEC n'offrent pas tous les mêmes garanties de sécurité ou les mêmes exigences concernant l'intégration du code existant et du nouveau code.
  • Spécification de conception: C'est la responsabilité du développeur de L'EEC d'assurer une conception d'EEC sécurisée. La simple existence d'un EEC ne suffit pas.
  • Verrouillage : Il existe un potentiel d'immobilisation et de dépendances avec les fournisseurs de matériel informatique, les développeurs d'EEC ou le traitement propriétaire (en raison de l'absence d'uniformisation).
  • Pas invincible : Il est possible qu'il y ait des attaques par canal auxiliaireNotes de bas de page6, des codes d'application vulnérables ou des vulnérabilités en matière de sécurité fondée sur le matériel informatique (p. ex. dans la puce matérielle), ce qui peut entraîner l'effondrement de tout le modèle de sécurité.
  • Rendement et coût : Par rapport à la configuration et au traitement dans un « monde normal », l'utilisation d'un EEC (« monde sécurisé ») a des répercussions négatives sur le rendement et coûtera plus cher.

Qu'est-ce qui est possible maintenant?

Les EEC sont fournis par des solutions numériques comme la solution Intel® Software Guard eXtensions (SGX) ou Arm TrustZone; par l'entremise de trousses de développement logiciel de fournisseurs de matériel informatique; ou au moyen de couches d'abstraction (p. ex. Google Asylo) qui éliminent la nécessité de coder explicitement pour un EEC.

De nombreux fournisseurs de services infonuagiques (p. ex. Alibaba, Microsoft, IBM et Oracle) fournissent désormais des capacités d'EEC comme service spécialisé de bas niveau conforme à leurs offres d'informatique. Cependant, en raison de l'absence d'uniformisation, les particularités proposées par les fournisseurs de services infonuagiques devraient être examinées attentivement pour assurer qu'elles respectent les exigences souhaitées de l'organisation en matière de confidentialité et de sécurité (Fritsch, Bartley et Ni, 2020).

Quelle est la prochaine étape?

Bien que la protection des données de nature délicate présente d'importants défis en matière d'architecture, de gouvernance et de technologie, l'utilisation d'un EEC peut offrir un point de départ pour d'autres moyens afin d'améliorer la sécurité à partir du niveau le plus bas.

Cependant, un EEC n'est pas une solution prête à l'emploi, il s'agit d'un mécanisme qui comprend des difficultés techniques qui « devrait être réservé aux cas d'utilisation les plus à risque » (Lowans, 2020). Néanmoins, « il est certainement plus difficile de voler des secrets depuis l'intérieur [d'un EEC sécurisé que dans le « monde normal » non sécurisé]. Cela complique le travail de l'attaquant, ce qui est toujours une bonne chose » (Lindell, 2020).

Sujets connexes 

Chiffrement homomorphe, Informatique multipartite sécurisée, confidentialité différentielle, anonymisation des données, module de plate-forme de confiance.

Rencontre avec le scientifique des données

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Inscrivez-vous à la présentation Rencontre avec le scientifique des données.
À bientôt!

MS Teams – le lien sera fourni aux participants par courriel

Abonnez-vous au bulletin d'information du Réseau de la science des données pour la fonction publique fédérale pour rester au fait des dernières nouvelles de la science des données.

Références