• Aucun résultat trouvé

Utilisation d’une logique modale

Chapitre 2 Méthode de définition d’une

2.2 Spécification

2.2.2 Utilisation d’une logique modale

tion d’une politique de sécurité réside dans l’élimination d’un certain nombre des ambiguïtés de la spécification. En effet, une spécification formelle est associée à un langage et à une sémantique bien précis qui éliminent la majeure partie des ambi- guïtés résultant de l’utilisation du langage naturel. En revanche, l’utilisation d’un langage formel ne préserve pas, a priori, de l’introduction de fautes dans la spécifi- cation, et ne facilite pas particulièrement la rédaction si ce n’est par l’effort de structuration qu’il impose.

Un autre atout d’un langage formel réside dans la possibilité de manipuler la spéci- fication en suivant des règles mathématiques, éventuellement avec l’assistance d’un outil de preuve. La possibilité d’effectuer des démonstrations ou de vérifier la vali- dité de certaines propriétés en se basant sur un langage logique est bien évidem- ment une opportunité digne d’intérêt. On peut notamment envisager d’effectuer à partir de la spécification formelle de la politique de sécurité, les différentes vérifica- tions de cohérence citées précédemment (cf 2.1.4) et tenter, d’une part de vérifier que les objectifs de sécurité ne sont pas incompatibles, et d’autre part de démontrer que les règles de sécurité ne permettent pas de mettre en défaut ces objectifs. Toute- fois, on devra garder à l’esprit que, par exemple, ce dernier point correspond dans certains cas à la résolution du problème de protection. Or, dans le cas général ce problème est indécidable. On comprend donc que les démonstrations et les manipu- lations formelles que l’on peut être en mesure d’effectuer à partir de la spécification de la politique de sécurité peuvent être limitées par de tels résultats, ou tout simple- ment par l’état actuel des connaissances en matière de démonstration et l’état de l’art des démonstrateurs automatiques [Rushby 1993].

