Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un chercheur français en sécurité découvre une vulnérabilité dans le système de vote basé sur la blockchain de Moscou
Environ un mois avant la tenue des élections

Le , par Bill Fassinou

36PARTAGES

18  0 
Les systèmes de vote en ligne s’intègrent de plus en plus dans les budgets de plusieurs États dans le monde. Dans le souci de garantir plus de sécurité et maintenir l’intégrité des votes lors des élections, les chercheurs tentent désormais de s’appuyer sur les potentiels de la blockchain. Toutefois, il existerait toujours quelques vulnérabilités qui, une fois exploitées, pourraient compromettre les votes des électeurs. Ce mois-ci, un universitaire français et chercheur en sécurité a découvert une vulnérabilité critique dans le système de Moscou basé sur la blockchain quelques semaines seulement avant les élections.

Dans un peu moins de trois semaines, environ un demi-million d’électeurs de la ville de Moscou devraient normalement être autorisés à utiliser le système de vote par Internet conçu pour l’occasion. Le système de vote de Moscou est le premier de son type. Il a été développé en interne par le département des technologies de l'information de Moscou. Ce dernier utilise la blockchain Ethereum, avec ses capacités de « contrat intelligent ». Notez qu’un « contrat intelligent » est un protocole informatique destiné à faciliter, vérifier ou appliquer numériquement la négociation ou l'exécution d'un contrat.

En effet, les contrats intelligents permettent d'effectuer des transactions crédibles sans tiers. Ces transactions sont traçables et irréversibles. Les partisans des contrats intelligents s’accordent à dire que de nombreux types de clauses contractuelles peuvent être partiellement ou totalement exécutoires, s’appliquer de manière autonome, ou les deux. Les contrats intelligents ont pour objectif de fournir une sécurité supérieure au droit des contrats traditionnel et de réduire les autres coûts de transaction liés aux contrats. Un nombre important de cryptomonnaies ont implémenté des types de contrats intelligents.


La blockchain de l’Ethereum utilise une implémentation des contrats intelligents et les Moscovites ont basé leur système de vote sur cette dernière pour en tirer les avantages. Seulement, le système de vote, dont une partie du code source a été publiée sur GitHub à la fin du mois de juillet, a montré lors d’un test public qu’il contenait une vulnérabilité critique pouvant permettre à un attaquant de compromettre les votes des électeurs. Le test a révélé que le schéma de chiffrement utilisé dans cette partie du code est complètement non sécurisé. Il peut être cassé en moins de 20 minutes avec du matériel standard.

C’est Pierrick Gaudry de l'université de Lorraine et chercheur à l'INRIA, l'institut français de recherche pour les sciences numériques, qui a découvert la vulnérabilité. Il a découvert qu'il pouvait calculer les clés privées du système de vote à partir de ses clés publiques. Ces clés privées sont utilisées avec les clés publiques pour chiffrer les votes des utilisateurs exprimés lors de l'élection. Selon Pierrick Gaudry, la vulnérabilité serait imputable aux responsables russes qui ont utilisé une variante du schéma de cryptage ElGamal avec des tailles de clé de cryptage trop petites pour être sécurisées.

D’après un rapport détaillé du problème qu’il a présenté plus tôt ce mois, il a expliqué que le schéma de chiffrement utilisé dans la partie du code publié est complètement non sécurisé. Il poursuit en expliquant que ce chiffrement peut être cassé en 20 minutes environ en utilisant un ordinateur personnel standard et en utilisant uniquement des logiciels libres disponibles au public. Plus précisément, il a dit qu’il est possible de calculer les clés privées à partir des clés publiques. Une fois que ceux-ci sont connus, toutes les données chiffrées peuvent être déchiffrées aussi rapidement qu'elles ont été créées.

Le problème est donc l’utilisation d’une clé privée de chiffrement trop faible. Lorsque Gaudry a découvert la vulnérabilité et a informé le département des technologies de l'information de Moscou, ce dernier a promis de résoudre le problème très rapidement. « Nous sommes absolument d'accord sur le fait que la longueur de la clé privée 256x3 bits n'est pas suffisamment sécurisée. Cette implémentation a été utilisée uniquement dans une période d’essai. Dans quelques jours, la longueur de la clé passera à 1024 bits », a déclaré un porte-parole du département des technologies de l'information de Moscou.

Les responsables moscovites avaient modifié le schéma de cryptage ElGamal pour utiliser trois clés privées plus faibles au lieu d’une. Gaudry a déclaré qu’il n’avait pas compris pourquoi les responsables du système de vote ont choisi de faire une chose pareille, même s’il ne s’agissait que d’un test. Plus important encore, Gaudry n’est pas favorable à la solution proposée par le département pour résoudre le problème. Selon lui, une clé privée de chiffrement d’une longueur de 1024 bits est toujours trop petite pour assurer une bonne sécurité dans ce genre de système. Il estime qu’ils devraient au moins utiliser une clé d’une longueur de 2048 bits.

