Tải bản đầy đủ (.pdf) (74 trang)

Lanalyse et le développement de projets informatiques avec les technologies web et blockchain

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.51 MB, 74 trang )

UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ
INSTITUT FRANCOPHONE INTERNATIONAL

Fo kossi DAGBEGNIKIN

L’analyse et le développement de projets
informatiques avec les technologies web et
Blockchain

MÉMOIRE DE FIN D’ÉTUDES DU MASTER
INFORMATIQUE
Sous la direction de l’Ingénieur Diplômé de l’EPITA :
M. Romain GRIFFITHS ( Directeur Technique de NEOFACTO - France)

HANOÏ - 2019


UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ
INSTITUT FRANCOPHONE INTERNATIONAL

Fo kossi DAGBEGNIKIN

L’analyse et le développement de projets
informatiques avec les technologies web et
Blockchain

Spécialité : Systèmes Intelligents et Multimédia
Code : Programme pilote

MÉMOIRE DE FIN D’ÉTUDES DU MASTER
INFORMATIQUE


Sous la direction de l’Ingénieur Diplômé de l’EPITA :
M. Romain GRIFFITHS ( Directeur Technique de NEOFACTO - France)

HANOÏ - 2019


Attestation sur l’honneur

J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données
et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs. La
source des informations citées dans ce mémoire a bien été précisée.

Signature de l’étudiant


Remerciements

Ce travail de mémoire de Master recherche est le résultat de l’engagement de plusieurs
personnes qui ont décidé de m’accompagner résolument dans cet exaltant parcours.
Je remercie Dieu le tout Puissant, très Miséricordieux, qui m’a donné la force, le courage et la persévérance durant ces deux années. C’est avec une certaine émotion et une
grande reconnaissance que je remercie l’Université Nationale du Vietnam à travers l’Institut Francophone International et toute son équipe pédagogique. Je remercie les professeurs pour les valeurs et méthodes inculqués durant le cursus : la curiosité, le goût du
travail, de l’effort, le sens de la persévérance, la volonté de se remettre en question etc...
Autant de trésors qui me seront, sans nul doute, utiles toute ma vie.
Je tiens à adresser mes profonds remerciements à toute l’équipe NEOFACTO France,
très chaleureusement Mlle Vénissia PIERRU, M. Pierre GERARD, M. Clément PAVUE et
en particulier à mon encadrant M. Romain GRIFFITHS qui m’a beaucoup aidé lors de
ce stage ; ses conseils et son coaching m’ont permis de cibler et de m’orienter tout au long
de ce stage. J’ai eu l’occasion d’être associé à leur travail et celle de toute l’équipe technique pour acquérir de nouvelles connaissances et compétences. Celles-ci me seront fort
précieuses pour la réalisation de mes projets à venir. Ainsi, le temps, l’attention, l’intérêt qu’ils ont bien voulu me témoigner n’ont pas été perdus, et ne seront pas perdus. Ils
m’ont donné envie de persévérer dans ce métier pour lequel ils ont le plus grand respect

la recherche et l’innovation. Le privilège est pour moi de participer à ce projet Horizon
2020 de l’UE, à ses séances de travail et à sa présentation auprès de l’équipe d’experts de
la Commission de l’Union Européenne à Bruxelles.
Un grand merci à ma mère Mme Akouavi Martine HOUNGBO, mes parrains, à mes
frères et soeurs pour leurs conseils ainsi que pour leur soutien inconditionnel. Je voudrais
profiter de cet espace pour leur exprimer toute ma gratitude et ma reconnaissance.
Grâce à vous, j’aborde une nouvelle étape de ma vie avec confiance et dynamisme.

Fo kossi DAGBEGNIKIN



Résumé
Le projet CYBER-TRUST vise à développer un système innovant de collecte, de détection, et une plate-forme d’atténuation pour relever les grands défis de la sécurisation de l’écosystème des appareils IoT. La sécurité, les problèmes liés à la conception
défectueuse du matériel hérité et des périphériques intégrés permettent aux cybercriminels de les compromettre et lancer des attaques à grande échelle vers les cyberinfrastructures critiques. Ce projet interdisciplinaire opte pour une approche qui prendra en compte les différentes phases de ces attaques émergentes, avant et après, connues
(même des années) ou inconnues.
Les cybercriminels ont largement exploité les vulnérabilités (zero-day) pour lancer
des attaques. L’accent est mis sur la mise en place d’un système pro-actif de collecte
et de partage de renseignements sur les cyber-menaces afin d’empêcher l’exploitation
des vulnérabilités. Ces informations seront utilisées pour maintenir des profils de vulnérabilité précis des dispositifs IoT, conformément à la protection des données, à la
confidentialité ou à d’autres réglementations, et vise à modifier de manière optimale la
surface d’attaque de manière à minimiser les dommages causés par les cyber-attaques.
De nouvelles technologies seront développées, basées sur des grands livres distribués
et des blockchains, contrôler l’état de l’intégrité des dispositifs et le comportement
du réseau, ce qui augmentera considérablement les capacités de détection contre les
cyber-attaques ciblées et interdisciplinaires. En cas de présumée activité malveillante,
des outils pour la collecte et le stockage des preuves scientifiques-légales sur une structure de blockchain inviolable seront livrés, en tenant compte des besoins spécifiques
des organismes chargés de l’application de la loi. La surveillance du réseau préservant
la confidentialité et basée sur la réalité virtuelle avancée et des techniques de visualisation seront utilisées pour détecter rapidement les réseaux de zombies, les attaques
DDoS et autres incidents.

