Thèse soutenue

Un cadre de spécification et de déploi[e]ment de politiques d'autorisation

FR  |  
EN
Auteur / Autrice : Marwan Cheaito
Direction : Abdelmalek Benzekri
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2012
Etablissement(s) : Toulouse 3

Résumé

FR  |  
EN

Notre travail propose une méthodologie de conception et de développement d'un système d'autorisation adaptable aux différentes facettes que peut recouvrir le contrôle d'accès dans les organisations telles que l'hétérogénéité des pratiques organisationnelles, des technologies utilisées et des contextes à considérer. Pour y répondre, deux approches de gestion ont guidé nos études : le contrôle d'accès basé sur des attributs et la gestion à base de politiques. * Le contrôle d'accès basé sur des attributs permet de spécifier des permissions par rapport à toute caractéristique liée de la sécurité des utilisateurs, des actions, des ressources et de l'environnement. Cette approche répond aux problèmes liés à l'expressivité des langages de politiques d'autorisation. * La gestion à base de politiques, quant à elle, vise à permettre l'adaptabilité dynamique du comportement d'un système par le biais de politiques de gestion. Elle repose sur une architecture mettant en exergue deux entités : le Policy Decision Point (PDP) et le Policy Enforcement Point (PEP). Le PDP est une entité indépendante de l'élément géré, qui prend des décisions de gestion par rapport à une politique donnée. Le PEP fait l'interface entre le PDP et l'élément géré. Lorsqu'une requête est effectuée par un utilisateur sur une ressource, le PEP envoie une demande de décision au PDP et l'applique. Ce type d'architecture favorise l'intégration du système de gestion dans un environnement à gérer. Nous avons donc choisi le standard XACML comme technologie cible car il met en œuvre ces deux approches. Si d'un point de vue théorique XACML semble répondre aux problèmes d'adaptabilité, les systèmes conçus selon ce standard aujourd'hui sont limités à une situation donnée. En effet, un système XACML développé pour des besoins et un environnement technologique donnés ne peut pas être facilement réutilisé dans un autre contexte. Il est donc nécessaire de définir une méthodologie de conception et de développement pour rendre un tel système d'autorisation adaptable dans la pratique. Notre approche consiste à définir un système d'autorisation minimal qui puisse être facilement étendu pour des besoins spécifiques et contextuels (e. G. Capacité d'expression et de mise en œuvre de politiques incluant des contraintes complexes, adaptation à un environnement technologique particulier, etc). Ceci amène les questions suivantes : • Quelles extensions doivent être apportées au système d'autorisation minimal ? Est-il possible de réutiliser des extensions pour différentes situations données ? Par exemple, le nombre de technologies utilisées pour stocker les accréditations des utilisateurs est limité (e. G. LDAP, MySQL, Active Directory). Cependant, les accréditations ainsi que la structuration de ces données d'accréditation peuvent différer d'une organisation à une autre. • Comment gérer le cycle de vie des extensions dans le système d'autorisation ? En effet, il existe un lien fort entre l'utilisation d'une extension et les besoins exprimés dans une politique d'autorisation. Par exemple, l'existence dans le système d'autorisation d'une extension permettant de récupérer le rôle de l'utilisateur dans une base de données MySQL n'est nécessaire que si le système d'autorisation doit évaluer au moins une politique incluant des contraintes sur le rôle des utilisateurs. Dans le cas contraire, cette extension n'a pas lieu d'être présente dans le système d'autorisation minimal. De la même manière, si une politique incluant des contraintes sur les rôles des utilisateurs est chargée dans le système d'autorisation, l'extension associée doit être rajoutée. En nous basant sur les différents travaux issus du domaine du génie logiciel liés au concept d'adaptabilité, nous avons défini les besoins d'adaptation des systèmes d'autorisation. Ce travail nous a permis de déterminer une classification des extensions par rapport aux besoins d'adaptabilité des systèmes d'autorisation de type XACML. Nous avons aussi proposé une méthode permettant de faciliter la création d'extensions et favorisant leur réutilisabilité. Enfin, nous avons traité le problème de gestion du cycle de vie des extensions dans le système d'autorisation en proposant le concept de '' politique auto-contenue ''. Une politique auto-contenue comprend les règles d'autorisation ainsi que toute information nécessaire au système d'autorisation pour qu'il l'interprète et qu'il l'exécute (i. E. , les extensions et leurs configurations). Nous avons décrit une architecture pour spécifier et déployer des politiques auto-contenues en utilisant l'approche composants orientés-services. Notre architecture est flexible et dynamiquement adaptable. Nous l'avons implémentée en utilisant le cadriciel OSGi afin de valider notre travail à la fois en termes de faisabilité mais aussi de performance. De plus, nous avons réalisé un éditeur de politique auto-contenue qui facilite l'écriture des règles d'autorisation ainsi que la configuration des extensions utilisées.