FR 3091107 A1 20200626 FR 1874108 A 20181224 Description Titre de l'invention Procédé et système de génération de clés pour un schéma de signatures anonymes Technique antérieure L'invention se situe dans le contexte de la cryptographie et plus précisément dans celui de la signature de groupe. On rappelle qu'un schéma de signature de groupe permet à un utilisateur de prouver son appartenance à un groupe (par exemple d'enchérisseurs, de personnes ayant souscrit à un service, etc.) sans révéler son identité exacte. Les signatures de groupe ont la particularité d'être anonymes car il n'est pas possible d'identifier le signataire. Les signatures de groupe sont dites non traçables car on ne peut pas déterminer si deux signatures ont été émises par la même personne ou par deux personnes distinctes. La validité d'une signature de groupe peut être vérifiée par quiconque grâce à une clé publique caractérisant le groupe appelée "clé publique de groupe". Pour faire partie du groupe, un membre doit au préalable s'enregistrer auprès d'une entité d'administration du groupe. Lors de cette phase d'enregistrement, le futur membre obtient, de manière aveugle, une clé privée de groupe qui lui permet de signer des messages au nom du groupe. Seule une autorité de confiance de révocation, ou entité de révocation, a le pouvoir de révoquer l'anonymat d'une signature de groupe, grâce à une clé privée appelée « trappe » qu'elle seule possède. En pratique, cette trappe peut en fait être partagée entre plusieurs autorités de révocation ; il est alors nécessaire qu'elles coopèrent toutes pour lever l'anonymat d'une signature. Le membre du groupe se voit ainsi protéger contre des levées d'anonymat abusives. Le concept de signature de groupe est décrit par exemple dans l'article de Dan Boneh, Xavier Boyen et Hovav Shacham: « Short Group Signatures. CRYPTO 2004: 41-55 ». Pour certaines applications nécessitant de préserver l'anonymat des utilisateurs, comme le vote ou la pétition électronique, il est préférable de mettre en oeuvre une variante des signatures de groupe, appelée attestation anonyme directe (pour DAA, Direct Anonymous Attestation en anglais). Le concept de DAA est décrit par exemple dans l'article d'Ernie Brickell, Liqun Chen, et Jiangtao Li: « A New Direct Anonymous Attestation Scheme from Bilinear Maps. TRUST 2008: 166- 178 ». Les attestations anonymes directes anonymes DAA, à la différence des signatures de groupe, sont, bien qu'anonymes, traçables : il est donc possible de déterminer si deux signatures DAA ont été émises par la même personne ou par deux personnes distinctes. Dans le contexte du vote ou d'une pétition électronique, cette traçabilité permettrait de s'assurer qu'un électeur n'a voté qu'une seule fois ou que la pétition électronique a bien été signée par des pétitionnaires différents. Malheureusement on ne connait pas de solution pour lever l'anonymat d'une signature DAA et donc identifier un signataire. Cela pose des problèmes pour certaines applications, comme le 2 vote électronique, notamment dans les pays dans lesquels une liste d'émargement permettant d9dentifier les électeurs ayant voté doit être accessible à tous les électeurs. L'invention propose une solution de signature électronique qui ne présente pas les inconvénients des solutions mentionnées ci-dessus. 5 Objet et résumé de l'invention Ainsi, et selon un premier aspect, l'invention concerne un procédé de génération de clés pour un schéma de signatures anonymes, ce procédé comportant : 10 - une étape de calcul, par au moins une entité de révocation, d'une paire de clés de révocation comportant une clé publique et une clé privée, cette, clé privée pouvant être utilisée par cette entité de révocation pour révoquer l'anonymat d'une signature anonyme conforme audit schéma ; - une étape d'enregistrement, par une entité d'administration d'un groupe, d'au moins une entité membre auprès du groupe; 15 - une étape de calcul, à partir de la clé publique de la paire de clé de révocation, d'un générateur de trace, ledit générateur de trace étant destiné à être utilisé par chaque entité membre enregistrée dans le groupe pour générer une trace représentative de cette entité membre et invariante par rapport aux signatures anonymes générées par cette entité membre conformément au schéma ; - chaque entité membre étant configurée pour obtenir de façon aveugle une clé privée de groupe, 20 cette clé privée étant utilisée par cette entité membre pour générer des signatures anonymes conformes au schéma, ces signatures anonymes comportant la trace. Corrélativement, l'invention concerne un système de génération de clés pour un schéma de signatures anonymes, ce système comportant : - au moins une entité de révocation configurée pour calculer une paire de clés de révocation 25 comprenant une clé publique et une clé privée, cette clé privée pouvant être utilisée par l'entité de révocation pour révoquer l'anonymat d'une signature anonyme conforme audit schéma ; - une entité d'administration de groupe configurée pour enregistrer au moins une entité membre auprès dudit groupe; - l'entité de révocation étant configurée pour calculer, à partir d'une clé publique de la paire de clés 30 de révocation, un générateur de trace, ce générateur de trace étant destiné à être utilisé par chaque entité membre pour générer une trace représentative de cette entité membre, cette trace étant invariante par rapport aux signatures anonymes générées par cette entité membre conformément audit schéma ; - chaque entité membre étant configurée pour obtenir de façon aveugle une clé privée de groupe, 35 cette clé privée étant utilisée par l'entité membre pour générer des signatures anonymes conformes au schéma, ces signatures anonymes comportant la trace. Ainsi, et d'une façon générale, l'invention propose un procédé cryptographique de signatures anonymes dans lequel les signatures de groupe sont traçables. 3 De façon avantageuse, et contrairement aux attestations anonymes directes, l'anonymat d'une signature anonyme générée par les membres du groupe conformément au schéma peut être levé par les entités de révocation. Ce procédé cryptographique s'avère par ailleurs plus efficace, en particulier en termes de 5 temps de calcul, que les schémas d'attestations anonymes directes DAA ou de signatures de groupe de l'état de la technique. La sécurité de ce schéma de signatures anonymes s'appuie par ailleurs sur une hypothèse de sécurité dite « non-interactive » considérée comme plus « standard » par la communauté cryptographique qu'une hypothèse de sécurité dite « interactive » (par exemple faisant appel à un oracle) sur lesquelles s'appuient les schémas d'attestations anonymes directes les plus 10 efficaces de l'état de la technique. Un tel schéma de signatures anonymes offre ainsi une meilleure sécurité. Dans un mode particulier de réalisation, le procédé de génération de clés proposé comporte : - une étape de génération d'une paire de clés du schéma pour l'entité d'administration du groupe ; 15 - la clé publique de la paire de clé de révocation étant calculée à partir d'une clé publique de cette paire de clés. Dans un mode particulier de réalisation, le générateur de trace est renouvelé périodiquement. Dans un mode particulier de réalisation, le générateur de trace est spécifique à un service 20 donné. Le service correspond par exemple à un scrutin spécifique. En effet, de par ces fonctionnalités, le procédé de génération de clés proposé peut s'appliquer au vote électronique. Il offre en effet un schéma de signature : - anonyme ce qui permet d'assurer le secret du vote ; - traçable ce qui permet de s'assurer qu'un électeur ne vote pas deux fois ; 25 - dans lequel les anonymats des signatures sont révocables, permettant ainsi à des entités de révocation, en cas de recours par exemple, d'établir une liste d'émargement du scrutin. L'invention vise aussi un procédé de signature anonyme d'un message, ce procédé étant mis en oeuvre par une entité membre d'un groupe et comportant : - une étape d'enregistrement de ce membre auprès d'une entité d'administration du groupe ; 30 - une étape de génération d'une trace à partir d'un générateur de trace calculé par au moins une entité de révocation et compris dans une clé publique du groupe, cette trace étant invariante par rapport aux signatures anonymes générées par cette entité membre conformément au schéma ; - une étape d'obtention, de manière aveugle d'une clé privée de groupe ; - une étape de génération d'au moins une signature conformément à un schéma de signatures 35 anonymes en utilisant la clé privée de groupe, la signature comportant la trace. Corrélativement, l'invention vise un dispositif de signature anonyme d'un message mis en oeuvre par une entité membre d'un groupe et comportant : 4 - un module d'enregistrement de cette entité membre auprès d'une entité d'administration du groupe ; - un module de génération d'une trace à partir d'un générateur de trace calculé par au moins une entité de révocation et compris dans une clé publique du groupe, cette trace étant invariante par 5 rapport aux signatures anonymes générées par cette entité membre conformément au schéma ; - un module d'obtention, de manière aveugle, d'une clé privée de groupe ; - une étape de génération d'au moins une signature en utilisant cette clé privée de groupe, cette signature comportant la trace. Dans un mode particulier de réalisation, les différentes étapes du procédé de génération 10 de clés et du procédé de vote selon l'invention sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur, sur un support d'informations, ce programme comportant des instructions adaptées à la mise en oeuvre d'au moins un procédé tel que mentionné ci-dessus. 15 Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. 20 Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal 25 électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution 30 du procédé en question. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci- 35 dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : [Fig. 1] la figure 1 représente un système de génération de clés et un dispositif de signature anonyme conformes à un mode de réalisation de l'invention ; 5 [Fig. 2] la figure 2 représente sous forme d'organigramme les principales étapes d'un procédé de génération de clés conforme à l'invention ; [Fig. 3] la figure 3 représente sous forme d'organigramme les principales étapes d'un procédé de signature conforme à l'invention ; 5 [Fig. 4] la figure 4 représente sous forme d'organigramme les principales étapes d'un procédé de vérification d'une signature pouvant être utilisé dans l'invention ; [Fig. 5] la figure 5 représente, sous forme d'organigramme, les principales étapes d'un procédé de levée d'anonymat pouvant être utilisé dans l'invention ; [Fig. 6] la figure 6 représente un système de vote électronique conforme à un mode de réalisation de 10 l'invention ; [Fig. 7] la figure 7 représente sous forme d'organigramme les principales étapes d'un procédé de génération de clés dans le système de vote de la figure 6; [Fig. 8] la figure 8 représente sous forme d'organigramme les principales étapes d'un procédé de vote conforme à l'invention ; 15 [Fig. 9] la figure 9 représente sous forme d'organigramme les principales étapes d'un procédé de vérification d'une signature pouvant être utilisé dans le système de vote de la figure 6; [Fig. 10] la figure 10 représente, sous forme d'organigramme, les principales étapes d'un procédé de levée d'anonymat pouvant être utilisé dans le système de vote de la figure 6 ; [Fig. 11] la figure 11 représente l'architecture matérielle des dispositifs utilisés dans l'invention, dans 20 un mode particulier de réalisation. Description détaillée des modes de réalisation 25 Notations et hypothèses : Dans la suite de ce document, nous utiliserons la notation PoK(al, a2,..., an : 32(a1, a2,..., an)) pour désigner une preuve de connaissance à divulgation nulle de connaissance d'éléments ai, a' satisfaisant la relation 32. Ainsi une preuve de connaissance des deux facteurs premiers d'un module 30 RSA (du nom des inventeurs, « Rivest-Shamir-Adleman ») public N serait notée : PoK(a1, a2 : N al a2 A (a, 1)A (az 1) ). Dans la description à venir, - p est un nombre premier ; 35 - les groupes Gi, G2 et GT sont des groupes cycliques d'ordre p ; - g, h désignent deux générateurs, choisis aléatoirement, de G1; - if est un générateur, choisi aléatoirement, de G2; - e est un couplage bilinéaire de type 2 ou 3, défini sur l'ensemble G1 X G2 vers l'ensemble GT. 6 On rappelle qu'un couplage bilinéaire, noté e, est une application définie sur un ensemble G1 X G2 vers un ensemble GT où G1, G2 et GT désignent des groupes cycliques d'ordre p. Cette application e vérifie les propriétés suivantes : 5 - Bilinéarité v g, E G1, V g2 E G2 et v (a, b) E Z,' e(gi, &I) = e(g1, g2)ab. - Non dégénérée : Pour g, 1G, et g2 1G2, e(g1, g2) 1G.'., dans lequel 1G, et 1G2 désignent respectivement l'élément neutre des groupes G1, G2. - Calculable : V gi E G1, V g2 E G2, il existe un algorithme efficace pour calculer e(g1,g2). En pratique, les groupes G], 62 et G1 seront choisis de telle sorte qu'il n'existe pas d'isomorphisme 10 calculable efficacement entre G, et G2. De tels couplages sont connus sous le nom de couplages de « Type 3 » dans la littérature. En pratique, et pour un niveau de sécurité de 128 bits, les tailles recommandées des paramètres d'un couplage de « Type 3 » sont les suivantes : 256 bits pour le nombre premier p ainsi que pour les éléments de G1, 512 pour ceux de G2 et 3072 pour ceux de G1. La sécurité du schéma repose en partie sur l'hypothèse que les problèmes ci-dessous 15 sont difficiles. En d'autres termes, si un attaquant est en mesure de mettre en défaut la sécurité du schéma cryptographique, alors il est également à même de résoudre ces problèmes pourtant réputés « difficiles ». Problème DDH. Soit G un groupe cyclique d'ordre premier p. Étant donné un générateur g E G, deux éléments quelconques g', gb E G et un candidat X E G, le problème Diffie-Hellman 20 décisionnel (DDH) consiste à déterminer si X = gah ou non. Dans le cas des schémas fondés sur des couplages bilinéaires, des problèmes difficiles spécifiques existent. Pour les couplages utilisés dans l'invention, les inventeurs font l'hypothèse que le problème DDH est difficile dans les groupes G, et G2. Cette hypothèse est connue sous le nom d'hypothèse de Diffie-Hellman symétrique externe (SXDH). 25 Pour le procédé selon l'invention, il peut être démontré que si un tiers (ne disposant pas des clés des autorités de révocation) arrive à identifier le signataire de n'importe quelle signature anonyme alors c'est qu'il est également en mesure de résoudre le problème SXDH. Problème q-MSDH. Soit (p, G' G2, GT, e) un environnement bilinéaire de « Type 3 » et g (respectivement g) un générateur de G1 (respectivement de G2). Étant donné {(gx1,gl9 ainsi que =() 30 (g", g", gax) où a et x sont deux éléments quelconques de z;, le problème q-MSDH consiste à trouver 3 un quadruplet (w, P, hx-.),11P(>)) où h e G1, P est un polynôme de degré au maximum q et w un élement de Z,, tel que les polynômes P(X) et (X + (0) sont premiers entre eux. Il peut être démontré que si un tiers réussit à « forger » des signatures du schéma de signatures anonymes selon l'invention, alors c'est qu'il est également en mesure de résoudre le 35 problème q-MSDH. Dans le mode de réalisation décrit ici, l'invention met en oeuvre, au moins dans certains de ces aspects : 7 - une ou plusieurs entités &il d'administration d'un groupe ; - des autorités de révocation I.R,H=, avec (t 1) ; - des entités 14 membres du groupe. g désigne le groupe des n entités membres. La figure 1 représente un système SGC de génération de clés pour un schéma de 5 signatures anonymes SigA2 et une entité Vi membre d'un groupe g conformes à l'invention. Elle représente en outre un dispositif de vérification DV. L'entité membre V, comporte un module de communication COM et un dispositif DSA de signature anonyme conforme à l'invention. Le système SGC de génération de clés comporte une entité EA d'administration du 10 groupe, et des autorités de révocation I.R.If'.1 avec (t 1) . L'entité d'administration Eci/ du groupe comporte un module de communication COM, un module cryptographique MCR et un module d'enregistrement ERG configuré pour enregistrer au moins une entité membre V dans le groupe. A cet effet, le dispositif DSA de l'entité membre V comporte un module d'enregistrement 15 ERG configuré pour enregistrer l'entité membre V auprès de l'entité LA d'administration du groupe. Dans le mode de réalisation décrit ici, chaque entité de révocation 3t; comporte un module cryptographique MCR configuré pour calculer une paire de clés de révocation (4, P5), cette paire comprenant une clé publique P, et une clé privée 4 pouvant être utilisée par l'entité de révocation pour révoquer l'anonymat d'une signature anonyme conforme audit schéma SigA2. 20 Dans le mode de réalisation décrit ici, le module cryptographique MCR d'une entité de révocation R, est configuré pour calculer, à partir des clés privées 4 de la paire de clés de révocation, un générateur de trace P, = 41'1-14 où xi désigne un paramètre public produit par le système de génération de clés SGC. Dans le mode de réalisation décrit ici, le dispositif DSA de chaque entité membre V 25 comporte un module cryptographique MCR configuré pour générer une trace Ti = Pis' représentant l'entité membre V, en utilisant ce générateur de trace à partir de la clé privée de l'entité membre V. Cette trace T, est invariante par rapport aux signatures anonymes a, générées par l'entité membre conformément au schéma SigA2. Dans le mode de réalisation décrit ici, le module cryptographique MCR de chaque entité 30 membre V, est configuré pour obtenir, de manière aveugle, une clé privée SK,Ç de groupe. Dans le mode de réalisation décrit ici, le module cryptographique MCR de chaque entité membre V, est configuré pour générer des signatures a, de messages, en utilisant la clé privée de groupe, ces signatures comportant la trace Ti. Le dispositif de vérification DV est configuré pour vérifier si une signature anonyme a, est 35 conforme au schéma de signatures anonymes SigA2. Il met en oeuvre un algorithme de vérification qui prend en entrée un message rn.s.g, une signature ai et la clé publique du groupe PKG. Ii détermine si la signature a, est valide ou non. 8 Dans le mode de réalisation décrit ici, le dispositif de vérification DV comporte des moyens de communication COM et un module cryptographique MCR. Le module de communication COM du dispositif de vérification DV est configuré pour obtenir une signature anonyme a, telle que a, = (w, w', c,,T,Pfli i). 5 Le module cryptographique MCR du dispositif de vérification DV est configuré pour déterminer que la signature anonyme a, d'un message m.sg est valide si : - w # - T 161; - prvi est valide ; et 10 - e(w,20)- e(w', fi). Dans le mode de réalisation décrit ici, le module cryptographique MCR d'une entité de révocation Ri est configuré pour mettre en oeuvre le procédé de levée d'anonymat d'une signature décrit ultérieurement en référence à la figure 5. La figure 2 représente sous forme d'organigramme les principales étapes d'un procédé de 15 génération de clés du groupe conforme à l'invention. Au cours d'une étape E2, le module cryptographique MCR de l'entité d'administration £A tire aléatoirement trois valeurs,x-(ly-0, x-1 de Zr,. Au cours d'une étape E4, le module cryptographique MCR de l'entité d'administration SA calcule C = Feu , X, = hx^ ,5-(0 = fixo = . 20 Au cours d'une étape E6, le module cryptographique MCR de l'entité d'administration EA constitue une paire de clés dans laquelle : - la clé privée SKE,a est constituée des trois valeurs (x' qui ont été tirées aléatoirement ; et - la clé publique PICEA est constituée des éléments calculés à l'étape E4: PK4 = 25 (C , ,)170 ,2,). Au cours d'une étape E8, le module cryptographique MCR de l'entité d'administration EA génère une preuve Pri, à divulgation nulle de connaissance pour prouver qu'il connaît la clé privée associée à sa clé publique. PH2 = PoK(a' a2, : Ck = gniha2 A X1 = haz A Xa = A X1 = fi«, ). 30 Au cours d'une étape F2, le module cryptographique MCR de chacune des entités de révocation tire aléatoirement une valeur 42 de 4. Cette valeur aléatoire x.1; constitue une clé privée de l'entité de révocation .9Z, pour lever l'anonymat d'une signature. Au cours d'une étape F4, les modules cryptographiques MCR des entités de révocation Ri calculent tour à tour une clé publique Pi associée à cette clé privée .4. Plus précisément, dans le 35 mode de réalisation décrit ici : 9 l'entité de révocation R .2 calcule Pi = X14 et prouve qu'elle connaît la clé privée associée à sa clé publique, autrement dit le logarithme discret de P1 dans la base X1. l'entité de révocation R2 calcule Pz = P14 et prouve qu'elle connaît la clé privée associée à sa clé publique, autrement dit le logarithme discret de Pz dans la base Pl. 5 l'entité de révocation pour t 2, calcule Pi = Pi _14 et prouve qu'elle connaît la clé privée associée à sa clé publique, autrement dit le logarithme discret de Pi dans la base Pi-1. Au cours d'une étape F6, lorsque toutes les entités de révocation ont calculé leur clé publique p, le module cryptographique MCR de l'entité de révocation R1 constitue la clé publique du groupe P = X1, X', X1, 1, Pi). Elle comporte le générateur de trace P, = strt-1=14 obtenu à partir 10 des clés privées de chacune des entités de révocation 921. La clé privée associée à la clé publique de groupe est SK'; = (xo,r(0,x,,x' = Dans le mode de réalisation décrit ici, chaque entité membre V; possède un identifiant unique IDvi ainsi qu'une paire de clés privée, publique (SK1,PK,), d'un algorithme de signature numérique, la clé publique PK; ayant été certifiée par une entité de certification reconnue, par exemple par l'entité 15 d'administration E.A. Des exemples d'algorithmes de signature numérique pouvant être utilisés à cet effet sont : RSA, DSA, ECDSA,... Pour obtenir sa clé privée de groupe, l'entité membre V; interagit avec l'entité d'administration &A. Au cours d'une étape G2, le module cryptographique MCR de l'entité membre V, tire aléatoirement une valeur x; c zp et calcule C; = X. Il génère ensuite une preuve PII; à 20 divulgation nulle de connaissance qu'il connaît x; le logarithme discret de C, en base X, : Pn; = PoK(te, : C, = X`P). L'exemple d'une telle preuve est fourni dans le document Claus-Peter Schnorr, « Efficient Identification and Signature for Smart Cards », Theory and Application of Cryptology, Springer, 1989. Au cours d'une étape G4, le module cryptographique de I entité membre V, génère une 25 signature ai,. sur C; : avi = Sigus'i(EÉ) où SK; désigne la clé privée de V,. L'entité membre V;.transmet ensuite ces trois valeurs ci ,P111, avi, à l'entité d'administration EtA. Au cours d'une étape E10, le module cryptographique MCR de l'entité d'administration ail vérifie que C; * 1 et que la signature et que la preuve Pn; sont toutes les deux valides. Si c'est le cas, au cours d'une étape E12, le module cryptographique MCR de l'entité 30 d'administration &A génère deux valeurs aléatoires h et x' de Zo et calcule E = Xi" ainsi qu'une paire (u, u') où u = hb et u' = u'rotE, = uxe+(xi-'"')x,-. Il prouve que la paire (u, u') a été calculée de manière conforme et notamment à partir des clés privées x' et x, : PoK(cri, a,, as, a 4 : u hal A u' ucc2 (Ci )(if')"hA C', ha' A E 411 Au cours d'une étape E14, le module cryptographique MCR de l'entité d'administration Scil transmet 35 E, u, u' et la preuve Pria; à l'entité membre Vi. 10 Au cours d'une étape G6, le module cryptographique de l'entité membre 14 vérifie que u x 1 et que la preuve PR, est valide. Si ces deux vérifications sont concluantes, le module cryptographique de l'entité membre 14 génère, au cours d'une étape G7 une signature Sig,,, sur Ci et E Sigri= Signski(Ci,E), où SK désigne la clé privée de l'entité membre 5 Au cours d'une étape G75, l'entité membre 11 transmet la signature Sigv à l'entité d'administration KA. Au cours d'une étape E13, l'entité d'administration &il vérifie que la signature Sig, est valide, et si c'est le cas, transmet x' à l'entité membre 14. L'entité d'administration Edi maintient un registre REG contenant pour chaque entité 10 membre Vi du groupe les valeurs suivantes Ci, C'i = Ci - E = Ci - IL, 1D,, PKi et Sigvi : REG , 111,1k, PKi, Sigv, r où n désigne le nombre de membres dûment enregistrés. Au cours d'une étape G8, l'entité membre 14 vérifie que E = Xi' et constitue, si cette vérification est concluante sa clé privée de groupe Sn. Celle-ci est constituée par le triplet Sn = 15 (si,u, til) où si = xi + x'mod p. Dans un mode de réalisation particulier, le générateur de trace P, est renouvelé périodiquement (toutes les heures, tous les jours, en début de mois, etc.). Il suffit pour cela que les entités de révocation renouvellent leur clé privée 4 et recalculent selon le procédé de génération décrit précédemment le générateur de trace correspondant P,. 20 Dans un mode de réalisation particulier, le générateur de trace P, est spécifique à un service donné. Typiquement un générateur de trace Pr peut être généré pour une élection spécifique. Pour un nouveau scrutin, les entités de révocation doivent calculer de nouvelles clés privées pour en déduire un nouveau générateur de trace P',. La figure 3 représente sous forme d'organigramme, les principales étapes d'un procédé 25 de signature conforme à l'invention. Ce procédé de signature utilise le schéma de signatures anonymes SigA2. Ce schéma utilise un algorithme qui à partir d'un message msg, de la clé publique de groupe PKG et de la clé privée de groupe Sn d'une entité membre, produit une signature ai du message ntsg. Conformément au schéma de signatures anonymes SigA2, pour signer anonymement un message 30 quelconque msg E [0,1j- avec sa clé privée de groupe SK, , le module cryptographique MCR de l'entité membre tire aléatoirement, au cours d'une étape H2 une valeur i ELr, . Il calcule, à l'étape H4 la valeur w = u1 et à l'étape H6 la valeur w' Au cours d'une étape H8, le module cryptographique MCR de l'entité membre 11 calcule la valeur c, = wsi et la trace Ti = Pisi. Cette trace Ti calculée à partir du générateur de trace P, et de l'élément 35 si de la clé privée de groupe de l'entité membre l4 ne dépend pas du message msg. Autrement dit, la trace T constitue un invariant des signatures émises par l'entité membre 14. 11 L'entité membre Vi prouve que le logarithme discret de c, dans la base w est le même que le logarithme discret de T dans la base Pz : FU, = PoK(cti: c, = w") A = P[1). Dans le mode de réalisation de l'invention décrit ici, la preuve PT, est la paire (c,r) dans laquelle : - z est une valeur aléatoire de Zp tirée par l'entité membre V, ; 5 - = wz ; - T2 = Ptz; 7-C( Ti, T2, Pi, rnsg); - r z - es; mod p La preuve est valide si c ci, Ti', Pt, m) 10 Au cours d'une étape H10, le module cryptographique MCR de l'entité membre V génère la signature anonyme ai du message msg, celle-ci étant constituée des cinq éléments suivants : (w, w', c,, 111'1). Elle comporte la trace Ti qui permet de tracer toutes les signatures émises par l'entité membre La figure 4 représente sous forme d'organigramme les principales étapes d'un procédé de 15 vérification d'une signature anonyme pouvant être utilisé dans l'invention. Ce procédé est mis en oeuvre par le dispositif de vérification DV de la figure 1. Il met en oeuvre un algorithme de vérification qui prend en entrée un message msg, une signature a; et la clé publique du groupe PKG. Il détermine si la signature É; est valide ou non. Au cours d'une étape K2, le dispositif de vérification d'une signature anonyme obtient une 20 signature anonyme ai = (w, w', PH'; ). Au cours d'une étape K4, le dispositif de vérification considère que la signature anonyme a, d'un message msg est valide si : - w # 1Gi - # :1G1, 25 pu', est valide ; et - e(w, e(ci,X,) = e(w1,1i), La figure 5 représente sous forme d'organigramme les principales étapes d'un procédé de levée d'anonymat d'une signature valide a, = (w, w', IV, ) d'un message msg. Ce procédé ne peut être mis en oeuvre que par les entités de révocation Ri. Il utilise un algorithme qui prend en 30 entrée un message msg, une signature ai, la clé publique du groupe PKG et les clés privées xfp des autorités de révocation et retourne 11)1, l'identité d'un entité membre V, ainsi qu'une preuve que Vi est bien l'auteur de cette signature ai. Au cours d'une étape Z2, chacune des entités de révocation R] obtient la signature anonyme oi d'un message msg. 35 Au cours d'une étape Z4, les autorités de révocation {Ri}j_1 calculent successivement, Ti = Ti_.,4)-1 avec To = Ti. Autrement dit : 12 R1 calcule T, = T »el et prouve (PI11) que le logarithme discret de T, dans la base T, est égal au logarithme discret de X1 dans la base P1. - R2 calcule T, = T,(x;,)-1 et prouve (PII) que le logarithme discret de T2 dans la base T, est égal au logarithme discret de P1 dans la base P2. 5 - RJ, pour t j 2, calcule T = TJ._1(4)-3 et prouve (Pf1) que le logarithme discret de Ti dans la base TJ_, est égal au logarithme discret de PJ_, dans la base R. Il est rappelé ici qu'il peut n'y avoir qu'une seule entité de révocation. Si toutes les preuves produites par les autorités de révocation sont valides, 1 , ' Xy=Ci. 10 Au cours d'une étape Z6, les autorités de révocation transmettent i et l'ensemble des preuves [P17i,}1,, à l'entité d'administration EA. Au cours d'une étape Z8, l'entité d'administration &A retrouve dans son registre REG l'entrée correspondant à c', : fc1, x', IDA, P K Si g1,. Au cours d'une étape Z10, l'entité d'administration &ft fournit en retour à l'entité de 15 révocation :Ri demanderessede la levée d'anonymat, l'identifiant IDv1, les preuves f11411-_1 ainsi que CbCri,x', PK; et Sigvi. Si toutes les preuves {PUR},_' sont valides, que C'; = C; - Kt' et que la signature Sigv; est valide alors l'entité d'administration &A considère que l'entité membre V dont l'identifiant est ID3/4 est bien l'auteur de la signature a; du message msg. Lorsque le service est un vote électronique, il est alors possible de constituer une liste 20 d'émargement à partir des identifiants obtenus par la mise en oeuvre du procédé. Description d'un deuxième mode de réalisation de l'invention Le schéma de signatures anonymes Sig A, peut en particulier être utilisé pour mettre en 25 oeuvre une solution de vote électronique. La figure 6 représente un système de vote électronique SVE2 conforme à l'invention. Ce système comporte un système SGC de génération de clés pour un schéma de signatures anonymes SigA2 et une entité V, membre d'un groupe g conformes à l'invention. Il comporte en outre un dispositif de vérification DV. 30 Dans ce mode de réalisation, les entités membres de groupe V, sont des entités électeurs. Dans ce mode de réalisation, le système SGC de génération de clés comporte une entité d'enregistrement il et une entité organisateur D. Chacune fait à la fois office d'entité d'administration du groupe et d'entité de révocation du groupe. Il est bien entendu qu'il s'agit ici d'un exemple illustratif et que dans d'autres exemples la distribution des rôles attribuée aux différentes entités peut 35 être différente. L'entité d'enregistrement si et l'entité organisateur O comportent chacune un module de communication COM et un module cryptographique MCR. L'entité d'enregistrement del et l'entité 13 organisateur O comportent en outre chacune un module d'enregistrement ERG configuré pour enregistrer au moins une entité électeur Vi dans le groupe. Ainsi, dans ce mode de réalisation de l'invention, une entité électeur s'enregistre à la fois auprès de l'entité d'enregistrement Jl et auprès de l'entité organisateur O. Ce mode de réalisation 5 permet de répartir le rôle d'administrateur de groupe entre deux entités de sorte à éviter qu'une seule entité ne soit en mesure de créer de fausses entités électeurs. L'entité électeur i' comporte un module de communication COM et un dispositif DSA de signature anonyme conforme à l'invention. Le dispositif DSA de l'entité électeur V comporte un module d'enregistrement ERG 10 configuré pour enregistrer l'entité électeur V auprès de l'entité d'enregistrement il_ Dans le mode de réalisation décrit ici, le module cryptographique MCR de chaque entité de révocation O est configuré pour calculer une paire de clés de révocation dont la clé privée peut être utilisée pour révoquer l'anonymat d'une signature anonyme conforme audit schéma SigA2 et pour calculer, à partir d'une clé publique de la paire de clés de révocation, un générateur de trace. 15 Le dispositif DSA de chaque entité électeur V; comporte un module cryptographique MCR configuré pour générer une trace T, = Pis' en utilisant ce générateur de trace, cette trace T, étant invariante par rapport aux signatures anonymes ai générées par l'entité électeur conformément au schéma SigA2. Dans le mode de réalisation décrit ici, le module cryptographique MCR de chaque entité 20 électeur Vi est configuré pour obtenir, de manière aveugle, une clé privée 5/Cà de groupe, notée si par la suite. Dans le mode de réalisation décrit ici, le module cryptographique MCR de chaque entité électeur Vi est configuré pour générer des signatures ai de messages, en utilisant la clé privée de groupe, ces signatures comportant la trace Ti. 25 Le dispositif de vérification DV est configuré pour vérifier si une signature anonyme ai est conforme au schéma de signatures anonymes SigA2. Il met en oeuvre un algorithme de vérification qui prend en entrée un message msg, une signature a; et la clé publique du groupe PKG. II détermine si la signature ai est valide ou non. Dans le mode de réalisation décrit ici, le dispositif de vérification DV comporte des 30 moyens de communication COM et un module cryptographique MCR. Le module de communication COM est apte à obtenir une signature anonyme ai telle que ai = (w, w', ). Le module cryptographique MCR est configuré pour déterminer que la signature anonyme ai d'un message msg est valide si : 35 - w - Ti # 1Gi; - RU'i est valide ; et - e(w 20) - e(c-i'is'i) = e(w',h). 14 Dans le mode de réalisation décrit ici, le module cryptographique MCR d'une entité de révocation dl , O est configuré pour mettre en oeuvre le procédé de levée d'anonymat d'une signature décrit ultérieurement en référence à la figure 10. La figure 7 représente sous forme d'organigramme un procédé de génération des clés 5 des entités électeurs conforme à ce mode de réalisation de l'invention. Au cours d'une étape VE2, le module cryptographique MCR de l'entité organisateur O tire aléatoirement quatre valeurs 4, 4, de Z1, . Dans ce mode de réalisation, 4 est une clé privée utilisée par l'entité organisateur 0 pour lever l'anonymat d'une entité électeur. Au cours d'une étape VE4, le module cryptographique MCR de l'entité organisateur O 10 calcule C g4114, Xi = h"e2, gg = 17/8, -g? = 1714, Po . Au cours d'une étape VE6, le module cryptographique MCR de l'entité organisateur O constitue une paire de clés dans laquelle : - la clé privée SK0 est constituée des quatre valeurs (4, xg,g, xiii) qui ont été tirées aléatoirement ; et 15 - la clé publique PK0 est constituée des éléments calculés à l'étape VE4: PK0 = (Cu, XV))(i1,5 1. ,x1,P11;, ID;, PK; et Sigv, : REG = {C;, Crst, IDvi, PKi, Sigv r, où n désigne le nombre d'entités électeurs dûment enregistrées. Au cours d'une étape VG8, l'entité électeur 14 vérifie que E = X et constitue, si cette vérification est concluante sa clé privée de groupe SEL Celle-ci est constituée par le triplet SKiG = u') où s; = x; + x'mod p. 25 La figure 8 représente sous forme d'organigramme les principales étapes d'un procédé de vote conforme à ce mode de réalisation de l'invention. Conformément au schéma de signatures anonymes SigA2, pour signer anonymement un message quelconque rnsg e (0,1)' avec sa clé privée de groupe SEiG, le module cryptographique MCR de l'entité électeur V; tire aléatoirement, au cours d'une étape VH2 une valeur I E et calcule (étape VH4) la 30 valeur w = ut ainsi (étape VH6) que la valeur w' (ur)'. Dans le cas d'un scrutin uninominal majoritaire, le message peut être constitué par le vote de l'entité électeur, éventuellement sous forme chiffrée, le chiffrement pouvant être calculé en utilisant une clé publique dont la clé privée serait partagée entre plusieurs entités assesseurs configurées pour procéder au dépouillement du vote. 35 Au cours d'une étape VH8, le module cryptographique MCR de l'entité électeur V; calcule la valeur c, = w'i et la trace Ti = P». Cette trace Ti calculée à partir du générateur de trace P, et de 17 l'élément si de la clé privée de groupe de l'entité électeur ne dépend pas du message msg. Autrement dit, la trace TE constitue donc un invariant des signatures émises par l'entité électeur V. L'entité électeur V; prouve que le logarithme discret de r1 dans la base w est le même que le logarithme discret de TË dans la base P, : VEP111,= PoK(a1: c, = w'' A T = r). 5 Dans le mode de réalisation de l'invention décrit ici, la preuve vErnt, est la paire (c, r) dans laquelle : - z est une valeur aléatoire de Zf, tirée par l'entité électeur Vi ; T1= 4,2 ; 1.2 = Ptz; 10 - c= :71( 111, T2, Pt, msg); - r z - csi mod p La preuve est valide si c = :7-C(wr c;, Ptr R, m). Au cours d'une étape VH10, le module cryptographique MCR de l'entité électeur V1 génère la signature anonyme cri du message msg, celle-ci étant constituée des cinq éléments suivants : (w, 15 w', c,, Ti, VEPIl'i ). Elle comporte la trace Ti qui permet de tracer toutes les signatures émises par l'entité électeur La figure 9 représente sous forme d'organigramme les principales étapes d'un procédé de vérification d'une signature anonyme conformément à l'invention. Au cours d'une étape VK2, le dispositif de vérification d'une signature anonyme obtient 20 une signature anonyme (si = (w, w', Au cours d'une étape VK4, elle considère que la signature anonyme cri d'un message msg est valide si : - w # lci - P£ * 25 VE1)11', est valide ; et - e(w,Xg) e(c2,X1) e(wI La figure 10 représente sous forme d'organigramme les principales étapes d'un procédé de levée d'anonymat de la signature valide ai = (w, w', c1, Ti, [ri ) d'un message msg conformément à ce deuxième mode de réalisation de l'invention. Ce procédé est mis en oeuvre par l'entité 30 d'enregistrement JI et l'entité organisateur O. Au cours d'une étape VZ2, chacune de ces entités dl et (9 obtient la signature cri. Au cours d'une étape VZ4, les entités di et 0 calculent successivement, 7) = 7;_1(4) 1 avec To = T. - 0 calcule T1 = Ti(1)-1 et prouve (V0P111) que le logarithme discret de T1 dans la base T, est 35 égal au logarithme discret de X, dans la base P1. - .4 calcule T2 = 1 et prouve (VAPLID que le logarithme discret de T, dans la base T1 est égal au logarithme discret de P, dans la base P,. 18 Si toutes les preuves produites par les autorités de révocation sont valides, S . , T2 " = Xij = C';. Dans ce mode de réalisation, au cours d'une étape VZ6, l'entité organisateur 0 transmet la preuve VOMI% à l'entité d'enregistrement il. 5 Au cours d'une étape VZB, l'entité d'enregistrement eR retrouve dans son registre REG l'entrée correspondant à G,', : fci,C'i,x', Plli, [Di, PKi, Sigvi 1. Au cours d'une étape VZ10, l'entité d'enregistrement di retourne l'identifiant IDA, les preuves voprn, ainsi et VAPII, que C,,C1i,x1, PK, et Sigv,. Si toutes les preuves sont valides, que C'; = ci - )g et que la signature Sigv, est valide alors l'entité d'enregistrement considère que 10 l'entité électeur V, dont l'identifiant est IDA est bien l'auteur de la signature ai du message msg. Dans le mode de réalisation décrit ici, l'entité d'administration &A, les entités de révocation Ri, l'entité organisateur 0, l'entité d'enregistrement di, le dispositif de vérification DV les entités membres ou électeurs V, ont l'architecture matérielle d'un ordinateur ORD tel que représenté schématiquement à la figure 11. 15 L'ordinateur ORD comprend notamment un processeur 7, une mémoire morte 8, une mémoire vive 9, une mémoire non volatile 10 et des moyens de communication COM. Ces moyens de communication COM permettent aux différentes entités de communiquer entre eux notamment. Ils peuvent comprendre une ou plusieurs interfaces de communication sur un ou plusieurs réseaux de télécommunication (fixes ou mobiles, avec ou sans fil, etc.). 20 La mémoire morte 8 de l'ordinateur ORD constitue un support d'enregistrement conforme à l'invention, lisible par le processeur et sur lequel est enregistré un programme d'ordinateur conforme à l'invention, désigné de façon générale ici par PROG, comportant des instructions pour l'exécution de l'un des procédés objets de l'invention. Ainsi : pour l'entité d'administration &fi, le programme PROG est un programme PROG1 comportant des 25 instructions pour l'exécution des étapes E2 à E12 d'un procédé de génération de clé conforme à l'invention, et des étapes Z8 à Z10 d'un procédé de levée d'anonymat conforme à l'invention, pour les entités de révocation Ri, le programme PROG est un programme PROG1 comportant des instructions pour l'exécution des étapes F2 à F6 d'un procédé de génération de clé conforme à l'invention, et des étapes Z2 à Z6 d'un procédé de levée d'anonymat conforme à l'invention, 30 pour l'entité organisateur ci, le programme PROG est un programme PROG2 comportant des instructions pour l'exécution des étapes VE2 à VE12 d'un procédé de génération de clé conforme à l'invention et des étapes VZ2 à VZ6 d'un procédé de levée d'anonymat conforme à l'invention, pour l'entité d'enregistrement Ji, le programme PROG est un programme PROG3, comportant des instructions pour l'exécution des étapes VE2 à VE12 d'un procédé de génération de clé conforme 35 à l'invention et des étapes VZ2 à VZ10 d'un procédé de levée d'anonymat conforme à l'invention, 19 pour le dispositif de vérification DV, le programme PROG est un programme PROG4 comportant des instructions pour l'exécution des étapes K2 à K4 ou VK2 à VK4 d'un procédé de vérification de signature conforme à l'invention, pour les entités membres V, le programme PROG est un programme PROG5, comportant des 5 instructions pour l'exécution des étapes G2 à G8 ou VG2 à VG8 du procédé de génération de clé conforme à l'invention, des étapes I-12 à H10 ou VH2 à VH10 d'un procédé de signature conforme à l'invention. Chacun de ces programmes définit, de façon équivalente, des modules fonctionnels du dispositif ou du module sur lequel il est installé, aptes à mettre en oeuvre les étapes du procédé 10 concerné et s'appuyant sur les éléments matériels 7-10 de l'ordinateur ORD. 20