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.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