Gravatar couramment utilisé Blog perso de Paul Da Silva

Vote par Internet, un long dossier d’échecs techniques et philosophiques

Posted on | mai 28, 2012 | 6 Comments

Depuis quelques jours un faible nombre de personnes s’en prend à une « expérience » du ministère des affaires étrangères : le vote par Internet pour les législatives 2012. Près de 700.000 personnes sont concernées, certains ne voient pas le danger, d’autres (moi le premier) avancent des arguments techniques pas toujours évidents. Cet article se veut une centralisation des sources sur le sujet, des problèmes soulevés et une vulgarisation des problématiques techniques.

De quoi parle-t-on ?

La problématique soulevée est juste : il s’agit de permettre aux Français vivant à l’étranger de voter depuis chez-eux alors qu’autrement ils feraient face à des soucis techniques parfois lourds (plusieurs témoignages d’expatriés devant parcourir des centaines de kilomètres jusqu’à un consulat pour voter fleurissent sur la toile). La mise en pratique consiste à la sous-traitance d’une application de vote en ligne à une société (Scytl) dont on sait peu de choses mais dont il s’agit de la « spécialité ». Le tout est supervisé (à un niveau que l’on ignore) par le ministère des affaires étrangères.

L’ensemble des ressortissants Français inscrits sur les listes électorales et vivant à l’étranger a donc reçu un courrier à entête du ministère pour lui préciser la démarche et son identifiant de vote. Celui-ci est valable pour les deux tours des législatives et est couplé avec un mot de passe envoyé par un autre biais (par email ou sms en l’occurence, en fonction des témoignages toujours). Ce mot de passe lui changera pour le second tour.

Ce couple identifiant / mot de passe est ensuite à utiliser sur la fameuse application créée par Scytl et hébergée (visiblement) par le ministère sur ses serveurs. A la fin de chacun des scrutins le décompte est réalisé (visiblement là aussi) par Scytl et communiqué au ministère. Les votes effectués via internet sont comptabilisés au même titre que ceux effectués par courrier, dans les consulats ou par procuration en consulat.

D’un point de vue idéologique

Il y a donc beaucoup d’inconnues sur l’ensemble du procédé, une mise en place potentiellement compliquée pour les technophobes (à qui il reste les « anciens » moyens de voter) et d’ores et déjà une pléiade de témoignages de complications constatées par les citoyens usagers.

Mais pire encore, une entreprise privée, Scytl, se retrouve à être au cœur du système démocratique et devient toute puissante au regard des résultats sur son système de vote dont elle seule a le contrôle total.

Le vote est en effet effectué sur un système qui semble ne pas pouvoir garantir les conditions nécessaires au vote : au minimum sa confidentialité (rien ne nous permet d’attester que l’identifiant n’est pas directement attaché au vote et que Scytl, au moins, n’a pas accès aux informations) et sa transparence (présence d’une urne, vérification de la présence de son enveloppe à l’intérieur et possibilité d’assister au dépouillement) ou sa sécurité (on y revient juste après).

Le système en lui-même étant centralisé, il est très simple de le répliquer, d’en faire un fac similé et de mettre en place un site de phishing pour un budget moindre mais qui nous permettrait de mettre la main sur les identifiants et mot de passe de tous les votants inscrits. A ce sujet l’ami Ploum a écrit un magnifique tutoriel sur comment gagner un siège pour 12€.

En l’état nous avons donc un système completement opaque, simple à reproduire, et qui est contrôlé par une seule et unique entité : la société qui fournit le service.

D’un point de vue technique

Et c’est là que cela va bien vite se gater : la conclusion du paragraphe précédent pourrait laisser penser que tant que la société, dont il s’agit de la spécialité, sait faire son boulot il ne devrait pas y avoir de problème. Sauf que bien sûr, dans la réalité, ce n’est pas le cas : l’application présente de graves problèmes de sécurité qui ont été ignorés par le ministère (qui se targue d’avoir fait vérifier le code par l’ANSSI et des experts indépendants) et ces divers impairs laissent à penser qu’elle ne sait absolument pas ce qu’elle fait…

Un contexte douteux

