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.4. Les Entreprise JavaBean<br />

sécurité. Ces mécanismes sont implantés au sein <strong>de</strong> l’ORB. Ils interviennent lors <strong>de</strong> toutes<br />

les invocations sur les objets d’<strong>une</strong> application. Ils interceptent l’invocation même si l’application<br />

n’est liée à auc<strong>une</strong> notion <strong>de</strong> sécurité et appliquent sur l’invocation leurs politiques<br />

<strong>de</strong> sécurité. Du côté serveur, il est possible d’obtenir l’i<strong>de</strong>ntité <strong>de</strong> l’utilisateur sous laquelle<br />

l’application cliente a été lancée.<br />

– Le Security Level 2 fournit un jeu d’API <strong>de</strong> sécurité permettant aux applications <strong>de</strong> gérer<br />

explicitement leur politique <strong>de</strong> sécurité.<br />

Une application gérant explicitement sa sécurité est capable <strong>de</strong> changer dynamiquement son<br />

i<strong>de</strong>ntité, sa politique <strong>de</strong> sécurité selon, par exemple, l’i<strong>de</strong>ntité du serveur distant. Le co<strong>de</strong> java<br />

suivant présente les étapes nécessaires à <strong>une</strong> application pour changer d’i<strong>de</strong>ntité et contacter un<br />

objet serveur distant qui représente un journal intime accessible à distance et dont bien évi<strong>de</strong>mment<br />

l’accès doit être restreint au seul propriétaire.<br />

// Creation d’un nouveau contexte <strong>de</strong> securite pour<br />

// stocker les donnees d’authentification<br />

LoginHelper loginHelper = new LoginHelper();<br />

try {<br />

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

// Indication <strong>de</strong> l’ID et du mot <strong>de</strong> passe <strong>de</strong> l’utilisateur pour<br />

// authentification.<br />

org.omg.SecurityLevel2.Cre<strong>de</strong>ntials cre<strong>de</strong>ntials = loginHelper.login(userid,<br />

password);<br />

// Utilisation <strong>de</strong>s nouvelles donnees d’i<strong>de</strong>ntification<br />

// pour tous les appels a venir.<br />

loginHelper.setInvocationCre<strong>de</strong>ntials(cre<strong>de</strong>ntials);<br />

// il est possible <strong>de</strong> recuperer le nom d utilisateur<br />

// associe aux certificats<br />

String username = loginHelper.getUserName(cre<strong>de</strong>ntials);<br />

System.out.println("Contexte <strong>de</strong> securite etabli pour : "+username);<br />

// ajout d <strong>une</strong> entree dans le journal intime<br />

journalIntime.ajoutEntree("un commentaire pour mon journal intime");<br />

} catch (org.omg.SecurityLevel2.LoginFailed e) {<br />

// co<strong>de</strong> <strong>de</strong> gestion <strong>de</strong> l echec <strong>de</strong> l authentification<br />

}<br />

La figure 3.7 présente les diverses étapes qui conduisent à l’élaboration <strong>de</strong> la politique <strong>de</strong><br />

contrôle d’accès lors <strong>de</strong> l’invocation d’<strong>une</strong> métho<strong>de</strong> à partir d’un objet client sur un objet serveur.<br />

En conclusion, le service <strong>de</strong> sécurité <strong>de</strong> CORBA offre un large éventail <strong>de</strong> mécanismes <strong>de</strong><br />

sécurité essentiels au sein d’applications distribuées : organisation en domaines <strong>de</strong> sécurité hiérarchiques,<br />

possibilités <strong>de</strong> fédérer <strong>de</strong>s domaines <strong>de</strong> sécurité ainsi que la possibilité d’obtenir au<br />

moins en partie <strong>une</strong> intégration implicite <strong>de</strong>s mécanismes <strong>de</strong> sécurité. Elle se trouve localisée au<br />

sein du niveau <strong>de</strong> sécurité 1 <strong>de</strong> l’ORB sécurisé. Ce niveau est dédié à la sécurité d’applications qui<br />

n’ont pas été prévues pour fonctionner avec <strong>de</strong>s mécanismes <strong>de</strong> sécurité. Cependant, ce niveau<br />

<strong>de</strong> sécurité n’est pas configurable par l’utilisateur mais seulement par les administrateurs <strong>de</strong><br />

l’ORB. Les politiques <strong>de</strong> sécurité appliquées seront celles <strong>de</strong>s domaines <strong>de</strong> sécurité. L’utilisateur<br />

ne peut exprimer la politique <strong>de</strong> sécurité qu’il désire pour <strong>une</strong> application <strong>de</strong> manière implicite,<br />

il est obligé d’utiliser l’API du niveau <strong>de</strong> sécurité 2.<br />

3.4 Les Entreprise JavaBean<br />

Les Entreprise JavaBeans (EJB) [89] sont <strong>de</strong>s composants Java qui peuvent être combinés<br />

pour créer <strong>de</strong>s applications distribuées et modulaires. Le standard EJB décrit à la fois <strong>une</strong> spécification<br />

et un ensemble d’interfaces que doivent implanter les composants. Un <strong>de</strong>s principes <strong>de</strong><br />

conception d’<strong>une</strong> telle <strong>architecture</strong> est la séparation <strong>de</strong>s concepts non-fonctionnels <strong>de</strong> niveau système<br />

(comme le multi-threading, la persistance, les transactions, la sécurité, etc) <strong>de</strong> la logique <strong>de</strong><br />

37

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

Saved successfully!

Ooh no, something went wrong!