S’appuyant sur la recherche interdisciplinaire, un cadre intelligent et autonome de
cyber-défense sera construit pour fournir des moyens intelligents d’isoler les dispositifs sous le contrôle d’un attaquant (ou infectés) et de répondre efficacement en atténuant les attaques à grande échelle.
Mots clés : Blockchain, vulnérabilités «zero-day», partage de la menace, surveillance
du réseau, preuves scientifiques-légales, appareil falsification, attaques DDoS, détection et atténuation, systèmes de réputation, protection des données et confidentialité.


Abstract
The CYBER-TRUST project aims to develop an innovative cyber-threat intelligence
gathering, detection, and mitigation platform to tackle the grand challenges towards
securing the ecosystem of IoT devices. The security problems arising from the flawed
design of legacy hardware and embedded devices allows cyber-criminals to easily compromise them and launch large-scale attacks toward critical cyber-infrastructures. The
proposed interdisciplinary approach will capture different phases of such emerging
attacks, before and after known (even years old) or unknown (zero-day) vulnerabilities have been widely exploited by cyber-criminals to launch the attack. Emphasis is
given on building a proactive cyber-threat intelligence gathering and sharing system
to prevent the exploitation of zero-day vulnerabilities. This intelligence information
will be used to maintain accurate vulnerability profiles of IoT devices, in accordance
with data protection, privacy, or other regulations, and optimally alter their attack surface to minimise the damage from cyber-attacks. Novel technologies will be developed, based on distributed ledgers and blockchains, to monitor devices’ integrity state
and network behaviour that will considerably increase the detection and response capabilities against targeted and interdisciplinary cyber-attacks. In the case of alleged
malicious activity, tools for collecting and storing forensic evidence on a tamper-proof
blockchain structure will be delivered, taking into account the specific needs of law
enforcement agencies. Privacy-preserving network monitoring and advanced virtual
realitybased visualisation techniques will be employed for quickly detecting botnets,
DDoS attacks and other incidents. Relying on interdisciplinary research, an intelligent
autonomous cyber-defence framework will be built for providing intelligent ways of
isolating the devices under an attacker’s control (or infected) and effectively responding to and mitigating large-scale attacks.
Keywords : Zero-day vulnerabilities, threat sharing, network monitoring, blockchain, forensic evidence, device tampering, DDoS attacks, detection and mitigation,
reputation systems, data protection and privacy.


Table des matières


Table des figures

i

1 Introduction Générale

1

2 Présentation de la structure d’accueil
2.1 NEOFACTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Missions de l’équipe . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 SCORECHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
4

3 Contexte d’étude et problématique
3.1 Projet Cyber-Trust . . . . . . . . . . . .
3.2 Objectifs . . . . . . . . . . . . . . . . . .
3.3 Contexte d’étude . . . . . . . . . . . . .
3.3.1 La Blockchain . . . . . . . . . . .
3.4 Problématique . . . . . . . . . . . . . . .
3.4.1 Les spécifications du projet . . .
3.4.1.1 Les exigences du projet
3.4.1.2 Les difficultés prévues .
3.5 Résultats attendus . . . . . . . . . . . .


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.


5
5
7
8
8
9
9
9
9
10

4 Etat de l’art
4.1 Blockchain . . . . . . . . .
4.2 Le Framework Blockchain
4.2.1 Bitcoin [16] . . . . .
4.2.2 Ethereum [17] . . .
4.2.3 Hyperledger [18] .
4.2.4 IOTA [20] . . . . . .
4.2.5 Monero [21] . . . .
4.2.6 Zcash [22] . . . . .
4.2.7 Corda [23] . . . . .
4.2.8 Nano [24] . . . . . .

.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.

11
11
11
11
12
12
13
13
13
13
14

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

i

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.


TABLE DES MATIÈRES

4.2.9 Étude comparative . . . . . . . . . . . . . . . .

