INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Une autorité en charge de l’inscription de votants sur des listes électorales. L’inscription sur les listes électorales suppose, entre autres, de donner l’opportunité aux futurs électeurs de convenir de secrets partagés avec les médiateurs attribués sans qu’aucune tierce personne n’assiste à cet échange.
Des électeurs (ou votants) constituant un ensemble des personnes inscrites sur les listes électorales et qui participent au scrutin.
Des médiateurs. Les médiateurs peuvent être des personnes qui se sont portées volontaires pour fournir des services de médiation et qui ont accès à des ressources matérielles et logicielles (moyens de médiation) pour fournir ce service. Elles sont inscrites sur les listes électorales. Elles peuvent être rémunérées pour la fourniture de ce service.
Des mélangeurs. Les mélangeurs peuvent être des personnes qui se sont portées volontaires pour fournir des services de mélange des votes anonymisés et qui ont accès à des ressources matérielles et logicielles (moyens de mélange) pour fournir ce service. Elles sont inscrites sur les listes électorales. Elles peuvent être rémunérées pour la fourniture de ce service.
Un administrateur d’un portail d’entrée d’une infrastructure de votes (moyens de regroupement de messages).
Un administrateur du serveur de dépouillement (moyens de dépouillement).
A l’exception des votants, tous les acteurs sont responsables de maintenir des services informatiques à la disposition des autres acteurs pendant le temps du scrutin et aussi au-delà pour certains services.
Tous les acteurs disposent d’une paire de clé publique et de clé privée. Ainsi, une infrastructure ‘PKI’ (pour « Public Key Infrastructure » selon l’anglicisme reconnu) est mise en œuvre pour certifier ces clés avec par exemple l’autorité d’inscription sur les listes électorales qui joue le rôle d’autorité de certification.
D’une manière générale, l’invention consiste à désigner pour chaque électeur un ensemble de médiateurs qui ont la charge de servir d’intermédiaires entre l'électeur et l’infrastructure de vote. En pratique les médiateurs ne sont pas activement et personnellement impliqués au moment des votes, mais ils ont chacun la responsabilité administrative de serveurs (les moyens de médiation individualisés) qui exposent des services de médiation mis à la disposition des terminaux de vote.
Avantageusement, la désignation et l’assignation des médiateurs à chaque votant, suit des règles déterministes et vérifiables qui rendent caduque toute tentative de lobbying.
Pour réduire encore le niveau de risque, il est possible d’augmenter le nombre de médiateurs attribués aux votants. Le choix des médiateurs est fixé par un algorithme spécifié et transparent qui n’est pas ouvert aux manipulations, de sorte que la probabilité que tous les médiateurs soient malveillants est très faible si l’on considère un nombre de médiateurs suffisamment élevé.
Lors de l’enregistrement d’un nouveau votant, une liste de N médiateurs lui est attribuée au moment de l’enregistrement. Il est possible d’utiliser pour ce faire un générateur binaire pseudo aléatoire unique qui génère une liste très longue (par exemple une liste de 2 63 -1 bits qui correspondrait à un polynôme primitif générateur connu de degrés 63). S’il y a M médiateurs déclarés au moment de l’inscription du nouveau votant ( , il est possible de sélectionner un médiateur en récupérant log 2 (M) bits plus 1, à partir du générateur et en calculant la valeur numérique de cette séquence de bits. Si cette valeur est supérieure à M, il y a lieu de retirer un nouveau bit à partir du générateur et opérer un décalage sur les bits en ignorant le bit le plus ancien, et répéter cette opération si nécessaire jusqu’à ce que la valeur correspondante de l’ensemble de bits soit inférieure à N. Lorsque c’est le cas, on a l’index d’un médiateur pour l'électeur en train de s’inscrire. Ce mécanisme est reproduit N fois pour les N médiateurs qu’il faut attribuer au votant. Toute l’opération est recommencée lorsqu’un nouveau votant est enregistré sur les listes électorales.
Dans une variante, cet algorithme d’attribution peut être adapté en permettant la désactivation des médiateurs qui ne souhaitent plus poursuivre leur activité de médiation. Un flag de validité associé à chaque médiateur est défini et l’acceptation d’un médiateur est conditionnée au statut actif et vérifié du médiateur en question.
Le vote est vérifiable : l'électeur peut obtenir la preuve de la bonne prise en compte de son vote.
Il n’est pas possible de faire pression sur un votant (électeur) pour influencer son choix de vote (voire pour le pousser à voter ou bien à ne pas voter). Cette propriété inclut aussi l’impossibilité d’acheter des votes.
Pour obtenir les résultats recherchés, il est proposé un dispositif de vote électronique comprenant :
une infrastructure de médiation comprenant des moyens de médiation individualisés, où une pluralité N de moyens de médiation individualisés étant assignée à chaque votant par un algorithme déterministe et transparent, chacun desdits N moyens de médiation individualisés étant configuré pour partager un secret avec ledit votant ;
des moyens de vote individualisés, configurés pour générer pour chaque votant une pluralité N de premiers messages de vote à destination des N moyens de médiation assignés audit votant, chaque message de vote de premier niveau étant signé et chiffré, et construit avec le secret partagé avec ledit moyen de médiation assigné ; et
un module de regroupement de messages configuré pour recevoir desdits N moyens de médiation, une pluralité N de seconds messages de vote signés et chiffrés, pour effectuer des opérations de contrôle desdits N seconds messages de vote reçus, et générer un message de vote unique, anonyme, signé et chiffré.
Le dispositif de l’invention peut être implémenté selon des modes de réalisation alternatifs ou combinés.
Selon un mode de réalisation, chaque moyen de médiation individualisé comprend des moyens de communication et de traitement configurés pour :
recevoir un message de vote de premier niveau signé et chiffré ;
effectuer des opérations de contrôle de validité de signature et de validité de secret partagé dudit message de vote de premier niveau reçu ; et
générer pour ledit message de vote de premier niveau validé, un message de vote de second niveau signé et chiffré avec une clé publique du module de regroupement de messages.
Selon un mode de réalisation, le dispositif de l’invention comprend des moyens pour générer des secrets, un secret étant partagé entre un votant et un ou tous les moyens de médiation individualisés assignés audit votant.
Selon un mode de réalisation, le dispositif de l’invention comprend des moyens pour assigner une pluralité N de moyens de médiation individualisés à chaque votant, lesdits moyens d’assignation étant basés sur un générateur binaire pseudo aléatoire unique.
Selon un mode de réalisation, chaque message de vote de premier niveau comprend au moins un identifiant dudit votant ‘Voter ID’, un identifiant de vote ‘Vote ID’, le secret ‘SMed’ partagé avec le moyen de médiation assigné et une information de vote ‘Vote’ chiffrée avec des clés publiques, chaque message de vote de premier niveau étant signé avec une clé privée du votant et chiffré avec une clé publique dudit moyen de médiation assigné.
Selon un mode de réalisation, chaque message de vote de second niveau comprend au moins un identifiant dudit votant ‘Voter ID’, un identifiant de vote ‘Vote ID’, une information de validité de secret partagé ‘Valid’ chiffrée avec une clé publique des moyens de regroupement de messages de vote, une information de vote ‘Vote’ chiffrée avec des clés publiques, une information de médiation chiffrée avec des clés publiques et contenant au moins un identifiant de médiation ‘Ids’ du moyen de médiation correspondant, chaque message de vote de second niveau étant signé avec une clé publique du moyen de médiation assigné.
Dans une variante, l’identifiant de médiation ‘Ids’ est un identifiant aléatoire obtenu à partir de trois grands nombres générés par les moyens de médiation respectifs.
Selon un mode de réalisation, les moyens de regroupement de messages de vote sont configurés pour ignorer tout message de vote de second niveau dont la signature n’est pas valide ou tout second message valide reçu en doublon.
Selon un mode de réalisation, les moyens de regroupement de messages de vote sont configurés pour construire un message de vote unique par votant à partir de tous les seconds messages de vote validés pour ledit votant.
Dans une variante, les moyens de regroupement de messages de vote sont configurés pour construire un message de vote unique pour un ensemble de votants, ledit message de vote unique comprenant une pluralité de messages de vote uniques correspondant chacun à un votant de l’ensemble des votants.
Selon un mode de réalisation, le dispositif de vote électronique comprend des moyens de mélange couplés aux moyens de regroupement de messages de vote, lesdits moyens de mélange étant configurés pour recevoir un message de vote unique pour un ensemble de votants, pour modifier de manière aléatoire au moins une fois l’ordre des messages de vote uniques contenus dans ledit message de vote unique reçu pour un ensemble de votants, et pour émettre un nouveau message de vote unique pour ledit ensemble de votants.
Selon un mode de réalisation, le dispositif de vote électronique de l’invention comprend un dispositif de dépouillement de vote électronique configuré pour dépouiller ledit message de vote unique.
Selon un mode de réalisation, le dispositif de dépouillement de vote électronique comprend des moyens pour contrôler la validité dudit message de vote unique, et le déchiffrer afin d’accéder aux informations de vote en clair, notamment le choix de vote ‘Vote’, l’information de validité du vote, et les identifiants de médiation ‘Ids’.
Selon un mode de réalisation, le dispositif de vote électronique comprend des moyens pour stocker des informations de vote, notamment des données privées relatives aux identifiants de médiation, et des données publiques relatives au moins aux votes valides et aux décomptes de vote.
Dans une variante, les moyens de stockage permettent de stocker une liste d’identifiants de substitution associés aux votants qui ont effectué un vote invalide.
L’invention a aussi pour objet un système de vote et de dépouillement électronique comprenant un dispositif de vote électronique et un dispositif de dépouillement de vote électronique selon l’invention, le système de vote et de dépouillement électronique comprenant de plus des moyens configurés pour permettre à chaque votant de vérifier la bonne prise en compte de son vote.
Selon un mode de réalisation, le système de vote et de dépouillement électronique comprend des moyens configurés pour effectuer une vérification de la bonne prise en compte d’un vote.
L’invention concerne aussi un procédé de vote et de dépouillement sur internet comprenant des étapes de vote et de dépouillement de vote mises en œuvre sur le système de vote et de dépouillement électronique de l’invention.
La illustre les mécanismes pour la création et le partage de secrets entre un votant et des médiateurs assignés selon un mode de réalisation de l’invention ;
La illustre selon un mode de réalisation, les différentes entités du dispositif de l’invention intervenant dans la procédure de vote ;
La illustre selon un mode de réalisation, les différentes entités du dispositif de l’invention intervenant dans la procédure de dépouillement ;
Selon d'autres variantes de réalisation de la deuxième étape E2, la première fonction pourrait être définie différemment, par exemple au moyen d'une fonction théorique ou encore en identifiant par tout moyen un ou plusieurs étages du dispositif de stockage d'énergie 1 qui fonctionne correctement et en déterminant la relation entre la capacité incrémentale circulant dans ce ou ces étages et le temps écoulé au cours d'une charge ou d'une décharge.
Finalement, à l'issue de la deuxième étape E2 on obtient une première fonction f1, représentative d'un fonctionnement normal d'un ou plusieurs étages. Cette première fonction peut être déterminée selon plusieurs méthodes différentes mais qui possèdent le point commun de définir une relation entre d'une part une grandeur relative à une quantité de charges circulant dans un étage et d'autre part un temps écoulé au cours d'une charge ou d'une décharge du dispositif de stockage d'énergie. Cette première fonction est donc une fonction de référence et sert de base de comparaison pour déterminer si un étage particulier présente un risque de défaillance par déséquilibre.
Dans une troisième étape E3, on détermine une deuxième fonction f2 destinée à être comparée avec la première fonction précédemment définie. De même que pour la première fonction f1, la deuxième fonction f2 est une fonction mathématique, représentable sur un graphique tel que le graphique de la , et qui peut être définie par un ensemble de points. La troisième étape E3 peut être exécutée avant ou après la deuxième étape E2 ou encore en parallèle de la deuxième étape E2. La deuxième fonction f2 définit une relation entre d'une part la grandeur relative à une quantité de charges circulant dans l’étage présentant la plus faible tension à ses bornes parmi l'ensemble des étages du dispositif de stockage d'énergie et d'autre part un temps écoulé au cours d’une charge ou d’une décharge de cet étage. En particulier, selon le mode de réalisation préféré, la grandeur relative à la quantité de charges circulant dans l’étage présentant la plus faible tension à ses bornes est égale à la capacité incrémentale de cet étage.
La méthode de détermination de la deuxième fonction f2 peut être analogue à la méthode de détermination de la première fonction f1. La deuxième fonction f2 peut être déterminée de la manière suivante : tout d'abord on calcule une première fonction intermédiaire définissant une relation entre le courant électrique I circulant dans le dispositif de stockage d'énergie et le temps écoulé au cours d'une période de charge ou d'une décharge du dispositif de stockage d'énergie. Ensuite, on calcule une deuxième fonction intermédiaire définissant une relation entre une quantité de charges Q circulant dans l’étage présentant la plus faible tension à ses bornes et le temps écoulé en intégrant la première fonction intermédiaire sur la période de charge ou de décharge. Cette deuxième fonction intermédiaire est combinée avec une troisième fonction intermédiaire établissant une relation entre la tension minimale U_min et le temps écoulé. On peut ainsi calculer une quatrième fonction intermédiaire définissant une relation entre la quantité de charges Q circulant dans l’étage présentant la plus faible tension à ses bornes et la tension minimale U_min. Ensuite on calcule une cinquième fonction intermédiaire en dérivant la quatrième fonction intermédiaire relativement à la tension minimale U_min. La cinquième fonction intermédiaire est donc une fonction du type dQ/dU_min = f(U_min). Enfin, cette cinquième fonction intermédiaire est combinée avec la troisième fonction intermédiaire établissant une relation entre la tension moyenne U_min et le temps écoulé de manière à obtenir la deuxième fonction f2. La deuxième fonction est donc une fonction du type dQ/dU_min = f(t).
D'une manière générale, le graphique sur lequel la deuxième fonction est représentable est identique au graphique sur lequel la première fonction est représentable. Autrement dit, la forme de la première fonction est la même que la forme de la deuxième fonction de manière à permettre une comparaison de ces deux fonctions.
La première fonction f1 et la deuxième fonction f2 sont définies sur une période de charge ou de décharge donnée qui peut correspondre à une charge ou d'une décharge partielle du dispositif de stockage d'énergie. Ainsi, la période sur laquelle la première fonction f1 et la deuxième fonction f2 sont définies peut être restreinte comparativement à la durée totale nécessaire pour charger ou décharger complètement le dispositif de stockage d'énergie, avec un même régime de charge, à partir d'un état de charge de 0% dans le cas d'une charge ou respectivement à partir d'un état de charge de 100% dans le cas d'une décharge. Par exemple, la période sur laquelle la première fonction f1 et la deuxième fonction f2 sont définies peut être inférieure ou égale à 75%, voire inférieure ou égale à 50%, voire même inférieure ou égale à 25% de la durée totale. De préférence, la période sur laquelle la première fonction f1 et la deuxième fonction f2 sont définies est suffisante pour identifier au moins un extremum de la première fonction et au moins un extremum de la deuxième fonction, voire au moins deux extremums de la première fonction et au moins deux extremums de la deuxième fonction, voire même trois extremums de la première fonction et trois extremums de la deuxième fonction.
Comme cela est bien visible sur la , lorsque la période sur laquelle la première fonction f1 et la deuxième fonction f2 sont définies est suffisamment importante, la première fonction f1 et la deuxième fonction f2 possède une allure spécifique : chacune de ces deux fonctions atteint successivement deux valeurs maximales, référencées VM11 et VM12 pour la première fonction f1 et VM21 et VM22 pour la deuxième fonction f2. Les valeurs maximales VM11, VM12, VM21 et VM22 sont atteintes respectivement au terme d'une durée T11, T12, T21 et T22. Lorsque la première fonction f1 et la deuxième fonction f2 sont établies au cours d'une charge du dispositif de stockage d'énergie, la première valeur maximale VM11 atteinte par la première fonction est généralement inférieure ou égale à la deuxième valeur maximale VM12 atteinte par la première fonction. De même, la première valeur maximale VM21 de la deuxième fonction est généralement inférieure ou égale à la deuxième valeur maximale VM22 de la deuxième fonction. Par ailleurs, on observe un décalage entre la première fonction f1 et la deuxième fonction f2. En particulier, les valeurs maximales VM11 et VM12 de la première fonction sont strictement supérieures respectivement aux valeurs maximales VM21 et VM22 de la deuxième fonction. De plus, les durées T11 et T12 sont strictement inférieures respectivement aux durées T21 et T22. Entre ses deux valeurs maximales VM11 et VM12, la première fonction f1 atteint une valeur minimale VM13 au terme d'une durée T13. De même, entre ses deux valeurs maximales VM21 et VM22, la deuxième fonction f2 atteint une valeur minimale VM23 au terme d'une durée T23. On note que la valeur minimale VM13 est strictement inférieure à la valeur maximale VM23 et que la durée T13 est strictement inférieure à la durée T23. Les deux valeurs maximales VM11 et VM12 et la valeur minimale VM13 constituent trois extremums de la première fonction. De même, les deux valeurs maximales VM21 et VM22 et la valeur minimale VM23 constituent trois extremums de la deuxième fonction. De plus, on observe aussi qu'il existe des instants où la première fonction est strictement supérieure à la deuxième fonction et d'autres instants où la première fonction est strictement inférieure à la deuxième fonction.
Dans une quatrième étape E4, on calcule une différence entre ladite première fonction f1 et ladite deuxième fonction f2. Il existe plusieurs manières de quantifier une telle différence. Selon un premier mode de réalisation, la quatrième étape E4 comprend une sous-étape de calcul d'une valeur intégrale d'une différence entre la première fonction f1 et la deuxième fonction f2. Ce calcul intégral peut notamment être réalisé sur l'ensemble de la période sur laquelle la première fonction et la deuxième fonction sont définies. Ce calcul revient donc sensiblement à calculer l'aire définie entre la première fonction et la deuxième fonction. Avantageusement, le calcul intégral peut être basé sur une valeur absolue de la différence entre la première fonction f1 et la deuxième fonction f2. Ainsi, le calcul intégral des périodes où la première fonction est strictement supérieure à la deuxième fonction s'additionne au calcul intégral des périodes où la première fonction est strictement inférieure à la deuxième fonction. On parvient ainsi à bien mettre en évidence les différences entre la première fonction et la deuxième fonction, ce qui permet d'améliorer la sensibilité de la détection. Un avantage à déterminer ladite différence sur la base d'un calcul intégral est que cette méthode peut être mise en œuvre sur n'importe quelle période de charge ou de décharge, y compris une période de charge ou de décharge partielle dans laquelle les fonctions f1 et/ou f2 n'atteignent pas tous leurs extremums. Ainsi, le procédé de détection permet de détecter un déséquilibre même lorsque le dispositif de stockage d'énergie subit des cycles de charge et de décharge incomplets. Un autre avantage à déterminer ladite différence sur la base d'un calcul intégral est que cette méthode permet de détecter une différence même lorsque les valeurs maximales VM11 et VM12 de la première fonction sont sensiblement égales aux valeurs maximales VM21 et VM22 de la deuxième fonction (on a alors uniquement un décalage temporel entre les deux fonctions f1 et f2). De même, cette méthode permet de détecter une différence même lorsque les durées T11 et T12 sont sensiblement égales aux durées T21 et T22 de la deuxième fonction (on a alors uniquement un décalage en amplitude entre les deux fonctions f1 et f2).
Selon un autre mode de réalisation de la quatrième étape E4, la différence entre la première fonction f1 et la deuxième fonction f2 peut être calculée par une différence d'amplitude entre ces deux fonctions. Dans ce cas, la quatrième étape comprend une sous-étape d'estimation d'au moins un extremum (notamment les valeurs VM11, VM12 ou VM13) atteinte par la première fonction, et une sous-étape d'estimation d'au moins un extremum atteint par la deuxième fonction (respectivement les valeurs VM21, VM22 ou VM23). Ensuite, la quatrième étape E4 comprend une sous-étape de calcul d'une différence entre l'extremum atteint par la première fonction et l'extremum atteint par la deuxième fonction. Cette différence est donc égale à VM11 – VM21, ou à VM12 – VM22, ou encore à VM13 – VM23. La différence peut aussi être égale à un résultat calculé en fonction des trois différences à VM11 – VM21, VM12 – VM22, et VM13 – VM23, ou encore égale un résultat calculé en fonction de deux différences parmi ces trois différences.
En raison de la similitude d'allure de la première fonction et de la deuxième fonction, il convient de comparer respectivement les extremums VM11, VM12 et VM13 avec les extremums VM21, VM22 et VM23. Le calcul d'une différence entre des extremums non correspondants conduirait à un résultat aberrant qui peut être filtré pour ne pas faire reposer le procédé sur une telle comparaison. La mise en œuvre de la quatrième étape E4 par comparaison des valeurs maximales ou minimales atteintes par la première fonction et par la deuxième fonction présente l'avantage d'être économe en calcul et simple à mettre en œuvre.