Sécurisation par la Blockchain : révolution ou pétard mouillé ?

icon menu smartphone

01. Introduction à la blockchain


Au royaume des technologies à la mode, la blockchain (« chaîne de blocs ») tient une place de choix.

Elle génère un enthousiasme considérable, et promet de régler de nombreux problèmes par la « disruption », autre terme à la mode ! Les cryptomonnaies, notamment Bitcoin et Ethereum, ont fait leurs preuves dans le domaine de la finance.

Cependant, malgré de nombreuses promesses, les réalisations concrètes tardent à venir dans d’autres domaines. De plus, ses principes techniques sont souvent mal compris. S’agirait-il d’une technologie ultraspécialisée, ou d’un battage médiatique sans lendemain ? Ses principes technologiques sont cependant souvent mal compris.

Une seule chose est sûre : nous avons tous les ingrédients d’une mode puissante et tenace. Nous allons donc examiner ce sujet riche, avec un intérêt particulier pour les applications en sécurité de l’information.

Les applications de la Blockchain promettent d’être très vastes ; on parle de transformations notables dans les services financiers, les assurances, le vote en ligne, l’ « économie collaborative » (Uber, Airbnb et leurs confrères), la sécurité de l’information … Certifier la signature de documents officiels dans une blockchain pourrait permettre de se passer de notaire, par exemple ! Arrêtons ici le catalogue (non exhaustif !), et voyons les principes fondamentaux de cette technologie.

02. Principes clefs

Sans m’essayer à une description complète des technologies blockchain (d’autres le font mieux que moi [1]), un rapide récapitulatif s’impose au vu du flou technique qui entoure le sujet.

Résumons, donc. Une blockchain est une base de données bénéficiant des propriétés techniques suivantes :

La combinaison de ces propriétés techniques produit des fonctionnalités extrêmement *puissantes* :

Les pièces du puzzle sont séduisantes, mais pour le moment, difficile de voir l’assemblage complet ! En sécurité, nous serons particulièrement intéressés par la combinaison d’un modèle de confiance solide. 

03. Application à la sécurité

Gestion des clefs cryptographiques

En gestion des clefs, la norme depuis les années 90 est la mise en place d’Infrastructure de Gestion des Clefs, ou PKI. Les limites de cette technique sont bien connues, en premier lieu la complexité de mise en place, et la dépendance sur un acteur centralisé qui concentre les secrets. Quelle serait alors l’alternative ? Les réseaux de confiance (Web of Trust) tel quel mis en place par PGP (et ses petits camarades, GnuPG et OpenPGP) sont un modèle de confiance décentralisé. Malheureusement, les réseaux de confiance sont limités dans leur capacité d’accepter de nouveaux membres (difficulté d’entrer dans le réseau) et dans les possibilités de recouvrement de clefs perdues ou compromises.

C’est ici que les technologies blockchain interviennent !

Elles permettent de stocker de manière décentralisée les clefs publiques et de les diffuser dans un réseau de manière fiable. On exploite ici les propriétés de décentralisation, bien sûr, mais aussi l’immuabilité des blocs et le modèle de confiance. La confiance est primordiale dans un système de gestion de clefs : impossible de fonctionner si les utilisateurs ne peuvent pas utiliser les clefs sans se poser de question.

Et s’ils s’en posent quand même ? La transparence des blocs leur permet d’aller vérifier les transactions qui ont inscrit la clef, les éventuelles mises à jour et révocations … Tout un chacun peut vérifier l’intégrité de la chaîne !

Intégrité des données

Comment vérifier l’intégrité d’un large panel d’informations, par exemple l’intégralité des logiciels dans un store pour mobiles ? Actuellement, nous retombons sur des techniques de signature de logiciels, avec des certificats. Mêmes problèmes qu’avec les PKI : dépendance à une autorité centrale, concentration des secrets (et donc de la gravité d’une attaque réussie).

L’idée est ici d’inscrire dans une blockchain les condensats des informations qu’on veut garantir et de vérifier en temps réel l’intégrité ou de contrôler les changements. L’intégralité des vérifications sera donc accessible à tous les acteurs du réseau ; de manière imagée, c’est comme si on diffusait une information au plus grand nombre pour rendre impossible sa manipulation : le jour de la fête nationale ou le dernier vainqueur de la coupe de France de football sont de notoriété publique, il serait quasi-impossible de truquer ces informations. Le contrôle d’intégrité des informations reprend ce principe.

Résolution de noms

Le dernier problème épineux que je vais aborder aujourd’hui est celui de la résolution de nom sur internet, universellement gérée actuellement par le protocole DNS. Rapidement, la définition de nom permet de faire correspondre une adresse « en toutes lettres » (par exemple www.google.com) à une adresse IP utilisable par la machine (par exemple 216.58.214.36). Le DNS est un vieux protocole, issu des débuts d’internet, dans les années 80. A cette époque, la sécurité n’était pas vraiment une préoccupation (laissez-moi croire que ça a changé ! Je suis un éternel optimiste), mais plutôt pour la résistance aux erreurs et la fiabilité. Résultat ? De nombreuses attaques se basant sur ce protocole ou sur les serveurs DNS eux-mêmes. L’une des plus récentes incarnations se trouve dans l’attaque par DDoS de Dyn, fournisseur de services (dont la résolution de nom) pour de nombreux sites web majeurs. Des poids lourds du web, comme twitter, reddit ou airbnb s’en sont trouvés indisponibles.

Diffuser des informations de résolution de nom dans une blockchain écarte les possibilités d’attaque sur le service central, que ce soit pour le rendre indisponible ou le manipuler. Ici aussi, les propriétés d’immuabilité et de décentralisation font merveille. Outre éviter des attaques, il serait plus difficile pour un état autoritaire de rendre inaccessible tout ou partie d’internet, comme l’a fait l’Egypte en 2011 par exemple. La répartition des informations promet même d’avoir des bénéfices en termes de performances, point notable quand les bénéfices de la plupart des autres applications blockchain se trouvent ailleurs.

04. Conclusions

A la lumière de ces applications, force est d’admettre que les technologies blockchain, à défaut d’offrir des solutions miraculeuses, présentent des potentiels notables. Dans tous les cas, c’est une évolution que nous suivons, chez emagine, avec beaucoup d’attention. La difficulté est désormais de transformer l’essai et de réussir à offrir d’autres implémentations réussies, en plus de Bitcoin.

Un point majeur de la technologie est la suppression des intermédiaires (banques, tiers de confiance …), en déportant la confiance dans le système technique. Si elle parvient à surmonter ses complexités intrinsèques et son manque actuel de maturité, nul doute que l’ « Uberisation » touchera d’autres domaines que les taxis !

[1] par exemple l’excellent blog d’ethereum France : https://www.ethereum-france.com/blockchain-etat-des-lieux-et-prospective/

En savoir plus sur notre pôle Cybersécurité

Contact


Nicolas Levain
Responsable de la Sécurité des Systèmes d'information
T 01 81 93 88 02



Contacter

 

Contacter

ACCEPTOur website uses cookies so that we can provide you with the best possible user experience.
More information