0% ont trouvé ce document utile (0 vote)
161 vues87 pages

Sécurisation des données IoT par Blockchain

Ce document traite de la sécurisation des données dans un réseau Internet des objets à l'aide de la blockchain, en prenant comme cas d'étude les smart-towns. Il présente d'abord les concepts de blockchain, Internet des objets et ville intelligente, puis décrit les mécanismes et protocoles de sécurité des données ainsi que l'état de l'art. Le document aborde ensuite la méthodologie proposée pour la sauvegarde décentralisée des données IoT à l'aide de la blockchain.

Transféré par

Josepha Christie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
161 vues87 pages

Sécurisation des données IoT par Blockchain

Ce document traite de la sécurisation des données dans un réseau Internet des objets à l'aide de la blockchain, en prenant comme cas d'étude les smart-towns. Il présente d'abord les concepts de blockchain, Internet des objets et ville intelligente, puis décrit les mécanismes et protocoles de sécurité des données ainsi que l'état de l'art. Le document aborde ensuite la méthodologie proposée pour la sauvegarde décentralisée des données IoT à l'aide de la blockchain.

Transféré par

Josepha Christie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

Paix – Travail – Patrie Peace – Work – Fatherland


------------ ------------
ECOLE NATIONALE SUPERIEURE NATIONAL ADVANCED
DES POSTES, DES SCHOOL OF POSTS,
TELECOMMUNICATIONS TELECOMMUNICATIONS
ET DES TECHNOLOGIES DE AND INFORMATION AND
L’INFORMATION COMMUNICATION
ET DE LA COMMUNICATION TECHNOLOGIES
------------ ------------

SECURISATION DES DONNEES DANS UN


RESEAU D’INTERNET DES OBJETS A
L’AIDE DE LA BLOCKCHAIN : CAS DES
SMART-TOWNS

MEMOIRE DE FIN D’ETUDE

Présenté en vue de l’obtention du diplôme d’INGENIEUR DES TELECOMMUNICATIONS


Option : Sécurité des Réseaux et des Services (SERES)
Par :

MANGA JOSEPHA CHRISTIE


MATRICULE : 15T31128

Encadreur Académique Encadreur Professionnel


Dr-Ing TCHAGNA M. HEUGANG N.A Steven
KOUANOU Aurelle Engineer/Master of Science in Physics
Enseignant à SUP’PTIC Consultant à Inchtech’s

ANNEE ACADEMIQUE :
2019-2020
SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

DEDICACES

A mon père M. NDONGO BARTHELEMY


&
Ma mère Mme ONANA MARIE SYLVIE

REDIGE PAR MANGA JOSEPHA CHRISTIE ii


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

REMERCIEMENTS

Ce projet d’étude est un travail de dur labeur qui n’aurait pas abouti sans la contribution
de plusieurs personnes, c’est pourquoi nous tenons à leur exprimer toute notre gratitude.
Nos remerciements s’adressent particulièrement :
 Mon encadreur académique, le Dr TCHAGNA KOUANOU Aurelle, pour avoir
accepté diriger ce travail jusqu’à son aboutissement. Je le remercie de m’avoir donné
toute liberté de démarche et de moyens pour mes travaux ;
 Mon encadreur professionnel, M. HEUGANG N.A. Steven, pour sa disponibilité et
les multiples conseils qu’il m’a prodigué tout au long de ce travail responsable. Je lui
suis reconnaissant pour la confiance, l’écoute et le soutien qu’il m’a témoigné tout au
long de la réalisation de ce mémoire ;
 Monsieur WATCHING Felix, Directeur de l’Ecole Nationale Supérieure des Postes,
des Télécommunications et des Technologies de l’Information et de la
Communication, pour son attachement à la formation de ses étudiants ; ainsi qu’au
Directeur Adjoint chargé des études Dr NKAMBA Léontine pour la qualité de la
formation que nous avons reçue.
 Tout le personnel de SUP’PTIC, pour la formation de qualité qu’il m’a permis
d’acquérir ;
 Tous les membres de ma famille, pour l’amour porté en ma faveur ;
 À mes amis et collègues Emilienne ILOUGA ; Damien TSILLA ; Edson BITJOKA ;
Hyacinthe TSAGUE ; David MAGOUDAYA ; Aurélie NDONGO ; Christian
MBELE ; Vanessa AKAMBA ; Dominique EYINGA pour leur collaboration et leur
soutien sans faille.
 Enfin, tous mes camarades de SUP’PTIC, pour tous les moments merveilleux passés
ensemble durant ces deux années de formation.

REDIGE PAR MANGA JOSEPHA CHRISTIE iii


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

TABLE DES MATIERES

DEDICACES.............................................................................................................................................ii
REMERCIEMENTS................................................................................................................................iii
TABLE DES MATIERES........................................................................................................................iv
LISTE DES FIGURES.............................................................................................................................vi
LISTE DES TABLEAUX......................................................................................................................viii
LISTE DES ABREVIATIONS................................................................................................................ix
RESUME...................................................................................................................................................xi
ABSTRACT.............................................................................................................................................xii
INTRODUCTION GENERALE..............................................................................................................1
CHAPITRE I : REVUE DE LA LITTERATURE LIEE A LA SECURISATION DES DONNEES A
L’AIDE DE LA BLOCKCHAIN..............................................................................................................3
Introduction...........................................................................................................................................4
I.1 Blockchain........................................................................................................................................4
I.1.1 Concept de la blockchain..........................................................................................................4
I.1.2 Fonctionnement de la blockchain.............................................................................................7
I.1.3 Architecture de la blockchain...................................................................................................9
I.1.4 Types de blockchain................................................................................................................10
I.1.5 Applications de la blockchain.................................................................................................13
I.2 Internet des objets..........................................................................................................................15
I.2.1 Fonctionnement de l’IoT.........................................................................................................15
I.2.2 Architecture de l’internet des objets......................................................................................16
I.2.3 Protocoles de l’internet des objets..........................................................................................17
I.2.4 Domaines d’applications de l’internet des objets..................................................................19
I.3 Ville intelligente (Smart-Town).....................................................................................................20
I.3.1 Caractéristiques d’une ville intelligente................................................................................21
I.3.2 Critères d’une ville intelligente..............................................................................................22
I.3.3 Avantages d’une ville intelligente...........................................................................................22
I.4 Sécurisation des données...............................................................................................................23
I.4.1 Mécanismes de Sécurité..........................................................................................................23
I.4.2 Les Services de Sécurité..........................................................................................................25

REDIGE PAR MANGA JOSEPHA CHRISTIE iv


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
I.4.3 Quelques protocoles de sécurité.............................................................................................25
I.5 Etat de l’art.....................................................................................................................................26
CHAPITRE II: METHODOLOGIE DE RECHERCHE.....................................................................31
II.1 Sauvegarde des données...............................................................................................................32
II.1.1 Inconvénients des données IoT dans le cloud......................................................................32
II.1.2 Blockchain et son utilité dans le stockage............................................................................33
II.1.3 Différents types de blockchain..............................................................................................34
II.2 Blockchain EOS............................................................................................................................37
II.2.1 Fonctionnement d’EOS.........................................................................................................37
II.2.2 Preuve d’enjeu déléguée........................................................................................................42
II.2.3 Horodatage.............................................................................................................................42
II.2.4 Signature numérique.............................................................................................................42
II.2.5 Modèle de Sécurité d’EOS....................................................................................................47
II.3 Concepts de l’Internet des objets dans une ville intelligente.....................................................48
II.4 Architecture de la solution...........................................................................................................48
II.4.1 Mise en œuvre........................................................................................................................50
II.4.2 Intégration basée sur C++ et la blockchain EOS.................................................................54
II.5 Méthodes d’évaluation.................................................................................................................55
CHAPITRE III : RESULTATS ET INTERPRETATIONS................................................................58
III.1 Rappels des résultats attendus...................................................................................................59
III.2 Présentation.................................................................................................................................59
III.3 Récupération des valeurs du DHT11 dans le port série...........................................................65
III.4 Lecture de la table à partir du Raspberry.................................................................................66
III.5 Discussion....................................................................................................................................68
III.6 Estimation budgétaire du prototype..........................................................................................70
CONCLUSION GENERALE.................................................................................................................71
REFERENCES.......................................................................................................................................xiv

REDIGE PAR MANGA JOSEPHA CHRISTIE v


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

LISTE DES FIGURES

Figure I.1 : Topologie de réseau de la blockchain [12]...................................................................5


Figure I.2: Combinaison de trois technologies [13]........................................................................5
Figure I.3: Flux de travail généralisé par le processus de blockchain [15].....................................7
Figure I.4:Fonctionnement de la blockchain [16]............................................................................8
Figure I.5 : Architecture de la blockchain [18]................................................................................9
Figure I.6: Trilemme des blockchains [19]....................................................................................10
Figure I.7 : Architecture de l’IoT [32]...........................................................................................17
Figure I.8 : Les domaines de l’Internet des objets [36].................................................................20
Figure I.9 : Enjeux de la ville intelligente [37]..............................................................................21
Figure I.10 : Les six leviers d’une ville intelligente [41].............................................................22
Figure II.1: Scénario d’élection des délégués................................................................................38
Figure II.2: Fonctionnement normal..............................................................................................39
Figure II.3:Fork minoritaire...........................................................................................................40
Figure II.4:Double production par minorité déconnectée..............................................................40
Figure II.5 Fragmentation du réseau..............................................................................................41
Figure II.6: Double production par une minorité connectée..........................................................41
Figure II.7: La structure d'une blockchain et le rôle des hashs [67]..............................................43
Figure II.8: Rôle du hachage dans l’intégrité des données [68]....................................................44
Figure II.9: Schéma explicatif de la paire clé publique/clé privée................................................45
Figure II.10:Cryptage d’un document...........................................................................................46
Figure II.11:Envoie du document à Bob........................................................................................46
Figure II.12 : Comparaison entre l’empreinte et celle issue de la signature..................................46
Figure II.13:Modèle de sécurité de la blockchain eos...................................................................48
Figure II.14: Architecture générale de la solution.........................................................................49
Figure II.15: Stockage des données dans un fichier texte.............................................................50
Figure II.16: Récupération des données par un client...................................................................50
Figure II.17:Raspberry pi3+..........................................................................................................51

REDIGE PAR MANGA JOSEPHA CHRISTIE vi


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Figure II.18:Capteur DHT11.........................................................................................................52
Figure II.19:Arduino......................................................................................................................52
Figure II.20:Evaluation des performances.....................................................................................55
Figure II.21:Lancement des noeuds...............................................................................................56
Figure II.22:Récupération de la variable $t...................................................................................56
Figure II.23: Lecture de la valeur de la température.....................................................................57
Figure III.1:Création d’un porte feuille.........................................................................................60
Figure III.2: Illustration du démarrage du nœud keosd.................................................................61
Figure III.3: Illustration du nœud nodeos......................................................................................61
Figure III.4 : Informations liées au serveur...................................................................................62
Figure III.5: Création d’un compte................................................................................................62
Figure III.6: Vérification du compte utilisateur.............................................................................63
Figure III.7: Création du compte lié à la température...................................................................63
Figure III.8: Création du contrat de la température.......................................................................64
Figure III.9: Variable de la température........................................................................................64
Figure III.10: Vérification de la variable.......................................................................................64
Figure III.11: Librairie DHT11......................................................................................................65
Figure III.12: Insertion des valeurs dans le fichier output.txt........................................................65
Figure III.13 : Différentes valeurs de la température....................................................................66
Figure III.14: Informations liées au compte..................................................................................67
Figure III.15 : Dernière valeur de la température..........................................................................68

REDIGE PAR MANGA JOSEPHA CHRISTIE vii


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

LISTE DES TABLEAUX

Tableau I-1: Type de blockchain selon le mode de validation de blocs [22]................................11


Tableau I-2: Tableau comparatif entre les types de blockchain [23].............................................12
Tableau II-1: Récapitulatifs des différentes blockchains...............................................................36
Tableau II-2: Récapitulatif des équipements.................................................................................52
Tableau III-1 : Comparaison entre notre solution et celle de Niclas Kullig..................................70
Tableau III-2: Estimation Budgétaire............................................................................................70

REDIGE PAR MANGA JOSEPHA CHRISTIE viii


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

LISTE DES ABREVIATIONS


ABREVIATIONS SIGNIFICATIONS
AES Advanced Encryption Standard
BCH Bitcoin Cash
CPU Central Processing Unit
DPoS Delegated Proof of Stake
EAP Extended Authentication Protocol
ECDSA Elliptic Curve Digital Signature Algorithm
ETC Ethereum Classic
GPO General Purpose entrée /sortie
http Hypertext Transfer Protocol
IoT Internet of Things
MD5 Message Digest 5
OMS Organisation Mondiale de la Santé
OSI Open System Interconnection
PBFT Practical Bizantine Fault Tolerance
PLC Power Line Communication
PoS Proof of Stake
PoW Proof of Work
P2P Peer to Peer
RC4 Rivest Cipher 4
RFID Radio Frequency Identification
SDX Shared Data Experience
SHA Secure Hash Algorithm
SOA Service Oriented Architecture
TIC Technologie de l’Information et de la
Communication
TP Tron Power
UIT Union Intenationale des Télécommunications

REDIGE PAR MANGA JOSEPHA CHRISTIE ix


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

VPN Virtual Private Network


WEP Wired Equivalent Privacy
WPA Wifi Protected Access

REDIGE PAR MANGA JOSEPHA CHRISTIE x


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

RESUME

Dans la vision de l'Internet des objets, les appareils conventionnels deviennent


intelligents et autonomes. Cette vision se transforme en réalité grâce aux progrès technologiques,
les machines utiliseront des capteurs pour collecter et évaluer des informations sur le monde
physique et les partager avec d’autres machines sans devoir recourir à l’interaction humaine.
Toutefois, il reste des défis à relever, en particulier dans le domaine de la sécurité en ce qui
concerne la fiabilité et l’intégrité des données. La blockchain est devenue une technologie clé qui
transforme la manière dont nous partageons les informations. Elle englobe des caractéristiques
telles que la fiabilité et la décentralisation qui peuvent être des avantages majeurs pour la
sécurisation des données dans le contexte de la ville intelligente car elles peuvent contribuer à
garantir l’intégrité des données non surveillée par l’homme. Dans le cadre de notre projet nous
avons examiné dans quelle mesure l’utilisation de la technologie blockchain est possible pour les
dispositifs autonomes et la sauvegarde des données de manière permanente dans un réseau IoT.
A cette fin un prototype de composant de la blockchain client a été construit en utilisant des
capteurs, Arduino ainsi qu’un ordinateur portable et une chaine de blocs EOS simulée. Les
résultats obtenus nous montrent l’efficacité en termes de scalabilité comparé à ceux des
méthodes utilisées dans la littérature. Ainsi, nous avons mis en place une architecture de
sécurisation des données dans un réseau IoT en utilisant la blockchain EOS.

Mots clés : Blockchain, Internet des objets, Prototype, Ville intelligente, Dispositifs autonomes

REDIGE PAR MANGA JOSEPHA CHRISTIE xi


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

ABSTRACT
In the vision of the Internet of Things, conventional devices become intelligent and
autonomous. This vision is becoming a reality thanks to technological advances, machines will
use sensors to collect and evaluate information about the physical world and share it with other
machines without the need for human interaction. However, challenges remain, particularly in
the area of security with regard to the reliability and integrity of data. Blockchain has become a
key technology that is transforming the way we share information. It encompasses features such
as reliability and decentralization which can be major advantages for data security in the context
of the intelligent city because they can help to ensure the integrity of data that is not monitored
by humans. In our project we examined the extent to which the use of blockchain technology is
possible for autonomous devices and permanent data backup in an IoT network. For this purpose,
a prototype component of the client blockchain was built using sensors, Arduino as well as a
laptop and a simulated EOS blockchain. The results obtained show us the efficiency in terms of
scalability compared to the methods used in the literature. Thus, we set up a data security
architecture in an IoT network using the EOS blockchain.

Keywords: Blockchain, Internet of Things, Prototype, Smart City, Autonomous Device

REDIGE PAR MANGA JOSEPHA CHRISTIE xii


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

INTRODUCTION GENERALE

L’utilisation massive d’Internet et la croissance fulgurante des activités digitales ont


