FR2944907A1 - Procede de vote electronique securise - Google Patents

Procede de vote electronique securise Download PDF

Info

Publication number
FR2944907A1
FR2944907A1 FR0952653A FR0952653A FR2944907A1 FR 2944907 A1 FR2944907 A1 FR 2944907A1 FR 0952653 A FR0952653 A FR 0952653A FR 0952653 A FR0952653 A FR 0952653A FR 2944907 A1 FR2944907 A1 FR 2944907A1
Authority
FR
France
Prior art keywords
voting
code
voter
vote
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0952653A
Other languages
English (en)
Inventor
Alain Ratignier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR0952653A priority Critical patent/FR2944907A1/fr
Publication of FR2944907A1 publication Critical patent/FR2944907A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

L'invention a pour principal objectif de fournir un procédé de vote électronique sécurisé permettant de garantir au votant que son vote est anonyme, potentiellement vérifiable par le votant lui-même, mais invérifiable par une tierce personne. La solution proposée par l'invention est un procédé de vote électronique sécurisé dans lequel, pour chaque votant réel : - on génère un « code votant » unique aléatoire associé au votant, - on informe le votant du « code votant » généré, - on enregistre le « vote » du votant, - on stocke dans une mémoire le couple « vote » et « code votant » associé au votant, - on transmet au votant le couple « vote » et « code votant » qui lui est associé, Ce procédé est remarquable en ce que : - on sélectionne aléatoirement dans la mémoire, pour chaque possibilité de vote différente du « vote » enregistré qui est associé au votant, un autre couple « vote » et « code votant », - on transmet au votant les autres couples « vote » et « code votant » sélectionnés.

Description