4.3 Quelques exemples d’algorithmes de consensus [26]
4.3.1 Proof of work . . . . . . . . . . . . . . . . . . .
4.3.2 Proof of stake . . . . . . . . . . . . . . . . . . .
4.3.3 Solo . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4 Kafka/Zookeeper . . . . . . . . . . . . . . . . .
4.3.5 Proof of Elapsed Time . . . . . . . . . . . . . .
4.3.6 PBFT-based . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

5 Méthodes proposées
5.1 Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Hyperledger Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Etat actuel d’Hyperledger Fabric [29] . . . . . . . . . . . . . . . . .

5.1.3 Modèle de confidentialité . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3.2 Confidentialité des transactions (Transaction confidentiality) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
Public to the members . . . . . . . . . . . . . . .
B
N-Peer Channel . . . . . . . . . . . . . . . . . . .
C
Private Data . . . . . . . . . . . . . . . . . . . . .
D
Offchain avec Hash Onchain . . . . . . . . . . . .
E
Transport . . . . . . . . . . . . . . . . . . . . . . .
F
Authentification du serveur . . . . . . . . . . . . .
G
Mutual authentication . . . . . . . . . . . . . . .
5.1.4 Pourquoi avons-nous choisi 1.4.0 ? . . . . . . . . . . . . . . . . . . .
5.1.5 Modèle de sécurité dans Hyperledger . . . . . . . . . . . . . . . . .
5.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Architecture d’Hyperledger . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Composants natifs de Hyperledger . . . . . . . . . . . . . . . . . .
A
Fabric Peer . . . . . . . . . . . . . . . . . . . . . .
B
Fabric Orderer . . . . . . . . . . . . . . . . . . . .
C
Fabric Chaincode . . . . . . . . . . . . . . . . . .
D
Fabric CA . . . . . . . . . . . . . . . . . . . . . . .

5.2.3 Exemple de transaction basé sur l’architecture native Hyperledger
Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4 Décomposition et relation des composants . . . . . . . . . . . . .
5.3 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Relation avec les autres composants de la plate-forme . . . . . . .
5.3.2 Patterns de communication . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.1 Appel REST . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Architecture de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Diagramme des classes . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Outils et Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii

.
.
.
.
.
.
.
.

14
15
15
16
16
16
16
16


.
.
.
.
.

18
19
19
19
20
20

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


20
20
20
20
21
21
21
21
21
21
22
22
22
22
23
23
23

.
.
.
.
.
.
.
.
.

23

24
27
27
27
27
28
28
29


TABLE DES MATIÈRES

5.6 Architecture physique . . . . . . . . . . . . . . . . . . . . .
5.6.1 Vue de déploiement . . . . . . . . . . . . . . . . . .
5.6.2 Configuration requise pour une machine virtuelle
5.6.3 Mesures de sécurité . . . . . . . . . . . . . . . . . .
5.6.4 Processus de déploiement . . . . . . . . . . . . . .
5.6.5 Domaines de sécurité des applications . . . . . . .
5.6.6 Domaines de sécurité de l’infrastructure . . . . . .

.
.
.
.
.
.
.

.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.


.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.

.

6 Implémentation et analyse des résultats
6.1 Les étapes d’implémentation du projet . . . . . . . . . . . . . . . . . . . .
6.1.1 Diagramme de classe implémenté . . . . . . . . . . . . . . . . . . .
6.1.2 Installation des pré-requis . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3 Déploiement du système . . . . . . . . . . . . . . . . . . . . . . . .
6.1.4 Tests et analyses des résultats . . . . . . . . . . . . . . . . . . . . . .
A
Sur l’image suivante nous faisons la mise à jour
de l’organization(O6) avec les Patchs publiés. . .

.
.
.
.
.
.
.

30
30
30
31
32
32
33

.
.

.
.
.

35
35
35
36
37
40

. 52

7 Conclusion et Perspectives
55
7.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A Quelques fonctions du smart contract

iii

58


Table des figures

3.1 Advanced Cyber-Threat Intelligence, Detection, and Mitigation Platform
for a Trusted Internet of Things Grant Agreement : 786698 . . . . . . . . .
3.2 Union Européenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 The Framework Programme For Research And Innovation . . . . . . . . .

3.4 Liste des participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

5
5
5
6
9

4.1 Tableau compratif entre les frameworks leaders sur le marché de la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Analyse comparative Protocoles/Frameworks . . . . . . . . . . . . . . . . . 15
4.3 Les phases du consensus PBFT [26] . . . . . . . . . . . . . . . . . . . . . . . 17
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10

Architecture native d’Hyperledger Fabric . . .