permis un développement rapide des technologies telles que BigData, Internet des objets (IoT).
Le développement croissant dans le domaine de l’informatique a encouragé l’intégration d’une
variété de dispositifs permettant de rendre des maisons intelligentes. L’Internet des Objets est
donc synonyme de nombreuses fonctions innovantes porteuses de débouchés inédits, mais ce
marché draine d'énormes risques à gérer liés à la sécurité et à la confidentialité des données sur
les réseaux [1]. Par conséquent les sources potentielles de piratage sont multipliées et le risque en
termes de sécurité de données s’est amplifié. La preuve en est que le rapport sur la cybersécurité
de Cisco révèle que pour l’année 2017, les cyberattaques ont représenté des pertes allant de
400 000 euros à plus de 4 millions d’euros [2].

En effet, comme tous les appareils connectés à Internet, les équipements d’un réseau
peuvent être piratés [3]. Le déploiement des surfaces d'attaques est l’un des problèmes
majeurs en raison de l'augmentation du nombre de terminaux. Sur un réseau, les terminaux
constituent les appareils connectés en général à Internet, chacun offrant un point d'entrée aux
personnes mal intentionnées, exposant le réseau à des risques externes. Les objets connectés
stockent souvent des données sensibles, ils y ont accès et les transmettent en continu, ce qui
représente l'un des principaux enjeux de l'IoT. Les systèmes de sécurité tels que les caméras et
les sonnettes peuvent rapidement créer des problèmes majeurs s'ils sont piratés par un
cybercriminel. Le piratage d'un objet connecté permet au pirate informatique d'accéder à toutes
ses fonctions. Par exemple un cybercriminel peut potentiellement prendre en otage un véhicule
connecté et exiger un paiement. D'une manière générale, plus un système d'information est
ouvert sur l'extérieur, plus il est vulnérable aux agressions et plus il convient de le protéger.

En ce sens, assurer la sécurité des données dans un réseau d’IoT revient à garantir la
confidentialité de celle-ci, à crypter les données avant de les envoyer. Avec l’arrivée des progrès
scientifiques et techniques au XIXème siècle, plusieurs solutions ont vu le jour pour pallier à ce
problème d’insécurité. En 1918, les cryptographes polonais inventent la machine Enigma, un

REDIGE PAR MANGA JOSEPHA CHRISTIE 1


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
dispositif électromécanique de cryptage par rotor qui convertit les messages clairs en messages
cryptés afin de sécuriser les communications bancaires [4]. Mais, Alan Turing, un brillant
mathématicien, développe alors une méthode pour briser les codes d’Enigma [5]. Suite à cela,
l’utilisation des firewalls fut recommandée ; cependant, leur présence procure un faux sentiment
de sécurité car les firewalls ne couvrent que certains aspects de la protection globale [6]. En 2020
Niclas Kullig a mis sur pieds un prototype à l’aide de la blockchain Ethereum afin de stocker les
données mais cette blockchain s’avère avoir un problème de scalabilité et un nombre de
transactions limités [7].

Aux vues de toutes les limites que présentent les solutions suscitées, améliorer ou
résoudre le problème d’insécurité lors de la transmission des données exige l’utilisation d’une
technologie avancée telle que la blockchain qui permet le stockage et la transmission
d’informations de manière transparente, fiable et sécurisée sans organe central de contrôle [8].
C’est ainsi qu’on se pose la question de savoir comment améliorer la sécurisation des données à
l’aide de la blockchain dans un réseau d’IoT. En effet, l'utilisation de la blockchain comme base
pour les appareils IoT réduit le risque de piratage informatique en diminuant les points d'entrée
potentiels. L’objectif de ce travail est alors de proposer une méthode basée sur la technologie
blockchain pour sécuriser les données dans un réseau d’IoT. Pour y arriver nous devons mettre
en place une architecture d’IoT dans une ville intelligente, développer un algorithme en python,
crypter les données transitant dans un réseau IoT et enfin les stocker dans une blockchain.

Afin d’aborder tous les contours de notre travail, nous le subdiviserons en trois chapitres :
le chapitre 1 traite de la revue de la littérature sur la sécurisation des données et le concept IoT
dans les Smart-Towns, le chapitre 2 présente l’approche méthodologique adoptée et développe
une architecture conceptuelle de la solution. Il présente ensuite les différents outils de conception
et de modélisation du système. Le chapitre 3 quant à lui présente et discute les différents résultats
obtenus.

REDIGE PAR MANGA JOSEPHA CHRISTIE 2


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

I. CHAPITRE I : REVUE DE LA


LITTERATURE LIEE A LA SECURISATION
DES DONNEES A L’AIDE DE LA
BLOCKCHAIN

REDIGE PAR MANGA JOSEPHA CHRISTIE 3


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Introduction
Dans ce chapitre nous allons tout d’abord, présenter les notions de base indispensables à
la compréhension du travail effectué tout au long du projet. Pour se faire, nous présenterons les
différents mots clés de notre projet. Ensuite nous énumérerons les différentes solutions qui ont
été mises en place pour sécuriser les données.

I.1 Blockchain
Une blockchain ou chaine de blocs est définie comme une base de données distribuée qui
conserve un enregistrement permanent et immuable (infalsifiable) des données transactionnelles
liées entre elles par une chaine [9].
I.1.1 Concept de la blockchain
Une blockchain est un système totalement décentralisé et basé sur un réseau pair à pair
(Peer to Peer). Chaque objet du réseau conserve une copie du ledger afin d’éviter d’avoir un
point unique de défaillance. Toutes les copies sont mises à jour et validées simultanément. Bien
que l’objectif initial de la création de la blockchain fût la résolution du problème de la dépense
multiple en crypto-monnaie [10]. Cette technologie peut être explorée dans de nombreux cas
d’utilisation et utilisée comme un moyen sécurisé de gestion et protection de toute sorte de
données. Le ledger est composé d’un ensemble de blocs. Chaque bloc contient deux parties. La
première partie représente le corps du bloc, il contient les transactions, appelées également facts
que la base de données doit enregistrer. Ces facts peuvent être des transactions monétaires, des
données médicales, des informations industrielles etc.  La deuxième partie est l’entête (header)
du bloc. Ce dernier contient des informations concernant le bloc tel que : l’horodatage, le
hachage des transactions ainsi que le hachage du bloc précédent. De ce fait, l’ensemble des blocs
existants forme une chaine de blocs liés et ordonnés. Plus la chaine est longue, plus il est difficile
de la falsifier.
Quand on parle de réseau peer to peer (P2P). Il s'agit essentiellement d’un cadre de réseau
multi-réseaux intégré entre pairs composé de cryptographie, d’algorithmes et d’expressions
mathématiques visant à résoudre les limitations classiques de la synchronisation de bases de
données distribuées à l’aide d’algorithmes de consensus distribués. Les différentes topologies de
réseau de la technologie blockchain sont : Centralisé, décentralisé et distribué. La figure
suivante montre de la gauche vers la droite les différentes topologies [11].

REDIGE PAR MANGA JOSEPHA CHRISTIE 4


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure I.1:Topologie de réseau de la blockchain [12]


La technologie blockchain est basée principalement sur trois technologies : P2P, La
cryptographie et la théorie des jeux. Comme l’indique la figure suivante.

Figure I.2: Combinaison de trois technologies [13]


La technologie Blockchain se caractérise principalement par six éléments majeurs : décentralisé,
transparente, sécurisé et immuable, autonome, open source et anonyme. Comme décrit ci-dessus
[14] :
 Elle est décentralisée : La blockchain contient un système de bases de données
décentralisé avec un contrôle en libre accès pour tous ceux qui sont connectés au réseau.
Les données peuvent être consultées, surveillées, stockées et mises à jour sur plusieurs
systèmes. Ces données ne sont pas toutes regroupées dans le serveur d’un intermédiaire
central, mais au contraire « distribuées », c’est-à-dire hébergées chez chaque participant ;

REDIGE PAR MANGA JOSEPHA CHRISTIE 5


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
il n'y a donc pas d'autorité unique pouvant approuver les transactions ou définir des règles
spécifiques pour que les transactions soient acceptées. Cela signifie que la confiance est
énorme, car tous les participants du réseau doivent parvenir à un consensus pour accepter
les transactions.
 Elle est transparente : C'est l'avantage le plus important. Tous les participants peuvent
voir les blocs et les transactions qui y sont stockés. Les données enregistrées et stockées
dans la blockchain sont transparentes pour les utilisateurs potentiels et peuvent être mises
à jour facilement. Cela ne signifie toutefois pas que tout le monde peut voir le contenu
réel des transactions, qui sont protégés par une clé privée. Comme dans le réseau Bitcoin,
toutes les transactions sont publiques et vérifiables par tous en effectuant un mécanisme
consensus, ce qui va permettre à chacun de s’assurer que chaque participant possède bien
les Bitcoins qu’il dépense et qu’il ne les dépense qu’une seule fois. La nature transparente
des blockchains pourrait certainement empêcher la modification ou le vol de ces données
 Elle est sécurisée : La base de données peut uniquement être étendue et les
