Contrôle d’accès sur le client pour des documents XML Luc Bouganim, François Dang-Ngoc, Philippe Pucheral INRIA Rocquencourt & Université de Versailles France
Contrôle d’accès sur le client Objectif -Partager des données XML et contrôler l’accès sur le client Pourquoi faire le contrôle sur le client ? –Baisse de confiance vis à vis des hébergeurs de données (DSP) -Attaques internes (DBA ou SA) -Attaques externes –Distribution sélective de données -Les utilisateurs ont accès aux parties des données diffusées (broadcast) selon leur privilège/license.
Etat du problème Approche traditionnelle –Stocker les données chiffrées sur le serveur –Accès aux données si on a la clé de déchiffrement KBKB KAKA Serveur Bob Alice KAKA KBKB K AB
Etat du problème Ajout d’un utilisateur –4 nouvelles zones de partages : Chris, Alice-Chris, Bob- Chris, Alice-Bob-Chris KBKB KAKA Serveur Bob Alice KAKA KBKB K AB Chris K AC K ABC K BC KCKC K AC K ABC K AC K ABC K C K BC K ABC K BC Comment supporter des droits à grain fin et dynamiques ?
Notre approche Emergence des Secure Operating Environment (SOE)... –E.g., cartes à puce, tokens sécurisés –Haute résistance aux attaques Principes Serveur Terminal Alice Bob SOE Terminal SOE
Notre approche Limitations –Mémoire (RAM minuscule) –Coût de communication et de déchiffrement relativement élevés comparé au CPU Etats du problème –Gérer le contrôle d’accès sur un flux XML –Assurer que les parties non-autorisées ne soient jamais divulguées –Vérifier que le document n’a pas été modifié illégalement Contributions –Algorithme pipeline basé sur des automates non déterministes pour contrôler l’accès à un flux XML –Indexer le flux pour sauter les parties non pertinentes
Modèle de droit d’accès XML Droits d’accès pour un sujet { } Politique d’accès fermé Politique de résolution de conflit –Plus spécifique est prioritaire –Interdiction est prioritaire Règles pour Dr. John Doe a b c d b d c h R S Inspiré par Bertino, Damiani R R S
Contrôle d’accès en flux Evaluation b d c b * R 6 7 h * a b c d b d c - Liste de prédicats Pile d’Autorisation Pile de token ?+? Attend h S Chemin Navigationel Chemin de prédicat Automate de règles Chemin Navigationel
Optimisations Facteurs limitants Communication et déchiffrement Objectif Sauter les parties non-autorisées du document Règles R1 R2 R3 a b b a c f g e e hh hd Intégrer lors de la construction du doc XML des meta-données
Skip index - Principe Principe –A la construction, attacher à chaque noeud la liste des tags présents dans le sous-arbre. a b b a c f g e e h h h d {a, b, c, d, e, f, g,h} {c, f, g} {d, e, h} {d, h} {h} R1 attend d R2 attend e, d, h Règles R1 R2 R3 R1 attend d R2 attend d, e, h R1 attend d R2 attend d, h R1 attend d R2 attend d, h SAUTE
Skip index - encodage Meta-données d’un noeud –Liste des tags LT –Taille du sous-arbre TS –Tag du noeud TN a b b a c f g e h d {a, b, c, d, e, f,g,h} {c, f, g} {d, e, h} {d, h} defgh abc Dictionnaire de tags defg h abc 101 deh 1023 octets (<2^10) 125 octets (<2^7) log(Card(LT)) bits log(TS du père) bits Card(LT du père) bits Index compact Taille des metadonnées diminue avec la profondeur Taille maxNoeud e 3 bits 7 bits 2 bits 12 bits
Experiences Configuration –Prototype écrit en C tournant sur un simulateur matériel de carte à puce –Caractéristiques de la carte à puce 32 bit CPU 8KB de RAM 32KB d’EEPROM Jeux de données considérées –WSU (pas profond, peu de tags distincts et éléments de petite taille) –Sigmod Record (bien structuré) –Treebank (profond, beaucoup de tags distincts)
Experiences Surcoût du stockage de l’index WSUSigmodTreebank Struct/text (%) NC TC TCSBR 538 NC: pas de compression TC: Compression des tags => id (1 octet) => 0 (1 octet) TCSBR: notre méthode => id se basant sur le bitmap Taille récusivement compressée Liste des tags récursivement compressée Le surcoût de l’index est négligeable
Experiences Performance sur des données rééls SigmodWSUBank Throughput (KB/s) TCSBR LWB TCSBR: notre solution LWB: borne inférieure – lit théoriquement seulement les parties pertinentes Caractéristiques des documents Prof. moyenne #eleme nts #tags distincts Sigmod5.111K11 WSU (règles complexes) 3.174K20 Bank (règles complexes) 7.82M250 Gère bien les différentes situations Résultats encourageants
Conclusion Première tentative pour appliquer les droits d’accès sur des flux XML Contributions –Evaluateur de règles de contrôle d’accès sur un flux XML –Skip index Prototype –Validé à travers une application d’agenda collaboratif sur des cartes Javacard –Silver award au concours e-gate’04 Travaux futurs –Améliorer le skip index –Travail sur des données multimedia