these doctorat une architecture de securité
these doctorat une architecture de securité
these doctorat une architecture de securité
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Section 1.1. Problématique et objectifs <strong>de</strong> la thèse<br />
– Passage à l’échelle : un <strong>de</strong>s défis <strong>de</strong>s applications distribuées consiste à réunir le nombre<br />
maximal <strong>de</strong> ressources disponibles afin <strong>de</strong> mener à bien leur exécution en un minimum <strong>de</strong><br />
temps. Il est possible d’énumérer toutes les interactions possibles dans un système distribué<br />
comportant peu d’éléments et d’associer à <strong>de</strong>s règles <strong>de</strong> sécurité à chac<strong>une</strong> <strong>de</strong> ces interactions.<br />
Il semble plus improbable <strong>de</strong> réussir à énumérer toutes ces interactions <strong>de</strong> sécurité<br />
lorsque le système comporte plusieurs centaines voire milliers d’entités qui interagissent<br />
entre elles et notamment si l’application ou le système distribué sont capables d’évoluer<br />
dynamiquement. Le mécanisme <strong>de</strong> sécurité doit :<br />
– permettre d’exprimer <strong>de</strong>s règles <strong>de</strong> sécurité sur <strong>une</strong> interaction précise ;<br />
– introduire <strong>de</strong>s mécanismes permettant <strong>de</strong> limiter le nombre <strong>de</strong> règles à écrire sans nuire<br />
pour autant à la sécurité <strong>de</strong> l’application.<br />
– Hiérarchie : Une approche hiérarchique permet un partitionnement <strong>de</strong>s ressources dans<br />
<strong>de</strong>s ensembles distincts qui seront soumis aux mêmes politiques <strong>de</strong> sécurité. Cette classification<br />
<strong>de</strong>s éléments du système permettra aussi d’écrire <strong>de</strong>s règles <strong>de</strong> sécurité plus génériques<br />
dont les sujets seront les ensembles bien qu’au final les règles s’appliqueront sur les<br />
éléments <strong>de</strong> ces ensembles. Ainsi si <strong>une</strong> même politique <strong>de</strong> sécurité doit s’appliquer à toutes<br />
les machines d’<strong>une</strong> grappe <strong>de</strong> calcul, il doit être possible <strong>de</strong> n’écrire qu’<strong>une</strong> seule règle plutôt<br />
qu’<strong>une</strong> règle pour chac<strong>une</strong> <strong>de</strong>s machines <strong>de</strong> la grappe <strong>de</strong> calcul.<br />
tel-00239252, version 1 - 5 Feb 2008<br />
– Transparence : Même si la sécurité est <strong>une</strong> <strong>de</strong>s fonctionnalités les plus <strong>de</strong>mandées dans les<br />
applications distribuées, elle reste cependant souvent mise à l’écart dans le processus <strong>de</strong><br />
développement <strong>de</strong>s applications distribuées. Il existe plusieurs raisons notamment dues :<br />
– au manque <strong>de</strong> connaissances que peuvent avoir les développeurs ou les utilisateurs <strong>de</strong>s<br />
principes liés à la sécurité en général et à la sécurité distribuée en particulier ;<br />
– à l’inadéquation entre les mécanismes <strong>de</strong> sécurité proposés et les besoins <strong>de</strong>s applications<br />
réparties ;<br />
– à la difficulté <strong>de</strong> mise en place <strong>de</strong>s infrastructures <strong>de</strong> sécurité nécessaires.<br />
C’est pour ces raisons que nous voulons traiter les concepts et principes <strong>de</strong> sécurité <strong>de</strong> manière<br />
orthogonale au co<strong>de</strong> applicatif. En utilisant la sécurité <strong>de</strong> manière transparente, nous<br />
allons pouvoir laisser les développeurs continuer à se concentrer sur le développement <strong>de</strong><br />
leurs applications.<br />
– Adaptation : Lorsqu’un objet va être hébergé par <strong>une</strong> machine donnée, il va être soumis à<br />
la politique <strong>de</strong> sécurité imposée par son hôte. Mais cet objet peut aussi possé<strong>de</strong>r ses propres<br />
règles <strong>de</strong> sécurité. Lors d’<strong>une</strong> interaction, plusieurs règles <strong>de</strong> sécurité peuvent venir s’appliquer.<br />
Ces règles peuvent être imposées par l’objet lui-même, par l’hôte ou par d’autres<br />
entités. La règle <strong>de</strong> sécurité finale qui s’appliquera sur <strong>une</strong> interaction donnée sera le résultat<br />
d’un calcul portant sur un ensemble <strong>de</strong> règles <strong>de</strong> sécurité.<br />
– Décentralisation : Les services qu’offrent les systèmes distribués ten<strong>de</strong>nt à être implantés<br />
<strong>de</strong> façon totalement décentralisée. Aucun objet du système ne connaît l’état global <strong>de</strong><br />
celui-ci. Chaque objet doit prendre <strong>de</strong>s décisions en fonction <strong>de</strong>s informations disponibles<br />
localement. Il doit en être <strong>de</strong> même pour notre modèle <strong>de</strong> sécurité qui doit pouvoir prendre<br />
<strong>une</strong> décision <strong>de</strong> sécurité concernant un objet local sans pour autant avoir <strong>une</strong> vision globale<br />
<strong>de</strong> l’<strong>architecture</strong> <strong>de</strong> l’application.<br />
– Evolutivité : Le système doit être capable <strong>de</strong> fournir les fonctionnalités <strong>de</strong> base en termes<br />
<strong>de</strong> sécurité mais aussi fournir un ensemble d’interfaces et <strong>de</strong> modules bien définis afin d’intégrer<br />
et <strong>de</strong> gérer non seulement les fonctionnalités existantes mais aussi celles qui seront<br />
introduites par la suite.<br />
– Multi-utilisateurs : Une application distribuée peut être utilisée par plusieurs utilisateurs<br />
à la fois. Tous ces utilisateurs peuvent avoir <strong>de</strong>s droits différents, certains étant restreints<br />
dans leurs possibilités, les autres non.<br />
3