PROCEDE DE VOTE ELECTRONIQUE SECURISE. Description Domaine technique de l'invention.
L'invention a pour objet un procédé de vote électronique sécurisé.
Elle a également pour objet un dispositif permettant de mettre en oeuvre le procédé objet de l'invention.
L'invention se rapporte au domaine technique des bornes électroniques de vote et plus précisément les procédés de vote permettant de sécuriser les 15 sessions de votes effectuées sur ces bornes.
État de la technique.
20 On connait le vote traditionnel consistant, pour chaque votant, à : - se saisir d'un jeu de bulletins de vote, chaque bulletin correspond à l'un des candidats à l'élection, - entrer dans un isoloir de manière à se protéger des regards indiscrets, - glisser le bulletin correspondant à son choix de vote dans une enveloppe 25 blanche de manière à rendre le vote anonyme, - sortir de l'isoloir, - déposer l'enveloppe dans une urne transparente. 2944907 -2 Une fois la fin des votes, c'est-à-dire lorsque tous les votants ont procédé au vote, l'urne est ouverte, les bulletins sont sortis de chaque enveloppe et les votes sont comptabilisés.
5 Cependant, cette opération dite de dépouillement est exécutée manuellement et se révèle longue et fastidieuse. Elle peut également être source d'erreurs au niveau des décomptes. Afin de limiter ces erreurs, une liste d'émargement, sur laquelle chaque votant signe après son vote, permet de comptabiliser le nombre de votants. Au moment des résultats, il est ainsi 10 possible de confronter le nombre total de votants au nombre total de bulletins dépouillés. Si une différence entre ces nombres est avérée, les votes doivent être recomptés.
De manière à simplifier l'étape de dépouillement, le vote électronique est appelé à remplacer le vote traditionnel. Le vote électronique consiste, pour chaque votant, à enregistrer anonymement son vote directement sur une borne de vote électronique en sélectionnant un candidat parmi ceux qui lui sont proposés. À la fin de la session de vote, les votes sont comptabilisés automatiquement et quasi instantanément. La liste des résultats est ensuite imprimée sur une feuille de papier et publiée. Le temps de dépouillement, initialement égal à plusieurs heures, est alors réduit à seulement quelques secondes.
Pour autant, le vote électronique ne peut réellement remplacer le vote traditionnel que s'il offre au moins autant de garanties que celui-ci. En effet, le vote traditionnel est secret et anonyme, il permet au citoyen de contrôler visuellement le traitement des bulletins à partir du dépôt dans l'urne jusqu'à 2944907 -3 l'opération de dépouillement. A contrario, le vote électronique ne permet pas un tel contrôle, à partir du moment où le votant s'est exprimé, la borne électronique de vote pourrait modifier l'expression du vote sans que le votant ne puisse le détecter. 5 Ainsi, le procédé de vote électronique certifié décrit dans le document FR 08 00406 (A. RATIGNIER) permet à chaque votant de pouvoir vérifier que son vote n'a pas été modifié entre son enregistrement et sa comptabilisation dans le résultat final des votes. Ce procédé consiste à attribuer, à chaque 10 votant, un code de votant aléatoire unique qui est ensuite imprimé sur un certificat délivré audit votant. À la fin des votes, une liste de votes est publiée. Cette liste se présente sous la forme d'un tableau comportant une première colonne dans laquelle sont listés les codes votant et une deuxième colonne dans laquelle sont listés les votes associés à chacun 15 desdits codes votant . Ainsi, chaque votant peut vérifier que l'expression de son vote , affiché sur la liste des votes en vis-à-vis de son code votant , est bien identique au vote qu'il avait préalablement enregistré sur la borne électronique de vote.
20 Néanmoins, si à première vue le procédé de vote électronique certifié assure l'anonymat, il ne permet pas de garantir une confidentialité et un secret total. II est par exemple possible pour un tiers de connaitre l'expression d'un vote, en subtilisant au votant son certificat sur lequel est inscrit son code votant . Ce certificat peut également être utilisé comme moyen de pression sur 25 le votant dans des cas d'achats illégaux de vote. En effet, ce certificat peut être utilisé, par une personne mal intentionnée, comme un moyen de vérification que le votant a bien exprimé le vote qui lui avait été ordonné ou acheté. - 4 Pour pallier cet état de fait, l'invention a pour principal objectif de fournir un procédé de vote électronique sécurisé permettant de garantir au votant que son vote est anonyme, potentiellement vérifiable par le votant lui-même, mais invérifiable par une tierce personne.
L'invention a également pour objectif de fournir un procédé rapide, facile de mise en oeuvre et peu onéreux. Divulgation de l'invention.
La solution proposée par l'invention est un procédé de vote électronique sécurisé dans lequel, pour chaque votant : 15 - on génère un code votant unique aléatoire associé au votant, - on informe le votant du code votant généré, - on enregistre le vote du votant, - on stocke dans une mémoire le couple vote et code votant associé au votant, 20 - on transmet au votant le couple vote et code votant qui lui est associé. Ce procédé est remarquable en ce qu'il comprend les étapes suivantes : - on sélectionne aléatoirement dans la mémoire, pour chaque possibilité de vote différente du vote enregistré qui est associé au votant, un autre couple 25 vote et code votant , - on transmet au votant les autres couples vote et code votant sélectionnés.10 - 5 De cette manière, le votant est le seul à pouvoir identifier le couple vote et code votant qui lui est associé parmi l'ensemble des couples qui lui ont été transmis, au moyen de l'information code votant qu'il a reçu. En effet, seul le votant qui a été informé du code votant qui lui été attitré de manière confidentielle dans un isoloir, peut déduire parmi les couples vote et code votant qui lui ont été transmis, lequel correspond effectivement à son vote.
Selon une caractéristique avantageuse de l'invention, avant le premier vote, une ou plusieurs fois pour chaque possibilité de vote : - on génère un code votant aléatoire unique associé à un votant virtuel, - on stocke le couple vote et code votant associé au votant virtuel dans la mémoire. II est ainsi possible de délivrer, dès les premiers votants, autant de couples vote et code votant qu'il y a de possibilités de vote .
Selon une autre caractéristique avantageuse de l'invention permettant à chaque votant de vérifier que son vote n'a pas été modifié au cours de l'élection et qu'il est bien pris en compte dans le décompte des résultats, on publie une liste des votes unique répertoriant les couples vote et code votant stockés dans la mémoire, de manière à permettre à chaque votant de vérifier individuellement l'exactitude de leur vote .
Selon encore une autre caractéristique avantageuse de l'invention permettant de vérifier que le résultat final des votes prend uniquement en compte les votes des votants réels et pas ceux des votants virtuels : - 6 - on génère, pour chaque code votant , un code de contrôle lié numériquement audit code votant au moyen d'un procédé de chiffrage numérique, - on publie une liste de contrôle unique répertoriant le type réel ou virtuel du votant, associé au couple vote et code de contrôle , de manière à pouvoir vérifier l'extraction des votes virtuels dans le décompte final des votes tout en rendant impossible l'identification du code votant associé aux votants virtuels.
Selon encore une autre caractéristique avantageuse de l'invention permettant de vérifier l'invariabilité des votes virtuels au cours de la session de vote, on publie préalablement au début des votes réels, une liste virtuelle comportant les couples vote et code de contrôle associés aux votants virtuels, de manière à pouvoir vérifier à postériori sur la liste de contrôle que les votes virtuels sont restés inchangés au cours des votes.
Selon une autre caractéristique avantageuse de l'invention permettant également de vérifier l'invariabilité des votes virtuels au cours de la session de vote : - on créé une liste virtuelle répertoriant les couples vote et code de contrôle associés aux votants virtuels, - on génère une empreinte numérique de la liste virtuelle au moyen d'une fonction de hachage numérique, - on transmet l'empreinte numérique à chaque votant, - on publie la liste virtuelle avec son empreinte numérique régénérée immédiatement avant ladite publication de manière à pouvoir vérifier que ladite empreinte numérique est restée inchangée au cours des votes. - 7 Selon encore une autre caractéristique avantageuse de l'invention permettant de générer, par votant, un code de contrôle et un code votant liés numériquement : - on génère aléatoirement un code de base et un code de camouflage , - on réalise un hachage numérique du code de base concaténé au code de camouflage pour générer le code votant , - on réalise un hachage numérique du code de camouflage concaténé au code de base pour générer le code de contrôle .
Selon encore une autre caractéristique avantageuse de l'invention permettant de s'assurer que la corrélation de la liste de contrôle avec la liste des votes est incontestable, on détermine le code votant et son code de contrôle associé à partir d'un code de base pris aléatoirement et de son code de camouflage associé de manière à vérifier l'intégrité du lien numérique créé entre la liste de contrôle et la liste des votes .
Selon encore une autre caractéristique avantageuse de l'invention permettant de transmettre physiquement au votant les couples vote et code votant : - on imprime chaque couple sur un certificat distinct, - on délivre les certificats au votant.25 - 8 Un autre aspect de l'invention concerne une borne de vote électronique sécurisé comprenant : - un moyen pour générer un code votant unique aléatoire associé au votant, - un moyen pour informer le votant du code votant généré, - un moyen pour enregistrer le vote du votant, - un moyen pour stocker dans une mémoire le couple vote et code votant associé au votant, - un moyen pour transmettre au votant le couple vote et code votant qui lui est associé, Cette borne est remarquable en ce qu'elle comprend en outre : - un moyen pour sélectionner aléatoirement dans la mémoire, pour chaque possibilité de vote différent du vote enregistré qui est associé au votant, un autre couple vote et code votant , - un moyen pour transmettre au votant les autres couples vote et code votant sélectionnés. De cette manière, le votant est le seul à pouvoir identifier le couple vote et code votant qui lui est associé parmi l'ensemble des couples qui lui ont été transmis, au moyen de l'information code votant qu'il a reçu. En effet, seul le votant qui a été informé du code votant qui lui a été attitré de manière confidentielle dans un isoloir, peut déduire parmi les couples vote et code votant qui lui ont été transmis, lequel correspond effectivement à son vote.25 - 9 Encore un autre aspect de l'invention concerne une carte à puce configurée pour être insérée dans un lecteur de carte intégré à la borne de vote électronique selon l'invention. Cette carte à puce est remarquable en ce qu'elle comporte : - une mémoire dans laquelle est stocké un programme décomposé en fonctions permettant de mettre en oeuvre, en totalité ou en partie, une ou plusieurs étapes du procédé objet de l'invention, - un microprocesseur intégré configuré pour exécuter les fonctions dudit programme. II est ainsi possible de centraliser l'exécution d'un maximum d'étapes du procédé de manière sécurisée dans la carte à puce et ainsi limiter les possibilités d'accès et de manipulation des données.
Selon encore une autre caractéristique avantageuse de l'invention permettant de sécuriser l'accès aux données contenues et enregistrées dans la carte à puce, la mémoire de ladite carte comporte une zone sécurisée uniquement accessible par le microprocesseur intégré à ladite carte et dans laquelle sont stockés les codes votant et les votes .25 -10-Description des figures.
D'autres avantages et caractéristiques de l'invention apparaîtront mieux à la lecture de la description d'un mode de réalisation préféré qui va suivre, en référence aux dessins annexés, réalisés à titre d'exemples indicatifs et non limitatifs et sur lesquels : - la figure 1 représente schématiquement le certificat délivré au votant et correspondant au vote Rouge , - la figure 2 représente schématiquement le certificat délivré au votant et 10 correspondant au vote Vert , - la figure 3 représente schématiquement le certificat délivré au votant et correspondant au vote Bleu , la figure 4 représente schématiquement le certificat délivré au votant et correspondant au vote Jaune . 15
Modes de réalisation de l'invention.
Le procédé de vote électronique sécurisé objet de l'invention a pour 20 objectif d'éliminer toute possibilité de pression sur le votant. De manière générale, les sessions de vote électronique se déroulent dans le ou les bureaux de vote de chaque circonscription électorale. Au cours d'une session de vote, chaque votant inscrit dans la circonscription électorale peut, à tour de rôle, procéder au vote au moyen d'une borne de vote électronique ou machine à 25 voter, ci-après appelé borne . Une fois son vote effectué, le votant signe un registre permettant d'attester de son vote, mais également de comptabiliser le nombre de votants à la fin de la session de vote. En pratique, une session de 2944907 -11- vote dure une journée de douze heures maximum et le temps nécessaire pour effectuer un vote est estimé à au moins une minute. Le nombre de votes qui peuvent être effectués sur une borne est donc inférieur à 1000. Chaque bureau de vote de plus de 1000 votants peut donc disposer de plusieurs bornes. 5 Celles-ci sont disposées dans un isoloir de manière à garantir l'aspect confidentiel du vote lors de sa saisie par le votant.
La borne se présente généralement sous la forme d'un carter sur lequel sont agencés un ou plusieurs dispositifs d'interfaces électroniques gérés par un processeur d'interface intégré à ladite borne et capable d'exécuter un programme stocké dans une mémoire intégré à la borne. L'exécution du programme peut se décomposer en l'exécution de plusieurs fonctions, chacune permettant la mise en oeuvre, en totalité ou en partie, d'une ou plusieurs étapes du procédé objet de l'invention. Le carter peut être réalisé en bois, en métal, en plastique, etc. Il peut également être blindé électromagnétiquement de manière à garantir l'inviolabilité des données générées et/ou enregistrées par la borne. Le ou les dispositifs d'interface électroniques peuvent être du type écran d'affichage, écran tactile, clavier de saisies, lecteur de carte à puce, imprimante, ou tout autre dispositif d'interface électronique convenant à l'homme du métier.
La borne intègre également un lecteur de carte dans lequel est insérée une carte à puce permettant la mise en oeuvre d'une session de vote. Par mesure de simplification, cette carte à puce est ci-après nommée carte DSBV pour Données de Session du Bureau de Vote et le lecteur de carte permettant sa lecture est nommée lecteur DSBV. Cette carte DSBV est du type carte CP8 conforme à la norme ISO 7816. Elle se présente généralement sous 2944907 -12- la forme d'une carte en matière plastique, de quelques centimètres de côté et moins d'un millimètre d'épaisseur, comportant une puce composée d'au moins un circuit intégré. Le circuit intégré peut comprendre une mémoire non volatile et un microprocesseur capable d'exécuter un programme enregistré dans ladite 5 mémoire. L'exécution du programme peut se décomposer en l'exécution de plusieurs fonctions, chacune permettant la mise en oeuvre, en totalité ou en partie, d'une ou plusieurs étapes du procédé objet de l'invention. Par simplification, le microprocesseur intégré à la carte DSBV est appelé par la suite microprocesseur DSBV. La mémoire peut comporter une zone publique et 10 une zone sécurisée, cette dernière étant uniquement accessible via le microprocesseur DSBV.
Avant d'être insérée dans le lecteur DSBV, la carte DSBV est configurée par un centre d'administration des votes. Ce dernier a pour rôle de coordonner 15 le déroulement des sessions de votes électroniques d'un ou plusieurs bureaux de vote d'une partie ou de l'ensemble des circonscriptions électorales. Pour configurer la carte DSBV, le centre d'administration des votes enregistre dans sa mémoire, au moyen d'un enregistreur de carte à puce, différentes informations parmi lesquelles sont par exemple enregistrées : 20 - le programme destiné à être exécuté par le processeur intégré à la carte DSBV et permettant de gérer le déroulement de la session de vote, - une série de données relatives à la session de vote, par exemple le nom des candidats à l'élection et éventuellement des images relatives auxdits candidats, la désignation du bureau de vote et de la circonscription électorale, 25 le numéro de la borne, la désignation du scrutin, la date du scrutin, etc. 2944907 -13- Une fois le programme et les données de session enregistrés sur la carte DSBV, celle-ci est envoyée aux différents bureaux de vote de manière à être insérée dans le lecteur DSBV intégré dans la borne. En pratique, la borne ne peut fonctionner qu'en présence de la carte DSBV. De manière à sécuriser le 5 fonctionnement de la borne, le fonctionnement de la carte peut être conditionné par la saisie d'un code d'authentification du type numéro d'identification personnel (NIP ou PIN en anglais), ou autres. Ce code d'authentification est généralement connu par un nombre réduit de personnes, il peut par exemple être uniquement connu par le directeur du bureau de vote. En pratique, lorsque 10 la carte est insérée dans le lecteur, le processeur d'interface détecte la présence de la carte et exécute une fonction permettant d'envoyer une requête d'exécution à destination du microprocesseur DSBV. En réponse à cette requête, le microprocesseur DSBV exécute une fonction permettant d'envoyer une requête d'authentification à destination du processeur d'interface. Ce 15 dernier reçoit la requête d'authentification et exécute une fonction permettant alors de diffuser une demande de saisie du code d'authentification à destination de l'utilisateur qui est, dans notre exemple, le directeur du bureau de vote. La diffusion peut être réalisée via un écran permettant l'affichage du code votant , ou via moyen de synthèse vocale permettant l'épellation du code dans 20 des oreillettes (par exemple pour les votants mal voyants), ou tout autre moyen convenant à l'homme du métier. L'utilisateur, qui est dans notre exemple le directeur du bureau de vote, saisit alors le code d'authentification au moyen d'un clavier physique, ou d'un clavier virtuel affiché sur un écran tactile, ou de tout autre moyen de saisie convenant à l'homme du métier. 25 Une fois le code d'authentification saisit, celui-ci est envoyé par le processeur d'interface au microprocesseur DSBV qui exécute une fonction 2944907 - 14 - permettant d'ouvrir la session de vote. La session de vote est maintenant ouverte et les votants peuvent procéder tour à tour à leur vote. Ainsi, pour chaque votant la borne génère un code votant unique aléatoire associé au votant. Ce dernier se présente sous la forme d'une suite de caractères du type 5 alphanumérique, cette suite de caractère pouvant par exemple former un mot de manière à facilement pouvoir le retenir. En pratique, le microprocesseur DVSB exécute une fonction permettant de générer le code votant au moyen d'un algorithme de génération de code alphanumérique de taille fixe ou variable. Chaque code votant généré est unique. Le code votant est 10 ensuite enregistré à la fois dans une mémoire de stockage intégré à la borne du type disque dur, carte mémoire, ou autres, et à la fois dans la mémoire de la carte DSBV.
Le votant est ensuite informé du code votant généré qui lui est attitré. 15 En pratique, pour informer le votant, le microprocesseur DSBV exécute une fonction permettant d'envoyer une requête d'information du code votant contenant ledit code au processeur d'interface. Ce dernier reçoit la requête et exécute alors une fonction permettant de diffuser le code votant à destination exclusive du votant. La diffusion peut être réalisée par un moyen de 20 diffusion du type de ceux décrits précédemment.
Une fois le votant informé de son code votant attitré, le votant procède à l'enregistrement de son vote. En pratique, pour enregistrer son vote le votant doit sélectionner un choix de vote parmi plusieurs. Le microprocesseur 25 DSBV exécute une fonction permettant, dans un premier temps, de répertorier dans les données de sessions, les informations relatives aux candidats, par exemple le nom de chaque candidat à l'élection, leurs photos, leur parti 2944907 -15- politique, leur slogan, etc. Cette fonction permet, dans un deuxième temps, d'envoyer une requête contenant les informations relatives aux candidats à destination du processeur d'interface. Ce dernier reçoit la requête et exécute alors une fonction permettant de diffuser ces informations à destination du 5 votant par un moyen de diffusion du type de ceux précédemment décrits. Les informations relatives aux candidats à l'élection peuvent, par exemple être affichées sous la forme d'un tableau listant le nom desdits candidats à l'élection.
10 Parmi l'ensemble des choix possibles, le votant sélectionne, via un moyen de saisie du type de ceux décrits précédemment, son choix de vote correspondant au candidat pour lequel il désire voter. Par exemple, chaque candidat peut être associé à un numéro, la sélection d'un candidat particulier étant réalisé en saisissant sur un clavier le numéro associé audit candidat 15 particulier. Une fois le choix de vote saisit, le processeur d'interface exécute une fonction permettant d'envoyer le vote à destination du microprocesseur DSBV. De manière à éviter les erreurs de frappe de la part du votant, l'enregistrement du vote peut être conditionné par une étape de confirmation du vote consistant à informer le votant de la sélection qu'il vient 20 d'effectuer, puis à lui demander de bien vouloir confirmer que la sélection effectuée est la bonne. Cette confirmation peut, par exemple, être effectuée par pression d'une touche du clavier physique ou virtuel. Dans le cas où le votant se serait trompé, il pourrait effectuer un nouveau choix.
25 Une fois le vote enregistré, celui-ci est stocké avec le code votant généré. En pratique, le processeur d'interaction exécute une fonction permettant le stockage du couple vote et code votant dans la mémoire 2944907 -16- de stockage de la borne. De même, le microprocesseur DSBV exécute une fonction permettant également le stockage du couple vote et code votant dans la mémoire de la carte DSBV. Le stockage des votes et des codes votant dans la mémoire intégrée à la carte DSBV permet d'isoler sur 5 un objet unique sécurisé l'ensemble des données d'une session de vote. À tout moment, la borne de vote peut vérifier si les données contenues dans sa mémoire de stockage et celles contenues dans la mémoire de la carte DSBV sont identiques. Ce contrôle peut être effectué aléatoirement ou de façon récurrente à chaque génération d'un code votant , à chaque enregistrement 10 d'un vote , à la clôture de la session de vote, ou à tout autre moment opportun. Si le contrôle est négatif, une procédure d'erreur peut être enclenchée. Le stockage du couple vote et code votant associé peut par exemple être organisé sous la forme d'un tableau comprenant un nombre fixe de lignes, une colonne vote et une colonne code votant , chaque ligne 15 étant dédiée à un unique votant. Pour éviter tout risque de saturation du tableau celui-ci peut comprendre sensiblement plus de ligne que la borne peut en principe enregistrer de vote au cours d'une session limitée dans le temps. Par exemple, si la borne peut enregistrer au cours d'une session de douze heures un maximum de 1000 votes, le tableau peut alors comprendre 1100 lignes. De 20 manière à ce qu'il soit impossible de déterminer la chronologie des votes , le couple vote et code votant associé peut être inscrit aléatoirement dans une ligne vide du tableau.
Une fois enregistré, le couple vote et code votant est transmis au 25 votant. En pratique, le processeur d'interaction exécute une fonction permettant physiquement ou numériquement la transmission des données au votant. 2944907 -17- De manière à ce que le votant puisse en conserver une trace, la transmission est généralement réalisée par l'impression d'un certificat de vote délivré au votant. À ce titre, et de manière similaire à une borne de péage ou une borne de parking, la borne de vote électronique intègre une imprimante 5 destinée à imprimer le couple vote et code votant associé sur un certificat vierge stocké parmi plusieurs dans un réservoir. Les certificats imprimés par la borne peuvent également faire apparaître l'identification du bureau de vote, l'identification du scrutin, le code du vote, l'expression du vote, ou toutes autres informations utiles. De manière à authentifier les certificats, 10 ces derniers peuvent également comporter une signature numérique générée par une fonction de chiffrement exécuté par le microprocesseur DSBV, ladite fonction étant basée sur un algorithme de chiffrement numérique utilisant une clé privée de chiffrement unique associée au bureau de vote. Cette clé privée est stockée dans la zone sécurisée de la mémoire de la carte DSBV. Pour 15 pouvoir être contrôlé, le certificat peut disposer d'un moyen de lecture automatisée du type caractères facilement reconnaissables par lecture optique, code-barres, piste magnétique ou autres. Le centre d'administration des votes dispose à ce titre d'un périphérique capable de lire un tel certificat par exemple, d'un lecteur optique et d'un logiciel de reconnaissance optique de caractère ou 20 de code-barres, d'un lecteur de piste magnétique, etc. Le centre d'administration des votes peut alors vérifier l'authenticité d'un certificat en utilisant une clé publique de chiffrement associée au bureau de vote et en exécutant une fonction de déchiffrement.
25 Les certificats peuvent aussi être remis numériquement au votant, par exemple en transférant le certificat sous forme d'un fichier électronique sur un équipement mobile standardisé du type téléphone portable, lecteur multimédia 2944907 -18- portable, ou autres, via une interface filaire (câble USB, mini-USB, HDMI, etc.), sans fil (infrarouge, Bluetooth, Wifi, etc.), sur une carte mémoire (SD, SDHC, etc.), ou autre.
5 À l'issue des sessions de votes, le directeur du bureau de vote commande la clôture de la session de vote. En pratique le directeur du bureau de vote appuie sur une touche dédiée intégrée à la borne donnant l'ordre au processeur d'interface d'envoyer une requête de clôture de session à destination du microprocesseur DSBV. A la réception de cette requête, le 10 microprocesseur DSBV exécute une fonction permettant de verrouiller la carte. La session est clôturée et les données de la carte DSBV ne sont alors plus modifiables. La carte DSBV peut alors être retirée du lecteur DSBV intégré à la borne.
15 Les résultats des votes sont ensuite envoyés au centre de manière à ce qu'il procède au décompte final. Les résultats peuvent être communiqués par télétransmission, par envoi postal, téléphone, ou autre. En pratique et de manière à garantir au maximum l'intégrité des résultats du vote, la carte DSBV est signée manuellement par le directeur du bureau de vote et renvoyée 20 physiquement au centre d'administration des votes constituant ainsi la preuve physique de l'intégrité de la session de vote. La collecte des résultats par le centre se fait alors par la lecture de la carte DSBV dans un lecteur dédié. Le centre d'administration des votes est également chargé de vérifier l'authentification des votes par exemple au moyen de fonctions de 25 chiffrement et en utilisant les clés publiques de chiffrements associés à chaque bureau de vote. Une fois l'authentification des votes vérifiée, le centre 2944907 -19- d'administration des votes publie une liste des résultats . Cette dernière peut par exemple faire apparaitre le pourcentage de votes par candidat.
Une fois la liste des résultats publiés, et afin de garantir la véracité 5 des résultats, le votant doit pouvoir vérifier si son vote a réellement été pris en compte. Une liste des votes unique est alors publiée, cette liste répertoriant les couples vote et code votant stockés dans la mémoire de la carte DSBV, de manière à permettre à chaque votant de vérifier individuellement l'exactitude de leur vote . Ainsi, le contrôle des votes 10 peut être effectué par les votants et tous citoyens. Le votant va retrouver dans la liste des votes publiée la trace de son vote au moyen de son code votant attitré, il aura ainsi la garantie que son vote a été pris en compte. La liste des votes peut être publiée sur des sites Internet, mais aussi sur des listes papier affichées dans des lieux publics, dans la presse, etc. 15 Un problème actuel du vote électronique concerne l'achat de vote ou le vote sous contrainte. Le principe retenu pour éviter toute possibilité de pression sur le votant est de permettre au votant de fournir indifféremment la preuve de vote de n'importe quelle possibilité de vote sans que cela le contraigne à 20 effectuer réellement ce vote. Pour ce faire, le processeur DSBV exécute une fonction permettant de sélectionner aléatoirement dans la mémoire, pour chaque possibilité de vote différent du vote enregistré qui est associé au votant, un autre couple vote et code votant . En pratique, cette fonction est basée sur un algorithme de recherche aléatoire dans une liste non triée. Les 25 autres couples vote et code votant sélectionnés sont ensuite transmis au votant. De cette manière, le votant est le seul à pouvoir identifier le couple vote et code votant qui lui est associé parmi l'ensemble des couples qui 2944907 - 20 - lui ont été transmis, au moyen de l'information code votant qu'il a reçu. Les autres couples vote et code votant sont transmis au votant de manière identique que le couple vote et code votant associé au votant qui a été précédemment décrit. 5 En particulier, la borne peut, par exemple, imprimer chaque couple sur un certificat distinct, et délivrer les certificats au votant. La borne remet donc au votant autant de certificats que de possibilités de vote. Dans le lot de certificats remis, un des certificats correspond au vote réel effectué, les autres 10 correspondent à chaque autre choix de vote et sont prélevés au hasard dans la masse des autres votes enregistrés dans la mémoire de la borne et/ou de la carte DSBV. Le votant peut alors déjouer toute pression éventuelle en présentant après son vote n'importe quel certificat de vote, ou en citant de mémoire n'importe quel code de vote, mais lui seul sait quel est le code 15 votant attribué à son propre vote pendant son enregistrement et lui seul peut vérifier que son vote réel a été bien pris en compte.
De manière à pouvoir délivrer aux premiers votants autant de couples vote et code votant qu'il y a de possibilités de vote, il faut que, dès les 20 premiers votes, la mémoire dans laquelle sont stockés lesdits couples comprenne au moins un couple par possibilité de vote. Ainsi, avant le premier vote, et une ou plusieurs fois pour chaque possibilité de vote : - on génère un code votant aléatoire unique associé à un votant virtuel, - on stocke le couple vote et code votant associé au votant virtuel 25 dans la mémoire.
En pratique, le processeur DSBV exécute : 2944907 - 21 - - une fonction permettant de générer un code votant . Cette fonction est généralement basée sur un algorithme de génération de codes identique à celui précédemment décrit. - une fonction permettant de stocker le couple vote et code votant 5 dans la mémoire de la carte DSBV.
Ainsi, la borne de vote est en mesure de présenter dés le premier votant un jeu complet de couples vote et code votant qui va être remis au votant, lesdits couples seront, en outre, réellement présents dans la liste des 10 votes ultérieurement publiée. Pour cela, la liste des vote comprend des votes réels et des votes virtuels mélangés entre eux. Les votes virtuels sont générés avant la session de vote, ils sont généralement en nombre équivalent pour chaque choix de vote. La liste des votes pourra indiquer combien de votes virtuels ont été introduits, mais elle ne donnera aucune 15 indication pour reconnaître si un code votant correspond à un vote réel ou à un vote virtuel.
De manière à écarter toute possibilité de manipulation des résultats par création de votes virtuels et afin d'assurer que le comptage des votes 20 est incontestable, chaque citoyen doit pouvoir vérifier le décompte des votes virtuels du résultat final. Ainsi, la borne de vote permet de générer, pour chaque code votant , un code de contrôle lié numériquement audit code votant au moyen d'un procédé de chiffrage numérique. Le code de contrôle se présente sous la forme d'une suite de caractère alphanumérique. 25 En pratique, le processeur DSBV exécute une fonction permettant de générer un code de contrôle . Cette fonction est basée sur un algorithme de génération de données alphanumériques par chiffrage numérique. 2944907 - 22 - Une liste de contrôle unique est alors publiée. Cette liste répertorie le type réel ou virtuel du votant, associé au couple vote et code de contrôle , de manière à pouvoir vérifier l'extraction des votes virtuels dans 5 le décompte final des votes , tout en rendant impossible l'identification du code votant associé aux votants virtuels. La liste de contrôle peut être publiée sur papier, dans la presse, sur internet, ou autres. Cette liste de contrôle indique donc pour chaque code de contrôle s'il s'agit d'un vote virtuel ou d'un vote réel. Elle permet à la fois de tenir secrets les 10 codes votant correspondant aux votants virtuels et à la fois de vérifier le décompte des votes virtuels.
La liste de contrôle peut également être comparée à la liste des votes de manière à vérifier que les deux listes présentent le même décompte 15 pour chaque possibilité de vote, tout en étant présentées dans un ordre différent. Il est cependant impossible, grâce au procédé de chiffrage numérique employé, de deviner le code de contrôle de la liste de contrôle correspondant à un code votant de la liste des votes . Ce procédé de chiffrage peut consister à : 20 - générer aléatoirement un code de base et un code de camouflage , - réaliser un hachage numérique du code de base concaténé au code de camouflage pour générer le code votant , - réaliser un hachage numérique du code de camouflage concaténé au code de base pour générer le code de contrôle . Les code de base et code de camouflage se présentent chacun sous la forme d'une suite de caractère alphanumérique. En pratique, le 25 2944907 - 23 - processeur DSBV exécute d'abord une fonction permettant de générer le code de base et le code de camouflage , puis une fonction de hachage permettant de générer le code votant et le code de contrôle . Cette fonction de hachage numérique est du type MD5, SHA1 ou autre. Le code de 5 base et le code de camouflage peuvent être générés en temps réel pour chaque votant ou être générés en quantité suffisante avant le début de la session de vote, par exemple au nombre de 1100 en reprenant l'hypothèse précédente de 1000 votant maximum par borne. Ils sont généralement stockés dans une liste de base organisée sous forme d'un tableau. Le code de 10 base peut être public et le code de camouflage confidentiel. A ce titre, les codes de camouflage sont enregistrés crypté sur la zone sécurisée de la carte DSBV accessible uniquement en lecture par le microprocesseur DSBV au moyen d'une clé de chiffrement. Cette dernière peut également être connue du centre d'administration des votes. 15 Pour que les votants soient sûrs que la liste de contrôle et la liste des votes sont liées numériquement, un contrôle du lien numérique doit aussi être possible, soit de manière individuelle par le votant, soit par une personne habilité. Si le contrôle se fait sur les listes complètes, il révélera la nature réelle 20 ou virtuelle de chaque vote . Pour éviter qu'il soit possible à n'importe qui de faire correspondre totalement les deux listes, le contrôle peut par exemple être restreint sur seulement une ou quelques lignes prises au hasard. Ainsi, chaque votant doit pouvoir déterminer le code votant et le code de contrôle à partir d'un code de base pris aléatoirement et de son code de 25 camouflage associé. Comme évoqué précédemment, la liste des codes de base est publique, mais le code de camouflage associé est stocké sous 2944907 - 24 - forme cryptée et est uniquement décryptable par le microprocesseur DSBV dans des conditions particulières.
Par exemple, il est possible de transmettre à chaque votant un jeton 5 numérique, ou clé d'accès, au cours de son vote. Ce jeton numérique, qui se présente sous la forme d'une suite de caractère alphanumérique, donne au votant l'accès au décryptage du code de camouflage associé à un nombre limité de code de base qu'il peut choisir au hasard dans la liste des codes de base . Cette dernière est alors publiée sur un site Internet proposant 10 également un accès facile à des outils numériques en ligne dont l'utilisation est restreinte et conditionnée par la saisie du jeton numérique délivrée au votant. L'un de ces outils peut par exemple permettre le décryptage du code de camouflage associé à un code de base pris au hasard. Le jeton numérique de chaque votant pourra par exemple donner droit au décryptage 15 d'un seul code de camouflage .
Une fois le code de base choisit et son code de camouflage associé décrypté, il est possible de générer de manière certaine le code de base et le code de contrôle correspondant dans chaque liste. Pour ce 20 faire, on utilisera pour la génération du code votant et du code de contrôle un algorithme de hachage public du type MD5, SHA1 ou autre, utilisable par toute personne familiarisée avec ces méthodes numériques, et pouvant par exemple être mis en oeuvre par un ordinateur personnel. Ainsi, les listes des codes de vote et des codes de contrôle ayant été générées de 25 manière correcte, il est possible de vérifier la bonne correspondance de ces codes sur la liste des votes et sur la liste de contrôle . 2944907 - 25 - Pour garantir que les votes virtuels ont bien été introduits avant l'ouverture de la session de vote et s'assurer qu'ils n'ont pas été manipulés au cours de la session, on publie une liste virtuelle répertoriant les couples vote et code de contrôle associés aux votants virtuels. En pratique, le 5 processeur DSBV exécute une fonction permettant de générer la liste virtuelle organisée sous forme d'un tableau comportant une colonne code de contrôle et une colonne vote . La liste virtuelle peut ensuite être imprimée sur papier directement à partir d'un moyen d'impression intégré à la borne, être publiée sur Internet ou dans des journaux, etc. 10 La liste virtuelle peut être publiée préalablement au début des votes réels. II est ainsi possible de vérifier à postériori sur la liste de contrôle que les votes virtuels sont restés inchangés au cours des votes.
15 II est également possible de générer une empreinte numérique de la liste virtuelle au moyen d'une fonction de hachage numérique du type de celles précédemment décrites. Cette empreinte numérique est alors transmise au votant. Par exemple, l'empreinte numérique peut être imprimée sur chaque certificat de vote créé pendant la session de vote. La liste virtuelle est 20 ensuite publiée, ultérieurement à la session de vote, avec son empreinte numérique régénérée immédiatement avant ladite publication. Le votant peut ainsi vérifier que l'empreinte numérique de la liste virtuelle est restée inchangée entre le moment où ledit votant à voté et le moment de la publication. Ceci permet de garantir que la liste virtuelle n'a pas été 25 modifiée entre le début de la session de vote et la fin de cette session. 2944907 - 26 - Afin d'illustrer le fonctionnement du procédé objet de l'invention du point de vue d'un votant, prenons l'exemple suivant d'un votant, M. Alpha. Ce dernier appartenant à la circonscription électorale d'Aix en Provence et étant rattaché au bureau de vote Aix Visiovote équipé d'une borne de vote 5 électronique. Cette borne est préalablement configurée par le directeur du bureau de vote en introduisant la carte DSBV et en saisissant le code Pin associé.
La borne commence par générer une série de couples de codes de 10 base et de codes de camouflage , à partir desquels la borne génère une série de votes associés à des votants virtuels.
Ainsi, en se rapportant au tableau 1 suivant, la borne comporte dans sa mémoire une liste virtuelle répertoriant les couples codes de contrôle et 15 votes associé aux votants virtuels.
Tableau 1 : liste virtuelle . Code de Contrôle Vote 1 5327ba2e10b9f03d Rouge 2 7168edf175edf6ee Jaune 3 7b2b07a1747b20fe vert 4 9e4a5ae6511 ef9b5 Bleu 5 be7676f4f578da9a Rouge 6 ebdO37969cl9ldba vert 7 f44cdbc82a144588 Jaune 8 f6ae98ce3d3f4c6O Bleu 2944907 -27- De même, en se rapportant au tableau 2, la borne comporte dans sa mémoire une liste de base répertoriant des codes de base et des codes de camouflage . Cette liste de base peut être générée entièrement dès le début, ou encore être générée au fur et à mesure des votes . Dans ce 5 dernier cas, le tableau 2 correspond à la liste de base dans son état finale, à la clôture de la session de vote.
Tableau 2 : liste de base . Code de base Code de camouflage 1 13ae734cfc57c289 Ob7e8ef165e7Obaa 2 1cf7ace4165fbec6 793d1c78c7ceb3aO 3 4f7fd926fa1O316O 853e224ade7d 1 eb3 4 5Ofa95d339998fb8 ef27O4453958c2aO 5 526c18665121c2de 1814fdOceO68fO9e 6 64O8d4275b2a88ae dd54df7feb9c1c7c 7 8373871b1afa46eO 4972e1bceed85O5 8 8f5d9d22d6262a8e 211c1c8a987ed188 9 992O9a8839983O5b c96a6f8dd1956ea5 10 9eO2d85eOO194ccc aa39846edd2OO7c6 11 cb841d736365Of85 1Oe542cf2a8c54c7 12 cc351ca9773454ee 2fc74a956e522e48 13 d5e63b6668c7dbOe 3bOddaOcefdeO648 14 d7O4Oc2b4342df4c 840efbfa 1Ob56123 15 e417d779c8a2508b e2ca115e8Ob9O8dO 16 e79O19589Of17a68 4dO8f264c1OOca95 17 eefeff5cb141e2b4 6861cc689dae88ae - 28 - La borne sélectionne aléatoirement un couple code de base (6408d4275b2a88ae) et code de camouflage (dd54df7feb9c1 c7c) et génère un code votant (a496fe) et un code de contrôle (3514c0280f6af400) qui sont uniques et associés au votant, M. Alpha. Seul le code votant est communiqué à M. Alpha.
Le code votant correspond aux six premiers caractères du hachage md5 du code de base concaténé au code de camouflage .
Le code de contrôle correspond aux seize premiers caractères du 15 hachage md5 du code de camouflage concaténé au code de base .
La liste de correspondance des codes de base , code de camouflage , code votant et code de contrôle est représentée dans le tableau 3 ci-après. Cette liste est indicative, mais elle n'est pas publiée sous cette forme. Seuls les codes de base sont affichés dans la liste publique avec éventuellement le code de camouflage sous forme cryptée. 20 25 2944907 -29- Tableau 3 : liste de correspondance Code de base Code de Code Code de contrôle camouflage votant 1 13ae734cfc57c289 Ob7e8ef165e70baa b36f2a 75cb3f9348fbb40e 2 1cf7ace4165fbec6 793d1c78c7ceb3a0 bf3dae 8fbf054982166d7b 3 4f7fd926fa103160 853e224ade7d1eb3 8e07e4 0c70c0672f67352b 4 50fa95d339998fb8 ef2704453958c2a0 0d0043 2e7908140efc413d 5 526c18665121c2de 1814fdOceO68f09e ba8ded 196e985087186602 6 6408d4275b2a88ae dd54df7feb9cl c7c a496fe 3514c0280f6af400 7 8373871b1afa46e0 4972e1bceed8505 881788 f6ae98ce3d3f4c6O 8 8f5d9d22d6262a8e 211c1c8a987ed188 354d42 7b2b07a1747b20fc 9 99209a883998305b c96a6f8dd1956ea5 ff3e9e 3f89addd44ef337e 10 9e02d85e00194ccc aa39846edd2007c6 442802 be7676f4f578da9a 11 cb841d7363650f85 10e542cf2a8c54c7 91a5fb 9e4a5ae6511ef9b5 12 cc351ca9773454ee 2fc74a956e522e48 3a5fb8 6fb387dd6abdOb46 13 d5e63b6668c7db0e 3b0dda0cefde0648 d9e855 f44cdbc82a144588 14 d7040c2b4342df4c 840efbfa10b56123 c3b7e4 ebdO37969cl9ldba e417d779c8a2508b e2ca115e80b908dO af4a6c 7168edf175edf6ee 16 e790195890f17a68 4d08f264c100ca95 3cd646 bc887773a6ad97a7 17 eefeff5cbl4le2b4 6861cc689dae88ae e56c50 5327ba2e10b9f03d Le votant, M. Alpha, fait le choix du vote Bleu parmi les choix rouge , vert , bleu , jaune . Ce choix est enregistré par la borne. 5 Ensuite, pour chacune des possibilités de vote, la borne transmet à M. Alpha un certificat. Parmi ces certificats, représentés sur les figures 1 à 4, et connaissant son code votant (a496fe), M. Alpha peut facilement identifier le certificat correspondant à son vote. II est par contre impossible à un tiers d'identifier 2944907 -30- parmi les certificats lequel correspond au vote de M. Alpha, le tiers ne pouvant connaître le code votant sans que M. Alpha l'en ait informé.
À l'issue de la session de vote, le centre d'administration des votes publie 5 la liste des votes et la liste de contrôle reporté dans les tableaux 4 et 5 ci-après : Code de contrôle Vote Nature du vote 1 0c70c0672f67352b Rouge Réel 2 196e985087186602 Vert Réel 3 2e7908140efc413d Rouge Réel 4 3514c0280f6af400 Bleu Réel 5 3f89addd44ef337e Bleu Réel 6 5327ba2e10b9f03d Rouge Virtuel 7 6fb387dd6abdOb46 Rouge Réel 8 7168edfl75edf6ee Jaune Virtuel 9 75cb3f9348fbb40e Vert Réel 10 7b2b07a1747b20fc Vert Virtuel 11 8fbf054982166d7b Jaune Réel 12 9e4a5ae6511 ef9b5 Bleu Virtuel 13 bc887773a6ad97a7 Vert Réel 14 be7676f4f578da9a Rouge Virtuel 15 ebdO37969cl 91 dba Vert Virtuel 16 f44cdbc82a144588 Jaune Virtuel 17 f6ae98ce3d3f4c6O Bleu Virtuel Code votant Vote 1 Od0043 Rouge 2 354d42 Vert 3 3a5fb8 Rouge 4 3cd646 Vert 5 442802 Rouge 6 881788 Bleu 7 8e07e4 Rouge 8 91 a5fb Bleu 9 a496fe Bleu 10 af4a6c Jaune 11 b36f2a Vert 12 ba8ded Vert 13 bf3dae Jaune 14 c3b7e4 Vert 15 d9e855 Jaune 16 e56c50 Rouge 17 ff3e9e Bleu 10 15 25 2944907 - 31 - M. Alpha peut constater dans la liste de vote que le vote correspondant code votant a496fe est Bleu . Le vote du votant alpha a donc bien été pris en compte et n'a pas été modifié.
5 On constate officieusement, dans la liste de correspondance figurant au tableau 3, que le code de contrôle associé code votant a496fe est 3514c0280f6af400. En se reportant à la liste de contrôle présentée dans le tableau 5, la nature du vote associé au code de contrôle 3514c0280f6af400 est bien marquée dans la liste comme étant de type réel . 10 En pratique, pour vérifier l'intégrité du lien numérique entre la liste des votes et la liste de contrôle une personne habilitée, peut prendre au hasard un code de base dans la liste de correspondance (par exemple 9e02d85e00194ccc) et obtenir le code de camouflage correspondant (dans 15 cet exemple aa39846edd2007c6). Ce couple a permis de générer le code votant (442802) et le code de contrôle (be7676f4f578da9a) qui sont également communiqués à la personne habilitée.
En se rapportant à la liste des votes cette personne peut se rendre 20 compte que le code votant (442802) est associé au choix rouge .
Cette personne peut également constater, en se référant à la liste de contrôle que le vote associé au code de contrôle (be7676f4f578da9a) est virtuel et qu'il est associé au choix rouge exactement comme cela était mentionné dans liste de votes . 2944907 - 32 - Cette personne peut encore constater que ce vote virtuel était mentionné dès l'origine dans la liste virtuelle représentée par le tableau 1, cette liste ayant été publiée avant le début des votes. II peut aussi vérifier que l'empreinte de la liste virtuelle , publiée avec ladite liste, est bien la même que celle 5 imprimée sur ses certificats de vote.
Afin d'illustrer le fonctionnement du procédé objet de l'invention du point de vue logicielle, prenons l'exemple suivant de l'implémentation des fonctions présentes dans le programme informatique enregistré dans la carte DSBV. 10 La carte DSBV dispose donc d'un programme interne décomposé en fonctions permettant de mettre en oeuvre les différentes étapes du procédé de vote électronique sécurisé objet de l'invention. Ces fonctions peuvent être exécutées alternativement par la borne de vote électronique ou par le lecteur du 15 centre d'administration des votes suivant différents état de la carte DSBV. Dans cet exemple, la carte DSBV passe par trois états successifs : - état n°1 : session de vote en attente. Cet état est l'état de la carte après sa création par le centre d'administration des votes. - état n°2: session de vote en cours. Le directeur du bureau de vote 20 commande le début de la session de vote. La fonction d'initialisation de la carte est lancée. Les votes virtuels sont créés et certifiés, l'empreinte de la liste des votes virtuels est créée. La carte passe de l'état session de vote en attente à l'état session de vote en cours . - état n°3: session de vote clôturée. Le directeur du bureau de vote 25 commande la clôture de la session de vote. La carte passe de l'état session de vote en cours à l'état session de vote clôturé . La carte ne peut pas revenir dans un état antérieur. 2944907 - 33 - Dans l'état session de vote en attente , seulement une fonction peut être exécutée par la borne : c'est la fonction ouverture de la session . Le paramètre d'entrée permettant l'ouverture de la session est le code PIN de la 5 carte que doit entrer le directeur du bureau. La saisie du code PIN engendre : - la création des votes virtuels, - l'archivage de la liste initiale des codes de contrôle , - le passage de la carte dans l'état session de vote en cours . Les paramètres de sortie, créés à l'ouverture de la session sont le code 10 votant , le code de contrôle et le vote associé à chaque votant virtuel.
Dans l'état session de vote en cours , trois fonctions peuvent être exécutées par la borne : - la fonction action de vote initiée : 15 o Le paramètre d'entrée permettant l'exécution de cette fonction est l'empreinte par hachage de la liste des votes en cours stockée dans la ou les mémoires de sécurité de la borne de vote. La fonction calcule l'empreinte par hachage de la liste des votes en cours stockée dans la carte DSBV et la compare avec l'empreinte passée en paramètre pour 20 vérifier que les listes sauvegardées dans la borne sont bien identiques aux listes internes de la carte. o Le paramètre de sortie généré par cette fonction est le code votant . - la fonction action de vote terminée 25 o Les paramètres d'entrée permettant l'exécution de cette fonction sont le code votant généré par la fonction précédente, ainsi que le vote saisit par le votant. 2944907 - 34 - • la fonction vérifie que le code votant correspond bien au vote en cours. • la fonction signe les données code votant et vote avec sa clé privée. 5 • la fonction choisit de manière aléatoire une ligne L1 vide dans la liste des codes de base et des codes camouflage , une ligne L2 vide dans la liste des votes et une ligne L3 vide dans la liste de contrôle . En pratique une position aléatoire entre 0 et 1999 est choisie afin de ne pas laisser de trace permettant de retrouver un vote 10 chronologiquement. Ces listes sont présentées sous la forme d'un tableau de n lignes, n correspondant au nombre de choix possibles dans le vote. • la fonction stocke dans la ligne choisie de chaque liste l'expression du vote ( code votant , vote , signature dans la ligne L). 15 o Les paramètres de sortie générés par cette fonction sont : • La ligne L1 comprenant le code de base et le code de camouflage crypté, • La ligne L2 comprenant le code votant , le vote , et la signature du vote, 20 • La ligne L3 comprenant le code de contrôle .
- la fonction clôture de la session de vote : o Les paramètres d'entrée permettant l'exécution de cette fonction sont le code PIN de la carte que doit saisir le directeur du bureau de vote, et 25 l'empreinte par hachage de la liste des votes en cours stockée dans la ou les mémoires de sécurité de la borne. 2944907 - 35 - • la fonction vérifie une dernière fois l'empreinte par hachage final des listes, • la carte utilise sa clé d'authentification pour créer la signature finale de l'empreinte des listes complètes, 5 • passage de la carte dans l'état session de vote clôturé . o Le paramètre de sortie généré par cette fonction est la signature finale par la carte de l'empreinte des listes par hachage.
Dans l'état session de vote clôturée , deux fonctions peuvent être 10 exécutées par tout équipement du centre d'administration des votes : - la fonction lecture liste résultat : o Le paramètre d'entrée permettant l'exécution de cette fonction est l'indication de la liste demandée o Le paramètre de sortie généré par cette fonction est la transmission 15 de la liste demandée. Chacune des trois listes associatives peut être lue intégralement.
- la fonction vérification d'une ligne de vote : o Le paramètre d'entrée permettant l'exécution de cette fonction est le 20 code de camouflage crypté. o Le paramètre de sortie généré par cette fonction est la transmission du code de camouflage en clair. Avec le code de base et le code de camouflage, on peut déduire le code de vote et le code de contrôle et vérifier que ceux-ci figurent bien dans les deux listes correspondantes.
25 Le contenu des listes de sécurité est communiqué par télétransmission au centre d'administration des votes avec la signature finale de la carte. Le 2944907 - 36 - centre d'administration des votes peut contrôler avec la clé publique l'authenticité des données de la carte DSBV. La carte DSBV est signée manuellement par le directeur du bureau de vote et renvoyée physiquement au centre d'administration des votes constituant ainsi la preuve physique de 5 l'intégrité du vote.