enregistrements précédents ne peuvent pas être modifiés (au moins, le coût est très élevé
si quelqu'un souhaite modifier les enregistrements précédents). Ces enregistrements sont
dits Immuables, une fois stockés, deviennent réservés pour toujours et ne peuvent pas être
modifiés facilement sans le contrôle simultané de plus de 51% des nœuds du réseau. Le
système cryptographique de validation garantit qu’il est quasiment impossible de réécrire
une transaction une fois son bloc validé (personne n’a réussi à le faire depuis la création
du Bitcoin).
 Autonome : Le système blockchain est indépendant et autonome, ce qui signifie que
chaque nœud du système blockchain peut accéder aux données, les transférer, les stocker
et les mettre à jour en toute sécurité, ce qui les rend fiables et exemptes de toute
intervention externe.
 Open source : La technologie de la blockchain est formulée de manière à fournir un accès
open source à toutes les personnes connectées au réseau. Cette polyvalence inimitable
permet à quiconque non seulement de vérifier publiquement les enregistrements, mais
également de développer diverses applications imminentes.
 Anonyme : Lorsque le transfert de données a lieu entre nœuds, l'identité de l'individu
reste anonyme, ce qui en fait un système plus sécurisé et fiable. Une personne faisant

REDIGE PAR MANGA JOSEPHA CHRISTIE 6


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
partie de ce réseau doit vérifier chaque nouvelle transaction effectuée. Une transaction de
recherche dans un bloc d'une blockchain est vérifiée par tous les nœuds du réseau, elle
devient de plus en plus immuable. La figure ci-dessous illustre le flux de travail du
processus de la chaîne de blocs.

Figure I.3: Flux de travail généralisé par le processus de blockchain [15]


Il existe deux types d’objets participants dans la blockchain : des objets qui peuvent uniquement
lire les facts (mode passif), et des objets qui peuvent lire et écrire des facts (mode actif) appelés
mineurs. Afin de rajouter un nouveau bloc à la blockchain, il faut suivre les étapes suivantes :
 Une transaction est regroupée avec d’autres transactions dans un bloc ;
 Les mineurs vérifient quelles transactions du bloc respectent les règles définies ;
 Les mineurs exécutent un mécanisme de consensus pour valider le bloc ajouté ;
 Une récompense est donnée aux mineur/mineurs qui valident le bloc ;
 Les transactions vérifiées sont stockées dans la blockchain.
Afin de prouver la validation honnête d’un bloc, il existe de nombreux mécanismes de validation.
Les plus utilisés sont le mécanisme de Proof of Work (PoW) et le mécanisme de Proof of Stake
(PoS).
I.1.2 Fonctionnement de la blockchain
Les étapes de ce mécanisme sont les suivantes :

REDIGE PAR MANGA JOSEPHA CHRISTIE 7


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
- Quelqu'un demande une transaction.
- La transaction est diffusée sur un réseau P2P public (réseau Blockchain) composé
de plusieurs nœuds.
- Le réseau de nœuds valide la transaction en utilisant les algorithmes de hachage.
- Une fois vérifiée, la transaction est combinée avec d'autres transactions pour créer
un nouveau bloc de données pour le grand livre.
- Le nouveau bloc est ajouté à la chaîne de blocs existante, sous une forme qui est
permanente et inaltérable.
- Enfin la transaction sera effectuée avec succès.
Pour comprendre vraiment comment fonctionne une blockchain, le plus simple est de
suivre l’itinéraire d’une transaction comme l’indique la figure suivante.

Figure I.4:Fonctionnement de la blockchain [16]


Ainsi, une fois qu’un bloc est inclus dans la chaîne, et qu’un certain nombre de blocs ont été
rajoutés après lui, il devient virtuellement impossible de modifier les transactions de ce bloc car
cela impliquerait de recalculer tous les blocs suivants. Les transactions sont considérées comme
irréversibles et finales après leur inclusion dans un bloc validé.
Par ailleurs, une transaction incluant un avoir déjà dépensé dans une transaction précédente
(transaction invalide) est refusée par le premier nœud du réseau qui la recevra. Si ce nœud est
compromis ou malicieux et que la transaction est placée dans un bloc à valider, le réseau la

REDIGE PAR MANGA JOSEPHA CHRISTIE 8


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
refusera à partir du moment où la majorité des nœuds du réseau est honnête. Pour compromettre
une blockchain il faut que 51% des nœuds du réseau soient contrôlés par une entité malhonnête.
Dans le cas du Bitcoin et de sa technique de consensus par preuve de travail, cela nécessite
d’avoir plus de puissance de calcul (hash power) que les membres honnêtes pour pouvoir générer
des blocs invalides à un rythme plus rapide que le reste du réseau [17].
I.1.3 Architecture de la blockchain
L'architecture réseau d'un réseau distribué Blockchain est P2P, elle fait référence à un groupe
d'ordinateurs agissant en tant que nœuds pour partager des fichiers entre eux-mêmes. La
Blockchain fonctionne donc sur un réseau distribué de serveurs, également appelé nœuds. Ces
nœuds du réseau ont pour objectif de fournir un consensus sur l’état de la blockchain à tout
moment, et contiennent une copie de la blockchain. L'application fondamentale de la Blockchain
est un grand livre de transactions, un peu comme un grand livre public sécurisé, qui stocke toutes
les transactions qui ont lieu dans le réseau. Cela en fait un système décentralisé très sécurisé et
transparent.

Figure I.5 : Architecture de la blockchain [18]


 Trilemme des blockchains
Le terme a été créé par Vitalik Buterin, le fondateur de l’Ethereum (ETH). Plutôt qu’un
« dilemme » qui est basé sur deux options, ce « trilemme » montre les trois grands axes
de développements que peuvent emprunter les cryptodevises. Il est représenté ainsi:

REDIGE PAR MANGA JOSEPHA CHRISTIE 9


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure I.6: Trilemme des blockchains [19]


On peut évaluer une crypto-monnaie en fonction de trois critères [20] :
 La sécurité : le réseau doit pouvoir prendre en compte des transactions sans que celles-ci
soient modifiables, en les vérifiant pour s’assurer de leur authenticité, et en prévenant les
attaques
 La décentralisation : la monnaie doit être suffisamment autonome pour ne pas être
assujettie à un organe central. Elle doit fonctionner en réseau sans contrôle, pour que
chaque utilisateur puisse y avoir accès de manière égale
 La scalabilité : la monnaie virtuelle doit s’adapter aux volumes du réseau. C’est-à-dire
que sa vitesse et ses frais de transactions doivent évoluer de manière harmonieuse qu’il y
ait 200 personnes sur le réseau ou 2 millions

Selon Vitalik Buterin, une crypto-monnaie ne peut pas se développer sur ces trois fronts à la fois
[21]. C’est-à-dire que si elle privilégie la sécurité et la décentralisation, elle aura du mal à adapter
son réseau au plus grand nombre. Si elle choisit à l’inverse de tout miser sur la scalabilité et la
sécurité, elle devient moins décentralisée. Enfin, une monnaie qui privilégierait la
décentralisation et la scalabilité le ferait au détriment de sa sécurité.

I.1.4 Types de blockchain


Le concept originel de la blockchain incluait une validation prenant en compte l’ensemble
des nœuds du réseau. Entre autres, la blockchain elle-même, ainsi que la validation des blocs qui
la constituent, s’effectuait de manière totalement partagée, et donc publique. Certaines
institutions, intéressées par cette nouvelle technologie, ont cependant été méfiantes quant au

REDIGE PAR MANGA JOSEPHA CHRISTIE 10


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
caractère public proposé par la blockchain à son état d’origine.  De nouveaux concepts ont ainsi
émergé, suite à ce besoin identifié. Il s’agit des blockchains « privées », ou « de consortium ».
Une blockchain de consortium est une blockchain qui se base sur un procédé de validation des
blocs qui est restreint à un certain nombre de nœuds définis. La capacité de lire l’ensemble de la
blockchain peut être réservée à certains nœuds particuliers, la consultation sera donc privée, elle
peut être aussi disponible pour l’ensemble des nœuds, auquel cas la consultation de la blockchain
est publique. La blockchain peut également être séparée en plusieurs parties : certaines données
peuvent être consultées publiquement, tandis que d’autres ne sont disponibles que sur un réseau
privé, la consultation est, dans ce dernier cas, hybride. Une blockchain privée, quant à elle,
réserve le processus de validation à un acteur unique, les consultations pouvant être privées,
publiques, ou hybrides.
Tableau I-1: Type de blockchain selon le mode de validation de blocs [21]

 Comparaisons entre les types de blockchain

Tableau I-2: Tableau comparatif entre les types de blockchain [22]

Blockchain publique Blockchain privée Blockchain de Consortium


ou fédérée
Objectif Utilisée pour résoudre les Principalement utilisée dans Opérée sous la direction

REDIGE PAR MANGA JOSEPHA CHRISTIE 11


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
problèmes d'efficacité, de la gestion de bases de d'un groupe, pour une cause
sécurité et de fraude au données et l'audit entre spécifique. Mais aucune
sein des institutions autres domaines. Utilisée entité ayant accès à Internet
financières traditionnelle, pour les tâches à une seule ne peut être impliquée dans
et remodeler le entreprise, en mettant en la transaction de vérification
fonctionnement du place des groupes et des
système financier et a le participants qui peuvent
potentiel de perturber les vérifier les transactions en
activités actuelles interne
Nature Ouverte et décentralisée Limitée Contrôlée et restreinte
Opération Le code à opérer est Profite de la technologie en Plus rapide (évolutivité plus
ouvert, c'est-à-dire qu'il mettant en place des élevée) et offre plus de
donne à quiconque le groupes et des participants confidentialité des
droit de participer au qui peuvent vérifier les transactions, principalement
processus de consensus transactions en interne. Les utilisée dans le secteur
ainsi que la forme et la autorisations d'écriture sont bancaire
taille actuelles de la centralisées à une
Blockchain organisation
Caractéristiques Les transactions sont Existence d'une conformité Réduction des coûts de
anonymes et de l'État aux règles de transaction et des
transparentes, sécurisées confidentialité des données, redondances de données, et
par l'incitation à la théorie mais il existe un risque de remplace l'ancien système
des jeux faille de sécurité, tout
comme dans un système
centralisé
Algorithmes de PoW, PoS, DPoS PBFT, RAFT Non
consensus
Exemples Bitcoin, Ethereum, MONAX, multichaîne R3 (banques), EWF
Monero, Dash, Litecoin (énergie), B3i(Assurance),
Corda

I.1.5 Applications de la blockchain


Souvent décrite comme un outil permettant d’instaurer la confiance entre des acteurs aux
intérêts divergents, la blockchain intéresse de nombreux secteurs depuis sa première utilisation
en 2008. Initialement destinée à répertorier des transactions entre particuliers, ses applications
ont largement évolué au gré des avancées technologies et à l’intérêt grandissant des entreprises
internationales.

REDIGE PAR MANGA JOSEPHA CHRISTIE 12


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

 Dans le secteur des assurances


Même si le secteur bancaire a été le premier à déployer une solution blockchain,
l’assurance semble mieux placée pour tirer profit de cette innovation. Sa structure
décentralisée conjuguée à sa transparence et sécurité permet aux assureurs de relever
plusieurs défis à savoir [23] :
- La création de produits innovants : Cette nouvelle technologie élargit le champ de
l’innovation en matière d’assurance. Elle facilite la conception et la mise en place
de contrats intelligents ou « smart contracts ». Ce système est capable d’appliquer
automatiquement les conditions et termes d’un contrat, sans intervention
humaine. Il permet d’analyser les données et de réunir les conditions d’un
paiement.
- La meilleure implication des assurés dans le processus des assurances : Les
nouvelles technologies permettent aujourd’hui aux assurés de contrôler leurs
données personnelles et être plus impliqués dans le processus d’assurance. C’est
le cas des garanties peer-to-peer, cette solution propose des couvertures
d’utilisateur à utilisateur, sans intermédiaire. Une communauté de personnes
verse une prime dans un pot commun servant à rembourser l’assuré sinistré. Un
réassureur peut toutefois prendre le relais en cas de besoin d’une plus forte
indemnité.
- La détection de la fraude : La fraude à l’assurance représente environ 10% de la
charge sinistres en Europe. Ce taux est logiquement beaucoup plus important dans
les pays qui disposent de systèmes de contrôle moins efficaces. La blockchain
semble être la solution appropriée pour lutter contre ce fléau. En effet, la
technologie facilite l’échange intersectoriel de données. Une résolution qui permet
de consulter librement toutes les informations requises auprès des établissements
de santé, des services de sécurité, centres commerciaux, garagistes et réparateurs.
 Dans le secteur de la santé
- Gestion des données médicales : De nos jours il est difficile de visualiser de
manière clair toutes les données liées à un patient accumulées au cours de son
parcours de soins. Les logiciels utilisés par les parties prenantes (infirmiers,
pharmaciens) pour collecter et gérer les dossiers médicaux sont différents et ne

REDIGE PAR MANGA JOSEPHA CHRISTIE 13


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
sont pas interopérables. Ainsi, il est parfois difficile de partager les informations.
L’idéal serait donc d’avoir une liste qui répertorie tous les lieux où se trouvent les
données médicales d’un même patient afin de pouvoir rapidement les récupérer. La
technologie blockchain apporte justement cette solution sous la forme d’un registre
distribué et sécurisé qui permet au patient non seulement d’avoir une visibilité sur
ses données, mais aussi d’en contrôler les accès.
- Traçabilité des médicaments et lutte contre la contrefaçon : Selon L’Organisation
Mondiale de la Santé (OMS) près de 15 % de médicaments falsifiés sont en
circulation dans le monde. Ce fléau mondial entraîne des conséquences graves
voire dramatiques sur la santé des patients. Malgré les efforts de l’industrie
pharmaceutique pour enrayer ce fléau, la contrefaçon perdure et se propage dans
certaines régions de façon exponentielle. L’une des solutions possibles serait d’agir
sur le système de traçabilité. Ainsi la blockchain, de par son niveau de sécurité,
apparaît comme une technologie révolutionnaire dans la traçabilité des
médicaments. En effet, l’idéal serait d’enregistrer chaque étape de la chaîne de
distribution d’un médicament et de combiner ainsi l’usage de la blockchain à celui
des différentes technologies de traçabilité.
 Dans le secteur de l’immobilier
- Traçabilité des flux de données et approche transversale : Les projets immobiliers
impliquent un flux important de données entre l’ensemble des acteurs d’un projet
immobilier. La blockchain favorise ainsi l’interprofessionnalité et le dialogue entre
les métiers. Cette traçabilité alliée à la traçabilité des informations et des échanges
en réduit les détails de traitement et les couts et facilite la gestion des différentes
étapes d’un projet immobilier.
- Transparence et renforcement de la confiance des acteurs : La fonction
d’horodatage de la Blockchain constitue un élément prometteur pour renforcer la
confiance des différents acteurs d’un projet immobilier. Elle permet de tracer
l’ensemble des versions des plans ou des maquettes de manière certaine et de les
attribuer à un acteur déterminé. La confiance des parties prenantes en une
infrastructure robuste que représente la Blockchain permet sans aucun doute
d’amorcer la transition digitale de l’immobilier.

REDIGE PAR MANGA JOSEPHA CHRISTIE 14


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
La technologie blockchain est un rouage essentiel à la multiplication des objets connectés, elle
peut s’avérer indispensable au déploiement de l’ensemble des objets connectés, en ajoutant une
couche de sécurité via une chaîne associée à l’identité de l’objet connecté, le rendant résistant
aux tentatives d’hacking.

I.2 Internet des objets


Selon l’Union Internationale de Télécommunications (UIT), l’Internet des objets : « une
infrastructure mondiale pour la société de l'information, qui permet de disposer de services
évolués en interconnectant des objets (physiques et virtuels) grâce aux technologies de
l'information et de la communication interopérables existantes ou en évolution. ». D’un point de
vue conceptuel, l’Internet des objets affecte, à chaque objet une identification unique sous forme
d’une étiquette lisible par des dispositifs mobiles sans fil, afin de pouvoir communiquer les uns
avec les autres. Ce réseau crée une passerelle entre le monde physique et le monde virtuel. D’un
point de vue technique, l’IoT consiste l’identification numérique directe et normalisée (adresse
IP, protocole http...) d’un objet physique grâce à un système de communication sans fil (puce
RFID, Bluetooth ou Wifi) [24].
I.2.1 Fonctionnement de l’IoT
L’Internet des objets fonctionne principalement avec des capteurs et objets connectés placés
sur des infrastructures physiques. Ces capteurs vont alors émettre des données qui vont remonter
à l’aide d’un réseau sans fil sur des plateformes IoT. Elles pourront être ainsi analysées et
enrichies pour en tirer le meilleur profit. Ces plateformes de data management et de data
visualisation sont les nouvelles solutions IoT permettant aux territoires, entreprises ou même
usagers d’analyser les données et d’en tirer des conclusions pour pouvoir adapter pratiques et
comportements. L’IoT est étroitement lié aux objets connectés car ils ont la faculté de capter une
donnée et de l’envoyer, via le réseau Internet ou d’autres technologies. Les objets connectés
interagissent avec leur environnement par le biais de capteurs : température, vitesse, humidité,
vibration. Dans l’Internet des Objets, un objet peut aussi bien être un véhicule, qu’une machine
industrielle ou encore une place de parking. Cette notion d’internet des objets peut être expliquée
grâce au concept de Service Oriented Architecture (SOA) décomposé en quatre couches
différentes appelées layer [25].
- Sensing : Les hardwares physiques comme les capteurs intelligents
- Networking : Connecte les équipements entre eux

REDIGE PAR MANGA JOSEPHA CHRISTIE 15


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
- Service : Les technologies du « middleware » qui permet de faire communiquer entre eux
« hardware » et « software »
- Interface : Les plateformes qui présentent les applications aux utilisateurs finaux
I.2.2 Architecture de l’internet des objets
Les objets de l’environnement de l’internet des objets permettent de collecter, stocker et
transmettre des données issues du monde physique. Ce sont des sources de données, qui possède
au minimum un identifiant unique attaché à une identité ayant un lien direct ou indirect avec
Internet.
On distingue deux types d’objet :
- Les objets passifs : ils utilisent généralement un tag (puce Radio Frequency Identification
RFID, code barre 2D). Ils ont une capacité de stockage faible (de l’ordre du kilooctet) et
permettent de jouer le rôle d’identification. Ils peuvent parfois, dans le cas d’une puce
RFID, d’embarquer un capteur (température, humidité) et être réinscriptibles.
- Les objets actifs : ils peuvent être équipés de plusieurs capteurs, avec une grande capacité
de stockage, capables d’accomplir des calculs et être en mesure de communiquer sur un
réseau
Précisons le rôle des différents processus présentés sur la figure ci-dessous
- Capter : permet de transformer une grandeur physique analogique en un signal
numérique.
- Concentrer : permet d’interfacer un réseau spécialisé d’objet à un réseau IP standard
- Stocker : permet de rassembler des données brutes, produites en temps réel, arrivant de
façon non prévue.
- Présenter : permet de collecter les informations de façon compréhensible par l’Homme,
en lui offrant un moyen d’agir et/ou d’interagir. Deux autres processus qui n’apparaissent
pas sur le schéma

REDIGE PAR MANGA JOSEPHA CHRISTIE 16


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure I.7 : Architecture de l’IoT [26]


I.2.3 Protocoles de l’internet des objets
Les principaux clusters dédiés à l’Internet des Objets sont au nombre de huit [27].
- RFID passive
Le premier d’entre eux est la RFID passive. RFID est l’abréviation de Radio
Frequency Identification, l’une des technologies les plus simples permettant aux
objets de se connecter. Cette technologie est susceptible de rassembler toutes sortes
de normes dites d’identification automatique, par l’utilisation de la fréquence radio.
En outre, elle ne nécessite aucune sorte de batterie. Elle peut être utilisée, par
exemple, pour gérer des chaînes logistiques (Supply Chain).
- RFID active
Contrairement à la précédente, elle nécessite une batterie grâce à laquelle on a la
possibilité d’améliorer considérablement les communications et de créer un
fonctionnement totalement autonome, sans avoir à recourir à l’intervention d’un
lecteur. Pour l’instant, la RFID active n’assure que des fonctionnalités basiques dont
on a besoin pour communiquer, par exemple, les codes d’identification d’objets
spécifiques. Néanmoins, il existe des protocoles plus avancés, mais qui sont utilisés
par un cluster différent. Il est utilisé, par exemple, pour la localisation dans les
bâtiments.
-  Personal Communications

REDIGE PAR MANGA JOSEPHA CHRISTIE 17


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Dans ce cas, nous avons à faire à une norme de communication qui fonctionne avec
des réseaux appelés à courte portée, créés pour toutes les applications grand public
qui, bien sûr, sont caractérisés par une série de bandes de communication plus
étroites, par exemple, Bluetooth à basse énergie. La technologie Personal
Communication est également très utilisée dans le domaine de la santé en ligne
appelée eHealth. Il existe déjà de nombreux smartphones et tablettes équipés de ce
module et employés pour concentrer, visualiser et traiter ce type d’information. 
- M-Bus sans fil
Cette norme n’est rien d’autre qu’une bonne alternative aux solutions filaires
traditionnelles, très répandues dans divers secteurs. Toutes les technologies qui
appartiennent à ce type de cluster, ne nécessitent pas d’architecture particulièrement
sophistiquée, car ils ne font que répliquer les principes traditionnels du bus de
terrain. Cette technologie particulière donne la possibilité de faire un usage plus
efficace de la consommation d’énergie et, en même temps, d’obtenir de bonnes
performances en ce qui concerne la lecture à distance de compteurs.
- Wi-Fi
En ce qui concerne le Wi-Fi, c’est un protocole qui permet un accès sans fil aux
réseaux à haut débit. Cette technologie a été créée pour transmettre un grand nombre
de données, elle est sensiblement plus exigeante du point de vue énergétique. Pour
cette raison, le secteur de l’IoT connaît beaucoup de restrictions. La technologie Wi-
Fi est utilisée plus largement pour les implantations à l’intérieur des bâtiments, pour
la logistique, la sécurité et le contrôle des productions. 
- Les réseaux maillés (topologie Mesh)
Parmi les technologies au cœur de l’Internet des objets, il y a aussi les réseaux
maillés (topologie Mesh) à faible consommation (Low-power). Ce sont des réseaux
qui se composent d’une série de nœuds de faible puissance avec des réseaux
complexes auto-formés extensibles et qui prennent en charge l’acheminement
dynamique des données, tout en consommant très peu d’énergie. 
- Les réseaux cellulaires
Il est question des technologies de communication qui peuvent être utilisées, par
exemple, dans les transports ou dans toutes les applications qui nécessitent ce qu’on

REDIGE PAR MANGA JOSEPHA CHRISTIE 18


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
appelle une connectivité de bout en bout. Les réseaux cellulaires peuvent également
être utilisés pour mettre en communication des centres d’opérations avec des
serveurs concentrateur.  
- Power Line Communication (PLC)
La technologie PLC est utilisée pour transmettre des données par la modulation des
signaux électriques employés pour l’alimentation. Ces protocoles ont été conçus
aussi bien pour le secteur résidentiel que pour les réseaux de haute et moyenne
tension.

I.2.4 Domaines d’applications de l’internet des objets


Nous constatons que le concept de l’Internet des objets (IoT) est en pleine explosion vu
que nous avons de plus en plus besoin dans la vie quotidienne d’objets intelligents capables de
rendre l’atteinte de nos objectifs plus facile. Ainsi, les domaines d’applications de l’IoT peuvent
être variés.
Plusieurs domaines d’application sont touchés par l'IoT. Dans leur article, Gubbiet al.
[28] ont classé les applications en quatre domaines : 1) le domaine personnel, 2) le domaine du
transport, 3) l’environnement et 4) l’infrastructure et les services publics. Comme le schéma ci-
dessous le montre, on trouve alors l’IoT dans notre vie personnelle quotidienne et également
dans les services publics offerts par le gouvernement.

REDIGE PAR MANGA JOSEPHA CHRISTIE 19


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure I.8 : Les domaines de l’Internet des objets [29]


L’internet des objets est l’un des facteurs clés d’une infrastructure intelligente. Il améliore
grandement les services aux citoyens et la gestion des municipalités. C’est la raison pour laquelle
la technologie a un rôle majeur à jouer dans la construction d’une ville intelligente.

I.3 Ville intelligente (Smart-Town)