J’avais hurlé il y a peu que le service d’aide présentait une vulnérabilité de type injection SQL ainsi qu’un problème d’exposition d’informations. Cela n’est probablement pas lié au système de vote de façon directe mais d’ores et déjà ça respire l’amateurisme. Les problèmes soulevés ici sont présents sur beaucoup de sites internet de particuliers ou de PME mais les trouver sur un site ayant ce type d’enjeux démocratique est plus qu’inquiétant.

L’application étant conçue en Java une série de vérifications est faite pour s’assurer que l’ordinateur de l’utilisateur utilise bien les bonnes versions de logiciel avant de lancer l’application en elle-même. De même il est vérifié (de façon très sommaire) si l’utilisateur n’essaye pas d’accéder au système via un terminal mobile dont la sécurité est assumée comme plus faible (le réseau 3G est potentiellement plus simple à sniffer). Ces vérifications sont en fait cosmétiques et il est possible d’accéder à l’application sans passer par ses vérifications dès lors que l’on connait le lien à utiliser… Il devient possible de voter depuis n’importe quel terminal, n’importe quel OS, n’importe quelle version de Java…

Une connexion non chiffrée

Non vérifié pour le moment mais il semblerait qu’il soit possible d’effectuer l’ensemble de la procédure de vote depuis une connexion non chiffrée (le petit cadenas dont on vous a appris de toujours vérifier la présence avant de payer en ligne est absent) ce qui veut dire que l’on peut potentiellement transmettre son vote via une connexion en clair, que la confidentialité du vote n’est plus garantie, mais qu’en plus le vote devient altérable pour peu qu’une autre personne que vous soit sur le même réseau et bien équipé…

Si le processus de vote présente encore des doutes sur ce point (bien que le code source semble prouver que c’est le cas), la partie du site servant à demander un nouveau mot de passe est-elle bien capable de fonctionner aussi bien en HTTP qu’en HTTPS.

Le mot de passe semble être récupérable

Le mot de passe entre dans la clef servant à chiffrer les échanges avec un certain nombre d’autres informations qui sont récupérables depuis le code source. Connaissant la forme du mot de passe : des lettres, minuscule, entre 6 et 10 il devient possible de bruteforcer le mot de passe en essayant de déchiffrer des informations qui auraient été échangées entre le système de vote (l’applet java) et le serveur de traitement.

Si le mot de passe est connu il devient possible de recréer la clef de chiffrement et donc de déchiffrer à la volée toutes les communications pour les lire ou les modifier (man in the middle).

Une attaque menée avec succès

Ce midi Laurent Grégoire nous a gratifié d‘un proof of concept permettant de voir comment un virus (par exemple) pourrait altérer le fonctionnement de l’applet de vote en forçant, quel que soit le choix du citoyen usager, le vote à l’un des candidats présents dans les choix proposés. L’ensemble de la méthode est décrite dans un document de 20 pages, code compris et ne nécessite pour fonctionner que de récupérer la liste des votants et de les infecter avec un virus spécialement crafté pour l’occasion.

La sécurité n’existe pas

D’autres problématiques techniques seront surement levées dans les prochains jours (je vous rappelle que ma boite mail comme les commentaires de ce blog ne logguent pas les IPs donc faite vous plaisir) mais la conclusion est déjà là : à tous les niveaux possibles cette application a été compromise et dans tous les cas il devient possible de compromettre au moins un des aspects essentiels du vote.

Quand bien même l’application en elle-même pouvait être sécurisée (ce qui est techniquement impossible), on ne serait pas à l’abri d’un site de phishing ou d’un virus sur l’ordinateur de l’électeur qui mettraient en péril l’intégrité du scrutin et poseraient systématiquement la question de sa légitimité.

Conclusion

Je n’ai volontairement pas développé sur le côté philosophique du vote par internet dans le cas où il viendrait à se généraliser. Mais il est clair qu’une solution comme celle-ci, permettant de se désintéresser un peu plus encore de la vie politique (je vote entre le petit dej et téléfoot) parait une très mauvaise idée.

En l’état la seule solution raisonnable semble d’annuler les quelques 45.000 votes déjà enregistrés et proposer aux votants de se replier sur les solutions historiques présentant un bien meilleur niveau de fiabilité. Dans le cas où ce ne serait fait, il s’agirait d’une magnifique mascarade élisant des députés selon un système qui a été prouvé bancal et dont on ne sait finalement pas s’il a réellement été abusé ou pas pour le moment, s’il le sera ou pas.

