De la nécessité des logiciels libres dans l'application de la démocratie en Suisse

Stéphane Magnenat et Julien Pilet

10 Juin 2002

1. Introduction

Toute démocratie impose des contraintes à ses mécanismes d'application pour éviter qu'ils ne deviennent plus importants qu'elle. L'évolution de ces mécanismes, due à l'utilisation massive des technologies de l'information, renouvelle le risque que la démocratie perde sa raison d'être en se soumettant à son propre métabolisme.

Une démocratie est un État de Droit, dont le peuple est souverain. Si elle dépend d'une technologie qui n'est pas ouverte au peuple, alors il n'est plus souverain mais esclave. Ceci est inacceptable. Dans le contexte de l'informatique, les logiciels libres nous semblent la voie raisonnable pour éviter ce danger.

Nous commencerons par présenter les logiciels libres, puis nous présenterons rapidement la démocratie telle qu'elle existe en Suisse. Nous montrerons quels sont les points critiques où cette dernière risque de perdre son essence dans un monde de haute technologie. Enfin, nous montrerons comment les logiciels libres permettent de sauvegarder la démocratie et, mieux encore, contribuent à réaliser l'idéal démocratique.

En revanche, ce document ne traite pas de la légitimité de l'informatique dans les processus démocratiques, ni de quelconques considérations techniques.

2. Les logiciels libres

Un logiciel est une suite d'instructions qu'un ordinateur comprend et utilise pour effectuer une tâche. Les logiciels sont tout d'abord écrits dans un langage compréhensible par un être humain. Ce texte, nommé code source, est ensuite traduit en un autre langage, cette fois compréhensible par l'ordinateur. Le résultat de cette traduction s'appelle code exécutable.

Une fois cette transformation effectuée, il est pratiquement impossible de comprendre le fonctionnement d'un programme en regardant uniquement le code exécutable. Cette transformation n'est pas réversible. Dans un logiciel commercial classique, par exemple le traitement de texte Microsoft Word, seul le code exécutable est fourni. Dans un logiciel libre au contraire, le code source est aussi distribué, ainsi que les droits légaux qui permettent de l'utiliser. Une définition rigoureuse du logiciel libre est donnée en français par la Free Software Fondation (FSF) [1]. Nous allons la résumer ici.

Selon la FSF, un logiciel est déclaré libre s'il contient quatre droits:

Afin de garantir légalement ces libertés, les logiciels libres utilisent les mécanismes du droit d'auteur. Plusieurs licences libres existent [2], mais la plus connue est la GPL, dont une traduction officieuse est disponible [3]. Les logiciels libres sont souvent confondus avec les logiciels open source qui n'englobent que les deux premières libertés, c'est-à-dire exécution du programme et accès aux sources2.1. Dans le contexte de la démocratie, l'intérêt principal du logiciel libre est la disponibilité du code source, qui permet à tout citoyen ayant les connaissances techniques nécessaires d'analyser, de comprendre et de contrôler le fonctionnement du logiciel.

3. La démocratie Suisse, ses mécanismes et leurs contraintes

La Confédération Suisse regroupe 26 cantons et demi-cantons. Elle est un État de Droit basée sur une constitution [Cst]. Elle définit la structure de l'État et garantit au peuple des libertés fondamentales dont les droits de l'Homme [4] et les droits politiques. Elle établit une démocratie semi-directe qui distribue le pouvoir comme suit: «les cantons sont souverains en tant que leur souveraineté n'est pas limitée par la Constitution fédérale et exercent tous les droits qui ne sont pas délégués à la Confédération» [Cst, Art. 3].

L'initiative (le peuple propose un objet) et le référendum (l'État soumet un objet au vote, à la demande des citoyens) permettent au peuple de prendre part au pouvoir législatif. Les votations, élections, initiatives et référendums sont les moyens d'expression de la volonté populaire. La possibilité de les exercer de façon électronique soulève bien des problèmes.

