URL: https://linuxfr.org/news/e-vote-les-esprits-se-dechainent-en-suisse Title: E-vote : les esprits se déchaînent en Suisse. Authors: napster2core Benoît Sibaud, baud123, tuiu pol, claudex et Pierre Jarillon Date: 2012年05月26日T14:12:12+02:00 License: CC By-SA Tags: vote_électronique, vote_par_internet, suisse et firefox Score: 39 Comme l'ont prouvé de [nombreux journaux et dépêches](http://linuxfr.org/tags/vote_%C3%A9lectronique/public?order=created_at) sur Linuxfr.org et aussi des articles un peu partout sur le web, le vote électronique (ou e-vote) français inquiète par ses implémentations calamiteuses - par ordinateurs de vote ou par internet - et ses solution pensées à moitié (et encore je suis gentil). Et bien vous n'êtes pas les seuls. Un système de vote par internet est actuellement en tests en Suisse et des problèmes et autres bugs ont déjà été relevés. Cette dépêche est une compilation (avec quelques modifications pour rendre le tout un peu plus fluide) d'articles écrits par Tengu et illambias. Il s'agit d'analyses à la fois techniques, sociales et démocratiques du système suisse. Bonne lecture ! ---- [Présentation du système de e-voting par le canton de Genève](http://www.ge.ch/evoting/doc/Evoting_a_coeur_ouvert.pdf) [Explication du double vote par le canton de Genève (une perle une fois que vous avez lu la dépêche)](https://www.ge.ch/evoting/scrutin_20120311.asp) [Pourquoi le e-voting n'est pas prêt (vidéo)](http://it.slashdot.org/story/12/03/10/2351259/prof-j-alex-halderman-tells-us-why-internet-based-voting-is-a-bad-idea-video) [Le système de e-voting americain cracké en 48 heures](http://www.h-online.com/security/news/item/US-e-voting-system-cracked-in-less-than-48-hours-1463881.html) [Article sur le sujet par le Parti Pirate Vaud](http://vd.partipirate.ch/?p=636) [À propos de la preuve et de l'achat du vote](http://www.smat.ch/evoting/evote1_fr.html) [Blog de Tengu](https://blog.tengu.ch) [Site de illambias](http://illambias.lautre.net) ---- E-banking, e-voting : différences : ----------------------------------- Ce chapitre est à l'origine un article de Tengu qui faisait la comparaison entre les deux mondes pour montrer quelles sont les contraintes d'un système de e-voting par rapport à un système de e-banking. C'est une bonne introduction. Le texte qui suit est peu ou prou l'article original. Notez que le vocabulaire utilisé n'est pas un vocabulaire technique, le but premier de cet article étant de montrer la différence à tous et non pas à une seule élite technique. Cet article se base sur le système genevois qui est traité à travers tous ces articles. ###L'e-banking et la sécurité: Tout d'abord, je vais mettre les choses au clair : NON, je ne fais pas confiance dans le e-banking. Vous verrez pourquoi plus bas. Les besoins en sécurité du e-banking sont les suivants : - il faut s'assurer que la personne faisant une transaction en ligne est bien celle qu'elle prétend être - il faut s'assurer que les transactions effectuées sont traçables (pour le fisc, par exemple) - il faut s'assurer que la connexion entre le client et la banque est chiffrée (protocole SSL – le https dans la barre d'adresse de votre navigateur préféré). - le client doit pouvoir s'assurer qu'il est bien sur le site de sa banque Voilà les besoins basiques. Après, bien entendu, il faut que les données bancaires soient hébergées de manière sécurisées, que les codes d'accès personnels soient aussi quelque peu en sûreté, cela va de soi. Pour satisfaire les différents points décrits ci-dessus, on a mis en place, de manière générale, une authentification en deux étapes, comportant un nom d'utilisateur, un mot de passe et un « token », sous la forme d'un SMS reçu contenant un code à usage unique, une liste à biffer ou encore une de ces calculatrices comportant une carte à puce (elle-même vous demandant un code personnel de sécurité). Avec cela, on a moyen de s'assurer de manière relativement fiable que c'est vous. J'insiste sur le « relativement ». Ensuite, la banque enregistre tout : quel ordinateur s'est connecté à quelle heure, quelles ont été les actions effectuées, les montants, les comptes de destination... bref, tout est enregistré (on va parler de « log » dans le milieu). Avec ça, on a la traçabilité, ce qui permet d'offrir au client un moyen de contestation en cas d'utilisation frauduleuse de son compte (i.e. mobile contenant les identifiants bancaires volés ou encore carte de crédit dérobée). Et pour la partie chiffrement, on fait confiance au bon vieux SSL, vous demandant de contrôler que la barre d'adresse comporte bien « https://ma.banque.en.ligne.com », et que le petit cadenas est bien fermé... Bref, le classique. Pour ce qui est de s'assurer qu'on est bel et bien sur le site visé, ça peut devenir coton: il y a certes le contrôle du certificat SSL, mais je doute que beaucoup de personnes prennent la peine de le faire. Sans compter qu'on peut jouer avec ça ;). Concernant les infrastructures contenant vos données, il faut juste imaginer que c'est un truc « légèrement » sécurisé, avec une armada d'administrateurs réseaux et systèmes derrière contrôlant que tout se passe bien, 24h/7j, prêts à pallier à la moindre défaillance, à la moindre attaque informatique. Ce qu'il faut principalement retenir ici, c'est qu'avec le e-banking, il y a une traçabilité à tous les niveaux. Et aussi que les banques n'ont absolument aucun intérêt à tricher. L'argent, elles le possèdent déjà, donc vouloir faire des magouilles ne leur sert absolument à rien. ###L'e-voting et la sécurité Concernant le vote, électronique ou pas, il convient de rappeler deux choses : _Celui qui recueille, remplit ou modifie systématiquement des bulletins de vote ou qui distribue des bulletins ainsi remplis ou modifiés sera puni d’une amende._ [(RS 311.0 "Code Pénal Suisse", art 282bis).](http://www.admin.ch/ch/f/rs/311_0/a282bis.html) _Celui qui, par des procédés illicites, aura réussi à découvrir dans quel sens un ou plusieurs électeurs usent de leur droit de vote sera puni d’une peine privative de liberté de trois ans au plus ou d’une peine pécuniaire._ [(RS 311.0 "Code Pénal Suisse", art 283).](http://www.admin.ch/ch/f/rs/311_0/a283.html) En outre, dans le cas du vote électronique, on peut aussi trouver ceci : _Toutes les mesures doivent être prises pour qu’aucun lien ne puisse être établi entre un bulletin de vote déposé dans l’urne électronique et le votant._ [(RS 161.11 "Ordonnance sur le droit politique", art 27g).](http://www.admin.ch/ch/f/rs/161_11/a27g.html) Le système de vote doit donc garantir (et ce indépendamment du fait qu'il soit électronique ou traditionnel) : - que ce soit la bonne personne qui vote et qu'elle ait bien le droit de vote - que son anonymat est bien préservé à tous les niveaux de la chaîne de vote - qu'elle ne peut pas voter plus d'une fois - que son vote enregistré dans l'urne est bien le vote qu'elle a émis - le système doit être compréhensible par le commun des mortels, et mieux, ce dernier doit pouvoir participer de manière active au vote, en prenant part au dépouillement par exemple. Ceci étant mis à plat, faisons une rapide comparaison entre ce que fournit les votes traditionnels et par correspondance d'une part, et le vote électronique d'autre part. ###Vote traditionnel et par correspondance Dans le cas où vous allez au bureau de vote, on va vérifier votre identité (carte d'identité/passeport/etc), vérifier que vous avez bien le droit de vote (carte d'électeur), vérifier que vous n'avez pas déjà voté (carte d'électeur à nouveau), puis vous indiquer l'isoloir dans lequel vous allez pouvoir voter de manière secrète. Vous en ressortirez avec vos bulletins de vote dans une enveloppe anonyme, que vous irez porter vous-même dans une urne scellée. Dans le cas du vote par correspondance, c'est un peu plus délicat : vous avez une carte d'électeur que vous devez compléter et signer. Vos bulletins de votes sont dans une enveloppe séparée, de manière à préserver l'anonymat de votre vote. Ensuite, deux solutions : ou vous allez la poster, ou vous allez la porter dans la boîte spécialement prévue pour à la maison de commune. Dans un cas comme un autre, il est vrai que quelqu'un pourrait être tenté de briser le secret du vote (« tiens lui je le connais, que vote-t-il ? »), voire d'influencer le résultat en magouillant les votes. Seulement voilà, il y a deux choses à prendre en compte : * se trouver dans une situation permettant de faire cela, que ce soit à la maison de commune ou à la poste, est assez compliqué : il faut être seul, ou alors entouré de personnes ayant les mêmes motivations que vous * même si vous le faites, vous ne pourrez influencer que quelques votes locaux – arriver à un résultat utile au niveau cantonal est illusoire. ###Au tour du vote électronique par internet maintenant (et sortez le pop-corn, conseil d'ami ;) ). Pour s'assurer que c'est bien la bonne personne qui vote, on se heurte aux mêmes problèmes que le vote par correspondance : les informations demandées ne sont pas grandement différentes, on peut très bien offrir une bière à un pote et il votera ce que vous voudrez, ou mieux vous donnera sa carte de vote avec ses informations d'authentification. À ce niveau donc, pas de miracle, il en va de la responsabilité personnelle. S'assurer que la personne a bien le droit de vote ne présente en soi aucune difficulté non plus : soit elle a un compte sur le système de vote, soit elle n'en a pas. Simple. S'assurer que la personne ne vote qu'une seule et unique fois ne devrait pas présenter de problème non plus. Enfin, [on peut demander à Genève.](http://www.ge.ch/evoting/scrutin_20120311.asp) Implémenter un système de session un rien subtil et malin ne devrait pas poser de problème pour éviter ce genre de pépins. Encore faut-il y penser. Les carottes sont cuites. L'anonymat est quant à lui censé être préservé par une séparation claire des lieux de stockages : d'un côté vos informations personnelles, de l'autre votre scrutin. Censé oui, parce que là, on ne peut que faire confiance à un vague papier fourni par les concepteurs du système. Si ça se trouve, c'est bien dans deux tables séparées, mais dans la même base de données, sur le même serveur (comprendre : dans deux tiroirs séparés du même bureau)... On ne sait pas. Faut faire confiance au système ;). Vous ne sentez pas une légère odeur de brûlé ? L'assurance que le scrutin enregistré dans l'urne est bien ce que vous avez voté est une partie tout aussi obscure et sympathique, surtout quand on sait que, dans le cas du système genevois, votre scrutin est déchiffré à l'arrivée sur le serveur (en passant, à ce moment-là vos données sont aussi présentes en même temps, et on peut sans doute les lier à votre bulletin de vote - mais c'est pas grave, le contrôle "ne laisse aucune trace" à ce qu'ils disent). Le déchiffrement est, d'après la documentation, uniquement pour permettre de renvoyer une validation à l'électeur. Selon la documentation fournie par le prestataire. Là encore, il faut faire une confiance aveugle au système. Vous la sentez cette douce odeur de cramé ? Quant à la partie « pouvoir participer au dépouillement », je vous laisse apprendre à développer dans un langage quelconque, à priori Java, en vous basant sur des spécifications inexistantes voire sur un listing de code imprimé sur papier rouge. Le citoyen lambda ne peut simplement plus participer à la démocratie et exercer son droit de citoyen au niveau du comptage. Il est donc réduit à être un simple électeur. Plus un citoyen. Quant à contester le résultat, ça va devenir coton aussi du fait qu'il n'y a rien de physique – tout n'est que données enregistrées dans une base quelconque, qui avec un peu de chance peut se corrompre pour un oui ou un non (sans jeu de mot). Je voudrais aussi juste attirer votre attention sur un petit bout de loi relatif au vote électronique : _Si le résultat d’une votation ou d’une élection est contesté, il doit aussi être possible d’établir la plausibilité du résultat électronique. Il s’agit pour cela de rendre possible la prise des mesures suivantes, dans le respect permanent du secret du vote: a. vérifier les suffrages-test qui ont été exprimés par des contrôleurs et consignés dans un procès-verbal; b. comparer les pourcentages de oui et de non ou les pourcentages de voix exprimées entre le vote par correspondance, le vote électronique et le vote aux urnes; c. comparer les suffrages électroniques décomptés avec les fichiers journaux du serveur des votations et élections._ [(RS 161.11 "Ordonnance sur les droits politiques", art 27n bis)](http://www.admin.ch/ch/f/rs/161_11/a27bistt.html) Les « fichiers journaux » sont nos fameux logs. Je ne sais pas trop comment comprendre la chose, mais à voir, il y a moyen, par ce biais, de relier un électeur à son vote – c'est d'ailleurs ce qui a été fait pour effacer(!) le vote doublon(!!) effectué par un lucernois sur le système genevois(!!!).... Secret du vote préservé, [disent-ils](http://www.bk.admin.ch/themen/pore/evoting/index.html?lang=fr) ? Je voudrais bien voir la tête de leurs logs. ###Comparaison rapide et conclusion tout aussi rapide Là où la sécurité du e-banking repose sur des logs, la traçabilité des transactions, le e-vote repose sur l'anonymat complet des personnes, du moins pour la partie la plus importante : le scrutin lui-même. En gros, pour le premier, on vous suit à la trace dès l'instant où vous vous connectez au site. Le second, on vous reconnaît lors de la connexion et de l'identification, mais au final le reste doit être un trou noir – secret du vote oblige. De là, on ne peut simplement pas comparer l'e-banking et l'e-voting, les deux technologies sont complètement différentes. Désolé de démonter de la sorte l'argument massue des pro-evoting, aveuglés par "c'est trop kikoool de clicouiller pour voter!" sans penser plus loin. La massue vient de se transformer en fétu de paille. Attention au vent ;). Il ne faut pas aussi oublier un léger détail : là où un problème de sécurité au niveau du e-banking ne touchera que des particuliers, voire un seul particulier, un problème de sécurité au niveau du vote électronique touchera une ville, un canton voire un pays en entier. Ce n'est, là encore, vraiment pas pareil, et encore moins comparable. Là où des intérêts privés peuvent être mis en jeux, on veut nous faire croire que des intérêts collectifs sont au même niveau. Ce n'est pas trop le cas. Du moins, j'ose espérer. Présentation du système Suisse : -------------------------------- Tous ces articles sont une réponse à un problèmes qui a propulsé le système de e-voting genevois (aussi utilisé par d'autres cantons suisses, c'est pourquoi je parle ici de système suisse) au statut de bide informatique. Le dimanche 11 mars 2012 a été un grand jour sous bien des aspects. Les Suisses ont de nouveau refusé un ajout de vacances, ont claqué les Valaisans en acceptant l'initiative de Franz Weber, ont refusé la mise en place et la consolidation du cartel du livre en disant non au prix unique... Et un/e Lucernois/e a pu voter deux fois sur la plate-forme de vote électronique genevoise, mais tout va bien, le vote a été corrigé, nous dit-on dans [l'annonce officielle](https://www.news.admin.ch/message/index.html?lang=fr&msg-id=43719) sur admin.ch. ... Euh, QUOI ? Douze cantons ont permis à leurs électeurs de voter par Internet.. 19229 électeurs en ont profité, ce qui représente 16,5% des électeurs pouvant procéder de la sorte. Toujours selon le [communiqué officiel](https://www.news.admin.ch/message/index.html?lang=fr&msg-id=43719), on nous apprend que tout s'est bien passé, que tout a satisfait aux exigences de la Confédération. Et qu'un électeur (ou une électrice), Suisse de l'étranger, inscrit/e dans le canton de Lucerne, a pu voter deux fois. Que ce cas a été décelé par le monitoring du système, et résolu de manière professionnelle, tout en garantissant le secret du vote, et que l'incident n'a eu aucune conséquence. Je sais pas pour vous, mais ça me semble un tout petit peu gros : * Comment une personne a-t-elle pu voter deux fois ? * Comment être sûr que c'est la seule et unique personne ? * Comment fonctionne leur monitoring, s'il garantit le secret du vote ? * Sans doute d'autres questions de ce genre, mais la liste serait un peu longue ;) On va me dire « y a des surveillants » (qui ?) « qui peuvent garantir » (comment ?) « le bon fonctionnement du système » (ah ouais ?), « ainsi que des méthodes de validation » (lesquelles ?) « pour s'assurer de la conformité des votes » (conformité ? Basée sur quoi ?). Vu les questions que je pose déjà dans la phrase précédente, vous comprendrez sans peine que je suis quelque peu dubitatif. L'état de Genève fournit un [très beau PDF](https://www.ge.ch/evoting/doc/evoting_geneve_F.pdf) avec plein de dessins à l'air sérieux et tout. Certains ressembleraient presque à un plan de moteur à injection... Par contre, qu'est-ce qui nous certifie que nos données sont réellement là où on nous le dit, absentes des autres endroits où on nous dit « vos données personnelles n'y sont pas » etc ? Alors oui, dans le beau PDF, on nous dit, en gros, que les bulletins en papier n'offrent pas plus de sécurité que le vote électronique, que de toute façon, deux comptages manuels donnent des résultats différents à chaque fois, etc, etc. Oui, bin j'ai presque envie de dire : justement, c'est mieux. Comment peut-on s'assurer que ce que nous retourne l'ordinateur est correct ? Et, plus grave, comment peut-on s'assurer que personne n'a annulé un vote, comme cela semble manifestement avoir été le cas avec ce doublon lucernois ? Une fois que les infos sont stockées sur un support numérique, on peut en faire ce qu'on veut. Chiffrement ou pas. Hashage ou pas. Du moment qu'une poignée de gens ont la main sur les serveurs, ils font ce qu'ils veulent. Surtout s'ils sont ensemble. Vous allez me dire « bah pareil sur les urnes ». Sauf que les urnes physiques, elles, elles sont propres à chaque commune. Nettement plus dur de faire des erreurs à portée cantonale dans ce cas. Par rapport à 1-2 serveurs centralisant tous les votes au complet. Dans une boîte noire. Enfin, non, pas une boîte noire : * Après renseignement, des personnes du [GULL](http://www.linux-gull.ch/) ont fait la demande pour accéder aux sources de l'application (on peut le faire, précisé page 17 du premier pdf). * Demande acceptée (bah manquerait plus que ça). * Ils se sont retrouvés avec une version imprimée sur papier, à la Chancellerie. * Aucun moyen de faire tourner le code ni de le tester. * Plus drôle, les modalités de la transmission des sources sont au bon vouloir du Conseil d'État [(art 60, al. 10)](https://www.ge.ch/legislation/rsg/f/rsg_a5_05.html)... Et évidemment, seuls les électeurs genevois y ont accès, sans droit de copie (propriété de l'État) etc. J'ai pris un moment pour lire le PDF expliquant que le système e-voting proposé est sécurisé. J'aurais presque envie de rigoler un tout petit peu. Selon lui, le seul point faible est la machine du votant... Pour ce faire, ils passent par un applet Java, chargé de contrôler l'intégrité des votes au départ de l'ordinateur. Le vote est à nouveau contrôlé côté serveur. Mais on ne sait pas comment. Enfin si, et c'est là que ça devient drôle : Dans un [deuxième PDF](https://www.ge.ch/evoting/doc/Evoting_a_coeur_ouvert.pdf), on nous apprend que, pour procéder au vote, le système déchiffre votre bulletin : _Si les empreintes concordent, le système de vote par internet déchiffre le message à l'aide de la clé KcryptDH et procède à son traitement._ Donc votre carte de vote, contenant vos informations personnelles, se retrouve, même momentanément, en clair sur le serveur en face, et associée à votre vote, en plus ! Bonjour la confidentialité. Ah, aussi, tant qu'on parle de sécurité : lors de ma visite sur le site www.ge.ch, j'ai eu une petite erreur dans Firefox :> www.ge.ch uses an invalid security certificate. The certificate expired on 11/04/2011 12:59 AM. The current time is 03/12/2012 06:53 PM. Il va sans dire que là, j'ai un peu tiqué. J'ai vite sorti openssl, et vérifié les 8 serveurs répondant à www.ge.ch – seul un semble avoir un vieux certificat. Je me demande ce qu'on pourrait trouver d'autre. Ça donne confiance pour la suite. Après, en lisant les documentations diverses et variées, j'ai trouvé l'URL d'accès pour le vote par internet : http://www.evote-ch.ch/ Je vais donc dessus, et là, c'est le drame : ils ne sont pas foutus de faire une simple redirection vers le SSL, c'est à l'utilisateur de s'embêter à rentrer « https:// » (oui, avec la manie des navigateurs actuels de ne plus mettre le « http », faut tout se taper)... Sehr praktisch. Sans compter que le HSTS, connaît pas. De plus, ils ont manifestement un Apache en frontal qui ne fait que servir une page statique en HTTP pur – la partie HTTPS est prise telle quelle par un serveur web Sun Java System 7.0. Sans rien devant pour amortir le choc en cas de très forte affluence... Ça promet. Pour dire que je maintiens 2-3 sites à très gros trafic (non, pas mon blog ;) ), je peux affirmer que ce type d'architecture ne tient pas. Encore heureux, ça ne doit tourner que pour les votations, et avec un nombre limité de visiteurs, étalés sur plusieurs jours voire semaines. Mais que se passera-t-il quand, d'un coup, tout le monde pourra voter ainsi ? Je me réjouis de voir ça ;). Et, pour revenir sur notre Lucernois/e, petite chose marrante: _host www.evote-ch.ch www.evote-ch.ch has address 160.53.75.136 inetnum: 160.53.0.0 - 160.53.255.255 netname: ETAT-GE descr: Administration cantonale genevoise descr: Geneva, Switzerland country: CH_ Lucerne a donc perdu la main sur le vote. Je me demande comment ils peuvent ordonner un recompte de vote, et comment ça se passe niveau confiance, en cas de doute.. Pas vous ? Pour revenir sur l'incident, l'état de Genève a fourni une [explication](https://www.ge.ch/evoting/scrutin_20120311.asp). On n'y apprend pas grand chose, à part que c'est, d'après ce communiqué, le premier problème en 10 ans (sachant que c'est de l'informatique, j'ai comme un doute), que tout a été maîtrisé de A à Z, et que le bug est résolu. Ils ont commencé par étudier les logs. Tiens, que contiennent donc ces logs, au fait ? On sait pas. Ils ont pu, suite à l'étude de ces logs, reconstituer le drame. Jusqu'à quel point ? On sait pas. Ils ont donc pu détecter qu'une personne, à bout de patience après 80 secondes d'attente de résultat, a pu relancer la procédure complète de vote, chose qui lui a permis de voter deux fois. On espère deux fois la même chose, en passant. Vu que le vote surnuméraire (on sait pas lequel - le premier ? Le deuxième ? Le savent-ils ?) a été tout bonnement supprimé (en présence de représentants de la commission électorale centrale du canton de Genève et de représentants du canton de Lucerne et de la chancellerie fédérale). Il est bon de lire les questions qu'ils se posent (pertinentes, je l'avoue), et d'analyser leurs réponses.. On va sortir 2-3 perles ;). Concernant la baisse de performance, on peut noter qu'ils ont pensé à créer des index dans leur base de données, ce qui est une bonne chose. Par contre, il faudra qu'on me dise quel moteur ils utilisent pour avoir eu "une mauvaise indexation de la base de données"... Parce que là, franchement, à moins que ce ne soit du mysql 4.0, je vois pas (et là on se souvient que ce truc tourne depuis 10 ans, d'après leurs dires. C'était quelle version de mysql, y a 10 ans? ;) ). Qu'ils n'aient pas pu détecter cette erreur d'indexation est encore plus grave, surtout vu l'impact manifeste sur les performances que ce problème peut créer... On peut aussi se demander sur quel type de machine tourne l'application - est-elle assez grosse pour absorber les 19229 votes (x le nombre de sujets, évidemment) ? La réponse, partielle, viendra plus bas. Concernant le "pourquoi a-t-il pu voter une deuxième fois", on apprend que ce bug\^W\^W cette évolution a été introduite fin 2011, permettant à l'application de se baser non pas sur le contenu du registre (une base de données hébergée sur le serveur), mais sur le contenu d'une session temporaire... On imagine un refresh, voire une fermeture du navigateur + rouvrir, re-login, etc. Et ça passe, à voir. Hmmm. pas bon, dirais-je. Parmi les correctifs : création d'un index (qui altère la base de données, quoi qu'ils en disent - bien que, normalement, les données elles-mêmes ne doivent pas être touchées), un ajout (sans doute conséquent) de RAM (mémoire vive), ainsi que ce qu'il est convenu d'appeler un roll-back de l'évolution précitée. Après, évidemment, on nous rassure, "le vote électronique reste plus sûr que le vote papier, il y a nettement moins d'erreurs etc". Certes. Mais comment en être absolument sûr ? Là, il y a eu manifestement un problème d'index. Et si d'un coup ce sont les données elles-mêmes qui subissent ? Que se passe-t-il si Mme Michu est en fait un vilain Kevin qui veut contourner les sécurités et se faire un double-vote en faisant un bon gros DDoS sur le service de contrôle, de manière à pouvoir lancer X sessions en parallèle ? Que se passe-t-il si Mme Michu vote par la voie postale, oublie (bah hey, 80 ans), et demande à son petit-fils de l'aider à voter par internet avant que son scrutin postal n'arrive ? Quel sera le scrutin retenu ? Et si elle ne vote pas deux fois pareil, tant qu'on y est ? Ce cas de figure n'est pas possible, ou nettement plus difficilement, quand on n'a "que" la poste et le guichet de vote - pour se présenter à ce dernier, il faut la carte d'électeur qu'on doit joindre à l'envoi postal... Donc pas trop moyen, à moins de faire une photocopie... Et de toute façons, les votes postaux doivent arriver le jour AVANT le scrutin, pour être comptabilisés. Bref. De manière générale, le e-voting est un moyen fort alléchant, mais soumis à deux-trois trucs pas tops : * C'est sur Internet, et donc comme tel vulnérable à plein de problèmes, du DDoS à la simple panne matérielle (oui, il paraît qu'il y a de la redondance. Mais selon où est la panne et comment est faite la redondance, c'est pareil ;) ). * On perd le seul moyen de réellement contrôler les bulletins de vote – donc vouloir les recompter devient illusoire et inutile, l'application (urne numérique) fait ce qu'on lui dit de faire – y compris si on lui dit de virer des votes. * Du fait même des choix technologiques (closed sources), on perd tout moyen de réellement contrôler ce que l'application fait * La centralisation des votes facilite les magouilles possibles, et ce n'est pas la présence du CEC qui va empêcher quoi que ce soit * Le fait que, dans le cas de la solution de Genève, on déchiffre les bulletins est un problème en soi – imaginez si le serveur faisant la manipulation est compromis. * la présence d'un monitoring à tous les niveaux, y compris au niveau du serveur qui déchiffre, pose un problème de confidentialité, surtout du fait qu'on ne sait pas ce qui est supervisé. Alors, le e-voting, une solution d'avenir sécurisée, garante de la démocratie ? Technique : l'infrastructure : ------------------------------ On sait qu'il est hébergé à Genève, que c'est un machin java, et qu'il a un Apache qui ne tourne que sur le port 80, sans redirection, et que le 443 est servi par un serveur java en frontal. C'est le Sun-java-System-Web-Server qui fait tourner le tout. Là où j'ai un problème, c'est que la version installée est la version 7 datant de 2009. C'est donc un vieux logiciel et j'espère qu'ils ont appliqué quelques mises à jour, par exemple jusqu'à la 7.0.8 un grand nombre de failles comme des stack/heat/buffer overflow n'étaient pas corrigées, je vous laisse [regarder ça par vous même](http://docs.oracle.com/cd/E18958_01/doc.70/e18789/issues_prev.htm#CCHDGDGE). Je note aussi que la version 7.0.7 corrige un problème de vulnérabilité TLS/SSL, de quoi se poser quelques questions. J'ai aussi pu mettre la main sur [un peu de doc](http://www.oracle.com/technetwork/documentation/legacy-sun-iplanet-193465.html), ainsi que diverses informations par rapport aux [releases du projet](http://docs.oracle.com/cd/E19146-01/index.html) - par contre, je n'ai pas réussi à trouver la date des releases - mais sachant que le projet a été renommé "Oracle iPlanet Web Server" courant 2010... On est en droit d'imaginer que c'est vieux. Et la mention "Legacy Sun iPlanet Documentation" me fait penser que ce n'est plus maintenu. Résumons, si vous le voulez bien, les divers petits problèmes posés par ce système : * l'application en elle-même n'est pas opensource, on peut certes accéder au code, mais manifestement uniquement à une version imprimée, sans moyen de tester * ça tourne sur un serveur manifestement vieux, voire pas maintenu à jour * ça part du postulat que le seul problème de sécurité provient de l'ordinateur de l'électeur, et qu'entre deux, c'est sans souci * ça part du postulat que leur infrastructure est sans problème - mais aucun moyen de vérifier (voir plus bas pourquoi) * à voir, ils font des modifications du système avant le vote sans tester (résultat: double vote possible) * les finitions laissent à désirer (HSTS absent, redirection vers SSL absente - et je ne parle pas du design "so 90'") * les audits ont été menés par "une société indépendante". Laquelle? Est-elle vraiment indépendante? En clair : je considère ce procédé anti-démocratique, parce que : * il faut faire une confiance aveugle à une boîte noire * la centralisation des votes facilite les magouilles ou les erreurs * la centralisation des votes fait perdre le contrôle (Lucerne qui utilise la plateforme n'a pas les votes sur son territoire) * tout le secret mis autour de l'application (code source fermé, fourni que sur papier avec des restrictions telles que l'interdiction de le dupliquer) me fait penser qu'ils cherchent à cacher quelque chose. Quoi? Le 17 juin : ------------ On nous annonce que la confédération est prête à retenter l'expérience lors des votations du 17 juin prochain en permettant à 12 cantons de l'utiliser. 2 cantons (Genève et Neuchâtel) pourront l'utiliser pour les ressortissants locaux, les 10 autres cantons ont la possibilité de l'utiliser pour leur citoyens à l'étranger. Maintenant si on fait un petit calcul on arrive rapidement à environ 3,3% des électeurs totaux, soit environ 170000 Suisses. Si on se base sur une moyenne de participation calculée sur ces 10 dernière années on obtient le chiffre de 49,6% de participation probable (pour les chiffres voir les [statistiques de la confédération](http://www.bfs.admin.ch/bfs/portal/fr/index/themen/17/03/blank/key/stimmbeteiligung.html)). Donc on a potentiellement (vous me corrigerez le cas échéant) 6,65% des votes qui seront des votes électroniques et donc potentiellement 6,65% de votes faussés par la machine ou par l'erreur humaine. Vous je ne sais pas mais personnellement je trouve cela inadmissible. Conclusion : ------------ Après ce long article, je ne vais pas vous infliger une conclusion trop longue. En tout cas ce que l'on peut dire c'est que les solutions de e-voting (tant suisse, françaises qu'américaines) ne sont pas du tout au point. Ceci en partie à cause d'implémentations faites avec les pieds mais aussi (et surtout) à cause de la non prise de conscience de l'architecture d'internet dans tout ce processus, ce qui se traduit par ce que l'on connaît aujourd'hui. Pour finir je vous conseille vivement d'aller visiter les liens mis plus haut, ils sont tous extrêmement intéressants et sont un bon complément d'information. Librement, illambias. Cette dépêche est sous licence Creative Common BY-SA. Les textes originaux peuvent être consultés sur le [site de tengu](https://blog.tengu.ch) et sur le site de [illambias](http://illambias.lautre.net).

AltStyle によって変換されたページ (->オリジナル) /