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 tributed Ledger Techno
Trang 1Fo 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)
HANỌ - 2019
Trang 2UNIVERSITÉ NATIONALE DU VIETNAM, HANỌ
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)
HANỌ - 2019
Trang 3J’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 Lasource des informations citées dans ce mémoire a bien été précisée
Signature de l’étudiant
Trang 4cou-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 nique 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
tech-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
Trang 6Le projet CYBER-TRUST vise à développer un système innovant de collecte, de tection, et une plate-forme d’atténuation pour relever les grands défis de la sécurisa-tion de l’écosystème des appareils IoT La sécurité, les problèmes liés à la conceptiondéfectueuse du matériel hérité et des périphériques intégrés permettent aux cyber-criminels de les compromettre et lancer des attaques à grande échelle vers les cyber-infrastructures critiques Ce projet interdisciplinaire opte pour une approche qui pren-dra en compte les différentes phases de ces attaques émergentes, avant et après, connues(même des années) ou inconnues
dé-Les cybercriminels ont largement exploité les vulnérabilités (zero-day) pour lancerdes 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’exploitationdes vulnérabilités Ces informations seront utilisées pour maintenir des profils de vul-nérabilité précis des dispositifs IoT, conformément à la protection des données, à laconfidentialité ou à d’autres réglementations, et vise à modifier de manière optimale lasurface 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 lescyber-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 struc-ture de blockchain inviolable seront livrés, en tenant compte des besoins spécifiquesdes 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 sation seront utilisées pour détecter rapidement les réseaux de zombies, les attaquesDDoS et autres incidents
visuali-S’appuyant sur la recherche interdisciplinaire, un cadre intelligent et autonome decyber-défense sera construit pour fournir des moyens intelligents d’isoler les disposi-tifs 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, tion et atténuation, systèmes de réputation, protection des données et confidentialité
Trang 7détec-gathering, detection, and mitigation platform to tackle the grand challenges towardssecuring the ecosystem of IoT devices The security problems arising from the flaweddesign of legacy hardware and embedded devices allows cyber-criminals to easily com-promise them and launch large-scale attacks toward critical cyber-infrastructures Theproposed interdisciplinary approach will capture different phases of such emergingattacks, before and after known (even years old) or unknown (zero-day) vulnerabili-ties have been widely exploited by cyber-criminals to launch the attack Emphasis isgiven on building a proactive cyber-threat intelligence gathering and sharing system
to prevent the exploitation of zero-day vulnerabilities This intelligence informationwill be used to maintain accurate vulnerability profiles of IoT devices, in accordancewith data protection, privacy, or other regulations, and optimally alter their attack sur-face to minimise the damage from cyber-attacks Novel technologies will be develo-ped, based on distributed ledgers and blockchains, to monitor devices’ integrity stateand network behaviour that will considerably increase the detection and response ca-pabilities against targeted and interdisciplinary cyber-attacks In the case of allegedmalicious activity, tools for collecting and storing forensic evidence on a tamper-proofblockchain structure will be delivered, taking into account the specific needs of lawenforcement agencies Privacy-preserving network monitoring and advanced virtualrealitybased visualisation techniques will be employed for quickly detecting botnets,DDoS attacks and other incidents Relying on interdisciplinary research, an intelligentautonomous cyber-defence framework will be built for providing intelligent ways ofisolating the devices under an attacker’s control (or infected) and effectively respon-ding to and mitigating large-scale attacks
Keywords : Zero-day vulnerabilities, threat sharing, network monitoring,
block-chain, forensic evidence, device tampering, DDoS attacks, detection and mitigation,reputation systems, data protection and privacy
Trang 8Table des matières
2.1 NEOFACTO 3
2.1.1 Missions de l’équipe 3
2.2 SCORECHAIN 4
3 Contexte d’étude et problématique 5 3.1 Projet Cyber-Trust 5
3.2 Objectifs 7
3.3 Contexte d’étude 8
3.3.1 La Blockchain 8
3.4 Problématique 9
3.4.1 Les spécifications du projet 9
3.4.1.1 Les exigences du projet 9
3.4.1.2 Les difficultés prévues 9
3.5 Résultats attendus 10
4 Etat de l’art 11 4.1 Blockchain 11
4.2 Le Framework Blockchain 11
4.2.1 Bitcoin [16] 11
4.2.2 Ethereum [17] 12
4.2.3 Hyperledger [18] 12
4.2.4 IOTA [20] 13
4.2.5 Monero [21] 13
4.2.6 Zcash [22] 13
4.2.7 Corda [23] 13
4.2.8 Nano [24] 14
Trang 94.2.9 Étude comparative 14
4.3 Quelques exemples d’algorithmes de consensus [26] 15
4.3.1 Proof of work 15
4.3.2 Proof of stake 16
4.3.3 Solo 16
4.3.4 Kafka/Zookeeper 16
4.3.5 Proof of Elapsed Time 16
4.3.6 PBFT-based 16
5 Méthodes proposées 18 5.1 Technologie 19
5.1.1 Hyperledger Fabric 19
5.1.2 Etat actuel d’Hyperledger Fabric [29] 19
5.1.3 Modèle de confidentialité 20
5.1.3.1 Définitions 20
5.1.3.2 Confidentialité des transactions (Transaction confiden-tiality) 20
A Public to the members 20
B N-Peer Channel 20
C Private Data 20
D Offchain avec Hash Onchain 21
E Transport 21
F Authentification du serveur 21
G Mutual authentication 21
5.1.4 Pourquoi avons-nous choisi 1.4.0 ? 21
5.1.5 Modèle de sécurité dans Hyperledger 21
5.2 Architecture de l’application 22
5.2.1 Architecture d’Hyperledger 22
5.2.2 Composants natifs de Hyperledger 22
A Fabric Peer 22
B Fabric Orderer 23
C Fabric Chaincode 23
D Fabric CA 23
5.2.3 Exemple de transaction basé sur l’architecture native Hyperledger Fabric 23
5.2.4 Décomposition et relation des composants 24
5.3 Interfaces 27
5.3.1 Relation avec les autres composants de la plate-forme 27
5.3.2 Patterns de communication 27
5.3.2.1 Appel REST 27
5.4 Architecture de données 28
5.4.1 Diagramme des classes 28
5.5 Outils et Technologies 29
Trang 10TABLE DES MATIÈRES
5.6 Architecture physique 30
5.6.1 Vue de déploiement 30
5.6.2 Configuration requise pour une machine virtuelle 30
5.6.3 Mesures de sécurité 31
5.6.4 Processus de déploiement 32
5.6.5 Domaines de sécurité des applications 32
5.6.6 Domaines de sécurité de l’infrastructure 33
6 Implémentation et analyse des résultats 35 6.1 Les étapes d’implémentation du projet 35
6.1.1 Diagramme de classe implémenté 35
6.1.2 Installation des pré-requis 36
6.1.3 Déploiement du système 37
6.1.4 Tests et analyses des résultats 40
A Sur l’image suivante nous faisons la mise à jour de l’organization(O6) avec les Patchs publiés 52
7 Conclusion et Perspectives 55 7.1 Conclusion générale 55
7.2 Perspectives 55
Trang 113.1 Advanced Cyber-Threat Intelligence, Detection, and Mitigation Platform
for a Trusted Internet of Things Grant Agreement : 786698 5
3.2 Union Européenne 5
3.3 The Framework Programme For Research And Innovation 5
3.4 Liste des participants 6
3.5 Blockchain 9
4.1 Tableau compratif entre les frameworks leaders sur le marché de la Blo-ckchain 14
4.2 Analyse comparative Protocoles/Frameworks 15
4.3 Les phases du consensus PBFT [26] 17
5.1 Architecture native d’Hyperledger Fabric 22
5.2 Sous-composants de la DLT 25
5.3 Communication avec les autres composants 27
5.4 Diagramme de séquence - Sharing Level case 28
5.5 Diagramme de classe général 29
5.6 Déploiement de DLT-Admin et DLT-Service 30
5.7 Vue de l’infrastructure 31
5.8 Vue de déploiement de la DLT 32
5.9 Vue de sécurité de la DLT 33
5.10 Dockerisation de la DLT 34
6.1 Diagramme de classe actuel 36
6.2 Statut du déploiement (1) 37
6.3 Statut du déploiement (2) 38
6.4 Détails des pods système 38
6.5 Installations Helm 38
6.6 Images docker 39
6.7 Conteneurs docker démarrés 39
6.8 Vue du Déploiement de la chaincode sur le CLI 40
Trang 12TABLE DES FIGURES
6.9 Interface d’accueil (API UI) 41
6.10 Real-Time Blockchainn Event Logs 42
6.11 Organization creation sample 43
6.12 Blockchain Log alert for new blockchain 43
6.13 Blockchain event Log (Organization Creation 44
6.14 Organization entity details 44
6.15 Organization found from ledger 45
6.16 Transactions sur le Conteneur docker du peer 46
6.17 Patch creation sample 46
6.18 Patch informations from Ledger 47
6.19 Some list of Blockchain event logs 48
6.20 CreateOrganization transaction 48
6.21 CreatePatch transaction (1) 49
6.22 Requesting a first CreatPatchFile for CreatePatch transaction (2) 49
6.23 First AddPatchFile for CreatePatch transaction (3) 50
6.24 Requesting a second CreatPatchFile for CreatePatch transaction (4) 50
6.25 Second AddPatchFile transaction for CreatePatch transaction (5) 51
6.26 AddPublishedPatch transaction 52
6.27 Docker peer log -Transactions details (1) 53
6.28 Docker peer log -Transactions details (2) 53
6.29 Docker peer log -Transactions details (3) 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
Trang 13DLT Distributed Ledger Technology
LEA Law Enforcement Agency
ISP Internet Service Provider
IoT Internet of Things
EU European Union
TO Technological Objectives
Trang 14Chapitre 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, ó nouscomptons journalièrement l’utilisation de différents types d’IoT dans nos vie Cela vades appareils mobiles aux voitures et maisons connectées
Il s’avère évident que ces équipements font parties prenantes de nos vies Il sepose 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 éviterles DoS de tout équipement par les cyber-criminels qui tentent toujours d’utiliser lesfailles de ces technologies ? Une fois l’attaque répertoriée et la source débusquée com-ment conserver et partager ces données comme preuves dans une procédure judiciairesans 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 NEO- FACTO 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 à laComission 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 auxproblèmes de stockage, de confiance, de confidentialité qui se soulèvent dans la ges-
tion des données recueillies par le web crawling qui sera effectué à la recherche de
potentiels intrusions ou corruption de ces IoT
Trang 15Le terme blockchain1désigne une technologie de stockage et de transmission formations 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.
d’in-De ce fait, cette technologie nous apporte des approches de solutions assez rables à nos problèmes sus-enoncés
considé-Ce travail d’analyse et de développement de projet informatique avec les logies web et Blockchain effectué à Neofacto France s’inscrit dans le cadre de monstage de validation de Master Informatique option Système Intelligent et Multimédia
techno-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 tributed Ledger Technology for Enhanced Accountability).
Dis-Dans les lignes qui suivent dans ce document je vous présente les partie du jet sur lesquels j’ai personnellement travaillé à travers les sections suivantes : l’état
pro-de l’art pro-de la blockchain, les différents choix techniques, la proposition pro-de solutions
et d’architecture de notre blockchain, la configuration de l’environnement de travail(infrastructure hyperledger fabric, docker, kubernetes, helm), le développement desdifférentes chaincodes (3 principalement) et de l’interface web, l’implémentation desAPI de communication des différents composants avec notre Blockchain, le déploie-ment de l’application sur un testebed du consortium de la commission de l’union eu-ropéenne, puis un bref résumé des résultats obtenus et perspectives à venir pour ceprojet
1 https://blockchainfrance.net/decouvrir-la-blockchain/c-est-quoi-la-blockchain/
Trang 162.1.1 Missions de l’équipe
L’équipe est composé de plusieurs techniciens informatiques fullstacks qui vaillent sous la supervision du CTO dans un environnement AGILE SCRUM Les mis-sions de l’équipe tournent autour de 3 points fondamentaux : le développement appli-catif, les formations et conseils et les accompagnements ICO
tra-— 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 surles domaines suivants :
— Développement Blockchain
— Développement Front-end et Mobile
— Architecture Web & Blockchain
— Intégration CSS
— DevOps
— UX / UI
1 https://www.neofacto.com
Trang 17— les formations et conseils : L’équipe offre des formations aux équipes externes
visant à maîtriser les méthodologies et les technologies nécessaires à la tion de projets Blockchain, Web et Mobiles
réalisa-Pour cela un package de 6 formations a été élaboré sur les technologies chain afin de donner aux structures les clés de compréhension nécessaires aulancement de projets avec les technologies de registres distribués,
Block-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
Dès 2014, NEOFACTO a identifié le potentiel d’innovation de la Blockchain et a
créé une spin-off, Scorechain3, dédiée à ce secteur émergeant La startup est d’hui un acteur reconnu de l’écosystème de la Blockchain et des cryptomonnaies Ellepropose des solutions anti-blanchiment d’argent et de régulation pour les cryptomon-naies, 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 notam-ment par des banques, Big 4 et plateformes d’achat/vente de cryptos Par le biais dudéveloppement de Scorechain, les collaborateurs Neofacto maîtrisent désormais lestechnologies Blockchain et comprennent les problématiques actuelles de l’écosystèmedes cryptomonnaies
aujour-2 https://www.paymium.com/
3 https://www.scorechain.com/
Trang 18FIGURE3.1 – Advanced Cyber-Threat Intelligence, Detection, and Mitigation Platform
for a Trusted Internet of Things Grant Agreement : 786698
FIGURE3.2 – Union Européenne
FIGURE 3.3 – The Framework Programme For ResearchAnd Innovation
Trang 19Le projet Cyber-Trust1est un projet Horizon 2020 de l’union européenne Elle réunitune liste de participants de plusieurs pays comme nous l’indique le tableau récapitu-latif suivant :
FIGURE3.4 – Liste des participants
La grande vision de l’Internet des objets consiste à établir un nouvel écosystèmecomposé d’appareils connectés hétérogènes - ordinateurs, ordinateurs portables, smart-phones et tablettes, ainsi que d’appareils et de capteurs intégrés - qui communiquentpour offrir des capacités de vie, de ville, transports, énergie, et de nombreux autres do-maines 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é desdonnées, l’expertise interne, l’intégration de l’IoT et les dépassements de budget sontsouvent cités pour expliquer l’échec de la mise en œuvre de l’IoT Cyber-Trust a pourobjectif de fournir la sécurité, les logiciels et l’assistance nécessaires au matériel IoT ac-tivé pour compenser ces facteurs de défaillance, et de fournir un IoT sécurisé et évolutifvia un registre à chaînes multiples amélioré Le projet traite également des données deréseau et de périphérique, des profils de périphérique et des vulnérabilités permet-tant une visualisation complexe et permettant une prise de décision rapide ainsi quedes actions d’atténuation lors de menaces renforcées et offrant une correction efficaceaprès une attaque
L’objectif IoT, bien que louable, présente une augmentation exponentielle de lacomplexité 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 desé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 lacroissance de l’IoT tout en atténuant les effets de la complexité et de la vulnérabilité
1 https://cyber-trust.eu/
Trang 20CHAPITRE 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’uti-lisation Tous les principes fondamentaux du système peuvent être rattachés à un ouplusieurs de ces TO (1-7) et visent collectivement à atteindre TO8 Voici une liste de cesobjectifs2:
— 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 auxpériphériques compromis soit refusé
— TO4 : Construire un cadre pour une évaluation continue efficace de la lité et sa correction ;
vulnérabi-— TO5 : Opération IoT digne de confiance, vérifiez le comportement des riques IoT par rapport aux politiques de sécurité ;
périphé-— 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éedes utilisateurs ;
— TO8 : développement d’une plate-forme de cybersécurité allant au-delà de l’état
as-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
Trang 21— Evolutif : notre DLT doit être hautement évolutif, ce qui est une exigence de
l’éco-système IoT, ce qui nous conduit à utiliser une DLT autorisée, qui est plus tive car seuls les nœuds centraux doivent valider la nouvelle transaction
évolu-Il s’agira donc de :
— établir l’état de l’art des frameworks blockchain existants et répondants aux ractéristiques citées plus haut
ca-— proposer une architecture basée sur le framework choisit
— proposer une architecture système pouvant supporter et mettre en place notreDLT
— établir une bonne charte de fonctionnement entre notre DLT et les autres posants du système
com-— analyser et concevoir un ensemble d’API par lesquels les autres composants dusystème peuvent communiquer avec notre DLT
Le but final étant de fournir un canal d’échange fiable aux autres composants dusystèmes pour assurer l’intégrité des données qui y sont échangé d’une part et d’autrepart de permettre aux utilisateurs finaux de pouvoir disposer d’une plateforme fiablepour la sécurité de leurs équipements
multi-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 dedonnées est sécurisée et distribuée en ce sens qu’elle est partagée par ses différents uti-lisateurs, sans intermédiaire, ce qui permet à chacun de vérifier la validité de la chaîne
Trang 22CHAPITRE 3 CONTEXTE D’ÉTUDE ET PROBLÉMATIQUE
FIGURE3.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 pable de fournir un canal sécurisé d’échanges à tous les autres composants de la plate-forme 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 niveaud’expertise assez relevé La mise en place de l’architecture nécessite aussi des compé-
ca-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
tran-sactions et exécutés avec des trantran-sactions
— 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
Trang 23— 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 missive offrant les options nécessaires pour mener à bien le projet, par le biais d’unpackage d’API permettant une interopérabilité entre les autres composants de la plate-forme
per-En d’autres termes, notre système permettra de :
— Assurer le traitement des transactions et la coordination entre les périphériquesIoT sécurisés
— Assurer la sécurité : communication de données d’identité, protéger les fichierscritiques et les fichiers binaires logiciels
— Réduire au minimum les dommages causés par les périphériques et les logicielsmalveillants altérés, ainsi que les points de défaillance uniques
— Collecte et stockage des preuves judiciaires
Trang 24l’écono-4.2 Le Framework Blockchain
Techniquement parlant, la Blockchain n’est pas un logiciel, mais un frameworkopen source de développement informatique, avec un code disponible sur internet etdéveloppé par des communautés Donc tout d’abord, nous devons choisir le frame-work Blockchain que nous utiliserons dans le développement de notre système Ac-tuellement, il y a une multitude de frameworks supportant la technologie Blockchaindont 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 enutilisant un réseau de personne à personne, sans passer par une institution financière
Trang 25Bitcoin est aussi la première application développée sur une Blockchain en 2009 quin’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 pro-grammable basée sur l’argent Elle est limitée par l’absence de confidentialité et de rôlesélectifs des données
4.2.2 Ethereum [ 17 ]
Ethereum est une plateforme open source qui permet de faire des payements curisés et transparents en se basant sur la technologie Blockchain Elle est basée surles contrats intelligents permettant la vérification et la validation des transactions ef-fectuées par ses différents utilisateurs Elle utilise aussi l’unité ETHER afin de payer lesnœuds exécutant les contrats intelligents
sé-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 pendant, il n’existe pas de mécanisme de confidentialité des données même s’il estpossible de faire une mise en œuvre à l’aide de certains contrats intelligents personna-lisés Le nombre de transactions par seconde est également meilleur qu’avec Bitcoin
Ce-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 lafinance Hyperledger a été lancé fin 2015 par la communauté Linux afin de créer desBlockchains 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
algo-rithme de consensus, la Preuve de Temps Écoulé (PoET), qui cible les grandes
populations de validateurs répartis avec une consommation minimale de sources
res-— 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 Ilest 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 teur de contrat intelligent implémenté avec spécification de la machine virtuelleEthereum (EVM)
Trang 26interpré-CHAPITRE 4 ETAT DE L’ART
— Hyperledger Fabric : une plate-forme qui fournit les différents composants comme
le consensus, le service d’authentification, les contrats intelligents, nécessairespour le développement des applications et des solutions avec une architecturemodulaire
Hyperldeger est un réseau privé pour les industries et offre d’excellentes cités en termes de vitesse et de capacités contractuelles intelligentes Il y a unecertaine complexité architecturale, mais la communauté des développeurs esttrès active et ouverte À l’heure actuelle, il n’y a pas de «client léger» axé sur l’in-tégration en ressource limité des appareils IoT
capa-4.2.4 IOTA [ 20 ]
Sans surprise, IOTA excelle dans le domaine ó il a été conçu pour : la rapidité et lacapacité à intégrer le client dans un appareil IoT Cependant, il n’existe aucun moyen(pour le moment) de mettre en œuvre des contrats intelligents, et les problèmes decentralisation
en termes d’incapacité à prendre en charge le contrat intelligent et d’autres types dedonnées
4.2.7 Corda [ 23 ]
La conception de Corda le rend très flexible, mais avec une complexité accrue.Comme beaucoup de réseaux privés, il permet un débit élevé des transactions grâce à
un protocole de consensus spécifique Il offre également une très active communauté
de développeurs Conçu principalement pour les banques, la nécessité d’interagir avecune Blockchain Corda est très lourde, ce qui rend très difficile son intégration dans unappareil IoT
Trang 274.2.8 Nano [ 24 ]
Nano a été conçu comme une crypto-monnaie haute vitesse : le nombre de sactions/seconde est élevé et la plupart des exigences sont légères et s’adaptent bien
tran-à un appareil contraint par le réseau L’absence de contrat intelligent ou la prise en
charge de données autres que les nanocoins est l’un des aspects négatifs importants
de ce protocole
4.2.9 Étude comparative
La figure suivante présente un comparatif entre les frameworks les plus populaires
et les plus utilisés dans le développement des applications basées sur la technologie
Blockchain selon les critères suivants : l’usage du framework, la communauté le portant, l’état, le consensus sur lequel est basé le framework, la nature du réseau uti- lisé, le degré de confidentialité et enfin les caractéristiques des contrats intelligents
sup-s’ils sont supporté par le framework
Nous pouvons voir ci-dessous la synthèse de tous les protocoles/frameworks avec
un score détaillé pour chaque métrique
FIGURE4.1 – Tableau compratif entre les frameworks leaders sur le marché de la ckchain
Trang 28Blo-CHAPITRE 4 ETAT DE L’ART
FIGURE4.2 – Analyse comparative Protocoles/Frameworks
Les résultats montrent que certains protocoles sont très bons sur des points fiques tels que la tolérance de panne de réseau pour Bitcoin ou l’exigence d’empreinteclient pour Ethereum
spéci-Toutefois si nous prenons une moyenne de tous les critères, les blockchains risés (Hyperledger et Corda) sont un meilleur compromis pour un si autorisé est uneoption pour le cas d’utilisation cible
auto-Il faut rappeler qu’une blockchain autorisée introduit certaines contraintes : ellenécessite plus de gestion, plus de gouvernance mais aussi plus de flexibilité, c’est pour-quoi il s’agit d’un choix fréquent pour des projets en consortium Ethereum semble êtrel’un des meilleurs compromis actuels, suivi de près par IOTA
4.3 Quelques exemples d’algorithmes de consensus [ 26 ] 4.3.1 Proof of work
— Principe : Exige des valideurs pour résoudre des énigmes cryptographiques
dif-ficiles
— Force : Fonctionne dans les réseaux non fiables
— Faiblesse : Dépend de la consommation d’énergie ; lent pour confirmer les
tran-sactions
— Exemple : Bitcoin, Ethereum
Trang 294.3.2 Proof of stake
— Principe : Exige des validateurs qu’ils détiennent des devises en mains tierces
— Force : Fonctionne dans les réseaux non fiables
— Faiblesse : Requiert une devise intrinsèque (crypto), un problème "Rien en jeu"
— Exemple : Nxt
4.3.3 Solo
— Principe : Les validateurs appliquent les transactions reçues sans consensus
— Force : Très rapide ; adapté au développement
— Faiblesse : Pas de consensus peut conduire à des chaînes divergentes
— Exemple : Hyperledger Fabric V1
4.3.4 Kafka/Zookeeper
— Principe : Le service de commande distribue des blocs aux pairs
— Force : Efficace et tolérant aux pannes
— Faiblesse : Ne protège pas contre les activités malveillantes
— Exemple : Hyperledger Fabric V1
4.3.5 Proof of Elapsed Time
— Principe : Le temps d’attente dans un environnement d’exécution fiable rend
aléatoire la génération de blocs
— Force : Efficace
— Faiblesse : Actuellement adapté à un fournisseur
— Exemple : Sawtooth-Lake
4.3.6 PBFT-based
— Principe : Practical Byzantine Fault Tolerance implementations
— Force : Raisonnablement efficace et tolérant contre les pairs malveillants
— Faiblesse : Les validateurs sont connus et totalement connectés
— Exemple : Hyperledger Fabric V0.6
« Le consensus “Practical Bizantine Fault Tolerance” (PBFT) est un protocole de
réplication de machines à états qui tolère les fautes arbitraires, ou “byzantines” » Il
as-sure une résistance contrôlée aux fautes En effet, il tolère f fautes byzantines sur 3f+1
répliques L’algorithme PBFT se caractérise aussi par sa rapidité et sa vivacité La figure
Trang 30CHAPITRE 4 ETAT DE L’ART
suivante montre les phases faisant partie du processus d’exécution de ce consensusqui sont la pré-préparation, la préparation et validation [26]
FIGURE4.3 – Les phases du consensus PBFT [26]
Trang 31Méthodes proposées
Dans cette partie nous détaillons les méthodes proposées, justifierons nos choixtechniques et discuterons leurs impacts sur les résultats
Le DLT Cyber-Trust aura plusieurs objectifs, notamment celui de source fiable pour
le stockage de preuves, de stockage de fichiers et de gestion des autorisations Les riphériques pourront récupérer l’URL du dernier correctif à mettre à jour eux-mêmes.Les méta-données de preuves stockées dans le DLT ne seront pas modifiables, ce quigarantira la confiance des responsables pour leur permettre de prendre des décisions
pé-si nécessaire Personne ne sera en mesure de modifier les données sur le DLT, ce quirend plus difficile de couvrir son suivi tout en perpétuant une attaque sur le réseau
Le DLT permettra également aux partenaires de Cyber-Trust de communiquer semble de manière sécurisée
en-Dans ce document, nous expliquerons comment nous prévoyons de mettre en oeuvre
le DLT pour répondre aux besoins des utilisateurs finaux
Après une brève introduction, nous allons commencer par expliquer l’architecture del’application Dans cette section, nous allons décrire les composants que nous déve-loppons pour les besoins de la cyber-fiducie et leur lien à travers un cas d’utilisationdécrits dans la suite(choisi parmi les cas d’utilisation du cahier de charge) Ensuite,nous expliquerons notre architecture de données Cette section présente les donnéesque nous prévoyons de stocker dans le DLT ainsi que les méthodes que nous fourni-rons pour son management Cette section permettra d’expliquer comment interagiravec le DLT fourni pour le projet Nous fournissons dans la section suivante, le proto-cole que notre DLT utilisera pour interagir avec les autres composants construit pour
la plateforme Cyber-Trust Enfin, nous expliquerons dans la dernière section commentnous prévoyons de développer nos composants sur le backend de Cyber-Trust et nosbesoins en termes de matériel
Trang 32CHAPITRE 5 MÉTHODES PROPOSÉES
5.1 Technologie
Pour notre implémentation, nous avons choisis d’utiliser Hyperledger Fabric Danscette section nous allons détailler la raison de ce choix, ensuite nous donnerons uneétude fonctionnelle et structurelle de cette technologie
5.1.2 Etat actuel d’Hyperledger Fabric [ 29 ]
Cette section a pour but de décrire la dernière version de Hyperledger, les rations majeures qu’elle apporte et son intérêt potentiel pour le projet
— FAB-11409 - Contrôle d’accès des clients de données privées (Private data client access control) : possibilité d’appliquer automatiquement le contrôle
d’accès dans la chaincode en fonction de l’appartenance à la collection del’organisation client sans avoir à écrire de logique de chaîne Nous allonsconfigurer cette fonctionnalité en utilisant la propriété de configuration de
la collection
— v1.3.0 - 10 octobre 2018 Rien de précieux pour le projet Cyber-Trust.
— v1.2.0 - 3 juillet 2018
— FAB-8718 - Données privées de canal (Channel Private Data) : conserve la
confidentialité des données de la chaincode à travers un sous-ensemble demembres d’un canal
— FAB-8727 - Contrôle d’accès pour les fonctions homologues (Access control for peer functions) : permet de configurer les identités de client pouvant in-
teragir avec des fonctions homologues, par canal
Trang 335.1.3 Modèle de confidentialité
5.1.3.1 Définitions
— Channel : Un canal est une superposition privée de blockchain permettant
l’iso-lation et la confidentialité des données Les canaux sont définis par un bloc deconfiguration, qui contient des données de configuration spécifiant les membres
et les stratégies
— Private Data Collections : Utilisé pour gérer les données confidentielles que deux
ou plusieurs organisations d’un même canal souhaitent garder confidentiellespar rapport aux autres organisations de ce canal La définition de collection dé-crit un sous-ensemble d’organisations sur un canal habilité à stocker un ensemble
de données privées, ce qui implique par extension que seules ces organisationspeuvent effectuer des transactions avec les données privées
— Private Data : Données confidentielles stockées dans une base de données
pri-vée sur chaque homologue autorisé, séparées logiquement des données du gistre des canaux L’accès à ces données est limité à une ou plusieurs organisa-tions sur un canal via une définition de collecte de données privée Les orga-nisations non autorisées disposeront d’un hachage des données privées sur leregistre des canaux comme preuve des données de transaction De plus, pourplus de confidentialité, les hachages de données privées passent par le service
re-de commanre-de, et non les données privées elles-mêmes, re-de sorte que les donnéesprivées restent confidentielles pour le donneur d’ordre
5.1.3.2 Confidentialité des transactions (Transaction confidentiality)
A Public to the members
Un canal ouvert à tous les membres ayant un peer peut être créé Il peut être utilisépour diffuser des informations avec les propriétés de la structure (intégrité, traçabilité,etc.)
ne devraient plus être disponibles
Cela peut être utilisé pour les données nécessaires dans la chaincode, mais cela nedevrait pas être visible pour tous les peers et/ou les données couvertes par le GDPR
Trang 34CHAPITRE 5 MÉTHODES PROPOSÉES
D Offchain avec Hash Onchain
Convient aux données volumineuses ou aux données non disparues comme entrée de
5.1.4 Pourquoi avons-nous choisi 1.4.0 ?
Dans les versions les plus anciennes de Hyperledger Fabric Channel, on pensait àl’origine uniquement à comment conférer une confidentialité aux transactions Mais il
y a plusieurs inconvénients :
— il est impossible de supprimer des données une fois mis dans un canal
— nous devons créer un nouveau canal pour chaque SP et y déployer une nouvellechaincode
— il faut beaucoup de DevOps pour gérer les canaux
L’amélioration majeure de la version 1.4.0 est qu’elle apporte de nouvelles solutionsaux problèmes susmentionnés Données privées activées :
— Collections privées pour chaque SP non accessibles à un autre SP
— Durée de conservation des données définissable
— Seul le hachage de données est présent dans le canal public afin que chaque ganisation puisse voir l’état du grand livre mais ne puisse pas accéder au journal
or-ni à aucune autre donnée stockée dans les données privées sans le or-niveau créditation nécessaire à cet effet [30]
d’ac-5.1.5 Modèle de sécurité dans Hyperledger
Hyperledger est conçu pour répondre aux problèmes de titres Il est utilisé dans
le cas d’une blockchain autorisée, ó les données sont limitées au sujet d’une tion La plus grande nouveauté de l’information est qu’il est important de s’assurer queles données sont stockées dans un environnement sécurisé Par exemple, il assure que
Trang 35transac-la preuve scientifique légale n’a pas été modifiée lorsqu’elle a été recueillie devant untribunal Hyperledger nous aidera à assurer :
— Intégrité : Aucune entité n’a corrompu ou altéré les preuves lors du transfert.
— Authentification : Les entités autorisées qui interagissent avec la preuve doivent
fournir la preuve de leur identité Par exemple, seul un agent LEA autorisé peutavoir accès à un journal spécifique pour lequel il demande l’accès
— Vérifiabilité : Chaque entité qui possède pendant un temps particulier la preuve
doit vérifier tous les processus
— Traçabilité : Chaque entité autorisée doit pouvoir retrouver la preuve, du
mo-ment de sa création au momo-ment de son élimination
5.2 Architecture de l’application
5.2.1 Architecture d’Hyperledger
FIGURE5.1 – Architecture native d’Hyperledger Fabric
5.2.2 Composants natifs de Hyperledger
[28]
A Fabric Peer
Les peers conserveront l’état du réseau et une copie du grand livre Nous avons deuxtypes de peers : endosser et committers peers Tous les peers vont commettre des blocsdans le grand livre distribué
Trang 36CHAPITRE 5 MÉTHODES PROPOSÉES
— Endorsers : simuler et approuver des transactions
— Committers : vérifier les endossements et valider les résultats de la transaction
avant de valider les transactions dans la blockchain
B Fabric Orderer
Comme toutes les blockchains autorisées, Hyperledger a besoin d’un concept logue inscrit sur la liste blanche capable de valider un nouveau bloc dans la chaỵne de
d’homo-blocs Dans Hyperledger, ce concept est nommé "Orderer" En gros, le donneur d’ordre
est une sorte de peer dont le travail consiste à assurer la bonne santé du grand livre
C Fabric Chaincode
Pour rappel, les contrats intelligents(smarts contracts) sont des programmes
infor-matiques contenant une logique permettant d’exécuter des transactions et de modifierl’état des actifs stockés dans le grand livre (état du monde) Les contrats intelligents Hy-
perledger Fabric sont appelés chaincodes La chaincode sert de logique métier pour un
réseau Hyperledger Fabric, en ce sens qu’il détermine la manière dont nous lons les actifs au sein du réseau
manipu-D Fabric CA
Son rơle est de gérer le certificat des différentes infrastructures Les certificats ront sur l’infrastructure à clé publique ó l’autorité de certification (CA) annonceraitdans le réseau qu’une clé publique particulière appartient à un utilisateur particulier,après quoi l’utilisateur utilisera sa clé privée pour effectuer des transactions
s’appuie-5.2.3 Exemple de transaction basé sur l’architecture native
et une clé privée à chaque utilisateur du réseau
Le client propose les transactions aux homologues endosseurs, qui capturent à leur
tour les ensembles lecture/écriture et les valident avec le contrat intelligent disponible
Cet endossement s’appelle exécution Une fois que l’exécution est terminée chez mologue endosseur, la réponse est renvoyée au client avec les signatures d’endosse-
l’ho-ment Toutes les réponses seraient asynchrones car il y aurait plusieurs transactions
de plusieurs peers dans le réseau Le processus ultérieur de la transaction dépend de
Trang 37la politique d’endossement décidée lors de la configuration initiale du réseau sons que la transaction ait les endossements requis, elle serait ensuite transmise pour
Suppo-commander la transaction.
Une fois que la transaction est soumise au service de commande, le service de
com-mande les ordonne comme indiqué dans l’ordre défini ici, puis est envoyé à tous les
peers du réseau L’ensemble ordonné de transactions s’appelle des blocs
Enfin, les transactions envoyées à partir du service de commande sont validées
au-près de chaque homologue afin d’obtenir des endossements suffisants et de vérifier lacohérence de la transaction Une fois la validation effectuée, chacun des peers émetdes événements qui indiquent si la transaction est valide ou non
Le service de commande de la structure Hyperledger est également connectable
et les organisations peuvent également utiliser le service de commande de leur choix
Certains des services de commande utilisés dans la structure sont SOLO, le service de commande Kafka (tolérance aux pannes lors de collisions) et le consensus actuelle- ment utilisé pour la tolérance aux pannes byzantines (BFT) est en cours.
5.2.4 Décomposition et relation des composants
La communication entrante avec la blockchain passe exclusivement par le serveurReST Tous les événements Blockchain seront transférés vers le bus de messages Acti-veMQ Les autres composants accéderaient ensuite au DLT via ReST si les données dumessage ne sont pas suffisantes
Le composant à développer sera le serveur ReST et les chaincodes Les autres
com-posants (Peer, CA, Orderers) doivent être configurés et nécessitent d’importants vaux de développement pour leur intégration industrielle