Download - Presentation hourdin
1
Contexte et sécurité dans les intergiciels d’informatique ambiante
Prise en compte du contexte dans le contrôle des interactions
Vincent Hourdinencadré par Jean-Yves Tigli et Michel Riveill
Thèse CIFRE en partenariat avec Mobilegov
21/07/2010
2
• Grand nombre de dispositifs informatisés
L'informatique ambiante
21/07/2010
3
• Création d'applications basées sur ces dispositifs
L'informatique ambiante
21/07/2010
4
• Prise en compte de diverses informations
Création pertinente des applications
21/07/2010
5
• Prise en compte d'informations dynamiques
Adaptation des applications
21/07/2010
6
• Contrôle d'accès basé sur les caractéristiques matérielles statiques
Contrôle des interactionsavec la technologie Mobilegov
Agenda électronique
Partage de fichiers
21/07/2010
7
• Utiliser des sources d'informations dynamiques et variées, pas seulement pour la sécurité
Sujet de la thèse : contrôle des interactions à partir du contexte
Agenda électronique
Partage de fichiers
21/07/2010
8
Plan de la présentation• Introduction à l'informatique ambiante et à la problématique• Positionnement / La problématique dans la bibliographie
– Définition du contexte– Approches de prise en compte du contexte– Contrôle des interactions sensible au contexte
• Modèle de prise en compte du contexte dans le contrôle des interactions– Observation et représentation du contexte– Traitement avec les zones contextuelles– Exploitation avec les règles de prise en compte du contexte– Listes de contrôle d'accès et politiques de décision– Langage d'expression des règles
• Mise en œuvre sur la plate-forme d'informatique ambiante WComp– Modèle SLCA de composition de services pour dispositifs– Modèle des aspects d'assemblage, mécanisme d'adaptation compositionnelle– Transformation des règles de contrôle des interactions vers des aspects d'assemblage– Nouveaux opérateurs pour l'expression des politiques de décision dans les aspects d'assemblage
• Illustration• Conclusion et perspectives21/07/2010
9
LA PROBLÉMATIQUEDANS LA BIBLIOGRAPHIE
PARTIE 2
Définition du contexteApproches de prise en compte du contexteContrôle des interactions sensible au contexte
21/07/2010
10
Définition du « contexte »
• Définitions usuelles– « 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]
– « Toute information qui peut être utilisée pourcaractériser la situation des entités » [dey91]
• Le contexte que je considère :un ensemble d'informations– Pertinentes pour une entité– Relatives à une entité– Provenant de l'environnement et de l'infrastructure
Infrastructure
Environnement
ContexteEntité
21/07/2010
11
Prise en compte du contexte :décomposition fonctionnelle
Exploitation
Traitement
Capture
Infrastructure logicielle
Application
Sourcecontexte
Sourcecontexte
Sourcecontexte
Informations contextuelles brutes
Contexte identifié :information de haut niveau
Règles d’exploitation
Observateursde contexte
[coutaz05, rey05]
21/07/2010
12
Prise en compte du contexte :approche dite « logique »
• Une modélisation du mondepour toutes les applications– Traitement de toutes les
informations contextuelles– Serveur de contexte / plate-
forme de services contextuels• [chen04, gu05, strimpakou05, …]
• Règles d’exploitation simples Serveur de
contexte
Exploitations
Applications
Contexte identifié :information de haut niveau
Règles d’exploitation
Traitement
Capture
Source SourceSource
« Lorsqu’il fait sombre dans lesalon, autoriser l’interaction avecles volets du salon »
21/07/2010
13
Exploitation parreconfiguration des applications
• Favorise l’approche « logique »
Serveur de
contexte
Exploitations
Contexte identifié :information de haut niveau
Règles d’exploitation
Traitement
Capture
Source SourceSource
Partage defichiers
Agendaélectronique
[yau04,belhanafi05, david06,cheung09]
21/07/2010
14
Prise en compte du contexte :approche dite « physique »
• Découverte des observateursde contexte à proximité– Traitement réduit du contexte et
propre à chaque application : peud’informations, mais pertinentes• [pauty04, bussiere07, ferry09]
• Règles d’exploitation complexes
Exploitation
Traitement
Capture
Application
Sourcecontexte
Sourcecontexte
Sourcecontexte
Contexte identifié :information de haut niveau
Règles d’exploitation
Informations contextuellesbrutes« Si une information de luminosité est
disponible et inférieure à 300lux et quedes volets ont été découverts, autoriserles interactions avec eux »
21/07/2010
15
Exploitation
Traitement
Capture
Exploitation
Traitement
Capture
Exploitation
Traitement
Capture
Exploitation
Traitement
CaptureExploitation
Traitement
Capture
Exploitation
Traitement
Capture
Exploitation parcontrainte des interactions
• Favorise l’approche « physique »
21/07/2010
16
Contrôle d’accès sensible au contexte
Entité A Entité BContrôle d'accès
Informations liées à l'authentification
Exploitation
Traitement
Capture
ObsObs Obs
Autorisation
[bacon02, kim05, zhang04]
[cuppens03, kumar02]
Inégalités,logique…
[hulsebosch05,kindberg02,mcdaniel03][bacon02, masoumzadeh06, mcdaniel03,
kranenburg06, zhang04]
Modèle général : non spécialisé pourun type d’interactions ou de contexte
Dirigé par l’application
21/07/2010
17
Contrôle d’accès sensible au contexte
Entité A Entité BContrôle d'accès
Informations liées à l'authentification
Obs
Exploitation
Traitement
Capture
ObsObs
Inégalités,logique…
21/07/2010
4 propriétés :- Autorisation dirigée par le contexte- Traitement plus complexe- Authentification des observateurs- Modèle non restrictif
18
MODÈLE DE PRISE EN COMPTE DU CONTEXTE DANS LE CONTRÔLE DES INTERACTIONS
PARTIE 3
Observation et représentation du contexteTraitement avec les zones contextuellesExploitation avec les règles de prise en compte du contexteListes de contrôle d'accès et politiques de décisionLangage d'expression des règles
21/07/2010
19
L’observation du contexte
• Les observateurs de contexte sont des entités logicielles fournissant des informations contextuelles
– Chacun définit :• Un type de données Xi (nombre flottant, chaîne de
caractères, …)
• Une sémantique (température, identifiant, …)
• Des attributs (localisation, authentification, …)
• Une valeur ( 26.8, "alice", …)
Ob1 Ob2
21/07/2010
20
Modèle de représentationdu contexte
• Le contexte d'une entité est défini par l'ensemble des observateurs qui lui sont associés
• Contexte particulier– Un N-uplet V d’informations contextuelles hétérogènes vi
V = (v0, v1, …, vn)
Exemple : V ( localisation, heure, identifiant)
V = ( {44.1, 7.02}, {12, 59, 23}, "alice" )
Ob2 Ob3Ob1
Vcoords, heure, id
v1 v2 v3
21/07/2010
21
• Un contexte particulier V est évalué par un prédicat Z, les deux étant définis dans le même espace contextuel
V X1 X2 … Xn
Z : X1 X2 … Xn → B
{Z(Vi)}
X1 X2 … Xn
{Z(Vi)}
Le traitement du contexte
V1
V2
V5
V3
V4
[pauty04,lavirotte05,bussiere07]
21/07/2010
22
Zone contextuelles et interactions
V1
V2
V5
V3
V4
21/07/2010
23
Règles de contrôle des interactions
Entité A
VA1
?{Z1(VA1, VB1)}
Entité B
VB1
GPS
Ob2 Ob3Ob1
vA1 vA2 vA3
Ob2 Ob3Ob1
vB1 vB2 vB3
<prédicat Z1, interactionA→B, effet (ALLOW)>
21/07/2010
24
<prédicat Z1, interactionA→B, effet (ALLOW)><prédicat Z2, interactionA→B, effet (ALLOW)>
Règles de contrôle des interactions
Entité A
VA1
{Z2(VA2, VB2)}Entité B
VB1
Ob2 Ob3Ob1
vA1 vA2 vA3
Ob2 Ob3Ob1
vB1 vB2 vB3
GPS
VA2 VB2
21/07/2010
25
Organisation des règles : les C-ACL
• Pour une interaction, plusieurs règles sont définies
– Chacune avec un prédicat Zi différent et un effet
Z1, ALLOWInteractionAB Z2, ALLOW Z3, ALLOW
C-ACE
C-ACL
<prédicat Z1, interactionA→B, effet (ALLOW)>
<prédicat Z2, interactionA→B, effet (ALLOW)>
<prédicat Z3, interactionA→B, effet (ALLOW)>
21/07/2010
26
Activation dynamique des C-ACE
• Les C-ACE sont activées en fonction de l'observabilité des contextes particuliers, de façon réactive
• Contextesparticuliers
• Observateurs
Z1, ALLOWInteractionAB Z2, ALLOW Z3, ALLOW
C-ACE
C-ACL
V1
Ob1, Ob2
V2
Ob2, Ob3, Ob4
V3
Ob5, Ob6
Ob1 Ob5Ob4 Ob6Ob2 Ob3
21/07/2010
27
Les deux politiquesd’évaluation des listes de règles
• Aucune règle activable : politique par défaut– ALLOW– DENY
• Plusieurs règles activables : composition des règles– Politique restrictive : ET ()
• Décision pour règles d'effet ALLOW : Z1 Z2 … Z3
• Décision pour règles d'effet DENY : (Z1 Z2 … Zn)
– Politique permissive : OU ()• Décision pour règles d'effet ALLOW : Z1 Z2 … Zn
• Décision pour règles d'effet DENY : (Z1 Z2 … Zn)
21/07/2010
28
Expression des règles
• Expression de la liste de contrôle d'accès
Interaction:mysensor.^new_value → *.display
Rules:C-ACE1, C-ACE2, C-ACE3
policy: permissive
default: allow
Politique de composition
Liste des règles liées à l'interaction
C-ACE1 C-ACE2 C-ACE3C-ACLn_vdisplay
+ Politique par défaut + Politique de composition des C-ACE
Politique par défaut
21/07/2010
29
Expression des règles
• Expression d'une entrée de la liste
RuleID: c-ace2Context:information localization GPS x,y (real,real)information luminosity lum_client L1 (real)information userid authn user (string)myinformation luminosity lum_server L2 (real)
value x = 100 .. 110value y = 320 .. 350value user = "alice"value L2 - L1 = -0.2 .. 0.2Effect: allow
Définition du prédicat
Déclarations des observateurs
Effet lié à la règle
C-ACE1 C-ACE2 C-ACE3C-ACLn_vdisplay
+ Politique par défaut + Politique de composition des C-ACE
21/07/2010
30
Modèles et projections
Règles de prise en compte du contexte dans le contrôle des
interactions
Application représentée sous forme de graphe
Règles d’adaptation :aspects d’assemblage
Application SLCA :assemblages de
composants légers
S’applique à
WComp21/07/2010
31
MISE EN ŒUVRE SUR LA PLATE-FORME D'INFORMATIQUE AMBIANTE WCOMP
PARTIE 4
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.
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
Modèle SLCA de composition de services pour dispositifsModèle des aspects d'assemblage, mécanisme d'adaptation compositionnelleTransformation des règles de contrôle des interactions vers des aspects d'assemblageNouveaux opérateurs pour l'expression des politiques de décision dans les aspects d'assemblage
21/07/2010
32
• Création d’une application par assemblage de composants légers pour orchestrer des services pour dispositifs
SLCA : composition dynamique
Service pour dispositif
Service pour dispositif
Service pour dispositif
21/07/2010
33
SLCA : composition dynamique
• Architecture de composition de Services par assemblage de Composants Légers
Interface de contrôle :modifications structurellesde l'assemblage decomposants
Interface fonctionnelle :mise à disposition, surl’infrastructure de service,des fonctionnalités créées
Vincent Hourdin, Jean-Yves Tigli,Stéphane Lavirotte, Gaëtan Rey,Michel Riveill. SLCA, composite servicesfor ubiquitous computing dans la 5ème
Mobility Conference, Taiwan, 2008.21/07/2010
34
Adaptation compositionnelle avec les aspects d’assemblage (AA)
AA4Points de coupe
Greffon
AA1Points de coupe
Greffon
AA2Points de coupe
Greffon
Tisseur :Compositionet application
des AA
A2 B6
A8
compA = A*compB = B*
Nouveau E ;compA EE compB
A2 B6 A8 F1
Nouveau E1Nouveau E2A2 E1E1 B6A8 E2E2 B6
Nouveau E2A2 E2E2 B6A8
B6
Nouveau E1A2 E1E1 B6A2
B6
• Règles d’adaptation indépendantes• Création de composants• Création de liaisons
E1
E2F1
21/07/2010
[cheung09]
35
Des aspects d’assemblage pour représenter les règles
• Transformation automatiquedes C-ACE en AA
// Point de coupe :obs_authn = clientA_auth.^is_authobs_hour = clock.^minutesobs_room = clientA_localization.^inRoom
// Greffon :advice c-ace2(obs_authn, obs_hour, obs_room) :ipred_authn : Context.Eval.String (ref="clientA")ipred_hour : Context.Eval.IntInt (between="8,21")ipred_loc : Context.Eval.String (ref="314")pred_authn_hour_room : Logic.AND (nb_inp=3)
obs_authn ( ipred_authn.inputString )obs_hour ( ipred_hour.inputIntInt )obs_room ( ipred_room.inputString )
ipred_authn.^Out ( pred_authn_hour_room.In1 )ipred_hour.^Out ( pred_authn_hour_room.In2 )ipred_room.^Out ( pred_authn_hour_room.In3 )
prédicat
authN horlogelocali-sation
traite-ment
traite-ment
traite-ment
RuleID: c-ace2Context:information is_auth clientA_auth authn (string)Information hour clock clock (int)information inRoom clientA_localization room (string)value authn = clientAvalue hour = 8 .. 21value room = 314Effect: allow
C-ACE2
21/07/2010
36
Composition des AA par des opérateurs spécifiques
C-ACLInteractionAB
+ Politique par défaut + Politique de composition des C-ACE
C-ACE C-ACE C-ACE
Transformation
Points de coupehorloge, localisation,authN, interactionABGreffonnouveau prédicathorloge prédicatLocalisation prédicatauthN prédicatfiltre_OU(interactionAB)
Points de coupeauthN, présence, interactionABGreffonnouveau prédicatauthN prédicatprésence prédicatfiltre_OU(interactionAB) Ob2 Ob3Ob1
V1
Ob5Ob4
V2
A Bfiltre
OU logique
Conflit
21/07/2010
37
Trois nouveaux opérateurs
• Opérateurs de sémantique connue par le tisseur– filter_OR filter_AND default_filter
• Règles de fusion des greffons
21/07/2010
38
ILLUSTRATIONPARTIE 5
ScénarioVidéo
21/07/2010
39
Scénario
• Interaction ciblée– Ordinateur ultra-mobile
• Le client de messagerie de l’utilisateur
– Le système d'information• Messagerie interne à une entreprise
• Contexte pris en compte
C-ACE 1
Horloge = 8 .. 18RFID = "0x7f21a533"Pression > 10
C-ACE 2
Luminosité > 200luxRFID ≠ ""NbPersonnes = 1
C-ACLInteraction : info mobile
Politique par défaut : DENYPolitique de composition desrègles : PERMISSIVE
21/07/2010
40
Vidéo
21/07/2010
41
BILAN ET PERSPECTIVESPARTIE 6
SynthèsePerspectives scientifiquesPerspectives pour Mobilegov
21/07/2010
42
Synthèse
• Le contrôle des interactions permet d’agir sur :– les fonctionnalités de l’application– la pertinence des informations– l’efficacité énergétique– la sécurité de l’accès aux informations
• Deux approches pour effectuer le contrôle des interactions– Reconfigurer les applications (approche logique)– Contraindre les interactions à partir du contexte (approche
physique)• Grain fin, efficacité, réactivité, passage à l’échelle
21/07/2010
43
Synthèse
• Les règles de prise en compte du contexte– Zones contextuelles déterminant les autorisations– Adaptation à la disponibilité des observateurs de contexte– Politique par défaut et de composition de règles
permettant l’expression de contextes flexibles– Applications sous forme de graphe à structure dynamique
• Projection du modèle vers la plate-forme WComp– Interactions entre composants– Adaptation réactive pour l’activation des règles en fonction
de la disponibilité des observateurs de contexte– Opérateurs de résolution de conflits appliquant les
politiques de façon déterministe21/07/2010
44
Perspectives scientifiques
• Méthode de validation au-delà de la preuve de concept– Evaluation des performances de l’approche physique
• Nombre total d’informations contextuelles capturées et traitées• Nombre d’informations contextuelles capturées et traitées en double• Réactivité de la prise en compte de la capture à l’exploitation
– Comparaison des performances des deux approches de contrôle des interactions (adaptation compositionnelle ou paramétrée)• Evaluation du mécanisme d’adaptation compositionnelle basé sur le
contexte ou basé sur l’infrastructure.
• Le modèle de contexte et d’autorisation dynamique peut être utilisé pour d’autres exploitations– Découverte contextuelle de services– Reconfiguration des applications21/07/2010
45
Perspectives pour Mobilegov
• Offrir un mécanisme d’authentification flexible, s’adaptant aux sources d’informations disponibles (les différents composants électroniques détectés)
• Faire évoluer le contrôle d’accès vers l’autorisation dynamique– Réévaluer les autorisations lors d’un changement de
crédentiels– Prendre en compte des informations contextuelles et plus
seulement les crédentiels habituels
• Perspectives de recherche– Sécuriser les informations contextuelles dynamiques avec
la technologie de Mobilegov21/07/2010
46
Merci pour votre attention
Questions
• Publications (3 revues, 3 conférences, 2 workshops, 4 dépôts APP) dont :– SLCA• Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Michel Riveill. Lightweight Service Oriented
Architecture for Pervasive Computing in International Journal of Computer Science Issues (IJCSI), vol. 4, pages 1-9, sep 2009
• 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
– Autorisation dynamique• Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Vincent Hourdin, Michel Riveill. Context-aware Authorisation
in Highly Dynamic Environments in International Journal of Computer Science Issues (IJCSI), vol. 4, pages 24-35, sep 2009
– Autres : découverte sensible au contexte et adaptation par transformation de modèles• 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
• 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 [email protected] at Models 2009 (MRT’09), pages 10, Denver Colorado, USA, 5 october 2009
21/07/2010