Transcript Document

MAC
Mandatory Access Control
Contrôle d’accès obligatoire
1
Pourquoi MAC
• Dans les organisations, il existe normalement des ressources qui
doivent être administrées par le gérant du système selon des
politiques qui échappent à l’usager
• Autrement dit, le système est le propriétaire et impose des règles
d’utilisation rigides
• Le but principal des systèmes MAC est de protéger l’information
– Ce but est obtenu en limitant les droits des usagers sur les objets qui
contiennent les informations
• Plusieurs exemples de MAC sont connus
2
Exemples de MAC
• Bell-LaPadula
• Multi-level Access Control (MLS)
– généralise le précédent
• Biba
• Muraille de Chine
• Plusieurs autres …
3
Bell-LaPadula: motivation
• Dans un environnement
hiérarchique, p.ex. militaire
– Les supérieurs peuvent
s’informer au sujet des
inférieurs, pas le contraire
– Les inférieurs peuvent
informer les supérieurs, mais
personne ne peut divulguer
à des niveaux inférieurs les
informations acquises
– Autrement dit, l’information
doit pouvoir être
transférée seulement vers
l’haut de la hiérarchie
4
Bell-LaPadula: besoins
• Introduit originairement pour les applications militaires
• Hypothèse:
– Nous avons un ensemble ordonné de niveaux de permission
• P.ex. de soldat (bas) à général (élévé)
– Nous avons des informations qui sont plus ou moins
‘délicates’
• Besoin
– Les informations peuvent être transférées des niveaux bas
vers les niveaux plus élévés, mais pas dans le sens contraire
5
Implémentation
• Pour contrôler le flux de l’information, nous
contrôlerons le mouvement des fichiers (objets) qui
les contiennent
– Les opérations de lecture ou écriture qui transfèrent les
informations vers l’haut sont permises
– Les opérations de lecture ou écriture qui transfèrent les
informations vers le bas ne sont pas permises
6
Implémentation:
Niveaux de sujets et objets
• Les sujets sont classés par Niveau d’autorisation
• Les objets sont classés par Niveau de sensitivité
• Pour simplicité, nous ferons l’hypothèse que les deux classes de
niveaux sont les mêmes:
– P.ex.
•
•
•
•
Très secret
Secret
Confidentiel
Public
7
Propriétés
• (Propriété simple, lecture) Read down, No read up
– Un sujet à un niveau peut lire un objet ssi le niveau de l’objet
est inférieur ou égal au niveau du sujet
• Cette propriété n’est pas suffisante pour limiter la diffusion des
informations!
• (Propriété *, écriture,) Write up, No write down
– Un sujet à un niveau peut écrire sur un objet ssi le niveau de
l’objet est supérieur ou égal au niveau du sujet
• Car il faut empêcher à un usager de déclassifier les informations en
recopiant les objets qui les contiennent à des niveaux inférieurs
Les propriétés devraient être appelées contraintes ou politiques
8
Graphiquement
Propriété *
Propriété simple
Top Secret
Top Secret
Secret
Secret
Confidentiel
Confidentiel
Ne pas lire en haut
Ne pas écrire en bas
Dessins de Sofiene Boulares
9
Exemple
Très sécret
Johanne
Fichier Personnel
Secret
Kamel
Courriels
Confidentiel
Jocelyne
Mémorandum
Public
Richard
Communiqués
• Kamel peut lire au niveaux Secret, Confidentiel,
Public
• Il peut écrire aux niveaux Secret et Très secret
– S’il pouvait écrire au niveau Public il pourrait copier des
fichiers du niveau Secret au niveau Public, etc.
• Déclassant donc ces fichiers et les infos y contenues
10
Tableau de contrôle d’accès
Fichier
Courriels
Personnel = = S
TS
Mémos =
C
Communiq
ués = P
Johanne = TS
R, W
R
R
R
Kamel = S
W
R, W
R
R
Jocelyne = C
W
W
R, W
R
Richard = P
W
W
W
R, W
TS > S > C > P
11
Propriété globale
• Par un simple raisonnement inductif, on voit donc que la propriété
globale suivante est préservée:
– Aucun usager ne peut arriver à lire des informations qui sont à un
niveau de sensibilité supérieur à son niveau d’autorisation
• Base: par définition, ceci n’est pas possible au début
• Pas d’induction: on voit que, étant donné que après n opérations la propriété est
préservée, donc elle sera préservée après n+1 opérations car:
– Ceci est évident dans le cas où l’opération n+1 est une opération de lecture (aucun
changement dans les droits d’accès)
– Si l’opération n+1 est une opération d’écriture, elle ne pourra que déplacer un fichier
vers un niveau de sensibilité égal ou supérieur, donc la propriété est préservée
– NB: il est nécessaire d’introduire le concept de niveau de sensibilité des informations,
qui reste inchangé malgré que le niveau de sensibilité leurs contenants, les fichiers,
change en les recopiant à des niveau différent
12
Exemple
Marc travaille sur un projet A1
Harry travaille sur un projet A2
Aucune information ne peut circuler A1A2
Marc
Fichier de
Projet A1
Marc
Harry
Fichier de
Projet A2
Harry
Exemple de Sofiene Boulares
13
Séparation entre objets et
informations
• Pour bien comprendre BLP, il est nécessaire d’insister sur la distinction entre
– Information et
– Objets, ou fichiers, qui contiennent l’information
• Au lieu, on peut confondre la distinction entre sujets et objets
– On se concentre donc sur le flux d’information entre classes de sécurité
– Car les sujets peuvent lire et écrire dans les objets de leurs niveaux
• L’information est protégée en forçant un certain flux
– Du bas à l’haut
• Ce flux est forcé en limitant ce que les sujets aux différents niveaux peuvent faire
avec les objets-fichiers
14
BLP Extension 1
• La prohibition d’écrire à un niveau inférieur ne
permet pas la transmission des ordres!
• Pour ce faire, un usager peut décrémenter son
niveau à un niveau inférieur
– Il peut donc avoir un niveau maximal
– Et un niveau courant
• P.ex. un colonel peut descendre au niveau d’un sergent
pour donner des ordres à un sergent ou à niveau entre
sergent et colonel
15
BLP extension 2
• Pour mieux implémenter le critère de ‘besoin de savoir’ on a dans BLP des
catégories d’informations dans chaque niveau
• P.ex. dans l’ensemble des fichiers d’une organisation on peut avoir:
– Fichiers ‘Géographiques’, ‘Budgétaires’, ‘Techniques’ etc.
– En plus d’avoir des niveaux de sensitivité et d’autorisation, les usagers et les
objets appartiennent aussi à des catégories d’informations
– Les catégories traversent les niveaux
– Contrainte additionnelle: un sujet ne peut accéder qu’à des fichiers dans sa
propre catégorie:
• partition des données
16
Treillis de catégories
d’informations
• Les informations peuvent être structurées, et un
sujet peut avoir accès à des sous-ensembles de
catégories
• Ceci conduit à un modèle plus complexe
17
Exemple
• Marie: (TopSecret {NUC, EUR, ASI})
• Jean: (Secret, {NUC, ASI } )
• Tom: (Confidential, {EUR, ASI } )
• Marie a plus de droit d’accès que Jean ou Tom,
• Jean a plus de droits d’accès que Tom aux objets dans la
catégorie ASI,
• Cependant Tom a des droits d’accès dans la catégorie EUR, que
Jean ne peut pas toucher
18
Rélation dom
(A,C) dom (A,C) ssi A≤ A et C C
Examples
– (Top Secret, {NUC, ASI}) dom (Secret, {NUC})
– (Secret, {NUC, EUR}) dom (Confidential,{NUC, EUR})
– (Secret, {NUC, EUR}) dom (Secret, {NUC})
– (Top Secret, {NUC}) dom (Confidential, {EUR})
19
Ensembles partiellement ordonnés
• Un ensemble partiellement ordonné (L,R) est un
ensemble L muni d’une rélation R qui est réfléxive,
antysimétrique et transitive
– Les rélations ≤ et  sont de ce type
– La rélation dom l’est aussi
20
Treillis
• Un treillis est un ensemble partiellement ordonné (L, ≤) qui
satisfait aux conditions suivantes:
– Pour n’importe quel paire d’éléments (a,b) ∈ LxL il existe
• Un élément c tel que a≤c et b≤c (borne supérieure)
– Cet élément c sera écrit a⊕b
• Un élément d tel que d≤a et d≤c (borne inférieure)
– Cet élément sera écrit ⊗
– Par conséquence, un ensemble partiellement ordonné a
• Un ‘plus grand élément’, borne supérieure de tous
• Un ‘plus petit ‘élément’, borne inférieure de tous
21
Treillis pour l’exemple précédent:
catégories
• L’ensemble de tous les sous-ensembles des catégories
précédentes forme un treillis pour la rélation  :

