BATMAN : plate-forme blockchain pour l'authentification et la confiance dans les WSNs

04/02/2018 ∙ by Axel Moinet, et al. ∙ 0

Wireless Sensor networks (WSN) today suffer from a lack of security adapted to their multiple constraints, to which authentication and trust management solutions such as PGP only partially responds. On the one hand, the constraints of autonomy and co-operation of the nodes necessary to guarantee the coherence of the network do not require a distributed solution. On the other hand, the constraints of energy consumption and the low computing power of the nodes require the use of algorithms of low complexity (Zhang2014) . To our knowledge, no solution can answer both these problems at the same time. We are proposing a new solution for securing WSNs named BATMAN (Blockchain Authentication and Trust Module in Ad-hoc Networks) to reply to these challenges. We present a model of centralized management for authentication and trust, implementable on the Tezos blockchain, and evaluate through simulation the confidence estimators proposed here.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Blockchain Authentification and Trust Module in Ad-hoc Network

Dans cette section, nous présentons les principales caractéristiques de l’architecture BATMAN telle que nous l’avons définie. BATMAN fonctionne par l’interaction entre deux grandes parties, en charge respectivement de l’authentification et de la confiance entre les nœuds. Pour chacune de ces parties, nous présentons brièvement les différents challenges et verrous auxquels notre modèle est confronté, ainsi que les solutions techniques apportées. Le point critique pour l’élaboration de BATMAN est de disposer d’une structure de données distribuée qui soit aussi résiliente aux tentatives d’influence sur le résultat d’un calcul donné. Le meilleur exemple d’un système correspondant à ces caractéristiques sont les crypto-monnaies telles que Bitcoin[Nak08], qui utilisent la technologie blockchain pour atteindre cet objectif. La blockchain est un registre inaltérable et distribué de données transactionnelles regroupées en blocs, ce qui permet de stocker les informations nécessaires sans nécessiter de nœud central. Par son protocole de consensus et de transaction, elle est résiliente à l’influence et à l’intérêt particulier des nœuds qui la supportent. Enfin, la majorité des plate-formes blockchain fournissent le support de l’exécution de code distribuée pour l’automatisation des tâches au sein du réseau, à travers les smarts contracts. Ces trois propriétés nous permettent de garantir un modèle d’évaluation neutre, déterministe et disponible à la demande, tout en restant évolutif.

1.1 Gestion de l’authentification et de l’identité dans Batman

