Presentation hourdin

788 vues

Publié le

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Presentation hourdin

  1. 1. Contexte et sécurité dans les intergiciels d’informatique ambiante<br />Prise en compte du contexte dans le contrôle des interactions<br />Vincent Hourdinencadré par Jean-Yves Tigli et Michel Riveill<br />Thèse CIFRE en partenariat avec Mobilegov<br />1<br />21/07/2010<br />
  2. 2. Grand nombre de dispositifs informatisés<br />L'informatique ambiante<br />2<br />21/07/2010<br />
  3. 3. Création d'applications basées sur ces dispositifs<br />L'informatique ambiante<br />3<br />21/07/2010<br />
  4. 4. Prise en compte de diverses informations<br />Création pertinente des applications<br />4<br />21/07/2010<br />
  5. 5. Prise en compte d'informations dynamiques<br />Adaptation des applications<br />5<br />21/07/2010<br />
  6. 6. Contrôle d'accès basé sur les caractéristiques matérielles statiques<br />Contrôle des interactionsavec la technologie Mobilegov<br />6<br />Agenda électronique<br />Partage de fichiers<br />21/07/2010<br />
  7. 7. Utiliser des sources d'informations dynamiques et variées, pas seulement pour la sécurité<br />Sujet de la thèse : contrôle des interactions à partir du contexte<br />Agenda électronique<br />Partage de fichiers<br />7<br />21/07/2010<br />
  8. 8. Plan de la présentation<br />Introduction à l'informatique ambiante et à la problématique<br />Positionnement / La problématique dans la bibliographie<br />Définition du contexte<br />Approches de prise en compte du contexte<br />Contrôle des interactions sensible au contexte<br />Modèle de prise en compte du contexte dans le contrôle des interactions<br />Observation et représentation du contexte<br />Traitement avec les zones contextuelles<br />Exploitation avec les règles de prise en compte du contexte<br />Listes de contrôle d'accès et politiques de décision<br />Langage d'expression des règles<br />Mise en œuvre sur la plate-forme d'informatique ambiante WComp<br />Modèle SLCA de composition de services pour dispositifs<br />Modèle des aspects d'assemblage, mécanisme d'adaptation compositionnelle<br />Transformation des règles de contrôle des interactions vers des aspects d'assemblage<br />Nouveaux opérateurs pour l'expression des politiques de décision dans les aspects d'assemblage<br />Illustration<br />Conclusion et perspectives<br />8<br />21/07/2010<br />
  9. 9. la problématiquedans la bibliographie<br />PARTIE 2<br />9<br />Définition du contexte<br />Approches de prise en compte du contexte<br />Contrôle des interactions sensible au contexte<br />21/07/2010<br />
  10. 10. Définition du « contexte »<br />Définitions usuelles<br />« Ensemble d'états de l'environnement et de paramètres qui,soit déterminent le comportement d'une application,soit dans lequel un événement applicatif survient etest intéressant pour l'utilisateur » [chen00]<br />« Toute information qui peut être utilisée pourcaractériser la situation des entités » [dey91]<br />Le contexte que je considère :un ensemble d'informations<br />Pertinentes pour une entité<br />Relatives à une entité<br />Provenant de l'environnement et de l'infrastructure<br />Environnement<br />Infrastructure<br />Entité<br />Contexte<br />10<br />21/07/2010<br />
  11. 11. Prise en compte du contexte :décomposition fonctionnelle<br />[coutaz05, rey05]<br />Application<br />Sourcecontexte<br />Sourcecontexte<br />Sourcecontexte<br />Règles d’exploitation<br />Exploitation<br />Contexte identifié :information de haut niveau<br />Traitement<br />Informations contextuelles brutes<br />Capture<br />Infrastructure logicielle<br />Observateursde contexte<br />11<br />21/07/2010<br />
  12. 12. Prise en compte du contexte :approche dite « logique »<br />Une modélisation du mondepour toutes les applications<br />Traitement de toutes lesinformations contextuelles<br />Serveur de contexte / plate-forme de services contextuels<br />[chen04, gu05, strimpakou05, …]<br />Règles d’exploitation simples<br />Applications<br />Source<br />Source<br />Source<br />Règles d’exploitation<br />Exploitations<br />Contexte identifié :information de haut niveau<br />Serveur de contexte<br />Traitement<br />« Lorsqu’il fait sombre dans lesalon, autoriser l’interaction avecles volets du salon »<br />Capture<br />12<br />21/07/2010<br />
  13. 13. Exploitation parreconfiguration des applications<br />Favorise l’approche « logique »<br />13<br />[yau04,belhanafi05, david06,cheung09]<br />Source<br />Source<br />Source<br />Règles d’exploitation<br />Agendaélectronique<br />Exploitations<br />Contexte identifié :information de haut niveau<br />Serveur de contexte<br />Traitement<br />Capture<br />Partage defichiers<br />21/07/2010<br />
  14. 14. Prise en compte du contexte :approche dite « physique »<br />Découverte des observateursde contexte à proximité<br />Traitement réduit du contexte etpropre à chaque application : peud’informations, mais pertinentes<br />[pauty04, bussiere07, ferry09]<br />Règles d’exploitation complexes<br />Application<br />Sourcecontexte<br />Sourcecontexte<br />Sourcecontexte<br />Règles d’exploitation<br />Exploitation<br />Contexte identifié :information de haut niveau<br />Traitement<br />Informations contextuellesbrutes<br />« Si une information de luminosité estdisponible et inférieure à 300lux et quedes volets ont été découverts, autoriserles interactions avec eux »<br />Capture<br />14<br />21/07/2010<br />
  15. 15. 15<br /> Favorise l’approche « physique »<br />Exploitation<br />Exploitation<br />Exploitation<br />Exploitation<br />Exploitation<br />Exploitation<br />Traitement<br />Traitement<br />Traitement<br />Traitement<br />Traitement<br />Traitement<br />Capture<br />Capture<br />Capture<br />Capture<br />Capture<br />Capture<br />Exploitation parcontrainte des interactions<br />21/07/2010<br />
  16. 16. Contrôle d’accès sensible au contexte<br />16<br />Dirigé par l’application<br />Entité A<br />Entité B<br />Contrôle d'accès<br />[bacon02, kim05, zhang04]<br />Exploitation<br />Autorisation<br />Informations liées à l'authentification<br />Traitement<br />[cuppens03, kumar02]<br />Inégalités,logique…<br />Capture<br />Modèle général : non spécialisé pourun type d’interactions ou de contexte<br />[hulsebosch05,kindberg02,mcdaniel03]<br />Obs<br />Obs<br />Obs<br />[bacon02, masoumzadeh06, mcdaniel03, kranenburg06, zhang04]<br />21/07/2010<br />
  17. 17. Contrôle d’accès sensible au contexte<br />17<br />Entité A<br />Entité B<br />Contrôle d'accès<br />Exploitation<br />4 propriétés :<br /><ul><li> Autorisation dirigée par le contexte
  18. 18. Traitement plus complexe
  19. 19. Authentification des observateurs
  20. 20. Modèle non restrictif</li></ul>Informations liées à l'authentification<br />Traitement<br />Inégalités,logique…<br />Capture<br />Obs<br />Obs<br />Obs<br />21/07/2010<br />
  21. 21. modèle de prise en compte du contexte dans le contrôle des interactions<br />PARTIE 3<br />18<br />Observation et représentation du contexte<br />Traitement avec les zones contextuelles<br />Exploitation avec les règles de prise en compte du contexte<br />Listes de contrôle d'accès et politiques de décision<br />Langage d'expression des règles<br />21/07/2010<br />
  22. 22. L’observation du contexte<br /><ul><li>Les observateurs de contexte sont des entités logicielles fournissant des informations contextuelles</li></ul>Chacun définit :<br />Un type de données Xi (nombre flottant, chaîne de caractères, …)<br />Une sémantique (température, identifiant, …)<br />Des attributs (localisation, authentification, …)<br />Une valeur ( 26.8, "alice", …)<br />Ob1<br />Ob2<br />19<br />21/07/2010<br />
  23. 23. Modèle de représentationdu contexte<br />Le contexte d'une entité est défini par l'ensemble des observateurs qui lui sont associés<br />Contexte particulier<br />Un N-upletV d’informations contextuelles hétérogènes vi<br />V = (v0, v1, …, vn)<br />Exemple : V  ( localisation, heure, identifiant)V = ( {44.1, 7.02}, {12, 59, 23}, "alice" )<br />V<br />coords, heure, id<br />v1<br />v2<br />v3<br />Ob3<br />Ob2<br />Ob1<br />20<br />21/07/2010<br />
  24. 24. Un contexte particulier V est évalué par un prédicat Z, les deux étant définis dans le même espace contextuelV  X1 X2  …  XnZ : X1 X2  …  Xn -> B<br />Le traitement du contexte<br />[pauty04,<br />lavirotte05,bussiere07]<br />X1 X2  …  Xn<br />{Z(Vi)}<br />V1<br />V2<br />V5<br />V3<br />V4<br />{Z(Vi)}<br />21<br />21/07/2010<br />
  25. 25. Zone contextuelles et interactions<br />V1<br />V2<br />V5<br />V3<br />V4<br />22<br />21/07/2010<br />
  26. 26. Règles de contrôle des interactions<br /><prédicat Z1, interactionA->B, effet (ALLOW)><br />?<br />Entité A<br />Entité B<br />{Z1(VA1, VB1)}<br />vA1<br />vA2<br />vA3<br />vB1<br />vB2<br />vB3<br />VA1<br />VB1<br />GPS<br />Ob2<br />Ob3<br />Ob1<br />Ob2<br />Ob3<br />Ob1<br />23<br />21/07/2010<br />
  27. 27. <prédicat Z1, interactionA->B, effet (ALLOW)><br /><prédicat Z2, interactionA->B, effet (ALLOW)><br />Règles de contrôle des interactions<br />Entité A<br />Entité B<br />{Z2(VA2, VB2)}<br />VA1<br />VB1<br />VA2<br />VB2<br />vA1<br />vA2<br />vA3<br />vB1<br />vB2<br />vB3<br />Ob2<br />Ob3<br />Ob1<br />Ob2<br />Ob3<br />Ob1<br />GPS<br />24<br />21/07/2010<br />
  28. 28. Organisation des règles : les C-ACL<br />Pour une interaction, plusieurs règles sont définies<br />Chacune avec un prédicat Zi différent et un effet<br /><prédicat Z1, interactionA->B, effet (ALLOW)><br /><prédicat Z2, interactionA->B, effet (ALLOW)><br /><prédicat Z3, interactionA->B, effet (ALLOW)><br />InteractionAB<br />C-ACL<br />Z2,ALLOW<br />Z3,ALLOW<br />Z1,ALLOW<br />C-ACE<br />25<br />21/07/2010<br />
  29. 29. Activation dynamique des C-ACE<br />Les C-ACE sont activées en fonction de l'observabilité des contextes particuliers, de façon réactive<br />Contextesparticuliers<br />Observateurs<br />C-ACE<br />InteractionAB<br />C-ACL<br />Z2,ALLOW<br />Z3,ALLOW<br />Z1,ALLOW<br />V1<br />V2<br />V3<br />Ob1, Ob2<br />Ob2, Ob3, Ob4<br />Ob5, Ob6<br />Ob1<br />Ob5<br />Ob4<br />Ob6<br />Ob2<br />Ob3<br />26<br />21/07/2010<br />
  30. 30. Les deux politiquesd’évaluation des listes de règles<br />Aucune règle activable : politique par défaut<br />ALLOW<br />DENY<br />Plusieurs règles activables : composition des règles<br />Politique restrictive : ET ()<br />Décision pour règles d'effet ALLOW : Z1 Z2 …  Z3<br />Décision pour règles d'effet DENY : (Z1 Z2 …  Zn)<br />Politique permissive : OU ()<br />Décision pour règles d'effet ALLOW : Z1 Z2 …  Zn<br />Décision pour règles d'effet DENY : (Z1 Z2 …  Zn)<br />27<br />21/07/2010<br />
  31. 31. Expression des règles<br />Expression de la liste de contrôle d'accès<br />C-ACE1<br />C-ACE2<br />C-ACE3<br />C-ACLn_vdisplay<br />+ Politique par défaut + Politique de composition des C-ACE<br />Interaction:<br />mysensor.^new_value -> *.display<br />Rules:<br />C-ACE1, C-ACE2, C-ACE3<br />policy: permissive<br />default: allow<br />Liste des règles liées à l'interaction<br />Politique de composition<br />Politique par défaut<br />28<br />21/07/2010<br />
  32. 32. Expression des règles<br />Expression d'une entrée de la liste<br />C-ACE1<br />C-ACE2<br />C-ACE3<br />C-ACLn_vdisplay<br />+ Politique par défaut + Politique de composition des C-ACE<br />RuleID: c-ace2<br />Context:<br />information localization GPS x,y(real,real)<br />information luminosity lum_clientL1(real)<br />informationuseridauthnuser(string)<br />myinformation luminosity lum_serverL2 (real)<br />valuex = 100 .. 110<br />valuey = 320 .. 350<br />valueuser = "alice"<br />valueL2 - L1 = -0.2 .. 0.2<br />Effect: allow<br />Déclarations des observateurs<br />Définition du prédicat<br />Effet lié à la règle<br />29<br />21/07/2010<br />
  33. 33. Modèles et projections<br />30<br />Règles de prise en compte du contexte dans le contrôle des interactions<br />Application représentée sous forme de graphe<br />S’applique à<br />Règles d’adaptation :aspects d’assemblage<br />Application SLCA :assemblages de composants légers<br />WComp<br />21/07/2010<br />
  34. 34. PARTIE 4<br />Publication :Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Daniel Cheung-Foo-Wo, Eric Callegari, Michel Riveill. WComp Middleware for Ubiquitous Computing : Aspects and Composite Event-based Web Services in Annals of Telecommunications (AoT), 64 (3-4), pages 197-214, Springer, apr 2009.<br />Dépôt APP :Samuel Weibel, Stéphane Lavirotte, Jean-Yves Tigli, Daniel Cheung-Foo-Wo, Vincent Hourdin, Ludovic Chungue, Michel Riveill. SharpWComp 2.0 2009 IDDN.FR.001.090016.001.S.-P.2007.000.10600<br />Mise en œuvre sur la plate-forme d'informatique ambiante Wcomp<br />31<br />Modèle SLCA de composition de services pour dispositifs<br />Modèle des aspects d'assemblage, mécanisme d'adaptation compositionnelle<br />Transformation des règles de contrôle des interactions vers des aspects d'assemblage<br />Nouveaux opérateurs pour l'expression des politiques de décision dans les aspects d'assemblage<br />21/07/2010<br />
  35. 35. Création d’une application par assemblage de composants légers pour orchestrer des services pour dispositifs<br />SLCA : composition dynamique<br />Service pour dispositif<br />Service pour dispositif<br />Service pour dispositif<br />32<br />21/07/2010<br />
  36. 36. SLCA : composition dynamique<br />Architecture de composition de Services par assemblage de Composants Légers<br />Interface de contrôle :<br />modifications structurelles<br />de l'assemblage de<br />composants<br />Interface fonctionnelle :<br />mise à disposition, sur<br />l’infrastructure de service,<br />des fonctionnalités créées<br />Vincent Hourdin, Jean-Yves Tigli,Stéphane Lavirotte, Gaëtan Rey,Michel Riveill. SLCA, composite servicesfor ubiquitous computingdans la 5èmeMobility Conference, Taiwan, 2008.<br />33<br />21/07/2010<br />
  37. 37. Adaptation compositionnelle avec les aspects d’assemblage (AA)<br />[cheung09]<br />compA = A*compB = B*<br /><ul><li>Règles d’adaptation indépendantes
  38. 38. Création de composants
  39. 39. Création de liaisons</li></ul>Nouveau E ;compA EE compB<br />Nouveau E2A2  E2<br />E2 B6<br />Nouveau E1A2  E1<br />E1 B6<br />A8<br />B6<br />A2<br />B6<br />AA4<br />Points de coupe<br />Greffon<br />AA1<br />Points de coupe<br />Greffon<br />AA2<br />Points de coupe<br />Greffon<br />A2 B6 A8 F1<br />Tisseur :<br />Compositionet application<br />des AA<br />A2<br />B6<br />Nouveau E1<br />Nouveau E2A2  E1<br />E1  B6<br />A8  E2<br />E2  B6<br />A8<br />34<br />E1<br />E2<br />F1<br />21/07/2010<br />
  40. 40. Des aspects d’assemblage pour représenter les règles<br />Transformation automatiquedes C-ACE en AA<br />C-ACE2<br />RuleID: c-ace2<br />Context:<br />informationis_authclientA_authauthn (string)<br />Information hour clock clock (int)<br />informationinRoomclientA_localization room(string)<br />valueauthn = clientA<br />value hour = 8 .. 21<br />value room = 314<br />Effect: allow<br />// Point de coupe :<br />obs_authn = clientA_auth.^is_auth<br />obs_hour = clock.^minutes<br />obs_room = clientA_localization.^inRoom<br />// Greffon :<br />advice c-ace2(obs_authn, obs_hour, obs_room) :<br />ipred_authn : Context.Eval.String (ref="clientA")<br />ipred_hour : Context.Eval.IntInt(between="8,21")<br />ipred_loc : Context.Eval.String (ref="314")<br />pred_authn_hour_room : Logic.AND (nb_inp=3)<br />obs_authn ( ipred_authn.inputString )<br />obs_hour ( ipred_hour.inputIntInt )<br />obs_room ( ipred_room.inputString )<br />ipred_authn.^Out  ( pred_authn_hour_room.In1 )<br />ipred_hour.^Out  ( pred_authn_hour_room.In2 )<br />ipred_room.^Out  ( pred_authn_hour_room.In3 )<br />prédicat<br />traite-ment<br />traite-ment<br />traite-ment<br />locali-<br />sation<br />authN<br />horloge<br />35<br />21/07/2010<br />
  41. 41. Composition des AA par des opérateurs spécifiques<br />A<br />B<br />filtre<br />Conflit<br />C-ACL<br />InteractionAB<br />+ Politique par défaut + Politique de composition des C-ACE<br />C-ACE<br />C-ACE<br />C-ACE<br />OU logique<br />Transformation<br />Points de coupe<br />horloge, localisation,<br />authN, interactionAB<br />Greffon<br />nouveau prédicat<br />horloge prédicat<br />Localisation  prédicat<br />authN prédicat<br />filtre_OU(interactionAB)<br />Points de coupe<br />authN, présence,<br />interactionAB<br />Greffon<br />nouveau prédicat<br />authNprédicat<br />présence prédicat<br />filtre_OU(interactionAB)<br />V1<br />V2<br />Ob2<br />Ob5<br />Ob3<br />Ob1<br />Ob4<br />36<br />21/07/2010<br />
  42. 42. Trois nouveaux opérateurs<br />Opérateurs de sémantique connue par le tisseur<br />filter_ORfilter_ANDdefault_filter<br />Règles de fusion des greffons<br />37<br />21/07/2010<br />
  43. 43. Illustration<br />PARTIE 5<br />38<br />Scénario<br />Vidéo<br />21/07/2010<br />
  44. 44. Scénario<br />Interaction ciblée<br />Ordinateur ultra-mobile<br />Le client de messagerie de l’utilisateur<br />Le système d'information<br />Messagerie interne à une entreprise<br />Contexte pris en compte<br />39<br />C-ACE 1<br />Horloge = 8 .. 18<br />RFID = "0x7f21a533"<br />Pression > 10<br />C-ACE 2<br />Luminosité > 200lux<br />RFID ≠ ""<br />NbPersonnes = 1<br />C-ACL<br />Interaction : info  mobile<br />Politique par défaut : DENYPolitique de composition desrègles : PERMISSIVE<br />21/07/2010<br />
  45. 45. Vidéo<br />40<br />21/07/2010<br />
  46. 46. Bilan et perspectives<br />PARTIE 6<br />41<br />Synthèse<br />Perspectives scientifiques<br />Perspectives pour Mobilegov<br />21/07/2010<br />
  47. 47. Synthèse<br />Le contrôle des interactions permet d’agir sur :<br />les fonctionnalités de l’application<br />la pertinence des informations<br />l’efficacité énergétique<br />la sécurité de l’accès aux informations<br />Deux approches pour effectuer le contrôle des interactions<br />Reconfigurer les applications (approche logique)<br />Contraindre les interactions à partir du contexte (approche physique)<br />Grain fin, efficacité, réactivité, passage à l’échelle<br />42<br />21/07/2010<br />
  48. 48. Synthèse<br />Les règles de prise en compte du contexte<br />Zones contextuelles déterminant les autorisations<br />Adaptation à la disponibilité des observateurs de contexte<br />Politique par défaut et de composition de règles permettant l’expression de contextes flexibles<br />Applications sous forme de graphe à structure dynamique<br />Projection du modèle vers la plate-forme WComp<br />Interactions entre composants<br />Adaptation réactive pour l’activation des règles en fonction de la disponibilité des observateurs de contexte<br />Opérateurs de résolution de conflits appliquant les politiques de façon déterministe<br />43<br />21/07/2010<br />
  49. 49. Perspectives scientifiques<br />Méthode de validation au-delà de la preuve de concept<br />Evaluation des performances de l’approche physique<br />Nombre total d’informations contextuelles capturées et traitées<br />Nombre d’informations contextuelles capturées et traitées en double<br />Réactivité de la prise en compte de la capture à l’exploitation<br />Comparaison des performances des deux approches de contrôle des interactions (adaptation compositionnelle ou paramétrée)<br />Evaluation du mécanisme d’adaptation compositionnelle basé sur le contexte ou basé sur l’infrastructure.<br />Le modèle de contexte et d’autorisation dynamique peut être utilisé pour d’autres exploitations<br />Découverte contextuelle de services<br />Reconfiguration des applications<br />44<br />21/07/2010<br />
  50. 50. Perspectives pour Mobilegov<br />Offrir un mécanisme d’authentification flexible, s’adaptant aux sources d’informations disponibles (les différents composants électroniques détectés)<br />Faire évoluer le contrôle d’accès vers l’autorisation dynamique<br />Réévaluer les autorisations lors d’un changement de crédentiels<br />Prendre en compte des informations contextuelles et plus seulement les crédentiels habituels<br />Perspectives de recherche<br />Sécuriser les informations contextuelles dynamiques avec la technologie de Mobilegov<br />45<br />21/07/2010<br />
  51. 51. Merci pour votre attention<br />Questions<br />Publications (3 revues, 3 conférences, 2 workshops, 4 dépôts APP) dont :<br />SLCA<br />Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Michel Riveill. LightweightService Oriented Architecture for Pervasive Computing in International Journal of Computer Science Issues (IJCSI), vol. 4, pages 1-9, sep 2009<br />Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Daniel Cheung-Foo-Wo, Eric Callegari, Michel Riveill. WComp Middleware for Ubiquitous Computing : Aspects and Composite Event-based Web Services in Annals of Telecommunications (AoT), 64 (3-4), pages 197-214, Springer, apr 2009<br />Autorisation dynamique<br />Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Michel Riveill. Context-awareAuthorisation in Highly Dynamic Environments in International Journal of Computer Science Issues (IJCSI), vol. 4, pages 24-35, sep 2009<br />Autres : découverte sensible au contexte et adaptation par transformation de modèles<br />Nicolas Bussière, Daniel Cheung-Foo-Wo, Vincent Hourdin, Stéphane Lavirotte, Michel Riveill, Jean-Yves Tigli. Optimized Contextual Discovery of Web Services for Devices in Proceedings of the International Workshop on Context Modeling and Management for Smart Environments (CMMSE), pages 707-712, IEEE, Lyon, France, 28-31 october 2007<br />Nicolas Ferry, Vincent Hourdin, Stéphane Lavirotte, Gaëtan Rey, Jean-Yves Tigli, Michel Riveill. Models at Runtime : Service for Device Composition and Adaptation in Proceedings of the 4th International Workshop Models@run.time at Models 2009 (MRT’09), pages 10, Denver Colorado, USA, 5 october 2009<br />46<br />21/07/2010<br />

×