novembre 29, 2007 Archives

29/11/2007 16:07:35

Vote électronique, Condorcet et canal caché

Avant-propos : ce billet doit énormément à l'article On privacy and anonymity in electronic and non electronic voting: the ballot-as-signature attack de Roberto Di Cosmo. Si vous comprenez l'anglais et avez un bagage mathématique minimum, je vous invite vivement à aller le consulter.

Avec l'arrivée des ordinateurs de vote, on a assisté à un flot de critiques dans les milieux de l'informatique. Critiques tout à fait justifiées, et dont il semble encore difficilement compréhensible qu'elles ne soient pas prises en compte par les pouvoirs publics, alors même qu'elles proviennent de professionnels des nouvelles technologies, parfaitement au fait des risques et des difficultés posées par ce nouveau système de vote.

Les chercheurs en informatique se penchent également sur la question, par exemple pour vérifier des protocoles de vote électronique afin de garantir que les résultats partiels restent secrets, que chacun puisse voter une fois et une seul, que les votes puissent être recomptés mais en même temps qu'ils restent anonymes. Autant vous dire que les machines actuelles sont loin d'être exemptes de failles.

Quand on analyse la sécurité d'un système informatique, on doit forcément le modéliser. C'est ensuite sur le modèle qu'on effectue les vérifications. C'est le cas pour toutes les disciplines scientifiques, mais en sécurité cela revêt un sens tout particulier : si le modèle est imparfait, ou incomplet, on peut obtenir une preuve parfaitement valide de sa sécurité mais avoir un système réel défaillant malgré tout.

C'est en particulier ce qui se produit avec les canaux cachés. Prenons un exemple : soit une pièce dans laquelle se trouve 3 ampoules. A l'extérieur, 3 interrupteurs qui commandent chacun une ampoule. On est à l'extérieur de la pièce et on sait que les 3 ampoules sont éteintes. Comment déterminer à coup sûr, en entrant une seule fois dans la pièce, à quelle ampoule chaque interrupteur est relié ?

Réponse 1 : c'est impossible. Et je le prouve. Chaque ampoule peut être dans l'état 0 (éteint) ou 1 (allumé). Grâce aux interrupteurs, je peux passer de l'état initial 000 à un état quelconque (où il y aura autant de 1 que j'ai basculé d'interrupteurs). Si je bascule un interrupteur, j'obtiens l'état 100 (par exemple) et je ne peux pas distinguer les deux ampoules éteintes. Similairement, si j'en bascule deux, j'obtiens 110 (par exemple) et je ne peux plus les distinguer non plus. De même pour l'état 111 (trois interrupteurs). Donc, quelque soit mon action, je ne peux pas savoir à quelle ampoule est reliée chaque interrupteur.

Réponse 2 : et pourtant, c'est possible ! En fait, notre modèle est insuffisant : si on utilise des ampoules à incandescence, le fait d'en laisser une allumée quelques minutes la fait chauffer, et elle reste chaude même si on l'éteint. C'est ce qu'on pourrait appeler un état 0,5 (ampoule éteinte mais chaude, qui a donc été allumée récemment). Il suffit de mettre le système dans l'état 0,0.5,1 pour pouvoir conclure (le protocole qui permet d'y arriver est laissé en exercice). La chaleur joue ici le rôle de canal caché.

Revenons aux élections. Même si l'on obtient une preuve de la sécurité d'une machine à voter, ce ne sera qu'une preuve de la sécurité du modèle. On pourra se heurter par exemple à des problèmes techniques (fuites électromagnétiques qu'on pourrait observer à distance, selon le principe de TEMPEST entre autres). Une autre idée de canal caché, plus subtil, se produit dans le cas de l'utilisation d'un système électoral à préférences multiples ordonnées (l'article Wikipédia en lien a également été rédigé initialement par Roberto Di Cosmo).

Un tel système électoral (pas nécessairement électronique) consiste à classer les candidats par ordre de préférence. On calcule ensuite (sur des critères qu'il convient de décider au préalable, chacun ayant ses avantages et ses inconvénients) le candidat préféré par la majorité des électeurs. Cela permet essentiellement d'abandonner les stratégies (« si je vote pour la LCR, ça va faire moins de voix pour le PS qui risque de se faire éliminer au premier tour » par exemple) et de classer honnêtement tous les candidats. Certains pensent (à tort) que les machines à voter pourraient être une opportunité de passer à ce genre de système, plus équitable.

J'écris à tort pour deux raisons : d'une part, on peut parfaitement utiliser un système à préférences multiples ordonnées sans machines à voter (la preuve, certains sont ou été en vigueur de part le monde). D'autre part, les machines à voter sont loin d'offrir les garanties nécessaires au déroulement d'un scrutin électoral sérieux ; il serait malheureux de gagner sur un tableau (celui de la représentativité du scrutin) en perdant sur un autre, plus crucial encore (celui de sa transparence, et donc de la légitimité des élus).

Enfin, pour séduisant qu'il soit, ce type de scrutin présente un canal caché qui est une source potentielle (et avérée par le passé, selon Roberto Di Cosmo) de fraude électoral. En effet, quand vous classez 10 candidats (par exemple pour une élection présidentielle), vous avez 3 628 800 possibilités. C'est largement supérieur aux nombres d'électeurs dans votre bureau de vote. On pourrait donc vous demander de classer les candidats dans un certain ordre (sous la menace). Si vous ne le faites pas, la personne cherchant à truquer les élections s'en rendra compte (car il est très peu probable que quelqu'un d'autre vote par hasard pour les candidats dans l'ordre qu'on vous aura "suggéré") et vous irez au devant de graves déconvenues (un accident est si vite arrivé...).

C'est pourquoi, à mon grand désespoir, le vote de Condorcet semble définitivement voué aux oubliettes (c'était un beau modèle pourtant, mais brisant fondamentalement l'anonymat du vote, ce qui serait inadmissible).

PS : aux petits malins qui suggéreraient un vote électronique avec dépouillement national, il suffit qu'il y ait 12 candidats pour que les combinaisons possibles soient de 479 001 600, largement plus que la population française...


Posté par Gabriel | Lien | Catégories Théorie | Commentaires | Votez pour cet article sur Wikio