veille sur la transition numérique et l'économie collaborative

État de l’art de la sécurité des blockchains

Nicolas Courtois - University College London
“In Crypto we Trust” : Dans cette présentation sont abordés un certain nombre de problèmes de sécurité dans les systèmes blockchains actuels : Bitcoin, Ethereum, Monero, etc.
« Un système extrêmement déficient » selon Nicolas Courtois car d’après sa démonstration, « même la NSA ne fait plus confiance aux courbes elliptiques ». Sur le site betmoose.com, il a lancé un pari en Bitcoin, entre cynisme et curiosité de chercheur, sur le thème suivant : « la cryptographie de Bitcoin sera cassée en 2016 ». D’après lui, « le schéma de signature numérique de Bitcoin avec SHA256 + secp256k1 ECDSA sera brisé avant le 18 décembre 2016 par des chercheurs en cryptographie. Le résultat devra être divulgué ou publiquement démontré avant ou le 18 décembre 2016. Il devra être confirmé par au moins trois chercheurs indépendants diplômés d’un doctorat en cryptographie ». Néanmoins, selon les commentaires de cet article, il aurait déjà tenu ce pari en 2015 qu’il aurait donc perdu.

Nicolas T. Courtois

Cryptographe, docteur de l’Université Pierre-et-Marie-Curie et maître de conférences à l’University College of London, Nicolas Courtois est à l’origine du concept d’attaque XSL, une méthode théorique pouvant potentiellement casser AES et qui a été critiquée par plusieurs experts en cryptologie. Il obtient un titre lors d’une compétition de cassage de code. Cryptologist & Code Breaker : university cipher champion https://arxiv.org/abs/1405.0534. L’actualité concernant Nicolas T. Courtois est disponible sur son blog : http://blog.bettercrypto.com/

Vidéo de la conférence

Problématiques

  • Comment une communauté d’individus peut faire fonctionner une coopérative financière sans se faire manipuler par des entités supérieures (banque etc) ?
  • Ces systèmes de blockchains sont des coopératives. La nécessité pour les banques de se mettre en coopérative est importante aujourd’hui.
  • Peut-on faire confiance au code source et à la cryptographie du Bitcoin ?
  • Satoshi Nakamoto serait l’auteur de 2 % du code source du Bitcoin et les questions concernant son identité n’ont, à ce jour, jamais trouvé de réponses. En revanche, dans Linux nous savons qui a écrit le code source.

Anarchie numérique : côté sombre

La plupart des défauts (bugs) du Bitcoin sont présentés comme des caractéristiques. Tout d’abord, le fait qu’il y ait ou non une politique monétaire est discutable. Odile Lakomski-Laguerre et Ludovic Desmedt ont étudié le sujet et notamment le fait que ces crypto-monnaies révolutionnent le système bancaire mondial.

Il soulève ensuite le problème de cryptographie à travers ce que l’on appelle l’“anonymous founder syndrome”. Dans l’ouvrage Banking Beyond Banks, paru en septembre 2016, on trouve d’ailleurs un passage sur la question : le Bitcoin aurait ce syndrome du créateur anonyme, surtout parce que le fondateur détient une part disproportionnée du pouvoir sur cette blockchain.

Longuest chains rule

Le Bitcoin repose sur un mécanisme de consensus et de décisions actuelles : exemple de la règle qu’on appelle “longest chains rule” qui permet de résoudre les conflits au sein de la blockchain. En effet, cette règle se traduit par la proposition suivante : “si je vois plusieurs blocs, je considère la chaîne la plus longue comme légitime et la traite”. En somme, cette règle permet de décider quels blocs et quelles transactions seront acceptés.  Les deux mécanismes ne s’inscrivent pas de la même manière dans le temps, l’un est long, tandis que l’autre est rapide. Ainsi adopter le même mécanisme pour les deux, n’est pas normal.  (source : Bits on blocks).

blockchain

Pour pouvoir attaquer la blockchain, il faut détenir plus de 50 % de la puissance de calcul, la menace est fixée à 51%. Détenir 51 % de la puissance de calcul n’implique pas un coût important. Selon Nicolas Courtois, « il est aisé de réunir autour d’une table les personnes qui représentent 90 %  de la puissance de calcul du Bitcoin ». Il s’agit notamment des Chinois.Il y a donc une fragilité du réseau Bitcoin qui se situe à ce niveau.

Rêve de cryptographes

Les cryptographes nourrissent le rêve de construire des systèmes “trust-less”, et la blockchain l’a réalisé. C’est donc le protocole cryptographique qui permet de se passer de l’approbation d’une quelconque autorité pour prendre des décisions.

Caractéristiques du Bitcoin

Le Bitcoin est le descendant des monnaies traditionnelles comme l’Euro qui ne sont pas convertibles, mais purement conventionnelles et de la carte à puce. Basée sur le “network effect”, la valeur du Bitcoin croît avec le réseau. Le mécanisme est le même que celui d’Apple : plus il y a de produits, plus le réseau Apple est grand, et plus le produit prend de la valeur.

Cette monnaie est privée, elle s’inscrit dans un contexte de révolution économique et sociale. En effet, aujourd’hui, tout le monde peut émettre sa monnaie. Doté d’une base de données publique, le Bitcoin est fait d’un système de comptabilité qui n’est pas une comptabilité à double entrée :  il y a un “ledger” public qui contient l’historique de toutes les transactions – [ la technologie blockchain est dite technologie de registre distribué, ledger distribued technology report by UK government – NDLR  ].

L’existence du Bitcoin soulève des problématiques d’ordre sociétal : tout peut être monnaie à condition que les gens l’acceptent. Deux facteurs le permettent : le premier est celui de la popularité qui remplace les standards imposés par le gouvernement, le second est la confiance, on n’a plus besoin de faire confiance à qui que ce soit.

