99-these-jensen

Publié par

UNIVERSITÉ JOSEPH FOURIER–GRENOBLE ISCIENCES & GEOGRAPHIETHÈSEpour obtenir le grade deDOCTEUR DE L’UNIVERSITÉ JOSEPH FOURIERDiscipline : INFORMATIQUEPrésentée et soutenue publiquementparChristian Damsgaard JENSENLe 29 octobre 1999Un modèle de contrôle d’accès générique et sa réalisationdans la mémoire virtuelle répartie unique AriasDirecteur de thèse :Sacha KRAKOWIAKCOMPOSITION DU JURY :M. Roland Balter PrésidentM. Claude Bétourné RapporteurM. Bertil FolliotM. Daniel Hagimont Co–directeurThèse préparée au sein du laboratoire Sirac de l’INPG, l’INRIA Rhône–Alpes et l’UJF2RemerciementsJe tiens à remercier l’ensemble des personnes qui, par leurs conseils, leurs encouragementsou leur aide, ont contribué à l’aboutissement de ce travail :Sacha Krakowiak, Professeur à l’Université Joseph Fourier, qui a encadré ce travail ;Roland Balter, à l’Université Joseph Fourier et Directeur du projet SIRAC, quim’a fait l’honneur d’accepter de présider le jury ;.Claude Bétourné, Professeur à l’Université Paul Sabatier, et Bertil Folliot, Professeur àl’Universté Pierre et Marie Curie, qui ont accepté d’être rapporteurs de ma thèse, et par leurscritiques constructives m’ont permis de l’améliorer ;Daniel Hagimont, Chargé de recherche à l’Institut National de Recherche en Informatiqueet Automatique, qui a co–dirigé cette thèse, pour l’inspiration, ses nombreux conseils sur larecherche et nos nombreuses discussions nocturnes sur le balcon. L’occasion de ...
Publié le : jeudi 22 septembre 2011
Lecture(s) : 16
Nombre de pages : 186
Voir plus Voir moins