Sous-composants de la DLT . . . . . . . . . . .
Communication avec les autres composants .
Diagramme de séquence - Sharing Level case
Diagramme de classe général . . . . . . . . . .
Déploiement de DLT-Admin et DLT-Service .
Vue de l’infrastructure . . . . . . . . . . . . . .
Vue de déploiement de la DLT . . . . . . . . .
Vue de sécurité de la DLT . . . . . . . . . . . .
Dockerisation de la DLT . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

22
25
27
28
29
30
31
32
33
34

6.1
6.2

6.3
6.4
6.5
6.6
6.7
6.8

Diagramme de classe actuel . . . . . . . . . . .
Statut du déploiement (1) . . . . . . . . . . . . .
Statut du déploiement (2) . . . . . . . . . . . . .
Détails des pods système . . . . . . . . . . . . .
Installations Helm . . . . . . . . . . . . . . . . .
Images docker . . . . . . . . . . . . . . . . . . .
Conteneurs docker démarrés . . . . . . . . . . .
Vue du Déploiement de la chaincode sur le CLI

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.

36
37
38
38
38
39
39
40

iv


TABLE DES FIGURES

6.9
6.10
6.11
6.12
6.13
6.14

6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
6.27
6.28
6.29

Interface d’accueil (API UI) . . . . . . . . . . . . . . . . . . . . . . . .
Real-Time Blockchainn Event Logs . . . . . . . . . . . . . . . . . . .
Organization creation sample . . . . . . . . . . . . . . . . . . . . . .
Blockchain Log alert for new blockchain . . . . . . . . . . . . . . . .
Blockchain event Log (Organization Creation . . . . . . . . . . . . .
Organization entity details . . . . . . . . . . . . . . . . . . . . . . . .
Organization found from ledger . . . . . . . . . . . . . . . . . . . . .
Transactions sur le Conteneur docker du peer . . . . . . . . . . . . .
Patch creation sample . . . . . . . . . . . . . . . . . . . . . . . . . . .
Patch informations from Ledger . . . . . . . . . . . . . . . . . . . . .
Some list of Blockchain event logs . . . . . . . . . . . . . . . . . . . .
CreateOrganization transaction . . . . . . . . . . . . . . . . . . . . .
CreatePatch transaction (1) . . . . . . . . . . . . . . . . . . . . . . . .
Requesting a first CreatPatchFile for CreatePatch transaction (2) . .

First AddPatchFile for CreatePatch transaction (3) . . . . . . . . . .
Requesting a second CreatPatchFile for CreatePatch transaction (4)
Second AddPatchFile transaction for CreatePatch transaction (5) .
AddPublishedPatch transaction . . . . . . . . . . . . . . . . . . . . .
Docker peer log -Transactions details (1) . . . . . . . . . . . . . . . .
Docker peer log -Transactions details (2) . . . . . . . . . . . . . . . .
Docker peer log -Transactions details (3) . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

41
42
43
43
44
44
45
46
46
47
48
48
49
49
50
50
51
52
53
53
54

A.1 Annexe- fonctions de la classe Device du chaincode . . . . . . . . . . . . . 58
A.2 Annexe- appels fonctions du chaincodes (a) . . . . . . . . . . . . . . . . . . 59

A.3 Annexe- appels fonctions du chaincodes (b) . . . . . . . . . . . . . . . . . . 60

i


Liste des sigles et acronymes

DLT

Distributed Ledger Technology

LEA

Law Enforcement Agency

ISP

Internet Service Provider

IoT

Internet of Things

EU

European Union

TO

Technological Objectives



Chapitre

1

Introduction Générale
Chaque jour qui passe constitue une nouvelle avancée en matière d’innovation,
de prouesses technologiques. La technologie est à l’ère des objets connectés, où nous
comptons journalièrement l’utilisation de différents types d’IoT dans nos vie. Cela va
des appareils mobiles aux voitures et maisons connectées.
Il s’avère évident que ces équipements font parties prenantes de nos vies. Il se
pose alors des questions indéniables de sécurités. Comment nous assurer que ces IoT
ne soient pas faillibles ? Comment retrouver la source du problème ? Comment éviter
les DoS de tout équipement par les cyber-criminels qui tentent toujours d’utiliser les
failles de ces technologies ? Une fois l’attaque répertoriée et la source débusquée comment conserver et partager ces données comme preuves dans une procédure judiciaire
sans compromettre les données et les rendre recevables devant une cour de justice ?
Trouver une technologie de pointe, innovante qui apporte une approche de solution à
ces problèmes s’avère primordial.
Dans le souci de répondre à ces difficultés qui entravent l’avancée des IoT, un projet
dénommé Cyber-Trust inscrit dans "The Framework Programme For Research And
Innovation" des projets Horizon 2020 a été lancé par l’Union Européenne. Dans le
cadre de l’appel d’offre du projet, l’Union Européenne a retenue et mandatée la société
Scorechain basée au Luxembourg pour l’implémentation de la blockchain. Elle s’est
chargée de la partie management du projet et a confié à l’équipe technique de NEOFACTO France dont je fais partie la tâche architecturale et conceptuelle. Mes travaux
se sont déroulés en collaboration avec les autres équipes basées dans plusieurs pays
de l’Europe, sanctionnée par une présentation de trois jours du délivrable en cours à la
Comission de l’Union Européenne à Bruxelles.
Dans ce document, nous allons présenter notre travail effectué dans la recherche
de solution du Consortium des chercheurs ayant évolué sur ce projet.

Notre participation à ce projet tourne autour de la blockchain comme solution aux
problèmes de stockage, de confiance, de confidentialité qui se soulèvent dans la gestion des données recueillies par le web crawling qui sera effectué à la recherche de
potentiels intrusions ou corruption de ces IoT.
1


CHAPITRE 1. INTRODUCTION GÉNÉRALE

Le terme blockchain 1 désigne une technologie de stockage et de transmission d’informations transparente, sécurisée, fonctionnant sans organe central de contrôle (définition de Blockchain France). Elle peut être permissionnée et sécurisée.
De ce fait, cette technologie nous apporte des approches de solutions assez considérables à nos problèmes sus-enoncés.
Ce travail d’analyse et de développement de projet informatique avec les technologies web et Blockchain effectué à Neofacto France s’inscrit dans le cadre de mon
stage de validation de Master Informatique option Système Intelligent et Multimédia
et constitue mon mémoire de fin d’études.
Notre part de travail dans le projet actuel se limitera spécifiquement à la mise en
place d’une blockchain pour la responsabilisation améliorée des IoT (Cyber-Trust Distributed Ledger Technology for Enhanced Accountability).
Dans les lignes qui suivent dans ce document je vous présente les partie du projet sur lesquels j’ai personnellement travaillé à travers les sections suivantes : l’état
de l’art de la blockchain, les différents choix techniques, la proposition de solutions
et d’architecture de notre blockchain, la configuration de l’environnement de travail
(infrastructure hyperledger fabric, docker, kubernetes, helm), le développement des
différentes chaincodes (3 principalement) et de l’interface web, l’implémentation des
API de communication des différents composants avec notre Blockchain, le déploiement de l’application sur un testebed du consortium de la commission de l’union européenne, puis un bref résumé des résultats obtenus et perspectives à venir pour ce
projet.

1. />
2


Chapitre

2


Présentation de la structure d’accueil
2.1 NEOFACTO
La société NEOFACTO 1 a été créée en 2000 dans le but de répondre aux nouveaux
besoins croissants dans le domaine des nouvelles technologies. L’idée était et reste aujourd’hui de construire et animer un réseau d’experts solide, capable de fournir des
services informatiques de haute qualité à ses clients. Leur passion pour l’entrepreneuriat et leur enthousiasme envers l’innovation les ont menés à la création de leur propre
incubateur de startups. L’objectif est d’y développer de nouvelles technologies et des
nouveaux modèles commerciaux dans le but de mieux comprendre les futurs besoins
des entreprises.

2.1.1 Missions de l’équipe
L’équipe est composé de plusieurs techniciens informatiques fullstacks qui travaillent sous la supervision du CTO dans un environnement AGILE SCRUM. Les missions de l’équipe tournent autour de 3 points fondamentaux : le développement applicatif, les formations et conseils et les accompagnements ICO.
— Le développement applicatif : La société propose plusieurs prestations en régie
pour réaliser les projets clés en mains ou renforcer les équipes en intervenant sur
les domaines suivants :
— Développement Blockchain
— Développement Front-end et Mobile
— Architecture Web & Blockchain
— Intégration CSS
— DevOps
— UX / UI
1.

3


CHAPITRE 2. PRÉSENTATION DE LA STRUCTURE D’ACCUEIL

— les formations et conseils : L’équipe offre des formations aux équipes externes
visant à maîtriser les méthodologies et les technologies nécessaires à la réalisation de projets Blockchain, Web et Mobiles.

Pour cela un package de 6 formations a été élaboré sur les technologies Blockchain afin de donner aux structures les clés de compréhension nécessaires au
lancement de projets avec les technologies de registres distribués, ...
Les sujets traités sont : Blockchain Awakening, Smart-Contracts Programming,
Ethereum - Solidity, Hyperledger - Fabric, Blockchain Security, Crypto-monnaies
et ICOs
— les accompagnements ICO : L’équipe accompagne des porteurs d’ICO sur les
aspects stratégiques et techniques. Les domaines d’intervention sont :
— Définition de l’écosystème du Token
— Développement de smart contracts
— Plateforme de collecte
— Audit ERC20
— Tracking/AML
— Recrutement
La société accompagne actuellement l’ICO de Blockchain.io(notamment sur
les projets PAYMIUM 2 .

2.2 SCORECHAIN
Dès 2014, NEOFACTO a identifié le potentiel d’innovation de la Blockchain et a
créé une spin-off, Scorechain 3 , dédiée à ce secteur émergeant. La startup est aujourd’hui un acteur reconnu de l’écosystème de la Blockchain et des cryptomonnaies. Elle
propose des solutions anti-blanchiment d’argent et de régulation pour les cryptomonnaies, plus précisément sur l’origine des fonds des transactions en Bitcoin et Ethereum.
Aujourd’hui ces services sont vendus dans le monde entier et ils sont utilisés notamment par des banques, Big 4 et plateformes d’achat/vente de cryptos. Par le biais du
développement de Scorechain, les collaborateurs Neofacto maîtrisent désormais les
technologies Blockchain et comprennent les problématiques actuelles de l’écosystème
des cryptomonnaies.

2. />3. />
4


Chapitre


3

Contexte d’étude et problématique

Source : ©IGN

3.1 Projet Cyber-Trust

©IGN

F IGURE 3.1 – Advanced Cyber-Threat Intelligence, Detection, and Mitigation Platform
for a Trusted Internet of Things Grant Agreement : 786698

F IGURE 3.2 – Union Européenne

F IGURE 3.3 – The Framework Programme For Research
And Innovation
5


CHAPITRE 3. CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE

Le projet Cyber-Trust 1 est un projet Horizon 2020 de l’union européenne. Elle réunit
une liste de participants de plusieurs pays comme nous l’indique le tableau récapitulatif suivant :

F IGURE 3.4 – Liste des participants
La grande vision de l’Internet des objets consiste à établir un nouvel écosystème
composé d’appareils connectés hétérogènes - ordinateurs, ordinateurs portables, smartphones et tablettes, ainsi que d’appareils et de capteurs intégrés - qui communiquent
pour offrir des capacités de vie, de ville, transports, énergie, et de nombreux autres domaines plus intelligents. Cependant, seules 26% des initiatives IoT en entreprise ont

du succès (MIPS, 2017) et des facteurs tels que le délai d’achèvement, la qualité des
données, l’expertise interne, l’intégration de l’IoT et les dépassements de budget sont
souvent cités pour expliquer l’échec de la mise en œuvre de l’IoT. Cyber-Trust a pour
objectif de fournir la sécurité, les logiciels et l’assistance nécessaires au matériel IoT activé pour compenser ces facteurs de défaillance, et de fournir un IoT sécurisé et évolutif
via un registre à chaînes multiples amélioré. Le projet traite également des données de
réseau et de périphérique, des profils de périphérique et des vulnérabilités permettant une visualisation complexe et permettant une prise de décision rapide ainsi que
des actions d’atténuation lors de menaces renforcées et offrant une correction efficace
après une attaque.
L’objectif IoT, bien que louable, présente une augmentation exponentielle de la
complexité du réseau et, en termes de cyber-sécurité, crée une topologie plus vulnérable en raison de la complexité croissante, principalement en raison de problèmes de
sécurité liés aux périphériques embarqués et autres matériels hérités (carte vivante,
2018). Cyber-Trust s’attaque à ce problème de vulnérabilité, à la fois pour soutenir la
croissance de l’IoT tout en atténuant les effets de la complexité et de la vulnérabilité
1. />
6


CHAPITRE 3. CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE

lors de la protection des appareils IoT.
La configuration décrite dans ce document s’enracine dans les objectifs techniques
(TO), objectifs fondamentaux du projet, qui sous-tendent les scénarios et les cas d’utilisation. Tous les principes fondamentaux du système peuvent être rattachés à un ou
plusieurs de ces TO (1-7) et visent collectivement à atteindre TO8. Voici une liste de ces
objectifs 2 :
— TO1 : Protéger les configurations matérielle et logicielle des périphériques IoT ;
— TO2 : dresser un inventaire des logiciels autorisés (et non autorisés) ;
— TO3 : Gérer les périphériques matériels du réseau de manière à ce que l’accès aux
périphériques compromis soit refusé.
— TO4 : Construire un cadre pour une évaluation continue efficace de la vulnérabilité et sa correction ;
— TO5 : Opération IoT digne de confiance, vérifiez le comportement des périphériques IoT par rapport aux politiques de sécurité ;

— TO6 : Augmenter la résistance des réseaux IoT contre les attaques DDoS ;
— TO7 : Outils et méthodes de protection des données sensibles et de la vie privée
des utilisateurs ;
— TO8 : développement d’une plate-forme de cybersécurité allant au-delà de l’état
de l’art
Dans ce document, nous aborderons uniquement l’aspect lié à la Blockchain et l’infrastructure développé dans le cadre du projet Cyber-Trust.

3.2 Objectifs
La tâche que nous avons à accomplir dans ce projet de grande envergure s’étale sur
plusieurs plans. Il s’agira d’établir l’état de l’art des technologies blockchains existantes
et choisir celle qui convient le mieux pour ce type de projet du point de vue innovation,
technologie, sécurité.
En d’autres termes il faut fournir une architecture qui jouera un rôle décisif pour assurer la robustesse des méthodes de détection et d’atténuation et fournir un environnement de grande intégrité résistant à la falsification, adapté aux preuves légales recueillies en ce qui concerne le présumé comportement cyber-criminel.
Il faudra mettre en place un système basé sur l’aspect :
— confidentialité : En termes de confidentialité, Cyber-Trust doit utiliser un DLT
privé. Cela est dû à la confidentialité requise par le type de données stockées dans
le DLT, telles que les preuves légales, par exemple.
2. Extrait des documents du cahier de charge

7


CHAPITRE 3. CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE

— Evolutif : notre DLT doit être hautement évolutif, ce qui est une exigence de l’écosystème IoT, ce qui nous conduit à utiliser une DLT autorisée, qui est plus évolutive car seuls les nœuds centraux doivent valider la nouvelle transaction.
Il s’agira donc de :
— établir l’état de l’art des frameworks blockchain existants et répondants aux caractéristiques citées plus haut
— proposer une architecture basée sur le framework choisit
— proposer une architecture système pouvant supporter et mettre en place notre
DLT

— établir une bonne charte de fonctionnement entre notre DLT et les autres composants du système
— analyser et concevoir un ensemble d’API par lesquels les autres composants du
système peuvent communiquer avec notre DLT
Le but final étant de fournir un canal d’échange fiable aux autres composants du
systèmes pour assurer l’intégrité des données qui y sont échangé d’une part et d’autre
part de permettre aux utilisateurs finaux de pouvoir disposer d’une plateforme fiable
pour la sécurité de leurs équipements.

3.3 Contexte d’étude
Notre projet s’inscrit dans le contexte général des technologies de grands livres distribués complètement décentralisés.

3.3.1 La Blockchain
La blockchain est une technologie qui se situe dans un champ de recherche multidisciplinaire où travaillent de concert plusieurs acteurs de différents secteurs comme
les informaticiens(développeurs d’applications), mathématiciens, cryptologues et biens
d’autres dans le but de résoudre un problème scientifique posé par la sécurisation des
données, la réduction des processus d’exécutions des tâches en entreprise, la diminution des coûts d’exécutions et la transparence de toutes ces transactions effectués de
manière immuable dans le temps.
Par extension, une blockchain constitue une base de données qui contient l’historique
de tous les échanges effectués entre ses utilisateurs depuis sa création. Cette base de
données est sécurisée et distribuée en ce sens qu’elle est partagée par ses différents utilisateurs, sans intermédiaire, ce qui permet à chacun de vérifier la validité de la chaîne.

8


CHAPITRE 3. CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE

F IGURE 3.5 – Blockchain

3.4 Problématique
La problématique majeure est la conception d’une blockchain capable de fournir

un degré élevé de sécurité, de confidentialité, d’accès contrôlé, de fiabilité qui soit capable de fournir un canal sécurisé d’échanges à tous les autres composants de la plateforme Cyber-Trust et une inaltérabilité des données. La tâche primaire passe par une
étude approfondie des technologies Blockchains existantes nécessitant ainsi un niveau
d’expertise assez relevé. La mise en place de l’architecture nécessite aussi des compétences particulières en DevOps.

3.4.1 Les spécifications du projet
3.4.1.1 Les exigences du projet
Les premières exigences sont celles de la blockchain :
— Registre partagé : un système distribué d’enregistrement partagé à travers le réseau d’entreprise (Ajout seul)
— Smart contract : des termes d’affaires intégrés dans la base de données de transactions et exécutés avec des transactions
— Confiance : Les transactions sont approuvées par les participants concernés
— Intimité : Assurer une visibilité appropriée, sécurisée, authentifiée et vérifiable
pour les transactions
3.4.1.2 Les difficultés prévues
— L’etat de l’art permettant de justifier le framework blockchain à utiliser
9


CHAPITRE 3. CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE

— La conception d’une architecture solide répondant aux normes du projet
— Trouver les modèles existants répondants ou se rapprochant de notre projet
— La mise en place et l’implémentation des private data
— l’implémentation des différentes chaincodes

3.5 Résultats attendus
L’objectif final est de disposer d’une architecture centrée sur une blockchain permissive offrant les options nécessaires pour mener à bien le projet, par le biais d’un
package d’API permettant une interopérabilité entre les autres composants de la plateforme.
En d’autres termes, notre système permettra de :
— Assurer le traitement des transactions et la coordination entre les périphériques
IoT sécurisés.

— Assurer la sécurité : communication de données d’identité, protéger les fichiers
critiques et les fichiers binaires logiciels.
— Réduire au minimum les dommages causés par les périphériques et les logiciels
malveillants altérés, ainsi que les points de défaillance uniques.
— Collecte et stockage des preuves judiciaires

10


Chapitre

4

Etat de l’art
4.1 Blockchain
La technologie Blockchain peut être mise en œuvre dans diverses technologies plutôt que dans des monnaies cryptées. Les cas d’utilisations de blockchains sont infinis
et de nombreuses industries voient les avantages que cette technologie offre à l’économie et à la sécurité. Cette section décrit les cas d’utilisations et/ou les frameworks les
plus convaincants de la technologie blockchain dans la sécurité et le domaine IoT. Une
étude approfondie de la blockchain est nécessaire pour appréhender les problèmes
d’accès autour des questions de contrôle et de confidentialité. À l’ère de l’Internet des
Objets, un environnement de communication hétérogène 5G permettra à une société
entièrement connectée à de nombreuses communications entre périphériques pour
résoudre les problèmes de confidentialité. Des domaines de sécurité tels que la détection d’intrusion et les preuves légales peuvent avoir de grands progrès s’ils sont croisés
avec la technologie blockchain.

4.2 Le Framework Blockchain
Techniquement parlant, la Blockchain n’est pas un logiciel, mais un framework
open source de développement informatique, avec un code disponible sur internet et
développé par des communautés. Donc tout d’abord, nous devons choisir le framework Blockchain que nous utiliserons dans le développement de notre système. Actuellement, il y a une multitude de frameworks supportant la technologie Blockchain
dont nous exposons dans le paragraphe suivant les leaders de cette technologie.


4.2.1 Bitcoin [16]
C’est la premiére monnaie électronique créée pour décentraliser les payements en
utilisant un réseau de personne à personne, sans passer par une institution financière.

11


CHAPITRE 4. ETAT DE L’ART

Bitcoin est aussi la première application développée sur une Blockchain en 2009 qui
n’a cessé de grandir et qui assure des payements rapides et sécurisées.
Les points forts des Bitcoins sont la tolérance aux pannes du réseau. D’autre part,
Bitcoin propose des solutions intelligentes limitées. Elle offre la crypto-monnaie programmable basée sur l’argent. Elle est limitée par l’absence de confidentialité et de rôle
sélectifs des données.

4.2.2 Ethereum [17]
Ethereum est une plateforme open source qui permet de faire des payements sécurisés et transparents en se basant sur la technologie Blockchain. Elle est basée sur
les contrats intelligents permettant la vérification et la validation des transactions effectuées par ses différents utilisateurs. Elle utilise aussi l’unité ETHER afin de payer les
nœuds exécutant les contrats intelligents.
Ethereum est un protocol de deuxième génération qui résout certains problèmes
de Bitcoin : contrat intelligent et communauté très sympathique aux designers. Cependant, il n’existe pas de mécanisme de confidentialité des données même s’il est
possible de faire une mise en œuvre à l’aide de certains contrats intelligents personnalisés. Le nombre de transactions par seconde est également meilleur qu’avec Bitcoin.

4.2.3 Hyperledger [18]
Hyperledger est un framework open source. Il s’agit d’un effort collaboratif créé
pour supporter la technologie Blockchain en la démocratisant au-delà du secteur de la
finance. Hyperledger a été lancé fin 2015 par la communauté Linux afin de créer des
Blockchains privées ou publiques.
Hyperledger offre lui même 4 plate-formes :

— Hyperledger Sawtooth : une plate-forme modulaire pour la construction, le déploiement et l’exécution des registres distribués. Il comprend un nouvel algorithme de consensus, la Preuve de Temps Écoulé (PoET), qui cible les grandes
populations de validateurs répartis avec une consommation minimale de ressources
— Hyperledger Iroha : une plate-forme conçue pour être simple et facile à intégrer
dans des projets d’infrastructure exigeant la technologie du grand livre réparti. Il
est implémenté avec le langage c++.
— Hyperledger Burrow : une machine à contrat intelligente qui a été diffusée en
décembre 2014 et qui fournit un client Blockchain modulaire avec un interpréteur de contrat intelligent implémenté avec spécification de la machine virtuelle
Ethereum (EVM).

12


×