Sources, aller plus loin

Commentaires

6 Responses to “Vote par Internet, un long dossier d’échecs techniques et philosophiques”

  1. Marie-Hélène Le Guennec
    mai 29th, 2012 @ 0 h 32 min

    Merci pour toutes ces mises en garde.

    Je pense toutefois que l' »expérience » en vaut la peine. Je suis une française de l’étranger, et je suis bien contente d’avoir pu m’exprimer sans avoir à faire un déplacement de 200km. Il faut bien un début, des erreurs, des gens pour les relever, et d’autres pour les réparer. 😉

    Bonne continuation.

    MH

  2. dnr
    mai 29th, 2012 @ 14 h 25 min

    J’ai l’impression qu’on se trompe de cible avec les aspects techniques (chiffrement, man in the middle, etc).

    Même si la solution était techniquement solide, ouverte et même vérifiable par quiconque, il n’en reste pas moins que tout contrôle effectif serait réservé à des techniciens (informaticiens, ingénieurs, etc). On ne peut pas décemment demander à tout le monde d’auditer du code.

    À l’opposé, le suffrage papier est compréhensible et vérifiable par tous.

    En l’espèce, on est bien loin d’un système ouvert et fiable, ce qui ne fait qu’aggraver les choses.

    Demain, on votera de toute façon en faisant un « like » sur le wall du candidat et nos verbiages n’auront plus lieu d’être.

  3. Merbery
    mai 29th, 2012 @ 18 h 24 min

    Merci pour ton article!

    Une petite question : quelle est ta source pour ceci : « A la fin de chacun des scrutins le décompte est réalisé (visiblement là aussi) par Scytl et communiqué au ministère » ?

    Bonne continuation.

  4. Une faille découverte dans le vote par Internet | blog de Dvalin
    mai 30th, 2012 @ 9 h 25 min

    […] Tout ça pour dire, que l’application n’a pas l’air d’être super bien développée surtout quand on voit à quoi elle sert. Espérons que tout se passe bien (même si j’ai des doutes). Source : Numérama et Paul Da Silva […]

  5. Yannick
    juin 1st, 2012 @ 10 h 30 min

    Sans parler du fait qu’il est impossible de vérifier l’identité réelle du votant (que celui qui est derrière l’écran est bien celui identifié par le système), et cela même si le système était parfaitement sécurisé.

  6. Sunday Coffee #41 : iPhone 5, Windows 8, iOS 6 et Google+ Local
    juin 3rd, 2012 @ 11 h 03 min

    […] Vote par internet, un long dossier d'échecs techniques et philosophiques […]

Leave a Reply





Edito

Ancien journaliste, ancien entrepreneur, ancien (ir)responsable Pirate, actuel citoyen qui s'intéresse à la politique et à son évolution.

Read moar !.

Retrouvez moi sur :

Suivez moi sur twitter sur facebook sur wikipedia Ajouter ce blog a votre lecteur RSS

Bitcoin

bitcoin logo
1GZnMQ9wXyifxCnDEqg8CSGdngWcKWptHv

Piratons la démocratie

piratons la democratie

One more thing !

0100 0011 0110 1000 0110 0001 0110 1110 0110 0111 0110 0101 0111 0010 0010 0000 0110 1100 0110 0101 0010 0000 0110 1101 0110 1111 0110 1110 0110 0100 0110 0101 0010 0000 0110 0101 0110 1110 0010 0000 0111 0011 0010 0111 0110 0001 0110 1101 0111 0101 0111 0011 0110 0001 0110 1110 0111 0100 0010 0000 0010 1101 0010 0000 0110 1111 0110 1110 0010 0000 0111 0110 0110 0001 0010 0000 0110 0010 0110 1111 0110 1001 0111 0010 0110 0101 0010 0000 0111 0101 0110 1110 0010 0000 0110 0011 0110 1111 0111 0101 0111 0000 0010 0000 0011 1111

Tm9uIGNlbGVsIGzgIGVzdCBqdXN0ZSBwb3VyIHRlIGZhaXJlIHBlcmRyZSA1bW4gOyk=

Relationship Closeness Inventory

Promo code Genesis Mining

Sha 256 cloud mining

Best Bitcoin debit card

Zcash Mining