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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapitre 3. Étu<strong>de</strong> d’intergiciels sécurisés pour le calcul distribué<br />

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

FIG. 3.13 – Architecture .Net Remoting avec gestion transparente <strong>de</strong> la sécurité<br />

En conclusion, la modularité <strong>de</strong> la plateforme permet notamment d’utiliser <strong>de</strong>s mécanismes<br />

d’authentification personnalisé qui authentifieraient automatiquement l’utilisateur <strong>de</strong> la partie<br />

cliente lors d’invocations sur le serveur. Cependant, même si cette solution apporte assez <strong>de</strong><br />

souplesse pour intégrer notre vision d’<strong>une</strong> <strong>architecture</strong> sécurisée transparente, elle impose notamment<br />

la création <strong>de</strong> fichiers <strong>de</strong> configuration spécifiques ainsi que l’implantation <strong>de</strong> diverses<br />

classes représentant les divers MessageSinks. On peut regretter que <strong>de</strong>s classes génériques fournissant<br />

les fonctions <strong>de</strong> base <strong>de</strong> la sécurité (authentification <strong>de</strong>s utilisateurs, intégrité, confi<strong>de</strong>ntialité<br />

<strong>de</strong>s messages) ne soient pas fournir <strong>de</strong> base avec le CLR.<br />

3.6 Bilan<br />

Dans ce chapitre, nous avons évalué les services <strong>de</strong> sécurité présents au sein d’un panel significatif<br />

d’intergiciels orientés applications distribuées dont Legion, Globus (OGSA), CORBA, la<br />

plateforme .NET et la spécification EJB. Le tableau 3.2 résume les caractéristiques <strong>de</strong> chaque<br />

intergiciel.<br />

Cette étu<strong>de</strong> a permis <strong>de</strong> mettre en valeur les approches et solutions proposées par chacun<br />

d’entre eux. Bien qu’ils n’adressent pas <strong>de</strong> la même façon les problèmes liés à la sécurité, ils<br />

permettent tous <strong>de</strong> mettre en place <strong>de</strong>s applications sécurisées. Cependant, dans le contexte<br />

qui nous intéresse, à savoir le niveau <strong>de</strong> transparence <strong>de</strong>s mécanismes <strong>de</strong> sécurité vis-à-vis du<br />

co<strong>de</strong> source <strong>de</strong> l’application, tous ces intergiciels ne fournissent pas nativement les mécanismes<br />

nécessaires permettant sa mise en œuvre.<br />

En effet, ces intergiciels se veulent les plus génériques possible afin <strong>de</strong> répondre aux attentes<br />

<strong>de</strong> la majorité <strong>de</strong>s développeurs. Pour cela, ils intègrent le plus grand nombre <strong>de</strong> technologies<br />

relatives aux concepts <strong>de</strong> sécurité : cryptosystèmes à clés symétriques ou asymétriques, gestion<br />

<strong>de</strong>s certificats (PKI), algorithme <strong>de</strong> hachages, . . . . Ces algorithmes et protocoles sont certes prouvés<br />

et vérifiés cependant ils n’ont pas été conçus pour supporter la dynamicité requise par les<br />

applications distribuées (création d’objets distants, changement <strong>de</strong> politiques <strong>de</strong> sécurité suite à<br />

la migration d’<strong>une</strong> activité, négociation dynamique <strong>de</strong> politique <strong>de</strong> sécurité, ...). Cette tâche est<br />

laissée au programmeur qui doit gérer par lui-même la distribution <strong>de</strong>s clés, la définition <strong>de</strong> la<br />

politique <strong>de</strong> sécurité <strong>de</strong> chaque entité en présence, . . . .<br />

De plus, l’intégration <strong>de</strong> ces protocoles au sein du co<strong>de</strong> source <strong>de</strong>s applications fige en quelque<br />

46

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

Saved successfully!

Ooh no, something went wrong!