ebanking, evoting: les différences

ajouté le 10.04.2012 dans Suisse • par SwissTenguCommentaires (1)
Tags: evotefail ebanking chvote ppsfr

Ce petit billet pour répondre à pas mal de remarques paraissant de manière assez régulière dès qu'on tape sur le système de vote électronique : « vous faites confiance à l'e-banking, l'e-vote c'est pareil ! »

Et bien non, ce n'est pas pareil. Ce billet va tenter, dans un langage si possible pas trop technique, de faire la lumière sur « pourquoi c'est pas pareil ».

Ce billet sera séparé en plusieurs parties : le e-banking et la sécurité, le e-voting et la sécurité, comparaison des deux qui servira aussi de conclusion. Il se veut en outre très simplifié - pardonnez-moi les quelques raccourcis pris ;).

Prêt ? Alors on y va !


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 calculatrice 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é 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).
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).

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).

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 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. Implémenter un système de session un rien subtile 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 autre 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)

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 ? 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.


T.

PS: merci à burninghat, die_s_man et RyuunoAelia pour la relecture ;)
 

E-Vote III - A new Hope

ajouté le 10.04.2012 dans Suisse • par SwissTenguCommentaires (0)
Tags: eVoteFail evotech chvote ppsfr

(Oui je sais, les titres sont dans le désordre, les puristes me pardonneront sûrement ;) ).

Ce matin, le Parti Pirate Vaudois fait la Une du Matin à propos du vote électronique.

De manière à être complet, voici l'article complet tel que nous l'avons soumis au Matin - ils ont pris pas mal de raccourcis dans le leur, sans doute une limitation du nombre de caractères ;).

De son côté, le PPvd a aussi publié l'article dans son ensemble.

Le bon côté de tout cela, c'est qu'on en parle, et qu'à voir les journaux commencent à s'y intéresser :).

Voici donc l'article. Bonne lecture ;)

T.

Introduction:

Le numérique et ses possibilités amène son lot d'émerveillement, de par les portes qu'il ouvre et les possibilités extraordinaires qu'il offre. Le vote électronique est, sur le principe, une évolution démocratique des plus enthousiasmantes.

Cependant, dans ce domaine comme dans tout autre, il s'agit d'avoir un regard critique sur les choses. Peut-être faut-il se montrer même plus critique de par la période de transition que nous traversons, pour plusieurs raisons essentielles:

La plus évidente: L'humain n'est pas équipé sensoriellement pour "percevoir" le numérique. Pas plus qu'il ne "voit" l'électricité dans un cable, il ne peut directement "ressentir" Internet. Il utilise des instrument, et passe par un apprentissage, pour en percevoir certains aspects et interagir avec ce milieu. Ces capacités ne sont pas innées.

Si certains "digital natives" (les jeunes "nés avec un smartphone dans les mains") ont une faculté intuitive, non seulement à utiliser, mais aussi à sentir, à se prémunir ou se protéger des problématiques, détournements, effets pervers, voire des dangers liés au numérique et aux nouvelles technologies, il s'agit d'une petite minorité.

L'immense majorité des gens, y compris les générations au pouvoir, soit en ignorent tout, soit servent des intérêts ne tirant aucun bénéfice à sensibiliser ou éduquer les jeunes, et encore moins la population en général, sur ces problématiques.

A l'heure actuelle, lorsqu'un sujet numérique est abordé, on parle donc surtout des avantages, mais pas (ou trop peu) des inconvénients. Et pourtant, si les possibilités offertes par le numérique sont virtuellement infinies, les détournements le sont tout autant.

Le Parti Pirate se veut être un "contrepoids" dans ce type de situation. Il a de plus, dans le cas du e-voting, une expérience pratique concrète et des problèmes qu'il soulève, de par l'utilisation de la solution Pi-vote au sein du parti.

Pour résumer, c'est donc au croisement de l'idée excitante de vote électronique avec les défis de sa mise en pratique que nombre de questions se posent.


Le 17 juin, un peu plus de 160'000 citoyens suisses pourront voter par voie électronique. Qu'est-ce que cela vous inspire?

L'idée, le concept de vote électronique est une évolution attrayante sur le principe, de par les nombreux espoirs pratiques qu'on lui attibue. On lui prête une plus grande praticité ou facilité de vote, surtout pour des personnes à l'étranger, ainsi que des avantages dérivés, tels qu'une meilleure implication citoyenne et, selon sa mise en oeuvre, des économies de papier.

