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.

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

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

Saved successfully!

Ooh no, something went wrong!