La mise en place d'un système de vote électronique devrait respecter au mieux la loi fédérale, et ne nécessiter comme modification que la légalisation du support informatique comme matériel de vote officiel, sans céder à la tentation de modifier d'autres points pour des raisons techniques.

Au niveau fédéral, c'est la loi fédérale sur les droits politiques qui règle le droit de vote et l'exercice de ce droit [LDP, Titre 1]. Pour s'y conformer et respecter la constitution, un système électronique doit garantir le respect de certaines contraintes :

«La garantie des droits politiques protège la libre formation de l'opinion des citoyens et des citoyennes et l'expression fidèle et sûre de leur volonté» [Cst, Art. 34].

«Les cantons instituent une procédure simple [...]. Ils arrêtent notamment les prescriptions tendant à garantir le contrôle de la qualité d'électeur [...]»[LDP, Titre 1, Art. 8, ch. 1].

«Les cantons arrêtent les dispositions permettant d'assurer un dépouillement sans lacunes du scrutin, de sauvegarder le secret du vote et de prévenir les abus» [LDP, Titre 1, Art. 7, ch. 4].
En aucun cas l'association entre le contenu d'un bulletin électronique et l'identité du votant ne doit être mémorisée, stockée ou rendue disponible pour une tierce personne. Si une solution informatique est adoptée, elle devra respecter ces contraintes du point de vue technique.

Actuellement, les citoyens peuvent vérifier le bon fonctionnement des processus démocratiques, par exemple en participant au dépouillement. Ce contrôle n'est plus possible de la même manière avec un système électronique. Par contre, la possibilité existe techniquement de vérifier que le système logiciel respecte les processus démocratiques. L'État doit bien entendu l'examiner de près et laisser aux citoyens la possibilité d'en étudier le fonctionnement.

«Le vote s'exerce au domicile politique, à savoir la commune où l'électeur habite et s'est annoncé à l'autorité locale» [LDP, Titre 1, Art. 3, ch. 1].

«Les électeurs sont inscrits au registre des électeurs de leur domicile politique» [LDP, Titre 1, Art. 4, ch. 1].
La commune s'occupe de tenir à jour le registre des électeurs. Dans une optique d'informatisation, les différents registres gagneraient à être gérés par des logiciels compatibles entre eux. Ce qui ne veut pas dire qu'on doive forcer chaque commune à utiliser le même logiciel. De même, les cantons étant compétents quant à l'organisation des votations et élections, ils peuvent choisir des systèmes différents. Pourtant la compatibilité de ces systèmes est souhaitable.

Le logiciel libre, par sa transparence et son droit de copie, facilite grandement la compatibilité. Par exemple, si un canton développe une solution libre, n'importe quelle commune pourrait l'utiliser en y apportant les modifications qu'elle désire.

4. Expériences d'expressions populaires électroniques

4.1 Situation actuelle en Suisse

Suite à la stratégie décidée en 1998 par le conseil fédéral [6], la Confédération a en cours deux projets de cyberadministration [7] : guichet virtuel et e-voting.

Le guichet virtuel est un portail unique visant à réunir les informations et services administratifs relatifs à la Confédération, aux Cantons, et aux communes. Ce site donnera des réponses à des questions pratiques sans qu'il soit nécessaire de savoir de quelle entité administrative dépendent les réponses. Il ne permettra pas d'effectuer directement des actes administratifs, mais redirigera plutôt les citoyens vers les bons organismes. Le contrat passé avec les Cantons spécifie bien que les compétences restent là où elles sont. Ce guichet virtuel profitera de la délocalisation d'Internet pour fournir, sur un seul site, des informations à plusieurs niveaux tout en respectant l'organisation fédéraliste suisse.

Le deuxième projet de la Confédération concerne le vote électronique. Ce dernier vise, dans un premier temps, à provoquer la discussion politique et à suivre et évaluer des essais-pilote permettant de trouver des réponses aux différentes questions soulevées par ces nouvelles technologies. Les décisions politiques nécessaires à l'introduction du vote électronique suivront l'évaluation de ces essais-pilote.