En pratique, ouvrir la porte au vote électronique, en particulier lorsqu'il est opaque, c'est accepter le risque de remplacer la démocratie du vote traditionnel par une dictature numérique.

Un des fondements de notre système de vote actuel est la compréhension de son fonctionnement. C'est une des composantes de son aspect démocratique. Toute personne avec une éducation de base est en mesure non seulement de comprendre ce fonctionnement, y compris les mécanismes assurant l'anonymat d'un vote, mais aussi de se rendre compte de la grande difficulté à le détourner. Il peut même aller vérifier son bon déroulement, et les sécurités mises en place à ces fins.

Chacun a donc la capacité de vérifier que le déroulement du vote se passe correctement.

Avec le vote électronique, plus rien de tout cela n'est possible pour le citoyen. Ce type de vote n'est simplement plus démocratique.

De plus, le processus démocratique du vote traditionnel, jusque là robuste, est grandement fragilisé par l'adjonction de ce e-voting dont la sécurité et l'inviolabilité ne peuvent être garanties.

Précision de Cédric Jeanneret: A ce jour, pour le cas du vote électronique genevois, AUCUN audit n'a été publié. Or la Loi sur l'Exercice des Droits Politique (LEDP) précise qu'ils doivent être rendus public. On peut en déduire qu'il n'y a pas eu d'audit pour le moment. La seule publication s'approchant d'un audit concerne uniquement l'ergonomie et les fonctionnalités, et date de 2002. Un peu bizarre quand la LEDP précise qu'il faut au moins un audit tous les 3 ans (art. 60 al. 6.

C'est donc une voie potentiellement très dangereuse pour notre démocratie qui est empruntée actuellement, et même si elle ne concerne qu'une proportion minoritaire des électeurs, elle est déjà amplement suffisante (10% au niveau fédéral, 30% pour Genève et Neuchatel) pour faire basculer l'issue d'un scrutin.

A l'heure actuelle ou de grandes puissances ne se cachent plus de mener des guerres numériques contre d'autres pays, faire perdurer des "tests" ayant un impact réel sur le résultat des scrutins relève d'une ignorance, d'un aveuglement ou d'une inconscience pure et simple.

Par ailleurs, l'actualité récente fournit quelques éclairages intéressant à confronter aux illusions d'inviolabilité de systèmes informatiques:

- Visa et MasterCard, dont une importante proportion du business repose sur la sécurité informatique, auraient récemment accusé une fuite allant jusqu'à 10 millions de données de cartes bancaires, à cause d'un de ses gros prestataires.

- Suite à une faille de l'environnement Java, plus d'un demi-million de Macs ont été infectés par un cheval de troie.

Sans qu'il y ait de parallèle direct à faire avec l'utilisation de Java dans la solution de vote électronique genevoise, l'exemple montre que cette technologie n'est pas plus inviolable ou pas moins détournable qu'une autre.

La chancellerie fédérale assure que le 11 mars, il n'y a pas eu de faute, mais un bug. Ca vous rassure sur la fiabilité du système?

Non, cette déclaration a précisément l'effet inverse. Une faute, sous-entendu une erreur humaine de manipulation ou de traitement, quoique potentiellement tout aussi problématique suivant son impact, ne remet pas en cause le système, l'outil. Le bug, lui, met en lumière un dysfonctionnement du système, qui ne fait pas correctement ce qui lui est demandé.

Par analogie, dans le cas d'une voiture enfonçant la façade d'un magasin, on tiendra le pilote pour responsable, qu'il l'ait fait à dessein ou suite à une innatention.

Si l'accident est dû à une défaillance de la direction et du système de freins, on cherchera le fautif du côté du constructeur, ou de la chaine d'entretien/de vérification.

Garantir, et surtout prouver l'absence totale d'anomalie de fonctionnement ou de faille de sécurité dans un système informatisé est tout simplement impossible.

Utiliser un système de e-voting informatisé, à terme potentiellement pour tous les électeurs, ouvre donc la possibilité, aussi importants soient les efforts de sécurisation, de voir l'ensemble des voitures d'un canton démarrer et s'encastrer dans un mur à l'occasion d'un scrutin.


Pour aborder spécifiquement le cas de Genève en question pour cette défaillance, la communication de la Confédération était extrêmement confuse.

Hormis le fait à peine croyable d'annoncer un dysfonctionnement pur et simple en le faisant passer pour un succès, celui-ci était énoncé comme suit:

"Un électeur/une électrice Suisse de l'étranger, inscrit(e) dans le canton de Lucerne, a pu voter deux fois avec une même carte de vote sur la plateforme genevoise de vote électronique."

Sans connaissances particulières, on pouvait donc se demander: Un Lucernois, en votant électroniquement, aurait donc pu voter à double (!), avec une carte mono-utilisation (!!), participant au scrutin d'un Canton n'étant pas le sien (!!!) ?

Au final, la personne avait certes voté à double, mais pas au sein du scrutin genevois. Lucerne ayant en partie abandonné la souveraineté de son système de vote à Genève, le Canton avait son scrutin séparé sur la plateforme technique genevoise.

Deux problèmes majeurs subsistent: le vote à double, et la "correction" de cette erreur.

Le problème du double vote est évident, il ne devrait simplement pas se produire. Celui de la "correction" soulève des questions sur l'anonymat des votes, en particulier la possibilité technique de sa violation. Il a été assuré que ce secret n'avait pas été violé.

Il n'y a pas d'autre choix que de faire confiance, les éléments constituant le système en fonction n'étant pas divulgués au "simple citoyen".

N'est-ce pas une chance pour la démocratie que les Suisses de l'étranger, notamment, puissent voter plus facilement?

Sur le principe, oui, ce serait une grande avancée. En pratique, dans l'état actuel, on fragilise (voire compromet) avec certitude notre système de vote par la mise en place d'un service à l'utilisation hypothétiquement plus grande que le vote traditionnel.

Outre les considérations techniques pour le vote électronique, c'est aussi son aspect centralisé qui le rend vulnérable. Si le système est compromis, l'entier du scrutin peut être compromis.

Une solution nettement moins dangereuse consisterait à permettre aux Suisses de l'étranger de désigner une personne (de confiance, en toute logique) en tant que représentant auprès des autorités en matière de vote. En cas de scrutin, des instructions de vote seraient communiquées à ce représentant par l'électeur à l'étranger, et ce représentant voterait en son nom.

Un tel système, avec quelques garde-fous (représentation d'une personne max, confirmation de l'acte de vote par internet), éviterait de prêter le flanc à une compromission intégrale de notre système de vote. Le "prix" de ce compromis serait l'abandon de l'anonymat du vote entre l'électeur de l'étranger et son représentant.


On sait que le vote traditionnel est un processus qui n'est pas fiable à 100%. N'est-ce pas faire un faux procès au vote électronique que de le pointer du doigt comme risqué?

La réponse est évidemment "Non", pour 2 raisons essentielles:

D'une part, si la finalité des votes traditionnels et électroniques sont les mêmes, certains grands principes de fonctionnement, au delà même de la technique, sont différents.

Le vote traditionnel, y compris pour le vote par correspondance, est distribué sur de multiples bureaux, alors que le vote électronique est centralisé. Genève regroupe même plusieurs Cantons sur une seule plateforme, dont notamment Lucerne et Berne.

Si l'on veut détourner le vote traditionnel, il s'agit de compromettre, dans l'exemple du canton de Vaud, une bonne portion de presque 360 bureaux de votes. Pour le vote électronique, il suffit de comprommettre une seule plateforme. Si la plateforme est compromise en toute discrétion, et les résultats modifiés avec un peu de subtilité, des scrutins pourraient être manipulés à l'insu de tous.

Précision de Cédric Jeanneret: Dans le cas de Genève, pour une "attaque" sous l'angle humain, à priori 2 personnes corrompues, 3 maximum, suffisent pour compromettre l'entier du système. Il suffit de corrompre un notaire, un "officier de sécurité", et à la rigueur le représentent de la SVE:
ce dernier possède l'ordinateur d'administration du système de vote électronique. Le notaire possède les mots de passe permettant de déchiffrer la clef privée possédée par l'officier de sécurité.
Cette dernière permet de déchiffrer les votes, et donc d'accéder à toutes les informations sur les votants, ainsi que manipuler les votes contenus dans l'urne.
(source: Evoting_a_coeur_ouvert.pdf, chapitre 2 "scellement de l'urne électronique")

D'autre part, le risque n'est ni le seul, ni même le plus gros problème soulevé par le vote électronique, car il en va surtout de sa légitimité. Pour rester démocratique, un système, une méthode de vote doit pouvoir être non seulement comprise, mais aussi vérifiable par l'électeur.

Un test de compréhension du fonctionnement peut aisément être fait sur la base du document "Evoting à coeur ouvert".

A moins d'une bonne trentaine de révolutions dans l'efficacité des méthodes d'apprentissage, jamais une population dans son ensemble ne sera en mesure de vérifier ne serait-ce que les grandes lignes du fonctionnement d'un système de vote électronique raisonnablement inviolable et assurant l'anonymat du vote.

Même en admettant que ce soit le cas, une solution telle que celle de Genève resterait non-démocratique, car les "simples" électeurs n'ont pas accès au système ni aux composants de programmes qui le constituent. Cet aspect est précisé dans la LEDP, art 60 al 8.

En l'état, dans le cadre d'un processus de vote dit démocratique, le citoyen ne peut rationnellement (donc ne devrait pas...) considérer un système de vote électronique comme autre chose qu'une boite à suggestion ou un puits à souhaits, car sa capacité à s'assurer de son bon fonctionnement est similaire, à savoir nulle.

En complément sur le thème de la légitimité, voici une réflexion intéressante sur cet aspect: http://idees-courtes.com/artic...

Qu'est-ce qu'il manque, de l'avis du Parti pirate, dans les systèmes actuels de vote électronique?

Il manque une prise de conscience doublée d'une reconnaissance des manquements et des risques (techniques) que fait peser une solution de e-voting quelle qu'elle soit sur le vote démocratique. Il manque donc par extension une décision d'arrêter les tests ayant un impact sur les résultats, doublée au minimum d'un moratoire sur la mise en place de systèmes de vote électronique en situation réelle.

Si une majorité de citoyens suisses devait se prononcer, en connaissance de cause (donc en acceptant les risques évoqués précédemment), en faveur de la mise en place d'un système de vote électronique, celui-ci devrait au moins être entièrement transparent et vérifiable.

Il s'agirait en particulier d'ouvrir totalement les sources (le code) des programmes utilisés, ainsi que toutes les indications techniques utiles, afin de permettre à toute personne intéressée de vérifier et d'éprouver le système. Il faudrait aussi pouvoir prouver que le système en fonctionnement correspond à ces sources.

Avis de Cédric Jeanneret: Pour ma part, tant que je ne sais pas ce qui a en outre été mis en oeuvre pour garantir la sécurité de l'hébergement, tant que ce n'est pas sur une infrastructure distribuée, tant que j'ai des soupçons quant à l'état des mises à jour de sécurité des applications faisant tourner le e-vote, je ne ferai pas confiance. Les sources ne sont qu'un aspect - il faut voir la problématique dans son ensemble: moi, citoyen [informaticien] ne ferai jamais confiance aux plate-formes propriétaires. Cela inclut le système d'exploitation, les services, les applications

Cédric Jeanneret, membre actif du Parti Pirate Vaudois, s'est penché à diverses reprises sur la solution e-voting genevoise.

Références:

LEDP: https://www.ge.ch/legislation/...
Evoting_a_coeur_ouvert.pdf: http://www.ge.ch/evoting/doc/E...
SVE: Service des votations et élections

Communiqués de presse:
http://www.news.admin.ch/messa...
http://www.news.admin.ch/messa...
 

E-vote II - The Empire strikes back

ajouté le 08.04.2012 dans Suisse • par SwissTenguCommentaires (2)
Tags: eVoteFail evotech chvote ppsfr

C'est reparti pour un tour: la Confédération a autorisé 12 cantons à employer le vote électronique pour les prochaines votations fédérales du 17 juin. Dans ce groupe, 10 cantons offriront cette solution uniquement à leurs ressortissants de l'étranger, tandis que les 2 derniers (Genève et Neuchâtel) pourront faire bénéficier leurs ressortissants locaux de cette solution.
Cela touchera environ 164'000 suisses et suissesses, soit 3.2% de l'électorat suisse total (donc un peu plus que ça si on compare au taux de participation ;) ).
Donc potentiellement 3.2% de votes faussés.
Oui, parce qu'à ce jour, aucune garantie n'a été donnée par rapport à la fiabilité du système. Aucun audit n'a été publié. Le code est toujours fermé. On ne sait même pas sur quoi tourne l'application elle-même. Ni ce qui a été mis en œuvre pour la protéger.