Une Ville Intelligente est une ville privilégiant les technologies de l’information et de la
communication (T.I.C.) pour favoriser une meilleure interaction avec ses citoyens et garantir à
ses habitants l’amélioration de leur qualité et environnement de vie malgré le développement
croissant de la ville.

REDIGE PAR MANGA JOSEPHA CHRISTIE 20


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure I.9 : Enjeux de la ville intelligente [30]

I.3.1 Caractéristiques d’une ville intelligente


De nombreuses caractéristiques définissent une ville intelligente ; elles peuvent varier en
fonction du contexte social dans lequel la ville est située ou d'autres variables liées à la culture.
Les trois plus importantes sont les suivantes [31] :
- Développement des infrastructures
Une ville intelligente donne la priorité au développement optimal des
infrastructures afin de renforcer l'économie et le développement social, culturel et
urbain. C'est la raison pour laquelle elle améliore les canaux de communication
afin que des services tels que le logement, les divertissements, les
télécommunications, les affaires, entre autres, puissent être connectés à l'aide de
technologies avancées qui permettent à une ville de croître et de se développer.
- Stratégies visant à créer un environnement compétitif
Grâce aux technologies de l'information et de la communication (TIC) et à la
planification, les villes intelligentes cherchent à créer un environnement
compétitif dans le secteur afin d'étendre les secteurs urbains, favorisant ainsi le
développement de nouvelles entreprises et améliorant les performances socio-
économiques de la ville.
- Villes inclusives et durables
Le principal élément stratégique d'une ville intelligente sera la durabilité, afin de
rechercher des moteurs de participation, de créer de meilleures habitudes de
consommation et une meilleure gestion de l'énergie, et d'utiliser les énergies

REDIGE PAR MANGA JOSEPHA CHRISTIE 21


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
renouvelables pour la préservation des ressources naturelles et la protection de
l'environnement [32].
I.3.2 Critères d’une ville intelligente
Selon Rudolf Giffinger, expert en recherche analytique sur le développement urbain et
régional à l’université technologique de Vienne, les villes intelligentes peuvent être classées
d’après six critères principaux, liés aux théories régionales et néoclassiques de la croissance et du
développement urbain et respectivement fondés sur les théories de la compétitivité régionale,
l’économie des transports et des technologies de l’information et de la communication, les
ressources naturelles, les capitaux humains et sociaux, la qualité de vie et la participation des
citoyens à la vie démocratique de la ville [33].
 Une économie intelligente ;
 Une mobilité intelligente ;
 Un environnement intelligent ;
 Des habitants intelligents ;
 Un mode de vie intelligent ;
 Une administration intelligente.

Figure I.10 : Les six leviers d’une ville intelligente [34]


I.3.3 Avantages d’une ville intelligente
Les villes intelligentes permettent d’améliorer les services offerts aux citoyens, d’attirer
davantage de visiteurs et d’entreprises, d’améliorer l’environnement de travail et de réaliser plus
d'économies. L’autoconsommation de l’énergie est l’un des avantages majeurs de leur essor.
Comme autre avantages nous savons :

REDIGE PAR MANGA JOSEPHA CHRISTIE 22


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
- Autoconsommation énergétique : C’est la possibilité pour chaque ménage de
produire sa propre énergie et de la consommer à sa guise.
- Industrie de transport intelligent : les voitures ou autres moyens de transport utilisés
n’ont plus besoin des ressources naturelles non renouvelables pour rouler : pétrole et
gazole. À la place, sera installé un système hydroélectrique consommant soit de
l’eau, soit de l’air ou de l’hydrogène qui s’avère être une solution efficace pour
lutter contre la pollution gazeuse issue des substances comme le pétrole, l’essence et
le gazole
- Environnement intelligent : les villes intelligentes ont la particularité de produire un
environnement sain où il fait bon vivre. La production des déchets est évitée ou
alors réduite. Pas de sacs ou de bacs poubelles comme on a coutume de voir pour
stocker les ordures ménagères et autres
- Facturation automatique : les villes intelligentes emmènent les populations à
modérer leur consommation des ressources énergétiques produites et distribuées par
les fournisseurs agréés. Les consommations sont calculées automatiquement à l’aide
d’un compteur, et facturées. Ainsi, les foyers sans avoir recours à leur fournisseur
savent à quoi s’en tenir.

Telle que souligné plus haut, les villes intelligentes permettent d’optimiser les ressources et
d’améliorer la qualité de vie tout en réduisant les coûts. A l’ère du tout connecté, il est important
de bien sécuriser les objets connectés car les objets connectés non sécurisés présentent un danger
avant, pendant et après leur déploiement.

I.4 Sécurisation des données


La sécurité est un ensemble de stratégies, conçues et mises en place pour détecter, prévenir et
lutter contre une attaque.
I.4.1 Mécanismes de Sécurité
Un mécanisme de sécurité, est un ensemble de stratégies, conçues et mises en place pour
détecter, prévenir et lutter contre une attaque. Avec l'évolution de la technologie, il existe une
panoplie de mécanismes de sécurité. Nous ne saurons, cependant, les évoquer en intégralité dans
notre travail.

REDIGE PAR MANGA JOSEPHA CHRISTIE 23


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
- Bourrage de trafic : données ajoutées pour assurer la confidentialité, notamment au
niveau du volume du trafic.
- Contrôle d'accès : vérifie les droits d'accès d'un acteur aux données. N'empêche pas
l'exploitation d'une vulnérabilité.
- Contrôle d'accès aux communications : le moyen de communication n'est utilisé
que par des acteurs autorisés par réseau privé virtuel (VPN) ou tunnels.
- Distribution de clefs : distribution sécurisée des clefs entre les entités concernées.
- L'authentification est un mécanisme de sécurité qui consiste à assurer l'identité
d'un utilisateur, ou d'une machine voulant accéder au système, ainsi on vérifie que la
station ou la personne, est bien celle qu'elle prétend être. En effet dans la plupart de
temps, l'authentification s'agit du couple « nom d'utilisateur/mot de passe », c'est un
mécanisme qui constitue une sécurité relativement fiable lorsqu'il est bien mis en
œuvre. Ce mécanisme pose tout de même certains problèmes, comme par exemple,
le cas où un utilisateur a besoin de se connecter sur plusieurs stations différentes,
dans ce cas ce mécanisme devient relativement lourd. Le mécanisme
d'authentification permettant un niveau de sécurité élevé, est celui qui fait appel à un
serveur d'authentification, qui centralise, gère et contrôle tous les accès aux
ressources du système, c'est le mécanisme que, nous allons implémenter dans notre
travail.
- Le cryptage ou le chiffrement des données, c'est aussi un mécanisme de sécurité,
qui consiste à traduire un message clair, dit originel en un message
incompréhensible, inintelligible. Le résultat du processus de cryptage est appelé «
texte chiffré ou message codé », le processus de cryptage reposent à la fois sur des
algorithmes puissants et sur les paramètres appelés clés, c'est ainsi que les
techniques de cryptographie sont essentiellement scindées en deux, notamment :
- Le cryptage symétrique : il consiste à utiliser la même clé pour crypter et décrypter
un message. Il est important de savoir que le cryptage asymétrique est moins
sécurisé, du fait que c'est la seule clé qui est échangée entre les deux entités
communicantes. D’où l'interception de la clé lors de l'échange peut compromettre la
sécurité du message crypté [35].

