thesis

Un cadre de spécification et de déploiement de politiques d'autorisation

Abstract

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.Our work proposes a methodology for the conception and the development of an adaptable authorization system that can cover the requirements of access control in organizations such as the heterogeneity of organizational practices, the technologies used and the contexts to consider. To answer, two approaches of management have guided our study: the attribute based access control and the policy based management. * The attribute based access control permits to specify permissions related to any security characteristics of users, actions, resources and environment. This approach addresses the problems related to the expressivity of languages of authorization policies. * The policy based management, for its part, aims to enable the dynamic adaptability behavior of the system through the management of policies. Roughly, the architecture supporting this approach consists of two main entities: a policy decision point (PDP), and a policy enforcement point (PEP). The PDP is independent of the managed element, which interprets the policy and takes management decisions based on it. The PEP is the interface between the PDP and the managed element. It compels the managed system to execute the management decisions taken by the PDP. This architecture supports the integration of the management system in a managed environment. Therefore, we have chosen the standard XACML as a target technology because it supports both approaches. If in a theoretical point of view, XACML seems to address the issues of adaptability. However, systems designed according to this standard are limited to a given situation. In fact, a developed XACML system that satisfies the given requirements and a particular technological environment cannot be easily reused in another context. Therefore, it is necessary to define a methodology in order to render such authorization system adaptable in practice. Our approach is to define a minimal authorization system (i.e. a core that only supports the standard XACML) that can be easily extended for specific requirements in a given situation (ex., the ability to express and implement policies including complex constraints, adaptation to a particular technological environment, etc.). This raises the following questions: * What extensions that should be imported to the minimal authorization system? Is it possible to reuse the extensions for different situations? For example, the number of technologies used to store the user credentials is limited (ex., LDAP, MySQL, Active Directory). However, the user credentials and the structuring of the data of user credentials may differ from one organization to another. * How to manage the lifecycle of the extensions in the authorization system ? In fact, there is a strong link between the use of an extension and the requirements expressed in an authorization policy. For example, the existence in the authorization system of an extension to retrieve the role of the user in a MySQL database is required only if the authorization system must evaluate at least one policy that includes constraints on the role of users. Otherwise, this extension does not happen to be present in the minimal authorization system. Similarly, if a policy including constraints on user roles is loaded into the authorization system, the associated extension must be added also. Based on the various studies from the field of software engineering related to the concept of adaptability, we have identified the requirements of adaptation of authorization systems. This work allows us to determine a classification of extensions according to the requirements of adaptability in authorization systems of type XACML. We have also proposed a methodology to facilitate the creation of extensions and promoting their reusability in the authorization system. Finally, we have addressed the problem of managing the lifecycle of the extensions in the authorization system by proposing the concept of "self-contained policy". A self-contained policy includes the authorization rules and any necessary information in order the authorization system interprets and runs it (i.e., the extensions and their configurations). Also, we have described the architecture for specifying and deploying self-contained policies using the approach components-oriented services. Our architecture is flexible and dynamically adaptable. We have implemented it using the OSGi framework in order to validate our work in both terms of feasibility, and performance. In addition, we have conducted a self-contained policy editor that facilitates the writing of authorization rules and the configuration of the used extensions

    Similar works