Quand on découvre que certaines infrastructures ne sont pas à jour, qu'à voir l'application elle-même tourne sur des choses datant de 3-4 ans, que les administrateurs systèmes cantonaux ne sont pas fichus de remplacer les certificats SSL sur tous les serveurs, il y a de quoi avoir un peu peur.

L'idée même de pouvoir voter par Internet n'est pas mauvaise en soi - cela permettrait peut-être d'augmenter les participations, principalement depuis l'étranger. Pouvoir, en quelques clics de souris, donner son avis à ses dirigeants est fort séduisant.
Par contre, comme trop souvent, la réalisation laisse à désirer. Et pas uniquement du point de vue technique.

Comme déjà pointé par une connaissance, la démocratie fonctionne parce que tout le monde peut comprendre comment le système marche, et même y participer pour s'assurer qu'il n'y a pas de faute. Le dépouillement des votes fait par les citoyens reste un gage de sécurité et de confiance dans le processus démocratique. Le fait qu'on puisse recompter les bulletins avec différentes personnes aussi.

Mais allez donc tenter d'expliquer à quelqu'un comment marche le chiffrement de son vote, garant de son anonymat. Allez donc lui expliquer comment les votes peuvent être comptés sur un ordinateur tout en garantissant que ses données personnelles ne pourront pas être reliées à ses choix. Allez donc lui expliquer qu'on peut recompter pour s'assurer que c'est correct, et qu'on peut faire un autre programme pour recompter avec un autre algorithme ;). Dans 99% des cas on va vous regarder avec des yeux ronds comme des soucoupes, et vous envoyer bouler par un "aahhh toute cette technologie, j'y comprends rien - démerdez-vous". Don't act.