REDIGE PAR MANGA JOSEPHA CHRISTIE 24


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
I.4.2 Les Services de Sécurité
Parmi les services de sécurité, nous pouvons citer :
- Confidentialité : les données (et l'objet et les acteurs) de la communication ne
peuvent pas être connues d'un tiers non-autorisé.
- Authenticité : l'identité des acteurs de la communication est vérifiée.
- Intégrité : les données de la communication n'ont pas été altérées.
- Non-répudiation : les acteurs impliqués dans la communication ne peuvent nier y
avoir participé.
- Disponibilité : les acteurs de la communication accèdent aux données dans de
bonnes conditions. Chaque attaque est là pour nuire le système, dans les attaques,
il y a quatre éléments qui vise à compromettre chacun des services de sécurité :
- Interruption : vise la disponibilité des informations.
- Interception : vise la confidentialité des informations.
- Modification : vise l'intégrité des informations.
- Fabrication : vise l'authenticité des informations.
I.4.3 Quelques protocoles de sécurité
- Le Protocole Wired Equivalent Privacy (WEP) : C'est un protocole optionnel
pour sécuriser un système au niveau de la couche liaison de donnée, couche deux du
modèle OSI. En effet, le WEP est un protocole chargé du cryptage des trames
802.11, utilisant l'algorithme symétrique Rivest Cipher 4 (RC4) avec des clés d'une
longueur de 64 ou 128 bits. Ce protocole consiste à définir en premier temps une clé
secrète de 40 ou 128 bits, laquelle clé doit être déclarée au niveau du point d'accès et
des clients. Le WEP n'est donc pas suffisant pour garantir une réelle confidentialité
des données. Pour autant, il est vivement conseillé de mettre en œuvre une
protection WEP 128 bits afin d'assurer un niveau de confidentialité minimum et
d'éviter de cette façon 90% des risques d' intrusion. Cependant, pour obtenir un
niveau de sécurité supérieur, il convient d'utiliser le cryptage WPA ou WPA2.
- Le protocole EAP (Extended Authentication Protocol), est un protocole défini par
l'IETF, qui se charge de transporter les informations d'identifications des
utilisateurs, comme nous l'avons déjà dit, il s'appuie sur le standard dont nous
parlerons d'une manière plus détaillée un peu plus loin dans ce travail. Le

REDIGE PAR MANGA JOSEPHA CHRISTIE 25


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
fonctionnement du protocole EAP est basé sur l'utilisation d'un contrôleur d'accès,
chargé d'établir ou non l'accès au réseau pour un utilisateur. Le contrôleur d'accès
est un simple garde-barrière servant d'intermédiaire entre l'utilisateur et un serveur
d'authentification. Il existe différentes méthodes d'authentification pour EAP.
- Le Certificat : Les algorithmes de chiffrement sont basés sur le partage entre les
différents utilisateurs d'une clé publique. Il permet d'associer une clé publique à une
entité (une personne, une machine, ...) afin d'en assurer la validité. Le certificat est
en quelque sorte la carte d'identité de la clé publique, délivré par un organisme
appelé autorité de certification.
- Le protocole RADIUS : est un mécanisme de transport des données
d'authentification. Quand il a été normalisé en 1997, il visait à fournir aux
fournisseurs d'accès Internet un moyen de centraliser leur base de données
d'utilisateurs distant, quel que soit le point d'accès auquel se connectaient les
utilisateurs, ainsi que les services et applicatifs prenant en charge une
authentification Radius (certains routeurs, pare-feu, bornes réseau sans fil, etc.) [36].

I.5 Etat de l’art


La problématique sur la sécurisation des données dans un réseau intelligent suscite beaucoup
d’intérêt auprès d’universitaires et de professionnel du domaine, La littérature y est multiple et
variée, Nous avons recensés un certain nombre de documents qui traitent les questions relatives à
la protection des données.
 En 2020, Niclas Kullig, Philipp Lammel et Nikolay Tcholtcheva ont mis sur pieds un
prototype de mise en œuvre et d’évaluation d’une chaine modulaire composante sur les
dispositifs IoT. Ce prototype doit permettre de clarifier la question de savoir dans quelle
mesure l’utilisation de la technologie de la chaine de blocage dans l’internet des objets est
réalisables en pratique. Les scripts python interrogent les valeurs d’un capteur de
température DHT11 et les transfèrent à une chaine de blocage Ethereum simulé. Les tests
effectués ont prouvé que l’utilisation de la technologie de la chaine de blocs dans le
contexte de l’IoT est fondamentalement réalisable. Néanmoins il faut noter que des
problèmes peuvent survenir lors de l’utilisation par exemple le temps de stockage
augmente de manière linéaire en raison de la complexité croissante et de la
consommation des ressources de l’exploitation minière [37].

REDIGE PAR MANGA JOSEPHA CHRISTIE 26


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

 En 2016 à New York, BigID développe des logiciels visant à aider les entreprises à
sécuriser les données de leurs clients, et à se conformer aux règlements sur la protection
des données comme le RGPD (Règlement général sur la protection des données). Sa
technologie permet notamment aux entreprises de suivre et de gouverner les données de
leurs clients grâce à la Data Science. Les techniques de Machine Learning et d’Identity
Intelligence permettent de trouver les données personnelles au sein de pétabytes de
données structurées ou non structurées, sur site ou sur le Cloud. La plateforme permet
aussi de mettre en lumière les connexions entre les données personnelles, et de détecter
les éventuelles anomalies de qualité [38].
 En 2014, Landry Njate a mis en place un crypto-système pour la sécurisation des
données. Il a pour but de réduire les échéances et les erreurs dans les transferts des
paquets des données qui circulent à travers un réseau informatique [39].
 En 2011, Rodrigue Mpyana a mis en place d’un système de sécurité basé sur
l’authentification dans un réseau IP qui permettra aux administrateurs de protéger le
réseau contre tout accès, non autorisé au dit réseau. A travers ce mécanisme, seuls les
utilisateurs autorisés auront l'accès au réseau ainsi qu'aux ressources de l’entreprise. Il
protégera le système contre les éventuelles intrusions, en gérant et en contrôlant les accès
dès l'accès physique au réseau de l'entreprise [40].
 Le Certificat : Les algorithmes de chiffrement sont basés sur le partage entre les
différents utilisateurs d'une clé publique. Généralement, le partage de cette clé se fait au
travers d'un annuaire électronique ou bien d'un site web. Toutefois ce mode de partage a
une grande lacune et rien ne garantit que la clé soit bien celle de l'utilisateur à qui elle est
associée. En effet, une personne malintentionnée peut corrompre la clé publique présente
dans l'annuaire en la remplaçant par sa clé publique. Ainsi, la personne sera en mesure de
déchiffrer tous les messages ayant été chiffrés avec la clé présente dans l'annuaire [41].
 En 2014, Privitar permet aux entreprises d’utiliser, de partager, et de dégager des
informations des données de façon sécurisée. Ses produits permettent d’extraire des
informations en provenance de données sensibles ou confidentielles tout en respectant les
exigences en matière de sécurité et ainsi se conformer aux lois comme le RGPD. Ses
solutions reposent sur des techniques d’ingénierie telles que l’anonymisation des
données, la confidentialité différentielle et le chiffrement. Ainsi, Privitar permet aux

REDIGE PAR MANGA JOSEPHA CHRISTIE 27


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
entreprises d’utiliser des informations et de développer des innovations data-driven, tout
en réduisant les risques liés au stockage et au traitement de données sensibles et en
assurant une protection contre d’éventuelles fuites de données [42].
 Cloudera a été cofondée en 2008 par le mathématicien Jeff Hammerbach, un ancien de la
Bear Stearns puis de Facebook, où il était chargé de l'analyse de données et du
développement de programmes. Il permet de protéger le flux des données dans les
entreprises. Grace à la solution Shared Data Experience (SDX) de Cloudera, les
fonctionnalités de sécurité et de gouvernance les équipes informatiques peuvent réaliser
des analyses sécurisées à partir des données en toute confiance et sur tous les
environnements. Il permet également de réduire les risques dans le domaine de la
cybersécurité, des fraudes et de la conformité [43].
 Code42 a été fondée en 2001 à Minneapolis. Elle propose un SaaS (logiciel en tant que
service) de sécurité et protection de données reposant sur un logiciel simple d’utilisation
et un hardware de stockage hautement performant. Sa solution Cloud permet à la fois aux
entreprises de limiter les risques de sécurité informatique, de se conformer aux
régulations sur la protection des données, et de restaurer des données en cas de perte [44].

 Basée à San Francisco, CipherCloud est une startup fondée en 2010. Elle propose des
solutions permettant aux entreprises de chiffrer leurs informations les plus sensibles avant
de les stocker sur le Cloud. Son offre se destine aux entreprises qui souhaitent adopter les
applications Cloud de façon sécurisée, en évitant notamment les risques liés à la
confidentialité des données et aux règlements sur la protection des données. Sa
plateforme ouverte propose une interface intuitive, avec des fonctionnalités telles que le
chiffrement AES 256-bits, la tokenisation (substitution des données bancaires par des
données jetables), la prévention de perte de données et la détection de malwares. Sa
technologie permet de protéger les informations en temps réel avant qu’elles soient
transférées sur le Cloud [45].
 Miner Eye est le pionnier dans le domaine de l’Interpretive Data Classification. Grâce
aux technologies d’intelligence artificielle telles que la vision par ordinateur et le
Machine Learning, elle permet aux entreprises le tracking de leurs données sensibles
ainsi que des Dark Data. Cette startup met l’intelligence artificielle au service de la

REDIGE PAR MANGA JOSEPHA CHRISTIE 28


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
gouvernance des données afin de permettre à ses clients d’automatiser l’identification et
le tracking des données sur plateformes de stockage à grande échelle.
 Joseph Bonneau et coll. a fourni la première élaboration systématique sur Bitcoin et
d'autres crypto-monnaies, analysé les problèmes d'anonymat et examiné les méthodes
d'amélioration de la confidentialité [46].
 Ghassan Karame a examiné et analysé systématiquement le provisionnement de la
sécurité de la blockchain dans Bitcoin, y compris les risques et les attaques dans Bitcoin
comme les systèmes de monnaie numérique. Ils ont également décrit et évalué des
stratégies d'atténuation pour éliminer certains des risques [47].
 Mauro Conti et coll. a examiné la sécurité et la confidentialité de Bitcoin, y compris les
failles existantes, qui entraînent divers risques de sécurité lors de la mise en œuvre du
système Bitcoin [48].
 Li et coll. a étudié les risques de sécurité des systèmes blockchain populaires, passé en
revue les cas d'attaques subis par la blockchain et analysé les vulnérabilités exploitées
dans ces cas [49].

En nous basant sur ce qui précède et du niveau de nos connaissances, un seul auteur à l’instar de
Niclas Kullig (en Août 2020) a mis sur pied une solution qui sécurise les données dans un réseau
d’IoT à l’aide de la blockchain mais cette solution s’avère avoir des limites. Ce manquement est
l’objet du travail que nous effectuons dans notre projet de fin d’étude. Ainsi notre projet va
consister à mettre en place un prototype dans lequel nous montrerons comment les données une
fois stockée dans la blockchain ne peuvent plus être hackée et simuler une attaque afin de
prouver l’efficacité de celle-ci.

REDIGE PAR MANGA JOSEPHA CHRISTIE 29


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Conclusion
Nous avons présenté dans ce chapitre les différents mots clés de notre projet à savoir
blockchain : son fonctionnement, les types de blockchain et ses applications, ensuite une ville
intelligente : ses caractéristiques, ses critères et ses avantages, et enfin l’Internet des objets : son
fonctionnement, ses protocoles, et son domaine d’applications afin de permettre une meilleure
compréhension, par la suite les différents travaux qui ont été faits concernant la sécurité des
données. Dans le chapitre suivant il sera question de présenter les méthodes permettant de
résoudre le problème énoncé, ce qui conduira l’étude à la conception de la solution.

REDIGE PAR MANGA JOSEPHA CHRISTIE 30


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

II. CHAPITRE II: METHODOLOGIE DE


RECHERCHE

Introduction

REDIGE PAR MANGA JOSEPHA CHRISTIE 31


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
La recherche scientifique est un processus dynamique ou une démarche rationnel
permet d’examiner des phénomènes, des problèmes à résoudre, et d’obtenir des réponses précises
à partir d’investigations. Cette partie est particulièrement importante car c’est dans celle-ci que
nous décrirons les méthodes permettant de résoudre le problème énoncé au chapitre précédent. Il
sera donc question dans cette partie tout d’abord de parler des inconvénients de sauvegarder les
données dans le cloud ensuite présenter la blockchain EOS que nous allons utiliser pour mettre
sur pied notre solution, les concepts de l’internet des objets dans la ville intelligente et enfin
l’architecture de notre solution et de sa mise en œuvre.

II.1 Sauvegarde des données


II.1.1 Inconvénients des données IoT dans le cloud
Le stockage en nuage s’avère être une alternative intéressante et puissante aux solutions de
stockage traditionnelles à bien des égards. Cependant, il existe des scénarios dans lesquels la
sauvegarde des données dans le Cloud est associée à des inconvénients. D’abord, il y a la
dépendance de la connexion Internet ou de la connexion intranet respective au serveur cloud
privé interne. D’une part, la stabilité joue ici un rôle important, car si la connexion ne fonctionne
pas, l’accès au stockage Cloud est également refusé. D’autre part, la bande passante disponible
est cruciale pour la bonne transmission des données, qui peut devenir problématique, en
particulier un accès au réseau mobile. Le stockage en nuage présente également les
inconvénients suivants [50] :
 Dépendance du fournisseur : lorsque vous choisissez une solution de stockage Cloud
externe, vous dépendez automatiquement du fournisseur choisi. Des modifications non
souhaitées de l’offre ou l’interruption du service sont des éventualités à ne pas exclure.
 Sécurité : l’envoi de données à travers les frontières du réseau pose des risques de
sécurité, tous les fournisseurs n’offrent pas le cryptage des données stockées. En outre,
l’infrastructure informatique utilisée (par le fournisseur) est une cible attrayante pour les
attaques.

 Protection des données : En matière de protection des données, le stockage des données
dans le cloud est fondamentalement problématique. Etant donné que les serveurs des

REDIGE PAR MANGA JOSEPHA CHRISTIE 32


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
fournisseurs sont situés dans différents pays, le stockage des données des utilisateurs
n’est souvent pas compatible avec les directives légales applicables de tels ou tels pays.

II.1.2 Blockchain et son utilité dans le stockage


La technologie Blockchain sera utilisée pour créer de nouveaux réseaux décentralis
stockage de données, redonnant ainsi à l’utilisateur final le pouvoir de choisir. La
décentralisation du stockage de la blockchain peut avoir plusieurs avantages financiers
supplémentaires, tels que la possibilité pour l’utilisateur d’économiser de la bande passante
puisque les fichiers sont stockés et téléchargés à partir de plusieurs nœuds au lieu d’un seul
serveur. Ceci est dû au fait que les données sont stockées sur des dizaines de nœuds individuels,
répartis intelligemment dans le monde entier, sans qu’aucune entité centrale n’ait besoin de
contrôler l’accès aux fichiers d’un utilisateur, ce qui améliore la sécurité et réduit les coûts grâce
au stockage décentralisé des fichiers. Bien que l’évolutivité actuelle du réseau doive encore
évoluer pour s’adapter à des infrastructures de stockage à grande échelle, nous pouvons
facilement envisager une industrie où les données fragmentées et cryptées sont supportées par un
réseau de nœuds décentralisés d’une manière beaucoup plus conviviale et rentable que les
solutions actuelles de base de données centrale [51]. Une autre façon dont les cas d’utilisation de
la blockchain pourraient révolutionner les systèmes de stockage de fichiers actuels est d’utiliser
ce que l’on appelle une ” couche incitative “. Cela signifie que bien que les données ne soient pas
réellement stockées dans un ledger décentralisé, le réseau de stockage concerné les utilise pour
traiter les paiements d’abonnement, éviter les taux de change fixes et stocker les informations
d’accès. L’utilisation de ce grand livre pour interagir avec un projet de blockchains de stockage
bénéficierait à l’utilisateur final en améliorant les temps de règlement ainsi qu’en augmentant la
confidentialité et la fiabilité grâce à un réseau décentralisé et à une tenue des dossiers
transparente. Une telle flexibilité et la possibilité de réseaux de stockage centrés sur l’utilisateur
signifient qu’en déplaçant leurs données vers un stockage de données en chaîne bloquée, les
utilisateurs pourraient également bénéficier d’un système plus agile et personnalisable, en étant
capables de manipuler des paramètres tels que la vitesse de récupération ou la redondance qui est
adjacente à leurs besoins particuliers. Avec un système de jeton de stockage, l’économie de
réseau peut être mise à profit pour inciter les nœuds individuels à maintenir le réseau et à
partager une partie des capacités de stockage. Tout comme le stockage de contenu à des fins
personnelles, la technologie de la chaîne en bloc dans le stockage de fichiers peut également

REDIGE PAR MANGA JOSEPHA CHRISTIE 33


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
permettre aux utilisateurs de télécharger et de partager et de monétiser facilement leur contenu,
tout en réduisant les coûts liés au recours à une tierce partie centralisée ou à d’autres
intermédiaires coûteux.

II.1.3 Différents types de blockchain


Il existe plusieurs types de blockchain à savoir :

 Bitcoin : Lancée en 2009 par Satoshi Nakamoto, pseudonyme de la personne ou du


groupe ayant créé le bitcoin, pour sécuriser les paiements via un réseau peer-to-
peer. Le bitcoin vise à mettre un terme à la nécessité d’un tiers de confiance, à
démocratiser les monnaies et à assurer l’anonymat des transactions.
 Litecoin : Lancée en 2011 son objectif est d’instaurer une alternative aux devises
traditionnelles, exploitable au quotidien pour les utilisateurs. Pour pouvoir réaliser
des paiements instantanés dans le monde, elle améliore le bitcoin en gommant
certaines lacunes notamment les lenteurs du processus de validations des
transactions
 Ripple : C’est un réseau pair-à-pair décentralisé qui fournit un protocole de
paiement numérique aux institutions financières. Il permet un transfert d'argent
numérique transparent, que vous souhaitiez envoyer des fonds conventionnels en
dollars ou des crypto-devises comme le Bitcoin. Le réseau a son jeton désigné : le
XRP. En termes de capitalisation boursière, Ripple est actuellement la quatrième
crypto-devise la plus importante. L'une des particularités de XRP est que tous les
jetons sont pré-minés.
 Stellar : Réseau de paiement qui fonctionne de la même manière que RippleNet et
peut traiter des transactions dans plusieurs devises. Il est soutenu par la
cryptomonnaie Lumens (XLM), communément appelée. Le Lumens peut être
utilisé pour réaliser des paiements sur le réseau mais joue également un rôle anti-
spam, puisque chaque transaction exige des frais minimes, qui sont versés dans la
cryptomonnaie.
 Ethereum : Permet aux utilisateurs de coder et d’émettre leurs propres applications
décentralisées (dApps) et de créer des contrats « intelligents » qui appliquent leurs

REDIGE PAR MANGA JOSEPHA CHRISTIE 34


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
clauses automatiquement. De petits montants d’éther sont détruits lorsque les
transactions sont traitées, protégeant ainsi le réseau contre les hackers.
 BitcoinCash : Créée en août 2017 suite à une scission du bitcoin. Elle a eu lieu en
réponse au ralentissement de la vitesse des transactions bitcoin et à l’incapacité du
réseau de parvenir à un consensus sur les améliorations proposées. La taille de bloc
minimum du bitcoin cash est de 8 Mo, par rapport à 1 Mo pour le bitcoin,
permettant de traiter un plus grand nombre de transactions par seconde.
 EOS : Propose des outils et des services aux développeurs pour leur permettre de
créer des dApps, avec des comptes d’utilisateurs, authentification et bases de
données. La responsabilité du traitement et des autres opérations est répartie sur
l’ensemble du réseau, ce qui selon les concepteurs permettra de traiter plusieurs
millions de transactions par seconde à l’avenir.
 Tron : vise à établir un système de partage pour les différentes industries de
divertissement et l’avenir des plateformes des médias sociaux distribués. Tout
comme Ethereum ou EOS, toutes les transactions Tronix sont enregistrées dans un
grand livre public et peuvent être suivies via l’explorateur Tronix. TRX est utilisé
pour voter pour les Supers Représentants et pour obtenir de la bande passante.
Lorsqu’un utilisateur gèle un TRX de lui-même, il reçoit la Tron Power (TP), avec
laquelle il peut voter pour un super-représentant. En principe, les transactions sur
le réseau Tron sont gratuites. Il est important de noter, cependant, que chaque
compte sur le réseau n’est autorisé qu’une seule transaction gratuite toutes les 10
secondes pour assurer le bon fonctionnement du réseau. La bande passante est
nécessaire pour envoyer des transactions plus fréquemment.
 Steem : Il s’agit d’une blockchain qui permet de partager des contenus médias
écrits (blogs, articles, commentaire) et qui récompense ses contributeurs. Le
paiement des récompenses s’effectue via la blockchain de Steem, là où sont
stockés tous les écrits. Chaque fois qu’un utilisateur vote pour un contenu, le
créateur du contenu est récompensé. Si vous figurez parmi les premiers membres à
interagir avec un article, via un vote ou un commentaire, vous êtes également
rémunéré. Le réseau Steem récompense tous ses membres pour chaque action
effectuée sur le réseau.

REDIGE PAR MANGA JOSEPHA CHRISTIE 35


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
 Ethereum Classic : Née en 2016 suite au piratage d’un smart contract sur le réseau
Ethereum qui a provoqué le détournement de plus de 10% des tokens ETH en
circulation. C’est une blockchain modulaire sans autorisation, décentralisée,
sécurisée et résistante à la censure. L'objectif sous-jacent et l'infrastructure
d'Ethereum Classic sont les mêmes : fournir une plateforme publique pour gérer
des contrats intelligents et des applications décentralisées ou dApps. Le jeton de
cette blockchain est donc Ethereum Classic (ETC) [52].
 BitShares : Fournit un échange d'actifs décentralisé intégré, similaire à celui de la
Bourse de New York, mais pour les crypto-monnaies et sans qu'il soit nécessaire
de faire confiance à une autorité centrale pour gérer tous les fonds, qui peut
effectuer des transactions à l'aide d'un réseau international d'ordinateurs auquel
n'importe qui peut participer. BitShares fournit également un jeton de crypto-
monnaie appelé "BTS", qui peut être transféré entre comptes et est utilisé pour
collecter des frais pour les opérations du réseau et comme garantie pour des prêts.
Elle fonctionne grâce à l’algorithme de consensus preuve d’enjeu déléguée en
abrégé DPoS (Delegated Proof of Stake). Les membres votent pour élire 101
délégués qui deviendront les nœuds validateurs du réseau.
Tableau II-3: Récapitulatifs des différentes blockchains

Lancement Algorithme de Cryptomonnaie Transactions


consensus associée maximales par
secondes
Bitcoin 2009 PoW Bitcoin 7
LiteCoin 2011 PoW Litecoin 56
Ripple 2012 / Ripple 1500
Bitshares 2014 DPoS BTS 100.000
Stellar 2014 / Stellar 1000
Ethereum 2015 PoW Ether 20
Ethereum Classic 2016 PoW ETC 20
Steem 2016 DPoS Smart Media 10.000
Token
BitcoinCash 2017 PoW BitcoinCash 60

REDIGE PAR MANGA JOSEPHA CHRISTIE 36


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
(BCH)
Tron 2017 DPoS Tronix 1000
EOS 2018 DPoS EOS 1000+

II.2 Blockchain EOS


EOS est une plateforme blockchain ultrascalable qui permet de déployer des
des applications décentralisées, à l'instar d'Ethereum. Elle est développée par la firme Block.one,
fondée par Daniel Larimer [53]. Elle a été choisie pour notre solution car elle présente des
avantages à l’instar de la scalabilité et de la vitesse d’exécution lors d’une transaction. Pour
comprendre la blockchain EOS évoquée tout au long de ce document nous mettrons un accent
sur son fonctionnement, ensuite les fonctions de hachage et enfin la signature numérique.

II.2.1 Fonctionnement d’EOS


Dans la blockchain EOS nous avons 21 délégués qui valident les blocs. Les détenteurs de
tokens élisent leurs délégués en votant via une transaction spéciale. Ce vote est pondéré au
prorata de la quantité de tokens qu’ils consacrent à cet effet dans le cas d’EOS, un token donne
droit à trente votes différents. Plus vous avez de tokens plus votre vote est important. Les
producteurs de blocs potentiels soumettent leur candidature. Ils doivent bien sur prouver que leur
matériel est suffisamment robuste pour assurer un fonctionnement continu et que leur
engagement envers l’écosystème est maximal. Les candidatures sont libres et chacun peut
proposer la sienne. La liste des candidats pour EOS est régulièrement mise à jour.

REDIGE PAR MANGA JOSEPHA CHRISTIE 37


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.11: Scénario d’élection des délégués


Les détenteurs de tokens votent pour leurs délégués favoris selon les modalités suivantes :
- Les tokens servant à voter sont mis sous séquestre pour une durée minimale de
3jours.
- Chaque token mis sous séquestre pour une durée de 3 jours maximum. Il donne accès
à un droit de vote. Il n’est pas possible de voter deux fois pour le même délégué avec
le même token.
- A chaque ronde de production de blocs, les participants peuvent voter à nouveau pour
les délégués de leur choix. Les votes sont reconductibles tant que les tokens de
votants sont sous séquestre
- Le nombre de candidatures pour devenir délégué est illimité mais seuls les
producteurs de blocs qui forgent au moins 100 EOS par jour (environ 0,49 % des
votes) toucheront une récompense pour leur rôle. Les 21 délégués ayant reçu le plus
de votes de la part de la communauté ont alors le droit d’inscrire les blocs sur la
chaine.

REDIGE PAR MANGA JOSEPHA CHRISTIE 38


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
- Si un des délégués est éjecté de la liste pour un mauvais comportement ou n’est pas
capable de produire un bloc dans un intervalle de temps donné alors le délégué
potentiel placé le plus haut de la liste prendra sa place.

Une fois que le réseau a déterminé les producteurs de blocs, la ronde de production se déroule
ainsi :
- L’algorithme va sélectionner de manière aléatoire les séquences des producteurs de
blocs à venir. Ceux-ci ont 3 secondes chacun pour produire leur bloc. Produire un
bloc consiste à réunir les transactions des utilisateurs et signer ce bloc (avec la clé
privée du délégué producteur).
- Une fois le bloc produit, il est soumis à la validation des autres délégués. (2/3+1) des
délégués doivent approuver un bloc pour qu’il soit valide et inscrit sur la chaine.

Si un des délégués produit un bloc hors de l'intervalle temporel pour lequel il est désigné, ce bloc
est invalide. Dans le cas d'un fork de la blockchain, à l'instar de la preuve de travail, c'est la
chaîne la plus longue qui sera considérée comme valide par l'ensemble du réseau. Pour cette
illustration, le nombre de producteurs de blocs est réduit à trois : les producteurs A, B et C.
Chaque bloc sera donc produit de manière aléatoire par A, B ou C, et validé par l'ensemble des
trois délégués (c'est une simplification, en réalité les délégués sont au nombre de 21 et les blocs
doivent être approuvés par les deux-tiers des délégués plus un). Ici, c'est le producteur C qui
départage les cas limites.

 Fonctionnement normal
Lorsque le réseau opère normalement, l'algorithme assigne un intervalle temporel de trois
secondes à chaque producteur de bloc, durant lequel il peut créer un bloc et le soumettre aux
autres validateurs. Tout bloc soumis aux validateurs hors de l'intervalle temporel assigné à
son producteur sera rejeté. Si aucun producteur ne rate son tour, ce sera toujours la chaîne la
plus longue qui sera produite ainsi.

Figure II.12: Fonctionnement normal

REDIGE PAR MANGA JOSEPHA CHRISTIE 39


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
 Fork minoritaire
Dans le cas où une partie minoritaire des acteurs - jusqu'à 1/3 des producteurs de blocs - produit
une chaîne de blocs différente (comportement malicieux ou dysfonctionnement technique), le
temps passé à produire ces blocs sera toujours plus élevé que le temps que passera le reste des
participants à construire la chaîne majoritaire (1 bloc toutes les 9 secondes dans cet exemple,
contre 2 blocs toutes les 9 secondes pour la chaîne "honnête"). Ce sera donc toujours la chaîne
"honnête" qui sera la plus longue, et le reste du réseau considérera donc cette dernière comme
valide.

Figure II.13:Fork minoritaire


 Double production par une minorité déconnectée
Ici encore, si une minorité produit plusieurs forks, le temps passé à créer ces blocs sera toujours
supérieur à celui qui est requis pour que la majorité des producteurs construise une chaîne valide.
Ces forks seront donc toujours invalides.

Figure II.14:Double production par minorité déconnectée


 Fragmentation du réseau
En cas de mauvaise connectivité entre les producteurs, il est possible de se retrouver avec
plusieurs chaînes. Si aucune d'entre elles n'a la majorité des votes des producteurs, c'est la chaîne
minoritaire la plus longue qui prend le dessus. Si deux chaînes majoritaires sont de longueur
équivalente, lors de la reconnexion, les producteurs ayant forgé une chaîne minoritaire choisiront
de rejoindre l'une des chaînes majoritaires, et seule l'une d'entre elle prendra alors le dessus.

REDIGE PAR MANGA JOSEPHA CHRISTIE 40


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.15 Fragmentation du réseau


 Double production par une minorité connectée
Dans ce cas de figure, une minorité de producteurs décide de produire plusieurs blocs dans le
même intervalle temporel. Lors de la prochaine ronde, le producteur suivant devra alors choisir
n'importe laquelle des chaînes alternatives proposées, en faisant alors la chaîne la plus longue. Le
reste des nœuds choisira donc cette dernière : cela permet de s'assurer que, quel que soit le
nombre de blocs "alternatifs" produits par la minorité malicieuse, ils ne feront partie de la plus
longue chaîne que durant un unique intervalle temporel.

Figure II.16: Double production par une minorité connectée


 Gouvernance et mise à jour du protocole EOS
La gouvernance d'EOS repose sur les délégués élus par les détenteurs du token. La mise à jour du
protocole est effectuée selon les modalités suivantes :

1. Un changement est proposé par un producteur de bloc. Il doit recueillir l'approbation de


17 délégués sur 21.
2. L'approbation de 17 délégués sur 21 doit être maintenue durant 30 jours.
3. Les producteurs de blocs doivent alors adopter les changements du code source et
soumettre ce dernier sur la blockchain.
4. Le changement doit encore être approuvé par au moins 17 délégués sur 21 durant 30
jours consécutifs de plus.

REDIGE PAR MANGA JOSEPHA CHRISTIE 41


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
5. Tous les nœuds complets ont alors une semaine pour adopter les changements.
6. A la fin de ce délai, les nœuds qui ne suivent pas le nouveau protocole sont
automatiquement exclus.

II.2.2 Preuve d’enjeu déléguée


Mécanisme de consensus reposant sur le vote démocratique des détenteurs du token. L’idée est
de confier la validation des blocs à un groupe restreint d’entités appelés les délégués ou témoins.
Seuls les délégués ont la possibilité de valider les blocs. Ces délégués sont élus par les détenteurs
du token natif de la blockchain. Seuls ceux qui possèdent la monnaie EOS peuvent voter. Ces
derniers élisent les nœuds au pouvoir suprême : celui, de valider et d’inscrire des blocs sur la
chaine. Ils vont élire les délégués. Il a été imaginé pour répondre au trilemme des blockchains.
Dans DPoS, toute personne qui détient des jetons sur une blockchain intégrée au logiciel EOS
peut sélectionner les producteurs de blocs à travers un système de vote d'approbation continue.
N'importe qui peut participer à l'élection des producteurs en bloc et on leur donnera la possibilité
de produire des blocs proportionnels au total des votes qu'ils reçoivent par rapport à tous les
autres producteurs.

II.2.3 Horodatage
Les blocs ainsi constitués de plusieurs transactions « signées » par clés publiques sont
ensuite horodatés par leur auteur. Cet aspect, appelé horodatage, est essentiel car il permet la
datation relative des blocs ainsi constitués, la blockchain formant à cet égard une sorte de
chronologie dans laquelle les transactions sont classées les unes après les autres. L'accès à
l'historique du registre étant totalement ouvert, les auteurs de tel ou tel bloc peuvent se trouver à
n'importe quel point tout autour du globe. Plusieurs blocs pourraient donc être constitués au
même moment, de sorte que la même transaction ou deux transactions incompatibles puissent se
diffuser de pair à pair.
II.2.4 Signature numérique
La signature numérique aussi appelé Signature électronique est un procédé permetta
garantir l’authenticité de l’expéditeur et de vérifier l’intégrité du message reçu. Elle utilise à la
fois la cryptographie asymétrique et les fonctions de hachage. C’est en effet par l’association de
ces deux techniques que nous pouvons obtenir les cinq caractéristiques d’une signature :
authentique, infalsifiable, non réutilisable, inaltérable, irrévocable [54].

REDIGE PAR MANGA JOSEPHA CHRISTIE 42


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

 Fonction de hachage
Chaque bloc, outre les transactions et l'horodatage, possède un identifiant qui prend la forme d'un
« hash » permettant de relier les blocs les uns aux autres. Cet hash est toujours le résultat du «
hachage » du bloc précédent. En informatique, les fonctions de hachage permettent de convertir
n'importe quel ensemble de données numériques en un hash, c'est-à-dire en une courte suite
binaire qui lui est propre. L'algorithme de compression utilisé à cet effet est appelé fonction de
hachage cryptographique.

Figure II.17: La structure d'une blockchain et le rôle des hashs [55]

Dans le cas d'une blockchain, le hachage est effectué à partir du contenu du bloc, c'est-à-dire le
hash du bloc précédent, un certain nombre de transactions et un horodatage. Il est impossible de
prévoir quelle valeur aura le hash d'un certain ensemble de données même en ayant connaissance
des hashs d'ensembles de données extrêmement proches. La simple rupture de casse d'une lettre,
sur un texte comprenant plusieurs dizaines de milliers de caractères, produit un nouveau hash ne
présentant aucune proximité avec le précédent. Cette caractéristique des fonctions de hachage
rend toute modification du contenu d'un bloc immédiatement visible dans les blocs suivants,
même si cette modification est minime. En effet, le hash d'un bloc modifié est nécessairement
très différent. Étant donné que ce nouveau hash est intégré au bloc suivant, son hash varie lui
aussi. Comme l'indique le graphique ci-après, la modification d'une simple transaction au sein
d'un bloc suffit à changer les hashs de tous les blocs suivants.

REDIGE PAR MANGA JOSEPHA CHRISTIE 43


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.18: Rôle du hachage dans l’intégrité des données [56]


La modification étant visible dans l'ensemble des blocs suivants, les blocs sont tous liés entre eux
cryptographiquement. En conséquence, modifier le contenu d'un bloc suppose de recalculer les
hashs de tous les blocs qui le suivent. Les algorithmes de hachage les plus utilisés actuellement
sont :

- MD5 (Message Digest 5) : développé en 1991 par Rivest il permet de créer une
empreinte digitale de 128 bits à partir d’un texte de taille arbitraire en le traitant par blocs
de 512 bits. Il est courant de voir des documents en téléchargement sur Internet

REDIGE PAR MANGA JOSEPHA CHRISTIE 44


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
accompagnés d’un fichier MD5, il s’agit du condensé du document permettant de vérifier
de ce dernier.

- SHA (Secure Hash Algorithm) crée des empreintes d’une longueur de 160 bits SHA-1 est
une version améliorée datant de 1994 et produisant une empreinte de 160 bits à partir
d’un message d’une longueur maximale de 264 bits en le traitant par blocs de 512 bits.

 Utilisation des algorithmes asymétriques


Chaque transaction a recours à la cryptographie asymétrique, pour sécuriser les échanges
d'informations car elle permet d'assurer l'origine des données tout en préservant leur
confidentialité. Elle fonctionne, pour chaque utilisateur, avec une paire de clés, l'une privée et
l'autre publique. Cette paire de clés présente le double intérêt de chiffrer ou de signer un
message. Dans le cadre du Bitcoin, seule sa fonction de signature est utilisée. Dans ce système,
un utilisateur crée une suite aléatoire de chiffres, appelée clé privée. À partir de celle-ci un
algorithme permet de produire une seconde clé appelée clé publique. Pour le bitcoin, il s'agit d'un
algorithme de signature numérique à clé publique dit à courbes elliptiques, appelé Elliptic Curve
Digital Signature Algorithm (ECDSA). Par la suite, cette clé privée permettra de signer un
message. Les autres utilisateurs du réseau qui connaissent la clé publique correspondante
pourront alors vérifier qu'il est bien l'auteur de ce message.

Figure II.19: Schéma explicatif de la paire clé publique/clé privée

Même si elles sont liées de manière unique, la clé publique ne permet pas de retrouver la clé
privée qui en est à l'origine. La clé publique peut donc être diffusée largement. Ainsi, lors d'une
transaction sur le réseau, l'émetteur va utiliser la clé publique du récepteur pour lui transférer un
certain nombre de Satoshi. Ces derniers représentent la plus petite fraction de bitcoin, un Satoshi

REDIGE PAR MANGA JOSEPHA CHRISTIE 45


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
équivalent à 0,00000001 bitcoin. Tous les membres du réseau pourront alors lire la transaction et
vérifier que l'émetteur était effectivement le dernier possesseur. Seul le récepteur pourra signer la
transaction avec sa clé privée pour en prouver la possession.

Scénario : Alice souhaite envoyer un document signé à bob.

 Tout d'abord, elle génère l'empreinte du document au moyen d'une fonction de hachage.

 Puis, elle crypte cette empreinte avec sa clé privée.

Figure II.20:Cryptage d’un document

 Elle obtient ainsi la signature de son document. Elle envoie donc ces deux éléments à
Bob

Figure II.21:Envoie du document à Bob

 Pour vérifier la validité du document, Bob doit tout d'abord déchiffrer la signature en
utilisant la clé publique d'Alice. Si cela ne fonctionne pas, c'est que le document n'a pas
été envoyé par Alice.

 Ensuite, Bob génère l'empreinte du document qu'il a reçu, en utilisant la même fonction
de hachage qu'Alice (On supposera qu'ils suivent un protocole établi au préalable).

 Puis, il compare l'empreinte générée et celle issue de la signature.

