Sale temps pour le vote electronique

Le
A. Caspis
L'affaire des machines à voter Diebold en Floride semble avoir
connu un rebondissement assez dramatique la semaine dernière.
Une démonstration publique aurait prouvé qu'il est possible de
pré-configurer la carte mémoire amovible qui enregistre les
votes, de telle façon que la machine affiche bien "il y a 0
votes dans l'urne" en début de scrutin, mais que le décompte à
la fin du scrutin soit modifié par les données pré-enregistrées:

http://www.miami.com/mld/miamiherald/news/13410061.htm

La vulnérabilité était connue depuis mai 2005. En gros, si on
initialise la carte à X=k et Ye536-k, la machine affiche
0 votes (modulo 65536), et en fin de compte il y a un biais de
2*k voix en faveur du candidat X

De plus la carte mémoire contiendrait un programme (en Basic :-)
qui ne serait même pas authentifié par la machine. Mais une
fraude par ce biais pourrait probablement être détectée lors d'un
examen a posteriori de la carte (si sa batterie n'est pas déjà
vide au moment où on commence à se poser des questions ?).

Tout ça est tellement affligeant que j'ai du mal à y croire.
Il n'est question de crypto à aucun moment.

http://www.blackboxvoting.org/BBVreport.pdf


L'aspect croustillant de l'histoire, c'est que les bidouilleurs
qui ont réalisé cette démo en profitent pour ridiculiser les
experts universitaires qui avaient plus ou moins attesté devant
le Congrès américain que les machines étaient bien conçues:

http://www.bbvforums.org/cgi-bin/forums/board-auth.cgi?file=/1954/15595.html

Moralité: vive l'open source et les audits indépendants pour les
logiciels critiques.

AC

  • Partager ce contenu :
Vos réponses Page 1 / 3
Trier par : date / pertinence
Aris
Le #819099
A. Caspis wrote:


L'aspect croustillant de l'histoire, c'est que les bidouilleurs
qui ont réalisé cette démo en profitent pour ridiculiser les
experts universitaires qui avaient plus ou moins attesté devant
le Congrès américain que les machines étaient bien conçues:


Forcement, une analyse formelle d'un systeme ne prend pas en compte les

integer overflows et autres erreurs de programmation dans le genre.
le manque de cryptographie dans ce genre d'applications est d'ailleur
irresponsable. Je pense par exemple au vote en belgique, ridiculisé à cause
d'un bit inversé (à cause d'un soit disant rayon cosmique). en effet, une
commune avait une erreur de 4096 votes pour un candidat !
Ce genre d'erreur serait detectée immédiatement à la source si chaque carte
avait de la cryptographie integrée (hash + signature), à tous les niveaux.

Ensuite, je trouve essentiel que lorsqu'une personne a fini de voter, il
reste une copie papier de son vote (avec le candidat ecrit lisiblement
dessus) pour que la personne puisse verifier qu'il n'y a pas fraude.
ensuite le papier tombe dans une urne.
Si il y a contestation, on sort les papiers de l'urne et on les compte à
l'ancienne.

Xavier Roche
Le #819098
A. Caspis wrote:
Moralité: vive l'open source et les audits indépendants pour les
logiciels critiques.


Non. Même pas. Même en open source, même en autorisant des autorités
indépendantes à vérifier chaque urne, le vote électronique est
actuellement une impasse.

Le vote électronique souffre d'un problème qui n'est actuellement pas
résolu: il est, au niveau théorique, non fiable. Fondamentalement non
fiable.

C'est la quadrature du cercle: chaque système électronique à sa faille,
et personne n'a encore trouvé de solution, même au niveau théorique.

Quelques propriétés nécessaires pour un scrutin:

- Il faut, individuellement et globalement, pourvoir s'assurer que son
vote a bien été pris en compte (non falsification des votes) [càd, un
individu X doit pouvoir s'assurer que son vote a été pris en compte, et
d'autre part que le votes du voisin est bien pris en compte]
- Il faut pouvoir éviter qu'un vote ne soit pris en compte plusieurs
fois, ou que des personnes non autorisées puissent voter [càd éviter le
bourrage des urnes]
- Il faut pouvoir éviter le commerce des votes (j'échange mon vote
contre une somme d'argent, par exemple) ; càd garantir le total anonymat
du scrutin.

Ces trois conditions ne sont, pour un vote électronique, jamais remplies.

On ne peut notamment être sûr:
- Que le logiciel qui est installé est 100% sûr (même en ayant le code
source)
- Que le logiciel certifié est bien celui qui est installé sur la machine
- Que la machine n'a pas de dispositif caché dans l'électronique pour
falsifier le vote, par exemple à partir d'un certain temps, en modifiant
de manière subtile un vote sur dix.

Pour le vote manuel, les trois conditions sont remplies:
- Chaque citoyen peut vérifier que son vote, imprimé sur un support
physique (bulletin papier à encre noire), a bien été introduit dans une
urne scellée (en France, transparente, ce qui évite des éventuelles
fraudes de "double fond"). Il peut attendre jusqu'à la fin du scrutin
pour surveiller l'urne. Les bulletins ne disparaîtront pas par magie.
- Chaque citoyen peut vérifier que le vote de son voisin a bien été pris
en compte, en observant l'introduction des bulletins dans l'urne. Il
peut rester au dépouillement et vérifier que chaque bulletin est bien
décompté. Il peut aussi reporter le décompte par bureau, et recouper les
résultats au niveau national. Plusieurs personnes de divers bords
peuvent ainsi vérifier le système et participer à sa sécurité.
- La liste d'émargement est publique, et vérifiable par plusieurs
personnes (par exemple des représentants des différents candidats, mais
aussi des citoyens, des journalistes..), ce qui évite les votes
multiples (1)
- Le vote est anonyme au niveau individuel, grâce aux enveloppes, et
public au niveau global, lors du dépouillement. L'anonymat est complet:
je ne PEUX PAS prouver que j'ai voté pour X ou Y, même si je le
souhaite. Il est d'ailleurs totalement interdit de prendre un seul
bulletin avant d'aller à l'isoloir pour cette raison (commerce des votes
et/ou pressions sur les autres votants).

(1) Des inscriptions multiples dans plusieurs bureaux sont toujours
possibles ; mais la fraude reste très limitée et très risquée. Le
bourrage reste marginal et très risqué dans le système traditionnel, et
ne peut guère influencer l'issue du scrutin.

Dans le cadre d'un vote électronique:
- Chaque citoyen n'a aucun moyen d'être sûr que son vote a bien été pris
en compte. Comment savoir ce qui se passe dans la machine ? Comment
savoir, même si une trace papier est générée, que cette trace est fiable
? Comment recouper ?
- Chaque citoyen n'a aucun moyen d'être sûr que le vote de son voisin a
bien été pris en compte (mêmes remarques). Il suffit de corrompre
quelques personnes clés, par exemple au niveau de la société qui
fabrique les machines, et/ou celle qui certifie les machines, pour
rendre non fiable l'ensemble du système à l'échelon national.
- La liste d'émargement, si elle est électronique, ne peut garantir le
non bourrage (comment savoir si le logiciel n'est pas prévu pour laisser
voter certaines personnes plusieurs fois ?)
- Le vote est-il vraiment anonyme ?

Voila. Pour conclure, disons que le gros problème du vote électronique,
c'est le côté.. électronique. L'aspect absolument fondamental du "vieux"
système papier, malgré son côté "dépassé", c'est l'élément physique, qui
permet de remplir l'intégralité des conditions de sécurité. Avec la
dématérialisation du vote, on ne peut plus garantir que celles-ci soient
toujours remplies.

Le vote électronique a pourtant des avantages: moins cher, plus facile à
organiser, plus rapide, "plus high-tech". Mais cela reste un gadget - un
gadget au final très dangereux pour la démocratie.

A. Caspis
Le #819095
Xavier Roche wrote:
Ces trois conditions ne sont, pour un vote électronique, jamais remplies.


Si la sécurité était dans un mécanisme cryptographique, on
s'affranchirait de tous les risques que vous évoquez concernant
la machine et son opacité pour les observateurs.

En gros, il faudrait un algo qui construit un hash de l'ensemble
des votes et permet à chaque votant de contrôler que son bulletin
a bien été intégré dans le hash global, tout en préservant
l'anonymat etc. Les gens de fr.misc.cryptologie ne savent pas
faire ça ? Il ont déjà des tas d'autres choses surprenantes
(zero-knowledge, mise sous séquestre, etc). Reste ensuite le
problème des algos qui se font casser de temps en temps.

Pour le vote manuel, les trois conditions sont remplies:


Les règles françaises ne sont pas si parfaites que ça: les
abstentions ne sont pas anonymes, donc on peut les acheter.
Il y a aussi des cas particuliers:
- Un seul votant (la dernière fois, j'étais le premier à voter,
et ça m'a perturbé de voir mon bulletin rester tout seul dans
l'urne pendant plusieurs minutes.)
- Deux votants (chacun sait ce que l'autre a voté).
- Trois votants dont l'un n'a pas voté comme les deux autres.
- Etc (dans tous les cas, un peu d'information fuit).
- Cas où tous les votes sont identiques.

AC

Xavier Roche
Le #818880
Hélas, le danger du vote électronique arrive en France ; à
Issy-Les-Moulineaux par exemple. Pour le moment réservé à de "petites"
élections sans importance pour faire passer la pilule, mais bientôt mis
en place pour des scrutins plus importants ?

"62,15 % des électeurs inscrits, sur la base du volontariat, ont voté
par internet, du lundi 5 au lundi 12 décembre, pour élire leurs
représentants aux 4 Conseils de Quartier de la Ville. "

Et comme le faisait remarquer Benoît Sibaud (April), pas question de
critiquer le vote électronique, nouveau gadget à la mode du politique
branché, qui ne saurait souffrir de la moindre tare.

"(..) on regrettera néanmoins le parti pris du forum sur la question du
vote électronique et du vote par internet, en oubliant un peu facilement
tous les problèmes qu'il pose et les différents soucis de sécurité
survenus sur les urnes électroniques."

Le problème, le voila: le manque total de sécurité. Ennuyeux, alors que
le citoyen n'a jamasi autant douté des institutions politiques.
Xavier Roche
Le #818881
A. Caspis wrote:
Les règles françaises ne sont pas si parfaites que ça: les
abstentions ne sont pas anonymes, donc on peut les acheter.


En théorie tout citoyen a l'obligation (morale ?) de voter. En théorie,
certes.

De même pour la remarque sur l'obligation de prendre un bulletin pour
chaque candidat avant d'aller à l'isoloir: il se peut que des personnes
ne respectent pas cette règle, ce qui peut entrainer une possibilité de
commerce des votes.

Mais une fraude éventuelle resterait limitée (l'achat de votes à grande
échelle nécessiterait une personne au moins par bureau, qui puisse
surveiller chaque électeur à l'entrée ; chose qui semble difficile si on
souhaite changer de manière significative le scrutin - sans parler des
risques) [et même là, qui dit que le citoyen, une fois dans l'isoloir,
ne va pas sortir un 2e bulletin de sa poche ? :p]

Il y a aussi des cas particuliers:
- Un seul votant (la dernière fois, j'étais le premier à voter,
- Deux votants (chacun sait ce que l'autre a voté).
- Trois votants dont l'un n'a pas voté comme les deux autres.
- Cas où tous les votes sont identiques.


Un nombre minimum de votant existe probablement - je suppose qu'on
n'atteint jamais plus de 90% d'abstention ou 100% de votes pour un
candidat, et que les bureaux ne sont pas ouverts pour quelques personnes.

ario
Le #818882
On 2005-12-19, A. Caspis
Xavier Roche wrote:

Si la sécurité était dans un mécanisme cryptographique, on
s'affranchirait de tous les risques que vous évoquez concernant
la machine et son opacité pour les observateurs.


oui enfin pour ca il faudrait savoir faire qqes petites choses en
cryptographies entre autre un mixnet potable (pas un qui soit cassé
en 6 mois)

De plus ca ne permettrait pas a n'importe qui d'avoir confiance dans le
systeme (s'il faut avoir fait 10 ans de crypto pour comprendre
comment ca marche ...) et ca ne resoud pas un probleme qui est
l'evolution de la taille des clés : admettons qu'on fasse un systeme de
vote qui utilise un algorithme style RSA meme avec des cles de 2048
bits.Si dans 10 ans on factorise des modules RSA de 4096 parce que les
ordinateurs ont evolué et que les algo de factorisation ont progressés,
l'anonymat du vote pourrait etre remise en question.
Alors on va vous jurer que les enregistrement sont detruits juste apres
le vote, ca ne permet quand meme pas d'avoir une grande confiance dans
le systeme.

A. Caspis
Le #818875
ario wrote:
De plus ca ne permettrait pas a n'importe qui d'avoir confiance dans le
systeme (s'il faut avoir fait 10 ans de crypto pour comprendre
comment ca marche ...)


Tous les moyens sont bons pour pousser les jeunes à s'intéresser
aux mathématiques. Les autres n'auront qu'à passer leurs soirées
d'élections à dépouiller à la main :-)

Alors on va vous jurer que les enregistrement sont detruits juste apres
le vote, ca ne permet quand meme pas d'avoir une grande confiance dans
le systeme.


Quelle est la durée de vie d'une empreinte digitale ou d'une
trace d'ADN ? Les bulletins de vote papier sont-ils archivés ?

Tiens, un coup de Google et je découvre qu'il y a des pays
où l'on vote avec son empreinte digitale...
http://www.congoforum.be/fr/nieuwsdetail.asp?subitem=1&newsid 93&Actualiteit=selected

AC

Emmanuel Florac
Le #818876
Le Mon, 19 Dec 2005 06:40:13 +0000, A. Caspis a écrit :

Xavier Roche wrote:
Ces trois conditions ne sont, pour un vote électronique, jamais remplies.


Si la sécurité était dans un mécanisme cryptographique, on
s'affranchirait de tous les risques que vous évoquez concernant
la machine et son opacité pour les observateurs.

En gros, il faudrait un algo qui construit un hash de l'ensemble
des votes et permet à chaque votant de contrôler que son bulletin
a bien été intégré dans le hash global, tout en préservant
l'anonymat etc. Les gens de fr.misc.cryptologie ne savent pas
faire ça ? Il ont déjà des tas d'autres choses surprenantes
(zero-knowledge, mise sous séquestre, etc). Reste ensuite le
problème des algos qui se font casser de temps en temps.



On pourrait aussi utiliser le hash d'une signature cryptographique
individuelle : ainsi on ne pourrait savoir en regardant la signature si
untel a voté, mais untel pourrait vérifier que son vote est bien validé
(selon le vieux principe du has de mot de passe, quoi). Ça pourrait
fonctionner avec des cartes à puces réellement sécurisées en guise de
carte d'électeur (pas un bidule mal fichu genre Vitale, bien sûr).

--
Quidquid latine dictum sit, altum sonatur


Xavier Roche
Le #818877
ario wrote:
De plus ca ne permettrait pas a n'importe qui d'avoir confiance dans le
systeme (s'il faut avoir fait 10 ans de crypto pour comprendre
comment ca marche ...)


Le problème, c'est que les experts en crypto n'ont justement aucune
confiance dans le vote électronique.

Celui-ci est non fiable par construction ; on peut retourner le problème
dans tous les sens, le machin ne peut pas fonctionner, c'est tout.

On peut certes bricoler un système hybride, à coup de bulletins imprimés
en même temps "qui seraient recomptés en cas de contestation", mais on
arrive au final à un truc quasiment aussi compliqué que le vieux système
mais dans lequel on ne peut toujours pas avoir confiance..

A. Caspis
Le #818879
Thierry Herbelot wrote:
l'article canonique sur l'intérêt d'une "simple" inspection du code source
est http://www.acm.org/classics/sep95/ par Ken Thompson, un des auteurs
d'Unix, qui avait modifié le compilateur C pour que celui-ci ajoute au code
de login.c, de manière à disposer d'un compte "gratuit" sur toutes les
machines Unix.


Bon, on ne va pas jeter l'informatique à la poubelle à cause
d'une blague qui remonte aux années 1970... Aujourd'hui les
systèmes bancaires survivent malgré tous les gens qui peuvent
y insérer des backdoors; les Critères Communs prévoient des
procédures pour contrôler l'intégrité des chaînes de compilation;
et le boot de la dernière Xbox est probablement plus sécurisé que
celui de tous les PC de la NSA.

Dans le cas de Diebold, il s'agit a priori d'un système conçu
et implémenté par des gens honnêtes (snip théorie du complot
républicain) mais pas suffisamment compétents, puis audité par
quelques experts qui sont compétents mais dont le temps est
précieux, et déployé dans des conditions probablement très
surveillées. La menace est vraiment réduite aux interfaces
de la machine: le capteur optique qui lit les bulletins, le
port modem, et le lecteur/enregistreur de cartes à mémoire.

Concernant les cartes, on peut supposer qu'elles ont une
étiquette tamperproof qui garantit leur intégrité physique,
donc le risque est limité aux données qu'elle contiennent.
Lorsqu'on insère une disquette, un CDROM ou une mémoire USB
dans un PC, on ne s'attend pas à ce que ça bousille le système
d'exploitation (même si ça arrive souvent ces temps-ci).

Rien qu'à la lecture des specs de Diebold, le public aurait
dénoncé la possibilité (supposée) de modifier le contenu de la
carte à distance via le modem, et le fait que la carte contienne
du code exécutable (même si ce n'est que du bytecode Basic).

AC

Publicité
Poster une réponse
Anonyme