NUC, EUR, US
NUC, EUR
NUC, US
EUR, US
NUC
EUR
US
∅
22
Treillis pour l’exemple précédent:
Niveaux de sécurité
TopSecret
<
Secret
<
Confidential
23
Treillis global
• Le treillis global pour notre exemple est le produit des deux treillis
précédents
• Le produit de deux treillis est un treillis, donc le treillis global sera aussi
un treillis
• Le ‘plus grand élément’ de ce treillis est:
– (TopSecret, {NUC, EUR, US}) (l’usager qui a accès à tout)
• Le ‘plus petit élément’ est:
– (Confidential, ∅) (l’usager qui n’a accès à rien)
– Le treillis a 3x8=24 éléments:
– Exercice: Énumérez-les!
• Ce treillis montre la direction du transfert de l’information dans
l’organisation concernée
24
Autre exemple (R. Sandhu)
TS, {A,B}
TS, {B}
TS, {A}
TS, ∅
S, {A,B}
S, {A}
S, {B}
S, ∅
25
Et encore …
• Comme nous avons des modèles dans lequel il
n’y a que des niveaux de sécurité
– Une seule classe
• Nous pouvons aussi avoir des modèles où il n’y
a que des classes
– Un seul niveau de sécurité
26
Propriété simple et propriété *
• Pour tous les modèles MAC, la théorie fait distinction
entre propriété simple et propriété étoile *
– Propriété simple: concerne la lecture
– Propriété * : concerne l’écriture
• Dans BLP, il est difficile de voir l’utilité de la propriété
simple toute seule, sans aucune contrainte sur l’écriture
– Car un supérieur pourrait causer une fuite d’informations vers
le bas
– Normalement les deux propriétés sont utiles ensemble
On devrait plutôt les appeler contraintes ou politiques
27
Modèle Biba
• Dans BLP, le but est d’empêcher le flux de l’information vers
le bas
– Le permettre seulement vers le haut confidentialité
• Dans Biba, le but est d’empêcher le flux de l’information
vers l’haut
– Le permettre seulement vers le bas
– But typique: éviter que l’information provenant de l’haut soit polluée
par des sources inférieures intégrité
• Ex typique: les employés ne peuvent pas changer les directives
• Autre exemple: un programme exécuté en haut serait plus fiable qu’un
programme exécuté en bas
28
Propriétés Biba
Biba est dual par rapport à BLP:
(propriété *, écriture,) Write down, No write up
Un sujet à un niveau peut écrire sur un objet ssi le niveau de
l’objet est inférieur ou égal au niveau du sujet
(propriété simple, lecture) Read up, No read down
Un sujet à un niveau peut lire un objet ssi le niveau de l’objet
est supérieur ou égal au niveau du sujet
• Sans ceci des sujets pourraient acquérir des information au bas et les
écrire à leur propre niveau,
– progressivement jusqu’aux niveaux les plus élévés
29
Permissions et interdictions dans Biba
Dessin de Sofiene Boulares
30
Exécution de programmes
• BLP et Biba peuvent inclure des règles
d’exécution de programmes:
– BLP: un sujet X peut exécuter un sujet Y ssi X≤Y
– Biba: un sujet X peut exécuter un sujet Y ssi X≥Y
• Dans les deux cas, un sujet ne peut pas augmenter ses
droits en exécutant un programme
– P.ex. dans Biba la capacité de Y de transférer l’information vers
l’haut n’excède pas la capacité de X
31
Cas intéressants
• Politique: Les directives sont transférées de
l’haut vers le bas, mais tous peuvent les lire
– Pour implémenter ceci, il est suffisant d’avoir Biba *
sans Biba simple
• Politique: Les statistiques sont transférées du
bas vers l’haut, mais tous peuvent les lire
– Pour implémenter ceci, il est suffisant d’avoir BLP *
sans BLP simple
32
Combinaison BLP-Biba v. 1
• BLP est un modèle de confidentialité, Biba est un
modèle d’intégrité
• Les combiner carrément ensemble pour les mêmes
données conduit à une situation où chaque niveau peu
lire ou écrire seulement sur lui-même
• Le flux d’information entre niveaux est défendu
33
Combinaison BLP-Biba v. 2
• BLP et Biba peuvent aussi être combinés à condition que
chaque modèle s’applique à des catégories d’information
différentes
• Cas limites:
– Les objets de plus haute confidentialité et plus basse
intégrité peuvent seulement lire des autres
– Les objets de plus haute intégrité et plus basse
confidentialité peuvent seulement écrire sur les autres
• Voir Benantar ACS p.143
34
Modèle Lipner
• Le modèle de Lipner profite de la possibilité de
combiner les deux modèles de confidentialité et
d’intégrité
– Voir Bishop – CS-A&S 6.3.2
35
Principe de tranquillité
• Le principe de tranquillité dit que les sujet et les
objets ne peuvent pas changer de niveau de
sécurité
• En pratique, ceci est trop inflexible et certains
changements peuvent être admis, avec certaines
précautions
36
Composition de politiques
(HIGH, {EAST, WEST})
(TS, {EAST, SOUTH})
(TS, {SOUTH})
(TS, {EAST})
(S, {EAST, SOUTH})
(HIGH, {EAST}) (HIGH, {WEST})
(S, {SOUTH})
(S, {EAST})
LOW
LOW
Bishop: CS A&S
37
Composition
• Pourquoi:
– Un ensemble de fichiers qui est sous l’autorité de deux
administration différentes
– Les politiques de chacune des deux administrations
doivent être respectées conjointement
– Si un usager n’a pas le droit pour administration X ou Y,
il ne doit pas l’avoir dans le système combiné
38
Comment composer
(HIGH, {EAST, WEST})
(TS, {EAST, SOUTH})
(TS, {SOUTH})
(TS, {EAST})
(S, {EAST, SOUTH})
(HIGH, {EAST}) (HIGH, {WEST})
(S, {SOUTH})
(S, {EAST})
LOW
LOW
• Observons que quelques étiquettes sont identiques
– LOW, EAST sont à gauche et à droite etc.
– Nous supposons qu’ellent veulent dire la même chose
• Quelques étiquettes sont différentes
– HIGH seulement à gauche, SOUTH seulement à droite etc,
– Nous devons établir la rélation entre ces deux ensembles
39
(HIGH, {EAST, WEST})
(TS, {EAST, SOUTH})
(TS, {SOUTH})
(TS, {EAST})
(S, {EAST, SOUTH})
(HIGH, {EAST}) (HIGH, {WEST})
(S, {SOUTH})
(S, {EAST})
LOW
Rélations entre étiquettes
différentes
LOW
• Supposons que les catégories sont indépendentes
– Nous aurons donc trois catégories différentes
• EAST, WEST, SOUTH
• Supposons que LOW veuille dire la même chose et que les niveaux
soient dépendants comme suit:
– LOW<S<HIGH<TS
• Quelques unes des rélations résultantes:
– (S,{WEST}) indépendant de (HIGH,{EAST})
– (HIGH,{SOUTH}) < HIGH,{EAST,SOUTH})<(TS,{EAST,WEST, SOUTH})
40
Exercice
• Dessiner le treillis composé entier
41
Autres manière de composer
• On pourrait aussi supposer que les niveaux dans les deux
treillis soient indépendants
• Dans ce cas, l’ensemble des niveaux dans le treillis
résultant serait le produit cartésien des niveaux des deux
treillis d’origine
• Un sujet aurait donc une paire de niveaux, p.ex. (HIGH, S)
et pourrait donc accéder à tous les niveaux jusqu’au sien
• Les conditions d’accès sont la conjonction simple des
conditions dans les deux treillis originaires
42
Autres extensions de BLP
• BLP a été très étudié et des nombreuses
extensions ont été proposées pour l’adapter à fins
différents
• Plusieurs extensions ont conduit à des failles,
comme l’extension suivante dans laquelle on
permet aux sujets de créer des objets et d’en
changer le niveau
43
Canaux couverts dans BLP
• S, sujet de bas niveau, S’ sujet de haut niveau
• Ils se mettent d’accord afin que S’ puisse passer un bit d’info à S,
dans la manière suivante:
• S crée un nouveau objet O
• S’ peut changer ou non le niveau de A, le rendant inaccessible à
O
• Quand S cherchera à lire de O, il saura si S’ lui a dit ‘oui’ ou ‘non’
44
Limites de BLP
• Fiable quand le système est statique
– Défendu de créer des nouveaux sujet ou objets
– Défendu de changer de niveaux
• Ou administré de manière très stricte: p.ex.
– Les changements de niveaux peuvent être faits seulement après
des précautions particulières
• Un sujet qui passe à un niveau inférieur peut avoir stocké des
informations au niveau précédent et les rendre disponibles à son
nouveau niveau
• Il pourrait être très difficile de structurer une organisation
selon BLP ‘stricte’
45
Modèle treillis de Denning:
Une abstraction
V. Benantar Chap. 4
46
Modèle treillis de Denning
• Dans le modèle treillis on ne parle plus de sujets et
objets mais seulement de flux d’information entre
niveaux de sécurité
– Qui forment un treillis
• Abstraction très utile
– Mais pour l’implémentation le flux d’information est
conditionné par les restrictions sur les lectures et
écritures des objects
– V Benantar Chapitre 4
47
Ensemble SC, Rélation , Opérateurs⊗⊕
• Il existe un ensemble fini SC de classes de sécurité
• La rélation  dans SC dénote le flux d’information. Elle est:
– Réfléxive: A A pour tout A
– Transitive: A B et B C implique A C
– Antisymétrique: A B et B A implique A=B
• L’opérateur ⊕ dans SC est la jonction:
– A⊕B est le plus grand dénominateur commun entre A et B par rapport à la
rélation
– A A⊕B et B A⊕B
• L’opérateur ⊗ dans SC est l’intersection
– A⊗B A et A⊗B B
48
Critère de sécurité (safety)
• Un système est sécuritaire si on ne peut pas avoir
des séquences d’opérations (read, write) qui créent
un flux différent de celui spécifié par 
– Ceci considère aussi les opérations d’affectation
a=f(b1,…,bn) qui peuvent être vues comme des lectures
suivies par une écriture
49
Condition pour la sécurité
• Essentiellement, si SC est un treillis fini pour les
opérateurs , ⊕, ⊗ il est sécuritaire
• Donc il n’y a pas de flux d’information autre que
celui spécifié par 
– Avec son extension transitive, évidemment
50
Application à BLP
• BLP respecte ce modèle car:
– L’ensemble de niveaux de sécurité est fini
– L’opérateur est la relation dom inversée
• L’information peut être transférée de A à B ssi B dom A
• Nous avons en fait vu comment les systèmes BLP peuvent
être representés comme treillis
51
Non-Interférence
52
Non-Interférence
• Un système est vu comme une machine avec entrées et sorties
• Les entrées et sorties sont classifiées à niveaux
– Bas ou haut selon leur niveau de sécurité
• Un système respecte le critère de non-interférence ssi tout calcul
pour des résultats de bas niveau sera toujours indépendant des
entrées d’haut niveau
– Les entrées d’haut niveau n’ont aucun effet sur le calcul des sorties de
bas niveau
– Donc il n’y a aucune fuite d’informations de l’haut niveau vers le bas
niveau
• Un critère très stricte
53
Cas concret
• Supposons un programme qui, pour une personne, prend en
entrée sa date de naissance, contenant:
– Le jour de son anniversaire (donnée publique)
– Son année de naissance (donnée confidentielle)
• Le programme peut être utilisé pour effectuer
– L’envoi automatique à tous d’un message de souhaits
• Ceci doit être effectué sans donner aucune indication qui puisse faire
connaître l’année de naissance
• Cette partie du programme ne devrait pas la lire
– L’envoi d’un message confidentiel lui annonçant sa date et conditions de
retraite
• Tous les éléments de la date de naissance sont utilisés
54
Plus formellement
• Dénotons par
– hi une donnée d’haut niveau de sécurité
– bi une donnée de bas niveau
• Un calcul bj = F(h1, … ,hn, b1, …, bn) doit être une
fonction de b1 … bn exclusivement
– doit être indépendent des valeurs de h1 … hn
• Tandis que un calcul hj = F’(h1, … ,hn, b1, …, bn)
peut être une fonction de tous les arguments
55
BLP et non-interférence
• BLP respecte le critère de non-interférence
seulement s’il est statique
– Sinon les canaux couverts sont possibles
56
Trop stricte!
• Le critère de la non-interférence est trop stricte!
• Exemple: vérification d’un mot de passe
– Nous avons une fonction qui prend comme argument une donnée
secrète, une publique et donne comme résultat une donnée
publique
– Notez que même dans ce cas le critère n’est pas vraiment erroné
car utilisant les données publiques on peut dans des cas faciles
trouver la donnée secrète
57
Prise en compte du chiffrage
• L’idée de base du chiffrage est d’utiliser des
fonctions F qui permettent de calculer bj = F(h1, … ,
hn, b1, …, bn) de manière que h1, … ,hn soient
pratiquement impossibles à récupérer à partir de bj
58
Muraille de Chine (Chinese Wall)
• Exemple d’une compagnie de consultation
• Peut avoir plusieurs clients en concurrence, p.ex. Nokia et Samsung
• Doit éviter le transfert d’informations confidentielles entre les employés qui
s’occupent de Nokia et les employés qui s’occupent de Samsung
• Après qu’un employé aura eu accès à une information de Nokia, tout accès aux
fichiers de Samsung sera défendu et vice-versa
• On considère aussi les objets ‘désinfectés’ qui ne contiennent pas des informations
réservées, mais ils ne seront pas discutés ici
• Cette politique est aussi appelée “Brewer and Nash” du nom de ses inventeurs
59
Structure
• Les entités (sujets et objets) sont organisées dans
des classes de conflit d’intérêt
– {Nokia,Samsung} est une telle classe
– Autre exemple (Bishop: CS A&S)
Bank COI Class
Bank of America
Citibank
Bank of the West
Gasoline Company COI Class
Shell Oil
Union ’76
Standard Oil
ARCO
Autre vision
Un sujet qui peut lire inf2 ne peut pas lire inf4
Il peut cependant lire dans les classes CI2 ou CI3
Ce sujet ne peut écrire que dans inf1, inf2 ou inf3
Dessin de Sofiene Boulares
61
Besoins
• (confidentialité) Un sujet ne peut pas recevoir des informations
de deux organisations en conflit d’intérêt
• (intégrité) Un objet ne peut pas recevoir des informations de
deux organisations en conflit d’intérêt
– Ce deuxième besoin est impliqué par le premier
S
Banque
Royale
O
TorontoDominion
Banque
Royale
TorontoDominion
62
Concept d’”accès préalable”
• Accès = Lecture ou écriture
• Les droits d’un sujet dépendent de ce que le sujet a
déjà accédé précédemment
• P.ex. s’il a déjà lu des données d’une cie en conflit
d’intérêt avec une autre, il ne peut pas lire dans
cette deuxième
63
Contraintes pour une implémentation
• (Propriété simple) Un sujet S peut accéder à un objet O ssi un des
suivants est vrai:
– S a déjà accédé à un objet dans la même compagnie
• Ce fait le place dans une certaine classe de conflit d’intérêt
– Tous les objets que S a déjà accédé sont dans des classes de conflit
différentes de celle de O
• (Propriété * ) Un sujet S peut écrire un objet O ssi les deux suivants
sont vrais:
– La propriété simple permet à S d’accéder à O
– S peut lire seulement les objets de la même compagnie de O
• Cette deuxième règle est pour éviter des fuites d’information, voir exemple suivant
64
Exemple pour *
•
(Propriété * ) Un sujet S peut écrire un objet O ssi les deux suivants sont vrais:
– La propriété simple permet à S d’accéder à O
– S peut lire seulement les objets de la même compagnie de O
• Alice peut lire des objets dans la Banque Royale et Shell (dans
classes de conflit différentes)
• Bob peut lire Banque Desjardins et Shell (OK pour propr. simple)
• Si Bob pouvait écrire sur Shell, il pourrait transférer des
information de Desjardins à Alice
65
Éviter fuites indirectes
• Cette règle limite beaucoup l’utilité de ce modèle mais elle ne
peut pas être évitée
• Supposons qu’on ajoute la règle que S peut écrire sur O
seulement si aucun sujet en conflit avec la cie de O ne peut y lire
• La fuite peut encore se vérifier par l’entremise de Carol!
Alice
Banque1
Shell
Banque2
Bob
Honda
Les infos de
Banque2
peuvent se
trouver dans
Honda
Carol
66
Propriétés dérivées
• Pouvoir d’écriture très limité:
– Un sujet qui a déjà lu des objets d’une seule compagnie
ne peut écrire que sur les objets de cette même cie
– Un sujet qui a déjà lu des objets de plus d’une
compagnie ne peut plus écrire sur aucun objet
• Même si les cies ne sont pas en conflit
67
Succès de CW
• Malgré ses limites, le CW ou des mécanismes
semblables sont prescrits dans des lois sur la
comptabilité et la finance
68
Puissance relative
• CW est plus puissant que BLP
– CW peut émuler BLP
– BLP ne peut pas émuler CW
• Dans BLP on ne peut pas garder la connaissance de ce qui
s’est passé avant
– Les accès précédents
69
Flux d’information
• On voit que dans CW l’information peut être
transférée seulement entre objets d’une même
compagnie
– Le transfert est impossible entre sujets de cies
différentes, même si elles sont dans des classes
différentes de conflits
• (Cependant le flux entre objets désinfectés n’est
pas empêché)
70
Propriété additionnelle
• Les contraintes présentées assurent une propriété
additionnellè:
– Qu’aucun sujet ne peut écrire dans deux objets dans deux
classes de conflit différentes
• P.ex. Alice écrit dans les bases de données de deux banques des
informations pour convaincre chacune que l’autre lui fait concurrence
déloyale
Alice
(Cas un peu théorique si
vous voulez)
Banque1
Banque2
71
Plusieurs versions
• CW existe aussi en plusieurs versions
• Une version souvent utilisée est de définir “l’accès
préalable” comme lecture seulement
– Une écriture ne place pas un sujet dans une classe de
conflit d’intérêt
– La propriété additionnelle que nous venons de
mentionner n’est pas vraie dans ce cas
72