Alors oui, on nous assure que c'est tout bon. On nous montre des superbes schémas. Mais ce ne sont que des papiers fournis par les fabricants de ces machins. Autant demander à l'UBS de faire un audit financier sur ses propres transactions (oh, WAIT!), ou à un état de contrôler par lui-même qu'il est bien démocratique et qu'il respecte les droits de l'homme (wait, WAHT??) ;). L'auto-contrôle, on le sait tous, ça ne marche que sur le papier. J'ai eu écho de personnes s'étant dressées contre le système de vote électronique proposé par un canton, et qui en paient encore les frais depuis 10 ans... À croire qu'ils n'aiment pas la critique d'universitaires ou polytechniciens.

Pour ma part, tant que les sources ne seront pas ouvertes, tant que toute la lumière ne sera pas faite sur les mesures de sécurité mises en place, tant que le système de vote dans son ensemble dépendra uniquement de trois personnes, je refuserai de l'utiliser.
Ah, oui, ce détail n'avais pas été soulevé dans mes précédents billets: le système genevois base son entière sécurité sur trois personnes. Uniquement. Pour un système centralisé.
Prenez 2-3 minutes pour comparer ce chiffre ridicule avec, dans le cas du canton de Vaud, les 360 bureaux de vote, comportant tous au moins 3 personnes (je n'ai pas trouvé le minimum légal pour un bureau de vote). Et réfléchissez à ce qu'il peut se passer si les trois personnes possédant les informations d'accès à l'urne électronique s'allient face à un vote. Comparez encore ceci aux bureaux de vote traditionnels, et voyez la portée si un bureau de vote local décide de frauder.
3.2% des voix peuvent donc être faussées, sans que le citoyen puisse en avoir vent.

Malgré tous les bons mots et les beaux schémas présentés, je ne pourrai pas non plus faire abstraction du fait qu'un troyen pourrait fort bien semer la zizanie dans le système. Un petit cheval de Troie discret, indétectable par les anti-virus, même à jour. Un tel cheval de Troie existe déjà, d'ailleurs. Il appartient au gouvernement. Et n'est pas réputé pour sa sécurité.

Et vu que le système est centralisé, que se passe-t-il s'il tombe en panne durant la période de votation? Ou qu'il se fait attaquer?

Ah au fait, avez-vous remarqué que le communiqué de la Chancellerie ne fait aucune mention de l'incident du 11 mars à Genève?

Allez, on se retrouve au 17 juin pour faire un bilan. Entre deux, il y aura quelques communiqués de différentes personnes et différents partis à propos de ce qu'il est convenu d'appeler une mascarade. Sortez le pop-corn et les lunettes 3D ;).