Claims (12)

  1. Revendications1. Procédé de vote électronique sécurisé dans lequel, pour chaque votant réel : - on génère un code votant unique aléatoire associé au votant, - on informe le votant du code votant généré, - on enregistre le vote du votant, - on stocke dans une mémoire le couple vote et code votant associé au votant, - on transmet au votant le couple vote et code votant qui lui est associé, caractérisé en ce que : - on sélectionne aléatoirement dans la mémoire, pour chaque possibilité de vote différente du vote enregistré qui est associé au votant, un autre couple vote et code votant , - on transmet au votant les autres couples vote et code votant sélectionnés.
  2. 2. Procédé selon la revendication 1 dans lequel, avant le premier vote, et une ou plusieurs fois pour chaque possibilité de vote : - on génère un code votant aléatoire unique associé à un votant virtuel, - on stocke le couple vote et code votant associé au votant virtuel dans la mémoire.
  3. 3. Procédé selon la revendication 2 dans lequel, on publie une liste des votes unique répertoriant les couples vote et code votant stockés dans la mémoire, de manière à permettre à chaque votant de vérifier individuellement l'exactitude de leur vote . 2944907 - 38 -
  4. 4. Procédé selon la revendication 3 dans lequel, - on génère, pour chaque code votant , un code de contrôle lié numériquement audit code votant au moyen d'un procédé de chiffrage numérique,
  5. 5 - on publie une liste de contrôle unique répertoriant le type réel ou virtuel du votant, associé au couple vote et code de contrôle , de manière à pouvoir vérifier l'extraction des votes virtuels dans le décompte final des votes tout en rendant impossible l'identification du code votant associé aux votants virtuels. 10 5. Procédé selon la revendication 4 dans lequel, on publie préalable ment au début des votes réels, une liste virtuelle répertoriant les couples vote et code de contrôle associés aux votants virtuels, de manière à pouvoir vérifier à postériori sur la liste de contrôle que les 15 votes virtuels sont restés inchangés au cours des votes.
  6. 6. Procédé selon l'une des revendications 4 ou 5 dans lequel : - on créé une liste virtuelle répertoriant les couples vote et code de contrôle associés aux votants virtuels, 20 - on génère une empreinte numérique de la liste virtuelle au moyen d'une fonction de hachage numérique, - on transmet l'empreinte numérique au votant, - on publie la liste virtuelle avec son empreinte numérique régénérée immédiatement avant ladite publication de manière à pouvoir vérifier que 25 ladite empreinte numérique est restée inchangée au cours des votes.
  7. 7. Procédé selon l'une des revendications précédentes, dans lequel : - on génère aléatoirement un code de base et un code de 30 camouflage , - on réalise un hachage numérique du code de base concaténé au code de camouflage pour générer le code votant , 2944907 - 39 - - on réalise un hachage numérique du code de camouflage concaténé au code de base pour générer le code de contrôle .
  8. 8. Procédé selon la revendication 7 prise en combinaison avec la 5 revendication 4, dans lequel on détermine le code votant et son code de contrôle associé à partir d'un code de base pris aléatoirement et de son code de camouflage associé de manière à vérifier l'intégrité du lien numérique créé entre la liste de contrôle et la liste des votes . 10
  9. 9. Procédé selon l'une des revendications précédentes dans lequel pour transmettre au votant les couples vote et code votant : - on imprime chaque couple sur un certificat distinct, - on délivre les certificats au votant. 15
  10. 10. Borne de vote électronique sécurisé comprenant : - un moyen pour générer un code votant unique aléatoire associé au votant, - un moyen pour informer le votant du code votant généré, - un moyen pour enregistrer le vote du votant, 20 - un moyen pour stocker le couple vote et code votant associé au votant dans une mémoire, - un moyen pour transmettre au votant le couple vote et code votant qui lui est associé, caractérisé en ce que ladite borne comprend en outre : 25 - un moyen pour sélectionner aléatoirement dans la mémoire, pour chaque possibilité de vote différent du vote enregistré qui est associé au votant, un autre couple vote et code votant , - un moyen pour transmettre au votant les autres couples vote et code votant sélectionnés. 30 2944907 - 40 -
  11. 11.Carte à puce configurée pour être insérée dans un lecteur de carte intégré à la borne de vote électronique selon la revendication 10, caractérisée en ce que ladite carte comporte : - une mémoire dans laquelle est stocké un programme décomposé en 5 fonctions permettant de mettre en oeuvre les étapes du procédé conforme à l'une des revendications 1 à 9, - un microprocesseur intégré configuré pour exécuter les fonctions dudit programme. 10
  12. 12. Carte à puce selon la revendication 11, caractérisée en ce que sa mémoire comporte une zone sécurisée uniquement accessible par le microprocesseur intégré à ladite carte et dans laquelle sont stockés les codes votant et les votes .
