Les services web
L’internet du futur sera caractรฉrisรฉ par une nouvelle gรฉnรฉration d’applications construites par la composition des services et des donnรฉes provenant de diffรฉrents fournisseurs et dโorganisations, afin de fournir aux utilisateurs des services ร valeur ajoutรฉe adaptรฉs ร leurs besoins. Les services web jouent un rรดle clรฉ dans la rรฉalisation de cette vision, car ils peuvent รชtre publiรฉs, dรฉcouverts, et composรฉs par Internet en utilisant des standards comme WSDL, UDDI, SOAP. La sรฉlection dโune composition nโest pas simplement un regroupement quelconque de services web, mais un ensemble dont les tรขches sont ordonnรฉes en fonction des relations reliant ces services web.
Les services web sont gรฉnรฉralement fournis par des organisations diffรฉrentes et indรฉpendamment de tout contexte d’exรฉcution. Puisque chaque organisation possรจde ses propres rรจgles de travail, les services web doivent รชtre traitรฉs comme des unitรฉs strictement autonomes. En raison de l’augmentation du nombre de services disponibles et offrant des fonctionnalitรฉs similaires, il est difficile pour les utilisateurs de sรฉlectionner une composition de service optimale parmi une liste de services candidats qui rรฉpondent ร leurs besoins. Par consรฉquent, la sรฉlection des services est un dรฉfi majeur dans l’Internet du futur.
La littรฉrature offre une grande quantitรฉ de travaux sur la composition et la sรฉlection des services web. Malgrรฉ ces efforts, le concept de la vie privรฉe pose toujours des problรจmes dans le composition et la sรฉlection des services web. Gรฉnรฉralement ces tรขches impliquent la recueille dโune grande quantitรฉ de donnรฉes personnelles sur les clients, et leurs partage avec les fournisseurs des services. Ceci peut entraรฎner des risques d’utilisation abusive des donnรฉes, par exemple : un fournisseur de services peut utiliser les donnรฉes des clients ร des fins illicites. En consรฉquence, de plus en plus d’utilisateurs envisagent des pratiques de confidentialitรฉ adoptรฉes par les fournisseurs des services web comme un facteur important pour le choix de service. Les utilisateurs des services web doivent exiger leurs propres prรฉfรฉrences de confidentialitรฉ pour que les fournisseurs respectent les donnรฉes confidentielles de ces clients.
Avec des utilisateurs qui exigent de plus en plus des mesures de protection de la vie privรฉe, il est essentiel que les nouvelles technologies rรฉpondent ร ce besoin de maniรจre adรฉquate. Lโune des questions de recherche les plus importantes est de savoir si les services web peuvent รชtre exploitรฉs pour assurer une protection efficace de la vie privรฉe.
Les Services Web
Lโaccรจs aux systรจmes dโinformations sโappuie de plus en plus sur des technologies Internet. Les efforts de standardisation de ces technologies ont accentuรฉ lโengouement des personnes et des organisations (acadรฉmiques, industrielles, commerciales ou institutionnelles) ร lโutilisation de lโInternet et ont permis lโรฉmergence des dรฉveloppements dโapplications accessibles par Internet, nommรฉes par les services web. Ainsi, les technologies associรฉes aux services web sont devenues incontournables pour le dรฉveloppement des applications interagissant les unes avec les autres par le biais de lโInternet. Par ailleurs, le service web tend ร donner plus dโinteractions pour permettre ร deux entitรฉs hรฉtรฉrogรจnes (entreprises, clients, applications, etc.) de dialoguer ร travers le rรฉseau Internet. Ainsi, les logiciels รฉcrits par divers langages de programmation (C, Visual Basic, Java, etc.), sur diffรฉrentes plateformes (Linux, Windows, etc.) et avec plusieurs architectures peuvent employer des services web pour รฉchanger les donnรฉes ร travers des rรฉseaux informatique. Chaque service web doit pouvoir รชtre dรฉcouvert et invoquรฉ dynamiquement par les applications. Dโautre part, lโarchitecture des services web sโest imposรฉe (tout comme le langage XML) grรขce ร sa simplicitรฉ, ร sa lisibilitรฉ et ร ses fondations normalisรฉes. Lโobjectif principal des services web est de faciliter lโaccรจs aux applications entre entitรฉs et ainsi de simplifier les รฉchanges de donnรฉes. Cette interopรฉrabilitรฉ est due ร lโutilisation de normes ouvertes. LโOSI et le W3C sont les comitรฉs de coordination responsables de lโarchitecture et de la standardisation des services web. Pour amรฉliorer lโinteropรฉrabilitรฉ entre les rรฉalisateurs des services web, lโorganisation WS-I a dรฉveloppรฉe une sรฉrie de profils pour faire รฉvoluer les futures normes impliquรฉes. Lโaspect le plus important dans les services web est le fait quโils reposent sur plusieurs standards permettant ainsi la structuration de leurs architectures. Cette collection de normes et de protocoles est appelรฉe services web Protocol Stack. Elle contient entre autre XML et SOAP pour le formatage des donnรฉes, WSDL pour la description des services web et UDDI pour la recherche des services web, nรฉcessaires au bon fonctionnement des applications. Par consรฉquent, nous prรฉsentons dans ce chapitre les aspects conceptuels de la modรฉlisation des services web et les aspects liรฉs ร leur implรฉmentation.
Dรฉfinition des services web
Un service web est un composant logiciel indรฉpendant, qui rassemble un ensemble de standards web et de langages dรฉrivรฉs du XML. Ces derniers permettent sa publication, sa dรฉcouverte et son invocation ร distance. Il expose des fonctionnalitรฉs via une interface publique et permet de communiquer avec dโautres applications et services web en utilisant des messages XML transportรฉs par des protocoles internet comme le HTTP. Plusieurs dรฉfinitions des services web ont รฉtรฉ mises en avant par diffรฉrents auteurs. Citons :
IBM
ยซ Les services web sont la nouvelle vague des applications web. Ce sont des applications modulaires, auto-contenues et auto-descriptives qui peuvent รชtre publiรฉes, localisรฉes et invoquรฉes depuis le web. Les services web effectuent des actions allant de simples requรชtes ร des processus mรฉtier complexes. Une fois quโun service web est dรฉployรฉ, dโautres applications (y compris des services web) peuvent le dรฉcouvrir et lโinvoquer ยป [PONGE, 2004].
W3C
ยซ Un service web est un systรจme logiciel identifiรฉ par un URI dont les interfaces publiques et les incarnations sont dรฉfinies et dรฉcrites en XML. Sa dรฉfinition peut รชtre dรฉcouverte dynamiquement par dโautres systรจmes logiciels. Ces derniers peuvent ensuite interagir avec le service web en utilisant des messages XML transportรฉs par des protocoles Internet ยป [RICARDO, 2004].
Architecture des services web
Lโexposition et lโutilisation des services se fait dans un contexte particulier qui dรฉfinit clairement les interactions entre le service et ses utilisateurs. Les services web communiquent via un ensemble de technologies fondamentales qui partagent une architecture commune. Ils ont รฉtรฉ conรงus pour รชtre rรฉalisรฉs sur de nombreux systรจmes dรฉveloppรฉs et dรฉployรฉs de faรงon indรฉpendante.
Les diffรฉrentes couches de l’architecture d’un service web s’interfacent avec des standards, comme suit [DEHANE, 2012]:
โ La couche de publication: repose sur le protocole UDDI (Universal Description, Discovery and Integration) qui assure le regroupement, le stockage et la diffusion des descriptions des services web.
โ La couche description: est prise en charge par le langage WSDL (Web Service Description Language) [CHRISTENSEN ET AL., 2001] qui dรฉcrit les fonctionnalitรฉs fournies par le service web, les messages reรงus et envoyรฉs pour chaque fonctionnalitรฉ, ainsi que le protocole utilisรฉ pour la communication.
โ La couche communication: la couche de communication des messages propose diffรฉrents mรฉcanismes liรฉs ร l’acheminement des messages (format de communication des messages, adressage, routage…etc.). Cette couche utilise des protocoles reposants sur le langage XML, qui rรฉsout les conflits syntaxiques lors de lโencodage des donnรฉes et cela grรขce ร sa syntaxe unique. Actuellement SOAP (Simple Object Access Protocol) est le protocole le plus utilisรฉ pour cette couche.
โ La couche transport: le protocole le plus utilisรฉ dans cette couche est l’HTTP (Hyper Text Transfert Protocol). Cependant, dโautres protocoles peuvent รชtre utilisรฉs, tels que le SMTP (Simple Mail Transfer Protocol) ou le FTP (File Transfer Protocol), permettant ainsi aux services web de rester indรฉpendants du mode de transport utilisรฉ.
Utilisation des services web
Les services web sont une nouvelle voie dans le dรฉveloppement des logiciels, en dโautres termes, se sont des composants logiciels qui peuvent cohabiter dans une application sur un rรฉseau local ou Internet, et sont accessibles par des applications tiers. Les trois composants essentiels pour la fonction et lโinteropรฉrabilitรฉ de ces services web sont les suivants [CORTES, 2003].
Description des services web
Un service web a besoin dโรชtre dรฉcrit pour autoriser des organisations de lโutiliser. WSDL est utilisรฉ dans ce cas pour dรฉcrire un service web. La description du service web indique les fonctions de ce service, comme les paramรจtres entrรฉe/sortie et le protocole de transport.
Publication et dรฉcouvert des services web
Une organisation a besoin de publier les services web quโelle possรจde pour les autres organisations, afin que ces derniรจres puissent les dรฉcouvrir. Universal Description, Discovery and Intรฉgration (UDDI) sont utilisรฉs pour publier les services web sur un dรฉpรดt central UDDI. Dโautres organisations peuvent exรฉcuter les opรฉrations UDDI pour accรฉder au dรฉpรดt UDDI et dรฉcouvrir les services web qui les intรฉressent.
Invocation des services web
Une fois que lโorganisation a dรฉcouvert le service web via lโinterface UDDI et quโelle a prit la dรฉcision dโutiliser ce service dans son application, elle a besoin dโinvoquer le service web. Lโinvocation dโun service web est faite via le protocole SOAP qui est implรฉmentรฉ au-dessus du protocole HTTP.
Les technologies des services web
XML, SOAP, WSDL, et UDDI sont les technologies dominantes des services web. Une plรฉthore dโautres technologies viendront aux fils du temps pour enrichir lโarchitecture de ces derniers. Sans entrer dans les dรฉtails techniques, nous vous exposons dans le paragraphe suivant les grandes lignes de ces technologies.
XML
XML (eXtensible Markup Language) est un format texte simple trรจs flexible tirรฉ du SGML (Standard Generalized Markup Language) [RAGGETT, 1999]. ร l’origine conรงu pour la publication รฉlectronique ร grande รฉchelle, XML joue aussi un rรดle de plus en plus important dans l’รฉchange d’une large variรฉtรฉ de donnรฉes sur le Web et ailleurs. W3C le recommande depuis 1998 comme standard de description de donnรฉes. XML est un mรฉta langage qui permet dโidentifier la structure dโun document. Un document est composรฉ dโune dรฉfinition de sa structure et dโun contenu. La structure dโun document XML est souvent reprรฉsentรฉe graphiquement comme un arbre. La racine du document constitue le sujet du document, et les feuilles sont les รฉlรฉments de ce sujet. Grรขce ร sa flexibilitรฉ et extensibilitรฉ, XML est devenu rapidement le standard dโรฉchange de donnรฉes sur le web. Les avantages du XML sont multiples. Citons :
โย Lisibilitรฉ : il est facile pour un humain de lire un fichier XML car le code est structurรฉ et simple ร comprendre. Il est mรชme possible de dire qu’aucune connaissance spรฉcifique nโest nรฉcessaire pour comprendre les donnรฉes comprises ร l’intรฉrieur d’un document XML.
โย Disponibilitรฉ : un fichier XML peut รชtre crรฉรฉ ร partir d’un simple logiciel de traitement de texte (exemple : bloc-note).
โย Interopรฉrabilitรฉ : ce langage est lu avec nโimporte quel systรจme dโexploitation. Les technologies utilisรฉes sont transparentes lors de la lecture dโun fichier XML.
โย Extensibilitรฉ : en fonction des besoins, des nouvelles balises peuvent รชtre ajoutรฉes.
โ Divers parseurs XML doivent produire le mรชme rรฉsultat, ร condition quโils soient bien codรฉs.
โ Tous les rรฉcents navigateurs Internet intรจgrent un parseur XML pour lire les documents de ce langage informatique.
SOAP
SOAP (Simple Object Access Protocol), ce qui signifie ยซ Protocole Simple dโAccรจs aux Objets ยป, consiste ร faire circuler du XML via le HTTP sur le port 80. Cela induit ร la facilitรฉ des communications, car ce langage est standard et lโutilisation du port 80 ne pose aucun problรจme pour les firewalls. SOAP peut donc รชtre utilisรฉ dans tous les styles de communications : synchrone ou asynchrone, point ร point ou multipoint, Intranet ou Internet [KULCHENKO, 2001]. Ce protocole est caractรฉrisรฉ par sa facilitรฉ dโimplรฉmentation dans les serveurs Web, destinรฉ ร lโรฉchange dโinformations dans un environnement distribuรฉ et dรฉcentralisรฉ [GARDIEN, 2002]. SOAP utilise principalement les deux standards HTTP et XML :
โ HTTP comme protocole de transport des messages SOAP. Il constitue un bon moyen de transport en raison de sa popularitรฉ sur le web.
โ XML pour structurer les requรชtes et les rรฉponses, pour indiquer les paramรจtres des mรฉthodes et les valeurs de retour, ainsi pour les รฉventuelles erreurs de traitements. Les messages SOAP sont englobรฉs dans une enveloppe constituรฉe d’un entรชte et d’un corps [DRISS, 2011]:
โ Lโenveloppe (obligatoire), contient le nom du message et lโespace de nom (namespace).
โ L’entรชte (facultatif), apporte des donnรฉes supplรฉmentaires au message SOAP, comme des informations concernant l’authentification et la gestion des transactions.
โย Le corps (obligatoire) renferme :
โข du cรดtรฉ client, l’opรฉration du service invoquรฉe ainsi que les valeurs et les paramรจtres nรฉcessaires ร cette invocation.
โขย du cotรฉ service, le rรฉsultat de l’exรฉcution de l’opรฉration invoquรฉe.
Conclusion gรฉnรฉraleย
Les services web sont une technologie trรจs rรฉpondue pour lโintรฉgration et lโinteropรฉrabilitรฉ des systรจmes rรฉpartis. Ils sont caractรฉrisรฉs par leurs indรฉpendances aux plateformes et aux systรจmes dโexploitation, ce qui a impliquรฉ leur adoption par les diffรฉrentes organisations commerciales et industrielles offrant leurs services ร travers le web, et par consรฉquence lโaugmentation du nombre de services offerts. Lorsquโune application est de type web, ses tรขches composantes peuvent รชtre exรฉcutรฉes ร lโaide des services web. En particulier, pour une mรชme tรขche, on peut dรฉcouvrir plusieurs services web aptes ร lโexรฉcuter, on serait alors face ร un problรจme de sรฉlection de services web afin de choisir la combinaison de services qui fournit le meilleurs offre, cette combinaison nรฉcessite un partage des donnรฉes personnelles entre les diffรฉrentes entitรฉs participantes au service, cela peut entraรฎner des risques d’utilisation abusive des donnรฉes qui peut atteinte ร la vie privรฉe des utilisateurs.
|
Table des matiรจres
Introduction gรฉnรฉraleย
Chapitre I : Les services web
I. Introduction
II. Dรฉfinition des services web
II.1. IBM
II.2. W3C
III. Architecture des services web
IV. Cycle de vie dโun service web
V. Utilisation des services web
V.1. Description des services web
V.2. Publication et dรฉcouvert des services web
V.3. Invocation des services web
VI. Les technologies des services web
VI.1. XML
VI.2. SOAP
VI.3. WSDL
VI.4. UDDI
VII. Composition des services web
VII.1. Dรฉfinitions
VII.2. Types de composition de services web
VIII. Sรฉlection des services web
IX. Quelques domaines dโapplication des services web
X. Avantages et inconvรฉnients des services web
X.1. Avantages
X.2. Inconvรฉnients
XI. Conclusion
Chapitre II : La vie privรฉe dans les web services
I. Introduction
II. Dรฉfinition
II.1. La vie privรฉe (Sphรจre privรฉe)
II.2. Droit ร la vie privรฉe
II.3. Protection de la vie privรฉe (ou de la sphรจre)
II.4. La vie privรฉe sur Internet
II.5. Surveillance
II.6. Sรฉcuritรฉ
III. Les attaques de la vie privรฉe
III.1. Vol dโidentitรฉ
III.2. Lโhameรงonnage (phishing)
IV. Technologies de protection de la vie privรฉe
IV.1. Privacy by design
IV.2. Privacy Enhancing Technologies (PET)
IV.2.1. Les systรจmes de communications et accรจs anonymes
IV.2.2. Les systรจmes de gestion dโidentitรฉs
V. Les langages de protection de la vie privรฉe
V.1. Le Langage dโexpression de politique de la vie privรฉe
V.1.1. Platform for Privacy Preferences (P3P) [LGMM ,2005]
V.2. Le Langage de prรฉfรฉrence en termes de vie privรฉe
V.2.1. APPEL
VI. Synthรจse des travaux de recherche
VII. Conclusion
Chapitre III : Conception et Implรฉmentation du prototype
I. Introduction
II. Scรฉnario de motivation
III. Approche proposรฉe
III.1. Les rรจgles de confidentialitรฉ
III.2. Matching entre services
III.2.1. Critรจres de matching
III.2.2. Subsomption de confidentialitรฉ
III.2.3. Exemple
III.3. Algorithme proposรฉ
IV. Conception
IV.1. Diagramme de cas dโutilisation
IV.2. Diagramme de sรฉquence
IV.3. Diagramme de classes
V. Prรฉsentation des outils technologiques utilisรฉs
VI. Prรฉsentation de lโIHM
VII. Expรฉrimentation
VII.1. Description de la base
VII.2. Expรฉrimentation 1
VII.3. Expรฉrimentation 2
VII.4. Expรฉrimentation 3
VIII. Discussion
IX. Conclusion
Conclusion gรฉnรฉrale
Tรฉlรฉcharger le rapport complet