Trois projets sont actuellement en cours: le canton de Zurich testera un registre des électeurs doté d'un accès centralisé ; le canton de Neuchatel va mettre en place un système de signatures électroniques d'initiatives et de référendums ; et Genève expérimente un vote par Internet basé sur une carte de vote porteuse d'un numéro à usage unique, caché par un masque à gratter.

4.2 L'expérience genevoise

«Le Canton de Genève s'est lancé dans un projet pilote en matière de vote par Internet qui s'inscrira comme une prestation supplémentaire au vote traditionnel dans les locaux de vote et au vote par correspondance» [8]. Les sociétés Hewlett-Packard et Wisekey SA ont été mandatées pour réaliser le système.

Si l'expérience a convaincu les Genevois du point de vue de la facilité d'utilisation, la solution est loin d'être parfaite. Le projet a été réalisé sous la condition suivante: «à savoir la maîtrise des données et de la totalité du processus de vote par l'État» [9]. C'est là que se trouve le problème: le peuple n'a pas accès au processus de vote. Seul les contrôleurs désignés par l'État peuvent vérifier le fonctionnement correct des logiciels développés. Le site officiel de l'État de Genève [10] dit ceci :

«Un citoyen votant grâce à un système que le public ne peut pas vérifier n'est-il pas incompatible avec le principe du vote ?

Les contrôleurs désignés par le Conseil d'État pour s'assurer du bon déroulement de l'opération ont accès à toutes les informations techniques et organisationnelles. Ils ont pu étudier la solution et les rapports des experts. En outre, ils ont le pouvoir de demander en tout temps un audit du système. Ainsi le contrôle par le public reste garanti.»
L'État a choisi une solution fermée au public, et précise ici que les citoyens doivent lui faire confiance pour le contrôle du fonctionnement de celle-ci. Quelles sont les motivations qui justifient cette décision ? Nous n'en trouvons aucune valable. Certains pourraient dire que cacher les mécanismes du système améliore la sécurité. Pourtant, les meilleurs spécialistes en matière de sécurité informatique sont unanimes: un fonctionnement transparent est plus sûr [14]. Pourquoi l'État cache-t-il des informations au public sans raison ?

Ce même site tente de répondre à une autre question:

«Comment puis-je être sûr que mon vote a été pris en compte ?

Lors du dépouillement, on s'assure que l'urne électronique contient autant de votes qu'il y a de votants ayant utilisé Internet pour s'exprimer.»
Cette réponse est discutable. Qui est ce «on» qui contrôle l'urne ? Si je vote par Internet et si ni le fait que j'ai voté ni mon bulletin ne sont pris en compte, cette méthode de vérification ne garantit pas que mon vote soit dépouillé correctement. Tout ceci n'est pas très convaincant.

La qualité d'un système ne peut pas être complètement évaluée sur sa foire aux questions. Étudions donc le rapport du comité de sécurité [11] chargé d'examiner ce système. Premier point troublant, les auteurs de ce document désirent rester anonymes:

«Les auteurs de ce rapport n'ont pas jugé relevant que leurs noms soient expressément publiés, ne serait-ce que parce que les institutions pour lesquelles ils travaillent ne sont pas formellement engagées par leurs réflexions, dès lors que leurs structures de direction n'ont pas eu à les valider.»
Pourquoi est-ce si risqué d'impliquer les institutions que sont le CERN, des hôpitaux universitaires de Genève et de l'université de Genève ? Pourquoi n'est-il pas pertinent que les auteurs s'engagent, quitte à dégager explicitement la responsabilité des institutions concernées ? Peut-être parce que la question de la sécurité en matière de vote électronique est délicate. L'anonymat, même partiel, de ce rapport entame la crédibilité de l'État même, puisque c'est le seul outil proposé aux citoyens pour garantir le contrôle du public.

Ce rapport apporte pourtant des informations intéressantes au niveau de la sécurité. Il pointe par exemple quelques lacunes techniques. On aussi peut y lire [11, point 10] :

