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.
Section 3.3. CORBA<br />
// recuperation du stub.<br />
JournalIntimePortType journalIntime = journalIntimeGL.getJournalIntimePort(new URL<br />
("http://noadcoco.inria.fr/myservices/journalIntime");<br />
// configuration du stub<br />
// ces <strong>de</strong>ux lignes <strong>de</strong>pen<strong>de</strong>nt <strong>de</strong> la configuration du service que represente<br />
// l’objet local stub<br />
Stub stub = (Stub)journalIntime;<br />
stub._setProperty(Constants.GSI_SEC_CONV, Constants.SIGNATURE);<br />
stub._setProperty(Constants.GSI_SEC_CONV, Constants.ENCRYPTION);<br />
// envoi du message<br />
journalIntime.ajoutEntree("la pensee du jour"));<br />
En conclusion, la flexibilité semble être le maître mot <strong>de</strong> l’approche. Cependant, le support <strong>de</strong><br />
l’éventail <strong>de</strong>s possibilités offertes par l’utilisation <strong>de</strong>s web services introduit <strong>une</strong> complexification<br />
importante du déploiement <strong>de</strong> l’application. La transparence <strong>de</strong>s mécanismes <strong>de</strong> sécurité est<br />
gérée <strong>de</strong> manière asymétrique : <strong>une</strong> simple gestion <strong>de</strong>s droits d’accès pour le serveur tandis que le<br />
client doit configurer <strong>de</strong>s variables du stub qu’il récupère en fonction <strong>de</strong> la politique exprimée par<br />
le serveur. Il n’existe pas à notre connaissance <strong>de</strong> moyen permettant la configuration automatique<br />
<strong>de</strong>s paramètres <strong>de</strong> sécurité au niveau <strong>de</strong>s stubs.<br />
tel-00239252, version 1 - 5 Feb 2008<br />
3.3 CORBA<br />
La spécification CORBA (Common Object Request Broker Architecture) fait partie <strong>de</strong> l’Object<br />
Management Architecture qui a été définie par l’Object Group Management (OMG) [96]. Elle<br />
résulte du besoin <strong>de</strong> normalisation intrinsèque aux applications distribuées. Cette norme permet<br />
ainsi <strong>de</strong> créer <strong>une</strong> interopérabilité entre toutes les applications distribuées qui la respectent.<br />
Les intergiciels <strong>de</strong> communication permettent aux objets d’<strong>une</strong> application <strong>de</strong> faire, <strong>de</strong> manière<br />
transparente, <strong>de</strong>s appels <strong>de</strong> métho<strong>de</strong>s sur d’autres objets disséminés sur le réseau. Cette<br />
transparence est rendue possible en déléguant les appels <strong>de</strong> métho<strong>de</strong>s distants à un bus logiciel,<br />
l’Object Request Broker (ORB) ou courtier d’objets (figure 3.6). Cet ORB permet d’abstraire les<br />
protocoles réseaux du co<strong>de</strong> application et fournit <strong>une</strong> interface <strong>de</strong> nommage générique pour les<br />
objets. Un ORB sert essentiellement à acheminer les messages d’un objet à l’autre. L’empaquetage/dépaquetage<br />
<strong>de</strong>s messages est assuré par le biais d’interfaces d’invocations. Les interfaces<br />
<strong>de</strong>s objets CORBA sont standardisées et décrites grâce à un langage commun : l’Interface Definition<br />
Language (IDL). La localisation <strong>de</strong>s objets est assurée par l’Interoperable Object References<br />
(IOR).<br />
En complément <strong>de</strong>s fonctions <strong>de</strong> base <strong>de</strong> l’ORB, il existe un ensemble <strong>de</strong> services permettant<br />
l’utilisation <strong>de</strong> services additionnels, les CORBAServices, tels que le nommage, les évènements,<br />
la persistance et celui qui nous intéresse tout particulièrement, le service <strong>de</strong> sécurité.<br />
La spécification du Service <strong>de</strong> Sécurité <strong>de</strong> CORBA [9, 29, 18] décrit les diverses caractéristiques<br />
du service <strong>de</strong> sécurité, à savoir l’authentification, la protection <strong>de</strong>s messages, l’autorisation,<br />
l’audit et la non-répudiation <strong>de</strong>s messages. Les objectifs <strong>de</strong> CorbaSec [2] sont <strong>de</strong> fournir à<br />
un ORB les fonctionnalités <strong>de</strong> sécurité nécessaires sous la forme d’un service. Ses buts sont :<br />
– Assurer que chaque invocation sur un objet est protégée comme requis par la politique <strong>de</strong><br />
sécurité<br />
– Exiger qu’un contrôle d’accès soit effectué sur chaque invocation<br />
– Empêcher les objets d’<strong>une</strong> application d’interférer avec ceux d’<strong>une</strong> autre application.<br />
Plutôt que d’implémenter directement tous ces composants, le service <strong>de</strong> sécurité présente <strong>une</strong><br />
interface uniforme aux utilisateurs et utilise <strong>de</strong>s passerelles vers <strong>de</strong>s mécanismes <strong>de</strong> sécurité<br />
déjà existants tels que Kerberos [112], SESAME ou SPKM [1]. L’interface est normalisée suivant<br />
la recommandation RFC 2743 GSS-API [75].<br />
35