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