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 />
6.1 Création <strong>de</strong>s entités sécurisées<br />
6.1.1 Le runtime sécurisé<br />
Comme toute entité sécurisée, un runtime possè<strong>de</strong> <strong>une</strong> i<strong>de</strong>ntité et <strong>une</strong> politique <strong>de</strong> sécurité.<br />
Ces paramètres peuvent être imposés au runtime soit lors <strong>de</strong> sa création (cas 1 et 2) comme<br />
paramètres du programme qui lance le runtime, soit lors <strong>de</strong> la création effective du runtime,<br />
dans le co<strong>de</strong> (cas 3).<br />
1. en utilisant les <strong>de</strong>scripteurs <strong>de</strong> déploiement. Il est possible lors <strong>de</strong> la définition du processus<br />
qui lancera un runtime <strong>de</strong> spécifier le <strong>de</strong>scripteur <strong>de</strong> sécurité que le runtime <strong>de</strong>vra utiliser.<br />
<br />
<br />
<br />
<br />
<br />
tel-00239252, version 1 - 5 Feb 2008<br />
2. en utilisant les scripts <strong>de</strong> démarrage fournis avec la bibliothèque. Par exemple, sous Linux<br />
la comman<strong>de</strong> serait la suivante :<br />
# ./startRuntime.sh runtime_policy.xml<br />
3. en utilisant <strong>de</strong> manière fonctionnelle l’interface <strong>de</strong> programmation prévue à cet effet.<br />
// creation du gestionnaire <strong>de</strong> securite<br />
// le <strong>de</strong>scripteur <strong>de</strong> securite "runtime_policy.xml" contient les parametres<br />
// du runtime securise<br />
ProActiveSecurityManager psm = new ProActiveSecurityManager("runtime_policy.<br />
xml");<br />
// creation du runtime et affectation du gestionnaire <strong>de</strong> securite<br />
((ProActiveRuntimeImpl)ProActiveRuntimeImpl.getDefaultRuntime()).<br />
setSecurityManager(psm);<br />
le fichier "runtime_policy.xml" contient le <strong>de</strong>scripteur <strong>de</strong> sécurité du runtime, Cette comman<strong>de</strong><br />
démarre un runtime et l’enregistre sur <strong>une</strong> URL donnée qui peut être définie statiquement<br />
ou créer dynamiquement le processus. Par la suite, le runtime être référencé dans<br />
un <strong>de</strong>scripteur <strong>de</strong> déploiement via son URL.<br />
Cependant, contrairement à un nœud dont la création est due à un appel <strong>de</strong> métho<strong>de</strong> sur un runtime,<br />
la création d’un runtime implique la création d’un nouveau processus qui peut être local ou<br />
distant via l’utilisation d’<strong>une</strong> comman<strong>de</strong> externe à la bibliothèque et à la plate-forme Java. Nous<br />
sommes confrontés au problème <strong>de</strong> transfert <strong>de</strong>s paramètres <strong>de</strong> sécurité (i<strong>de</strong>ntité, politiques <strong>de</strong><br />
sécurité) entre les processus. La solution actuelle suppose que les fichiers requis aient été préalablement<br />
copiés dans <strong>de</strong>s endroits accessibles par chaque runtime. Ces fichiers ne sont nécessaire<br />
que lors du démarrage du runtime. Un fois, le runtime démarré ces fichiers peuvent être supprimés.<br />
6.1.2 Le nœud sécurisé<br />
La sémantique <strong>de</strong> création d’un nœud distant a dû être revue et modifiée pour coller aux<br />
contraintes <strong>de</strong> sécurité. Initialement, lorsqu’un objet <strong>de</strong>mandait la création d’un nombre x <strong>de</strong><br />
nœuds à un runtime, le runtime créait les nœuds et renvoyait les URLs <strong>de</strong>s nœuds à l’objet ayant<br />
initié la <strong>de</strong>man<strong>de</strong>. On se retrouvait avec <strong>de</strong>s nœuds sur lesquels il était impossible <strong>de</strong> spécifier<br />
<strong>une</strong> politique <strong>de</strong> sécurité propre. La politique <strong>de</strong> sécurité <strong>de</strong> ces nœuds ne pouvaient dépendre<br />
que du runtime qui les accueillait.<br />
Après modification, la sémantique sécurisée permet d’introduire le fait que, lors <strong>de</strong> l’appel <strong>de</strong><br />
métho<strong>de</strong> <strong>de</strong>mandant la création du nœud distant, un paramètre supplémentaire, le gestionnaire<br />
<strong>de</strong> sécurité associé à ce nœud, puisse être passé.<br />
100