FR0952653A 2009-04-23 2009-04-23 Procede de vote electronique securise Withdrawn FR2944907A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0952653A FR2944907A1 (fr) 2009-04-23 2009-04-23 Procede de vote electronique securise

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0952653A FR2944907A1 (fr) 2009-04-23 2009-04-23 Procede de vote electronique securise

Publications (1)

Publication Number Publication Date
FR2944907A1 true FR2944907A1 (fr) 2010-10-29

Family

ID=41262172

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0952653A Withdrawn FR2944907A1 (fr) 2009-04-23 2009-04-23 Procede de vote electronique securise

Country Status (1)

Country Link
FR (1) FR2944907A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112567411A (zh) * 2018-08-09 2021-03-26 森斯通株式会社 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851067A1 (fr) * 2003-02-06 2004-08-13 Michel Maurice Eeckman Systeme numerique servant a remplacer les manipulations des bulletins de vote
EP1873723A1 (fr) * 2005-03-24 2008-01-02 Federalny Tsentr Informatizatsii Pri Tsentralnoy Izbiratelnoy Komissii Rossiyskoy Federatsii Procede de preparation de vote et de tenue de vote au moyen d'un systeme automatise
FR2906058A1 (fr) * 2006-09-14 2008-03-21 Eads Defence And Security Syst Procede et serveur de verification du contenu d'une urne virtuelle d'un systeme de vote electronique chiffre par un algorithme homomorphique
US20080110985A1 (en) * 2006-10-20 2008-05-15 Barry Cohen Electronic voting system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851067A1 (fr) * 2003-02-06 2004-08-13 Michel Maurice Eeckman Systeme numerique servant a remplacer les manipulations des bulletins de vote
EP1873723A1 (fr) * 2005-03-24 2008-01-02 Federalny Tsentr Informatizatsii Pri Tsentralnoy Izbiratelnoy Komissii Rossiyskoy Federatsii Procede de preparation de vote et de tenue de vote au moyen d'un systeme automatise
FR2906058A1 (fr) * 2006-09-14 2008-03-21 Eads Defence And Security Syst Procede et serveur de verification du contenu d'une urne virtuelle d'un systeme de vote electronique chiffre par un algorithme homomorphique
US20080110985A1 (en) * 2006-10-20 2008-05-15 Barry Cohen Electronic voting system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JING-JANG H: "A conventional approach to secret balloting in computer networks", COMPUTERS & SECURITY, ELSEVIER SCIENCE PUBLISHERS. AMSTERDAM, NL, vol. 15, no. 3, 1 January 1996 (1996-01-01), pages 249 - 263, XP004008869, ISSN: 0167-4048 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112567411A (zh) * 2018-08-09 2021-03-26 森斯通株式会社 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序
CN112567411B (zh) * 2018-08-09 2024-07-30 森斯通株式会社 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序

