0Pricing
Cryptology Academy · Leçon

ORAM dans le stockage infonuagique et les processeurs sécurisés

Découvrez les applications d’ORAM dans les environnements d’exécution de confiance (SGX, TrustZone) et les bases de données infonuagiques chiffrées.

ORAM dans le stockage infonuagique et les processeurs sécurisés est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Intel SGX et fuite des schémas d’accès

Intel SGX (extensions de protection logicielle) fournit des enclaves isolées par le matériel, où le code et les données sont chiffrés et authentifiés. Cependant, le système d’exploitation peut toujours observer les pages mémoire auxquelles l’enclave accède en surveillant les entrées des tables de pages. Ce schéma d’accès au niveau des pages peut être exploité dans des attaques par canal auxiliaire. Une attaque classique est l’« attaque par canal contrôlé » de Xu, Cui et Peinado (2015), qui a permis de reconstituer des clés RSA à partir des schémas d’accès à la mémoire SGX.

Canaux auxiliaires temporels du cache dans SGX

Au-delà des schémas d’accès au niveau des pages, SGX est vulnérable aux canaux auxiliaires fondés sur la mesure du temps du cache. Un attaquant partageant le processeur peut observer les succès et les échecs du cache provoqués par l’enclave, et en déduire des schémas d’accès fins (au niveau des lignes de cache). Ces attaques fonctionnent parce que le cache du CPU est partagé entre l’enclave et le code non fiable. Les mesures de protection comprennent la programmation à temps constant et ORAM pour randomiser les schémas d’accès à la mémoire.

ZeroTrace : ORAM dans SGX

ZeroTrace (Sasy, Jha, Kerschbaum, 2018) implémente Path ORAM au sein d’une enclave Intel SGX afin de fournir un accès mémoire dissimulé. Le système d’exploitation hôte non fiable fournit le serveur ORAM (l’arbre binaire de compartiments), tandis que l’enclave SGX joue le rôle de client ORAM. ZeroTrace ajoute une optimisation propre à SGX : la table de positions est conservée dans l’enclave, dans une mémoire de confiance, ce qui élimine le recours à un ORAM récursif pour cette table.

Intégration d’ORAM à Graphene-SGX et SCONE

Graphene-SGX (désormais Gramine) et SCONE sont des environnements de conteneurs SGX qui permettent d’exécuter des applications Linux sans modification dans des enclaves. Les deux environnements ont été étendus pour prendre en charge ORAM et dissimuler les schémas d’accès au système d’exploitation. L’intégration d’ORAM à SCONE permet l’exécution dissimulée de programmes Python, Go et Java dans SGX sans modification du code, rendant ORAM accessible aux applications sans intégration manuelle.

Shroud : structures de données à accès dissimulé pour SGX

Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) implémente des versions à accès dissimulé des structures de données fondamentales (tableaux, piles, files et tables associatives) destinées à être utilisées dans des enclaves SGX. Shroud combine ORAM et des algorithmes indépendants des données afin de garantir que les schémas d’accès à la mémoire de l’enclave ne dépendent pas des valeurs des données. Cette approche est plus efficace que l’application d’ORAM à l’ensemble de la mémoire de l’application, car elle cible uniquement les structures de données sensibles.

AWS Nitro Enclaves et confidentialité de la mémoire

AWS Nitro Enclaves fournit des environnements de calcul isolés pour traiter des données hautement sensibles (numéros de cartes de paiement, dossiers médicaux). Contrairement à SGX, Nitro Enclaves isole les environnements au niveau de la machine virtuelle plutôt qu’au niveau du processus. AWS ne fournit pas ORAM par défaut dans Nitro Enclaves, mais les garanties de confidentialité couvrent le contenu de la mémoire. Pour assurer la confidentialité des schémas d’accès, les applications exécutées dans Nitro Enclaves doivent implémenter leur propre ORAM si nécessaire.

Applications d’ORAM dans ARM TrustZone

ARM TrustZone fournit un environnement d’exécution de confiance (monde sécurisé) isolé du système d’exploitation normal. Comme SGX, TrustZone ne dissimule pas intrinsèquement les schémas d’accès à la mémoire. Des systèmes de recherche tels que TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) implémentent ORAM dans TrustZone afin de protéger l’accès aux données sensibles sur les appareils mobiles et les appareils de l’Internet des objets. TrustZone est présent sur tous les processeurs ARM modernes, ce qui permet de déployer largement TrustZone avec ORAM.

