13.05.2014 Views

these doctorat une architecture de securité

these doctorat une architecture de securité

these doctorat une architecture de securité

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapitre 3. Étu<strong>de</strong> d’intergiciels sécurisés pour le calcul distribué<br />

tel-00239252, version 1 - 5 Feb 2008<br />

3.4.1 Modèle <strong>de</strong> sécurité<br />

Nous venons <strong>de</strong> voir que la création d’<strong>une</strong> application à l’ai<strong>de</strong> <strong>de</strong>s EJBs suppose la participation<br />

<strong>de</strong> plusieurs acteurs avec <strong>de</strong>s préoccupations différentes. Ainsi, pour que le modèle <strong>de</strong><br />

sécurité fonctionne, un acteur dans un rôle ne doit pas prendre <strong>de</strong> décisions trop spécifiques qui<br />

restreindraient l’ensemble d’opérations d’un autre acteur. Par exemple, le fournisseur <strong>de</strong> Bean<br />

ne doit pas faire <strong>de</strong> supposition sur l’existence d’un mécanisme précis d’authentification étant<br />

donné que ce rôle incombe au déployeur d’applications qui <strong>de</strong>vra choisir un mécanisme adapté à<br />

l’application.<br />

Afin <strong>de</strong> supporter ce paradigme <strong>de</strong> programmation, l’<strong>architecture</strong> <strong>de</strong> sécurité <strong>de</strong>s EJBs inclut<br />

les concepts <strong>de</strong> sécurité suivants :<br />

– Une sécurité basée sur les rôles [22, 76]. Les fournisseurs <strong>de</strong> Beans et les assembleurs d’application<br />

assignent <strong>de</strong>s privilèges <strong>de</strong> sécurité à <strong>de</strong>s rôles et non pas à <strong>de</strong>s utilisateurs. À leur<br />

niveau, ils ne peuvent que concevoir les divers mécanismes d’accès autour <strong>de</strong> divers rôles.<br />

L’assignation <strong>de</strong>s rôles aux utilisateurs ne sera faite que par le déployeur d’application.<br />

– Sécurité déclarative. Un assembleur d’application spécifie <strong>de</strong> manière déclarative, dans le<br />

<strong>de</strong>scripteur <strong>de</strong> déploiement, qui (quels rôles) peut accé<strong>de</strong>r à quels EJBs ou à quelles métho<strong>de</strong>s<br />

d’un EJB. Cette séparation <strong>de</strong> la logique <strong>de</strong> l’application et <strong>de</strong> la politique <strong>de</strong> sécurité<br />

permet <strong>de</strong> pouvoir modifier la politique <strong>de</strong> sécurité d’un EJB sans avoir à modifier son co<strong>de</strong><br />

source.<br />

– Sécurité par programmation. Le développeur d’un EJB peut en utilisant <strong>une</strong> API accé<strong>de</strong>r<br />

aux informations <strong>de</strong> sécurité <strong>de</strong> l’EJB. Il peut vérifier si l’utilisateur courant appartient à<br />

un groupe précis. Toutefois il se peut que le nom d’un rôle choisi par le concepteur <strong>de</strong> l’EJB<br />

ne correspon<strong>de</strong> pas au nom choisi par l’assembleur d’application. Cette situation résulte<br />

notamment <strong>de</strong> la séparation <strong>de</strong>s préoccupations propre à l’infrastructure <strong>de</strong>s EJBs. Cependant,<br />

le lien entre les <strong>de</strong>ux rôles peut être spécifié dans un <strong>de</strong>scripteur <strong>de</strong> déploiement.<br />

– Domaines <strong>de</strong> Protection. Des entités peuvent vouloir communiquer sans passer par les mécanismes<br />

d’authentification. Un domaine <strong>de</strong> protection est un ensemble d’EJBs qui se font<br />

confiance mutuellement (figure 3.10). Quand un EJB interagit avec un autre au sein du<br />

même domaine <strong>de</strong> protection, auc<strong>une</strong> contrainte <strong>de</strong> sécurité n’est positionnée concernant<br />

l’i<strong>de</strong>ntité <strong>de</strong> l’appelant. L’appelant peut propager son i<strong>de</strong>ntité ou choisir <strong>une</strong> i<strong>de</strong>ntité en<br />

fonction <strong>de</strong>s contraintes d’i<strong>de</strong>ntification <strong>de</strong> l’appelé. Les domaines <strong>de</strong> protection sont géné-<br />

FIG. 3.10 – Domaines <strong>de</strong> protection<br />

ralement liés au conteneur d’EJB. Pour les appels entrants, il est <strong>de</strong> la responsabilité du<br />

conteneur d’établir l’i<strong>de</strong>ntité <strong>de</strong> l’appelant sous la forme d’un certificat X.509 ou d’un ticket<br />

Kerberos. En ce qui concerne les appels sortants, le conteneur est responsable <strong>de</strong> l’établissement<br />

<strong>de</strong> l’i<strong>de</strong>ntité <strong>de</strong> l’appelant.<br />

– Propagation d’i<strong>de</strong>ntité ou délégation. L’invocation d’<strong>une</strong> métho<strong>de</strong> d’un EJB par un client authentifié,<br />

peut être réalisée sous l’i<strong>de</strong>ntité <strong>de</strong> l’appelant (propagation) ou sous <strong>une</strong> i<strong>de</strong>ntité<br />

indépendante <strong>de</strong> l’i<strong>de</strong>ntité <strong>de</strong> l’appelant et configurée dans les <strong>de</strong>scripteurs <strong>de</strong> déploiement<br />

(délégation).<br />

40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!