«D'autre part, une approche « open source » (ouverture au public du code source) permettrait d'améliorer la crédibilité de l'application, du côté serveur, et à fortiori, du côté votant.»
Une solution open source sur les ordinateurs de l'État et des votants apporterait une sécurité accrue et plus de crédibilité. Pourquoi s'en passer ?

Dans son état actuel, le système testé à Genève n'est en aucun cas applicable en situation réelle.

4.3 Election.com

Election.com est une entreprise fournissant une solution propriétaire de vote électronique. Nous n'avons trouvé aucune explication sur son fonctionnement sur le site web officiel de la compagnie [5]. Les seules informations disponibles sont des arguments publicitaires manquants de fondements.

Nous avons à deux reprises tenté de contacter cette société, mais personne n'a répondu à nos questions. Il nous a donc été impossible de juger cette solution, mais son caractère fermé et arrogant ne nous inspire guère confiance.

4.4 GNU.FREE

GNU.FREE est un ensemble de logiciels libres développé en Grande Bretagne fournissant une solution électronique de votations et d'élections. Celle-ci, tout comme une solution propriétaire, n'est évidemment pas applicable directement en Suisse. Par contre, étant libre, elle pourrait être une base, ou du moins une aide appréciable, pour le développement d'un système démocratique électronique en Suisse.

D'un point de vue technique, GNU.FREE est basé sur un système de cryptographie ouvert [13]. Son fonctionnement est clairement expliqué sur son site web, à plusieurs niveaux, afin que l'utilisateur puisse comprendre quelles que soient ses connaissances techniques. Ces niveaux sont :

  1. description simplifiée,
  2. description détaillée,
  3. description mathématique formelle,
  4. code source des différents logiciels qui composent GNU.FREE.
Cette clarté est absolument nécessaire pour que les citoyens puissent faire confiance à la solution électronique.

5. Nécessité des logiciels libres

Les logiciels libres apportent une garantie de sécurité inégalée. Imaginons, par exemple, une banque devant le choix d'un système de cryptographie pour sécuriser ses services Internet. Prendra-t-elle un logiciel dont les algorithmes ne sont pas accessibles, ou une implémentation d'un algorithme public, répandu et vérifié par les meilleurs experts en cryptographie du monde ? La réponse est évidente: elle se tournera vers la solution publique. Par exemple, le protocole ouvertement documenté SSL s'est imposé en matière de paiements électroniques et de e-banking.

Certains argumentent contre le logiciel libre en disant que c'est compromettre la sécurité du système que de permettre à tout le monde de voir les détails de son fonctionnement. Pourtant, l'expérience prouve qu'il est aussi possible de trouver et d'exploiter les défauts de logiciels fermés5.1, et, qu'à cause du grand nombre de personnes différentes qui examinent les logiciels libres, ceux-ci sont plus sûrs à la longue, car les éventuels défauts sont repérés et corrigés. L'argument «cacher pour protéger» n'est pas valable.

Dans une approche commerciale fermée, il faudrait autoriser légalement une entreprise à garder secret le système de vote, ce qui est inacceptable. La transparence démocratique doit être conservée, et le seul moyen d'y arriver est d'utiliser des logiciels libres dont l'accès au code source est ouvert à toute personne intéressée. De plus, ils améliorent l'indépendance par rapport au fabricant. En effet, si ce dernier change de domaine ou fait faillite, le support technique d'un logiciel fermé n'est plus assuré et le logiciel risque de devenir inutilisable. Dans le cas d'un logiciel libre, n'importe qui équipé d'un bagage technique suffisant peut continuer le travail. Ceci améliore la pérennité du logiciel.

Les logiciels libres permettraient aux cantons, aux communes et à la Confédération d'avoir des outils compatibles entre eux, tout en pouvant les adapter à leurs besoins locaux. De cette façon, la solution est en accord avec la tradition fédéraliste Suisse, et ceci à moindre coût, puisqu'il est possible de réutiliser des solutions existantes.