« C'est un mystère. La seule explication possible à laquelle nous puissions penser est que les concepteurs pensaient que cela compenserait la trop petite taille des clés des nombres premiers impliqués. Mais 3 nombres premiers de 256 bits ne sont vraiment pas identiques à un nombre premier de 768 bits », a déclaré Pierrick Gaudry dans son rapport. De plus, il n’est pas le seul à avoir critiqué l’utilisation d’une clé privée de chiffrement trop courte par les développeurs du système de vote de Moscou. Le responsable de la sécurité chez Attivo Networks, Chris Roberts, a aussi exprimé son inquiétude sur cette situation.

« Savoir pourquoi les développeurs du système ont utilisé une clé de longueur trop faible en premier lieu est évidemment une question. Est-ce un manque de connaissances et de compréhension de leur part ? Ou bien cherchaient-ils simplement à maximiser la vitesse et l'efficacité ou quelque chose d'autre ? », s'interroge Chris Roberts. Il a néanmoins ajouté que Moscou a bien fait de soumettre son système à un test de la part des chercheurs.

Cela dit, d’autres personnes dans la communauté pensent que les systèmes actuels de vote par Internet sont une très mauvaise idée, car les technologies actuelles ne le permettent tout simplement pas.

Si le système de vote de Moscou devait être utilisé pour le scrutin du 8 septembre prochain, sa durée de fonctionnement sera de 12 heures, en synchronisation avec la séance de vote officielle. Il permettra aux habitants de Moscou de voter lors du scrutin via Internet, avec leur téléphone ou leur ordinateur personnel et de consigner leurs votes sous forme cryptographique sur la blockchain publique Ethereum. D’après le rapport de Gaudry, ce qu'un attaquant peut faire avec ces clés de chiffrement lui est encore inconnu, car les protocoles du système de vote n’étaient pas encore disponibles en anglais au moment des tests.

« Sans avoir lu le protocole, il est difficile de dire avec précision les conséquences, car, bien que nous croyions que ce schéma de chiffrement faible est utilisé pour chiffrer les bulletins de vote, il est difficile de dire à quel point il serait facile pour un attaquant de trouver la correspondance entre les bulletins de vote et les électeurs. Dans le pire des cas, les votes de tous les électeurs utilisant ce système seraient révélés à quiconque dès qu'ils auraient voté », a déclaré le chercheur français.

Pour beaucoup d’autres, la blockchain est une technologie prometteuse, mais son utilisation dans la conception des systèmes de vote en ligne manque encore de connaissances approfondies. Ainsi, ils estiment que tous les systèmes actuels de vote en ligne ne sont pas sécurisés comme cela se doit. Ainsi, les utiliser dans les élections qui ont un enjeu très important comporte beaucoup trop de risques.

Sources : Pierrick Gaudry, Rapport (PDF)

Et vous ?

Quel est votre avis sur le sujet ?
Est-ce une bonne ou mauvaise idée de voter avec la blockchain selon vous ? Pourquoi ?

Voir aussi

Le système de vote en ligne de la Suisse comporte une porte dérobée jugée très grave par les chercheurs

Suisse : des experts ont décelé de graves problèmes dans le système de vote en ligne avant même le début du bug bounty prévu sur ce système

La Corée du Sud mettra au point un système de vote basé sur la blockchain le mois prochain pour accroître la sécurité des services de vote en ligne

DARPA développe une machine à voter open source avec Galois pour sécuriser les élections sans revenir aux bulletins de vote en papier

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de vxlan.is.top
Membre éprouvé https://www.developpez.com
Le 24/08/2019 à 16:17
Code : Sélectionner tout
Quel est votre avis sur le sujet ?
Le chercheur va être poursuivi pour divulgation de secret d'Etat

-VX
1  0 
Avatar de L33tige
Membre habitué https://www.developpez.com
Le 27/08/2019 à 11:53
Le HASARD
0  0 
Avatar de lanbada
Nouveau Candidat au Club https://www.developpez.com
Le 07/10/2019 à 17:42
on pourra mettre des cles de cryptage à 10 millions de digits cela n’empêchera pas les magouilles.
la machine de vote appartient à l'état et il lui fera dire ce qu'il veut.
on peut compter sur Poutine pour qu'il le fasse!
un systeme de vote doit permettre:
l'anonymat de l'electeur
l'unicité du vote
le controle du vote
1  1 
Avatar de Mingolito
Membre extrêmement actif https://www.developpez.com
Le 22/08/2019 à 17:42
C'est bien, comme ça Poutine pourra se hacker lui même pour être sur d'avoir 90% des votes
1  2