Je remercie Dimitri Saingre de nos échanges fructueux au sujet du fonctionnement technique des chaînes de blocs (partie 1. Chaîne de blocs).
1Le concept de blockchain, littéralement « chaîne de blocs » , est apparu vers 2008 pour créer initialement une monnaie virtuelle sans contrôle centralisé. Cette nouvelle technologie est régulièrement évoquée en ce qui concerne le vote électronique.
2L’objectif de cet article est de déterminer les éventuels apports et inconvénients de l’utilisation d’une chaîne de blocs au sein d’un système de vote par internet. À cette fin, nous présentons plusieurs concepts de ces technologies ainsi que d’un domaine très particulier dans lequel pourrait s’inscrire leur usage : les élections.
3La première partie traite des chaînes de blocs, la seconde partie explique quelques propriétés d’une élection. Le partie suivante décrit un certain nombre de difficultés non résolues par les systèmes de vote par Internet ou les systèmes de vote vérifiables. Enfin, nous confrontons ces connaissances afin de dresser un bilan.
4Les mécanismes régissant une chaîne de blocs sont très complexes et nous ne saurions les décrire tous. Nous en présentons quelques éléments afin que le lecteur puisse comprendre les articulations avec le vote par internet.
5Le concept de chaîne de blocs a été développé pour sécuriser un paiement dématérialisé (par Internet) sans nécessité de faire intervenir un tiers de confiance.
6Les procédés de cryptographie permettaient déjà de sécuriser un transfert d’informations mais il restait le problème non résolu de la double-dépense : comment s’assurer qu’une même unité de monnaie n’est pas dépensée deux fois par la même personne ? Lorsque l’argent est matérialisé par une pièce, le problème est simplement résolu : il faut posséder la pièce pour pouvoir la dépenser. En l’absence de pièce matérialisée, il faut que la dépense soit contrôlée par une entité tierce (une banque par exemple). Le concept de chaîne de blocs apporte une nouvelle approche : il s’agit de noter toutes les transactions dans un registre public et contrôlé par un réseau de pair-à-pair1.
7Une chaîne de blocs est donc une simulation numérique d’un registre accessible à tous (tant en lecture qu’en écriture). L’objectif est que ce registre soit infalsifiable : toute tentative de modification d’informations déjà enregistrées, y compris de leur date d’enregistrement, doit être détectée. De plus tout transfert et ajout d’une nouvelle information sont sécurisés et font l’objet d’un contrôle décentralisé, sans intervention d’une autorité reconnue (État ou tiers de confiance).
8La première chaîne de blocs est apparue en 2009. Il s’agit de la crypto-monnaie bitcoin (Satoshi, 2018). Le ou les inventeurs de cette innovation n’ont jamais été identifiés : Satoshi est un pseudonyme.
9Une blockchain est une chaîne de blocs. Un bloc est composé de transactions (celles-ci peuvent être chiffrées) et de l’empreinte* du bloc précédent (ce qui réalise le chaînage). Chaque bloc est identifié par une empreinte qui peut être vérifiée. Une transaction est un transfert d’actifs immatériels entre deux personnes. L’utilisation de signatures cryptographiques associées aux comptes garantit l’identité de l’auteur d’une transaction.
10Les transactions dépendent de la nature de la chaîne de blocs. La plus connue est la crypto-monnaie bitcoin : une transaction est alors un transfert de monnaie virtuelle et concerne un émetteur et un bénéficiaire.
11Il n’y a pas d’autorité centrale pour gérer une chaîne de blocs publique, mais un réseau pair-à-pair de « mineurs » ou « nœuds » . Ils possèdent une copie de la chaîne de blocs et assurent à la fois les ajouts de blocs et les vérifications nécessaires.
12Plusieurs étapes interviennent pour ajouter une transaction. Elles diffèrent selon les chaînes de blocs.
13Voici un exemple de transaction sur la chaîne de blocs Bitcoin (Fondation Mines-Télécom, 2017)
-
Louis souhaite transférer des bitcoins à Nadia. Il est émetteur et Nadia sera bénéficiaire de ce transfert. Il chiffre sa transaction avec une clef privée qu’il a obtenue spécialement dans ce but et la transmet au réseau bitcoin (c’est-à-dire à des nœuds du réseau pair-à-pair). Grâce à cette clef, les nœuds peuvent vérifier que Louis est bien émetteur de cette transaction et qu’il est solvable.
-
Les transactions en attente doivent alors subir une opération de minage pour être ajoutées à la chaîne de blocs. Une opération de minage comprend plusieurs traitements. Un mineur constitue un bloc en agrégeant des transactions en attente, puis le chaîne avec les blocs précédents. Le chaînage est réalisé par l’inclusion de l’empreinte du bloc précédent dans le nouveau bloc. Il réalise ensuite une preuve de travail (proof of work - POW). Quand cette preuve est trouvée, le mineur diffuse le bloc à d’autres nœuds (qui le diffuseront également). Le mineur qui a été le plus rapide à résoudre le calcul de minage reçoit un paiement.
-
Chaque nœud dispose d’un exemplaire de la chaîne de blocs. À la réception d’un nouveau bloc, un nœud vérifie la validité des transactions (pas de double dépense) et la preuve de travail. Il ajoute le bloc à son exemplaire de la chaîne si ces vérifications sont positives. Par propagation, le nouveau bloc est ainsi ajouté à tous les exemplaires de la chaîne de blocs.
14Afin que les exemplaires de la chaîne de blocs restent identiques, il faut que les nouveaux blocs aient le temps de se diffuser auprès de tous les nœuds. Dans ce but, la difficulté du minage assure qu’un temps minimal s’écoule entre l’ajout de deux blocs (dix minutes pour bitcoin). Il peut arriver que deux nœuds diffusent simultanément deux blocs différents. Dans ce cas, la chaîne valide est la chaîne la plus longue.
- 2 Cette complexité algorithmique est à l’origine de la consommation électrique élevée du Bitcoin. (Fl (...)
- 3 La décomposition d’un nombre en facteurs premiers est un exemple d’un tel calcul. Pour la chaîne Bi (...)
15Une preuve de travail est complexe à réaliser2 mais facile à vérifier3. Elle a pour but d’obliger à mobiliser une importante force de calcul, ce qui protège la chaîne de blocs : modifier un bloc nécessiterait de refaire la preuve de travail de ce bloc puis de tous les blocs qui le suivent. De plus, le temps nécessaire pour réaliser ces calculs permet de protéger la chaîne contre un afflux soudain de nouveaux blocs. En effet, dans le cas de Bitcoin, la difficulté de résolution d’une preuve de travail induit un temps moyen de 10 minutes pour le minage d’un bloc.
16Chacune des chaînes de blocs est régie par un protocole spécifique. Initialement, les calculs de minage relevaient uniquement d’une preuve de travail. Les calculs devenant de plus en plus énergivores et lents avec l’augmentation de la taille des chaînes, certains protocoles de crypto-monnaie ont évolué vers la preuve d’enjeu (proof of stake - PoS) pour remplacer la preuve de travail. Dans ce protocole, les mineurs pouvant valider un bloc sont sélectionnés en fonction de la quantité de crypto-monnaie qu’ils détiennent. La preuve d’enjeu est donc fondée sur l’hypothèse qu’un mineur est d’autant moins susceptible de fausser une crypto-monnaie qu’il en détient une grande quantité. Afin d’éviter que le plus riche soit toujours choisi, des méthodes de pondération sont utilisées. Leur résultat dépend de différents paramètres comme le temps de détention de monnaie (Peercoin) ou la circulation de monnaie (ReddCoin). Il existe de multiples variantes de la preuve d’enjeu.
17Il existe une troisième famille de protocoles : le protocole Round Robin (NIST, 2018) issu des travaux d’ordonnancement de tâches informatiques. La création de blocs est assurée tour à tour par chacun des nœuds. Une composante aléatoire permet de ne pas bloquer le minage en cas d’indisponibilité d’un nœud. Le protocole vérifie qu’aucun nœud ne mine la majorité des blocs. Ce protocole suppose un certain niveau de confiance dans l’honnêteté des nœuds et est destiné à être utilisée par des chaînes de blocs privées (voir ci-dessous).
18La capacité de calcul à mobiliser contribue à déterminer le niveau de sécurisation d’une chaîne de blocs. Ainsi, la validation de blocs par preuve de travail est reconnue comme mieux sécurisée que la validation par preuve d’enjeu, elle-même étant mieux sécurisée que la validation selon le protocole Round Robin.
19Le protocole de bitcoin utilise la preuve de travail. La prochaine version majeure d’Ethereum utilisera la preuve d’enjeu.
20Il existe différents types de chaînes de blocs en fonction des permissions accordées aux nœuds ou aux utilisateurs.
21Une chaîne de blocs publique est accessible à tous : chacun peut en lire son contenu et ajouter de nouveaux blocs. Bitcoin, Ethereum sont des chaînes de blocs publiques.
- 4 Ménissier, Thierry. « La blockchain : peut-on réinventer technologiquement la confiance ? » , The C (...)
22Une chaîne de blocs privée (permissioned) dépend d’une unique autorité ou d’un consortium qui détermine qui sont les nœuds participant à la chaîne de blocs. Les accès en écriture sont donc limités. Les accès en lecture peuvent être restreints4. Le concept de chaîne de blocs privée contredit la conception originale d’une chaîne de blocs (être accessible à tous), toutefois son utilisation peut s’avérer adéquate lorsque des organisations veulent interagir sans que ces interactions soient publiques et sans qu’il soit nécessaire de faire intervenir un tiers de confiance (NIST, 2018). Dans une telle configuration, chaque participant au réseau est clairement identifié (contrairement aux chaînes de blocs publiques où une même entité peut se cacher derrière plusieurs comptes différents). Cette identification claire des participants limite les besoins en sécurité. De ce fait, les chaînes de blocs privées possèdent des protocoles de consensus plus performants (c’est-à-dire moins coûteux et plus rapides) que celles publiques (Dinh, 2017).
23Or, la confiance dans une chaîne de blocs dépend en partie de l’indépendance mutuelle et du nombre de nœuds qui participent à l’architecture distribuée. L’indépendance mutuelle vise à éviter une entente aboutissant à un contrôle d’une majorité des nœuds (voir ci-dessous « Attaque des 51 % » ). Une chaîne de blocs est donc d’autant mieux protégée contre les manipulations que son réseau pair-à-pair rassemble un grand nombre de nœuds. Il existe cependant un inconvénient corollaire : le délai de validation des transactions peut augmenter avec la taille du réseau pair-à-pair (selon le protocole suivi). Le choix du protocole pour valider les transactions va également conditionner la confiance accordée à la chaîne de blocs.
24Trois cas d’usage
-
Transferts d’actifs
Il s’agit de la gestion d’une crypto-monnaie comme bitcoin.
-
Référence à un registre
Le caractère infalsifiable et permanent d’une chaîne de blocs évoque la tenue d’un registre tel le cadastre.
La Suède est le premier pays à avoir initié un projet pour enregistrer son registre foncier sur la chaîne de blocs privée ChromaWay5. Le projet est opérationnel depuis 2017. Le Brésil a développé un projet similaire en utilisant la chaîne de blocs publique Bitcoin.
-
Chaîne de blocs dite « programmable »
- 6 Il ne s’agit aucunement de contrats au sens juridique.
Les transactions sont liées à des ordres d’exécution de programmes nommés smart contract6. Ces programmes exécutent les conditions et les termes d’un script de manière autonome. Ils peuvent, par exemple, être exécutés par des objets (livrer un colis à une certaine date, et donc ouvrir une porte pour livrer ce colis, etc.). Des échanges de crypto-monnaie Ether rétribuent l’exécution d’un contrat.
- 7 Entre 2015 et 2019 la taille de la chaîne Bitcoin est passée de 28 à 210 gigaoctets.
25L’utilisation de technologies numériques (chiffrage, architecture distribuée) et de savoirs sociologiques (protocoles) rendent une chaîne de blocs théoriquement infalsifiable : les transactions qui y sont notées ne peuvent être ni modifiées ni effacées. Par conséquent, la taille d’une chaîne de blocs ne peut que croître7. De plus, les ajouts de blocs peuvent être tracés et audités. Les mécanismes incitatifs mis en œuvre dans les chaînes de blocs publiques (rémunération du minage) visent à accroître le nombre de nœuds, encourager les bons comportements et à l’inverse dissuader les mauvais comportements.
26Toutefois, des mineurs (seuls, ou en coalition pour augmenter leur impact) peuvent choisir d’adopter un mauvais comportement si d’autres mécanismes incitatifs les y encouragent : ignorer des transactions (selon leur origine, par exemple, qu’il s’agisse d’un utilisateur spécifique ou d’un groupe d’utilisateurs d’un pays particulier) ; ajouter des blocs avec des transactions frauduleuses et soumettre la chaîne ainsi construite dès qu’elle est plus longue que la chaîne validée construite selon le protocole ; retenir des informations en ne diffusant pas des blocs aux nœuds voisins (NIST, 2018).
27D’autres faiblesses peuvent trouver leur source dans des erreurs de programmation (y compris des mécanismes de chiffrage) ou dans la confiance accordée aux nœuds.
- 8 « The system is secure as long as honest nodes collectively control more CPU power than any coopera (...)
28Comme énoncé dès l’article fondateur « Le système est sûr tant que les nœuds honnêtes contrôlent collectivement plus de puissance CPU que celle de chacun des groupes de nœuds d’attaquants coopérants. »8 (Satoshi, 2008).
29En effet il n’existe pas de mécanisme permettant de vérifier qu’un nœud validant un bloc a effectivement effectué les vérifications nécessaires et que celles-ci ont été satisfaisantes. Un nœud peut donc « mentir » sans être puni ou exclu du réseau pair-à-pair auquel il participe. Toutefois, il n’a pas a priori d’intérêt à se comporter seul d’une telle manière car le bloc validé de manière indue va être ajouté à son exemplaire de la chaîne de blocs mais ne sera pas accepté par les autres membres du réseau pair-à-pair. Par conséquent ses minages ultérieurs sont voués à l’échec ; ce qui lui ôte toute possibilité de rémunération ultérieure.
30La règle du consensus majoritaire a un corollaire : un utilisateur ayant le contrôle de plus de 50 % de la puissance CPU de l’ensemble des nœuds peut manipuler la chaîne et effectuer des transactions malhonnêtes (faire une double dépense, par exemple) car celles-ci seraient validées par les nœuds qu’il contrôle.
31En 2016, une attaque visant le fonds d’investissement TheDAO a permis de dérober 5 % des Ether en circulation, soit 50 millions de dollars9.
32En juillet 2017, une nouvelle attaque a visé Ethereum : 31 millions de dollars ont été dérobés de trois portefeuilles Parity en quelques minutes. L’ampleur de l’attaque a pu être limitée car elle a été rapidement constatée10.
33Pour ces deux attaques des failles de programmation de smart contracts ont été exploitées.
34En novembre 2017, 30 millions de dollars de la chaîne de blocs de crypto-monnaie Tether ont été transférés vers un compte Bitcoin et une start-up de la plateforme Ethereum a disparu après avoir collecté 375 000 dollars (Laurent, 2018).
35En décembre 2017, la banque de cypto-monnaie Youbit située en Corée du Sud a annoncé sa faillite après deux piratages lui ayant fait perdre 17 % de ses actifs11.
36En janvier 2018, la société japonaise Coincheck a perdu environ 530 millions de dollars à la suite d’un piratage12.
37Une élection est un dispositif permettant de répondre au problème suivant : prendre une décision controversée en un temps raisonnable et que cette décision soit acceptée sans désordres publics. Ce maintien de la paix publique dépend de la confiance des électeurs quant à la sincérité des résultats énoncés. Si la population soupçonne, à tort ou à raison, que les résultats énoncés ne correspondent pas aux suffrages collectés, des protestations s’organisent et la légitimité des personnes désignées élues peut être durablement contestée.
38Les électeurs ont confiance dans la sincérité des résultats s’ils estiment que les règles en vigueur ont été respectées. Il arrive que des atteintes soient constatées et qu’un juge soit saisi d’un contentieux électoral. Généralement (d’après la jurisprudence), le juge électoral estime l’ampleur des atteintes face aux écarts entre les candidats afin de décider s’il convient, ou pas, d’annuler le scrutin.
39Le cas de la fraude à la chaussette à Perpignan en est un bon exemple. Un président de bureau de vote avait dissimulé des bulletins et des enveloppes dans ses poches et ses chaussettes :
40« Le tribunal administratif de Montpellier avait décidé d’annuler l’élection de Perpignan, estimant que la fraude était avérée et que le faible écart de voix entre les candidats pouvait altérer la sincérité du résultat. »13
41Cette annulation n’aurait probablement pas eu lieu si le juge avait estimé que les faits constatés n’étaient pas en mesure de faire changer l’issue du scrutin.
42La résolution du contentieux électoral s’appuie donc sur des preuves et des témoignages et dépend du nombre de suffrages litigieux.
43La transparence d’une élection est une notion complexe. Il s’agit de l’ensemble des règles et des mesures organisationnelles qui permettent le constat d’éventuelles atteintes à la sincérité d’une élection (bourrage d’urnes, substitution de bulletins, pressions, achats de votes, etc.) et leur traitement juridique.
44Ainsi, pour l’OSCE (Organisation pour la sécurité et la coopération en Europe), le décompte des voix doit pouvoir être observé :
- 14 « in paper ballot systems counting cannot be considered transparent if observers are present during (...)
45« Avec des élections papier, le système électoral ne peut considéré comme transparent si des observateurs présents durant le dépouillement sont tenus à l’écart de telle manière qu’il ne puissent voir les bulletins de vote et vérifier que les suffrages sont comptés honnêtement »14 (OSCE, 2013)
46Toutes les atteintes à la sincérité ne peuvent être constatées (certains tricheurs ne se font pas attraper), mais il est essentiel que la capacité à constater de telles atteintes soit d’autant plus importante que le nombre de suffrages concernés (détruits, ajoutés ou modifiés) est élevé.
47La transparence n’est pas une notion binaire au sens où il existe différents degrés dans la transparence. Ainsi, il est plus facile de constater qu’une urne est vide si elle est en Plexiglas plutôt que si elle est fabriquée en bois ou en métal. Dans le premier cas, il suffit de voir l’urne pour constater qu’elle est vide. A contrario, si l’urne est construite avec un matériau opaque, il est indispensable de l’ouvrir pour faire le même constat. La recherche d’un éventuel double-fond nécessite même de pouvoir toucher et manipuler l’urne à observer. La transparence est amoindrie si les constats nécessitent l’intervention d’un tiers (matériel, logiciel ou humain) pour effectuer des constats. C’est le cas lorsqu’un électeur ne peut constater lui-même l’état d’une urne opaque (il lui est interdit de la toucher) et qu’il ne peut que demander à un membre du bureau de vote d’effectuer le contrôle à sa place.
48Nous remarquons qu’une élection transparente ne nécessite pas de mesures spécifiques concernant la sécurité car le traitement d’éventuelles atteintes à la sincérité est anticipé : des constats pourront être effectués et les atteintes seront évaluées, puis traitées lors d’un contentieux électoral.
49Ainsi, il existe une chaîne vertueuse : la transparence permet le constat d’éventuelles atteintes à la sincérité ou au secret du vote. Ces constats peuvent faire l’objet d’un traitement juridique susceptible de se conclure par l’annulation des élections. La transparence électorale est donc un fondement essentiel de la confiance des électeurs et de la légitimité des élus.
50Il existe de multiples formes du vote électronique : vote par boîtier, par internet, machine à voter, stylo numérique, dépouillement automatisé, etc. (Enguehard, 2010). Les fonctionnalités, les technologies et les cas d’usage de ces dispositifs diffèrent.
51L’exposé ci-dessous ne vise pas l’exhaustivité. Il traite uniquement de connaissances nécessaires pour comprendre la problématique de l’introduction d’une chaîne de blocs au sein d’un système de vote à distance par Internet.
52Lorsqu’une procédure de vote dématérialise les choix des électeurs (et c’est le cas avec le vote par Internet), les électeurs signifient leur choix par un geste (clic de souris) converti en une impulsion électrique. Celle-ci déclenche la formation d’une représentation numérique qui sera transformée à son tour à de multiples reprises. Le bon fonctionnement de ces logiciels mis en œuvre pendant l’élection ne peut être vérifié du fait du secret du vote.
- 15 Ainsi en mai 2019, une enquête pour fraude électorale a été initiée par le Ministère public du cant (...)
- 16 Voir (Enguehard et al. 2017) au sujet de l’usage du vote par internet lors d’élections professionne (...)
53Nous avons expliqué précédemment que la transparence permet de constater des atteintes aux élections et d’en apporter les preuves et les témoignages devant un juge électoral15. Lorsque le processus est dématérialisé, les constats sont limités bien que toutes les expressions de vote, sans aucune exception, soient transformées plusieurs fois et que ces transformations ne soient pas observées. Des traitements de données modifiant les choix des électeurs (par erreur ou par fraude) pourraient intervenir et changer l’issue d’une élection sans qu’aucune preuve ne puisse être apportée à un juge électoral16. Le processus de vote par Internet est donc opaque.
54Cette perte de transparence inhérente à l’informatisation s’est accompagnée de l’apparition de nouvelles problématiques jusqu’alors absentes du domaine électoral : la sécurité et la vérifiabilité.
55La sécurité comprend deux composantes :
-
la fiabilité est la capacité d’un système à fonctionner sans erreur et sans tomber en panne. Voici quelques atteintes à la fiabilité d’un système de vote par Internet : lenteur, panne, non présentation de candidats, absence de bouton de vote, établissement de résultats erronés.
-
la sûreté est l’ensemble des moyens matériels, humains, organisationnels visant à éviter ou à contrer toute attaque malveillante. Cette attaque peut être d’origine interne (membre du bureau de vote, personnel d’une entreprise de vote électronique) ou externe (personne non impliquée dans l’organisation du vote).
56Il est impossible de prouver que la sécurité d’un système de vote par Internet est parfaite (si tant est qu’une telle perfection puisse être atteinte), et il n’est pas possible de vérifier que les résultats électoraux énoncés sont justes. Certes, en France, les systèmes de vote doivent être expertisés, mais ces expertises sont limitées et leurs résultats ne sont pas publics. In fine, les électeurs ne disposent d’aucun élément pour fonder leur confiance dans la sincérité de résultats électoraux. Ils peuvent soupçonner, à tort ou à raison, que les élections ne sont pas sincères. La voie juridique étant quasiment impraticable, les protestations ne sont plus canalisées.
57La promesse d’une sécurité parfaite ne peut donc compenser la disparition de la transparence (Enguehard, 2017).
58Les principes régissant un « système de vote vérifiable » ont été élaborés autour du nouveau millénaire. Ils reposent sur deux points :
-
vérification individuelle : chaque électeur peut vérifier que son choix est bien enregistré.
-
vérification universelle : l’agrégation des choix enregistrés pour obtenir des résultats électoraux peut être vérifiée.
59Plusieurs problèmes subsistent avec ce nouveau modèle (Enguehard, 2015). Tout d’abord la vérification individuelle est facultative et il n’est généralement pas prévu de répertorier, ou même de compter, les électeurs ayant effectivement vérifié le bon enregistrement de leur choix. Lorsque ce décompte de vérification est réalisé, il révèle des taux de vérification très bas (moins de 2 % pour des élections générales en Australie (Brightwell, 2015)). Deuxièmement, cette vérification peut exposer l’électeur à des pressions, s’il dispose d’une preuve de vote ou s’il est autorisé à changer son vote (Halderman, 2015). Troisièmement, si l’électeur ne dispose pas de preuve de vote (car en détenir une pourrait l’exposer à des pressions) et qu’il constate que son choix a été modifié, il ne pourra en apporter la preuve devant un juge : la vérification individuelle n’a aucune validité juridique. De plus, la vérifiabilité pourrait favoriser l’apparition de rumeurs. Des électeurs n’acceptant pas le résultat de l’élection pourraient prétendre, par mensonge, avoir constaté une modification de leur choix et ainsi attiser le doute quant à la sincérité de l’élection.
60L’étape de vérification universelle elle-même n’est qu’optionnelle et il pourrait s’avérer difficile de la mettre en œuvre. Ainsi, depuis plusieurs années, il existe des « systèmes de vote électroniques vérifiables » qui sont couramment déployés, notamment lors d’élections professionnelles : les électeurs votent en cochant des cases sur un bulletin de vote, ceux-ci sont ensuite dépouillés automatiquement (par scanner). Bien qu’une vérification des résultats énoncés pourrait être entreprise, nous avons constaté à de nombreuses reprises qu’aucune vérification n’est organisée ni même autorisée.
61Du fait de son incapacité à prendre en compte la dimension juridique de la contestation d’une élection, la vérifiabilité n’est pas en mesure de compenser la disparition de la transparence.
62Le vote par Internet est un mode de vote à distance et il présente les même faiblesses que les autres modes de vote à distance (Enguehard, 2008). Par exemple, l’identité d’un électeur ne peut être formellement vérifiée. Toute personne ayant été destinataire (par fraude ou par erreur) du matériel de vote d’un électeur peut usurper son identité (spoofing) et voter à sa place (NAP, 2018).
63Toutefois il existe des failles spécifiques au vote par Internet.
-
Déni de service (denial of service)
Le système de vote, saturé de requêtes, n’est plus en mesure de répondre en un temps raisonnable et finit pas se mettre en indisponibilité.
-
Homme-au-milieu (man-in-the-middle)
Un vers ou un virus hébergé sur le terminal de l’électeur peut modifier le choix effectué par ce dernier juste avant qu’il ne soit chiffré puis envoyé au système de vote. Une preuve de concept de cette fraude a été effectuée lors des élections législatives 2012 en France pour lesquelles le vote par Internet avait été autorisé pour les français de l’étranger (Grégoire, 2012).
Le vote, non chiffré, peut également être envoyé à des tiers à l’insu de l’électeur.
-
Liberté de vote
Lorsqu’une élection est organisée à distance et en ligne, le système de vote doit contrôler que chaque droit à voter n’est utilisé qu’une seule fois. À cette fin, il se voit confier à la fois l’identité d’un électeur et son vote tout en assurant respecter le secret du vote. L’électeur peut s’interroger sur le respect du secret du vote et, dans le doute, ne pas voter librement, c’est-à-dire changer son intention initiale de vote (par exemple, voter blanc).
-
Usage des droits à voter
L’organisateur d’une élection par Internet est également en charge de distribuer aux électeurs les informations nécessaires pour voter (identifiant, mot de passe, etc.). Il n’existe aucun mécanisme protégeant contre une utilisation abusive de ces informations par toute personne en ayant connaissance, en particulier au sein de l’organisation des élections. Une occurrence de ce type de fraude a été récemment relevée au Canada17.
64Associer vote électronique et chaîne de blocs est une idée souvent avancée. Il s’agit de concevoir des « systèmes de votes en ligne sécurisés » (Delahaye, 2015), d’obtenir un « résultat transparent et auditable par tous » (Dorléans, 2016). ou encore de donner la possibilité à chaque votant de vérifier son vote (Blockchain France, 2015).
- 18 Voatz. « UNDER THE HOOD The West Virginia Mobile Voting Pilot » , 2019. Consulté le 30 avril 2019.
65À notre connaissance il n’existe pas d’article scientifique détaillant une implémentation d’un système de vote avec chaîne de blocs. Les informations que nous avons pu collecter sont parcellaires. L’État de Virginie occidentale a impulsé le développement d’un prototype pour autoriser les électeurs vivant à l’étranger à voter avec leur téléphone18. Il semble que les votes soient stockés sur une chaîne de blocs privée gérée par 32 mineurs. L’identité chiffrée de chaque électeur est conservée avec les votes, ce qui permet d’annuler un vote. Pour dépouiller, les bulletins sont imprimés puis scannés afin d’obtenir des résultats électoraux. F. Dorlénans (Dorléans, 2016) explique que l’organisateur de l’élection émet des jetons et en distribue un à chaque électeur. Un électeur exprime un vote en transférant son jeton dans le portefeuille électronique d’un candidat. La start-up Blockchain France (Blockchain France, 2015) fait valoir l’usage d’une chaîne de blocs publique en mettant en avant la possibilité offerte à l’électeur de vérifier son vote. Le site « Follow My Vote » (FMV) explique que sa plate-forme de vote fournit une paire de clefs à chaque électeur, lors de la création de son compte, afin de préserver le secret du vote vis-à-vis des autres électeurs.
66Nous évaluons dans quelle mesure les systèmes de vote avec chaîne de blocs sont en mesure de tenir les promesses annoncées.
- 19 Cortier. Véronique, Gaudry, Pierrick. Glondu, Stéphane. (2018) « (a voté) Euh non : a cliqué » . 15 (...)
67Comme dans tout système de vote électronique dématérialisant les choix des électeurs, les expressions des votes sont transformées sans que toutes ces transformations puissent être observées (c’est le cas par exemple du passage entre le vote sur la machine physique et l’émission de la transaction correspondante sur la chaîne de blocs). Le qualificatif « transparent » est donc employé à tort pour qualifier le processus électoral. En utilisant ce terme, les auteurs se réfèrent à l’accès en lecture à la chaîne de blocs et mettent en avant la possibilité offerte à un électeur de vérifier son propre vote. Cette confusion entre transparence électorale et vérifiabilité est malheureusement assez fréquente19.
68De plus, comme pour tous les systèmes de vote électronique vérifiables, il n’est pas envisagé qu’un électeur constate que son vote a été modifié.
- 20 « Being that all users have access to this information at all times, any user could audit the resul (...)
69« Tout utilisateur peut vérifier les résultats d’une élection à tout moment pour s’assurer que les résultats rapportés sont bien exacts. »20
- 21 « a voter can look up his vote in the public record and verify that it was cast correctly. » [FMV, (...)
70« Un électeur peut consulter son vote tel qu’il est enregistré et vérifier qu’il a été exprimé correctement. »21
71Par conséquent, la possibilité d’un recours en justice pour cette raison est ontologiquement écartée.
72L’anonymat est la rupture de tout lien entre l’identité d’un électeur et son vote. L’anonymat conditionne le secret du vote. Or, concevoir un système de vote électronique qui, à la fois, contrôle l’unicité du vote, garantit l’anonymat et dématérialise l’expression du vote reste un problème complexe, non résolu à ce jour (Enguehard, 2010). Il a été formellement démontré que la protection de la vie privée dans les protocoles de vote électronique dépend de la vérification d’hypothèses comme une puissance de calcul limitée d’un attaquant, l’existence préalable d’un canal de communication anonyme entre les électeurs et les organisateurs de l’élection, ou l’intervention d’un tiers de confiance (Haghighat, 2013). La vérifiabilité rend ce problème encore plus difficile à résoudre puisque chaque électeur doit être en mesure de reconnaître son vote parmi ceux qui sont enregistrés.
73Le support d’une chaîne de blocs pour mémoriser les votes reçus n’apporte aucun élément supplémentaire pour résoudre ce problème. Certes, les électeurs ne sont pas identifiés dans la chaîne de blocs. Comme leur identité est cachée derrière un identifiant chiffré, ils restent inconnus des autres électeurs. Mais ils doivent être reconnus par l’organisateur des élections qui contrôle les droits de vote : seuls les électeurs autorisés peuvent voter et ils ne votent qu’une seule fois.
74Nous avons précédemment constaté que des chaînes de blocs ont été victimes de piratage. Leur usage dans le domaine électoral pose la question bien spécifique du constat d’une fraude. Les piratages de crypto-monnaie ont été dénoncés car des personnes ont vu le montant de leur portefeuille diminuer au profit d’un inconnu. Or, le bénéficiaire d’une fraude électorale est connu (il s’agit d’un des candidats) et l’électeur qui vérifierait son vote et constaterait une modification de son choix initial ne pourrait en apporter la preuve. La possibilité offerte aux électeurs de modifier leur vote à leur guise durant la période électorale accroît cette difficulté.
75Nous avons identifié en sus des questions spécifiques à l’usage d’une chaîne de blocs pour enregistrer les votes des électeurs.
- 22 Article R68 du code électoral.
- 23 voir par exemple le décret no 2017-1560 du 14 novembre 2017.
76Une des principales propriétés d’une chaîne de blocs est d’être non modifiable. Or, la législation française prévoit que les bulletins de vote soient détruits, qu’il s’agisse de bulletins de vote papier dans le cadre d’un vote politique22, ou de vote par Internet pour une élection professionnelle23. Cette destruction constitue une garantie que les votes et leurs auteurs ne seront jamais révélés.
77L’usage d’une chaîne de blocs publique a pour conséquence la création de multiples copies de cette chaîne détenues par des nœuds sur lesquels l’organisateur du vote n’a aucune autorité. L’organisateur est donc dans l’impossibilité de les détruire toutes. Les choix effectués par les électeurs seraient donc conservés ad vitam æternam, ce qui est susceptible d’amoindrir la liberté de vote : des électeurs pourraient être amenés à ne pas voter librement de peur que leur choix ne soit un jour révélé du fait des progrès en cryptanalyse.
78Pour remédier à cet inconvénient, les votes peuvent être enregistrés sur une chaîne de blocs privée, uniquement dédiée à une élection ou un groupe d’élections. Pour en contrôler les copies, il serait nécessaire que cette chaîne de blocs ne soit pas publiquement accessible en lecture (ce qui a pour conséquence d’empêcher les électeurs d’y avoir accès à des fins de contrôle). L’organisateur des élections pourrait alors exiger la destruction de cette chaîne de blocs par tous les nœuds y ayant participé, mais il serait difficile de vérifier l’effectivité de cette destruction (les nœuds pouvant quand même appartenir à des entités différentes, comme dans le cas des chaînes de blocs publiques). Par ailleurs, cet usage d’une chaîne privée supprime certains avantages mis en avant pour cette nouvelle technologie : la confiance accordée à une chaîne de blocs privée est amoindrie du fait du contrôle des nœuds par une unique autorité. Certes, plusieurs institutions pourraient coopérer et se contrôler les unes les autres, mais les électeurs seraient quand même privés de capacité à contrôler directement le déroulement des élections.
79De nombreuses failles bien connues du vote par Internet ne sont pas résolues par l’usage d’une chaîne de blocs. C’est le cas de la modification du choix de l’électeur sur le poste de l’électeur avant l’envoi à la plateforme de vote (homme-au-milieu), ou encore du détournement de droits à voter par l’organisateur de l’élection.
80Nous assistons à un phénomène habituel lorsqu’une avancée technologique se diffuse et fait émerger un nouveau marché. Mal comprise du fait de sa complexité, elle est présentée comme la solution à tous les problèmes d’une ancienne technologie, quitte à tordre certains concepts.
81Les chaînes de blocs ne font pas exception. Conçues pour résoudre le problème de la double dépense, et fort bien adaptées à la gestion décentralisée de crypto-monnaies et de registres distribués entre différentes entités, elles ne constituent pas le saut technologique qui permettrait de réaliser un vote dématérialisé et transparent.
- 24 « Vulnerabilities arise because of the complexity of modern information technology (IT) systems and (...)
82De plus, cette technologie contribue à complexifier davantage la mise en œuvre d’un vote électronique à distance. Il faut mobiliser des savoirs toujours plus pointus pour en comprendre l’organisation et de nouvelles failles jusqu’alors inconnues apparaissent. Les effets pervers de cette complexification ont déjà été soulignés par le National Academies Press (NAP, 2018), « les vulnérabilités surviennent du fait de la complexité des technologies de l’information et de la difficulté des humains à appréhender quelles actions sont sûres ou non du point de vue de la cybersécurité. Par ailleurs, la cybersécurité est un défi sans fin. »24
83Implémenter un vote par Internet à l’aide d’une chaîne de blocs apparaît aujourd’hui comme un mésusage de cette nouvelle technologie. Cette utilisation est d’ailleurs absente des exemples de cas d’usage de chaînes de blocs dressée par le National Institute of Standards and Technologies, qu’il s’agisse de chaînes de blocs privées ou publiques (NIST, 2018).
Empreinte (hash code) d’une information (Dubertret 2018)
84L’empreinte d’une information est une chaîne de caractères (généralement de taille fixe) déterminée en fonction de cette information. Par exemple, la date d’anniversaire (jour, mois) d’un individu constitue une empreinte de son identité. Nous constatons que des personnes différentes nées à la même date peuvent avoir la même empreinte : il s’agit de collisions.
85L’usage d’empreintes pour sécuriser le chiffrage d’informations exige le respect de plusieurs propriétés :
Soient I, une information ; h, une fonction de hashage ; E, une empreinte telle que E = h(I) ; K, une constante.
-
la longueur de l’empreinte est raisonnablement courte |E| < K
-
il est quasi-impossible de reconstituer l’information à l’origine d’une empreinte, c’est-à-dire de trouver I en connaissant h(I).
-
il est quasi-impossible de reconstituer une information ayant une la même empreinte qu’une information donnée, c’est-à-dire de trouver I’ telle que de h(I’) = h(I) et I’ ≠ I.
-
il est quasi-impossible de trouver deux informations en collision, c’est-à-dire de trouver I et I’ telles que de h(I’) = h(I) et I ≠ I’.
Chiffrement asymétrique (Dubertret 2018)
86
87Le chiffrement asymétrique est fondé sur l’usage de paires de clefs non identiques. Chacune des clefs peut déchiffrer un message chiffré par l’autre clef. Par convention, l’une des clefs est nommée « clef publique », et l’autre la « clef privée ».
La situation de départ
88Louis veut envoyer un message à Nadia que seule Nadia saura déchiffrer. Il chiffre son message à l’aide de la clef publique de Nadia. Le message devient indéchiffrable, sauf pour Nadia qui pourra le déchiffrer à l’aide de sa clef privée.
Louis envoie un message que seule Nadia peut lire
- 25 Cette dernière phrase est exacte sous l’hypothèse que Louis ne s’est pas fait dérober sa clef privé (...)
89Louis veut prouver à Nadia qu’il est bien l’auteur du message qu’il lui envoie. Il chiffre son message à l’aide de sa propre clef privée. En effet, Nadia possède la clef publique de Louis et elle l’utilise pour déchiffrer le message. Elle est certaine que l’auteur du message est bien Louis25. Cet usage correspond à la signature électronique.
Nadia est certaine que Louis est l’auteur du message