46
Contexte et sécurité dans les intergiciels d’informatique ambiante Prise en compte du contexte dans le contrôle des interactions Vincent Hourdin encadré par Jean-Yves Tigli et Michel Riveill Thèse CIFRE en partenariat avec Mobilegov 1 21/07/2010

Presentation hourdin

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Presentation hourdin

2

• Grand nombre de dispositifs informatisés

L'informatique ambiante

21/07/2010

Page 3: Presentation hourdin

3

• Création d'applications basées sur ces dispositifs

L'informatique ambiante

21/07/2010

Page 4: Presentation hourdin

4

• Prise en compte de diverses informations

Création pertinente des applications

21/07/2010

Page 5: Presentation hourdin

5

• Prise en compte d'informations dynamiques

Adaptation des applications

21/07/2010

Page 6: Presentation hourdin

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

Page 7: Presentation hourdin

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

Page 8: Presentation hourdin

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

Page 9: Presentation hourdin

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

Page 10: Presentation hourdin

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

Page 11: Presentation hourdin

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

Page 12: Presentation hourdin

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

Page 13: Presentation hourdin

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

Page 14: Presentation hourdin

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

Page 15: Presentation hourdin

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

Page 16: Presentation hourdin

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

Page 17: Presentation hourdin

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

Page 18: Presentation hourdin

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

Page 19: Presentation hourdin

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

Page 20: Presentation hourdin

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

Page 21: Presentation hourdin

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

Page 22: Presentation hourdin

22

Zone contextuelles et interactions

V1

V2

V5

V3

V4

21/07/2010

Page 23: Presentation hourdin

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

Page 24: Presentation hourdin

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

Page 25: Presentation hourdin

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

Page 26: Presentation hourdin

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

Page 27: Presentation hourdin

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

Page 28: Presentation hourdin

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

Page 29: Presentation hourdin

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

Page 30: Presentation hourdin

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

Page 31: Presentation hourdin

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

Page 32: Presentation hourdin

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

Page 33: Presentation hourdin

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

Page 34: Presentation hourdin

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]

Page 35: Presentation hourdin

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

Page 36: Presentation hourdin

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

Page 37: Presentation hourdin

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

Page 38: Presentation hourdin

38

ILLUSTRATIONPARTIE 5

ScénarioVidéo

21/07/2010

Page 39: Presentation hourdin

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

Page 40: Presentation hourdin

40

Vidéo

21/07/2010

Page 41: Presentation hourdin

41

BILAN ET PERSPECTIVESPARTIE 6

SynthèsePerspectives scientifiquesPerspectives pour Mobilegov

21/07/2010

Page 42: Presentation hourdin

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

Page 43: Presentation hourdin

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

Page 44: Presentation hourdin

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

Page 45: Presentation hourdin

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

Page 46: Presentation hourdin

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