Le choix d’un langage formel pour la spécification d’une politique de sécurité s’effectue tout d’abord en fonction du domaine d’application bien précis de ce lan- gage. Il semble indispensable de choisir un langage permettant de représenter natu- rellement des notions comme celles d’obligation et d’interdiction, que l’on retrouve dans une politique de sécurité. En même temps, ce langage doit permettre de repré- senter simultanément des objectifs de sécurité, c’est-à-dire des propriétés attendues pour le système, et un état de sécurité réel, qui peut éventuellement ne pas satisfaire ces propriétés. Ceci correspond au cas où l’on souhaite exprimer dans la spécifica- tion les actions devant être effectuées en cas de violation de la sécurité (préface de [Meyer & Wieringa 1993], [Santos & Carmo 1993]. Ces différentes remarques sont à l’origine de notre intérêt pour un langage logique particulier qui est utilisable malgré ces exigences assez particulières : la logique modale, et plus particulière- ment une de ses branches, la logique déontique [Glasgow et al. 1990 ; B i e b e r & C u p p e n s 1 9 9 2 ; J o n e s & S e r g o t 1 9 9 2 ; C u p p e n s 1 9 9 3 a ; Cholvy & Cuppens 1997].

2.2.2 Utilisation d’une logique modale

La logique modale est la logique de la nécessité et de la possibilité. Plus précisé- ment, elle constitue un cadre formel pour l’étude de ces notions, en fournissant, outre une représentation explicite de celles-ci par des opérateurs modaux (✷ pour la

nécessité, ✸ pour la possibilité), la possibilité d’étudier leurs aspects intensionnels et déductifs dans le cadre de la logique formelle, ainsi que leurs aspects extension- nels, par la sémantique des mondes possibles (ou sémantique de Kripke). On peut attribuer la paternité de la logique modale à Aristote dans l’Organon (322 av.J.C.) [Aristote 1992, §I.3, §I.13, §I.8-I.22]. La notion de modalité doit pourtant être prise dans un sens plus général: on peut en effet caractériser les propositions modales par la présence de modes, c’est-à-dire d’éléments modificateurs sur les énoncés. La logique modale s’étend alors à de nombreuses modalités, parmi lesquelles on peut trouver:

• les modalités ontiques:

“Il est (nécessaire, possible, contingent, impossible) que p” • les modalités temporelles:

“Il (sera, a été) (toujours, à un moment donné) vrai que p” • les modalités épistémiques:

“x (sait, croit, doute) que p” • les modalités dynamiques:

“Il est (nécessaire, possible, impossible) en faisant … que p”

• et les modalités déontiques qui nous intéressent plus particulièrement: “Il est (obligatoire, permis, interdit) que p”

La plupart des modalités indiquées ci-dessus ont donné lieu à la définition de diver- ses logiques modales, c’est-à-dire à différentes théories modales obtenues suivant le type de modalité considéré: logique ontique, temporelle, dynamique, épistémique, déontique. On réserve alors le terme de logique modale pour désigner la théorie mathématique de ces diverses théories modales. Celles-ci partagent en effet un cer- tain nombre de caractéristiques communes.

La définition de la notion de nécessité pose des difficultés pour la définition d’un modèle sémantique. Une des innovations de la logique modale [Kripke 1959 ; Kripke 1963] s’appuie sur l’introduction d’un modèle sémantique comprenant un ensemble de mondes différents dans lesquels on considère la valeur de vérité des différentes propositions et notamment des propositions contenant un opérateur modal grâce à la définition que:

“Nécessairement p” est vraie dans un monde w si et seulement si p est vraie dans tous les mondes directement accessibles depuis w.

L’idée ici est que tous les mondes ne sont pas forcément directement (ou même indirectement) accessibles depuis un monde donné w. Un monde w permet d’accé- der directement à un monde seulement si toutes les propositions qui sont vraies dans sont possibles dans w. De la même manière, si une proposition est néces- sairement vraie dans un monde w, elle doit être vraie dans tous les mondes aux- quels w permet d’accéder. L’idée d’utiliser une relation d’accessibilité sur un ensemble de mondes a ouvert l’étude de la logique modale. On établit alors des liens entre les propriétés de cette relation d’accessibilité et le fait que certaines pro- positions modales soient (logiquement) vraies.

wʹ′

wʹ′ wʹ′

2.2.2- Utilisation d’une logique modale 65

La conception traditionnelle de la logique modale est d’abord basée sur la définition d’un langage contenant certaines variables propositionnelles a, b, c,… constituant les phrases atomiques. Des phrases complexes sont ensuite définies et peuvent pren- dre les formes suivantes : (“p n’est pas vraie”), (“si p, alors q” ou “p seulement si q”), et (“nécessairement p”), où p et q sont n’importe quelles phrases (pas nécessairement atomiques). Les autres connecteurs logiques sont défi- nis à partir de ces opérateurs élémentaires, à l’instar de la logique propositionnelle classique (en exceptant ).

Enfin, on peut définir la notion de possibilité (opérateur ✸) à partir de celle de

nécessité par: . On dit que l’opérateur ✸ est un opérateur dual de ✷.

On donne également un nom aux deux dernières combinaisons de l’opérateur modal avec la négation, sans aller jusqu’à les noter spécifiquement : est l’impossibilité, et est l’éventualité.

L’étape suivante est de définir un modèle (ou une interprétation) pour ce langage.

Typiquement, un modèle M est défini comme un triplet , où W est un

ensemble non vide de mondes, R une relation d’accessibilité entre ces mondes, et V une fonction qui associe à chaque phrase atomique p et à chaque monde w une valeur de vérité dans . C’est à partir de ce modèle que l’on peut définir et étudier la logique modale sous ses aspects sémantiques.

On trouvera dans l’annexe A (page 153) une présentation plus complète et plus rigoureuse de la logique modale et d’un certain nombre de résultats associés. Parmi l e s r é f é r e n c e s c l a s s i q u e s d a n s c e d o m a i n e , o n p e u t m e n t i o n n e r [Hughes & Cresswell 1968; Chellas 1980], ainsi que [Catach 1989] pour une étude particulièrement intéressante en direction des langages multimodaux. Dans le cadre de notre étude sur la spécification d’une politique de sécurité, nous nous intéressons plus particulièrement à la logique déontique, dont un certain nombre des domaines d’application potentiels sont présentés dans [Meyer & Wieringa 1993]. La logique déontique introduit trois opérateurs modaux notés O, P et F, présentés ci-après, et respectivement lus comme l’obligation, la permission et l’interdiction.

p ¬ pq p p p ✸ = ¬ ¬p ✷¬ ✷ ¬ W R V, , 〈 〉 vrai faux, { }