Nous décrivons dans cette partie les mécanismes d’authentification et de gestion d’identité que nous avons implémenté dans BATMAN : nous identifions les différents nœuds du réseaux en leur associant une structure identité composée d’un triplet (, dans lequel et désignent respectivement le hash de la clé publique maîtresse et d’un identifiant unique, et un nom d’hôte à utiliser sur le réseau. À cette structure sont associés les hash de trois clés secondaires utilisées pour l’authentification , la signature et le chiffrement , sur un modèle équivalent à PGP. La génération des clés et de l’identifiant unique est hors du champ de ce papier. De manière similaire à PGP, nous imposons une durée de validité maximum aux clés enregistrées pour mitiger la possibilité d’attaque par découverte de clé, mais également pour éliminer les nœuds inactifs ou ayant été retirés du réseau.

L’enregistrement et la gestion des identités est réalisée par deux smart contracts. Le premier permet de créer l’enregistrement de nouvelles identités. À l’enregistrement, un nouveau contrat dédié à la gestion des clés cryptographiques de la nouvelle identité est émis. Ce contrat permet de réaliser la mise à jour et la révocation des clés en cas de compromission ou de perte d’une clé secondaire. En cas de compromission ou de perte de la clé maîtresse, la révocation oblige la régénération d’une nouvelle identité pour le nœud. Le second contrat permet aux nœuds de valider leur identité au sein d’un Web of Trust similaire à celui de PGP, dans lequel les nœuds valident les identités de leurs pairs par une signature. Afin de mitiger la possibilité d’attaque Sybil, nous utilisons un système de Proof of Work qui impose une valeur numérique maximale pour , sur le même modèle que ce qui est utilisé au sein de la blockchain Tezos[Goo14].

1.2 Mécanismes pour gestion de la confiance des nœuds

Notre modèle a pour ambition de répondre aux exigences de confiance en terme de fiabilité d’un nœud réseau [SHYL06]. Notre analyse s’appuie sur la définition de la confiance de Gambetta[Gam90], selon laquelle la confiance est vue comme une probabilité subjective donnée par un premier acteur quant à la réalisation correcte d’une action précise par un second acteur dans le futur. Notre approche distingue la confiance comme étant la probabilité subjective de réalisation de l’action, et la réputation comme une probabilité consensuelle, qualifiant la vision globale de l’ensemble des acteurs sur la réalisation de l’action. Nous avons inclus dans BATMAN les mécanismes permettant calculer les probabilités correspondant à la réputation et à la confiance d’un nœud. Dans un soucis de concision, nous ne présentons ici que la partie du modèle liée au calcul de réputation, soit la probabilité de réalisation d’une action vue de l’ensemble du réseau.

Nous définissons une action comme une interaction entre nœuds, par exemple l’accès à une ressource. La réalisation d’une action par un nœud , notée , génère un évènement noté

au moment

de l’action. Chaque évènement prend une valeur binaire, caractérisant l’échec () ou la réussite de l’action (), et est assimilé à une variable aléatoire dans l’ensemble , suivant la loi de distribution discrète de Bernoulli. La réalisation future du même type d’action consiste alors en un nouveau tirage. Estimer sa probabilité de réussite ou d’échec revient alors à estimer le paramètre pour la réalisation de , noté . Nous utilisons un estimateur du maximum de vraisemblance () pour déterminer à partir des évènements passés, qui, pour la loi de Bernoulli, consiste au rapport des succès sur le nombre de tirages , où est le temps du dernier évènement. Ici, les échecs valant , la somme des évènements est égale à la somme des succès, et ce calcul correspond à la moyenne des évènements sur la durée de vie du réseau . Cette définition nécessiterait cependant de disposer de tous les échantillons survenus depuis le démarrage du modèle, donc de devoir stocker un grand nombre d’échantillons, et possède une complexité algorithmique non bornée donc insatisfaisante à nos besoins. Nous proposons donc trois méthodes différentes pour réaliser l’estimation et présentées dans la Table 1 : les deux premières méthodes utilisent pour une méthode de fenêtrage, l’une temporelle avec taille de la fenêtre et présentée en Equation 1, et l’autre en nombre d’évènement avec taille de la fenêtre et présentée en Equation 2. La dernière méthode, , présentée en Equation 3, utilise une reformulation de sous forme de suite.

(1)
(2)
(3)
Table 1: Méthodes proposées pour réaliser l’estimation de la réputation dans BATMAN

Ces trois méthodes permettent de borner le nombre d’échantillons ainsi que la complexité algorithmique, qui est respectivement pour chaque méthode en , et , ce qui remplit notre condition de compatibilité avec des nœuds à faible puissance de calcul. Nous avons implémenté ces méthodes au sein de BATMAN en ajoutant aux smart contracts d’authentification un smart contract chargé de collecter les évènements pour chaque nœud du réseau et de renvoyer son estimation de à la demande. Ce contract est émis lors de l’enregistrement, en utilisant un code préchargé sur la blockchain, ce qui nous permet de s’assurer que le code éxécuté ne peut être altéré.

2 Validation du modèle de réputation par simulation

Dans cette partie, nous évaluons au travers de simulations les trois méthodes proposées pour réaliser l’estimation de la réputation, présentées en Section 1.2. Les simulations ont été réalisées sous le logiciel GNU Octave. Pour conduire nos simulations, nous introduisons une probabilité de défaillance des nœuds , déterminée suivant une loi normale de moyenne et de déviation standard (valeurs choisies arbitrairement). Avec ces paramètres, il y a de chance que la probabilité pour un nœud de réaliser une action avec succès soit comprise entre et (ici entre et ). Le trafic émis par chaque nœud à chaque moment est caractérisé par un évènement dont la probabilité de réussite ou d’échec est .

Nos simulations ont pour but de montrer l’intérêt de notre approche pour chacune de nos trois méthodes sur un réseau composé de nœuds, en étudiant l’influence du temps d’utilisation ainsi que des tailles de fenêtres utilisées. La Table 2 décrit les principaux paramètres de notre simulation, notamment le temps de simulation , la taille de la fenêtre temporelle et la taille de la fenêtre d’évènement .

Paramètre Valeur min Valeur max Incrément
500 5000 500
100 300 25
100 300 25
Table 2: Paramètres de simulation
(a)
(b)
(c)
Figure 1: Estimations de par , et avec

Nous mesurons pour le nœud l’estimation de pour les trois méthodes , et décrites. Les résultats de ces mesures sont présentés en Figure 1. Ces premiers résultats montrent que la méthode converge vers avec une erreur moyenne stable, au contraire des méthodes et , au comportement plus ératique, comme montré en Figure 1 (b) et (c).

Sur l’ensemble des résultats, la méthode par fenêtre temporelle apparaît comme étant la moins stable dans ses estimations, ce qui était prévisible compte tenu de l’incertitude sur le nombre d’évènements utilisés dans le calcul. Pour les méthodes et , les résultats présentés nous permettent de définir des seuils de fenêtrage pour atteindre une erreur moyenne sur l’estimation de , de pour une erreur moyenne de et de pour une erreur moyenne de .

Dans ce papier, nous nous sommes focalisés sur les aspects théoriques et architecturaux de notre solution. Les résultats obtenus par simulation nous permettent de passer à l’étape suivante en réalisant une implémentation de BATMAN sur la blockchain Tezos [Goo14], choisie pour son système de preuve Proof of Stake qui offre des performances intéressantes en termes de consommation énergétique, et donc adaptées aux WSNs. Cette implémentation sera déployé sur un réseau de caméras intelligentes développé au Le2i pour tests en conditions réelles.

Références

  • [DMB16] Julien Dubois, Axel Moinet, Serge Bobbia, Roberto Marroquin, Barthélémy Heyrman, Pierre Bonazza, Benoit Darties, Christophe Nicolle, Yannick Benezeth, Johel Mitéran, and Dominique Ginhac. WiseEye: A Platform to Manage and Experiment on Smart Camera Networks. In 5th Workshop on Architecture of Smart Cameras (WASC), Dijon, France, July 2016.
  • [Gam90] Diego Gambetta. Can we Trust Trust? Trust: Making and breaking coopeative relations, pages 213–237, 1990.
  • [Goo14] L.M Goodman. Tezos: A self-amending crypto-ledger position paper, 2014.
  • [MS10] CM Carlo Maria Medaglia and Alexandru Serbanati. An overview of privacy and security issues in the Internet of Things. The Internet of Things, pages 389–395, 2010.
  • [Nak08] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.
  • [SHYL06] Y.L. Sun, Zhu Han, Wei Yu, and Kjr Liu. A trust evaluation framework in distributed networks: Vulnerability analysis and defense against attacks. Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications, 6(c):1–13, 2006.
  • [ZCW14] Zhi Kai Zhang, Michael Cheng Yi Cho, Chia Wei Wang, Chia Wei Hsu, Chong Kuan Chen, and Shiuhpyng Shieh. IoT security: Ongoing challenges and research opportunities. Proceedings - IEEE 7th International Conference on Service-Oriented Computing and Applications, SOCA 2014, pages 230–234, 2014.
  • [Zim95] Philip R Zimmermann. The official PGP user’s guide. MIT press, 1995.