ObliDB et Opaque : bases de données à accès dissimulé

ObliDB (Eskandarian et Boneh, 2017) est une base de données à accès dissimulé qui masque les schémas d’accès pour les requêtes SQL standard. Elle utilise ORAM pour les requêtes ponctuelles et le tri dissimulé pour les requêtes par intervalle. Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) exécute des requêtes SQL de manière dissimulée sur Apache Spark en utilisant Intel SGX et ORAM. Opaque démontre que l’analyse de données à l’échelle de la production (des millions d’enregistrements) est réalisable malgré le surcoût d’ORAM.

Recherche privée d’informations

La recherche privée d’informations (PIR) est une primitive connexe qui dissimule les schémas d’accès en lecture seule. PIR permet à un client de récupérer un élément d’une base de données sans que le serveur sache quel élément a été récupéré. cPIR atteint ce résultat avec un surcoût de stockage côté serveur en O(1) et une communication en O(sqrt(n)) ou O(polylog n). PIR est plus efficace qu’ORAM pour les charges de travail en lecture seule, mais ne peut pas prendre en charge les écritures dissimulées.

Compromis entre ORAM et PIR

Pour les accès en lecture seule, PIR est plus efficace en matière de communication qu’ORAM : cPIR à serveur unique nécessite une communication en O(n^epsilon), tandis qu’ORAM nécessite O(log n) blocs par accès. Cependant, PIR exige un calcul côté serveur (linéaire par rapport à la taille de la base de données pour PIR à serveur unique), alors qu’ORAM place tout le calcul côté client. PIR multi-serveurs (sécurisé au sens informationnel avec 2 serveurs ne collaborant pas) est très efficace et convient aux déploiements de CDN.

Orientations futures pour ORAM

Les orientations de recherche concernant ORAM comprennent : la réduction du surcoût de communication vers la borne inférieure théorique O(log n) (OptORAMa l’atteint asymptotiquement), ORAM pour la RAM quantique (QRAM), ORAM à confidentialité différentielle (dissimulant si le même bloc est consulté deux fois) et ORAM avec chiffrement homomorphe (FHE-ORAM pour le calcul externalisé). L’intégration d’ORAM aux environnements matériels d’exécution de confiance reste l’orientation de recherche ayant le plus d’impact pratique.

Question sur les schémas d’accès de SGX

Pourquoi Intel SGX seul ne parvient-il pas à assurer une protection complète contre la fuite des schémas d’accès ?

Récapitulatif : ORAM dans le stockage en nuage et les processeurs sécurisés

Intel SGX laisse fuir les schémas d’accès au niveau des pages et du cache, ce qui permet des attaques par canal contrôlé et par mesure du temps du cache. ZeroTrace implémente Path ORAM dans SGX afin d’éliminer ces fuites. Graphene-SGX et SCONE fournissent une intégration d’ORAM au niveau des conteneurs. ObliDB et Opaque démontrent la faisabilité de requêtes SQL à accès dissimulé sur ORAM à l’échelle de la production. PIR constitue une solution efficace pour les accès en lecture seule. La recherche sur ORAM se poursuit en direction de la borne inférieure de communication log n et de l’intégration au chiffrement homomorphe.

Questions Fréquemment Posées

La leçon « ORAM dans le stockage infonuagique et les processeurs sécurisés » est-elle gratuite ?

Oui — le texte complet de « ORAM dans le stockage infonuagique et les processeurs sécurisés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « ORAM dans le stockage infonuagique et les processeurs sécurisés » ?

Découvrez les applications d’ORAM dans les environnements d’exécution de confiance (SGX, TrustZone) et les bases de données infonuagiques chiffrées. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « ORAM dans le stockage infonuagique et les processeurs sécurisés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. La menace des fuites liées aux schémas d’accès
  2. Path ORAM : masquer les accès mémoire
  3. Circuit ORAM et performances pratiques
  4. ORAM dans le stockage infonuagique et les processeurs sécurisés
← Retour à Cryptology Academy