Gestion des ressources
Internet of Things
L’IoT est un réseau de dispositifs physiques, intégrant de l’électronique, des capteurs, et une connectivité permettant à ces éléments de se connecter et d’échanger des données. Ainsi, une intégration plus directe du monde physique dans les systèmes informatiques est possible, ce qui se traduit par des améliorations d’efficacité, des avantages économiques et une réduction des efforts humains.3 L’idée étant de pouvoir connecter des objets qui ne sont pas, à la base, des ordinateurs, dans le but de les faire interagir entre eux ou avec des ordinateurs pour améliorer le traitement de l’information. Un objet connecté basique ne ferait que des actions simples : capter une information, puis la transmettre à un ordinateur qui peut la traiter. Parfois, l’objet peut lui-même commencer à analyser l’information. « Moi, le vélo en libre-service, étant donné que je suis immobile depuis plus de deux jours, ne dois-je pas être vérifié ? »4
Un objet plus avancé pourrait prendre des décisions basées sur ce qu’il peut déduire de ses analyses. « Moi, le chariot automatique, on me demande, au même moment, d’amener le produit x dans la zone A et le produit y dans la zone B. Étant donné l’endroit où je me trouve, je commence par le produit y dans la zone B. »4 Finalement, un objet très avancé serait un objet qui embarque ou qui serait connecté à une intelligence artificielle. Il pourrait alors « comprendre » sa raison d’être et faire des analyses encore plus poussées. « Moi, la palette, j’ai été déplacée dix fois de suite. Alors, sans avoir été programmée pour cela, je me donne pour objectif d’être contrôlée (support, houssage) et alerte les opérationnels concernés. Si on me rapporte une altération, je préviens les autres palettes et leur fais bénéficier de mon retour d’expérience. »4
Sécurité et vie privée
La sécurité et le respect de la vie privée est un grand défi dans le monde de l’IoT. Les objets connectés, de par leur nature, peuvent être très sensible aux attaques.22 Ces derniers étant directement impliqués dans le monde physique, ils sont donc physiquement accessibles et pourraient être trafiqués manuellement. Par ailleurs, cette présence dans le monde réel peut rendre certains objets particulièrement dangereux, que ce soit des voitures autonomes ou même des capteurs destinés à faire fonctionner une centrale nucléaire. En outre, les capacités de calcul encore relativement faibles de ces objets les rendent un peu plus vulnérables aux attaques à distance, certains ne pouvant pas utiliser d’algorithmes de chiffrement forts, et d’autres faisant face au risque de se faire intercepter leurs clés de chiffrement par des attaques de type man in the middle. Finalement, la forte utilisation du sans-fil rend ces objets vulnérables à l’écoute non autorisée et aux attaques par déni de service à l’aide de brouilleurs.
En ce qui concerne la vie privée, les risques de dérives sont grands. La plupart des objets connectés d’aujourd’hui fonctionnent en récoltant des données sur des individus. Certaines de ces données peuvent être sensibles. Il est alors très important de les identifier afin de les stocker sur des serveurs séparés et de manière sécurisée. Par ailleurs, rien n’empêche certains objets de récolter des données sur des individus qui n’utilisent pas le service proposé par l’objet et qui n’ont pas accepté cette récolte. Or, il est aujourd’hui possible, en croisant les informations de divers objets et de divers capteurs, d’établir des profils très complets sur ces individus. Il est alors primordial qu’un cadre légal soit établit pour empêcher ce genre de pratique. L’arrivée du RGPD est parfaite pour cela, car il garantit que l’on ne puisse pas stocker d’informations sur les individus qui n’ont pas explicitement donné leur accord, en plus de donner le droit de regard, de rectification et de suppression aux utilisateurs de ces services.
Communs On voit justement réapparaitre la notion de communs, notion presque disparue depuis la révolution industrielle. On pourrait regrouper sous cette appellation les ressources partagées, les communautés de toutes sortes et les projets collaboratifs, trois aspects qui construisent le capital social de notre société.27 Il y a ces plateformes participatives accessibles par tous (Github, Wikipedia), ces technologies qui fonctionnent par la mise en commun de ressources (BitTorrent, Blockchain), ces initiatives qui tendent à remettre le citoyen au coeur de la gestion de la vie courante, parfois citoyennes (Monnaie Léman), parfois étatiques (Genève Lab). Cette évolution commence même à se faire une place dans le monde de l’entreprise, certaines choisissant de mettre en place des ressources communes, et d’autres, une organisation horizontale libre de toute hiérarchie.28 L’essayiste J. Rifkin – un personnage plutôt controversé29 – théorise que l’économie de partage est gentiment en train d’éclipser l’économie de l’échange, et que ce sont des citoyens à la fois producteurs et consommateurs qui peupleront le monde de demain.30 Je pense en effet, sans tout le pathos qu’il y met, que c’est la direction que prend la société. Le gouvernement va successivement contrôler, puis fédérer, et après simplement coordonner ces initiatives, à chaque fois en perdant un peu plus de pouvoir au profit de ces citoyens. Il finira par avoir un rôle d’agrégateur, ou simplement d’intermédiaire, entre tous ces projets et tous ces communs. Les décisions, elles, finiront par être prises ailleurs, dans un système plus fiable, plus juste, plus smart, possible grâce aux registres distribués et aux nouvelles technologies.
Fonctionnement
L’accès au portefeuille se fait à l’aide d’un seed : une chaine de 81 caractères. Cette chaîne étant suffisamment complexe, elle sert à la fois d’identifiant et de mot de passe. Cette simple chaine, qu’il faut bien évidement garder secrète, permet de générer une infinité de paires de clés publique / privée de manière incrémentale.44 C’est à l’adresse, identique à la clé publique, qu’est attribué un solde de iotas. C’est cette partie qui est visible sur le réseau. Un seed peut donc posséder plusieurs adresses, car celles-ci sont « jetables ». En effet, dans IOTA, les adresses ne sont utilisables qu’une seule fois. L’algorithme cryptographique que le système utilise est basé sur un système de one-time signature. Bien qu’il soit possible d’utiliser une adresse plusieurs fois, c’est très fortement déconseillé car un individu malveillant pourrait croiser ces signatures et retrouver la clé privée.
On peut voir ces adresses comme des tirelires : on peut y mettre des fonds autant de fois que l’on en a envie, mais pour les utiliser il faut « casser » la tirelire et elle n’est plus utilisable de manière sécurisée. S’il l’on ne souhaite dépenser qu’une partie des iotas disponibles sur une adresse, le solde est expédié sur une nouvelle adresse dérivée du seed et ce transfert fait partie intégrante de la transaction. Par ailleurs, pour pouvoir participer au registre distribué qu’est IOTA, il faut utiliser un noeud. Mais l’installation d’un noeud est relativement compliquée et les ressources nécessaires pour le faire tourner sont très élevés, trop pour des objets connectés. Par conséquent, il est possible d’utiliser soit un full node, soit un light node. Le full node stocke une réplique du Tangle et communique avec d’autre noeuds, c’est donc grâce à lui qu’il est possible d’envoyer des transactions ou de s’informer sur des transactions existantes. Le light node est une méthode qui permet de se connecter directement à un full node, et de participer au réseau en envoyant des commandes à l’aide de l’API. C’est ce que fait l’application officielle. Néanmoins, même en cas de ressources limités, le seed ne sort jamais du light node et toutes les signatures sont faites localement. C’est pour émettre et recevoir qu’il y a besoin d’un full node.
Avantages
Dans IOTA, il n’y a plus de mineurs et le proof of work est réduit au strict minimum. C’est en effectuant des transactions qu’on valide les autres transactions. De cette manière, chaque utilisateur du réseau participe activement à l’achèvement du consensus. Tous les utilisateurs étant égaux, il n’y a pas de conflits d’intérêts comme on peut le voir dans une blockchain classique (mineurs contre utilisateurs).44 Par ailleurs, le Tangle est scalable, étant donné que la validation des transactions se fait en parallèle. Chaque transaction en validant deux autres, plus il y aura de transactions, plus d’autres transactions seront validées. Par conséquent, la rapidité à laquelle les transactions seront confirmées augmentera en fonction du nombre de transactions.
Le Tangle est fait pour s’agrandir. Mais l’argument principal de la fondation IOTA, c’est bien évidemment l’absence complète de commissions. Puisque chaque utilisateur participe activement à la validation des transactions et à l’achèvement du consensus, aucune commission n’est nécessaire pour inciter les utilisateurs à fournir un travail. Le travail doit être fournit pour pouvoir émettre des transactions. Cette absence de commission, la rapidité à laquelle les transactions sont validées et son adaptabilité sont justement les raisons qui démarquent IOTA des autres cryptomonnaies et qui font d’elle, justement, la monnaie parfaite pour l’IoT et tous les systèmes nécessitants un nombre important de microtransactions. Finalement, et même si ce n’est pas une propriété intrinsèque du Tangle, les algorithmes utilisés par IOTA sont quantum-proof. Ils n’ont rien à craindre de l’arrivée potentielle des ordinateurs quantiques.
|
Table des matières
1. Introduction
1.1 Motivations
1.2 Problématiques
1.3 Cadre
2. Contexte
2.1 Internet of Things
2.1.1 Définition
2.1.2 Fonctionnement
2.2 Smart cites
2.2.1 Définition
2.2.2 Fonctionnement
2.3 Systèmes distribués
2.3.1 Définition
2.3.1.1 Exemples
2.3.2 Propriétés
2.3.2.1 Performance
2.3.2.2 Fiabilité et redondance
2.3.2.3 Indépendance
2.3.2.4 Collaboration
2.3.3 Limites
2.3.3.1 Réplication et conflits
2.3.3.2 Consensus
2.3.3.3 Mises à jour
2.3.3.4 Gestion du temps
3. Gestion des ressources
3.1 Collecte des données
3.1.1 Big Data
3.1.2 Exemple
3.1.3 Hétérogénéité
3.1.4 Sécurité et vie privée
3.2 Gouvernance
3.2.1 Communs
3.2.2 Paradoxe
4. Gestion économique
4.1 Registres distribués
4.2 Cryptomonnaies
4.2.1 Sécurité et consensus
4.2.2 Cryptoactifs
4.2.3 Transparence et anonymat
4.2.4 Confiance
4.2.5 Limite
4.3 Blockchain
4.3.1 Fonctionnement
4.3.2 Limites
4.3.2.1 Proof of work
4.3.2.2 Mineurs
4.3.2.3 Non-scalabilité
4.3.2.4 Cryptographie pré-quantique
4.4 IOTA
4.4.1 Le Tangle
4.4.2 Fonctionnement
4.4.3 Avantages
4.4.4 Limites
4.4.4.1 Coordinateur
4.4.4.2 Adresses jetables
4.4.4.3 Trinaire
4.4.4.4 Algorithme cryptographique
4.4.4.5 Fondation IOTA
4.4.5 MAM
5. Prototype
5.1 Application
5.1.1 Processus de vente
5.1.2 Modules
5.1.3 Initiative de l’acheteur
5.1.4 Initiative du vendeur
5.1.5 Validation des payements
5.1.6 Capteur
5.1.7 Modèle de données
5.2 Choix et technologies utilisées
5.2.1 Full Node
5.2.2 Request / Acknowledge / Callback
5.2.3 HTTP
5.2.4 Node.js
5.2.5 MAM
5.3 Limites
5.3.1 Confirmation des transactions
5.3.2 Double spending
5.4 Analyse SWOT
6. Conclusion
6.1 Bilan
6.2 Futur
Télécharger le rapport complet