T.


Merci à Burninghat et Braoru pour la relecture ;)
 

e-vote-ch.ch - la sécurité avant tout

ajouté le 15.03.2012 dans Suisse • par SwissTenguCommentaires (10)
Tags: eVoteFail evotech chvote ppsfr

Lors de mon dernier post, j'ai très rapidement passé sur le site www.evote-ch.ch.

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.

Ce que je ne savais pas encore (car pas recherché, et un twittos me l'a fait remarquer), c'est ceci:
le fameux Sun-java-System-Web-Server/7.0 date de 2009, comme l'atteste l'article de wikipedia.
Pour être plus précis, il date du 22 décembre 2009, comme le montre la page retrouvée chez Sun^W Oracle
J'ai aussi pu mettre la main sur un peu de doc, ainsi que diverses informations par rapport aux releases du projet - 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.

Quoi qu'il en soit, j'espère pour Genève que c'est la version 7.0.8, qui corrige entre autre des problèmes DoS provoqués par divers bugs (buffer overflow, heap overflow etc) à elle seule (je vous laisse zieuter par vous-même ;) ).
De ce que j'ai vu, les versions suivantes ont le nouveau nom - si quelqu'un peut confirmer/infirmer la chose, c'est volontiers :)

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 clean
- ça part du postulat que leur infrastructure est clean - 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?

Si on reprend le texte de la loi, on voir à l'art60, al8:
Le code source des applications permettant de faire fonctionner le vote électronique, de même que les documents liés à la sécurisation du système, à l'exception des résultats de l'audit prévu à l'alinéa 6, ne peuvent être communiqués à des tiers en application de la loi sur l’information du public, l’accès aux documents et la protection des données personnelles, du 5 octobre 2001.


Ils ont donc créé une exception pour empêcher l'accès aux sources. Juste pour ce cas précis. Ils considèrent que le code source est aussi secret que le vote en lui-même. Et on n'a pas non plus accès aux informations concernant la sécurisation de leur infrastructure.

Ils tentent donc de faire de la sécurité par l'obscurité, chose qui ne marche pas bien comme on le sait ;).

Et donc, ils veulent que nous ayions confiance dans leur système. Bin je sais pas pour vous, mais pour ma part, je continuerai d'aller déposer mon vote dans la boîte mise à disposition dans le bâtiment de ma commune (on peut aussi y déposer le vote par correspondance). Ça a pl
usieurs avantages, comme le faire de me faire sortir de chez moi, voir un peu du monde, et marcher un tout petit peu ;). C'est donc bon pour la santé, en plus :D