UNIVERSITÉ JOSEPH FOURIER–GRENOBLE I
SCIENCES & GEOGRAPHIE
THÈSE
pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ JOSEPH FOURIER
Discipline : INFORMATIQUE
Présentée et soutenue publiquement
par
Christian Damsgaard JENSEN
Le 29 octobre 1999
Un modèle de contrôle d’accès générique et sa réalisation
dans la mémoire virtuelle répartie unique Arias
Directeur de thèse :
Sacha KRAKOWIAK
COMPOSITION DU JURY :
M. Roland Balter Président
M. Claude Bétourné Rapporteur
M. Bertil Folliot
M. Daniel Hagimont Co–directeur
Thèse préparée au sein du laboratoire Sirac de l’INPG, l’INRIA Rhône–Alpes et l’UJF2Remerciements
Je tiens à remercier l’ensemble des personnes qui, par leurs conseils, leurs encouragements
ou leur aide, ont contribué à l’aboutissement de ce travail :
Sacha Krakowiak, Professeur à l’Université Joseph Fourier, qui a encadré ce travail ;
Roland Balter, à l’Université Joseph Fourier et Directeur du projet SIRAC, qui
m’a fait l’honneur d’accepter de présider le jury ;.
Claude Bétourné, Professeur à l’Université Paul Sabatier, et Bertil Folliot, Professeur à
l’Universté Pierre et Marie Curie, qui ont accepté d’être rapporteurs de ma thèse, et par leurs
critiques constructives m’ont permis de l’améliorer ;
Daniel Hagimont, Chargé de recherche à l’Institut National de Recherche en Informatique
et Automatique, qui a co–dirigé cette thèse, pour l’inspiration, ses nombreux conseils sur la
recherche et nos nombreuses discussions nocturnes sur le balcon. L’occasion de travailler avec
Daniel et sous la direction de Sacha, m’a encouragé à poursuivre mes études dans un pays
étranger et dans une langue que je maîtrise à peine ;
L’équipe qui a mis en place la plate–forme Arias : Alain, Elizabeth, Frederic, Jay, Maryan-
nick, Olivier, Pascal et Thierry et l’ensemble des personnes du projet SIRAC pour la chaleu-
reuse ambiance qui a régnée dans nos locaux. Je tiens en particulier à remercier mes voisins
de bureau Alain, Ibaa, Maryannick et Olivier (Olaf) pour leur patience, leurs conseils dans les
matières scientifiques et métaphysiques et les nombreux services qu’ils m’ont rendus ;
Enfin, et non les moindres, ma femme Lena et ma fille Michala pour leur patience pendant
la préparation de cette thèse.
34à Lena et Michala
56Table des matières
1 Introduction 17
1.1 Contexte du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Apports du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Organisation du document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Sécurité dans les systèmes répartis 21
2.1 Introduction à la sécurité informatique . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Terminologie de la sécurité . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Objectifs de la sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.3 Menaces contre la sécurité . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.4 Particularités des systèmes répartis . . . . . . . . . . . . . . . . . . . . 25
2.2 Confidentialité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Confinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Canaux de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.2 de communication légitimes . . . . . . . . . . . . . . . . . . . 27
2.3.3 Canaux Cachés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Authenticité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5 Intégrité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6 Disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.7 Politiques de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7.1 Politiques de sécurité physique . . . . . . . . . . . . . . . . . . . . . . 31
2.7.2 de administrative . . . . . . . . . . . . . . . . . . . 31
2.7.3 Politiques de sécurité logique . . . . . . . . . . . . . . . . . . . . . . 32
2.7.4 d’autorisation . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Mécanismes pour mettre en œuvre la sécurité . . . . . . . . . . . . . . . . . . 33
2.8.1 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8.2 Autorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8.3 Communication sûre . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9 Évaluation de la sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.9.1 Le Livre Orange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.9.2 Les ITSEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9.3 Les critères communs . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.10 Récapitulation et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
78 TABLE DES MATIÈRES
3 Contrôle d’accès 41
3.1 Introduction au contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 La structure de sécurité militaire . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Les besoins de la dans les systèmes civils . . . . . . . . . . . . . . . . 44
3.4 Modèle de Bell et LaPadula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Variations du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 Modèle discrétionnaire d’Unix . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.1 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.2 Politique de protection par défaut . . . . . . . . . . . . . . . . . . . . 49
3.5.3 Mécanismes de discrétionnaire . . . . . . . . . . . . . . . . 49
3.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6 Modèle de contrôle d’accès basé sur les rôles . . . . . . . . . . . . . . . . . . 50
3.6.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.7 Modèle de la muraille de Chine . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.8 Mécanismes de contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8.1 Matrice de contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . 53
3.8.2 Liste de contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8.3 Liste de capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9 Particularités des applications réparties . . . . . . . . . . . . . . . . . . . . . . 55
3.9.1 Suspicion mutuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9.2 Contrôle d’accès des sujets non–identifiés . . . . . . . . . . . . . . . . 56
3.9.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10 Récapitulation et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4 Protection par capacités 59
4.1 Introduction historique aux systèmes à capacités . . . . . . . . . . . . . . . . . 59
4.2 Définitions des systèmes à capacités . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.1 Capacités marquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.2 confinées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.3 Capacités chiffrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.4 Définition originale selon Dennis et Van Horn . . . . . . . . . . . . . . 62
4.2.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3 Quelques résultats théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.1 Un modèle formel des systèmes à capacités . . . . . . . . . . . . . . . 63
4.3.2 Une taxinomie des systèmes à capacités . . . . . . . . . . . . . . . . . 64
4.3.3 Une nouvelle taxinomie des systèmes à capacités répartis . . . . . . . . 66
4.3.4 Capacités augmentées . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.5 ICAP — l’identité incluse dans la capacité . . . . . . . . . . . . . . . 71
4.3.6 Capacités actives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Systèmes centralisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.1 Cambridge CAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2 Hydra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.3 Discussion des systèmes centralisés . . . . . . . . . . . . . . . . . . . 77
4.5 Systèmes répartis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78TABLE DES MATIÈRES 9
4.5.1 Amoeba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5.2 Mach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.6 Les mémoires virtuelles réparties uniques . . . . . . . . . . . . . . . . . . . . 82
4.6.1 Opal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.6.2 Mungi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.6.3 Angel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.6.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.7 Récapitulation et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5 Présentation générale d’Arias 93
5.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3 Vue d’ensemble d’Arias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4 Modèle d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5 Réalisation d’Arias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.6 Conditions requises pour la protection d’Arias . . . . . . . . . . . . . . . . . . 99
5.7 Récapitulation et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6 Modèle de protection proposé pour Arias 101
6.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2.1 Généricité du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2.2 Facilité de programmation . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2.3 Évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.4 Réutilisabilité des composants logiciels . . . . . . . . . . . . . . . . . 103
6.2.5 Possibilité d’intégration de logiciels conçus ailleurs . . . . . . . . . . . 104
6.2.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Modèle des capacités cachées . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.1 Vue d’ensemble du modèle . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.2 Domaines de protection . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.3 Changement de domaine . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.3.4 Capacités d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3.5 de changement de domaine . . . . . . . . . . . . . . . . . . 108
6.3.6 Listes de capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3.7 Interfaces de protection . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.8 Changement dynamique de domaine . . . . . . . . . . . . . . . . . . . 110
6.4 L’exemple d’un serveur d’impression . . . . . . . . . . . . . . . . . . . . . . . 111
6.5 Récapitulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 Réalisation du modèle proposé 113
7.1 Interopérabilité entre Arias et Unix . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1.2 Activités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1.3 Domaines de protection . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1.4 Modules de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Gestion des capacités dans Arias . . . . . . . . . . . . . . . . . . . . . . . . . 11510 TABLE DES MATIÈRES
7.2.1 Une première étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2.2 Stockage des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.2.3 C–listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2.4 Format des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.3 Création des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.4 Délégation des . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.4.1 Le droit de délégation . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.4.2 La politique par défaut d’Arias . . . . . . . . . . . . . . . . . . . . . . 121
7.5 Révocation des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5.1 Révocation automatique . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5.2 Rév explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.6 Création d’un domaine de protection . . . . . . . . . . . . . . . . . . . . . . . 122
7.6.1 Création d’un domaine de protection initial . . . . . . . . . . . . . . . 123
7.6.2 d’un serveur de domaine . . . . . . . . . . . . . . . . . . . . 124
7.7 Couplage d’un segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.8 Changement de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.8.1 Interception de l’appel . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.8.2 Changement de domaine : Vue d’ensemble . . . . . . . . . . . . . . . 128
7.8.3 de : l’appel de client . . . . . . . . . . . . . . . 129
7.8.4 de domaine : Coté serveur . . . . . . . . . . . . . . . . . 130
7.8.5 Changement de : retour au client . . . . . . . . . . . . . . . . 132
7.8.6 Surcharge des interfaces de protection . . . . . . . . . . . . . . . . . . 133
7.8.7 dynamique de domaine . . . . . . . . . . . . . . . . . . . 134
7.8.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.9 Interfaces de protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.10 Récapitulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8 Évaluation 137
8.1 Objectif de l’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.2 Généricité du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.2.1 Réalisation d’une politique de contrôle d’accès mandataire . . . . . . . 138
8.2.2 d’une de discrétionnaire . . . . . 141
8.2.3 Réalisation d’une politique de contrôle d’accès basé sur les rôles . . . . 142
8.2.4 de la de la muraille de Chine . . . . . . . . . . . 143
8.2.5 Récapitulation et discussion . . . . . . . . . . . . . . . . . . . . . . . 144
8.3 Facilité de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.3.1 Architectures logicielles . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.3.2 Programmation par étapes . . . . . . . . . . . . . . . . . . . . . . . . 146
8.3.3 Réalisation de NIS sur Arias . . . . . . . . . . . . . . . . . . . . . . . 146
8.3.4 d’un éditeur coopératif sur Arias . . . . . . . . . . . . . . 147
8.3.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.4 Évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.4.1 Evolution des droits d’accès . . . . . . . . . . . . . . . . . . . . . . . 149
8.4.2 Év de la sécurité d’une application . . . . . . . . . . . . . . . . 150
8.5 Réutilisabilité des composants logiciels . . . . . . . . . . . . . . . . . . . . . 150
8.6 Possibilité d’intégration de logiciels conçus ailleurs . . . . . . . . . . . . . . . 152

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.