8.2 Spécification de la politique en XML
La politique de confiance de chaque partie est exprimée par une formule logique PPLTL telle que celle que nous avons présentée dans le scénario d’application du chapitre 6. Pour faciliter la spécification et la manipulation des politiques par le programme, nous utilisons le format XML pour les sauvegarder. De cette façon, la politique de chaque entité est stockée dans un fichier XML qui utilise un schéma pré-défini.
Dans JavaHBAC [58], l’auteur a proposé un schéma DSD (Document Structure Description) comportant les éléments de base indispensables à la spécification de la politique d’une application gérant le contrôle d’accès des fichiers. Nous étendons ce schéma pour pouvoir l’utiliser lors de la spécification de la politique de notre scénario.
La politique de confiance de chaque entité est indépendante du module de gestion de la confiance car nous devons pouvoir la modifier (correction, ajout ou suppression de conditions).
Les API du langage Java offrent aujourd’hui un accès à des analyseurs syntaxiques de XML, de nombreux outils standards comme xmllint ou xsltproc permettent de vérifier la syntaxe ou de transformer des documents XML, et comme de plus ce format de document est facile à partager, la spécification de la politique au format XML nous est apparue être un bon choix.
8.2.1 Schéma DSD
Le schéma de description de document proposé par A.Moller et al [56, 69] dans le cadre du projet DSD2.0 nous fournit les éléments de base pour la représentation de nos politiques en logique PP-LTL. Nous pouvons définir les éléments dont nous avons besoin (politiques, actions, formules, événements, quantificateurs ) à partir d’un tag « element ».
En définissant la politique en DSD, nous pouvons adapter l’analyseur syntaxique fourni dans le prototype JavaHBAC [58] pour développer notre application. L’exemple suivant représente une déclaration de la politique en utilisant la syntaxe DSD.
Pour appliquer ce schéma à notre application, il nous faut l’étendre en ajoutant les éléments qui définissent les différents types de permissions pour chaque événement possible dans les formules de la politique.
- les événements concernant le client
- les événements concernant le vendeur
La définition des éléments de base en DSD pour la politique telles que les actions, les opérations logique, les formules. . . se trouve dans l’annexe A.
8.2.2 Politiques des participants
Nous avons défini la politique de chacune des parties engagées dans l’application du scénario sous la forme d’une formule logique PP-LTL. Cette section présente comment nous allons représenter ces politiques en XML, en respectant le schéma que nous venons de décrire.
Client
La politique du client est donnée par les formules logiques suivantes :
-ψ1 : pay_direct =⇒ ¬(payment_request ∧ high_risk ∧
F −1(pay_direct ∧ obj_time_out))
-ψ2 : pay_T T P =⇒ payment_request ∧ [low_risk
∨ (average_risk ∧ G−1 (pay_direct ∧ obj_time_out)]
La représentation de la politique ψ1 en format XML, certains éléments XML définissent les événements pris en compte, d’autres représentant les règles, avec une représentation arborescente classique des formules logiques :
payment_request
object_received
………….
payment_direct
payment_time_out
pay_direct
payment_request
high_risk
pay_direct
obj_time_out
Représentation de la politique ψ2 du client en format XML est donnée en annexe A.
Vendeur
Nous traitons de manière similaire la politique du vendeur, décrite au chapitre 6. La représentation XML complète de cette politique est donnée en annexe A.
8.2.3 Analyseur syntaxique
Un analyseur de fichiers de politique au format XML est fourni avec l’application JavaHBAC. Nous avons adapté les classes PolicyParser et QPolicyParser à notre application en y en ajoutant la prise en compte des actions et des évéments propres à notre scénario.
Lire le mémoire complet ==> <(a title= »Infrastructure de gestion de la confiance sur Internet » href= »https://wikimemoires.net/2013/02/infrastructure-de-gestion-de-la-confiance-sur-internet/ »>Infrastructure de gestion de la confiance sur Internet )
Thèse pour obtenir le grade de Docteur – Spécialité : Informatique
École Nationale Supérieure des Mines de Saint-Étienne