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

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 />

Il est nécessaire <strong>de</strong> rappeler ici que la validité <strong>de</strong> notre mécanisme <strong>de</strong> sécurité peut être mise<br />

en péril si les hôtes ne sont pas <strong>de</strong> confiance. Un hôte malicieux pourrait accé<strong>de</strong>r aux certificats<br />

et clés privées d’<strong>une</strong> entité et compromettre la sécurité <strong>de</strong> l’application. De toutes les ressources<br />

disponibles via le réseau pair-à-pair, seules celles qui <strong>de</strong> part leur i<strong>de</strong>ntité et leur localisation<br />

seront autorisées par les politiques du ou <strong>de</strong>s gestionnaires <strong>de</strong> sécurité pourront être utilisées<br />

par l’application.<br />

L’<strong>architecture</strong> pair-à-pair [30], développée au-<strong>de</strong>ssus <strong>de</strong> la bibliothèque ProActive, permet la<br />

mise à disposition <strong>de</strong> nœuds, donc <strong>de</strong> puissance <strong>de</strong> calcul, aux applications qui en ont besoin.<br />

L’infrastructure du réseau est dite à auto-organisation continue et paramétrée. La construction<br />

et la maintenance <strong>de</strong> ce réseau repose sur un jeu d’échanges <strong>de</strong> messages entre les divers pairs.<br />

Chaque pair du réseau est un objet actif qui possè<strong>de</strong> <strong>une</strong> liste <strong>de</strong> nœuds qu’il peut mettre à la<br />

disposition <strong>de</strong>s applications utilisant le réseau pair-à-pair. Selon sa puissance, <strong>une</strong> machine peut<br />

mettre un ou plusieurs nœuds à disposition.<br />

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

Cette <strong>architecture</strong> nous permet <strong>de</strong> tester notre modèle <strong>de</strong> sécurité dans un environnement qui<br />

possè<strong>de</strong> les caractéristiques suivantes :<br />

– l’environnement est dynamique. Les ressources dont va disposer l’application vont varier au<br />

cours du temps. De nouvelles ressources vont pouvoir être acquises pendant que d’autres<br />

disparaissent, il est également possible d’acquérir à nouveau <strong>de</strong>s ressources qui avaient<br />

disparues ;<br />

– la nature <strong>de</strong>s ressources (runtimes, nœuds, objet actifs) ainsi que leur localisation sont variées.<br />

Du point <strong>de</strong> vue <strong>de</strong> la sécurité, on se retrouve avec <strong>de</strong>s ressources externes, sans lien<br />

direct avec l’i<strong>de</strong>ntité <strong>de</strong> l’application. Chac<strong>une</strong> <strong>de</strong> ces ressources possè<strong>de</strong> sa propre i<strong>de</strong>ntité<br />

et ses propres règles <strong>de</strong> sécurité. Nous nous trouvons dans la cas d’un environnement où la<br />

gestion <strong>de</strong> la sécurité peut être considérée comme décentralisée.<br />

Un serveur pair-à-pair est composé <strong>de</strong> plusieurs objets actifs :<br />

– le P2PService est l’objet actif principal d’un pair. Il créé les autres objets actifs . Il sert les<br />

requêtes d’enregistrement ou les <strong>de</strong>man<strong>de</strong>s <strong>de</strong> ressources.<br />

– le P2PNo<strong>de</strong>Manager gère les nœuds partagés par le pair qu’il représente. Il gère également<br />

le système <strong>de</strong> réservation <strong>de</strong>s nœuds.<br />

– le P2PAcqManager permet <strong>de</strong> maintenir à jour les connexions avec les autres pairs.<br />

– le P2PNo<strong>de</strong>Lookup sert d’intermédiaire lorsque le P2PService <strong>de</strong>man<strong>de</strong> un ensemble <strong>de</strong><br />

nœuds.<br />

– le FirstContact sert lors du démarrage du pair. Il permet d’initier les premiers contacts<br />

avec les autres pairs du réseau.<br />

Le P2PService étant un objet actif, il est possible <strong>de</strong> le transformer en objet actif sécurisé.<br />

// chargement d’un gestionnaire <strong>de</strong> securite<br />

ProActiveSecurityManager psm = new ProActiveSecurityManager("p2p.xml");<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 />

// P2PService Active Object Creation<br />

P2PService p2pService = (P2PService) ProActive.newActive(P2PService.class.getName<br />

(), null, url, null, factory );<br />

Grâce au mécanisme <strong>de</strong> propagation dynamique du contexte <strong>de</strong> sécurité, les objets actifs créés<br />

par le P2PService héritent du contexte <strong>de</strong> sécurité <strong>de</strong> leur créateur. Ce contexte sera également<br />

propagé aux nœuds créés par le P2PNo<strong>de</strong>Manager.<br />

Ainsi, les ressources disponibles dans un réseau pair-à-pair sont vues par le mécanisme <strong>de</strong> sé-<br />

112

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

Saved successfully!

Ooh no, something went wrong!