Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Presentation hourdin

793 views

Published on

  • Be the first to comment

  • Be the first to like this

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

×