Et vous, quelle option choisissez-vous? Faire confiance dans ce "truc", ou continuer avec la bonne vieille méthode ?

T.
 

E-Voting: tout va très bien, Madame la Marquise

ajouté le 14.03.2012 dans Suisse • par SwissTenguCommentaires (8)
Tags: evoteFail chvote démocratie ppsfr

Ce dimanche 11 mars 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 sur admin.ch.

... Wait, WAHT ?!11!?1

Douze cantons ont permis à leurs électeurs de voter par Internet.. 19'229 électeurs en ont profité, ce qui représente 16.5% des électeurs pouvant procéder de la sorte.

Toujours selon le communiqué officiel, 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 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 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)... 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 se 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 sait pas comment. Enfin si, et c'est là que ça devient drôle :
Dans un deuxième 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 checké 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 sont pas foutus de faire une simple redirection vers le SSL, c'est à l'utilisateur de se faire ch*er à 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. 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 spré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 indexes 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 19'229 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, y a nettement moins d'erreurs etc". Certes. Mais comment en être absolument sûr? Là, 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 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 maladies, du DDoS à la simple panne hardware (oui, paraît que 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 manip 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 monitoré.

Pour finir, je vous invite à aller lire un peu ce que pensent des experts à propos du vote électronique, ainsi que certains titres, comme le système de vote US craqué en moins de 48h (en anglais), ou encore un décorticage du système genevois... et que dire du système pour les Oscars ? En fait, une simple recherche montre que c'est loin de faire l'unanimité...
Et un Twitos de me filer un petit lien très intéressant sur slashdot pour couronner le tout ;)

Alors, le e-voting, une solution d'avenir sécurisée, garante de la démocratie ?

Hey, pour embêter, on conteste le résultat des votations? Surtout celui sur les résidences secondaires ;)

T.

PS: merci aux divers relecteurs ;)