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.
Chapitre 6. Implantation dans ProActive : <strong>une</strong> approche transparente<br />
La troisième étape consiste à créer le gestionnaire <strong>de</strong> sécurité à partir <strong>de</strong>s objets créés précé<strong>de</strong>mment<br />
et <strong>de</strong> l’insérer au sein <strong>de</strong> l’ensemble <strong>de</strong> méta-objets qui seront passés à l’objet actif lors<br />
<strong>de</strong> sa création.<br />
// creation du gestionnaire <strong>de</strong> securite<br />
ProActiveSecurityManager psm =<br />
new ProActiveSecurityManager(keyStore,policyServer);<br />
// creation <strong>de</strong>s meta objets du futur objet actif<br />
MetaObjectFactory factory = ProActiveMetaObjectFactory.newInstance();<br />
// ajout du gestionnaire <strong>de</strong> securite aux meta objets<br />
factory.setProActiveSecurityManager(psm);<br />
La <strong>de</strong>rnière étape permet la création <strong>de</strong> l’objet actif sur le nœud par défaut en lui passant<br />
l’ensemble <strong>de</strong>s méta objets nécessaires à sa création.<br />
// pas <strong>de</strong> parametres, appel du constructeur par <strong>de</strong>faut <strong>de</strong> l’objet<br />
Object[] params = { } ;<br />
// creation <strong>de</strong> l’objet sur le noeud par <strong>de</strong>fault<br />
No<strong>de</strong> no<strong>de</strong> = No<strong>de</strong>Factory.getDefaultNo<strong>de</strong>();<br />
tel-00239252, version 1 - 5 Feb 2008<br />
// creation <strong>de</strong> l’objet actif<br />
A a = (A) ProActive.newActive("A", params, no<strong>de</strong> , null, factory);<br />
Cette approche permet la création d’un objet actif sécurisé à partir d’un environnement où le<br />
mécanisme <strong>de</strong> sécurité n’a pas été initialisé. Il est intéressant <strong>de</strong> noter que ce nouvel objet actif<br />
étant <strong>une</strong> entité sécurisé, le mécanisme <strong>de</strong> propagation dynamique du contexte <strong>de</strong> sécurité vu en<br />
5.7 peut entrer en jeu. Dans l’hypothèse où <strong>une</strong> métho<strong>de</strong> <strong>de</strong> l’objet actif A lance la création d’un<br />
nouvel objet actif b <strong>de</strong> type B sans notion explicite <strong>de</strong> sécurité :<br />
public class A {<br />
...<br />
public Object createActiveObject() {<br />
...<br />
B b = (B) ProActive.newActive("B", new Object[] {}, null);<br />
...<br />
}<br />
...<br />
}<br />
alors étant donné que l’objet A contient un gestionnaire <strong>de</strong> sécurité et dans le cas présent, un certificat<br />
d’application, le mécanisme <strong>de</strong> propagation dynamique intercepte le processus <strong>de</strong> création<br />
<strong>de</strong> l’objet actif B, génère un certificat d’entité à partir du certificat d’application et lui affecte les<br />
politiques <strong>de</strong> sécurité <strong>de</strong> l’objet A.<br />
6.1.4 Les domaines <strong>de</strong> sécurité<br />
Un domaine est, par définition, un serveur <strong>de</strong> politiques <strong>de</strong> sécurité qui permet <strong>de</strong> regrouper<br />
sous un même contexte <strong>de</strong> sécurité <strong>de</strong>s entités sécurisées. En tant que serveur, il doit être accessible<br />
à distance par les entités qu’il supervise. Cependant, son accès doit être restreint aux seules<br />
entités qui en ont le droit. En effet, son interrogation par <strong>de</strong>s tiers non autorisés pourrait leur<br />
permettre <strong>de</strong> déceler <strong>de</strong>s failles dans la politique <strong>de</strong> sécurité du domaine.<br />
En résumé un domaine doit être :<br />
– accessible à distance ;<br />
– sécurisé.<br />
Il s’agit tout simplement <strong>de</strong> la définition d’un objet actif sécurisé. Les étapes pour la création d’un<br />
domaine sont les suivantes :<br />
La première étape consiste à créer le gestionnaire <strong>de</strong> sécurité qui va servir à protéger l’objet<br />
actif représentant le domaine <strong>de</strong> sécurité.<br />
102