Télécharger le fichier pdf d’un mémoire de fin d’études
Internet des objets (IdO)
Il est admis que Kevin Ashton est le premier à avoir utilisé le terme d’Internet des Objets en 1999. Selon l’International Data Corporation (IDC), l’Internet des Objets est un réseau de réseaux de terminaux identifiables (ou Objets) qui communiquent sans intervention humaine via la connectivité IP. Les objets connectés couvrent une large gamme d’équipements allant du capteur, peu coûteux, accomplissant une tâche spécifique (mono-tâche) aux smartphones embarquant divers capteurs (GPS, accéléromètre, etc.) et sur lesquels nous pouvons installer des applications variées. Les principales caractéristiques des objets connectés sont leur limitation en matière d’énergie, de capacités de calcul et de mémoire, leur mobilité mais aussi leur capacité de communiquer entre eux et avec l’Internet.
Pour illustrer les fonctionnalités de l’Internet des Objets, nous avons opté pour les systèmes e-santé de surveillance de l’état de santé des individus (fréquence cardiaque, pres-sion artérielle, mouvements, etc.), et ce, dans leur environnement direct. Cette surveillance s’effectue à travers des capteurs connectés via des liaisons de courte portée (Wifi, Bluetooth, ZigBee, 6LoWPAN, etc.), qui s’appuient sur un dispositif d’externalisation de traitement et sur le Cloud pour fournir les services de surveillance de santé. Ce type d’applications, compte tenu des données manipulées et des technologies employées, présente de fortes contraintes de types légal, éthique et techniques sur la protection des données personnelles et de la vie privée [108].
Une vue générale de cette architecture est donnée dans la figure 1.1. Elle est constituée de capteurs connectés, via une liaison sans fil de courte portée (Wifi, Bluetooth, NFC, ZigBee, etc.), à un équipement mobile (Smartphone, tablette, etc.) ou à une station de base qui joue le rôle d’intermédiaire entre le réseau local et le réseau Internet, et de là aux services du Cloud. Ce type d’architecture permet d’envisager diverses applications e-santé. Nous pouvons citer, à titre d’exemple, les travaux de Doukas et al. [37] qui ont démontré la facilité de mise en œuvre d’une telle architecture et proposé un prototype d’implémentation d’un système e-santé basé sur le Cloud Computing avec le service « Amazon S3 Cloud Storage » et un client mobile sous un système Android. Karunarathne et al. [65] ont proposé une architecture similaire, pour la surveillance des personnes prédisposées aux accidents cardiaux-vasculaires avec des capteurs de mouvements et d’accélération. Le tout via une application sur Smartphone et un service sur le Cloud pour le traitement de données et le stockage.
Avec la prolifération des dispositifs de l’Internet des objets (IdO), caractérisés par des limitations en énergie, puissance de calcul et mémoire, conjuguées à des demandes croissantes en ressources des applications (réalité augmenté, surveillance…), il s’est avéré que les traitements liés à ces applications ne peuvent être effectués sur le dispositif lui-même. La solution viable est l’externalisation de certaines tâches vers des équipements n’ayant pas de contraintes de ressources [4]. Dans la suite, nous allons aborder certaines technologies qui permettent l’externalisation des services informatiques.
Externalisation des services informatiques (Computation Offloa-ding)
Les années 2000 ont connu une évolution importante des systèmes informatiques vers la notion de service informatique, bien que les prémices de cette notion étaient déjà mises en œuvre dans les années 1950. Cette notion s’est concrétisée avec la possibilité de louer à la demande des capacités informatiques (capacités de calcul et de stockage aux logiciels) sur des serveurs centralisés et distants, accessibles via le réseau Internet. Alors que jusque-là, les systèmes informatiques étaient essentiellement construits autour de serveurs propriétaires des entités exploitantes. C’est le paradigme du Cloud computing ou l’informatique en nuage.
Néanmoins, avec le besoin de traiter des données massives (big-data en anglais), de l’informatique ubiquitaire associée à l’Internet des objets, et en particulier avec des ap-plications nécessitant une prise en compte du contexte, de la mobilité et des applications sensibles à la gigue et au temps de réponse du réseau, le modèle du Cloud computing est rendu inefficace. Cette inefficacité résulte principalement de la distance géographique entre les centres de données et les clients finaux. Pour remédier à cette situation, et prendre en compte les contraintes physiques des objets connectés, de nouveaux paradigmes ont fait leur apparition. Ces paradigmes ont en commun l’objectif de rapprocher les fonctionnalités du Cloud du client. Les plus couramment abordés dans la littérature sont le Cloud mobile (ou mobile Cloud computing en anglais) [143], l’informatique en brouillard (fog computing) [138] et l’infrastructure réseau des frontières (ou mobile edge computing en anglais) [136]. Un aperçu sur ces paradigmes qui permettent d’extérioriser les services informatiques (capacité de calcul, de stockage, plates-formes de développement, logiciels applicatifs, etc.) est présenté dans ce qui suit. La figure 1.2 schématise le fonctionnement global de cette architecture.
L’informatique en nuage (Cloud Computing)
La commission générale de terminologie et de néologie propose le terme français d’informatique en nuage et lui donne une définition officielle [22] : « Mode de traitement des données d’un client, dont l’exploitation s’effectue par l’Internet, sous la forme de services fournis par un prestataire. » et note que c’est une forme de gérance de l’informatique « dans laquelle l’emplacement et le fonctionnement du nuage ne sont pas portés à la connaissance des clients. »
Mais nous préférons employer par convenance l’anglicisme Cloud Computing, qui reste le plus usité dans la littérature.
Le Cloud Computing selon le National Institute of Standards and Technology (NIST), est un modèle qui permet un accès via un réseau omniprésent, pratique et à la demande à un ensemble partagé de ressources informatiques configurables (e.g., réseaux, serveurs, stockage, applications et services) qui peuvent être mises à disposition et libérées avec un minimum d’effort de gestion ou d’interaction avec le fournisseur de services.
Le Cloud Computing, apporte une réponse viable aux challenges auxquels est confronté l’Internet des objets, notamment la croissance du volume de données, qui est accentuée par la prolifération de capteurs et objets connectés. A titre d’exemple, General Electric (GE) Healthcare estime qu’en moyenne, le monitoring d’un patient génère 1,5 GB de données par jour. L’utilisation de plus en plus répandue de terminaux mobiles (Smartphones, tablettes, etc.) requiert l’extension de leurs capacités limitées en utilisant celles du Cloud.
Le Cloud offre, comme nous pouvons le voir sur la figure 1.3, une variété de services d’infrastructure (IaaS pour Infrastructure as a Service) tels que des infrastructures réseau virtuelles, de plates-formes (PaaS pour Platform as a Service) tels que des systèmes d’exploitation ou encore de logiciels (SaaS pour Software as a Service) comme les applications d’authentification, de comptabilitité ou autre.
Traitement des données à la périphérie du réseau (Edge-computing)
Avec l’augmentation du nombre de dispositifs connectés et mobiles, le modèle centralisé du Cloud computing ne répond plus aux besoins de nombreuses applications en matière de qualité de service délivrée. En effet, la centralisation des traitements, même avec des ressources importantes, engendre des nœuds de congestion dans le réseau. Ce qui se répercute négativement sur la qualité de service délivré, en termes de temps de réponse notamment. La solution apportée par le paradigme de Edge-computing, ou son extension mobile edge-computing (MEC), est de déployer de plus petites capacités de traitements qui soient le plus proche possible de l’utilisateur final. Ainsi, dans l’architecture MEC poussée par les réseaux mobiles de 5ème génération, les nœuds périphériques du réseau permettent de fournir des services informatiques, optimisant ainsi l’utilisation du réseau tout en améliorant la qualité de l’expérience de l’utilisateur final [4].
De manière générale, les nœuds définis dans les plates-formes MEC sont appelés « serveurs MEC ». Mais, certains auteurs utilisent le terme de « Cloudlet » qui est plus générique. Bien que les serveurs MEC ou Cloudlets aient des capacités bien inférieures à celles offertes par le Cloud, ils fournissent une bien meilleure qualité de service [151] grâce à leur proximité de l’utilisateur final. Les équipements pouvant être utilisés comme frontières de réseau sont les routeurs MEC, les stations de base pour mobiles, les points d’accès WIFI et même les box Internet 1. Ces équipements peuvent être dotés de capacités de virtualisation suffisantes pour fournir des services individualisés aux utilisateurs.
L’informatique en brouillard (Fog computing)
Le concept de Fog computing a été introduit par Cisco en 2012 pour répondre aux limites du Cloud Computing dans la prise en compte des nouvelles exigences liées aux applications de l’Internet des objets, notamment en termes de temps de réponse et d’efficacité réseau. Il consiste à mettre à disposition des utilisateurs des capacités informatiques situées sur la frontière du réseau entre le dispositif client final et le Cloud traditionnel, de façon complémentaire à ce dernier.
La définition donnée par Bonomi et al. [20] stipule que le fog computing est « une plateforme hautement virtualisée qui fournit des services de calcul, de stockage et de réseau, localisés entre les terminaux et les centres de données traditionnels du Cloud Computing ».
L’informatique en brouillard permet de disposer d’architectures hiérarchiques où les données collectées par les dispositifs connectés (capteurs et autres) sont traitées localement avant de subir un traitement plus global au niveau du Cloud (voir figure 1.4). Bonomi et al. [20] prévoient la création de nouvelles formes de concurrence, entre les fournisseurs de services, tout en assurant une certaine forme de coopération entre ces fournisseurs pour fournir un service global.
Certains auteurs confondent les deux concepts de Fog et d’Edge computing, car très proches l’un de l’autre. Néanmoins, contrairement aux nœuds de l’Edge-computing, le déploiement des nœuds du Fog-computing ne se limite pas à la périphérie du réseau, mais peut être effectué plus en profondeur du réseau (ex. routeurs du cœur du réseau, switchs WAN , etc.). Aussi, contrairement au Edge-computing, le Fog-computing peut facilement étendre les modèles de services (IaaS, PaaS, SaaS) offerts par le Cloud vers la périphérie du réseau [86].
Enfin, Mahmud et al. [86] considèrent le Fog-computing comme ayant plus de potentiel de développement pour les applications de l’Internet des objets par rapport aux autres paradigmes comparables.
La figure 1.4 permet de situer globalement les différents paradigmes utilisés pour déporter les traitements informatiques dans un environnement IdO.
|
Table des matières
I Introduction
Introduction
1.1 Contexte et problématique
1.2 Concepts mis en oeuvre
1.2.1 Internet des objets (IdO)
1.2.2 Externalisation des services informatiques (Computation Offloading)
1.3 Méthodologie et problématiques de recherche
1.4 Contribution
1.5 Organisation du document
2 État de l’art de la sécurité des données dans un environnement Internet des Objets et Cloud
2.1 Introduction
2.1.1 Impact de l’hétérogénéité de l’environnement sur la sécurité des données
2.1.2 Externalisation des services : solution ou problème ?
2.1.3 Exigence de sécurité – cas de la e-santé –
2.2 Le chiffrement
2.2.1 Chiffrement symétrique (chiffrement à clé privée)
2.2.2 Chiffrement asymétrique (chiffrement à clé publique)
2.2.3 Chiffrement par attributs
2.3 Systèmes de recommandation en tant que systèmes de gestion de confiance
2.3.1 Les systèmes de recommandation
2.3.2 Les modèles d’évaluation de la confiance
2.4 Contribution des blockchains à la protection des données
2.4.1 La blockchain
2.4.2 La blockchain et la sécurité
2.4.3 Mise en oeuvre dans la pratique
2.5 Conclusion
II Protection cryptographique
3 Pré-requis scientifiques pour le chiffrement basé sur les attributs
3.1 Introduction
3.2 Notions utilisées dans ABE
3.2.1 Définitions utiles
3.2.2 Les Groupes
3.2.3 Couplage symétrique bilinéaire
3.2.4 Structure d’accès dans le contexte d’ABE
3.3 Courbes elliptiques
3.3.1 Avantage des courbes elliptiques en cryptographie
3.4 Sécurité calculatoire
3.5 Modèle de sécurité
3.5.1 Attaque à texte clair choisi (en anglais : chosen-plaintext attack)
3.5.2 Attaque à texte chiffré choisi (en anglais : chosen-ciphertext attack)
3.5.3 L’indistinguabilité
3.5.4 Preuve de sécurité par l’absurde
3.6 Conclusion
4 Modèle de protection de données personnelles dans un environnement IdO-Cloud, basé sur le chiffrement par attributs
4.1 Introduction
4.2 Modèle considéré
4.2.1 Architecture du système
4.2.2 Modèle de menace
4.3 Le Chiffrement basé sur les attributs avec l’informatique en brouillard (FCCP-ABE)
4.3.1 Construction proposée
4.3.2 Le modèle de sécurité dans le système considéré
4.4 Système de préservation de la vie privée basé sur la Blockchain
4.4.1 Modélisation du registre des autorisations d’accès sur Blockchain (RA2-Blockchain)
4.4.2 Architecture globale du système considéré
4.5 Protocole de protection des données personnelles, centré sur le propriétaire de données avec un contrôle décentralisé et un chiffrement adapté à l’environnement IdO/Cloud
4.6 Conclusion
5 Analyse théorique et expérimentale du modèle de protection des données personnelles dans un environnement IdO/Cloud, basé sur le chiffrement par attributs
5.1 Introduction
5.2 Analyse théorique de la sécurité et de la protection de la vie privée
5.3 Analyse expérimentale
5.3.1 Évaluation des performances de CP-ABE sur différentes plates-formes
5.3.2 Comparaison des performances
5.4 Analyse de l’adaptabilité de la Blockchain à différentes échelles
5.4.1 Méthodologie
5.4.2 Évaluation des capacités de la Blockchain
5.4.3 Évaluation du nombre de transactions
5.5 Impacte de l’algorithme de génération de clés de déchiffrement sur le système
5.6 Conclusion
III Évaluation de la confiance
6 Pré-requis pour l’évaluation de la confiance à base des cartes de Kohonen
6.1 Introduction
6.2 Système de recommandation, outil d’évaluation de la confiance
6.2.1 Terminologie relative aux systèmes de confiance
6.2.2 Système de recommandation
6.2.3 Le filtrage collaboratif (FC)
6.2.4 Prédiction de l’évaluation
6.2.5 Mesures de similarité
6.3 Les cartes auto-organisatrices
6.3.1 Algorithme des cartes auto-organisatrices
6.3.2 Avantage de la classification à base de cartes auto-organisatrices
6.4 K-moyennes
6.4.1 Algorithme des K-moyenne
6.5 Conclusion
7 Modèle SOM-BTR d’évaluation de la confiance à l’aide de cartes autoorganisatrices
7.1 Introduction
7.2 Modèle de recommandation de confiance basé sur les cartes auto-organisatrices (SOM-BTR)
7.2.1 Moyenne Descriptive
7.2.2 Recommandation basée sur les cartes de Kohonen
7.3 Identification des utilisateurs non fiables
7.3.1 Densité d’appels de l’utilisateur Du,s
7.3.2 Le coefficient d’aberration de l’utilisateur Abru,s
7.3.3 Coefficient de crédibilité de l’utilisateur CrCu,s
7.4 Conclusion
8 Évaluation expérimentale du modèle SOM-BTR
8.1 Introduction
8.2 Données utilisées
8.3 Métrique d’évaluation
8.4 Robustesse du modèle face aux utilisateurs non fiables
8.5 Impact du seuil γ sur la détection d’utilisateurs non fiables
8.6 Détection des utilisateurs non fiables
8.7 Impact de la densité de données sur l’efficacité de la prédiction
8.8 Analyse comparative de SOM-BTR avec les modèles de la littérature
8.9 Cas d’utilisation illustratif
8.10 Conclusion
IV Conclusion et perspectives
Conclusion
Publications
Bibliographie
V Annexes
A Preuve de la sécurité du schéma ECCP-ABE
Télécharger le rapport complet