HAL Id: tel-00491193
https://tel.archives-ouvertes.fr/tel-00491193
Submitted on 10 Jun 2010
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Automates pour l’analyse de documents XML compressés, applications à la sécurité d’accès
Barbara Fila
To cite this version:
Barbara Fila. Automates pour l’analyse de documents XML compressés, applications à la sécurité d’accès. Informatique [cs]. Université d’Orléans, 2008. Français. �tel-00491193�
Laboratoire d'Informatique Fondamentale d'Orléans
Barbara FILAKORDY
Automates pour l'analyse de
douments XML ompressés,
appliations à la séurité d'aès
Thèse dirigée par: Professeur Siva ANANTHARAMAN
JURY:
Professeur Françoise GIRE, Université de PARIS
1
Professeur Sophie TISON, Université de LILLE
1
Professeur Siva ANANTHARAMAN, Université d'ORLÉANS
Professeur Mihael BENEDIKT, University of OXFORD
DireteurdeReherheMihaëlRUSINOWITCH,INRIALorraine
Professeur Moshe VARDI, RICE University
Thèse soutenue le
4
novembre2008
à OrléansIntrodution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Chapitre 1. État de l'art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Évaluation derequêtessurdoumentsXML . . . . . . . . . . . . . . . . . . . 5
1.2. Contrled'aèsauxdoumentsXML . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Inlusionetminimisationderequêtes . . . . . . . . . . . . . . . . . . . . . . . 12
Chapitre 2. Requêtessur doumentsXML préliminaires . . . . . . . . . . 15
2.1. DoumentsXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Représentationdedouments . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4. RequêtespositivesdeCoreXPath . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5. RequêtespositivesdeXPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapitre 3. Évaluation de requêteset ontrle d'aès . . . . . . . . . . . . . 25
3.1. Préliminaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2. Systèmedetransitionspourunerequêteélémentaireatomique . . . . . . . . . 26
3.3. Systèmedetransitionspourunerequêteélémentairenonatomique . . . . . . 27
3.4. Systèmedetransitionspourunerequêtequelonque. . . . . . . . . . . . . . . 32
3.5. Stratégielinéaired'évaluationd'unerequête . . . . . . . . . . . . . . . . . . . 33
3.6. Évaluation derequêtessousontrled'aès . . . . . . . . . . . . . . . . . . . 35
3.7. Pouvoird'expressiondelavuelausalepourleontrled'aès . . . . . . . . 40
Chapitre 4. Requêtessur douments ompressés . . . . . . . . . . . . . . . . . 41
4.1. Représentationompresséededoumentsarboresents . . . . . . . . . . . . . 41
4.2. Trdagvuommegrammaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3. Évaluation derequêtesàl'aidedesautomatesdemots . . . . . . . . . . . . . 45
4.3.1. Requêtesutilisantlesaxesvertiaux . . . . . . . . . . . . . . . . . . . 49
4.3.2. Requêtesutilisantlesaxeshorizontaux . . . . . . . . . . . . . . . . . . 53
4.4. Résultatssurlerundepriorité maximale. . . . . . . . . . . . . . . . . . . . . 55
4.5. Algorithmepourlerundeprioritémaximale . . . . . . . . . . . . . . . . . . . 58
4.6. Évaluation derequêtesomposées . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.7. Réponse àunerequêtesurarbreéquivalent. . . . . . . . . . . . . . . . . . . . 65
4.7.1. Requêtesomposéesvialesautomatesrévisés . . . . . . . . . . . . . . 71
Chapitre 5. Inlusion de patterns via la réériture . . . . . . . . . . . . . . . . 76
5.1. Inlusiondepatterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2. Rééritureetinlusiondepatterns . . . . . . . . . . . . . . . . . . . . . . . . 79
Conlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Le problème de l'extration d'information dansdes douments semistruturés,
du type XML, onstitue un des plus importants domaines de la reherhe atuelle
en informatique. Il a généré un grand nombre de travaux tant d'un point de vue
pratique,qued'unpointdevuethéorique(voirChapitre1). Dansetravaildethèse,
nousnoussommes xés deuxobjetifs:
1. évaluation des requêtes sur un doument assujetti à une politique du ontrle
d'aès,
2. évaluation des requêtes sur un doument pouvant être partiellement ou totale-
ment ompressé.
Notreétudeporteessentiellementsurl'évaluationdesrequêtesunaires,.àd.,séle-
tionnantunensembledesn÷uds dudoument,quisatisfont lespropriétés spéiées
par larequête. Pour exprimerles requêtes,nousutilisonsXPath [92℄ leprinipal
langage de séletion dansles douments XML.Grâe à ses axes "navigationels", et
ses ltresqualiatifs, XPath permetlanavigation dansdes doumentsXML, etla
séletion desn÷uds répondant àlarequête.
XML(eXtensibleMerkupLanguage)[97℄estdevenulestandarddereprésentation
etd'éhangedesdonnéessurleWEB.Ilestbasésurunsimplemaispuissantonept,
elui deséléments balisés. Un élément balisé peut représenter une petite partie du
doument,ouunobjettrèsomplexe. Lesélémentspeuvent êtreimbriqués,.àd.,
unélémentpeutêtreomposéd'autreséléments. Deplus,desattributsquiapportent
desinformationssupplémentaires,peuventêtreassoiésauxéléments. AuChapitre2
nous présentons brièvement le adre de notre travail : les douments XML et le
langage XPath. Nous y dénissons également deux fragments de XPath, auxquels
nousnousintéresserons par lasuite.
L'utilisationtrèsrépandud'XMLaentraînélanéessitéd'introduiredesmodèles
et tehniques pour séuriser les données XML. La séurisation est ruiale pour
failiter la propagation des données qui ontiennent des informations représentant
les diérents niveaux de sensibilité et d'aessibilité. Dans e travail nous nous
foalisonssurlesaspetsdeséuritéliésàl'autorisationd'aèsàl'information la
ondentialité. Cettedernièreestengénéralassuréepardesméanismesdeontrle
d'aès(politiquesduontrle d'aès,lés et.). Nousavonshoiside modéliserles
politiquesduontrled'aèspardeslausesdupremierordre,etplusspéiquement
par deslausesdeHorn, pouvant êtresoumisesàdesontraintes. Untelhoix nous
permet d'évaluer des requêtes sur les douments XML, en utilisant une approhe
baséesurdessystèmesde transitionsappropriés(Chapitre 3). L'idée estd'exprimer
les transitions de es systèmes également par des lauses de Horn ontraintes, et
ensuite de les oupler ave elles traduisant la politique du ontrle d'aès. Il
n'est pasdiile de montrer qu'ave une telle modélisationon ouvre biend'autres
approhes, telles que par exemple RBAC (Role Based Aess Control), ou elles
basées surl'attribution de lés auxn÷uds et/ouauxattributs.
ToutdoumentXMLaunestruturearboresente,dond'unemanièrenaturelle,
estreprésentépar un arbre. Néanmoins,une tellereprésentation est souvent redon-
dante,arsurunarbre,lamêmeinformationpeutgurerplusieursfois. L'utilisation
des strutures ompressées telles que les dags (direted ayli graphs), ou les
grammaires d'arbresappropriées au lieudesarbres, permetalors d'optimiseron-
sidérablement l'espae de stokage des douments, ainsi que le temps d'évaluation
des requêtes. Les avantages d'utilisation des strutures XML ompressées ont été
étudiés, entreautres,dans [35,16 ,64 ℄.
Les douments que nous onsidérons dans e travail peuvent être totalement
ou partiellement ompressés. Un doument est donné sous une forme totalement
ompressée, si le dag qui le représente ontient toute information une seule fois.
Toute représentation intermédiaire,entre l'arbre etlaforme totalement ompressée
d'un doument donné, est une forme partiellement ompressée de e dernier. Au
Chapitre 4,nousdévelopponsune approhe pour l'évaluationdesrequêtes positives
de Core XPath, sur les douments ompressés représentés par les dags. Elle est
basée sur sept automates de mots, orrespondant aux sept axes de base de Core
XPath. Grâeàunedénitionappropriée,esautomatespeuventourird'unefaçon
desendante, sur les dags. Cette méthode nous permet d'évaluer des requêtes sur
les douments partiellement ou totalement ompressées, sans devoir déompresser
es derniers. De plus, pour une requête Q et un doument (ompressé) t donnés,
l'évaluation de Q sur t peut être adaptée de façon à fournir exatement la même
réponseque l'évaluationde Qsurl'arbre représentant t(Setion 4.7).
Ilimporte denoterquelaomplexitédesapprohesquenousavonsdéveloppées,
reste omparable à elle des méthodes onnues : linéaire par rapport au nombre
d'arêtes du doument donné, etpar rapportà lataille de larequête onsidérée. En
partiulier, elle est linéaire par rapport au nombre de n÷uds, si le doument est
arboresent (nonompressé).
Dansladernièrepartie denotre travail,nousesquissonsune approhe quitraite
du problème d'inlusion des shémas de requêtes (pattern ontainment, [67 , 77 ℄).
Cette approhe est basée sur des tehniques de réériture. On remarque que tout
doument XMLétantun arbre, peutêtrevuommeun "pattern" (ausens de[67 ℄).
De plus, toute requête positive de Core Xpath, n'utilisant que des axes hild et
desendant, dénit aussiun tel pattern. Résoudre le problème d'inlusion de pat-
terns revient de faità répondreauxquestionssuivantes:
soient deuxrequêtes Q,Q′ etun doument t:
• vériersitoute réponseà Qonstitue également une réponseà Q′ (Q⊆Q′);
• vériersiQetQ′ ontexatementlesmêmeréponsessurtoutdoument(Q≡Q′);
• vériersiQ admet(au moins) uneréponse surt(t⊆Q).
Au Chapitre 5, nous dénissons un système de règles de réériture basées sur la
sémantique de l'inlusion de patterns, et montrons que pour deux patterns donnés
Q et Q′, Q est inlus dans Q′ si et seulement si, il est possible de réérire Q vers
Q′, en utilisant les règles de e système. Il est important de noter que ette vision
de requêtes ommedespatternspeutservirde basepour letraitement desrequêtes
naires,.àd.,ellesquiséletionnentunensembledesnupletsden÷uds. Anoter
égalementquelesrésultatssurl'inlusiondepatterns,obtenusdansetravail,restent
validesmême lorsque lesmodèlesdes patternssont desdoumentsompressés.
État de l'art
Cetétatdel'artpeut êtrevuommele point dedépartpourlaprésentethèse. Nous
yénonçonslesplusimportantsrésultatsonnus,onernantl'évaluationdesrequêtessur
lesdoumentsXML(Setion1.1),leontrled'aès(Setion1.2),laompression(Se-
tion1.3),etleproblèmed'inlusionetde minimisationdesrequêtes(Setion1.4). Nous
esquissons brièvement les diérentes méthodes existantes, ainsi que leurs omplexités.
Nousessayonségalementde situernostravaux(détaillésdanslasuitede erapport)par
rapportàesrésultats onnus.
1.1. Évaluation de requêtes sur douments XML
XML, standardisé en janvier 1998, joue un rle de plus en plus important pra-
tiquement dans toutes les branhes d'informatique ontemporaine. Conevoir les
outilseaespourl'extrationdesinformationsdanslesdoumentsXMLestdevenu
l'objetif prinipalde nombreuxherheurstravaillantdansledomaine desbasesde
données. Plusieurs fragments des diérentes logiques (FOL [10, 9℄, logique modale
[64℄, MSO [75℄, datalog monadique [35 , 40℄ et.) ont été étudiés dans le ontexte
d'évaluation des requêtes sur les douments XML. MSO (Monadi SeondOrder
Logi) a été proposé dans [75 ℄ omme un repère pour le pouvoir d'expression des
langagesde séletion. Néanmoins,MSOn'est pasapproprié pour onstituer unlan-
gagederequêtespratique,arilpermetd'exprimerdesrequêtestrèsomplexesd'une
façon très onise, e qui entraîne que le problème d'évaluation devient intraitable
[34℄. Or, ilexistedeslangagesommeleµ-alulmodalou ledatalogmonadique
[35, 40℄ qui ont le même pouvoir d'expression sur les arbres que MSO, mais où
l'évaluation de requêtes est plus eae. Par exemple, la omplexité d'évaluation
desrequêtesdedatalogmonadiquesurlesdoumentsXML,estmontréelinéaire par
rapport à la taille du programme datalog orrespondant, et la taille du doument
onsidéré [39 ℄.
L'utilisationdeplusenplusrépandudeXMLasusité,durantladernièredéen-
nie,ledéveloppementdeslangagesderequêtes,telsqueXPath,XQuery,spéialement
onçus pour traiter les douments XML. XPath [92℄ est un langage pour adresser
ertaines parties des douments XML. Il est également inorporé dans plusieurs
formalismesliésà XML,tels que:
• XSLT [93 ,15 ℄(eXtensible Style sheetLanguageTransformations) unlangage permettant detransformer undoument XML enun autredoument XML;
• XQuery [99 ℄ un langage de requêtes d'ordre supérieur, qui ore entreautres,
une possibilitéde modier le résultatd'évaluationd'une requête, etde produire
desnouveaux doumentsXML;
• XPointer [96℄ une spéiation du W3C, dont l'objetif est de permettre de
référenerun fragment d'un doument XMLexterne enligne;
• XML Shema [95 ℄ et XLink [94 ℄ où des expressions XPath servent à dénir deslés d'aès.
XPathVersion1.0àétépubliéommeunereommandation deW3Cen 1999. C'est
un langage sans variables, onçu pour séletionner des n÷uds dans les douments
XML, en spéiant des hemins d'aès. De tels hemins peuvent alternativement
êtreformulésdanslalogiquedepremier ordre(FOL). Néanmoins,lapartie denavi-
gation deXPath, diteCore XPath,n'est pasassez puissantepour exprimertousles
heminsd'aèsdénissablesenFOL.MihaelBenediktetChristophKohmontrent
dans[10℄queleCoreXPathouvrepréisémenttouteslesrequêtesdeFOLavedeux
variablessurlastruture de navigation dedouments XML.Dans[63 , 65℄,Maarten
Marx introduit XPath ave desaxes onditionnels (enanglais Conditional XPath),
une extension de Core XPath (toujours sans variables), dans laquelleil est possible
d'exprimer tout hemin d'aès sur un arbre XML, dénissable en FOL. La toute
dernière version de XPath [98℄ (XPath 2.0, reommandée par W3C depuis 2007),
étend onsidérablement le pouvoir d'expression de XPath 1.0. Elle ontient des
variables, et ore une possibilité d'exprimer des formules quantiées de FOL. Par
onséquent, elle ouvre pratiquement toutFOL.
Dans le présent travail, nous nous restreignons à XPath 1.0, qui est toujours
largement employé par les utilisateurs d'XML. Nous présentons ii deux approhes
permettant d'évaluer des requêtes positives de XPath, sur les douments XML :
la première (Chapitre 3) est basée sur des systèmes de transitions, et la deuxième
(Chapitre 4) surdes automates de mots. La théoriedes automates a étélargement
utiliséepourl'évaluationde requêtes surlesdoumentsXML [75 ,74,76 ,39 , 73,44 ,
19, 62, 78℄. Dans le ontexte étudié ii, les plus importants sont des automates de
requêtes,proposésparNevenetShwentikdans[76 ℄,pour l'évaluationdesrequêtes
MSO sur les arbres d'arité xe (en anglais ranked) et non xe (unranked). Un
automate de requête est un automate déterministe bidiretionnel d'arbres, qui a
une apaitéde séletionner desn÷uds,grâe àun ensembled'états séletionnants.
Nousutilisonse onept d'étatsséletionnantsdansnotreapprohe présentéedans
leChapitre 4.
Lesarbres d'arité non xeonstituent les meilleurs modèles pour les douments
XML, mais leur utilisation peut être problématique, ar ils peuvent être réursifs
en largeur et en profondeur. Pour aborder e problème plusieurs méthodes on
été employées : Dans [41 ℄ Gottlob et al. redénissent tous les axes de XPath en
n'utilisant que deux relations rsthild et nextsibling, e qui permet d'évaluer des
requêtes sur une représentation binaire (lassique du type rsthild nextsibling)
d'undoumentarbred'ariténonxedonné. Desautomatesdehaie(enanglais
hedge automata) [49, 72 ℄utilisent un niveau de réursivitésupplémentaire dans des
transitions, pour exprimer la réursivité horizontale. Pourtant, une telle extension
syntaxique entraîne de nombreux problèmes tehniques [39, 76℄. Des automates
d'arbres stepwise, dénis dans [19 ℄, ourent surune nouvelle représentation binaire
d'arbres d'arité non xe. En utilisant e odage, les auteurs de [19℄ montrent que
les automates d'arbres stepwise ont le même pouvoir d'expression que le datalog
monadiqueetMSO.Deplus, ilaétémontrédans[62 ℄queesautomatesfournissent
desreprésentations très onises,e qui est important de point de vue duproblème
de minimisation.
Laquestiondelaomplexitéd'évaluationdesrequêtesXPath,surlesdouments
XML,a été abordée dans[41 , 42℄pour les doumentsarboresents, etdans [16,35 ℄
pourlesdoumentsompressés(pourplusd'informationsurl'évaluationdesrequêtes
XPath sur les douments XML ompressés, voir la Setion 1.3). En se basant sur
desobservationsexpérimentales,lesauteursde[41 ℄onstatentquel'évaluationd'une
requêteQdonnéenéessite(danslepiredeas),danslamajorité desévaluateursde XPath existants, un temps exponentiel par rapport à la taille de Q. Pourtant, des
requêtes XPath peuvent être évaluées beauoup plus eaement. Gottlob, Koh
etPihler proposent dans[41℄desalgorithmes quipermettent d'évaluerles requêtes
quelonquesdeXPath entempspolynomialombiné, .àd.,par rapportàlataille
de la requête et la taille du doument. D'ailleurs, ils montrent omment implé-
menter leurs algorithmes dans des évaluateurs de XPath existants. Ils distinguent
deuxfragmentsdeXPath Core XPath etXPatterns pour lesquelsilexiste des
algorithmeslinéaires(entemps)d'évaluation. Danslaversionétenduedeleurartile
([43 ℄),Gottlob,KohetPihlerdéveloppentlesrésultatspréédents,enprouvantque
la omplexité ombinée d'évaluation de requêtes XPath est PTIMEhard. Ils iden-
tient également plusieurs fragmentsde XPath, fréquemment utilisés, pour lesquels
laomplexité ombinée du problèmed'évaluationest dansune lassede omplexité
parallélisable NC
2
. Pour nir ette setion, notons que la omplexité en temps de
nos deux approhes d'évaluation de requêtes, présentées dans les Chapitres 3 et 4,
est linéaire par rapport àla taille de la requête et le nombre d'arêtes du doument
onsidéré.
1.2. Contrle d'aès aux douments XML
Puisque les systèmes informatiques fournissent des appliations multiples aux
utilisateursmultiples,laprotetiondesdonnéesatoujoursétéunequestion lédans
le ontexte de systèmes d'information. Le rle du ontrle d'aès estde permettre
ou interdire à des sujets(utilisateurs ou proessus),d'exéuter desopérations (lire,
érire, modier, supprimer et.) sur des objets (données ou programmes) dans le
systèmeinformatique[57 ℄. Grâeauontrle d'aès,lesystèmepeutlimiterl'aès
à ertaines données, aux utilisateurs non autorisés. Ainsi, les bases de données
relationnelles sont en général aompagnées d'un méanisme de ontrle d'aès,
intégré dans le système, et basé sur des vues, des droits d'aès, ou des tables de
privilèges aordésauxutilisateurs [20 ℄.
L'utilisationtrèsrépandudeXMLaentraînélanéessitéd'introduiredesmodèles
ettehniquespourséuriserlesdonnéesXML.Unertainnombredenormes(omme
OASIS standard [79 ℄, ou XACL [51℄) ont été introduites, pour aborder leproblème
du ontrle d'aès auxdouments XML. Diérentes approhes [71 , 37 , 26 , 27 ,14 ,