Similar Documents

Publication Publication Date Title
EP3690686B1 (fr) Procédé d'authentification, serveur et dispositif électronique d'identité
EP0077238B1 (fr) Procédé et dispositif pour authentifier la signature d'un message signé
EP2591463B1 (fr) Système et procédé d'identification et d'enregistrement d'identité sécurisés
EP2048814A1 (fr) Procédé d'authentification biométrique, programme d'ordinateur, serveur d'authentification, terminal et objet portatif correspondants.
EP2260473B1 (fr) Vote électronique produisant un résultat authentifiable.
FR2738934A1 (fr) Systeme de comptabilisation anonyme d'informations a des fins statistiques, notamment pour des operations de vote electronique ou de releves periodiques de consommation
CA2676236C (fr) Dispositif portable d'authentification
US11087578B2 (en) Voting booth, system, and methods of making and using same
EP3262553B1 (fr) Procede de transaction sans support physique d'un identifiant de securite et sans jeton, securise par le decouplage structurel des identifiants personnels et de services
WO2010007479A2 (fr) Appareil et procédé de génération d'un titre sécurisé à partir d'un titre officiel
FR3073643A1 (fr) Procede d'obtention d'une identite numerique de niveau de securite eleve
FR2944907A1 (fr) Procede de vote electronique securise
WO2022179986A1 (fr) Carte de paiement, procédé d'authentification et utilisation pour un paiement à distance
FR2899709A1 (fr) Securisation de transactions electroniques sur un reseau ouvert.
EP2795830B1 (fr) Procede d'echange de donnee chiffree entre un terminal et une machine
BE1021435B1 (fr) Methode pour gerer un vote electronique
FR2898423A1 (fr) Procede securise de configuration d'un dispositif de generation de signature electronique.
EP4302285A1 (fr) Procédé et dispositif de vote par correspondance
EP3032450B1 (fr) Procédé de contrôle d'une authenticité d'un terminal de paiement et terminal ainsi sécurisé
WO2023001845A1 (fr) Procédé d'enrôlement d'un utilisateur par un organisme sur une chaîne de blocs
FR3113323A1 (fr) Procede pour generer un document numerique securise stocke sur un terminal mobile et associe a une identite numerique
WO2013088024A1 (fr) Accreditations anonymes
FR3143143A1 (fr) Procédé de connexion à un compte personnel sur un service en ligne au moyen d’une chaîne de blocs
EP2536061A1 (fr) Procédé de gestion d'une pseudo-identité intrinsèque à un dispositif
CH710819B1 (fr) Système et procédé de contrôle d'accès à une prestation.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20101230