raoilisonManitraB ESPA MAST 18 PDF
raoilisonManitraB ESPA MAST 18 PDF
raoilisonManitraB ESPA MAST 18 PDF
UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
MENTION TELECOMMUNICATION
MEMOIRE
en vue de l’obtention
du DIPLOME de Master
Titre : Ingénieur
Domaine : Sciences de l’Ingénieur
Mention : Télécommunication
Parcours : Ingénierie des Réseaux et Systèmes (IRS)
Examinateurs :
M. RANDRIAMIHAJARISON Jimmy
M. RANDRIAMANAMPY Samuel
Tout d’abord, je rends Grâce à Dieu tout puissant de m’avoir accordé la santé, le temps et la
force nécessaire pour réaliser ce mémoire.
Mes sincères remerciements s’adressent également à tous les membres du jury qui ont acceptés
d’évaluer ce mémoire :
Je témoigne enfin toute ma gratitude envers ma famille, les amis ainsi que toutes les personnes
qui m’ont soutenu de près ou de loin pour me permettre de réaliser à terme mon travail
i
TABLE DES MATIERES
REMERCIEMENTS .............................................................................................................................. i
ABREVIATIONS ................................................................................................................................. vi
2.2 Les différents volets à considérer dans l’Internet des objets : ...............................................19
ii
2.3.1 Les créateurs de solutions connectées ................................................................................ 20
3.6 Utilisation d’un Service web dans une page web sous le Framework Codeigniter ..............46
3.8.3 Cartographie des méthodes d’attaques contre les objets connectés .................................. 52
BIBLIOGRAPHIE .............................................................................................................................. 71
v
ABREVIATIONS
IP Internet Protocol
vi
OSI Open Systems Interconnection
vii
INTRODUCTION GENERALE
L’Internet des objets est actuellement au centre de l’attention des consommateurs et des
entreprises. L’émergence des objets connectés offre d’innombrables opportunités par les
possibilités offertes en tant qu’utilisateur comme en tant que fournisseur de service. Les objets
connectés se multiplient et se diversifient sur le marché du grand public. De ce fait, ceci
engendre un nouveau besoin : celui de créer des interactions entre ces objets permettant
d’apporter de nouveaux services à l’être humain. Plusieurs sont ainsi les domaines d’application
de cette plateforme telle que trouver des objets perdus ou se servir de cette technologie sans fil
pour réduire le coût de budget publicitaire d’une entreprise et faire gagner du temps aux clients.
Cependant, l’hétérogénéité des composants matériels et des réseaux liés à la plateforme IoT
posent des difficultés pour l’utilisation de cette plateforme. De plus, ces objets de tailles
minuscules ne peuvent émettre que peu d’informations qui sont pratiquement non significatives
à elles seules. Le problème qui se pose alors est de comment associer les données des objets
connectées à la plateforme Cloud pour fournir des services aux utilisateurs finales qui utilisent
des plateformes mobile. Ainsi le but de ce présent mémoire intitulé « Implémentation de
service web via la plateforme IoT » est d'apporter la solution qui vise à résoudre ce problème.
Sur ce, nous allons repartir notre travail en quatre chapitres. Dans un premier temps, nous
allons présenter les généralités sur les réseaux sans fils et l'Internet des objets. En deuxième
lieu, nous allons étudier l'Internet des objets ce qui nous permettra de tout savoir sur cette
technologie. Dans le troisième chapitre de cet ouvrage, nous allons analyser en détail les
services web ainsi que la sécurité liée à la plateforme. Enfin, dans le dernier chapitre, pour
réaliser notre travail, nous allons créer une plateforme IoT à travers l'implémentation d'un
prototype de magasin connecté.
1
CHAPITRE 1
GENERALITE SUR LES RESEAUX SANS FILS ET L’INTERNET DES OBJETS
1.1 Introduction
Internet offre actuellement une multitude d’applications pour les individus et les entreprises.
Aujourd’hui, ses capacités peuvent être exploitées au-delà des seuls ordinateurs et terminaux
mobiles en donnant la possibilité d’interconnecter tout objet physique à internet. Cette approche
d’extension de l’internet avec les objets est dénommée « Internet des objets », une plateforme
permettant de relier plusieurs milliards d’êtres humains et d’objets. Son infrastructure s’appuie
sur les réseaux informatiques et les standards des réseaux sans fils. Nous allons ainsi étudier
dans ce premier chapitre la généralité sur les réseaux sans fil et analyser des réseaux mieux
adaptés à la plateforme IoT.
1.2.1 Définitions
Une première approche de la définition du terme Internet des objets est selon la norme IEEE
(Institute of Electrical and Electronics Engineers) un « réseau d’éléments munis de capteurs qui
sont connectés à Internet » et aussi « équipement possédant les six attributs suivants » :[1]
Processeurs Sécurité
Une deuxième approche s’énonce comme suit d’après le groupe de travail Internet of Things
Global Standards Initiative (IoT-GSI), piloté par l’Union International de la
Télécommunication (UIT) : la plateforme IoT est « une infrastructure mondiale au service de
la société de l’information » permettant « d’offrir des services évolués en interconnectant des
objets (physiques et virtuels) grâce à l’interopérabilité de technologies de l’information et de la
communication existantes ou en évolution». [1][2]
2
En partant de ces définitions, nous envisageons l’IoT comme un réseau d’objets identifiables et
interopérables reliés par différents services sur Internet et qui permet de fournir des services
aux utilisateurs.
En 1989, Tim Berners-Lee inventait le World Wide Web. Au milieu des années 90, des grille-
pains connectés et autres machines à café reliées à Internet apparaissent. Le concept de
l’Internet des objets apparaît pour la première fois en 1995 dans le livre du fondateur de
Microsoft, Bill Gates, « The Road Ahead ». Il y mentionne alors ce nouveau concept, sans
toutefois attirer l’attention du public puisque le développement d’Internet est alors trop limité.
En 2005, l’Union International de la Télécommunication publie « UIT Rapport d’Internet 2005
: l'Internet des objets », donnant naissance à un nouveau concept, « l’Internet des objets »,
traitant de la connexion entre mondes réel et virtuel. Il a aussi envisagé qu’avec l’application
de technologies telles que l’identification par radiofréquence ou RFID (Radio Frequency
Identification), les capteurs sans fil et les nanotechnologies, Internet pourrait s’étendre à des
objets bien réels.
En 2009, la Commission européenne présente les perspectives et les enjeux de son
développement sur le sujet et propose un plan de développement autour de l’Internet des objets.
En 2010, le nombre d’appareils connectés a dépassé le nombre de la population mondiale. Il est
estimé que le nombre d’objets connectés pourrait atteindre 50 milliards en 2020 (Source : Cisco
IBSG « Internet Business Solutions Group », Avril 2011).[2]
3
1.2.3 Vision panoramique de l’Internet des objets
La plateforme IoT est assez complexe car il intègre plusieurs technologies et domaines de
compétences. Il englobe généralement à la fois du matériel (hardware), des protocoles de
communication, du logiciel (software), du Cloud et de la plateforme mobile. On peut ainsi
décomposer un système IoT en quatre parties distinctes (Equipements, Réseaux, Système
d’information, Domaine applicatif) comme montrées sur la Figure 1.03 : [1]
VISUALISER
Réseau mobile
Internet
CAPTEURS
Réseau fixe
Data Center
1.2.3.2 Equipements:
Dans cette partie, on est au niveau de l’objet connecté. Les objets sont équipés de capteurs qui
permettent de faire des mesures ou de générer des signaux pour permettre de déterminer sa
position et de découvrir son identité. Certains objets peuvent être dotés de capacités
électroniques, informatiques et réseaux qui leur permettent de se connecter directement au
réseau Internet. Mais généralement, ayant des contraintes matérielles et logicielles (autonomie
limité, capacité de traitement limité, etc), les objets communiquent avec le réseau internet à
travers une passerelle « gateway ». Un exemple de cette passerelle est notre smartphone qui va
permettre la communication avec le Cloud. [1][2]
4
1.2.3.3 Réseaux
C’est dans cette partie qu’il y a l’envoi des données depuis le réseau local vers le Cloud. Dans
notre travail, nous utilisons la technologie Bluetooth pour faire communiquer les objets entre
eux et de la technologie Wifi (Wireless Fidelity) pour la communication vers le Cloud pour
récupérer les services. Si notre serveur est hébergé en ligne, il est possible d’utiliser directement
le réseau internet pour l’accès aux services.
C’est la partie stockage et traitement de données. C’est dans cette partie que se trouve une
grande partie de notre travail où on va stocker les données, les analyser, et créer un interface
web de gestion permettant de publier ou non un produit sur des plateformes applicatif au moyen
des Services Web.
C’est la partie qui permet d’exposer les services des objets connectés vers les utilisateurs finals
au moyen d’une application mobile. Dans notre travail, nous créons et développons une
application Android pour permettre à un utilisateur de visualiser le service offerte dans le
système d’information.
Les réseaux informatiques sont nés du besoin de relier des terminaux distants à un site central
puis des ordinateurs entre eux et enfin des machines terminales, telles que stations de travail ou
serveurs. Aujourd’hui, le principal et le plus grand réseau informatique est internet, le réseau
des réseaux.
1.3.1 Définitions
5
Enfin une autre approche consiste à considérer le réseau informatique comme l’ensemble des
ordinateurs ou périphériques qui sont connectés les uns aux autres. D’ailleurs, le réseau minimal
est composé de deux ordinateurs connectés.
Application 7
4 Application Présentation 6
Session 5
3 Transport Transport 4
2 Internet Réseau 3
Liaison de données 2
1 Accès Réseau
Physique 1
Quatre couches sont utilisées par le Modèle TCP/IP. Le terme de couche est utilisé pour évoquer
le fait que les données qui transitent sur le réseau traversent plusieurs niveaux de protocoles.
Ainsi, les données (paquets d’informations) qui circulent sur le réseau sont traitées
successivement par chaque couche. A chacune de ses couches est associée à une ou plusieurs
protocoles.
6
1.3.3 Protocole
Réseau
Réseau
Réseau Réseau étendu
local
Personnel métropolitain
1m 10 m 100 m 1 km 10 km 100 km
7
Figure 1.05 : Catégories de réseaux informatique
Ce type de réseau correspond à un réseau de faible portée, pour une zone restreinte appelé aussi
réseau domestique. Le réseau personnel sans fil (WPAN pour Wireless Personal Area Network)
repose sur des technologies comme le Bluetooth, USB sans fil, ZigBee ou Z-Wave, ces
technologies sont plus évoquées dans le contexte de l’Internet des objets.
Ce type de réseau permet de relier plusieurs ordinateurs entre eux. La portée d’un réseau LAN
est tributaire de la norme utilisée et du support de transmission, pouvant être augmenté par
l’amplificateur de signal, ce que l’on appelle un répéteur : Une plage de signal de plusieurs
kilomètres est possible avec Gigabit Ethernet sur fibre optique. Toutefois, les réseaux locaux
couvrent rarement plus d’un complexe de bâtiments
Ce type de réseau s’étend sur une zone pouvant couvrir une ville entière. C’est un réseau de
télécommunication à large bande qui relie plusieurs LAN géographiquement à proximité
Ce type de réseau couvre des vastes zones géographique à l’échelle d’un pays ou d’un continent,
alors que les réseaux métropolitains relient des zones qui se trouvent proches les unes des autres
dans des zones rurales ou urbaines.
Dans le cadre de l’objet connecté, il existe des réseaux LPWAN (Low Power Wide Area
Network) qui font partie intégrante du WAN: Ces réseaux se caractérisent par une portée de
l’ordre de plusieurs kilomètres et une faible consommation énergétique. À l’image des réseaux
Sigfox et LoRa, ils ont été spécifiquement conçus pour transporter les données IoT à faible coût.
Les réseaux LPWAN s’appuient souvent sur des bandes de fréquences « ISM » (Industrie /
Science / Médical) non licenciées. Les réseaux Lora sont des LPWANs (bas débit, longue
portée, et faible consommation). Ils permettent à des objets fonctionnant sur batterie de
transférer un peu d’information vers Internet pendant plusieurs mois sans nécessité d’être
rechargés. [6]
8
PAN LAN MAN WAN
Standards Bluetooth 802.11a, 11b, 802.11, 802.16, GSM, UMTS,
11g, MMDS, LMDS LTE, LPWAN
HiperLAN2
Couverture Faible Moyenne Moyenne – Etendue
Etendue
1.4.1 Présentation
Un réseau sans fil est un réseau informatique qui connecte différents systèmes entre eux par
ondes radio. Il peut être associé à un réseau de télécommunication pour réaliser des
interconnexions entre nœuds et d’augmenter la couverture réseau. [3][5]
GSM
UMTS
HSDPA
LTE
Wireless Personal Area Network (WPAN) Wireless Wide Area Network (WWAN)
Le rayonnement géographique des ondes est relativement limité étant donné la faible puissance
d’émission des solutions matérielles actuelles. Pour cette raison, les réseaux sans fil se sont
9
avant tout développés comme réseaux internes, propres à un bâtiment, soit comme réseau
d’entreprise, soit comme réseau domestique.
Néanmoins, des projets de réalisation de réseaux à grande échelle ont vu le jour. Par conséquent,
certaines zones urbaines sont couvertes par des réseaux sans fil qui sont soit le fait d’entreprises
spécialisées, soit d’associations d’individus.
Le tableau suivant donne une récapitulation des différents standards (IEEE) sur les réseaux sans
fil ainsi que leur caractéristiques (débit, portée, fréquence, étalement).
Il existe deux grandes catégories de réseaux qui permettent de transmettre des informations
entre plusieurs objets connectés avec une consommation maîtrisée et minimale d’énergie : les
réseaux longue portée (Low-Power Wide-Area Network, LPWAN) et les réseaux à courte
portée. Au sein de chacune de ces catégories, plusieurs réseaux concurrentiels existent.
10
Figure 1.07 : Différents types de réseaux dans l’Internet des objets
Les réseaux à courte portée permettent de transférer des données sur de faibles distances. Ils
sont beaucoup utilisés dans la domotique. Parmi ces réseaux, on retrouve notamment le
Bluetooth Low Energy (BLE), principalement destiné aux objets connectés pour lesquels le
besoin énergétique est faible ; la norme wifi, particulièrement adapté pour une utilisation qui
nécessite couverture réseau plus grande que le Bluetooth et une communication bien protéger
par des chiffrements ; ou encore Z-Wave et ZigBee, deux protocoles de communication
notamment utilisés à la domotique. En fait, La connectivité des objets passe par plusieurs
normes, dont chacune présente des avantages et des inconvénients. Il est donc nécessaire de
choisir des normes en adéquation avec les besoins des objets connectés. Nous allons maintenant
évoquer les normes les plus utilisées pour l’Internet des objets, qui appartiennent toutes à la
famille Institute of Electrical and Electronics Engineers (IEEE) 802 qui regroupe des normes
de réseaux locaux et métropolitains sur la transmission de données.[7][8]
1.5.1.1 Wifi
Le Wireless Fidelity ou IEEE 802.11 est le moyen de communication le plus connu puisqu’il
équipe notamment les téléphones et ordinateurs du grand public. Le Wifi regroupe de
nombreuses normes, que l’on peut dissocier en plusieurs catégories :
IEEE 802.11 a, b, g, n, ac : ce sont les normes « les plus standards », dès lors qu’elles équipent
l’ordinateur ou le téléphone du grand public ;
IEEE 802.11 ad : cette norme maximise le débit au détriment de la portée. Cela peut, par
exemple, permettre de transférer un flux vidéo d’excellente qualité sans fil, pour remplacer un
câble HDMI (High Definition Multimedia Interface);
• IEEE 802.11 ah : c’est la norme la plus récente, elle est particulièrement adapté pour les objets
connectés
Le tableau 1.04 montre l’évolution des normes Wifi, parties d’une norme 802.11a pour devenir
aujourd’hui la norme 802.11ac. [3][5]
11
Tableau 1.04: Evolution des normes Wifi
L’analyse des données de ce tableau permet de constater que les débits offerts par la dernière
norme sont très élevés et que leur portée est également importante. Cependant, la consommation
d’énergie du Wi-Fi « classique » est plus importante que pour les normes que nous verrons par
la suite. Par conséquent, le Wi-Fi est généralement réservé aux caméras de surveillance ou aux
caméras IP car elles ont besoin d’un débit important afin de diffuser un flux vidéo.
En fait, le Wi-Fi ah s’agit de la norme la plus récente (décembre 2016), a été pensée pour
l’Internet des objets. Le Wi-Fi ah fonctionne à une fréquence de 900 MHz, ce qui lui permet
d’avoir une excellente portée même en intérieur, en privilégiant une basse consommation. Ses
débits sont limités à 8 Mbit/s, ce qui est faible mais n’est pas gênant dans le cadre d’objets
connectés. Du fait de sa jeunesse, la norme n’est pas encore démocratisée, mais il se pourrait
qu’elle devienne incontournable dans la plateforme IoT, à condition que son coût d’intégration
ne soit pas trop élevé [3] [9]
Ces deux normes sont pensées pour être utilisées par les objets connectés. Étant similaires sur
de nombreux points, elles ont été réunies dans une même catégorie.
a. Similarités
C’est sur leur fonctionnement qu’on retrouve le plus de points communs. Les plages de
fréquences se situent autour de 900 MHz, ce qui entraîne des avantages sur la portée. Le débit
est faible (40 kbit/s pour le ZigBee et 100 kbit/s pour le ZWave). La consommation énergétique
est très réduite et assez similaire à celle du bluetooth LE (environ un an avec une simple pile).
Ces points sont tous identiques au Wi-Fi ah (qui s’est inspiré de ces normes). Cependant, il
reste une particularité de ces deux normes, il s’agit de leur topologie maillée.[10]
b. Différences
Le ZigBee et le Z-Wave sont certes très similaires sans toutefois être identiques. Ils ne sont
d’ailleurs pas interopérables. Le ZigBee est un standard ouvert, contrairement au Z-Wave. De
nombreuses entreprises se partagent donc la vente des puces ZigBee, contrairement aux puces
ZWave. Cette concurrence tire les prix à la baisse. Le ZigBee revient donc moins cher à
implémenter. Et le Z-Wave a une portée bien meilleure que le ZigBee
12
1.5.1.3 Bluetooth
Le Bluetooth (ou IEEE 802.15) est une autre norme de communication très répandue, utilisable
sur bon nombre de téléphones portables, ordinateurs ou équipements audio. On le retrouve dans
un certain nombre de variantes, en plus des différentes versions (1, 2, 3, 4.1, 4.2, 5). Il existe
également le mode Classic, le mode Low Energy et enfin différentes classes (1, 2, 3).
Le mode Classic permet des débits élevés mais une consommation d’énergie forte. En revanche,
le mode Low Energy (LE), comme son nom l’indique, a l’objectif inverse. Les classes changent
les puissances de fonctionnement, ce qui implique des portées différentes. La plupart des
produits travaillent en classe 2, c’est à dire à 2,5 mW maximum pour une portée allant jusqu’à
une vingtaine de mètres (une cinquantaine pour le Bluetooth 5).
Le mode LE, disponible depuis la version 4 du Bluetooth, est la version qui va plus
particulièrement nous intéresser dans le cadre des objets connectés. Comme il fonctionne sur
les fréquences avoisinant 2,4 Ghz, sa portée n’est pas très élevée en intérieur.
Enfin, le Bluetooth fonctionne sur un principe de profils qui définit le mode de fonctionnement
de l’objet (le débit de transmission et des commandes transmissibles par exemple). Ces profils
permettent de ne pas avoir à installer de logiciels supplémentaires (ce qu’on appelle des pilotes
sur ordinateur) afin de faire fonctionner un objet. Cela facilite l’utilisation mais aussi le travail
du constructeur qui n’aura pas de coût supplémentaire pour la conception de ce logiciel. Ce
principe est donc très avantageux et limite le coût d’intégration des objets. [3][11]
Les réseaux longue portée sont capables de faire transiter des données d’un équipement à un
autre ou à destination d’un service d’appui sur Internet sur de vastes distances (de l’ordre du
kilomètre). Dans cette catégorie, on trouve tout d’abord les technologies cellulaires (GSM,
GPRS, UMTS, etc.). Le principal avantage des réseaux cellulaires, fournis par les opérateurs
télécoms traditionnels, est qu’ils permettent de transférer d’importantes quantités de données.
Ils sont en revanche plus gourmands en énergie que les autres réseaux longue portée, tels que
LoRa ou Sigfox qui sont réputés peu énergivores. [3][11]
D’une part, on retrouve la technologie développée par un Startup Française qui va donner
naissance à une révolution des technologies de communication pour l’Internet des objets, il
s’agit de SigFox. Cette technologie propose de transmettre dans la bande de fréquence des 860
13
MHz, juste en dessous du GSM. Par contre la bande passante est très fine, mais suffisante pour
transmettre quelques informations depuis les objets connectés. Ce réseau est construit comme
un réseau d’opérateur de l’Internet des objets.
D’autre part, une nouvelle initiative a été plus récemment lancée pour considérer les
communications des objets de l’IoT à travers les réseaux cellulaires : il s’agit de l’alliance
LORA qui propose un Framework de communication des objets IoT à intégrer avec les réseaux
opérateurs existants.
Particulièrement, une autre initiative à citer est la 5G, qui est le réseau cellulaire mobile attendu
avec un débit de 1Gbps travaillant particulièrement sur l’intégration des objets connectés. Avec
un tel débit élevé, plusieurs sont ses domaines d’application dans l’IoT comme impliquant le
transport, la santé, l’énergie, etc. [12][13][14]
a. Description de LoRa
L’alliance LoRa a été créée plus récemment lors du CES 2015 (Consumer Electronics Show).
Il s’agit d’un consortium visant à développer une offre concurrente de Sigfox, open source, et
14
basée sur la technologie LoRa brevetée par la société d’origine française Cycleo en 2012.
Aujourd’hui, l’alliance comprend 127 membres dont des acteurs français comme Bouygues
Telecom, Actiliy et Sagecomm.
b. Caractéristique du réseau
D’un côté, il a été annoncé que la portée du réseau LoRa est d’environ 20km en zone rurale et
à 2km en zone urbaine.
De l’autre côté, le réseau LoRa a un débit compris entre 0,3 à 50 kbps. Le débit (et la puissance
d’émission) s’adapte automatiquement selon les besoins des objets, afin de limiter la bande
passante et donc la consommation d’énergie
Par ailleurs, les canaux sont, en Europe de 125 kHz de bande passante. Dans cette bande
passante, on peut faire circuler un débit de quelques kilobits par seconde.
Enfin, le réseau LoRa est sécurisé car les communications sont protégées par un chiffrement
AES (Advanced Encryption Standard) reposant sur une clé symétrique partagée entre un objet
et le serveur central du réseau LoRa.
c. Architecture
En ce qui concerne l’architecture du réseau LoRa, il est très semblable à celle de Sigfox. En
effet, comme le réseau Sigfox, le réseau LoRaWAN dispose de cartes électroniques avec des
modules LoRa et un/des capteurs implémentés. Ces modules peuvent communiquer entre eux
en P2P (peer-to-peer) ou avec une antenne. Les antennes LoRa (gateway) reçoivent les
données du module radio LoRa puis les transfèrent au serveur LoRa (Backend) comme le
montre la Figure 1.08. Le Backend gère le flux de données arrivant des antennes et ces dernières
sont directement retransmises sous HTTP au serveur client qui peut les intégrer sur ses
applications logicielles.
15
Gateway Serveur Serveur
(Réseau) d’application
D’après cette architecture, les objets connectés se connectent directement aux antennes de
LoRa. Celles-ci agissent comme des passerelles vers les serveurs du réseau qui envoient,
ensuite, les données sur les serveurs d’applications par Internet. Ces réseaux présentent
l’avantage de ne pas avoir besoin d’une connexion à un routeur ou un téléphone pour que l’objet
considéré puisse opérer un partage de données via Internet.[14][15]
a. Description de Sigfox
En ce qui concerne Sigfox, c’est la première société à avoir développé un service de
communication à faible consommation, longue portée et bas débit. Le service proposé est très
proche de celui de LoRa.
Sigfox est un réseau LPWAN qui permet aux objets de communiquer sans fil, entre eux ou avec
un serveur. Le réseau est fourni par la start-up Toulousaine portant le même nom qui est le seul
opérateur de son réseau.
b. Caractéristique du réseau
D’abord, Sigfox repose sur la technologie radio UNB (Ultra Narrow Band). Le choix de
l’utilisation de bandes étroites permet de faire en sorte que les ondes se propagent sur de plus
amples distances.
16
D’un côté, Sigfox propose une politique de transfert de données extrêmement frugale : par
abonnement, le client est limité à 140 messages par jour, chaque message contenant au
maximum 12 octets de données utiles.
De l’autre côté, Sigfox permet une communication bidirectionnelle. Cette fonctionnalité est
implémentée comme un polling, dans lequel l’objet reste maître et peut demander au Système
d’Information s’il y a des données à télécharger. Ceci évite de rester connecté en permanence
mais impose que ce soit l’objet qui soit à l’initiative de toutes les transmissions, aussi bien
montantes que descendantes.
En fin, la communication sur Sigfox est sécurisée : protection anti-rejeu, message de brouillage,
séquençage, etc. Seuls les fournisseurs de périphériques comprennent les données échangées
entre l’objet et les serveurs d’infrastructure de Sigfox.
c. Architecture
La technologie Sigfox s’intègre aisément aux objets connectés grâce à son modem miniature
qui permet à l’objet de communiquer des informations sur le réseau de Sigfox. Une fois les
données récupérées par le serveur propriétaire Sigfox, via les antennes Sigfox, ces dernières
sont directement retransmises sous HTTP au serveur client qui peut les intégrer sur ses
applications logicielles et utiliser les données récoltées pour faire fonctionner les services
adéquats, comme le montre la Figure 1.09 : [14][15]
17
1.6 Conclusion
Pour conclure, l’Internet des objets s’appuie sur les réseaux informatiques et les réseaux de
télécommunications traditionnelles pour s’interconnecter. Mais grâce à l’émergence des
réseaux dédiés à cette plateforme tel que le réseau Lora et Sigfox qui sont basés sur une
consommation minimale d’énergie, l’Internet des objets connaît actuellement de plus en plus
forte émergence. Cependant afin de pouvoir trouver les domaines d’applications adéquates de
la plateforme IoT, il est nécessaire d’étudier cette plateforme.
18
CHAPITRE 2
L’INTERNET DES OBJETS
2.1 Introduction
L’Internet des objets est une plateforme qui intègre des technologies hétérogènes, c’est un
ensemble de concept, d’entité réseau, d’architecture de communication et également de
services. Nous allons développer l’état de l’étude de cette plateforme dans ce chapitre ainsi que
les domaines d’applications.
D’une manière générale, les objets connectés ont pour socle commun un ensemble de
technologies requises pour leur bon fonctionnement. Elles se divisent en plusieurs catégories,
à savoir :
Toutes ces catégories ne sont pas directement intégrées aux objets. Ainsi, le traitement est
généralement réalisé par des serveurs à partir des données brutes transmises par les objets. [16]
Les acteurs impliqués sur Internet portent souvent les différents rôles, et se retrouvent autant
intégrateurs que créateurs des briques nécessaires à l’élaboration d’une solution connectée.
Ainsi tant Google, acteur clé de services Internet, que ARM (Advanced RISC Machine, RISC :
Reduced Instruction Set Computer), fabricant de puces électroniques, développent des systèmes
d’exploitation spécifiques aux objets connectés.
19
On peut ainsi distinguer une typologie composée de quatre acteurs pour concevoir de bout en
bout une solution IoT [17][18]
Premièrement, on retrouve les créateurs de solutions connectées, qui vont imaginer, créer et
proposer les services reposant sur une solution connectée. Ils assurent souvent la définition du
service proposé ainsi que l’intégration des différentes briques nécessaires pour le proposer. Ils
réalisent ou font appel à des concepteurs d’objets connectés qui vont intégrer les composants
matériels (boitiers, circuits imprimés) et souvent proposer l’intelligence logicielle embarquée
(micrologiciel) afin d’apporter une capacité connectée à l’objet, parfois à l’aide
d’équipementiers réseaux.
A titre d’exemple en France, de nombreuses start-ups se sont lancées dans ce domaine en raison
des opportunités économiques générées, notamment dans le secteur de la domotique. En janvier
2015, le salon Consumer Electronics Show de Las Vegas a par exemple récompensé la start-up
toulousaine Myfox pour ses alarmes connectées intuitives. [19][20]
20
2.4 Les standards techniques de l’Internet des objets
La recommandation UIT-T Y.2060 présente un aperçu général de l’Internet des objets. Elle
précise le concept et la portée de l’IoT, dont elle définit les caractéristiques fondamentales ainsi
que les exigences de haut niveau et décrit le modèle de référence
Les standards de l’IEEE et de l’IETF autour de l’Internet des objets concernent essentiellement
des protocoles réseaux. Pour ce faire l’IEEE a élargi le modèle classique en couche de TCP/IP,
en introduisant des protocoles plus adaptés à l’IoT au niveau des différentes couches.
Néanmoins les échanges entre objets connectés peuvent aussi bien utiliser les standards
classiques de l’Internet. [21]
Ipv4 et Ipv6 sont efficaces pour la délivrance de données pour les réseaux locaux, les réseaux
métropolitains et les réseaux étendus comme l’internet. Cependant, ils sont difficiles à mettre
en œuvre dans les capteurs en réseaux et autres systèmes contraints en raison, notamment, de
la taille importante des en-têtes. 6LoWPAN, en fait abréviation de «IPv6 Low Power Wireless
Personal Area Network», a été conçu pour permettre à Ipv6 d’intégrer ces matériels
informatiques contraints et les réseaux qui les interconnectent.
Un des enjeux de l’Internet des objets est le routage des paquets IP. Ces objet ont des ressources
électriques limitées et sont souvent connectés par des liens radio de qualité médiocre.
Les protocoles de routage traditionnels ne sont pas très adaptés à cette situation. Le groupe de
travail de l’IETF a produit un protocole officiel, RPL (Routing Protocol for LLNs (où un LLN
21
est un Low power and Lossy Network), un réseau où mêmes les routeurs ont peu de courant et
où pas mal de paquets se perdent en route).
GS1 (Global Standards 1) est un organisme mondial actif dans le domaine la normalisation des
méthodes de codage utilisées dans la chaîne logistique.
D’un côté, GS1 a normalisé le système EPC (Electronic Product Code) pour l’élaboration du
code EAN (European Article Numbering).Il s’agit du code-barres que l’on trouve de nos jours
sur la grande majorité des produits de consommation courante.
D’autre côté, GS1 a aussi normalisé le standard ONS (Object Name System) .La norme ONS
2.0, est un élément essentiel de l’Internet des objets, publiée et ratifiée en décembre 2012. De
la même façon qu’un service DNS (Domain Name System) qui permet de traduire un nom de
domaine en adresse IP de la machine portant ce nom, l’ONS permet de garantir le nommage
des objets et l’acheminement des requêtes. [21]
L’infrastructure de la plateforme IoT peut être perçue comme l’ensemble des ressources
nécessaires au fonctionnement du service associé à l’objet connecté. Elle comprend en général
l’objet connecté, disposant d’une interface de communication courte ou longue distance, une
passerelle de communication, (fréquemment un smartphone ou une passerelle d’un opérateur
de communication), un service d’appui (tel qu’un serveur hébergé dans un Cloud), et souvent
une application dédiée pour l’utilisateur (de type application mobile, portail Web, etc.).[22]
22
1 2 3
1- Envoi des données recueillies de l’objet à une antenne relai (LoRa, Sigfox, GSM …..)
1 2
2.6 Passerelle
Une Passerelle (gateway) permet aux terminaux d’opérer en environnement hétérogènes. Dans
l’IoT, les objets ont souvent des contraintes matérielles et logicielles qui ne leur permettent pas
de se connecter directement au réseau Internet. Ils s’y connectent ainsi à travers une passerelle.
En effet, d’un côté, l’Internet n’est pas dimensionné pour gérer l’adressage de milliards d’objets
connectés. D’un autre côté, TCP/IPv6 est un protocole trop lourd pour être exploité par les
capteurs. Aujourd’hui, TCP/IPv6 est utilisé via le protocole 6LowPAN (IPv6 Low power
Wireless Personal Area Networks) qui est exploité au-dessus des protocoles réseaux 802.15.4.
[22][23]
23
Figure 2.03 : Gateway se trouvant dans l’Internet des objets
Les Passerelles jouent le rôle d’intermédiaire pour connecter l’objet à internet et envoyer ses
données au Cloud. Un exemple de ces Passerelles sont les routeurs domestiques, les téléphones
mobiles, le raspberryPi, l’Arduino. Ces Passerelles fournissent ce qui est nécessaire en termes
de connectivité, de sécurité et de management des appareils. Les Passerelles traduisent aussi les
protocoles propriétaires (exemple zigbee, BLE) au réseau Internet et certaines peuvent jouer le
rôle d’agrégateurs de réseaux.
Les objets connectés génèrent des volumes de données majeurs en proportion de leur étendue
fonctionnelle et leur nombre.
Le stockage et l’exploitation de ces nouvelles données sont une source potentielle de très forte
valeur ajoutée. Par exemple, le stockage et le traitement de données urbaines (capteurs de
présence, de pollution, de trafic…) doit permettre d’optimiser la consommation d’énergie
(régler l’éclairage urbain en fonction du trafic ou de la présence de population), la régulation
du trafic urbain, l’occupation de l’espace de stationnement…
24
Les besoins de collecte, de stockage et de traitement de ces données devrait demander de
nouvelles compétences en particulier celles liées au « Big Data. » L’augmentation importante
des besoins de stockage devra être contrebalancée par l’usage de technologies adaptées (type
de support suivant l’usage et la rapidité d’accès nécessaire, stockage dans le Cloud…).
Le coût moyen d’un capteur devient actuellement abordable sur les marchés. Ce coût devrait
continuer encore à diminuer selon les statistiques, tout en incluant l’ensemble des éléments de
connectivité standard, connexion Wifi, Bluetooth, etc. [24][25]
Celle-ci continuera de doubler tous les 18 mois. La loi de Moore reste valide et l’apparition de
processeurs quantiques pourrait même en accélérer la vitesse de progression.
Des processeurs de la taille miniature (1x1x1 mm) incluant une cellule solaire, une batterie fine
comme un film, de la mémoire, un capteur de pression, un élément radio sans fil et une antenne,
animent désormais les objets. Des caméras de taille très petit et avec une résolution de 250x250
pixels sont déjà disponibles. Des capteurs miniatures collectent et transmettent des informations
sur la température, la pression ou le mouvement.
25
2.8.5 Le développement du Cloud
Le développement du Cloud donne accès à des capacités de stockage presque infinies, il facilite
l’intégration des données et ainsi que l’analyse et les traitements de ces données.
Les facteurs d’accélération du développement de l’IoT est résumé dans le tableau suivant :
Plusieurs sont actuellement les technologies relatives à l’Internet des objets et les moyens de
communications s’appuient la plupart du temps sur les technologies de communication sans fil
optimisés pour consommer le minimum d’énergie possible et conçues pour être produites à très
bas coût. Il existe des moyens de communications de proche à proche dédiés à des usages précis
comme l’échange d’un identifiant dans le cas des RFID ou la vérification d’une identité pour
les NFC, et des moyens de communications plus généralistes sur lesquels peuvent s’appuyer un
très grand nombre d’applications potentielles (ZigBee, Bluetooth, Wifi,…).
26
2.8.7.1 NFC
La Near Field Communication est une technologie de communication sans fil à courte portée
et haute fréquence, permettant l’échange d’informations entre des périphériques jusqu’à une
distance d’environ 10 cm. Cette technologie est une extension des cartes de proximité utilisant
la radio-identification (RFID). [23]
Un tag NFC peut être relié à des informations telles qu’une page web, des réseaux sociaux et
toutes sortes d’autres informations en général. Les autres domaines dans lesquels la NFC
commence à évoluer sont le paiement sans contact, l’ouverture de porte avec des serrures
sécurisées sans contact, la connexion à des ordinateurs et bien d’autres encore. Toutes ces
actions ont quelque chose en commun : elles impliquent que le récepteur NFC soit à proximité.
2.8.7.2 RFID
Cette technologie permet d’identifier un objet, d’en suivre le cheminement et d’en connaître les
caractéristiques à distance grâce à une étiquette émettant des ondes radio, attachée ou
incorporée à l’objet. L'étiquette RFID, qui est composée d'une puce reliée à une antenne
encapsulée dans un support, est lue par un lecteur qui capte puis transmet l'information.
RFID active : L’étiquette RFID active possède sa propre source d'alimentation, permettant, sans
altération des données transmises, une transmission à distance notable. Certains de ces appareils
ont néanmoins une durée de vie limitée à 10 ans.
27
RFID passive : L’étiquette RFID passive, pour sa part, il ne nécessite aucune source
d’alimentation. Beaucoup plus petite que la RFID active, sa durée de vie est, en outre,
pratiquement illimitée.
Le lecteur RFID émet des signaux de radiofréquence dans une plage relativement courte. Le
rayonnement dispose d’une double fonction : fournir à l’étiquette RFID une énergie suffisante
(dans le cas des étiquettes RFID passives) et lui permettre de communiquer. Le lecteur envoie
les données à l’ordinateur pour le traitement. [26]
L’antenne peut être fixée de façon permanente sur une surface. Elle peut en outre être portable
et, dès lors, prendre une forme adéquate à l’usage déterminé. Ainsi, elle peut être intégrée à un
cadre de porte pour traiter les données de personnes ou d'objets le traversant. Lorsqu'une
étiquette RFID passe dans le champ de l'antenne de balayage, elle détecte le signal de l'antenne.
Cela active la puce RFID qui transmet l'information à sa micro-puce.
La RFID a de nombreux avantages par rapport à son ancêtre, les codes-barres, que nous allons
maintenant évoquer : D’abord, Le lecteur RFID peut lire simultanément plusieurs étiquettes
RFID, alors qu’un seul code-barres ne peut être scanné à la fois.
28
D’autre part, si le code-barres ne peut être modifié après son impression, les données stockées
dans les étiquettes RFID peuvent être modifiées, supprimées ou augmentées de données
supplémentaires en fonction des besoins.
La RFID n'est cependant pas exempte d’inconvénients. En effet, les étiquettes RFID viennent
souvent en complément du code-barres sans pour autant s’y substituer. En plus le coût des
lecteurs RFID sont élevé.
Par ailleurs, contrairement aux étiquettes RFID, les codes à barres peuvent être générés et
distribués par voie électronique, par e-mail ou par téléphone mobile par exemple, pour
impression ou affichage par le destinataire. Ainsi, les cartes d'embarquement des compagnies
aériennes, reçues par courriel, peuvent-elles être imprimées ou scannées depuis un téléphone
portable ce qui n’est pas le cas pour les RFID.
En outre, la couverture des lecteurs RFID est très limitée à l’ordre de dizaine de centimètre ou
à quelque mètres ce qui limite considérablement son champ d’application.
2.8.7.3 Beacons
a. Présentation
Les Beacons sont des technologies basées sur le Bluetooth Low Energy, qui émettent en
permanence une petite quantité d’informations, qui permet à une application mobile de
déterminer sa position et son identité. Il existe différents types de Beacons (URIBeacon,
AltBeacon, iBeacon) qui ont chacun leur propres normes et avantages.
b. Principe
Introduit avec la version 4.0 des spécifications Bluetooth, Bluetooth Low Energy (ou Bluetooth
LE) est une technique de transmission sans fil se différenciant de son aîné « classique » par une
consommation d’énergie 10 fois inférieure pour un débit équivalent.
29
Beacon
Un Beacon ne transmet pas de contenu complexe mais permettra de fournir des informations
telles que son identifiant, sa distance (ou plus précisément son intensité émise). En effet, l’idée
est d’incorporer le Bluetooth 4.0 aux appareils mobiles de petite taille, fonctionnant sur pile,
sans possibilité d’être rechargés comme des capteurs de mesure du rythme cardiaque,
Les BLE (Bluetooth Low Energy) ont la capacité d’envoyer les données par l’un de ces deux
états : mode connecté et mode diffusion. Le mode connecté utilise la couche GATT (Generic
Attribute) pour le transfert de données dans la connexion one-to-one. Le mode diffusion la
couche GAP (Generic Access Profile) pour diffuser les données. Le mode diffusion utilise la
connexion one-to-many
.Les Beacons prennent l’avantage du mode de Diffusion pour diffuser périodiquement les
données, particulièrement des packets formatés et chaque type utilise leur propre format.
iBeacon :
C’est une technologie de Apple et qui est le premier beacon apparu sur le marché, pour cette
raison, plusieurs fabricants de beacon s’inspirent du format de données de ce dernier.
0x020106 définit le paquet publicitaire comme etant un BLE Discoverable. C'est pour dire que
c’est seulement de la radiodiffusion, pas la connexion.
0x1AFF indique que les données suivantes ont une longueur de 26 octets et sont des données
spécifiques au fabricant.
0x004C est le Sig ID Bluetooth d’Apple et c’est la partie de cette spécification qui le rend
dépendant d'Apple.
0x02 est un ID secondaire qui indique une balise de proximité, qui est utilisée par tous les
iBeacons.
Les champs restants sont plutôt explicites, L'UUID (Universally Unique IDentifier) de
proximité est de 16 octets / 128 bits et est typiquement unique à une entreprise. Les numéros
majeurs et mineurs sont utilisés pour désigner les actifs dans cet UUID; les utilisations
courantes sont dans les étiquètes de produits dans les magasins pour différencier chaque
produits en stock.
La première action du beacon est de se signaler en envoyant ces données. Cette radiodiffusion
est émise à intervalle régulier par le périphérique. Évidemment, cet intervalle aura un impact
sur l’autonomie et la détection de l’appareil. L’objectif ici est de se faire connaître par plusieurs
appareils en même temps, pour par exemple, détecter la proximité d’un lieu. [23][26]
Altbeacon
L’AltBeacon est une conception fournie par Radius Networks. Il est un système ouvert ce qui
n’est pas le cas de l’iBeacon de Apple, il couvre la même fonctionnalité qu'un iBeacon mais
n'est pas spécifique à l'entreprise.
Il est à noter que si les iBeacons ont 20 octets sur 27 disponibles pour les données utilisateur
(UUID + Major + Minor), les AltBeacons ont 25 octets sur 28 disponibles. Cela signifie qu'il
peut y avoir plus de données livrées par message.
Avec AltBeacon, il devient possible d'avoir des UUID spécifiques à l'application plutôt que
spécifiques à l'entreprise, donnant la possibilité de changer l'ID de l'entreprise à la place. Ils
31
font bon usage de l'espace dont ils disposent, sont plus ou moins compatibles avec iBeacons et
sont open source
URIbeacon
Les URIBeacons sont un projet de Google qui fait partie de leur initiative Web physique . Le
projet semble être en plein développement et susceptible de s'améliorer considérablement au fil
du temps. Ils donnent des liens courts vers Internet via des paquets publicitaires BLE. Cela
permet par exemple des choses comme une affiche d’un film qui vous dirige vers le site Web
du film.
Par ailleurs, une base de données est nécessaire pour donner un sens aux données venant d’un
iBeacon et d’un AltBeacon, alors que l’internet entier sert de base de données pour les
URIBeacons.
2.8.7.4 GPS
Le GPS ou Global Positioning System est un système de positionnement par satellite permettant
de connaître sa position ou celle d’un objet ainsi que l’heure actuelle à tout instant, par tous les
temps et n’importe où sur Terre ou dans son voisinage. Ce système est constitué d’environ 31
satellites (approximation due au fait qu’il s’agit d’un système militaire) répartis sur 6 plans
orbitaux pour permettre une visibilité quasi permanente d’au moins 4 satellites depuis n’importe
quel point de la planète. [27]
Le Web et ses technologies étant largement disponibles et populaires, la prochaine étape logique
consiste alors à l’utiliser comme plateforme de communication pour les objets intelligents. Lier
des objets aux pages Web a été la proposition de plusieurs chercheurs. Incorporer des objets
intelligents dans une architecture de services Web normalisés en utilisant les normes SOAP
(Simple Object Access Protocol) [28]
L’Internet of Things (IoT) est considéré parmi les domaines de recherche les plus actifs. Avec
l’exploration des différents points de vue et l’analyse des différentes méthodes, on constate le
développement rapide et la propagation phénoménale de l’IoT, qui permet principalement de
réduire les barrières entre le monde physique et le monde virtuel.
32
Le WoT propose de faire connecter les dispositifs physiques par les protocoles et les normes
du Web et de les utiliser comme des ressources dans le développement d'applications Web.
Le WoT peut se définir comme étant « un concept informatique qui décrit un avenir où les
objets du quotidien sont entièrement intégrés avec le Web. Les systèmes informatiques qui
permettent la communication avec le Web en sont une condition préalable. Ces dispositifs
intelligents seraient alors en mesure de communiquer les uns avec les autres en utilisant les
standards du Web existants. »
D’après les définitions du WoT, la solution d’inclure l’architecture du Web classique à des
objets physiques connectés à l’Internet rend leurs contributions plus intelligentes et efficaces.
Ainsi, le WoT permet d’exploiter des données enregistrées par des ressources embarquées grâce
aux services Web, tels que le protocole HTTP et l’URI (Uniform Resource Identifier), qui
présentent des spécifications pour le WoT. Le HTTP est un protocole utilisé dans le WoT qui
permet l’accès aux fichiers situés sur le réseau Internet. Il fonctionne selon un principe de
requête et réponse : « le client transmet une requête comportant des informations sur le
document demandé et le serveur renvoie le document s’il est disponible ou, le cas échéant, un
message d’erreur ». L’URI est « une chaîne de caractères structurée permettant d’identifier de
manière unique une ressource dans un espace de nom donné. Cette ressource peut être désignée
soit par un URN (Uniform Resource Name) soit par une URL (Uniform Resource Locator).
URN et URL sont des sous-ensembles d’URI. Un URN permet d’identifier une ressource par
son nom même lorsque celle-ci n’est plus disponible. Une URL permet de localiser une
ressource ». Comme pour le protocole HTTP, l’URI représente une technologie de base pour le
Web qui est devenue incontournable pour le WoT. [16][17]
Les applications de l’Internet des objets se traduisent par de nombreux usages concrets,
nouveaux ou améliorés impactant significativement le quotidien des individus, des
entreprises et des collectivités. Les bénéfices potentiels attendus facilitent son adoption par cette
diversité d’utilisateurs. Nous pouvons distinguer plusieurs marchés porteurs dans lesquels leur
développement est source d’opportunités. [1][2]
33
Systèmes Transports Santé Domotique Services
Industriels Intelligents Connectée publicitaire
Industrie 4.0 Géolocalisation Télémédecine Capteurs Magasin
intelligents connecté
Armement Sécurité Dispositif Surveillance Bluewall (Mur
(drones, avions (Voitures médicaux (caméra connecté)
de chasse) autonomes) connectées)
Automatisation Avions Implants Sécurité
(centrales (optimisation du (pacemakers) (Serrures,
nucléaires et temps au sol) alarmes)
électriques)
Les premiers objets connectés sont apparus dans les systèmes industriels et les transports. Le
monde du travail et le monde industriel sont impactés par les objets communicants. Les usines
intelligentes, truffées de capteurs communicants, collectent des données en temps réel et
surveillent ainsi l’état des différents équipements entrant dans le processus de production.
Puis dans le domaine de l’énergie, les grands programmes nationaux de modernisation des
infrastructures de distribution ont largement contribués au développement de l’IoT au travers
des projets de télé-relève de compteurs et de « smart grids », avec des enjeux forts d’économies
d’énergies.
Dans les transports, les constructeurs et équipementiers se sont intéressés très tôt aux nouveaux
services offerts par la connectivité, parfois incités par la réglementation : géolocalisation,
information en temps-réel, sécurité. À titre d’exemple, les bus de la RATP (Régie Autonome
des Transports Parisiens) en France utilisent une technologie de radiolocalisation permettant de
visualiser en continu et en temps réel leur position géographique sur le parcours de la ligne
qu’ils desservent, où qu’ils soient dans la ville.
Par la suite, les objets connectés se sont démocratisés avec les équipements portatifs dans les
domaines de la santé comme les bracelets mesurant la fréquence cardiaque, la domotique avec
les serrures intelligentes ou encore l’automobile et l’avènement des voitures autonomes.
34
Au-delà des filières identifiées ci-dessus, l’Internet des objets détient un potentiel d’application
très large, à même d’affecter positivement l’ensemble des secteurs de l’économie. Ainsi,
l’Internet des objets peut être considéré comme un nouvel vecteur générateur de revenus et
d’emplois.
L’une des applications qui touche un large public, est certainement la maison intelligente ou «
bâtiment intelligent », avec ses nombreux objets communicants qui vont offrir de nouveaux
services domotique, pour un meilleur contrôle des équipements et une utilisation optimale de
l’énergie. La température ambiante intérieure sera contrôlée à la fois en fonction de la
température extérieure et en fonction de la présence de personnes dans la maison. De même,
éclairer, climatiser des locaux en l’absence de personne physique devient possible et facile.
Un autre exemple d’application est celui des transports intelligents. Nos voitures embarquant
de nombreux équipements électroniques sont communicantes, et peuvent dialoguer entre elles,
ainsi qu’avec les infrastructures de la route. Cet échange permettra d’améliorer la sécurité
routière en offrant des informations pertinentes en temps réel aux conducteurs, pour éviter des
accidents ou des embouteillages. Cette meilleure gestion de transports aura un impact très fort
sur l’économie.
35
Tableau 2.02: Transport intelligent
2.10.3 Smart-grid
L’un des domaines d’application de l’IoT est le secteur de la distribution d’énergie intelligente,
dit « Smart Grid ». Les Smart Grid (réseaux intelligents) sont des réseaux électriques qui, grâce
aux technologies de l’information, ajustent les flux d’électricité entre fournisseurs et
consommateurs. En collectant des informations sur l’état du réseau, les smart grids contribuent
à une adéquation entre production, distribution et consommation. En effet, des équipements de
communications dites « Smart Meters », mesurent et communiquent les données à un centre de
contrôle qui connaît en temps réel le niveau de consommation et de production d’énergie. Par
la suite, avec des algorithmes d’optimisation (notamment de Machine Learning) il est alors
facile d’optimiser la production et la distribution d’énergie (électricité, eau et gaz). L’image
suivante expose ce principe concernant la production et la consommation d’électricité.
Vous passez à côté d’un magasin, votre application est activée par la détection du signal
transmis par un beacon reconnu. L’applicatif se charge ensuite de définir ce qu’elle peut en
déduire pour vous afin de vous proposer, par exemple, la dernière paire de chaussure ou encore
une remise exclusive si vous entrez dans le magasin immédiatement.
2.11 Conclusion
Pour conclure, nous avons étudié au cours de ce chapitre l’état de l’art de l’Internet des objets :
les différents volets à considérer, les acteurs clés, les standards techniques, l’infrastructure
d’une solution connectée, la notion de passerelle, le volume des données et leur traitement, les
facteurs d’accélération de son développement, le web of thing ainsi que les domaines
d’applications pour terminer. Nous avons constaté que la plateforme IoT est de nature
hétérogène, et cela rend difficile l’exploitation de services par-dessus le réseau d’objet
connecté. Par conséquent, l’objet du troisième chapitre consiste à implémenter une approche
permettant de faire dialoguer deux plateformes différentes web et mobile et d’en assurer
l’interopérabilité.
37
CHAPITRE 3
SERVICE WEB ET SECURITE DE LA PLATEFORME IOT
3.1 Introduction
Les Services Web ou « Web Services» se sont développées grâce à l’exploitation et aux
avancées de l’Internet. Les évolutions de l’informatique et les technologies de
télécommunication ont causé une migration d’organisation de travail sous forme de Services.
3.3.1 Présentation
Un Service web est un programme informatique reposant sur une architecture client-serveur.
Sa spécificité est l'utilisation de HTTP comme support des messages entre clients et serveur.
Toutefois, un Service Web est différent d’un site web classique. Un Service Web va pouvoir
être manipulé par une interface de programmation (API) permettant la communication
38
synchrone entre des différentes plateformes, alors qu’un simple site web par opposition est fait
pour être utilisé directement par un être humain.
3.3.2 Définitions
Une première approche de service web consiste à le définir comme un programme informatique
permettant la communication et l’échange de données entre applications et systèmes
hétérogènes dans des environnements distribués de manière synchrone. Il s’agit d’un ensemble
de fonctionnalités exposées sur internet, par et pour des applications ou ordinateurs sans
intervention humaine.
Une deuxième approche consiste à l’évaluer comme une technologie permettant à des
applications de dialoguer à distance via internet, et ceci indépendamment des plates-formes et
des langages sur lesquelles elles reposent. En d’autres termes, un service web est un programme
accessible au moyen d’Internet, qui utilise un système de messagerie standard XML (ou JSON),
et n’est lié à aucun système d’exploitation ou langage de programmation.
Et une troisième approche s’énonce comme suit : les services Web sont des applications qui
relient des programmes, des objets, des bases de données ou des processus d’affaires à l’aide
de XML et des protocoles Internet standards. Elles sont des compléments aux programmes et
applications existants, développés à l’aide de langages tel que Visual Basic, C, C++, C# (C
sharp), Java, ou autre, et servent de pont pour que ces programmes communiquent entre eux.
39
3.3.3 Intérêts des services web
Une interface décrite d’une manière interprétable par les machines, qui permet aux
applications clientes d’accéder aux services de manière automatique ;
Une utilisation de langages et protocoles indépendants des plates-formes
d’implantation, qui renforcent l’interopérabilité entre services ;
Une utilisation des normes actuelles du Web, qui permettent la réalisation des
interactions faiblement couplées et favorisent aussi l’interopérabilité.
Un puissant centre de calcul dans un serveur dédié avec une connexion directe à la
base de données
Une meilleure maintenance des services ainsi qu’une diminution des coûts en raison
de la centralisation des données, en effet, si le calcul avait été répartie sur tous les
clients, le coût aurait été plus élevé (multiplication de serveur, multiplication de base
de données).
L’interopérabilité est ainsi l’une des principaux avantages des services web. Nous exploitons
cette interopérabilité pour combler l’hétérogénéité de la plateforme IoT.
SOA (Services Oriented Architecture) est une approche de l'Internet dans laquelle l'ensemble
des informations, des traitements, et des ressources du système d'information sont présentées
sous la forme de services. La finalité de cette démarche de conception est de parvenir à
l'interopérabilité entre les outils et solutions employées, qui doivent être normalisés et les plus
répandus possibles (dans le cas contraire, cette interopérabilité serait plus difficile à assurer).Les
services web sont la déclinaison principale de l'architecture SOA utilisant le protocole http [ 9]
40
et des modèles de communication. Comme montré sur la Figure 3.03 le modèle SOA met en
interaction trois acteurs : un client, un fournisseur et un intermédiaire.
Le modèle SOA fait intervenir les trois acteurs suivants : 1) le client, qui est le demandeur du
service représenté par l’application, qui va chercher et consommer le service; 2) le fournisseur,
qui est le propriétaire du service offert dans la plateforme d’accueil; 3) l’annuaire des services,
un intermédiaire entre le client et le fournisseur, qui offre au fournisseur la possibilité de publier
ses services, et au client la capacité de localiser les services répondant à ses besoins. Le
fonctionnement des services Web se base sur un modèle composé de trois phases fondamentales
: la publication, la découverte et l’interaction.
3.5.1.1 SOAP
Simple Object Access Protocol est un protocole d'accès aux Services web basés sur des normes
qui existe depuis un certain temps et bénéficie de tous les avantages de l'utilisation à long terme.
SOAP repose exclusivement sur XML pour fournir des services de messagerie. Après une
première version, Microsoft a présenté SOAP à l'Internet Engineering Task Force (IETF) où il
a été normalisé.
L'une des caractéristiques les plus importantes de SOAP concerne la gestion des erreurs. S'il y
a un problème avec la requête, la réponse contient des informations d'erreur qui peut être utilisé
pour résoudre le problème. Étant donné qu’on pourrait ne pas pouvoir accéder au service Web,
cette particularité est extrêmement importante; sinon il faut débugger ligne par ligne pour
trouver l’erreur.
41
Une autre caractéristique intéressante de SOAP est qu’on peut se passer de l’utilisation du
protocole HTTP. Il existe actuellement une possibilité pour l'utilisation de SOAP à travers le
protocole SMTP et avec d’autres protocoles de transfert. Les développeurs font ainsi dans
certains langages, comme Python et PHP (Hypertext Preprocessor). [12][17]
3.5.1.2 REST
REST utilise l’architecture Client-Serveur. Il dispose d’une interface uniforme : tout élément
offert à la manipulation par l’application est nommé ressource et est identifié de manière
unique. HTTP définit les identifiants de Ressources Uniforme suivant le schéma:
Les différentes actions possibles sur ces ressources sont données par les différents types de
requêtes HTTP, principalement GET pour la récupération d’une ressource, POST pour une
création, PUT pour la mise à jour et DELETE pour un effacement.
Que ce soit au niveau du serveur ou au niveau des clients, une API (Application Programming
Interface) RESTful manipule des ressources pour une représentation de celles-ci. Pour les
Services Web RESTfull, les encodages les plus utilisés sont XML et JSON. XML est un
standard incontesté mais présente de quelques inconvénients : verbeux, difficilement lisible par
un humain, et la dualité entre les attributs et les éléments.Quant à JSON c’est un format texte
qui permet de représenter des données et de les échanger facilement à l’instar d’XML. JSON
est décrit dans le RFC 4627.
Voici un exemple d’une description d’un utilisateur avec une adresse et des numéros de
téléphone sous format JSON :
42
Et voici son équivalent en XML
Comme on peut le constater, le format JSON est beaucoup plus lisible, moins encombrant et
facile à manipuler, c’est pourquoi il est actuellement le format de ressources le plus utilisé.
D’une part, voici les avantages offertes par SOAP par rapport à REST :
D’autre part, les avantages de REST par rapport à SOAP sont les suivantes :
Etant donné que REST présente beaucoup plus d’avantage par rapport à SOAP, nous
l’utiliserons pour l’implémentation de service web à travers l’Internet des objets dans notre
travail.
43
3.5.1.4 Services web gratuit sur internet
Il existe des services web gratuit sur internet. Voici quelques exemples de ces services :
Free-Web-Services.com
WebserviceX.NET
SwaggerHub
XMethods
Une principale préoccupation lors de l'utilisation d'un service Web gratuit est qu’il ne
correspond pas souvent à nos besoins spécifiques d’utilisation. Certes, Il existe déjà plusieurs
services proposés en ligne mais les adapter au besoin de notre propre entreprise est difficile.
D’autre part, il faut aussi craindre que ces services Web disparaissent du jour au lendemain.
De ce fait, dans ce travail, nous utiliserons notre propre serveur localement et développer des
codes pour l’implémentation de services web. [7][12]
L’envoi de la demande explore deux modes, le premier est appelé actif, présenté sur la séquence
de la Figure 3.06 dans lequel un objet transmet une demande ponctuelle (une seule fois) à un
point final qui pourra, à son tour, répondre à cette demande. [17]
Requête Traitement
Offrir un Annuler la
service demande
44
Le deuxième est le mode passif qui, quant à lui (Figure 3.07), détaille les objets liés par une
entente permettant la répétition du service demandé. Ce type est plus fréquent entre les objets
du même groupe, où le demandeur reçoit passivement et régulièrement des notifications sur la
disponibilité du service par le biais du point final. [17]
Requête Traitement
Exécuter la Annuler la
demande demande
Exemple :
Attendre 1min
Dans cette section, nous décrivons les trois parties formant la demande de service, par ordre
logique :
Les données : contiennent des métadonnées qui informent le point final sur le type de données
recherchées. Cette partie est très flexible, étant donné qu’elle détient les informations liées à la
nature du service demandé.
45
La fréquence : désigne le nombre de fois où un service sera collecté au cours d'une période
déterminée. Nous pouvons nous reporter à l’un des trois types de fréquence suggérés ci-dessous,
selon le besoin du demandeur : - envoyer le service chaque fois que le demandeur lance une
nouvelle requête; - envoyer le service chaque fois que le point final génère de nouvelles valeurs
pour le service concerné; - envoyer le service chaque fois que le point final génère de nouvelles
valeurs pour le service concerné dans une période déterminée. [17]
3.6 Utilisation d’un Service web dans une page web sous le Framework Codeigniter
3.6.1.2 Model
Le modèle représente les données, il s’agit d’une classe dont les méthodes permettent
d’effectuer les actions de création, de lecture, de mise à jour, et suppression des données
46
enregistrées dans la base de données, dans le jargon informatique, on parle de CRUD (Create,
Read, Update, Delete). En principe, ailleurs du code, il n’y a jamais d’instruction de connexion
à la base de données, tout se passe dans le modèle.
3.6.1.3 View
L’affichage se trouve dans le View. En principe, c’est le seul endroit où nous pourrions trouver
du code HTML. Nous pouvons également trouver dans les vues des instructions avec le code
JavaScript, c’est pratiquement inévitable. Cela permet de rendre les pages plus dynamiques.
Dans notre application nous avons utilisé JQuery qui est un code plus enrichie de JavaScript.
3.6.1.4 Controller
Le contrôleur reçoit les requêtes de l’utilisateur, charger les modèles nécessaires ainsi que les
vues adéquates et retourner le résultat. Avec une application web, les requêtes se font au travers
des URL. Certaines méthodes veulent que seul le contrôleur accède au modèle. D’autres
acceptent que la vue communique directement avec le modèle. C’est plus facile, mais c’est
moins propre du point de vue du principe du modèle MVC.
De nombreux format d’échanges existent dont SOAP et REST, pourtant, REST s’impose
aujourd’hui comme un standard le plus utilisé. Pour s’en servir, nous faisons hériter notre
programme de la classe REST_Controller après l’avoir appelé dans la librairie à l’aide de la
fonction require ().
47
Figure 3.10 : Extrait du code pour le service web
La fonction promotion utilisant la méthode GET fait retourner, sous format JSON, la liste des
produits en cours de promotions se trouvant dans la base de données. Il suffit pour cela d’appeler
l’url suivante : http:// 192.168.173.1/magasin/CWS_magasin/promotion qui pointe vers
l’adresse IP du serveur. Cette même url sera ensuite utilisée dans le développement de
l’application Android pour l’usage de l’utilisateur finale.
À chaque appelle de la fonction promotion, ces données seront mise à jour automatiquement en
fonction de celles enregistrées dans la base de données. Nous créons une interface pour la
modification de ses données et non pas directement sur le serveur de base de données, cela offre
l’avantage d’une meilleure gestion de données
48
3.6.3 Utilisation du Service web sur l’application mobile (Android)
Figure 3.13 : Extrait de code d’utilisation de service web sous la plateforme Android
Selon l’UIT la QoS est l’effet collectif de performance qui détermine le degré de satisfaction
d’un utilisateur de service. Voici les cinq critères de QoS générique de service web
3.7.1 Latence :
3.7.2 Fiabilité :
La fiabilité d’un service est la probabilité qu’une demande est correctement répondue dans le
délai de temps prévu maximum Elle est une mesure liée à la configuration de matériel et/ou de
logiciel des services et aux connexions réseau entre les demandeurs de service et les
fournisseurs.
49
3.7.3 Disponibilité :
3.7.4 Coût :
Le prix d’exécution est la somme d’argent qu’un demandeur de service doit payer pour exécuter
une opération d’un service.
3.7.5 Réputation
La réputation d’un service est une mesure de sa fidélité. Elle dépend principalement des
expériences de l’utilisateur d’employer ce service. Les différents utilisateurs peuvent avoir le
service à peu près identique de différents avis. La valeur de la réputation est définie comme
rang moyen indiqué au service par des utilisateurs.
La sécurité informatique consiste à protéger des systèmes d’information et des services contre
les menaces accidentelles ou délibérées touchant la confidentialité, l’intégrité de l’information
et la disponibilité des systèmes informatiques et leurs services. Voici quelques définitions
relatives à la sécurité
3.8.1.1 La confidentialité
La confidentialité est la propriété qui assure que seuls les utilisateurs habilités, dans des
conditions prédéfinies, ont accès aux informations. C’est le maintien du secret des informations
et une protection des données contre une divulgation non autorisé.
3.8.1.2 L’intégrité
L'intégrité est une propriété qui assure qu'une information n'est modifiée que dans des
conditions prédéfinies, selon des contraintes précises. On parle de contraintes d'intégrité pour
désigner l'ensemble des assertions qui définissent la cohérence d'un système d'information.
3.8.1.3 La disponibilité
50
3.8.1.4 La non répudiation
La non répudiation permette de garantir qu’une transaction ne peut être niée (la signature au
sens habituel désigne la non-répudiation).
3.8.1.5 L’authentification
L’authentification consiste à assurer que seules les personnes ou les entités autorisées aient
accès aux ressources
La sécurité d’une solution connectée est un problème complexe compte-tenu de la variété des
composants et des technologies utilisées, elle nécessite une véritable vision d’ensemble pour
assurer des garanties de sécurité sur l’ensemble de l’infrastructure. De plus, les autres entités
rencontrées dans une solution connectée, comme les applications Web et mobiles ou les services
d’appui de type Cloud présentent également leurs failles de sécurité. Voici les principales
vulnérabilités rencontrées dans l’Internet des objets :
Vulnérabilités Interface
Problème de
dans l’internet d’administration
confidentialité
des objets peu sécurisée
La principale vulnérabilité des objets connectés est souvent l’absence de chiffrement ce qui
peut porter atteinte à la confidentialité. On trouve également l’absence d’authentification et
51
d’identification, à savoir des accès qui ne sont pas protégés par des mots de passe alors qu’ils
le devraient.
Les piratages d’objets connectés peuvent être classés en trois catégories définies en fonction
des vulnérabilités existantes et de l’intention de l’attaquant. [18][19]
L’attaquant peut entreprendre d’attaquer directement le matériel, par exemple en piratant les
composants présents sur les circuits imprimés. Cela peut impliquer de dessouder le processeur
central, d’extraire les données chiffrées de la mémoire à long terme, d’intercepter les messages
sur la mémoire vive statique, ou encore de réaliser une analyse à rayon X. Côté logiciel, la
compromission d’un objet connecté par un code malveillant peut entraîner son inaccessibilité
pour son utilisateur, la désactivation de fonctions de sécurité voire la compromission d’autres
objets connectés communiquant avec l’équipement compromis.
Ces attaques exploitent les équipements connectés comme moyen d’accès à de plus vastes
réseaux tels qu’Internet. L’équipement compromis sert ainsi de relais dans la réalisation d’une
attaque de plus vaste ampleur, comme un déni de service distribué (DDoS : Distributed Denial
of Service). Une caméra connectée à Internet peut par exemple posséder une vulnérabilité
permettant à un pirate d’en prendre le contrôle et d’exécuter du code malveillant. Le pirate va
ainsi tenter de prendre le contrôle d’un maximum de caméras identiques accessibles sur Internet
afin de les transformer en autant de machines participant à une attaque de plus vaste ampleur,
52
sans que les propriétaires des dites caméras ne se rendent compte que leur équipement a été
détourné de son usage primaire et participe à une attaque d’envergure.
De même, il est tout à fait envisageable qu’un pirate puisse se servir d’équipements connectés
à Internet pour héberger des contenus malveillants ou des sites d’hameçonnage. Ce dernier cas
de figure est relativement complexe à traiter, car à la différence des contenus hébergés sur des
serveurs et sur lesquels des administrateurs ont accès, ces équipements connectés ne fournissent
généralement pas d’accès système pour retirer les contenus malveillants.
Les attaques les plus classiques sont les attaques basées sur l’écoute de trafic (attaques passives)
et de l’homme du milieu « man in the middle » (attaques actives) permettant l’interception de
données transmises en clair, ou chiffrées si un chiffrement est fourni nativement par le protocole
de communication ou par l’application.
Dans le monde des objets connectés, il existe plusieurs protocoles permettant d’interconnecter
des équipements entre eux. Ces protocoles autorisent la communication entre différents
équipements à courte ou longue distance, de manière sécurisée ou non, et certains d’entre eux
permettent même d’établir des réseaux d’objets connectés. Un pirate réussissant à s’introduire
dans ces réseaux peut être en mesure d’intercepter les données échangées entre divers
équipements mais aussi d’attaquer d’autres équipements auxquels il n’avait pas accès
initialement, grâce à cette interconnexion. [19]
53
Les réseaux à longue portée conçus pour les équipements à faible consommation (LPWAN)
sont particulièrement sensibles à l’interception de données ou à l’usurpation d’équipement (le
fait pour un pirate de simuler un équipement réel et d’injecter des données falsifiées) ; d’autant
plus que la barrière physique est quasi inexistante : la portée des équipements peut selon la
technologie employée dépasser la quinzaine de kilomètres. Un pirate peut dès lors envoyer des
informations erronées semblant provenir de nombreux capteurs déployés sur le territoire
national, faisant croire à une avarie généralisée et provoquer une réaction inattendue d’un
fournisseur d’énergie (coupures préventives d’électricité pour cause d’incident) ou une
interruption de trafic dans le cas de transporteurs.
Quant aux protocoles de communication à courte distance, ils ne sont pas pour autant plus
sécurisés : la sécurité mise en place est bien souvent rudimentaire et peut être soit cassée après
une interception d’échanges faiblement sécurisés, soit contournée lors de la réalisation
d’interception par une attaque de « l’homme du milieu ». Un pirate peut ainsi intercepter des
identifiants d’accès à une ou plusieurs ressources critiques, ou encore des clefs dématérialisées
permettant de manœuvrer une serrure connectée et de s’introduire dans une zone à accès
restreint.
Voici quelques exemples de démonstrations d’attaques qui ont été effectuées lors de la
conférence Black Hat 2016
54
3.8.5 Recommandation pour la sécurité des objets connectés
S’il est normalement difficile d’accéder physiquement à un serveur hébergé dans un centre de
données, l’objet connecté peut souvent être manipulé physiquement par l’attaquant. L’intérêt
pour ce dernier est de collecter des informations sur le fonctionnement informatique de l’objet,
d’identifier par exemple directement sur le circuit imprimé des accès pour une interface de
débogage, voire de dessouder un composant de mémoire afin d’accéder directement aux
données contenues. Près de 2/3 des objets connectés évalués par Digital Security au cours de
l’année 2015 présentaient une interface de débogage permettant de prendre le contrôle total du
système. A la différence d’une solution logicielle, aujourd’hui le plus souvent déportée sur le
Cloud, la sécurité d’une solution IoT va reposer en partie sur le fait que l’utilisateur peut avoir
entre ses mains un objet connecté. L’accès aux matériels augmente considérablement la surface
d’attaque et des mesures doivent être prises en compte pour se protéger.
Il y a le scellement du boîtier des objets connectés : il s’agit de « verrouiller » le boîtier de
l’objet (collage, thermocollage, soudure, ...) de façon à empêcher son ouverture normale.
Par ailleurs, le moulage des cartes et composants électroniques dans de la résine (si possible
opaque aux rayons X) empêche l’identification des composants utilisés, ainsi que leur analyse
par mesure ou débogage.
D’autre part, la désactivation des ports de débogage et de lecture mémoire des composants («
readout protection ») empêche l’analyse de leur comportement et des données traitées.
D’ailleurs, l’utilisation de composants sécurisés (« Secure Element ») pour le stockage des clés
et les traitements cryptographiques rend quasiment impossible l’extraction des secrets stockés
dans l’objet.
Sans oublier l’utilisation de clés et mots de passe tous différents dans chaque périphérique pour
éviter qu’une compromission sur un périphérique ne puisse compromettre l’intégralité du parc.
En fin, le chiffrement et l’obfuscation du micrologiciel : même s’il s’agit de sécurité par
l’obscurité, jamais efficace à long terme, cela ralentit considérablement le travail d’analyse et
de rétro-ingénierie du micrologiciel, et donc son altération ou sa copie.
Le choix des protocoles de communication utilisés dans la solution IoT est important. En plus
de contraintes liées aux capacités de l’objet (puissance de calcul, mémoire, autonomie
55
énergétique), il doit répondre aux besoins de sécurité propres aux données manipulées et à
l’usage de la solution. Il est en effet fréquent de pouvoir écouter une communication non
chiffrée ou de pouvoir usurper très facilement un objet en copiant son identifiant. Il ne suffit
pas uniquement de choisir un protocole adapté, il est aussi nécessaire d’activer ses fonctions de
sécurité et les utiliser convenablement. Il y a trois principales menaces récurrentes sur les
communications : l’écoute passive, le brouillage (volontaire ou involontaire), et l’usurpation.
Il est conseillé de bien consolider le chiffrement de la communication ainsi que la sécurité
applicative et système.
a. Le chiffrement de la communication.
L’authentification des objets les uns avec les autres : on parle alors d’authentification
mutuelle, ce qui évite les attaques de type « Man-in-the-Middle ». Habituellement, cette
authentification est faite sous forme d’une procédure de pairage, ou par certificat
électronique.
L’utilisation de protocoles sécurisés d’échange de clés : le plus courant étant le
protocole Diffie-Hellman, mais ce dernier nécessite auparavant d’avoir authentifié les
périphériques concernés pour éviter l’interception par un tiers.
L’utilisation de mécanismes anti-rejeu, comme les authentifications par challenge ou
les numéros de séquence uniques et authentifiés (« nonce » cryptographiques).
L’utilisation de mesures antibrouillage, comme l’étalement de spectre (« spread
spectrum ») ou les sauts de fréquence (« frequency hopping » / « channel hopping »),
utilisés dans certains protocoles comme Bluetooth. Certaines de ces mesures sont
implémentées de base dans les protocoles sans fil. Celles qui ne sont pas implémentées
peuvent souvent l’être au niveau de la couche applicative, donc restant à la charge du
développeur.
Enfin, la solution connectée peut-être attaquée par son maillon applicatif, que ce soit côté client
(smartphone, tablette, micrologiciel, …) ou côté serveur (passerelle, serveur sur le cloud, …).
Il est recommandé à ce titre les mesures à prendre suivantes :
L’implémentation des contrôles côté serveur, car les contrôles côté client sont
manipulables et contournables par un utilisateur malintentionné.
56
Le filtrage et la validation de toutes les entrées, et si possible des sorties des traitements
effectués.
L’application d’une sécurité en profondeur, en donnant aux utilisateurs les privilèges
minimums à leur utilisation de la solution et en redondant les mécanismes de sécurité
eux-mêmes.
L’utilisation de procédures et référentiels de durcissement système sur les serveurs de
la solution : suppression des comptes et services non utilisés, applications de mots de
passe forts sur tous les comptes, mises à jour régulièrement appliquées, monitoring actif
des accès, veille permanente sur les vulnérabilités affectant les composants de la
solution connectée, sondes HIDS (Hybride Intrusion Detection System),...
3.9 Conclusion
Les services web permettent de garantir l’interopérabilité entre des plateformes différentes. En
effet, les plateformes mobiles et web peuvent toutes les deux utiliser le format JSON généré par
le service web et de synchroniser ainsi les données utilisées. Malgré les deux technologies
SOAP et REST, nous avons choisi REST pour l’implémentation de service web en raison de sa
simplicité à mettre en œuvre. Toutefois, si les services web ne sont pas sécurisés, il y a
potentiellement une faille de sécurité avec une attaque de type "Man in the middle " entre client
et service, où les échanges de données peuvent être alors interceptées et modifiées en usurpant
l'identité d'un client ou d'un service.
57
CHAPITRE 4
IMPLEMENTATION D’UN PROTOTYPE DE PLATEFORME IOT
4.1 Introduction
De nos jours, il devient compliqué pour les clients de faire ses courses, en effet, les gens
rencontrent le plus souvent des difficultés sur la recherche des produits au supermarché et
beaucoup trop de temps sont dépensés à la recherche des produits convenables.
D’autre part, d’après les recherches et analyses effectuées par J Marcus publié dans son article
« les effets de la publicité sur les ventes, quelques résultats de l’analyse des données », les effets
de la publicité sur les ventes sont flagrants. Le résultat de son analyse montre que le volume
des ventes augmente en fonction des publicités effectuées. [24]
58
Cependant, le cout d’investissement dans les publicités est élevé, généralement entre 10 à 30
pourcent du chiffre d’affaire d’une entreprise de vente. [24]
Vis-à-vis de ces problèmes, avoir recours à la solution des technologies sans fils s’avère une
solution efficace pour faire gagner du temps du côté clients et permettre une campagne
publicitaire efficace à moindre coût du côté de l’entreprise fournisseur de service. Ainsi nous
implémentons, dans ce travail, un prototype de magasin connecté l’une des applications de
l’Internet des objets qui a actuellement un impact considérable sur l’économie.
Un magasin connecté est à la recherche perpétuelle des clients. Outre le développement des
ventes, les bénéfices attendus d’un magasin connecté sont aussi l'amélioration de la rentabilité
(meilleure gestion des stocks, meilleure efficacité des vendeurs) et des évolutions en termes
d'image de l’entreprise.
En digitalisant l’intégralité des espaces de vente, de grandes opportunités s’ouvrent, que ce soit
pour valoriser les produits, optimiser l’efficacité des vendeurs ou bien encore proposer de
nouveaux services aux clients.
Nous mettons en place une plateforme d’internet d’objet en déployant un prototype de magasin
connecté, l’une des applications phares de l’Internet des objets.
Lorsqu’une personne se trouve à proximité ou passe devant un point de vente connecté, le point
de vente fait remarquer sa présence et affiche directement les produits en cours de promotion
sur le smartphone des clients. Ainsi le client connait à l’instant les services proposés dans le
magasin avec tous les prix facilement.
59
Figure 4.01 : Présentation d’un prototype de magasin connecté
Les objets connectés sont les smartphones ou tablettes des utilisateurs ainsi que le magasin
connecté lui-même. Par conséquent, nous avons muni des capteurs dans le magasin pour se
servir d’identifiant et de pouvoir communiquer avec les smartphones. Le capteur beacon a été
choisi en raison de sa zone de couverture idéale pour un magasin connecté. En effet un beacon
utilise la norme bluetooth comme support de transmission. Par rapport aux RFID, les beacons
offrent beaucoup plus de couverture nécessaire à la génération des publicités, et sa zone de
couverture n’est pas trop grande afin d’éviter les interférences entre plusieurs objets connectés.
Il est important de pouvoir visualiser graphiquement les services proposés pour les utilisateurs
finals, c’est pourquoi nous avons créé une application .mobile de visualisation des produits du
magasin connecté. Etant donné le grand nombre d’utilisateur des smartphones ou tablette sous
le système Android, nous avons développé notre application donc sous ce système à l’aide de
60
Android Studio. L’application mobile se synchrone avec le serveur web et les données sont
mises à jour périodiquement.
WampServer est une plateforme de développement web sous Windows pour des applications
web dynamiques à l’aide du Serveur Apache 2, du langage de développement PHP et de base
de données MySQL. Il possède également PHPMyAdmin une interface graphique pour gérer
plus facilement la base de données.
MySQL est un serveur de bases de données très connu et répandu pour les serveurs web. Il offre
de nombreuses fonctionnalités tout en restant simple à mettre en œuvre.
4.6.1 Généralité
ID
ID
Administrateur
61
L’application est activée lorsqu’un signal d’un beacon est capté. L’identifiant du beacon permet
d’identifier un magasin connecté et de déterminer ainsi les offres existantes, une plateforme
web permet de gérer les produits à afficher sur les smartphones des utilisateurs finals (end
users).
Pour donner un sens à cette information, il est nécessaire de l’envoyer au serveur web pour
consulter la base de données afin de retourner par la suite les produits dans ce magasin. Cela se
fait à l’aide de notre implémentation de services web à travers les objets connectés.
Le scan des Beacons est réalisé grâce à l’utilisation de la classe ScanCallback, ceci est effectué
tous les 500 ms.
62
4.6.2.2 Communication entre smartphone et le serveur web
Après avoir capté le signal du Beacon, le smartphone va agir entant qu’une passerelle et envoie
une requête vers le serveur web avec l’UUID du magasin comme paramètre. Le serveur web
est déployé dans le réseau local avec l’adresse IP privée 192.168.173.1 et la norme WiFi est
utilisée pour la communication entre ce serveur et le smartphone. Le prototype fonctionne
également avec le réseau internet une fois que le serveur est hébergé en ligne.
Selon l’UUID envoyé par le smartphone, le service Cloud retourne la liste des produits dans ce
magasin.
zz
Figure 4.09 : Extrait de code d’affichage des produits sur l’application Android
63
Une plateforme de gestion des produits a été créée pour choisir les produits à afficher aux
clients.
La fréquence de captation et de transmission des données va dépendre les types de services qui
pourront être créés à partir des données captées. C’est donc un élément important, lui aussi, à
prendre en compte. Mais plus la fréquence de captation d’information est élevée, plus la
consommation électrique de l’objet connecté est importante. Notre application capte et transmet
les données au serveur tous les 20 secondes et scan les capteurs tous les 500 ms.
64
4.6.4 Test et interprétation des résultats
Une interface web est créée pour permettre la gestion des services à partir de laquelle il est
possible de modifier le produit à publier et afficher sur les smartphones des potentiels clients.
On peut modifier leur nom ainsi que leur prix à volonté et on peut choisir de ne pas publier un
produit, ou au contraire, ne publier qu’une ou deux produits dans une journée particulière.
Un clic sur le bouton modifier fait apparaitre un pop-up permettant modification des produits.
Nous avons optimisé l’utilisation de l’application avec la technologie Ajax qui permet de
réaliser des requêtes vers la base de données sans nécessité de rafraîchir la page
Figure 4.13 : Extrait de code d’utilisation de Ajax sur le modal de modification des produits
65
Figure 4.14 : Modification d’un produit
Il faut installer l’application que nous avons créée sur les smartphones des utilisateurs. Les
produits que l’administrateur du magasin veut publier sont affichés sur cet appareil comme
montré sur la Figure 4.15 :
Les affichages sur le smartphone sont directement liés aux données de la base de données du
serveur. Les administrateurs peuvent gérer les produits qu’ils veulent publier et afficher sur les
appareils des clients grâce à la plateforme de gestion.
Toutefois, pour réaliser ce prototype, il est faut que les utilisateurs possèdent l’application
mobile. A l’entrée d’un supermarché, on peut distribuer aux clients l’application à l’aide de
laquelle ils seront informés des produits à l’intérieur. Juste en passant devant un point de vente
par exemple, ils obtiennent tout de suite les produits ainsi que les prix et les éventuelles
promotions sans besoin de demander au vendeur. Cela donne un gain de temps pour les clients
et constitue une compagne publicitaire efficace pour l’entreprise. En effet, l’avantage de
l’exploitation de la technologie sans fil est que le service est perpétuellement disponible, le jour
ou la nuit ce qui n’est pas souvent le cas pour des standardistes humain. De plus, seul le
déploiement est coûteux mais le service reste opérationnel après. D’autre part, actuellement, il
y a de connexion internet dans les supermarchés. Ce prototype est ainsi bien faisable et il existe
d’ailleurs des start-ups en cours de développement de cette technologie dans les pays
technologiquement avancés comme la France.
4.7 Conclusion
Pour conclure, nous avons effectué un prototype de magasin connecté mettant en accent l’intérêt
des services web sur l’Internet des objets. L’implémentation du service web à travers le réseau
d’Internet des objets a permis d’exploiter les données fournies par les capteurs et de retourner
des résultats significatifs et elle a permis également le dialogue entre les deux plateformes web
et mobile. Nous avons créé ainsi un écosystème IoT avec l’utilisation d’un serveur web, d’une
base de données ainsi qu’une application Android pour l’usage des utilisateurs finals.
67
CONCLUSION GENERALE
En guise de conclusion, nous avons réalisé dans ce travail l’implémentation de service web via
la plateforme IoT. Tout d’abord, nous avons étudié la faisabilité d’interconnecter tout objet
physique à l’internet via des différents capteurs (Beacon, RFID, …) combinés avec les
standards de réseau sans fil à courte et à longue portée. Notre deuxième contribution est
d’implémenter par la suite un service à travers ce système en utilisant une technique innovante
basée sur les services web dont l’implémentation a été effectuée à l’aide du Framework
Codeigniter, Cette technique permet essentiellement de mettre en place une interopérabilité
malgré la nature hétérogène de l’écosystème IoT. En fait, c’est grâce aux services web que nous
avons réussi à faire dialoguer une plateforme web d’administration des données des objets
connectés avec une plateforme mobile à usage de l’utilisateur final. En fin, nous avons
concrétisé le travail dans l’implémentation d’un prototype de magasin connecté à travers
laquelle on voit très bien l’interaction entre un capteur et le serveur web ainsi que la
synchronisation des données de la base de données du serveur avec l’application mobile des
clients.
Toutefois, notre modèle de conception et de prototype n’est pas parfaite, il existe des
perspectives d’améliorations en particulier au niveau de la sécurité. Ce modèle est seulement
une approche de cas d’utilisation de l’Internet des objets et de son exploitation car il existe en
effet beaucoup de domaine d’application telle que la gestion de transport ou la santé, mais notre
approche peut servir de modèle de référence pour tout autre travaux de recherche sur l’Internet
des objets et l’exploitation de cette plateforme.
68
ANNEXE 1
INFORMATION SUR LE DEVELOPPEMENT DE L’APPLICATION MOBILE
69
ANNEXE 2
EXTRAIT DE CODE SOURCE ET DE CONFIGURATION DANS L’APPLICATION
WEB
$db['default'] = array(
'hostname' => 'localhost', //nom de l’hôte
'username' => 'root', //nom de l’utilisateur de la base de données
'password' => '', //mot de passe vide
'database' => 'iot_magasin', // nom de la base de données
…………………………………………………………………………………………………
70
BIBLIOGRAPHIE
[1] P Gambarotto, «Technologies pour Web Services : REST, JSON », INPT DSI ENSEEIHT
Département Informatique, Toulouse CEDEX7France, 2015
[2] R Saad, «Modèle collaboratif pour l’Internet of Things », Mémoire de Maîtrise, Université
de Québec, Mai 2016
[6] Elalite, « Comprendre les réseaux TCP/IP et le fonctionnement d’Internet », 21 Mai 2012
[7] S. Cherrier, «Architecture et protocoles applicatifs pour la chorégraphie de services dans
l'Internet des objets», Thèse, 25 Novembre2013
[8] B Billet, « Système de gestion de flux pour l’Internet des objets intelligents», Thèse de
Doctorat, Université de Versailles, 22 Juin 2015
[9] G Jheu, « Sélection de services web à base de QoWS», Mémoire Master, Département de
l’informatique,Université Abou Berk Belkaid Algérie, 2011
[10] Y Liu, « QoS Computation and Policing in Dynamic WebService selection. In proceedings
of the 13th international World Wide Webvconference on Alternate track papers & posters»,
New York, USA; Mai 2004
[11] Ran, «Model for Web Services Discovery with QoS», USA 2002
[12] T Kossentini, « Etude de Problème de Sélection de Services Web en tenant Compte des
contraintes temps réel », Ecole Nationale des Sciences de l’Informatique, Campus Universitaire
de la Manouba, 2010
[13] L Maesano, «Services web avec J2EE et .NET », Eyrolles, France 2003
[15] J Roux, «Detection d’Intrusion dans l’Internet des Objets : Problématiques de sécurité
au sein des domiciles », Article, Toulouse, France, consulté le Janvier 2018
71
[16] M Laine, «RestFull webservices for the Internet of things », Article, Finlande, consulté le
Janvier 2018
[17] S Jaouhari, « La sécurité des objets connectés », Telecom Bretagne Depart. Réseaux
Sécurité et Multimedia, Décembre 2016
[19] F Sartor, « Méthode de Recherche de services web », Thèse, Algérie, Avril 2015
[20] N Mitton, « Les réseaux des capteurs sans fil », Livre, Consulté le Fevrier 2018
[22] D Mohammed, « Sélection de Services Web à base de QoWS», Mémoire Master, 2011
[24] J Marcus, « les effets de la publicité sur les ventes, quelques résultats de l’analyse des
données » Article, 2000
[25] F Fabrik « Connected Store, l’avenir des magasins est ici», Livre, 02 Février2012
[29] R. Rajaonarison, « Plateforme Android », Cours I3 – TCO, Dép. TCO.- E.S.P.A., A.U. :
2014-2015
72
PAGE DE RENSEIGNEMENTS
Nom : RAOILISON
E-mail : [email protected]
Titre du Mémoire :
Nombre de pages : 73
Nombre de Tableaux : 05
Nombre de Figures : 51
E-mail : [email protected]
73
RESUME
L'Internet des objets consiste principalement à connecter les objets physiques à l'Internet. L’ouverture
de tout objet à internet se fait grâce à l’utilisation des capteurs électroniques pouvant se communiquer
avec les réseaux sans fils. De ce fait, la plateforme IoT recouvre un domaine d’application très large
qui porte l’intérêt à la fois des consommateurs et des entreprises. Toutefois, il faut se tenir compte de
la complexité de la plateforme en raison de l’hétérogénéité des technologies nécessaires pour son mise
en œuvre. Nous avons réalisé au cours de ce travail l’implémentation de service web permettant de
mettre en place un service d’interopérabilité dans cette plateforme. En fait, nous avons réussi à faire
dialoguer entre eux les objets connectés, la plateforme web de gestion de service et la plateforme
mobile pour des utilisateurs finals à travers un prototype de « Magasin connecté ».
ABSTRACT
The Internet of Things is mainly about connecting physical objects to the Internet. The opening of any
object to the internet is done through the use of electronic sensors that can communicate with wireless
networks. Therefore, the IoT platform covers a very wide field of application that is of interest to both
consumers and businesses. However, the complexity of the platform must be taken into account
because of the heterogeneity of the technologies required for its implementation. During this work, we
realized the implementation of a web service to set up an interoperability service in this platform. In
fact, we managed to connect the connected objects, the service management web platform and the
mobile platform to end-users through a « connected Store ».prototype.