La Confédération doit pouvoir vérifier le dépouillement effectué par les cantons [LDP, Titre 1, Art. 14, ch. 3] ; un système électronique, qui devra à son tour être contrôlé, doit en conséquence permettre cette vérification. L'analyse de ces logiciels est plus facile - et donc moins coûteuse - s'ils sont libres, puisqu'il n'est pas nécessaire de négocier l'accès aux sources.

Utiliser une solution libre ne change fondamentalement rien au processus de développement, cela change juste le statut légal des logiciels développés. Par exemple, dans le cas de Genève, la même méthodologie de développement aurait pu déboucher sur une solution libre, sans modification des coûts.

La solidité d'une chaîne est limitée par le plus faible de ses maillons. Ainsi, pour avoir un système fiable, il ne suffit pas que les logiciels de vote soient libres. Il faut tout d'abord que les ordinateurs de l'État soient protégés contre toute atteinte physique. Ensuite, non seulement le logiciel de vote, mais l'ensemble des logiciels fonctionnant sur ces ordinateurs doivent être libres. De la même manière, aucun logiciel fermé ne doit agir sur l'ordinateur du citoyen au moment ou il s'en sert pour exercer ses droits politiques.

Toutes ces raisons nous amènent à affirmer que l'utilisation des logiciels libres est une nécessité en matière de démocratie électronique.

Bibliographie

1
Free Software Foundation http://www.gnu.org/philosophy/free-sw.fr.html

2
Licenses libres http://www.gnu.org/licenses/license-list.fr.html

3
License publique générale http://www.april.org/gnu/gpl_french.html

Cst
Constitution fédérale de la Confédération suisse http://www.admin.ch/ch/f/rs/101/index.html

4
Déclaration universelle des droits de l´homme http://www.un.org/french/aboutun/dudh.htm

LDP
Loi fédérale sur les droits politiques http://www.admin.ch/ch/f/rs/c161_1.html

5
Election.com, solution commerciale de votation électronique http://www.election.com/

6
Stratégie du Conseil fédéral suisse pour une société de linformation en Suisse http://e-gov.admin.ch/extradoc/strategie_fr.pdf

7
Projets de cyberadministration de la Chancellerie fédérale http://e-gov.admin.ch/fr/index.php

8
Vote électronique à Genève, site officiel de l'Etat de Genève http://www.geneve.ch/chancellerie/e-government/e-voting.html

9
Vote par Internet: Genève lance un projet pilote, Robert Hensler http://www.geneve.ch/chancellerie/e-government/chan010522.html

10
Foire aux questions sur le vote électronique, site officiel de l'Etat de Genève http://www.geneve.ch/chancellerie/e-government/FAQ_e-voting.html#internet

11
Vote électronique à Genève : Rapport du Comité Sécurité sur l'application de vote par Internet http://www.geneve.ch/chancellerie/E-Government/doc/rapport_securite_internet.pdf

12
Lettre ouverte au conseil d'Etat de Genève, groupe des utilisateurs de Linux du Léman http://www.linux-gull.ch/evote/evote%2Dgull.html

13
Système d'authentification de messages HMAC http://www.ietf.org/rfc/rfc2104.txt

14
La sécurité informatique et le système d'exploitation OpenBSD http://www.openbsd.org/security.html

15
FREE e-democracy project GNU.FREE http://www.free-project.org/

16
Why electronic voting software should be Free Software, Jason Kitcat http://www.free-project.org/writings/wfs.html



Notes de bas de page

... sources2.1
Cette question est relativement complexe et implique des considérations éthiques dépassant le cadre de cet article. Le lecteur intéressé pourra trouver plus d'informations sur le site web de GNU http://www.gnu.org/philosophy/free-software-for-freedom.html.
... fermés5.1
Lorsque nous avons commencé ce projet, un virus passant par là s'est attaqué au logiciel fermé Microsoft Windows, nous empêchant ainsi de travailler. Après l'avoir remplacé par Debian GNU/Linux, un ensemble de logiciels libres, tout est rentré dans l'ordre.


Toute distribution et reproduction de l'entier de ce document sont autorisées, tant que cette remarque est inclue.
julien.pilet at epfl.ch, stephane.magnenat at epfl.ch