REDIGE PAR MANGA JOSEPHA CHRISTIE 46


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Figure II.22 : Comparaison entre l’empreinte et celle issue de la signature
 Si les deux empreintes sont identiques, la signature est validée. Cela signifie que :
o C'est Alice qui a envoyé le document,
o Le document n'a pas été modifié depuis qu'Alice l'a signé.
 Dans le cas contraire, cela peut signifier que :
o Le document a été modifié depuis sa signature par Alice,
o Ce n'est pas ce document qu'Alice a signé
II.2.5 Modèle de Sécurité d’EOS
Nous présentons ici un modèle de sécurité à plusieurs niveaux qui résume le qui et le quoi
en tant que préoccupation de l'application, distincte de la manière dont les signatures de
transactions réelles sont obtenues par des authentificateurs de confiance (signataires de
transactions). Nous présentons d'abord le concept de Manifeste d'application qui permet de
valider la source de l'application, en répondant à la question "qui représentez-vous
légitimement ? Ensuite, nous introduisons le contrat d'affirmation installé sur la chaîne de
destination qui fournit l'assurance que les transactions affichées par l'application sont légitimes
en validant le contenu de la transaction par rapport au contenu du manifeste d'application sur la
chaîne. Par souci de simplification, nous présentons les manifestes de demande et le contrat
d'affirmation comme ayant les deux objectifs clairement définis ci-dessus. En réalité, ils
partagent la responsabilité avec une série d'outils connexes comme les rendus Ricardian, les
protocoles de transport d'autorisation et autres, pour aider à fournir une expérience sécurisée et
de confiance aux utilisateurs de la chaîne de blocage.

Le Manifeste de demande et le Contrat d'affirmation fonctionnent conjointement avec des


authentificateurs conformes qui ont la capacité d'afficher les contrats Ricardian afin de résoudre
les problèmes de qui et de quoi décrits ci-dessus. Il est important de noter que, selon ce modèle,
les authentificateurs ne communiquent pas directement avec la chaîne de blocage au nom de la
demande. Les authentificateurs signent les transactions de manière sécurisée au nom de
l'utilisateur et renvoient la transaction à l'application, qui la diffuse ensuite à la chaîne respective.
À titre de référence, la figure 1 est un résumé du flux que nous détaillons ci-dessous

REDIGE PAR MANGA JOSEPHA CHRISTIE 47


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.23:Modèle de sécurité de la blockchain Eos

II.3 Concepts de l’Internet des objets dans une ville intelligente

La ville intelligente consiste globalement à offrir un mode de vie plus efficace et une
meilleure qualité de vie à leurs résidents. Ce concept d’origine anglo-saxon n’est pas nouveau,
mais commence à se développer de plus en plus en Europe. Les pionnières dans le domaine sont
les mégalopoles d’Asie, comme Singapour ou Hong-Kong. Les villes intelligentes utilisent des
dispositifs de l’Internet des objets tels que des capteurs, des lumières et des compteurs connectés
pour collecter et analyser les données des habitants. Les villes en question utilisent ensuite ces
données pour améliorer l’infrastructure, les services publics, négocier des prix auprès des
fournisseurs.

II.4 Architecture de la solution


 Architecture générale de la solution

Cette figure montre la structure de base de la solution à mettre en œuvre. Au centr


l’architecture générale se trouve un dispositif d’internet des objets tel qu’un micro-ordinateur
capable de communiquer sur Internet. Des capteurs sont connectés au micro-ordinateur. Ils
peuvent être de simples transducteurs pour des propriétés physiques telles que la température,

REDIGE PAR MANGA JOSEPHA CHRISTIE 48


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
l’humidité, la luminosité, la pression ou des propriétés chimiques telles que le PH ou la force
ionique ou pour d’autres propriétés telles que la vitesse ou propriétés matériaux. Le micro-
ordinateur stocke temporairement les données de mesure collectées par les capteurs. Ces données
de mesure sont dotées d’un horodateur pour identifier clairement l’heure de mesure. Ces
ensembles de données sont envoyées via internet à une blockchain pour être stockées de manière
permanente.

