• Aucun résultat trouvé

sécurité dans les applications à base de composants

5.6 Élaboration du profil UML

Dans la section précédente, nous avons proposé une cartographie des différents patrons de sécurité ainsi qu’un méta-modèle unifiant la description de ces patrons. La présente sec-tion propose une méthode permettant l’élaborasec-tion des profils de sécurité relatifs à chacune des politiques de sécurité présente dans la première couche de la cartographie des patrons. 5.6.1 Introduction

Notre approche repose sur l’intégration des patrons de sécurité à un haut niveau d’abs-traction dans la conception de systèmes à base de composants. Nous proposons des étapes permettant d’intégrer la solution contenue dans ces patrons :

– La première étape consiste à produire le profil UML permettant d’adapter ces solu-tions au concept du domaine des composants.

– La deuxième étape consiste à élaborer des règles d’application permettant de semi-automatiser cette intégration.

Un profil de sécurité représente une solution spécifique à un domaine. Il embarque l’ex-pertise en sécurité fournie par les patrons de sécurité appartenant à une même politique de sécurité (niveau politique de sécurité dans la cartographie des patrons), c.à.d. qu’un profil est élaboré pour chacune des politiques de sécurité définie pour sécuriser une application à base de composants. Ce qui implique la définition de plusieurs profils UML de sécurité dans le cas ou nous choisissant de garantir différentes exigences de sécurité et par conséquent sa-tisfaire plusieurs politiques de sécurité. Ces profils permettent d’étendre le méta-modèle de composants par les concepts de sécurité des patrons de sécurité appartenant à une même arbre de décision.

5.6.2 Méthode de production du profil UML

La définition d’un profil UML passe par une suite d’étapes présentée dans la figure5.7. Dans ce qui suit nous utiliserons la terminologie suivante :

– Les participants : artefacts du patron de sécurité

– Les éléments : artefacts (méta-classes, relations, ...) du méta-modèle à base de compo-sants

Ces différentes étapes peuvent être résumées comme suit :

– Mise en correspondance. Cette étape consiste à analyser le problème de sécurité donné et faire coïncider le problème avec la politique de sécurité qui permet de le résoudre. Ainsi un arbre de décision de patrons de sécurité parmi ceux qui sont enre-gistrés dans la cartographie (voir figure 3) peut être extraite. Le concepteur est respon-sable de déterminer quelle politique de sécurité et par conséquent quels patrons de sécurité appliquer pour quel problème. Une fois la politique de sécurité et l’ensemble de patrons de sécurité correspondant sont choisis. L’étape de mise en correspondance peut être déclenchée afin de produire une correspondance entre les participants des patrons choisis et les éléments du méta-modèle de composants. Ces participants vont étendre les éléments du méta-modèle ainsi choisis. La similarité ou encore la corres-pondance peut être déterminée à l’aide de simples heuristiques. Par exemple, nous pourrions utiliser un dictionnaire de termes similaires. Supposons que nous utilisions un simple dictionnaire des termes similaires, dans lequel par exemple : "User" = "Com-posant" et "ProtectionObject" = "Com"Com-posant". Ce dictionnaire comportera les partici-pants des patrons choisis et leurs éléments du méta-modèle correspondants.

– Élaboration du profil. Après la mise en correspondance entre les participants des pa-trons de sécurité et les métaclasses du méta-modèle de composants, l’identification des stéréotypes parmi les participants du patron peut être lancée ainsi que l’identification des métaclasses à étendre. Tous les participants des patrons de sécurité choisis sont désignés comme des stéréotypes qui étendront les métaclasses du méta-modèle de composants. Ces dernières sont définies à partir des éléments du méta-modèle dans le dictionnaire. Les métaclasses sont des concepts du méta-modèle qui peuvent être étendus et adaptés à un domaine plus spécifique caractérisant le profil. Des valeurs marquées peuvent également être ajoutés à des stéréotypes qui sont associés aux mé-taclasses UML adéquates.

Le résultat de ces étapes est la définition d’un profil de sécurité UML représentant la solu-tion de sécurité choisie. Ce profil UML fournit un moyen approprié pour définir une cor-respondance pour chaque solution proposée par les patrons de sécurité et le méta-modèle de composants pour permettre l’application de cette solution aux éléments du modèle de l’application.

Exemple : Élaboration de profils UML de sécurité pour l’exemple GPS et la politique de contrôle d’accès retenue

Avant d’illustrer la méthode de l’élaboration du profil UML de sécurité relatif à la poli-tique de contrôle d’accès retenue dans la section . Nous rappelons le noyau du méta-modèle de composants UML 2.0.

La figure5.8présente un extrait du méta-modèle UML2.0 pour la description de compo-sants.

Un composant hérite de la mèta-classe Class. Il peut définir des opérations et participer dans des généralisations. Il hérite également de EncapsulatedClassifer. Il peut donc possé-der des ports, typés par des interfaces fournis et requises. La métaclasse EncapsulatedClas-sifer hérite de StructuredClassifier. Par conséquent, un composant peut avoir une structure interne et peut aussi définir des connecteurs entre ses composants internes Après avoir

rap-Figure 5.7 — Étapes de production de profils UML pour l’intégration des patrons de

sé-curité. Illustration avec les patrons de droit d’accès

pelé le noyau du méta-modèle de composants UML 2.0. Nous allons reprendre l’exemple de système GPS pour illustrer l’élaboration de profil UML correspondant à la politique de sécurité retenu (contrôle d’accès) afin de sécurisé l’accès au satellite.

L’élaboration du profile de contrôle d’accès commence par l’étape de mise en corres-pondance qui identifie les correscorres-pondances entre les participants des patrons de sécurité appartenant à l’arbre de décision choisis selon la politique de sécurité retenu et les éléments du méta-modèle de composants.

Les correspondances déduites sont représentées par le tableau 5.2. Ce tableau illustre la relation entre les participants du patron et les éléments du méta-modèle de composants. Par exemple le participant Sujet ainsi que le participant ProtectionObject sont assimilables à l’élément composant du méta-modèle de composants. Une correspondance à été établie aussi entre le participant Right est l’élément connecteur.

Figure 5.8 — Extrait de méta-modèle de composants UML2.0

Tableau 5.2 — Phase de mise en correspondance

Politique de contrôle d’accès

Participants des patrons de contrôle d’accès Méta-classes de méta-modèle de composants UML 2.0 Patron RBAC Right Connecteur User Composant Role Port ProtectionObject Composant Patron d’Autorization Autorization Context Connecteur

Patron Session Session Port

Patron CheckPoint CheckPoint Port

Patron Reference Monitor Reference Monitor Port

Le profil obtenu pour la politique de sécurité de contrôle d’accès ou encore pour les patrons appartenant à cette famille est présenté dans la figure5.9.

Dans le but d’automatiser l’application de ces profils UML de sécurité à des modèles à base de composants nous allons définir des règles permettant la transformation d’un modèle non sécurisé à un modèle sécurisé en d’autre terme en un modèle qui embarque les solutions de sécurité proposées par les patrons de sécurité choisis.

Figure 5.9 — Extrait de profil de la politique de contrôle d’accès