Modernité & système de valorisation

La modernité du Bitcoin réside dans son système de valorisation qu’on qualifie de système du “Network effect”. Ce système crée la valeur et est capable de s’alimenter lui-même. L’innovation peut être convertie en argent et l’argent en innovation. C’est cette innovation qui pourrait bien devenir une nouvelle source de richesse. Ainsi supprimer la preuve de travail (“proof of work”) comme le propose Ethereum serait une erreur.
;

Autoriser le transfert d’argent

Le transfert d’argent sera essentiellement abordé à travers le Bitcoin.

L’autorisation des transactions se fait souvent par un élément d’authentification et de certification. La clé privée est un élément fondamental, à partir du moment où on détient une clé privée, on peut dépenser l’argent. Néanmoins son stockage reste problématique puisque beaucoup de personnes le font sur leur PC ou téléphones portables. La carte à puce peut être une solution. Elle est importante puisque nous pouvons y stocker directement de l’argent, elle a une valeur monétaire. Par conséquent si elle est cassée, l’argent disparaît. C’est une nouvelle forme de danger qui apparaît.

La signature électronique

Clé privée, Clé publique

Comme celle d’un chèque, la signature électronique est utilisée pour tout. Elle est utilisée sur un site web, ou en banque, elle fait partie du quotidien. Les transactions sont signées électroniquement pour le Bitcoin. En cryptographie, cette technique est parfaitement bien maîtrisée. Les algorithmes génèrent des clés privées, des clés publiques, ils produisent la signature et la vérifient. Tout ceci est régi par des directives européennes. La signature électronique est reconnue par exemple au Royaume Uni avec l’ Electronic Communications Act 2000 et en France avec l’article 1316-4 du Code Civil.

La signature se caractérise par un double lien, à savoir le lien qui concerne la personne qui signe et l’autre lien, qui concerne le document. Pour le Bitcoin, il y a un certain nombre d’exigences : tout d’abord l’authentification de la signature, ce qui entraîne la non répudiation, c’est-à-dire l’ »imputabilité » et enfin la vérification des signatures qui est publique. Ce dernier aspect est primordial puisqu’il entraîne la confiance dans le réseau. Ainsi, plusieurs partis peuvent vérifier la validité de la transaction.

Ce système “trustless” est assez vieux. En effet, il tire son origine de la carte bancaire. Lors d’une transaction, la carte va produire une signature avec RSA de la transaction. La banque ne connaît pas la clé privée. On n’a donc pas besoin de faire confiance à la banque.

Pour le Bitcoin, c’est exactement le même type de signature qui autorise une transaction.

Structure et fonctionnement du Bitcoin

La blockchain est très difficile à produire, chaque bloc nécessite une dépense assez importante d’énergie. La sécurité du Bitcoin réside dans l’empilement des blocs. Chaque bloc dépend du précédent. Et le nombre de confirmation est proportionnel à la transaction en cours.

Le Bitcoin a évolué loin de la philosophie de son créateur Satoshi Nakamoto qui voulait mettre tous les intervenants sur un même pied d’égalité.

Le réseau est composé de 3 entités disjointes :

  • Les Mineurs ( 50K ) : hachent avec des clés publiques.
  • Le réseau P2P ( 5K ) : relayent et stockent les transactions et les blocs.
  • Les Portefeuilles électroniques ( 5,5M; 0,25M actifs ) : stockent les clés privées ; ils ne peuvent pas envoyer de l’argent.

Le système de multi signatures est possible avec la technologie blockchain du Bitcoin. En effet, chaque propriétaire peut détenir plusieurs clés pour valider un transaction. Par exemple avec 3 signatures, il faut au moins deux signatures pour permettre de dépenser des Bitcoins ; les trois clés peuvent être enregistrées à des endroits différents. C’est une véritable innovation et renforce énormément la sécurité. Peu importe si une des clés est volée car il en faut suffit de 2 pour valider la transaction. A contrario, ce système dématérialise complètement l’argent, il ne peut pas être situé, on ne peut pas le saisir ! Cela pose un véritable problème pour les juridictions nationales.

Conclusion

Le Bitcoin est un système qui a des faiblesses.

Sa cryptographie est très différente de celle utilisée par la NSA, contrairement à ce qu’en dit le Wiki Bitcoin.

Selon Dan Brown titulaire de la Chaire de SEC, la cryptographie du Bitcoin n’est pas à recommander. D’ailleurs pour discuter de toutes ces problématiques concernant la cryptographie, une conférence a lieu tous les ans : Catacrypt. Elle permet de réunir l’ensemble des chercheurs en cryptographie  pour réfléchir sur les failles des systèmes.

Aujourd’hui, le Bitcoin est probablement sûr mais à moyen terme, il ne le sera plus.

En savoir Plus

Un article commenté de Nicolas T. Courtois qui explique que son pari sur le fait que le Bitcoin sera cassé n’est pas d’actualité.

Cet article de 2016 soulève, une fois de plus, la question de l’identité de Satoshi Nakamoto.

Odile Lakomski-Laguerre et Ludovic Desmedt ont étudié la politique monétaire du Bitcoin.

L’ouvrage Banking Beyond Banks and Money est partiellement disponible en ligne.

Une explication accompagnée de schémas de la règle “longest chain rule”.

Le rapport gouvernemental Distributed Ledger Technology: beyond block chain

Journée SIF

Blockchain : émergence d’une nouvelle forme de confiance numérique

log SIF - Société Informatique de France

Télécom ParisTechlogo ChainTech   Pascaline logo labo des savoirs logo-campus-800

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.