Figure II.24: Architecture générale de la solution

 Architecture détaillée de la solution


Le capteur de température DHT11 collecte les données et les envoie au PC via l’Arduino. Une
fois que c’est fait les données sont stockées dans un fichier texte. Une variable est créée et c’est
dans celle-ci que la dernière valeur du fichier texte est stockée. Par la suite cette variable est
stockée de manière permanente dans la blockchain EOS.

REDIGE PAR MANGA JOSEPHA CHRISTIE 49


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.25: Stockage des données dans un fichier texte


Le Raspberry Pi 3+ permet de récupérer les données qui sont stockées dans la blockchain EOS.
Pour se faire, un client se connecte à celle-ci via le Raspberry Pi3+.

Figure II.26: Récupération des données par un client


II.4.1 Mise en œuvre
Cette section explique le matériel et les logiciels utilisés pour mettre en œuvre l’architecture.
L’ordinateur monocarte Raspberry Pi3+, un capteur de température et d’humidité DHT11, un
serveur et Arduino sont utilisés. Le logiciel ‘’eosio’’ est utilisé pour simuler la chaine de blocage
EOS. Une interface utilisateur graphique est utilisée car elle présente des avantages par exemple
en termes de lisibilité des blocs ou des transactions. En outre l’environnement de développement
‘’cdt’’ est utilisé pour l’implémentation afin d’écrire de compiler et de migrer les smart contracts

REDIGE PAR MANGA JOSEPHA CHRISTIE 50


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
dans le langage de programmation ‘’c++’’. Les commandes du shell linux et le langage de
programmation ‘’c++’’ sont utilisés pour écrire le script qui exécute les principales tâches du
composant. La bibliothèque ‘’eospy’’ doit être incluse pour utiliser le capteur et est nécessaire
pour communiquer avec la blockchain EOS.
II.4.1.1 Outils de travail
L’exécution automatique des tâches a nécessité que nous fassions usage des connaissances
acquises tout au long de la formation notamment en assemblage et microcontrôleur.

 Raspberry Pi version 3+ : est utilisé comme dispositif pour accéder aux données se
trouvant dans la blockchain. Grâce à son processeur relativement puissant et à
d’autres caractéristiques, le Raspberry Pi peut être considéré comme un ordinateur à
part entière malgré sa petite taille, et peut exécuter plusieurs logiciels complexes en
parallèle. En outre le Raspberry Pi est équipé d’une barre avec des broches General
Purpose entrée /sortie (GPIO). Une large gamme de périphériques peut être connectée
à ces broches. Cela fait du Raspberry Pi un ordinateur plus que convenable.

Figure II.27:Raspberry pi3+

 Un capteur de température DHT11 : Le capteur de température et d’humidité DHT11


est responsable de l’acquisition des données, ces données sont envoyées au serveur
via un Arduino. Le serveur récupère les données de mesure des capteurs et les stocke
temporairement dans un fichier texte. Il est disponible dans la version 3 broches. La
documentation du DHT11 indique qu’une résistance de 10 kilos ohm doit être
connectée comme résistance de pull-up entre les broches de données et de tension
d’alimentation.

REDIGE PAR MANGA JOSEPHA CHRISTIE 51


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.28:Capteur DHT11

 Arduino
C’est une carte électronique équipé d’un microcontrôleur. Dans notre solution,
Arduino nous permet de faire transiter les données de mesure provenant des
capteurs vers l’ordinateur dans lequel est implémenté la blockchain EOS.

Figure II.29:Arduino

Les modules utilisés sont récapitulés dans le tableau ci-dessous :


Tableau II-4: Récapitulatif des équipements

Nom du Module Rôle Image


Arduino Passerelle entre le capteur
de température et le
serveur. C’est par lui que
transite les données
collectées par le capteur.
Capteurs de Collectent les données de
température mesures

REDIGE PAR MANGA JOSEPHA CHRISTIE 52


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Serveur Stocke les données
temporairement et les
envoient à la blockchain
via internet

Raspberry Pi 3 Dispositif central


d’exécution et de
communication et permet
d’exécuter plusieurs
logiciels en parallèle

II.4.2.2 Environnement de travail


Pour notre prototype nous avons utilisé les logiciels et langages suivants :

 Python : Un langage de programmation dynamique de haut niveau, interprété et


polyvalent qui se concentre sur la lisibilité du code. Largement utilisé dans les grandes
organisations en raison de ses multiples paradigmes de programmation. Ils impliquent
généralement une programmation fonctionnelle impérative et orientée objet. Il a des
applications diversifiées dans les sociétés de développement de logiciels telles que les
jeux, les cadres et applications Web, le développement de langage, le prototypage etc.
Cela fournit au langage une pléthore plus élevée que les autres langages de
programmation utilisés dans l'industrie. Certains de ses avantages sont : Il fournit de
grandes bibliothèques standard qui incluent des domaines tels que les opérations de
chaîne, Internet, les interfaces et les protocoles du système d'exploitation. Offre des
opportunités IoT Étant donné que Python constitue la base de nouvelles plates-formes
comme Raspberry Pi, il trouve l'avenir brillant pour l'Internet des objets. C'est un moyen
de connecter la langue avec le monde réel.
 Ubuntu version 16.04 : est un système d’exploitation basé sur Debian GNU/Linux et
sponsorisé par la société Canonical. Il est une distribution GNU/Linux, c’est-à-dire un
regroupement de logiciels libres qui forment un tout cohérent, modulable et adapté à
l’utilisateur.
 EOS.IO : Offre une plateforme permettant de déployer et héberger les applications
décentralisées via l'utilisation de contrats intelligents

REDIGE PAR MANGA JOSEPHA CHRISTIE 53


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

 Langage de programmation C++ : est un langage de programmation le plus utilisé par


les développeurs. Il permet d'aborder le développement sous plusieurs paradigmes :
programmation générique, procédurale et orientée objet. C'est un langage compilé, ce qui
signifie que le code source est traduit en code objet, ou binaire pour que la machine
puisse l'exécuter. Il offre des avantages pour ses utilisateurs:
- Il fait partie des langages les plus puissants et les plus rapides. Cela explique son
succès dans le secteur concurrentiel des applications pour smartphone
- Très populaire, il est abondamment commenté et enseigné sur le web, à travers les
forums spécialisés et les plateformes de formation en ligne. Bien que ce ne soit
pas le langage le plus simple, il reste, de ce fait, accessible à des débutants en
auto-formation

II.4.2 Intégration basée sur C++ et la blockchain EOS


Pour interagir avec une chaine de blocage EOS en C++ nous avons besoin de la
bibliothèque eospy. Cette bibliothèque fournit un grand nombre de fonctions requises. Tout
d’abord l’adresse IP de la machine doit être saisie. Ceci est fait en utilisant Ubuntu. Nous devons
entrer l’adresse et le port, qui sont utilisés dans les paramètres du cdt. Ensuite le premier compte
dans le cdt est défini comme compte par défaut à partir duquel toutes les transactions sont
exécutées. Au début, le contrat intelligent doit être initialisé. Ce n’est qu’après qu’une instance
du contrat intelligent peut être appelée. Pour obtenir l’heure de la création d’un bloc ainsi qu’un
ensemble d’informations du bloc, la commande ’’ $ pycleos—url http://192.168.100.4:8888 get
account—account alice’ ’est utilisée et stockée dans la variable ‘’$t ‘’.

 Pourquoi utilise-t-on la blockchain comme solution ?


La technologie de la chaîne de production fait désormais l'objet d'une grande attention. Elle
peut révolutionner, optimiser l'infrastructure mondiale des technologies reliées entre elles par
l'internet. Cette technologie comporte essentiellement 4 composantes :

- Réseau de nœuds : Tous les nœuds connectés par l'internet, maintiennent toutes les
transactions effectuées sur un réseau de chaînes de blocs en collaboration et
l'authenticité d'une transaction est vérifiée par un protocole. Lorsqu'une nouvelle
transaction a lieu, ses enregistrements sont ajoutés au registre des transactions

REDIGE PAR MANGA JOSEPHA CHRISTIE 54


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
passées, ce qui est connu sous le nom de "mining". Les autres nœuds présents sur le
réseau, vérifient la preuve de travail.
- Système de base de données distribuées : La base de données est composée de blocs
d'informations et est copiée sur chaque nœud du système. Chaque bloc comporte
une liste de transactions, un horodatage et les informations qui se rapportent au bloc
précédent.
- Grand livre partagé : Le grand livre est mis à la disposition du public et est
incorruptible, c'est-à-dire qu'il est mis à jour chaque fois qu'une transaction est
effectuée.
- Cryptographie : les données sont liées par un mécanisme de cryptage qui empêche
les utilisateurs non autorisés d'y accéder ou de les altérer.
II.5 Méthodes d’évaluation
Entre les différents tests, une période d’attente est prévue pour s’assurer que tous les
participants au processus sont prêts pour le prochain test de mesure. L’ensemble du test consiste
en huit interactions différentes. Les données sont demandées au capteur puis communiquées en
retour, et les interactions appropriées ont lieu pour lancer et achever une transaction visant à
stocker les données dans la blockchain EOS. Grâce à l’instrumentation du code, le code du
script python est prolongé par les lignes nécessaires pour enregistrer les temps de mesure. Pour
les tets généraux, 1000 échantillons sont enregistrés afin de pouvoir faire une déclaration
représentative.

Secondes

Echantillons
Figure II.30:Evaluation des performances

 Vérification du bon fonctionnement du système

REDIGE PAR MANGA JOSEPHA CHRISTIE 55


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Trois conditions permettent de dire que notre solution fonctionne :

1. Le lancement du nœud avec keosd et nodeos fonctionne à travers les deux captures ci-
après

Figure II.31:Lancement des noeuds


2. La récupération de la variable $t qui représente la température dans le fichier output.txt
est bien insérée dans la table.

Figure II.32:Récupération de la variable $t


3. La lecture de la table est faite avec la dernière valeur récupérée qui est 27

REDIGE PAR MANGA JOSEPHA CHRISTIE 56


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure II.33: Lecture de la valeur de la température

Conclusion :

Nous avons tout au long de ce chapitre présenté le processus de mise en place d’un
prototype de sécurisation des données ainsi que les différents éléments qui entrent en jeu dans
son élaboration que sont la blockchain et l’internet des objets. Nous avons également décrit
comment les données sont stockées dans la blockchain ainsi que la manière dont les données sont
récupérées. Enfin les méthodes d’évaluation de notre prototype. Les résultats obtenus sur cette
partie feront l’objet du chapitre suivant.

REDIGE PAR MANGA JOSEPHA CHRISTIE 57


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

III. CHAPITRE III : RESULTATS ET


INTERPRETATIONS

REDIGE PAR MANGA JOSEPHA CHRISTIE 58


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Introduction
La partie résultat est celle qui est la plus importante car elle permet de connaître si notre
solution fonctionne et si elle remplit entièrement les objectifs fixés. Le travail que nous avons
effectué avait pour but de mettre en place un prototype d’internet des objets pour la sécurisation
des données à l’aide de la blockchain. Dans ce chapitre nous allons décrire le processus de
stockage des données dans la blockchain EOS, ensuite expliquer comment ces données peuvent
être récupérées par un utilisateur autorisé et enfin mettre en place une attaque et voir le
comportement de notre solution face à celle-ci. Nous étofferons enfin cette présentation par des
interprétations ou commentaires pour une meilleure compréhension.

III.1 Rappels des résultats attendus


Notre travail doit offrir les fonctionnalités suivantes :
 Crypter les données avant de les envoyer dans la blockchain EOS
 Stoker les données de façon permanente dans la blockchain EOS
 Récupérer les données dans une blockchain

III.2 Présentation
Au niveau des transactions, nous avons besoin de trois ressources pour utiliser le réseau EOS :
1. Du CPU
2. De la bande passante (bandwidth)
3. De la RAM
La RAM est une ressource payante, mais nous n’en avons besoin que pour le premier transfert
(pour occuper l’espace RAM qui enregistre le solde de votre compte). Le CPU et la bande
passante sont attribués à tous ceux qui ont des jetons EOS . Il existe plusieurs types de
portefeuille à savoir :

 Wallet desktop : SimplEOS est un wallet dédié EOS pour PC, Mac ou Linux. Scatter
permet de gérer bien d’autres aspects de la chaîne de blocs EOS. Les portefeuilles multi
cryptos populaire que sont Exodus, imToken, Jaxx et Atomic Wallet supportent ce jeton
 Wallet physique : vous pouvez utiliser votre Ledger ou votre Trezor pour stocker vos
jetons EOS. Si vous n’avez pas encore de portefeuille physique et que vous comptez

REDIGE PAR MANGA JOSEPHA CHRISTIE 59


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
acheter une quantité substantielle d’EOS, il est fortement conseillé de réaliser d’abord ce
petit investissement
 Wallet pour mobile : la plupart des portefeuilles desktop cités ci-dessus sont également
disponibles en version mobile (Android et Apple). Ajoutons à ces options Infinito, Lumi,
Guarda ou encore Freewallet

Nous utiliserons le portefeuille dédié au PC. La première étape pour envoyer des données dans la
blockchain est de disposé d’un portefeuille. La création du portefeuille se fait comme suit:

Figure III.34:Création d’un porte feuille


Sur cette figure on liste d’abord les portefeuilles à l’aide de la commande ‘’ cleos wallet list’’
Une fois que c’est fait nous constatons qu’il n’y a pas de portefeuille dans cette liste. Un
portefeuille par défaut est créé pour cela on doit entrer le mot de passe donné par Ubuntu.
Ensuite on crée un jeu de clés : une clé publique et une clé privée à l’aide de la commande
‘’cleos wallet keys’’. Nous avons deux
clés : ‘’EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGyqET5GDW5CV’’ et
‘’EOS7tWp93h8HwryeiZQ6ueMNXieCFghqgtwaxRNxM6SMZw2Vz6PqL’’. Nous nous
servirons de l’une d’entre elle pour créer le compte utilisateur.

 Démarrage du nœud EOSIO dans la machine

REDIGE PAR MANGA JOSEPHA CHRISTIE 60


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Ce nœud est divisé en deux sous nœuds : Keosd et nodeos. Nous allons au préalable démarrer le
nœud Keosd

Figure III.35: Illustration du démarrage du nœud keosd

Nous avons les informations liées au portefeuille ainsi que l’ensemble des commandes qu’on
utilisera. Ensuite démarrage du nœud nodeos.

REDIGE PAR MANGA JOSEPHA CHRISTIE 61


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Figure III.36: Illustration du nœud nodeos

Cette figure montre comment les blocs sont produits et ces données sont stockées dans des
fichiers

- Vérification de l’effectivité du serveur

Figure III.37 : Informations liées au serveur


Sur cette figure, nous allons dans le navigateur de notre machine virtuelle et nous saisons
l’adresse IP de notre machine physique : 192.168.100.4. Pour avoir cette adresse IP nous
saisissons en invite de commande : ifconfig. Les informations liées aux nœuds sont : Version des
serveurs, limite maximale que le nœud peut supporter

 Création du compte utilisateur Alice

Figure III.38 : Création d’un compte

REDIGE PAR MANGA JOSEPHA CHRISTIE 62


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Sur cette figure nous allons créer un compte pour interagir avec la clé publique obtenue dans le
portefeuille. A l’aide de la commande ‘’cleos create eosio alice clé publique’’. Par la suite nous
allons vérifier que la création du compte a été bien faite grâce à la commande ‘’ cleos get
account alice’’.

Figure III.39: Vérification du compte utilisateur


La figure III.6 nous montre le jour de la création du compte Alice ainsi que l’heure. Nous
retrouvons également la clé publique associée au compteur Alice ainsi que les ressources
allouées à ce compte : Mémoire, CPU et le net. Ces ressources sont illimitées.

 Création du compte pour le contrat de la température

Figure III.40: Création du compte lié à la température


Sur cette figure nous créons un compte pour le contrat de température. C’est dans celui-ci qu’on
à la base de données.

REDIGE PAR MANGA JOSEPHA CHRISTIE 63


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
 Création du contrat de la température

Figure III.41: Création du contrat de la température


La création du contrat de la température est faite à partir du compte utilisateur comme l’indique
la figure II.8. Ici, il s’agit de l’utilisateur alice. Son id et la température sont précisés.

 Insertion de la variable de la température dans la table


Elle se fait au moyen de la commande ‘’ cleos push action temp upsert’’.

Figure III.42: Variable de la température


La variable ici c’est : $t. Le but de cette variable est de stocker les données de mesures des
capteurs afin d’être stockée par la suite dans la blockchain eos. C’est la raison pour laquelle à la
place de la valeur de la température 27 nous avons la variable $t. Par la suite nous vérifions que
l’insertion est effective au moyen de la commande : ‘’cleos get table temp temp sensors’’

