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

Étu<strong>de</strong> d’intergiciels sécurisés pour le<br />

calcul distribué<br />

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

Il existe déjà <strong>de</strong> nombreux intergiciels sécurisés. S’ils proposent tous <strong>de</strong>s mécanismes <strong>de</strong> sécurité<br />

basiques permettant l’authentification, l’intégrité et la confi<strong>de</strong>ntialité <strong>de</strong>s données, ils n’ont<br />

pas la même approche dans la façon <strong>de</strong> manipuler <strong>de</strong>s objets <strong>de</strong> sécurité et <strong>de</strong> faire interagir<br />

l’utilisateur, l’application et l’intergiciel.<br />

Nous allons dans ce chapitre présenter les intergiciels que nous avons étudiés. Pour chacun,<br />

nous présentons l’<strong>architecture</strong> générale et le modèle <strong>de</strong> sécurité utilisé. Afin <strong>de</strong> permettre <strong>une</strong><br />

comparaison plus aisée et quand cela nous a été possible, nous présentons l’implantation d’un<br />

même exemple pour chaque intergiciel ainsi que les modifications imposées par le mécanisme <strong>de</strong><br />

sécurité qui en résultent. L’exemple choisi représente l’implantation d’un journal intime accessible<br />

à distance. Bien évi<strong>de</strong>mment, seule la personne à qui appartient le journal a le droit d’écrire<br />

<strong>de</strong>dans et <strong>de</strong> le lire, les communications avec le serveur doivent être confi<strong>de</strong>ntielles et intègres.<br />

Il s’agit d’un exemple simple, mettant en évi<strong>de</strong>nce les mécanismes <strong>de</strong> sécurité impliqués pour<br />

chaque intergiciel ainsi que le niveau <strong>de</strong> transparence qu’il est possible d’obtenir.<br />

Tous les systèmes présentés ici se basent sur le postulat que les hôtes qui leur permettent <strong>de</strong><br />

s’exécuter sont <strong>de</strong> confiance.<br />

3.1 Legion<br />

Développé à l’université <strong>de</strong> Virginie par l’équipe d’Andrew Grimshaw, Legion [74, 91, 106]<br />

est un <strong>de</strong>s premiers projets traitant <strong>de</strong> grilles <strong>de</strong> calcul, sa conception remontant à 1994. Dans<br />

son principe, Legion se présente comme un méta système d’exploitation à objets orienté grille<br />

<strong>de</strong> calcul. Il étend le système d’exploitation initial en lui rajoutant ses fonctionnalités propres.<br />

Cette couche d’abstraction et d’uniformisation permet la réunion d’un ensemble <strong>de</strong> machines<br />

indépendantes et hétérogènes en un seul environnement virtuel partagé par tous les utilisateurs.<br />

D’après ses auteurs, Legion est capable <strong>de</strong> gérer un système contenant <strong>de</strong>s milliers <strong>de</strong> machines<br />

hôtes et autant d’objets, l’ensemble étant interconnecté par <strong>de</strong>s liens réseaux très haut débit.<br />

La philosophie poursuivie par Legion comporte plusieurs aspects dont le point le plus important<br />

est le suivant : Tout est objet. Tout objet Legion appartient à <strong>une</strong> classe et peut communiquer<br />

avec les autres objets par invocation <strong>de</strong> métho<strong>de</strong>s. Une classe consiste en <strong>une</strong> interface, un ensemble<br />

d’implantations en divers langages <strong>de</strong> programmation (C++ et ADA), un générateur ainsi<br />

que <strong>de</strong>s informations sur son propriétaire et les besoins en terme <strong>de</strong> ressources. Les interfaces<br />

sont décrites dans un langage d’interface (Interface Definition Language ou IDL) indépendant<br />

du langage <strong>de</strong> programmation. Les implantations se divisent en <strong>de</strong>ux parties, les implantations<br />

sources contenant le co<strong>de</strong> source <strong>de</strong> l’objet et les implantations concrètes représentant la version<br />

exécutable <strong>de</strong> l’objet.<br />

Comme n’importe quel système d’exploitation, Legion est construit au <strong>de</strong>ssus <strong>de</strong> ressources<br />

29

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

Saved successfully!

Ooh no, something went wrong!