REDIGE PAR MANGA JOSEPHA CHRISTIE 64


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Figure III.43: Vérification de la variable
Lorsque nous affichons les informations liées au compte alice nous constatons que la
température est 27 par conséquent elle a bien été insérée dans la table.

III.3 Récupération des valeurs du DHT11 dans le port série


Dans Arduino nous allons télécharger la librairie DHT Sensor et Adafruit. Celle-ci permet
de lire les valeurs de la température.

Figure III.44: Librairie DHT11


Ensuite nous allons télécharger le code temps.ino afin de récupérer les valeurs chaque une
minute.
Dans un fichier Python, on crée un fichier pour ouvrir et lire le contenu du port série, lire la
valeur de la température et stocker dans le fichier output.txt chaque valeur. La figure suivante
montre un code python pour la réception des valeurs et insertion dans le fichier output.txt :

Figure III.45: Insertion des valeurs dans le fichier output.txt

REDIGE PAR MANGA JOSEPHA CHRISTIE 65


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Dans le shell linux, on crée un fichier bash pour la lecture et la récupération de la dernière ligne
du fichier output.txt, ensuite on affecte la valeur lue dans une variable du shell : $t. Les
différentes valeurs de la température sont stockées dans le fichier texte suivant :

Figure III.46 : Différentes valeurs de la température

III.4 Lecture de la table à partir du Raspberry


Un client se connecte au Raspberry pour pouvoir récupérer les données qui sont dans la
blockchain. Pour se faire, la bibliothèque de EOSPY doit être installée à partir du repositery
Github, ensuite nous devons activer l’environnement de eospy et enfin nous vérifions que la
connexion du Raspberry au compte Alice dans le nœud EOSIO est effective.

REDIGE PAR MANGA JOSEPHA CHRISTIE 66


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure III.47: Informations liées au compte

Sur cette figure nous avons les informations suivantes :

 Nom du compte : Alice


 Numéro du bloc : 108860
 Date et heure de la création d’un bloc : 10 novembre 2020 à 10 :15
 Dernière mise à jour du code
 Les ressources allouées : mémoire, CPU et net
Par la suite nous récupérons la dernière valeur de la température à partir de la table temp.

REDIGE PAR MANGA JOSEPHA CHRISTIE 67


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

Figure III.48 : Dernière valeur de la température

III.5 Discussion
 Problème de Scalabilité :
Selon Niclas Kullig, dans la blockchain Ethereum la vitesse des participants doit être adaptée aux
uns et aux autres en vue du déploiement dans le monde réel [57]. Cela signifie d’une part le
temps de blocage avec la limite de gaz par bloc et d’autre part la vitesse avec laquelle les
données des capteurs sont envoyées dans la blockchain. Nous observons également qu’à long
terme et avec l’augmentation du nombre de valeurs stockées dans celle-ci, le temps de stockage
augmente de manière linéaire en raison de la complexité croissante et de la consommation des
ressources de l’exploitation minière du PoW.

Nous constatons également que la blockchain Ethereum ne supporte pas toutes les données
IoT.Si nous changeons les données de température par d’autres données plus importantes, il
y’aura un disfonctionnement du réseau. Ce qui n’est pas le cas de la blockchain EOS. Celle-ci a
la capacité de mise à l’échelle. C’est-à-dire, si le nombre d’utilisateurs augmentent ou si les
données IoT changent la blockchain EOS sera capable de continuer à assumer sa fonction sans
qu’il y’ait un disfonctionnement.

 Mécanisme de consensus :
La blockchain Ethereum utilise la preuve de travail communément appelé proof of Work (PoW)
alors que La blockchain EOS utilise la preuve d’enjeu déléguée (DPoS). Le PoW doit être utilisé
avec précaution et il ne convient pas pour de grandes quantités de données IoT au sein
d’Ethereum. Une solution avec la blockchain Ethereum a été mise en place nous avons constaté
qu’avec l’augmentation du nombre de transactions et de blocs, la chaine de blocs de notre centre
de données a été vidée avant le début de chaque série d’essai. Le temps d’exécution du contrat

REDIGE PAR MANGA JOSEPHA CHRISTIE 68


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
intelligent augmente de manière linéaire et peut atteindre les 9000 secondes ou 2,5 heures. Cette
augmentation du temps peut être clairement expliquée par l’utilisation de l’algorithme PoW dans
la blockchain Ethereum. De plus l’algorithme de PoW ne s’adapte pas bien à l’Internet des objets
dans Ethereum sur le long terme.

Par contre la blockchain EOS, arrive parfaitement à gérer une montée de charge importante.
Nous constatons que nous n’avons pas besoin de vider notre centre de données car la blockchain
EOS peut sauvegarder un important nombre de transactions et de blocs sans que le système ne
devienne lent et les frais de transactions disproportionnées.

 Transactions
Dans la blockchain Ethereum chaque transaction est payante. Son nombre maximal de
transactions par seconde s’élève à 20 [70]. Le peu de transactions simultanées possible a causé
de nombreuses fois des encombrements du réseau, entraînant une augmentation des frais de
transactions ainsi que du temps de traitement de celles-ci. Alors que dans la blockchain EOS les
transactions sont gratuites et très rapide du fait d’une grande puissance de calcul (1,5secondes).
Elle a également une bande passante élevée ce qui a pour conséquence une forte réactivité du
réseau et effectue plus de 1000 transactions par secondes.

 Vulnérabilités aux attaques


Selon Yomane, La blockchain Ethereum est vulnérable aux attaques de dénis de service [58]. En
raison de sa nature décentralisée, une panne de sécurité dans un nœud peut se propager
rapidement à tous les autres sur le réseau et provoquer l'attaque de milliers d'entre eux. Pendant
l'attaque, le pirate peut publier et distribuer un contrat intelligent contenant du code malveillant
ciblant la vulnérabilité Alors que dans la blockchain EOS de par son coté centralisé lorsqu’il y’a
une panne de sécurité dans un nœud, elle pourra difficilement se propager vers l’ensemble du
réseau.

 Stockage
La Blockchain EOS dispose d’une grande capacité de stockage des données alors que dans la
blockchain Ethereum la quantité de données sauvegardées est limitée. Au bout d’un certain
temps elle ne supporte plus le trop plein de données par conséquent elle devient plus lente.

REDIGE PAR MANGA JOSEPHA CHRISTIE 69


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Tableau III-5 : Comparaison entre notre solution et celle de Niclas Kullig

Mécanisme Transactions Pièces en Lancement Equipe Frais de


de par seconde circulation transaction
consensus
EOS DPoS 1000+ 896000 Juin 2017 Block.one Aucun
Ethereum PoW 15 100000 Juillet Ethereum < 1$
2015 Foundation

III.6 Estimation budgétaire du prototype


La mise sur pied d’une telle solution requiert, en plus de la méthodologie au chapitre 2
des moyens financiers. A cet effet nous avons effectué l’estimation budgétaire ci-dessous en ce
qui concerne notre solution.

Tableau III-6: Estimation Budgétaire

Désignation Prix unitaire Quantité Prix Total


(FCFA)
Conception 500 000 / mois 3 mois 1 500 000
Ingénierie 750 000 / mois 1mois 750 000
Implémentation 500 000 / mois 3mois 900 000
TOTAL 4 750 000

CONCLUSION GENERALE

REDIGE PAR MANGA JOSEPHA CHRISTIE 70


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
Ce travail a porté sur l’élaboration d’un système de sécurisation des données fondé sur la
technologie blockchain Eos afin de pouvoir garantir la fiabilité et l’intégrité des données. Notre
but était d’aboutir à la conception d’un prototype de composant de clients permettant de stocker
les données de manière permanente et de les récupérer à l’aide d’un Raspberry pi3+. Sur ce
prototype des scripts en python interrogent les valeurs d’un capteur de température DHT11 et les
transfèrent à une chaine de blocage EOS simulée via Arduino. En outre, un contrat intelligent a
été rédigée en cdt et migré en utilisant le langage de programmation ‘’C++’’. Lorsque les
fonctions définies dans le contrat intelligent ont été appelées, les données des capteurs ont été
stockées avec un horodatage dans la blockchain. Divers tests ont été conçus et réalisés pour
évaluer ce prototype.

Pour atteindre cet objectif nous avons dans un premier temps présenté, les notio
base indispensables à la compréhension du travail effectué, le fonctionnement, les concepts, les
types de blockchain, Par la suite le concept de l’internet des objets, l’architecture et ses
protocoles. Après avoir survolé le concept d’internet des objets nous avons présenté les critères
et avantages d’une ville intelligente ainsi que les différentes solutions qui ont été mises en place
pour sécuriser les données. Dans un second temps, nous avons présenté les différentes étapes
pour mettre sur pied notre prototype ainsi que les différents éléments entrant dans son
élaboration que sont la blockchain EOS, les contrats intelligents, création des portefeuilles, des
comptes utilisateur et celui pour le contrat de la température. Enfin nous avons procédé à des
tests pour évaluer le prototype. L’évaluation des résultats des tests devrait aider à clarifier les
questions de ce projet. L’utilisation de la technologie blockchain dans le contexte de l’internet
des objets est réalisable dans la pratique et peut donner des résultats et des optimisations
significatifs. Les tests effectués ont prouvé que la technologie blockchain eos dans le contexte de
l’internet des objets est fondamentalement réalisable. Néanmoins il faut noter que des problèmes
peuvent survenir lors de l’utilisation. Par exemple le fait que la blockchain Eos soit considérée
comme trop centralisée par rapport à d’autres implique certains producteurs de blocs peuvent se
retirer du réseau car il leur est impossible de tenir contre les « whales » qui monopolisent le
réseau. En guise de perspective nous comptons développer une application frontend pour
permettre une meilleure utilisation de notre solution.

REDIGE PAR MANGA JOSEPHA CHRISTIE 71


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

REFERENCES

[1] Mathilde Borel, La sécurisation des données : Quels enjeux pour les entreprises ,9 Mai 2018.

[2] Danièle DROMARD, Dominique SERET, Université de Paris-VI-Pierre-et-Marie-Curie,


Internet-Histoire, 11 pages.

[3] Red Hat Enterprise Linux 4 : Guide de sécurité, 2005,

[4-9] Oussama Abderraouf Ayadi ,Blockchain and IoMT,Université Constantine 2,Juillet 2019,
96P.

[10-12] Shuai Ren, The Application of blockchain and its advantage to the Field of Art , Janvier
2020 January 2020; DOI: 10.1088/1742-6596/1437/1/012063

[13] Oussama Abderraouf Ayadi ,Blockchain and IoMT,Université Constantine 2,Juillet 2019,
96P.

[14] Marine Debelloir, Qu’est-ce que le trilemme des blockchains et pourquoi les altcoins
essaient tous de le résoudre ? 1er Janvier 2020

[15] PETRE, ANCA, Haï, NASSIMA, Opportunités et enjeux de la technologie blockchain dans
le secteur de la santé, Med Sci (Paris), 852-856P ; DOI : 10.1051/medsci/2018204

[16] NGOUAHA MBIKAKEU Ronald, Implémentation de la blockchain pour la traçabilité des


transactions financières ; Ecole Nationale Supérieur des postes et des TIC, Yaoundé- Cameroun,
année ,108P.

[17] Applications of Blockchain Technology in Medicine and Healthcare: Challenges and Future
Perspectives, DOI: 10.3390/cryptography3010003

[18] Thomas Wohrer, Application de la blockchain à la sécurité informatique,


https://www.nomios.fr/application-blockchain-securite/ (consulté le 03 septembre 2020)

REDIGE PAR MANGA JOSEPHA CHRISTIE xiv


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
[19] NGOUAHA MBIKAKEU Ronald, Implémentation de la blockchain pour la traçabilité des
transactions financières ; Ecole Nationale Supérieur des postes et des TIC, Yaoundé- Cameroun,
année ,108 P.

[20] Numérique et Santé, Volume 34, Med Sci (Paris),19 novembre 2018, 852-856
P.DOI : https ://doi.org/10.1051/medsci/2018204

[21] Le Monde du droit, Le Magazine des professions Juridiques, Blockchain et secteur


immobilier : une technologie adaptée et prometteuse ,29 Avril 2020

[22] https://www.futura-sciences.com/tech/definitions/internet-internet-objets-15158/ (consulté


le 5 septembre 2020 à 14h

[23] Riya Thakore, Rajkumar Vaghashiva, Blockchain-Based IoT: A Survey, Halifax, Canada,19
Aout 2019

[24] Atlas Magazine, L’actualité de l’assurance dans le monde, Mars 2018

[25] Saled Imah, Internet des Objets : Concepts, enjeux et perspectives, Paris 8, Février 2018,
20P.DOI: 10.21494/ISTE.OP.2018.0229

[26] Saled Imah, Internet des Objets : Concepts, enjeux et perspectives, Paris 8, Février 2018,
20P.DOI: 10.21494/ISTE.OP.2018.0229

[27] Comment fonctionne l’Internet des objets : protocoles et technologies liés à l’Ido, publié le
21 septembre 2017

[28] Qu’est-ce qu’une ville intelligente ?400 boulevard Jean-Lesage, bureau 260


Québec, Qc, Canada, G1K 8W, 5 Aout 2018

[29] Qu’est-ce qu’une ville intelligente ? 400 boulevard Jean-Lesage, bureau 260 Québec, Qc,
Canada, G1K 8W, 5 Aout 2018

[30] Smart city : les avantages de la ville intelligente, Ian Low ,13 novembre 2018

[31] Cedrick KADIMA KALALA, Mise en place sur le point d’accès d’un réseau Wifi,
Septembre 2010

REDIGE PAR MANGA JOSEPHA CHRISTIE xv


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN
[32] Niclas Kullig, Philipp Lammel et Nikolay Tcholtcheva, prototype de mise en œuvre et
d’évaluation d’une chaine modulaire composante sur les dispositifs IdO, 12 Aout 2020, Louvain,
Belgique, 386P.

[33] Bastien L Le magazine IA, cloud et Big Data, Protection des données : Top des meilleures
startups DATA Protection, 27 Avril 2018

[34] Landry Ndjate, Mise en place d’un crypto système pour la sécurité des données et détection
d’intrusion dans un supermarché, Graduat 2014

[35] Rodrigue Mpyana, Mise en place d’un système de sécurité base sur l’authentification dans
un réseau IP : Cas de Mecelco, 2011

[36]  https://www.cloudera.com/ , consulté le 16 septembre à 08h47

[37-39] Bastien L Le magazine I.A, Cloud et Bigdata, Protection des données ,27 Avril 2018

[40-43] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, "Internet of Things (IoT): A


vision, architectural elements, and future directions," Future Generation Computer Systems, vol.
29, no. 7, 1645-1660P.

[44] Digital Guide Ionos, Qu’est-ce qu’une sauvegarde dans le Cloud ?27 mars 2019
[45] https://www.crypto-sous.fr/utilisation-blockchain/stockage-donnees-blockchain/ (consulté le
29 octobre 2020 à 15h)

[46-48] https://www.thecointribune.com/analyses/tout-savoir-de-la-cryptomonnaie-eos/ (consulté


le 20 octobre 2020 à 19h)

[49-51] Morgan Phuc, Comprendre EOS et sa blockchain, 23 Mai 2018

[52] Nina Fabrizi-Racine « La blockchain : Révolution d'État ? » dans « La Semaine juridique :
Administrations et collectivités territoriales » n° 49, 11 décembre 2017.

[53] Eric A. Caprioli et Renaud Sorieul, Les lignes directrices de l’OCDE régissant la politique
de cryptographie, Lamy droit de l’informatique, mai 2019

[54-56] Rodrigue Mpyana, Mise en place d’un système de sécurité base sur l’authentification
dans un réseau IP : Cas de Mecelco, 2011

REDIGE PAR MANGA JOSEPHA CHRISTIE xvi


SECURISATION DES DONNEES DANS UN RESEAU D’INTERNET DES OBJETS A L’AIDE
DE LA BLOCKCHAIN

[57] Niclas Kullig, Philipp Lammel et Nikolay Tcholtcheva, prototype de mise en œuvre et
d’évaluation d’une chaine modulaire composante sur les dispositifs IdO, 12 Aout 2020, Louvain,
Belgique, 386P.

[58] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, "Internet of Things (IoT): A vision,
architectural elements, and future directions," Future Generation Computer Systems, vol. 29, no.
7, 1645-1660P.

REDIGE PAR MANGA JOSEPHA CHRISTIE xvii

Vous aimerez peut-être aussi