WO2005122466A1 - Abrege descriptif procede et systeme de signature de liste - Google Patents

Abrege descriptif procede et systeme de signature de liste Download PDF

Info

Publication number
WO2005122466A1
WO2005122466A1 PCT/FR2005/001248 FR2005001248W WO2005122466A1 WO 2005122466 A1 WO2005122466 A1 WO 2005122466A1 FR 2005001248 W FR2005001248 W FR 2005001248W WO 2005122466 A1 WO2005122466 A1 WO 2005122466A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
list
electronic
sequence number
generated
Prior art date
Application number
PCT/FR2005/001248
Other languages
English (en)
Other versions
WO2005122466B1 (fr
Inventor
Sébastien CANARD
Marc Girault
Jacques Traore
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Priority to CN2005800157789A priority Critical patent/CN1954546B/zh
Priority to JP2007517338A priority patent/JP4818264B2/ja
Priority to EP05773026A priority patent/EP1747639A1/fr
Priority to US11/596,548 priority patent/US8352380B2/en
Priority to KR1020067025556A priority patent/KR101192875B1/ko
Publication of WO2005122466A1 publication Critical patent/WO2005122466A1/fr
Publication of WO2005122466B1 publication Critical patent/WO2005122466B1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates to the field of electronic message signature using cryptographic techniques.
  • the electronic signature is a mechanism covered by so-called asymmetric or public key cryptography.
  • the signatory has a secret or private key and an associated public key. It produces the signature of a message by applying a cryptographic algorithm to it. using his secret key.
  • the verifier can verify the signature by applying the same cryptographic algorithm using the corresponding public key.
  • the general principle underlying the concept of group signature is to associate with each member of the group a separate solution to a common difficult problem, this solution being provided by a trusted authority empowered to each new member of the group when registering.
  • the member When registering, the member calculates a private signature key of his own and interacts with the trusted authority in order to obtain his own solution to this difficult problem.
  • the member and the trusted authority also calculate a member certificate which is strongly linked to the member's private key and possibly to the solution of the member's known problem.
  • the member To sign a message on behalf of the group, the member encrypts his certificate with the public encryption key of the trusted authority, and proves that he knows a group member's private key, a solution to the difficult problem and a member certificate associated with the clear text included in the code (proof of membership).
  • proof of membership We rely here on cryptography and more particularly on proofs of knowledge to obtain the desired properties of group signatures.
  • the verification of a group signature consists in verifying the proof of knowledge, the opening of the signature consisting simply in deciphering the certificate.
  • group signature a trusted authority can at any time lift the anonymity of the signatory, that is to say determine the identity of the person in the group who issued a signature.
  • this type of signature is said to be "unreliable”, that is to say that it does not make it possible to determine whether or not two signatures have been issued by the same person without lifting the anonymity of the signature. .
  • the concept of group signature is therefore unsuitable for electronic voting.
  • List signature is thus well suited to voting or electronic polling, since each voter can produce a signature list of his vote, which guarantees his anonymity, while allowing the detection of votes cast by the same person during '' the same election (sequence) given.
  • List signature is also well suited to access tickets such as transport tickets or cinema tickets, because the user can produce a list signature which guarantees his anonymity for any access to which he is entitled. by allowing the number of signatures already issued during a given sequence to be determined, so as to allow it access to the service a number of times corresponding to the amount paid.
  • some list signatures are said to be "working", that is to say that a trusted authority can determine the identity of the signatory from a signature.
  • each member of a list calculates, when subscribing to the list, a private key and obtains from a trusted authority a certificate of member of the list, as well as a solution to a difficult problem.
  • the concept of list signature does not allow the lifting of anonymity, it does not include encryption when producing a signature.
  • the trusted authority At the start of a given sequence, the trusted authority generates a sequence representative valid only for the duration of the sequence.
  • a member of the list provides, as in the group signature, proof that he knows a private key, a solution to the difficult problem and a list member certificate. It also calculates a power of the representative of the sequence whose exponent is the private key. For a given sequence, it is possible to link two signatures produced by the same member of the list, since the representative of the sequence and the private key are fixed for this sequence. We can therefore count the number of signatures issued by each member of the list during the same sequence.
  • the present invention aims to eliminate these drawbacks.
  • This objective is achieved by providing a method for generating a list signature relating to a message to be signed, comprising steps executed by an electronic hardware support of a member of a list, during which the hardware support electronic generates an electronic signature from the message to be signed, and issues the generated signature.
  • the electronic signature is generated solely as a function of the message to be signed, of a sequence number supplied by a trusted authority to the electronic medium, of proof of membership in the list of members, of data specific to electronic material support, and optionally a key from an authority empowered to lift the anonymity of the generated signature.
  • the electronic hardware support generates a pseudo-random number as a function of the sequence number used for generating the electronic signature, the pseudo-random number generated varying only as a function of the sequence and data number specific to electronic material support.
  • the generation of the pseudo-random number is carried out using an encryption function using a secret key stored by the electronic hardware medium and specific to it.
  • the pseudo-random number generated from the sequence number is transmitted with the generated electronic signature.
  • the proof of membership of the list of members is constituted by the knowledge of a secret key common to the members of the list.
  • the electronic hardware support encryption by an encryption algorithm using the key of the authority empowered to lift the anonymity of the generated signature, an identification code stored by the electronic medium, identifying the member having the electronic medium, for obtain an encrypted identifier which is used for the generation of the electronic signature.
  • a pseudo-random number generated from the sequence number is used for the encryption of the member identification code.
  • the encrypted identifier is issued with the electronic signature generated.
  • the electronic hardware medium receives the sequence number associated with a signature of the sequence number, from a trusted authority, verifies the signature of the sequence number, and refuses to generate a new signature if the signature associated with the sequence number is not correct.
  • the electronic material support generates a signature if the number of previously issued signatures is less than or equal to a maximum number of authorized signatures.
  • the maximum number of signatures transmitted is initialized when a sequence number is changed.
  • the invention also relates to an electronic voting method comprising an election organization phase, during which an organizing authority generates the parameters necessary for an election, and allocates keys to tellers enabling them to decipher and verify ballot papers, a phase of granting a signature right to each of the electors, a voting phase during which the electors sign a ballot, and a counting phase during which the tellers verify the ballot papers, and calculate the result of the ballot according to the content of the deciphered and valid ballot papers.
  • the method implements a list signing method in accordance with that defined above, to sign the ballot papers, each voter being registered as a member of a list, a sequence number is generated for the ballot, the maximum number of signatures authorized being equal to 1.
  • the invention also relates to an electronic material support comprising means for implementing the method defined above.
  • the electronic hardware support is in the form of a cryptographic microprocessor card.
  • FIG. 1 represents a system allowing the implementation of the list signing and electronic voting methods, according to the invention
  • FIG. 2 schematically represents the functional elements of a smart card that can be used to generate list signatures in accordance with the method according to the invention
  • Figure 3 shows in the form of a flowchart a list signing procedure according to the invention, which is not openable and executable by the smart card illustrated in Figure 2;
  • FIGS 4 and 5 show in the form of flowcharts list signing procedures according to the invention, which are open and executable by the smart card illustrated in Figure 2;
  • FIG. 6 illustrates in the form of flowcharts another variant of list signing procedures according to the invention, which can be executed by the smart card illustrated in FIG. 2;
  • Figures 7 to 9 illustrate in the form of flowcharts an application of the list signing method according to the invention to electronic voting.
  • the present invention provides a list signing process in which all authorized persons, that is to say belonging to the list, can produce a signature which is anonymous, and whose validity can be verified by anyone without have access to the identity of the member of the list who issued the signature.
  • This system comprises terminals 2 made available to users and connected to a network 5 for transmitting digital data, such as the Internet network.
  • Each terminal 2 is advantageously connected to a reading device 8 of an electronic material support such as a smart card 7.
  • the users can connect to a server 6 giving access to information for example stored in a database 4.
  • This system also includes a computer 1 of a trusted authority which in particular delivers smart cards 7 to users.
  • the system according to the invention is also based on the establishment of a group signature, as described for example in the aforementioned patent application FR 2 834 403, but nevertheless using a symmetrical or asymmetrical encryption algorithm.
  • the trusted authority responsible for the group generates all the keys and parameters necessary for the implementation of the group signature chosen, and places all the public elements of these elements in a directory (for example database 4).
  • each member has received from the trusted authority a smart card 7 presenting for example the functional architecture represented in FIG. 2.
  • This architecture comprises:
  • a microprocessor 11 ensuring the management of internal functions and the execution of application programs stored in a memory of the card, and which may include a cryptographic processor optimized to perform cryptographic calculations; memories 12 comprising a random access memory 14 accessible in reading and writing, allowing the recording by the processor 11 of ephemeral data, for example the intermediate results of the cryptographic calculations, a non-volatile memory 13, for example of the type reprogrammable (EEPROM) and allowing the storage of long-term data after the manufacture of the card, such as personalization data and application programs, a non-volatile memory 15 of the ROM type programmed with immutable data during the manufacture of the smart card and allowing the storage in particular of the internal management program of the smart card and possibly of encryption data; - A communication interface 16 by which the card exchanges data with an appropriate smart card reader 8, and - an internal bus 17 making it possible to connect the aforementioned elements to one another.
  • memories 12 comprising a random access memory 14 accessible in reading and writing, allowing the recording by the processor 11 of
  • the smart card 7 is preferably secure to prevent access from the outside to certain data stored in particular in the ROM memory 15.
  • the memories 12 of the card contain means for producing a group signature using a signature algorithm, an identifier Idj of the member i, a secret key for signing the list SK L which is common to all the members of the list, a secret key SKi known only to the smart card and specific to it, as well as means for generating a pseudo-random number.
  • a symmetric or asymmetric encryption algorithm takes as input the message to be encrypted, and possibly a pseudo random number, for example the pseudo random number R i5 which is different each time the algorithm is executed, so as to produce different ciphers of the same message. every time it is executed. On the other hand, if the pseudo-random number is not modified, the cipher obtained for the same message is always the same.
  • the trusted authority also manages successive sequences of predetermined durations, for each of which, it randomly generates a unique REPSEQ sequence number which must be different from all the previously generated sequence numbers, and common to all the members of the list. . This number is also preferably signed by the trusted authority.
  • the sequence number is for example obtained from a randomly generated element for which the trusted authority calculates a digest using a hash function, for example the SHA-1 function, and formats the result for example by applying the OS2IP function of the PKCS # 1 standard, v2.1.
  • a hash function for example the SHA-1 function
  • a member of the list uses the smart card 7 which has been given to him by the trusted authority, which receives as input the message M to be signed and the sequence number REPSEQ, via a terminal 2 and a smart card reader 8.
  • the smart card then performs the list signing procedure as illustrated. in FIG. 3, this procedure consisting in generating a pseudo random number Ri depending on the smart card, using a pseudo random number generation function PRNG, receiving as input the valid sequence number REPSEQ , this input data serving as a "seed" for the pseudo-random generation function.
  • the function is chosen so that two different cards of members of the list necessarily produce two different pseudo-random numbers from the same sequence number REPSEQ.
  • the PRNG function is a generic function for all the smart cards delivered to the members of the list and also receives as seed the secret key SK; specific to the smart card 7.
  • the list signing procedure executed by the smart card then includes the execution of a group signing algorithm.
  • This algorithm consists for example in concatenating the message M to be signed with the pseudo-random number R ; obtained and applying a conventional signature function Sign to the value obtained using the secret list signing key SK L stored by the smart card.
  • the signature S which is delivered at the output by the smart card comprises the pseudo-random number R, concatenated with the signature value Si provided by the signature function Sign:
  • Ri PRNG (SK ⁇ , REPSEQ) (1)
  • Si Sign (SK L , Ri
  • the PRNG function is for example performed by a conventional encryption function, for example of the AES (Advanced Encryption Standard) type or else by a modular exponentiation which raises the REPSEQ sequence number to the power SK; modulo n.
  • AES Advanced Encryption Standard
  • the Sign function chosen is for example of the RSA (Rivest, Shamir, and Adleman) type consisting of a transformation of the value Rj
  • M is for example the function OS2LP for converting a character string into a positive integer, provided for in the standard PKCS # 1, v2.1.
  • the verification of the signature also includes a verification that the value R; associated with the signature S; corresponds to the value R ; associated with message M in the signature.
  • the procedure which has just been described generates a so-called non-opening signature, that is to say it is impossible even for an authority having the necessary rights to lift the anonymity of the signature of list S obtained. If the signature is to be openable, the smart card 7 performs the procedure for signature of list illustrated in FIG. 4.
  • this procedure includes the application of an encryption function Enc to the element Idi making it possible to identify the member i of the list having the card, this element consisting of an identifier or part of a certificate issued by a competent authority which knows the link between this part of the certificate and the real identity of the member.
  • This encryption uses a public encryption key PK M o which is linked to a private decryption key SK M o belonging to the authority empowered to lift the anonymity of a signature issued by a member of the list.
  • the encryption of the Idi identifier can be symmetrical or asymmetrical. If this encryption is asymmetrical, the card stores the public key PK MO . If this encryption is symmetrical, the card securely stores a secret key SK M o known only to the authority empowered to lift the anonymity of the signatures issued by the members of the list.
  • the PRNG function can also consist of a conventional encryption function, for example of the AES type.
  • the encryption function Enc consists, for example, of a conventional encryption function, for example of the AES or RSA type receiving as input, the key PK M0 and the identifier Id; of member i of the list, and possibly the pseudo-random number R ;.
  • the Sign signature function consists, for example, in converting the value Ri
  • This algorithm therefore only includes a pseudo-random number calculation and two encryption calculations which can each consist of a simple modular exponentiation.
  • the trusted authority wishes to lift the anonymity of the signature, it suffices to apply the decryption function corresponding to the encryption function Enc to the value Ci using the key SK M o- This operation allows it to obtain an identifier which it can then search in its directory (database 4) to find the identity of the signatory member of the list.
  • An additional security consists in dividing the trusted authority into two distinct entities.
  • the first authority only has the private key SK L and has no knowledge of the identifiers Id ; members of the list: it is the authority of the list which intervenes when registering a new member to the list.
  • the second authority only has the SK MO key as well as all the identifiers of the members of the list: it is the opening authority which alone is empowered to lift the anonymity of a signature.
  • the second authority can also be divided into several entities having only a respective part of the opening key SK M o in order to be able to decrypt only part of an identifier Id i5 and an authority establishing the connection between an identifier and the identity of the corresponding person.
  • a variant raising the security level consists in assigning a respective key SK M0 i to each identifier Id; and to encrypt only the pseudo-random number R; which is used to make encryption probabilistic.
  • the lifting of the anonymity of a signature then consists in testing all the encryption keys SK M0 i until obtaining an identifier Idj appearing in the directory.
  • FIG. 5 illustrates another openable variant of the list signing method according to the invention.
  • the procedure illustrated in this figure differs from that illustrated in Figure 4 simply by the fact that the pseudo-random number R; obtained by the PRNG function is used to make the encryption function applied to the identifier Idi of the member of the list having the smart card 7 probabilistic, the result C of this encryption being concatenated to the message M to be signed and to the signature S generated.
  • the signature provided by the smart card contains the signature S produced, concatenated with the encryption value Cj.
  • the value Q associated with the signature S remains invariant for the same member of the list and the same sequence number. It therefore makes it possible to determine whether two signatures are issued by the same member of the list.
  • To lift the anonymity of the signature it suffices to apply to the value Ci the decryption function corresponding to the encryption function Enc, using the secret key SK M o corresponding to the key PK M o-
  • the encryption function Enc can be symmetrical or asymmetrical.
  • a single secret key SK M o is used which is memorized by the smart cards of the members of the list and known only to the authority empowered to open signatures.
  • the number of signatures capable of being issued by the smart card can be fixed.
  • the smart card then comprises means for transmitting an error message during the procedure for transmitting a signature when the number of signatures already issued exceeds a predetermined number.
  • the smart card 7 executes the signature generation procedure 40 illustrated in FIG. 7.
  • the number of signatures liable to be issued by the smart card is fixed.
  • the smart card then comprises means for transmitting an error message during the procedure for transmitting a signature when the number of signatures already issued exceeds a predetermined number.
  • the smart card 7 receives the message M to be signed and a sequence number REPSEQ, and checks the validity of the latter, for example using a generated signature by the trusted authority which is transmitted with the sequence number. This verification is carried out with a public key PK A of the trusted authority, stored by the smart card. If the signature associated with the sequence number is not valid, the smart card emits an error message (step 49) and the procedure ends. without any signature being generated by the card.
  • the smart card goes to the next step 42 where it compares the sequence number received with a sequence number previously stored in the non-volatile memory 13, and if this number has not been previously stored , it stores it in step 43.
  • the maximum number of NBSIG signatures that can be issued is stored once and for all in the non-volatile memory 13 of the card, this number possibly depending on the type of card.
  • this number possibly depending on the type of card.
  • the maximum number of signatures capable of being transmitted is transmitted with the sequence number and included in the signature which is verified by the smart card in step 41.
  • the signature generated by the the trusted authority received by the smart card can relate to the sequence number concatenated with the number of authorized signatures and the current date: (REPSEQ
  • the smart card performs an additional step 44 of initialization of a counter CPT with the number received of authorized signatures NBSIG at each change of sequence number.
  • step 45 which is executed in the two variants described above and if the stored sequence number is identical to the received sequence number (step 42), the number of signatures capable of being generated NBSIG is decremented in the non-volatile memory 13. If the number obtained is strictly negative (step 46), the smart card emits an error message (step 49). Otherwise, the smart card calculates in step 47 a signature Si of the message M in accordance with one of the list signing methods described above and issues the generated signature Si (step 48).
  • the card can also manage a different counter by sequence number. Each time the card receives a new sequence number and, if necessary, a maximum number of NBSIG signatures (if this can be different for each sequence number), it initializes a CPT counter which is stored in a table in association with the sequence number. When the card receives a sequence number with a message to sign, it searches in this table if the received sequence number is stored there, and if this is the case, it updates the associated counter to take account of the new signature generated.
  • the list signing process which has just been described can be applied to an electronic voting process.
  • the electronic voting method according to the invention comprises several phases including the execution of the procedures for the list signing method described above.
  • This process involves the intervention of a trusted authority organizing the elections, which for this purpose performs a procedure 50 for organizing the ballot.
  • This procedure consists in generating the data necessary for the smooth running of the elections, a public database accessible to all in which the ballot papers are collected.
  • scrutineers are also appointed who will count the votes and determine the result of the election.
  • the organizing authority first of all generates the various parameters necessary for setting up a list signature. Voters must then register beforehand, for example in a town hall, on an electoral list so as to receive a smart card 7 as described above, containing all the necessary data, namely an identifier Id ; from member i, a secret list signing key SK L which is common to all the members of the list, and a secret key SK; known only to and specific to the smart card. Using these parameters, voters can participate in all future elections.
  • step 51 of procedure 50 the organizing authority also publishes a sequence number m necessary for setting up a new list signing sequence, so as to prevent voters from voting (signing) twice. in this election.
  • scrutineers responsible for counting the ballots will create 52 the necessary public / private key pairs, so that they must all cooperate in order to be able to decrypt an encrypted message with the public key.
  • the cryptographic system put in place is chosen so as to allow a voter to encrypt a message (ballot) using at least one public key, while requiring the cooperation of all tellers to use the corresponding private key (s), and thus decrypt the message.
  • the sharing of the private decryption key between all of the tellers can be done as follows.
  • An analogous result can be achieved by encrypting using all of the respective public keys of the tellers. Decryption requiring knowledge of all corresponding private keys.
  • each voter issues a ballot by executing a procedure 60 on a terminal.
  • the voter selects his vote Vi and encrypts it using the key public scrutineers to obtain an encrypted vote Dj. Then he signs the encrypted vote using the list signing process to obtain a signature Sj.
  • the ballot made up of all (Dj, S;) of the vote and the signature, is then published anonymously in a public database 4.
  • the voter E j has thus generated his ballot (D j , S j ) which he sends 64 to the public database 4 by means of an anonymous transmission channel, that is to say that is to say prohibiting to link a message transmitted to the transmitter of this one.
  • the voter can use a public terminal or a network of mixers for this purpose.
  • the tellers carry out the counting of the votes by executing the procedure 70 on the terminal 3.
  • This procedure consists first of all in generating 71 the private decryption key X from their respective private keys x; and using formula (3). Then, in step 72, they access the public database 4 of the ballot papers to obtain the ballot papers (D ;, Si) and to decipher them.
  • the votes V j thus deciphered and verified, with the result of the corresponding verification, are entered 77 into the database 4 of the ballot papers, in association with the ballot paper (D j , S j ).
  • the private decryption key X is also published to allow everyone to check the counting of the ballots.
  • this procedure 70 calculates in step 78 the result of the election and updates the public database of ballots by entering this result, and possibly the key private decryption X.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Pour générer une signature de liste portant sur un message à signer (M), ce procédé comprend des étapes exécutées par un support matériel électronique (7) d'un membre d'une liste, au cours desquelles le support matériel électronique génère une signature électronique (Si) uniquement en fonction d'un numéro de séquence (REPSEQ) fourni par une autorité de confiance au support matériel électronique, d'une preuve d'appartenance (SKL) à la liste de membres, de données (Idi, SKi) propres au support matériel électronique, et optionnellement d'une clé d'une autorité habilitée à lever l'anonymat de la signature générée.

Description

PROCEDE ET SYSTEME DE SIGNATURE DE LISTE.
La présente invention concerne le domaine de la signature électronique de message faisant appel à des techniques de cryptographie.
Elle s'applique notamment, mais non exclusivement aux services électroniques de vote, de sondage, d'appels d'offres ou à toute forme de concours anonyme. Elle s'applique également au contrôle d'accès à des services payants tels que des services de transport, ou de cinéma à l'aide d'un titre d'accès, permettant à l'utilisateur d'accéder au service un nombre limité de fois. Dès que le nombre d'accès a atteint une valeur limite, il ne doit plus pouvoir utiliser son titre. Dans ce type d'applications, il n'est pas nécessaire de connaître l'identité de l'utilisateur. Il suffit de pouvoir prouver lors d'un accès qu'il en possède le droit.
La signature électronique est un mécanisme relevant de la cryptographie dite asymétrique ou à clé publique. Dans ce mécanisme, le signataire possède une clé secrète ou privée et une clé publique associée. Il produit la signature d'un message en lui appliquant un algorithme cryptographiquè . utilisant sa clé secrète. Le vérificateur peut vérifier la signature en lui appliquant le même algorithme cryptographique utilisant la clé publique correspondante.
On a également proposé le concept de signature de groupe qui permet à chaque membre d'un groupe de produire une signature telle qu'un vérificateur possédant une clé publique adéquate peut vérifier que la signature a été émise par un membre du groupe sans pouvoir déterminer l'identité du signataire. Ce concept est par exemple décrit dans les documents :
[1] "A Practical and Provably Secure Coalition-Résistant Group Signature Scheme" de G. Ateniese, J Camenisch, M. Joye et G. Tsudik, in M. Bellare, Editer, Advance in Cryptology - CRYPTO 2000, vol. 1880 of LNCS, p. 255-270, Springer-Verlag 2000 ;
[2] "Efficient Group Signature Scheme for Large Groups", J. Camenisch, M. Stadler, In B. Kaliski, Editors, Advances in Cryptology - EUR.OCRYPT'97, Vol. 1294 of LNCS, pages 410-424, Springler-Verlag, 1997.
Le principe général à la base du concept de signature de groupe est d'associer à chaque membre du groupe une solution distincte à un problème difficile commun, cette solution étant fournie par une autorité de confiance habilitée à chaque nouveau membre du groupe lors de son inscription. Lors de son inscription, le membre calcule une clé privée de signature qui lui est propre et interagit avec l'autorité de confiance afin d'obtenir sa propre solution à ce problème difficile. Le membre et l'autorité de confiance calculent également un certificat de membre qui est fortement lié à la clé privée du membre et éventuellement à la solution du problème connue du membre. Pour signer un message au nom du groupe, le membre chiffre son certificat avec la clé publique de chiffrement de l'autorité de confiance, et fait la preuve qu'il connaît une clé privée de membre du groupe, une solution au problème difficile et un certificat de membre associé au texte clair inclus dans le chiffré (preuve de l'appartenance au groupe). On se base ici sur la cryptographie et plus particulièrement sur les preuves de connaissance pour obtenir les propriétés voulues des signatures de groupe. La vérification d'une signature de groupe consiste à vérifier la preuve de la connaissance, l'ouverture de la signature consistant simplement à déchiffrer le certificat.
Cependant, dans ce concept de signature de groupe, une autorité de confiance peut lever à tout moment l'anonymat du signataire, c'est-à-dire déterminer l'identité de la personne du groupe ayant émis une signature. En outre, ce type de signature est dit "non reliable", c'est-à-dire qu'il ne permet pas de déterminer si oui ou non deux signatures ont été émises par la même personne sans lever l'anonymat de la signature. Le concept de signature de groupe est donc peu adapté au vote électronique.
Il existe également ce que l'on appelle les signatures électroniques de liste permettant aux membres d'une liste de produire une signature telle qu'un vérificateur peut reconnaître que la signature a été produite par un membre de la liste, sans pouvoir déterminer l'identité du membre. Conformément au concept de signature de liste, qui est par exemple décrit dans la demande de brevet FR 2 842 680 déposée par la Demanderesse, le temps est divisé en séquences repérées par un représentant de séquence ayant une durée de validité prédéfinie. Lors d'une séquence, chaque membre de la liste est autorisé à produire des signatures à partir desquelles il est possible pour un vérificateur de déterminer si oui ou non deux signatures ont été émises par le même membre de la liste, sans pouvoir accéder à l'identité du signataire. Ainsi, si un membre de la liste produit deux signatures au cours de la même séquence, il est possible de le détecter sans pouvoir déterminer l'identité du signataire.
La signature de liste est ainsi bien adaptée au vote ou au sondage électronique, du fait que chaque votant peut produire une signature de liste de son vote, qui garantit son anonymat, tout en permettant la détection des votes émis par la même personne au cours d'une même élection (séquence) donnée. La signature de liste est également bien adaptée aux titres d'accès tels que les titres de transport ou tickets de cinéma, du fait que l'utilisateur peut produire à chaque accès auquel il a droit, une signature de liste qui garantit son anonymat, tout en permettant la détermination du nombre de signatures déjà émises au cours d'une séquence donnée, de manière à lui autoriser l'accès au service un nombre de fois correspondant au montant payé. Cependant, certaines signatures de liste sont dites "ouvrables", c'est-à-dire qu'une autorité de confiance peut déterminer l'identité du signataire à partir d'une signature.
Plus précisément, chaque membre d'une liste calcule, lors de son inscription dans la liste, une clé privée et obtient d'une autorité de confiance un certificat de membre de la liste, ainsi qu'une solution à un problème difficile. Le concept de signature de liste ne permettant pas la levée de l'anonymat, il ne comporte pas de chiffrement au moment de la production d'une signature. Au début d'une séquence donnée, l'autorité de confiance génère un représentant de séquence valable uniquement pour la durée de la séquence. Lors de la production d'une signature, un membre de la liste fournit, comme dans la signature de groupe, la preuve qu'il connaît une clé privée, une solution au problème difficile et un certificat de membre de la liste. Il calcule également une puissance du représentant de la séquence dont l'exposant est la clé privée. Pour une séquence donnée, il est possible de relier deux signatures produites par un même membre de la liste, puisque le représentant de la séquence et la clé privée sont fixés pour cette séquence. On peut donc ainsi comptabiliser le nombre de signatures émises par chacun des membres de la liste pendant une même séquence.
L'inconvénient majeur de tous ces concepts provient du fait qu'ils nécessitent des calculs importants. En effet, à chaque signature générée, il est nécessaire de produire des preuves de connaissance qui en pratique mettent en œuvre, notamment pour générer des nombres aléatoires, de nombreuses exponentiations modulaires, très coûteuses en temps de calcul : une carte à puce équipée d'un processeur cryptographique prend environ 1 seconde par exponentiation modulaire. Une solution à ce problème de coût en temps de calcul a été proposée pour les signatures de groupe dans la demande de brevet FR 2 834 403 déposée par la Demanderesse. Cette solution qui consiste à mettre en œuvre une carte à puce (processeur cryptographique) présente l'inconvénient des signatures de groupe, à savoir qu'il n'est pas possible de relier les signatures émises par un membre donné sans lever l'anonymat de la signature.
La présente invention a pour but de supprimer ces inconvénients. Cet objectif est atteint par la prévision d'un procédé de génération d'une signature de liste portant sur un message à signer, comprenant des étapes exécutées par un support matériel électronique d'un membre d'une liste, au cours desquelles le support matériel électronique génère une signature électronique à partir du message à signer, et émet la signature générée. Selon l'invention, la signature électronique est générée uniquement en fonction du message à signer, d'un numéro de séquence fourni par une autorité de confiance au support matériel électronique, d'une preuve d'appartenance à la liste de membres, de données propres au support matériel électronique, et optionnellement d'une clé d'une autorité habilitée à lever l'anonymat de la signature générée.
Selon un mode de réalisation de l'invention, le support matériel électronique génère en fonction du numéro de séquence un nombre pseudo aléatoire utilisé pour la génération de la signature électronique, le nombre pseudo aléatoire généré variant uniquement en fonction du numéro de séquence et de données propres au support matériel électronique.
Selon un mode de réalisation de l'invention, la génération du nombre pseudo aléatoire est effectuée à l'aide d'une fonction de chiffrement utilisant une clé secrète mémorisée par le support matériel électronique et spécifique de celui-ci.
Selon un mode de réalisation de l'invention, le nombre pseudo aléatoire généré à partir du numéro de séquence est émis avec la signature électronique générée.
Selon un mode de réalisation de l'invention, la preuve d'appartenance à la liste de membres est constituée par la connaissance d'une clé secrète commune aux membres de la liste.
Selon un mode de réalisation de l'invention, le support matériel électronique chiffre par un algorithme de chiffrement à l'aide de la clé de l'autorité habilitée à lever l'anonymat de la signature générée, un code d'identification stocké par le support matériel électronique, identifiant le membre possédant le support matériel électronique, pour obtenir un identifiant chiffré qui est utilisé pour la génération de la signature électronique.
Selon un mode de réalisation de l'invention, un nombre pseudo aléatoire généré à partir du numéro de séquence est utilisé pour le chiffrement du code d'identification de membre.
De préférence, l'identifiant chiffré est émis avec la signature électronique générée.
Selon un mode de réalisation de l'invention, le support matériel électronique reçoit le numéro de séquence associé à une signature du numéro de séquence, de la part d'une autorité de confiance, vérifie la signature du numéro de séquence, et refuse de générer une nouvelle signature si la signature associée au numéro de séquence n'est pas correcte.
Selon un mode de réalisation de l'invention, le support matériel électronique génère une signature si le nombre de signatures préalablement émises est inférieur ou égal à un nombre maximum de signatures autorisées.
Selon un mode de réalisation de l'invention, le nombre maximum de signatures émises est initialisé lors d'un changement de numéro de séquence.
L'invention concerne également un procédé de vote électronique comprenant une phase d'organisation d'élections, au cours de laquelle une autorité organisatrice procède à la génération de paramètres nécessaires à un scrutin, et attribue à des scrutateurs des clés leur permettant de déchiffrer et vérifier des bulletins de vote, une phase d'attribution d'un droit de signature à chacun des électeurs, une phase de vote au cours de laquelle les électeurs signent un bulletin de vote, et une phase de dépouillement au cours de laquelle les scrutateurs vérifient les bulletins de vote, et calculent le résultat du scrutin en fonction du contenu des bulletins de vote déchiffrés et valides.
Selon l'invention, le procédé met en œuvre un procédé de signature de liste conforme à celui défini ci-avant, pour signer les bulletins de vote, chaque électeur étant enregistré comme membre d'une liste, un numéro de séquence étant généré pour le scrutin, le nombre maximum de signatures autorisées étant égal à 1.
L'invention concerne également un support matériel électronique comprenant des moyens pour mettre en œuvre le procédé défini ci-avant.
Selon un mode de réalisation de l'invention, le support matériel électronique se présente sous la forme d'une carte à microprocesseur cryptographique.
Un mode de réalisation préféré de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels :
La figure 1 représente un système permettant la mise en œuvre des procédés de signature de liste et de vote électronique, selon l'invention ;
La figure 2 représente schématiquement les éléments fonctionnels d'une carte à puce pouvant être utilisée pour générer des signatures de liste conformément au procédé selon l'invention ; La figure 3 représente sous la forme d'un organigramme une procédure de signature de liste selon l'invention, qui est non ouvrable et exécutable par la carte à puce illustrée sur la figure 2 ;
Les figures 4 et 5 représentent sous la forme d'organigrammes des procédures de signature de liste selon l'invention, qui sont ouvrables et exécutables par la carte à puce illustrée sur la figure 2 ;
La figure 6 illustre sous la forme d'organigrammes une autre variante de procédures de signature de liste selon l'invention, exécutables par la carte à puce illustrée sur la figure 2 ; Les figures 7 à 9 illustrent sous la forme d'organigrammes une application du procédé de signature de liste selon l'invention au vote électronique. La présente invention propose un procédé de signature de liste dans lequel toutes les personnes autorisées, c'est-à-dire appartenant à la liste, peuvent produire une signature qui est anonyme, et dont la validité peut être vérifiée par n'importe qui sans avoir à accéder à l'identité du membre de la liste qui a émis la signature.
Un tel procédé peut être mis en œuvre dans le système représenté sur la figure 1. Ce système comprend des terminaux 2 mis à la disposition des utilisateurs et connectés à un réseau de transmission 5 de données numériques, tel que le réseau Internet. Chaque terminal 2 est avantageusement connecté à un dispositif de lecture 8 d'un support matériel électronique tel qu'une carte à puce 7. Par le réseau 5, les utilisateurs peuvent se connecter à un serveur 6 donnant accès à des informations par exemple stockées dans une base de données 4. Ce système comprend également un calculateur 1 d'une autorité de confiance qui délivre notamment les cartes à puces 7 aux utilisateurs.
Le système selon l'invention se base par ailleurs sur la mise en place d'une signature de groupe, telle que décrite par exemple dans la demande de brevet FR 2 834 403 précitée, mais utilisant néanmoins un algorithme de chiffrement symétrique ou asymétrique.
L'autorité de confiance responsable du groupe génère toutes les clés et paramètres nécessaires à la mise en place de la signature de groupe choisie, et place tous les éléments publics de ces éléments dans un annuaire (par exemple la base de données 4).
Pour appartenir au groupe, chaque membre a reçu de l'autorité de confiance une carte à puce 7 présentant par exemple l'architecture fonctionnelle représentée sur la figure 2. Cette architecture comprend :
- un microprocesseur 11 assurant la gestion de fonctions internes et l'exécution de programmes applicatifs stockés dans une mémoire de la carte, et pouvant comprendre un processeur cryptographique optimisé pour effectuer des calculs cryptographiques ; - des mémoires 12 comprenant une mémoire vive 14 accessible en lecture et écriture, permettant l'enregistrement par le processeur 11 de données éphémères, par exemple les résultats intermédiaires des calculs cryptographiques, une mémoire non volatile 13, par exemple de type reprogrammable (EEPROM) et permettant le stockage de données à long terme après la fabrication de la carte, telles que des données de personnalisation et des programmes applicatifs, une mémoire non volatile 15 du type ROM programmée avec des données immuables lors de la fabrication de la carte à puce et permettant le stockage notamment du programme de gestion interne de la carte à puce et éventuellement de données de cryptage ; - une interface de communication 16 par laquelle la carte échange des données avec un lecteur de carte à puce 8 approprié, et - un bus interne 17 permettant de relier entre eux les éléments précités.
La carte à puce 7 est de préférence sécurisée pour empêcher l'accès depuis l'extérieur à certaines données stockées notamment dans la mémoire ROM 15. En outre, pour mettre en œuvre le procédé de signature de liste selon l'invention, les mémoires 12 de la carte contiennent des moyens de produire une signature de groupe en utilisant un algorithme de signature, un identifiant Idj du membre i, une clé secrète de signature de liste SKL qui est commune à tous les membres de la liste, une clé secrète SKi connue uniquement de la carte à puce et spécifique de celle-ci, ainsi que des moyens pour générer un nombre pseudo aléatoire.
Si les signatures de liste générées doivent être ouvrables par une autorité habilitée à lever l'anonymat, on utilise un algorithme de chiffrement symétrique ou asymétrique. Cet algorithme prend en entrée le message à chiffrer, et éventuellement un nombre pseudo aléatoire, par exemple le nombre pseudo aléatoire Ri5 qui est différent à chaque fois que l'algorithme est exécuté, de manière à produire des chiffrés différents d'un même message à chaque fois qu'il est exécuté. Par contre, si le nombre pseudo aléatoire n'est pas modifié, le chiffré obtenu pour un même message est toujours le même.
L'autorité de confiance gère en outre des séquences successives de durées prédéterminées, pour chacune desquelles, elle génère aléatoirement un numéro de séquence REPSEQ unique qui doit être différent de tous les numéros de séquence préalablement générés, et commun à tous les membres de la liste. Ce numéro est en outre de préférence signé par l'autorité de confiance.
Le numéro de séquence est par exemple obtenu à partir d'un élément généré aléatoirement pour lequel l'autorité de confiance calcule un condensé à l'aide d'une fonction de hachage, par exemple la fonction SHA-1, et formate le résultat par exemple en appliquant la fonction OS2IP de la norme PKCS#1, v2.1.
Pour signer un message M au nom de la liste, un membre de la liste utilise la carte à puce 7 qui lui a été remise par l'autorité de confiance, qui reçoit en entrée le message M à signer et le numéro de séquence REPSEQ, par l'intermédiaire d'un terminal 2 et d'un lecteur de carte à puce 8.
La carte à puce exécute alors la procédure de signature de liste telle qu'illustrée . sur la figure 3, cette procédure consistant à générer un nombre pseudo aléatoire Ri dépendant de la carte à puce, à l'aide d'une fonction de génération de nombres pseudo aléatoires PRNG, recevant en entrée le numéro de séquence REPSEQ en cours de validité, cette donnée d'entrée servant de "graine" à la fonction de génération pseudo aléatoire.
Pour que le nombre pseudo aléatoire Rj généré dépende de la carte, la fonction est choisie de manière à ce que deux cartes différentes de membres de la liste produisent nécessairement deux nombres pseudo aléatoires différents à partir du même numéro de séquence REPSEQ. Typiquement, la fonction PRNG est une fonction générique pour toutes les cartes à puce remises aux membres de la liste et reçoit également en tant que graine la clé secrète SK; propre à la carte à puce 7.
La procédure de signature de liste exécutée par la carte à puce comprend ensuite l'exécution d'un algorithme de signature de groupe. Cet algorithme consiste par exemple à concaténer le message M à signer avec le nombre pseudo aléatoire R; obtenu et à appliquer une fonction de signature classique Sign à la valeur obtenue en utilisant la clé secrète de signature de liste SKL mémorisée par la carte à puce. La signature S qui est délivrée en sortie par la carte à puce comprend le nombre pseudo aléatoire R, concaténé avec la valeur de signature Si fournie par la fonction de signature Sign :
L'algorithme de signature appliqué par cette procédure peut être synthétisé par les formules suivantes : Ri = PRNG(SKι, REPSEQ) ( 1 ) Si = Sign(SKL, Ri || M) (2)
Figure imgf000011_0001
|| représentant l'opérateur de concaténation.
La fonction PRNG est par exemple réalisée par une fonction de chiffrement classique, par exemple de type AES (Advanced Encryption Standard) ou bien par une exponentiation modulaire qui élève le numéro de séquence REPSEQ à la puissance SK; modulo n.
La fonction Sign choisie est par exemple du type RSA (Rivest, Shamir, and Adleman) consistant en une transformation de la valeur Rj || M, suivie d'une élévation de la quantité obtenue à la puissance SKL modulo n. La transformation qui permet de formater la valeur R; || M est par exemple la fonction OS2LP de conversion de chaîne de caractères en entier positif, prévue dans la norme PKCS# 1 , v2.1.
Pour vérifier la signature S, il suffit de lui appliquer la procédure de vérification de signature de groupe consistant dans l'exemple ci-avant à élever la signature Si à la puissance SKL modulo n, à transformer la valeur obtenue pour la convertir en chaîne de caractères (fonction I20SP de la nonne PKCS#1) et à comparer la valeur transformée obtenue au message M signé. Bien entendu, la vérification de la signature comprend également une vérification que la valeur R; associée à la signature S; correspond à la valeur R; associée au message M dans la signature.
Pour vérifier si deux signatures générées avec le même numéro de séquence REPSEQ ont été émises par le même membre de la liste, il suffit de comparer les nombres R; associés à la signature du message S; dans la signature S, ces nombres étant identiques pour deux signatures S émises par la même carte à puce pour le même numéro de séquence.
Il est à noter que comme le nombre R; figure dans la signature S; qui est générée, il n'est pas nécessaire de l'émettre avec celle-ci, sauf si l'on souhaite que même les personnes ne disposant pas de la clé de liste permettant de vérifier la signature Si puissent relier deux signatures émises par la même carte à puce pour une même séquence.
La procédure qui vient d'être décrite génère une signature dite non ouvrable, c'est-à-dire qu'il est impossible même pour une autorité possédant les droits nécessaires de lever l'anonymat de la signature de liste S obtenue. Si l'on souhaite que la signature soit ouvrable, la carte à puce 7 exécute la procédure de signature de liste illustrée sur la figure 4.
Par rapport à la procédure décrite ci-avant en référence à la figure 3, cette procédure comprend l'application d'une fonction de chiffrement Enc à l'élément Idi permettant d'identifier le membre i de la liste possédant la carte, cet élément étant constitué d'un identifiant ou d'une partie d'un certificat délivré par une autorité compétente qui connaît le lien entre cette partie de certificat et l'identité réelle du membre. Ce chiffrement utilise une clé publique de chiffrement PKMo qui est liée à une clé privée de déchiffrement SKMo appartenant à l'autorité habilitée à lever l'anonymat d'une signature émise par un membre de la liste. Le résultat de ce chiffrement est concaténé avec le nombre pseudo aléatoire Rj obtenu de la même manière que dans la procédure de signature de liste non ouvrable, cette concaténation permettant d'obtenir une valeur Ri|| qui est concaténée avec le message M avant sa signature, et éventuellement avec la signature S; obtenue.
Il est à noter que le chiffrement de l'identifiant Idi peut être symétrique ou asymétrique. Si ce chiffrement est asymétrique, la carte mémorise la clé publique PKMO. Si ce chiffrement est symétrique, la carte mémorise d'une manière sécurisée une clé secrète SKMo connue seulement de l'autorité habilitée à lever l'anonymat des signatures émises par les membres de la liste.
L'algorithme de signature appliqué par cette procédure peut ainsi être synthétisé par les formules suivantes : Ri = PRNG(SKi, REPSEQ) (4) d = Enc(PKM0, Id (5) Si = Sign(SKL, Ri || d || M) (6) S = Ri || Q || Si (7)
La fonction PRNG peut également consister en une fonction de chiffrement classique, par exemple de type AES. La fonction de chiffrement Enc consiste par exemple en une fonction de chiffrement classique, par exemple de type AES ou RSA recevant en entrée, la clé PKM0 et l'identifiant Id; du membre i de la liste, et éventuellement le nombre pseudo aléatoire R;.
La fonction de signature Sign consiste par exemple à convertir la valeur Ri || Ci || M appliquée en entrée, en nombre entier, à l'aide d'une fonction telle que OS2IP de la norme PKCS#1 v2.1, et à appliquer à la valeur convertie M' obtenue la fonction d'exponentiation modulo n à la puissance SK :
Si = M'SKL (mod n) (8)
Cet algorithme ne comprend donc qu'un calcul de nombre pseudo aléatoire et deux calculs de chiffrement pouvant consister chacun en une simple exponentiation modulaire.
Pour vérifier que la signature a été émise par un membre de la liste, il suffit de connaître la fonction de signature (le nombre n dans l'exemple ci-dessus) et la clé publique PKL de la liste. Dans l'exemple, il suffit de calculer la valeur suivante : M" = S;PKL (mod n) (9)
de convertir la valeur M" à l'aide de la fonction de conversion inverse I2OSP de la norme PKCS#1 v2.1, et de vérifier l'égalité de la valeur obtenue avec le message M.
Pour déterminer si deux signatures ont été émises par le même membre de la liste, il suffit de comparer les valeurs du nombre pseudo aléatoire R; contenues dans les deux signatures. Comme dans l'exemple précédemment décrit en référence à la figure 3, il n'est pas nécessaire d'émettre le nombre pseudo aléatoire Rj avec la signature S, sauf si l'on souhaite que même les personnes ne disposant pas de la clé de liste permettant de vérifier la signature S; puissent relier deux signatures émises par la même carte à puce pour une même séquence.
Il est à noter que les personnes ne disposant pas de la clé SKMo ne peuvent pas lever l'anonymat de la signature.
Si l'autorité de confiance désire lever l'anonymat de la signature, il lui suffit d'appliquer la fonction de déchiffrement correspondant à la fonction de chiffrement Enc à la valeur Ci en utilisant la clé SKMo- Cette opération lui permet d'obtenir un identifiant qu'elle peut ensuite rechercher dans son annuaire (base de données 4) pour retrouver l'identité du signataire membre de la liste.
Une sécurité supplémentaire consiste à scinder l'autorité de confiance en deux entités distinctes. La première autorité possède uniquement la clé privée SKL et n'a pas connaissance des identifiants Id; des membres de la liste : c'est l'autorité de la liste qui intervient lors de l'inscription d'un nouveau membre à la liste. La seconde autorité possède seulement la clé SKMO ainsi que tous les identifiants des membres de la liste : c'est l'autorité d'ouverture qui seule est habilitée à lever l'anonymat d'une signature.
La seconde autorité peut également être divisée en plusieurs entités ne possédant qu'une partie respective de la clé d'ouverture SKMo pour ne pouvoir déchiffrer qu'une partie d'un identifiant Idi5 et une autorité établissant la liaison entre un identifiant et l'identité de la personne correspondante.
Une variante élevant le niveau de sécurité consiste à attribuer une clé SKM0 i respective à chaque identifiant Id; et de ne chiffrer que le nombre pseudo aléatoire R; qui est utilisé pour rendre le chiffrement probabiliste. La levée de l'anonymat d'une signature consiste alors à tester toutes les clés de chiffrement SKM0 i jusqu'à obtenir un identifiant Idj figurant dans l'annuaire. Ainsi, si une carte à puce est corrompue, le fraudeur n'a accès qu'à la clé SKMo i de la carte sans pouvoir produire une signature de liste au nom d'un autre identifiant que celui contenu dans la carte. Un fraudeur ne pourra donc pas se faire passer pour un autre membre de la liste.
Il est à noter que si l'autorité habilitée à lever l'anonymat des signatures est la même que l'autorité de confiance remettant les cartes à puces aux membres de la liste, il n'est pas nécessaire d'émettre l'identifiant avec la signature S, puisque celui-ci figure dans la signature, associé au message signé.
La figure 5 illustre une autre variante ouvrable du procédé de signature de liste selon l'invention.
La procédure illustrée sur cette figure diffère de celle illustrée par la figure 4 simplement par le fait que le nombre pseudo aléatoire R; obtenu par la fonction PRNG est utilisé pour rendre probabiliste la fonction de chiffrement appliquée à l'identifiant Idi du membre de la liste possédant la carte à puce 7, le résultat C de ce chiffrement étant concaténé au message M à signer et à la signature S générée. La signature fournie par la carte à puce contient la signature S produite, concaténée à la valeur de chiffrement Cj.
L'algorithme de signature appliqué par cette procédure peut ainsi être synthétisé par les formules suivantes : Ri = PRNG(SKi, REPSEQ) (10) Ci = Enc(PKM0, Ri, Idi) S; = Sign(SKL, Q || M) (11) S = Q || S; (12)
De cette manière, la valeur Q associée à la signature S; reste invariante pour un même membre de la liste et un même numéro de séquence. Elle permet donc de déterminer si deux signatures sont émises par un même membre de la liste. Pour lever l'anonymat de la signature, il suffit d'appliquer à la valeur Ci la fonction de déchiffrement correspondant à la fonction de chiffrement Enc, en utilisant la clé secrète SKMo correspondant à la clé PKMo-
Comme précédemment, la fonction de chiffrement Enc peut être symétrique ou asymétrique. Dans le premier cas, on utilise une seule clé secrète SKMo qui est mémorisée par les cartes à puce des membres de la liste et connue seulement de l'autorité habilitée à ouvrir les signatures.
Selon un autre mode de réalisation de l'invention, le nombre de signatures susceptibles d'être émises par la carte à puce peut être fixé. La carte à puce comprend alors des moyens pour émettre un message d'erreur durant la procédure d'émission d'une signature lorsque le nombre de signatures déjà émises dépasse un nombre prédéterminé.
Dans un mode de réalisation de l'invention, la carte à puce 7 exécute la procédure 40 de génération de signature illustrée sur la figure 7. Dans cette procédure, le nombre de signatures susceptibles d'être émises par la carte à puce est fixé. La carte à puce comprend alors des moyens pour émettre un message d'erreur durant la procédure d'émission d'une signature lorsque le nombre de signatures déjà émises dépasse un nombre prédéterminé.
Au cours d'une première étape 41 de la procédure 40, la carte à puce 7 reçoit le message M à signer et un numéro de séquence REPSEQ, et vérifie la validité de ce dernier, par exemple à l'aide d'une signature générée par l'autorité de confiance qui est transmise avec le numéro de séquence. Cette vérification est effectuée avec une clé publique PKA de l'autorité de confiance, mémorisée par la carte à puce. Si la signature associée au numéro de séquence n'est pas valide, la carte à puce émet un message d'erreur (étape 49) et la procédure prend 40 fin sans qu'aucune signature ne soit générée par la carte.
Si la signature est valide, la carte à puce passe à l'étape suivante 42 où elle compare le numéro de séquence reçu avec un numéro de séquence préalablement mémorisé dans la mémoire non volatile 13, et si ce numéro n'a pas été préalablement mémorisé, elle le mémorise à l'étape 43.
Dans une première variante, le nombre maximum de signatures NBSIG susceptibles d'être émises est mémorisé une fois pour toutes dans la mémoire non volatile 13 de la carte, ce nombre pouvant dépendre du type de la carte. Ainsi par exemple pour une application de titres de transport, on peut prévoir des cartes de 10 passages et d'autres de 20 passages.
Dans une autre variante, le nombre maximum de signatures susceptibles d'être émises est transmis avec le numéro de séquence et inclus dans la signature qui est vérifiée par la carte à puce à l'étape 41. Dans ce cas, la signature générée par l'autorité de confiance et reçue par la carte à puce peut porter sur le numéro de séquence concaténé avec le nombre de signatures autorisées et la date courante : (REPSEQ || NBSIG || date).
Dans l'une et/ou l'autre variante, la carte à puce exécute une étape supplémentaire 44 d'initialisation d'un compteur CPT avec le nombre reçu de signatures autorisées NBSIG à chaque changement de numéro de séquence.
A l'étape suivante 45 qui est exécutée dans les deux variantes décrites ci-avant et si le numéro de séquence mémorisé est identique au numéro de séquence reçu (étape 42), le nombre de signatures susceptibles d'être généré NBSIG est décrémenté dans la mémoire non volatile 13. Si le nombre obtenu est strictement négatif (étape 46), la carte à puce émet un message d'erreur (étape 49). Dans le cas contraire, la carte à puce calcule à l'étape 47 une signature Si du message M conformément à l'un des procédés de signature de liste décrits ci- avant et émet la signature générée Si (étape 48).
La carte peut également gérer un compteur différent par numéro de séquence. A chaque fois que la carte reçoit un nouveau numéro de séquence et le cas échéant un nombre de signatures maximum NBSIG (si celui-ci peut être différent pour chaque numéro de séquence), elle initialise un compteur CPT qui est mémorisé dans une table en association avec le numéro de séquence. Lorsque la carte reçoit un numéro de séquence avec un message à signer, elle recherche dans cette table si le numéro de séquence reçu y est mémorisé, et si tel est le cas, elle met à jour le compteur associé pour tenir compte de la nouvelle signature générée.
Le procédé de signature de liste qui vient d'être décrit peut être appliqué à un procédé de vote électronique. Le procédé de vote électronique selon l'invention comprend plusieurs phases dont l'exécution des procédures du procédé de signature de liste décrit ci-avant.
Ce procédé implique l'intervention d'une autorité de confiance organisatrice des élections qui exécute à cet effet une procédure 50 d'organisation du scrutin. Cette procédure consiste à générer les données nécessaires au bon déroulement des élections, une base de données publique accessible à tous dans laquelle sont recueillis les bulletins de vote. Au cours de l'organisation du scrutin, on désigne également des scrutateurs qui vont dépouiller les votes et déterminer le résultat de l'élection.
L'autorité organisatrice procède tout d'abord à la génération des différents paramètres nécessaires à la mise en place d'une signature de liste. Les électeurs doivent ensuite préalablement s'inscrire, par exemple dans une mairie, sur une liste électorale de manière à recevoir une carte à puce 7 telle que décrite ci- avant, contenant toutes les données nécessaires, à savoir un identifiant Id; du membre i, une clé secrète de signature de liste SKL qui est commune à tous les membres de la liste, et une clé secrète SK; connue uniquement de la carte à puce et spécifique de celle-ci. A l'aide de ces paramètres, les électeurs peuvent participer à toutes les élections futures.
A l'étape 51 de la procédure 50, l'autorité organisatrice publie également un numéro de séquence m nécessaire à la mise en place d'une nouvelle séquence de signature de liste, de manière à empêcher les électeurs de voter (signer) deux fois à cette élection.
Par ailleurs, des scrutateurs chargés de dépouiller les bulletins de vote vont créer 52 les paires de clés publiques/privées nécessaires, de telle sorte qu'ils doivent tous coopérer pour pouvoir déchiffrer un message chiffré avec la clé publique. A cet effet, le système cryptographique mis en place est choisi de manière à permettre à un électeur de chiffrer un message (bulletin de vote) à l'aide d'au moins une clé publique, tout en imposant la coopération de tous les scrutateurs pour utiliser la ou les clés privées correspondantes, et ainsi déchiffrer le message.
Le partage de la clé privée de déchiffrement entre tous les scrutateurs peut être effectué de la manière suivante.
On considère g un générateur du groupe cyclique G. Une clé privée X; respective est attribuée à chaque scrutateur i qui calcule le nombre y; appartenant à G tel que : Yi = gxi (1)
La clé publique Y à utiliser par les électeurs est obtenue par la formule suivante :
Figure imgf000019_0001
et la clé privée X correspondante partagée par tous les scrutateurs i est la suivante : X = ∑Xi (3) i
On peut arriver à un résultat analogue en procédant à un chiffrement en utilisant toutes les clés publiques respectives des scrutateurs. Le déchiffrement nécessitant la connaissance de toutes les clés privées correspondantes.
Pendant l'ouverture des bureaux de vote, chaque électeur émet un bulletin de vote en exécutant sur un terminal une procédure 60. A l'étape 61, l'électeur sélectionne son vote Vi et chiffre celui-ci à l'aide de la clé publique des scrutateurs pour obtenir un vote chiffré Dj. Puis il signe le vote chiffré à l'aide du procédé de signature de liste pour obtenir une signature Sj. Le bulletin de vote constitué de l'ensemble (Dj, S;) du vote et de la signature, est ensuite publié de manière anonyme dans une base de données publique 4.
A l'étape 62, le chiffrement du vote est réalisé en utilisant un algorithme de chiffrement, tel que par exemple l'algorithme de El Gamal ou de Paillier. Si on applique l'algorithme de El Gamal, le chiffrement est effectué en calculant les nombres suivants : a, = vJY' et b, = gr (4) dans lesquels r est un élément pseudo aléatoire. Le vote Vj chiffré est alors constitué par le couple Dj = (aj,bj). L'électeur Ej calcule 63 ensuite la signature de liste du vote chiffré Sj = Sigιiste(aj||bj), Sigιiste étant la signature de liste telle que décrite ci-avant, obtenue par sa carte à puce 7, et étant transmise au terminal 2. L'électeur Ej a ainsi généré son bulletin de vote (Dj, Sj) qu'il envoie 64 à la base de données publique 4 au moyen d'un canal de transmission anonyme, c'est-à- dire interdisant de relier un message transmis à l'émetteur de celui-ci. L'électeur peut à cet effet utiliser un terminal public ou un réseau de mélangeurs.
A la fin du scrutin, les scrutateurs effectuent le dépouillement du scrutin en exécutant la procédure 70 sur le terminal 3. Cette procédure consiste tout d'abord à générer 71 la clé privée de déchiffrement X à partir de leurs clés privées respectives x; et à l'aide de la formule (3). Puis, à l'étape 72, ils accèdent à la base de données publique 4 des bulletins de vote pour obtenir les bulletins de vote (D;, Si) et pour les déchiffrer.
Le déchiffrement proprement dit des bulletins de vote consiste pour chaque bulletin de vote émis (étape 73) à vérifier 74 la signature S; en exécutant la procédure 40 de vérification de signature de liste décrite ci-avant, et si la signature est valable et unique (étape 75), à déchiffrer 76 le vote chiffré Dj en appliquant la formule suivante : = aj/bj x (5)
Les votes Vj ainsi déchiffrés et vérifiés, avec le résultat de la vérification correspondante sont introduits 77 dans la base de données 4 des bulletins de vote, en association avec le bulletin de vote (Dj, Sj).
La clé privée de déchiffrement X est également publiée pour permettre à tous de vérifier le dépouillement des bulletins de vote.
Une fois que tous les bulletins de vote ont été dépouillés, cette procédure 70 calcule à l'étape 78 le résultat de l'élection et met à jour la base de données publique des bulletins de vote en y inscrivant ce résultat, et éventuellement la clé privée de déchiffrement X.
II est aisé de constater que les propriétés énoncées ci-avant, nécessaires à la mise en place d'un système de vote électronique, sont vérifiées par le procédé décrit ci-dessus. En effet, chaque électeur ne peut voter qu'une seule fois (la carte à puce ne peut émettre qu'une seule signature pour un numéro de séquence donné), si le nombre maximum de signatures susceptibles d'être émises est fixé à 1.
Ensuite, il n'est pas possible de commencer à dépouiller les bulletins de vote avant la fin du scrutin si au moins un des scrutateurs respecte la règle, puisqu'il faut la présence de tous les scrutateurs pour dépouiller un bulletin de vote. Enfin, le résultat de l'élection est vérifiable par tous puisque les scrutateurs fournissent dans la base de données tous les éléments nécessaires (en particulier la clé privée de dépouillement) pour procéder à une telle vérification, et que la vérification d'une signature est accessible à tous en utilisant la clé publique PKL de l'autorité de confiance. Ainsi n'importe qui peut effectuer le dépouillement de la même manière que les scrutateurs et donc s'assurer qu'il a été effectué de manière correcte.
Les clés des scrutateurs sont bien entendu obsolètes à la fin du scrutin, puisqu'elles sont publiées.

Claims

REVENDICATIONS
1. Procédé de génération d'une signature de liste portant sur un message à signer (M), comprenant des étapes exécutées par un support matériel électronique (7) d'un membre d'une liste, au cours desquelles le support matériel électronique génère une signature électronique (Si) à partir du message à signer, et émet la signature générée, caractérisé en ce que la signature électronique (Si) est générée uniquement en fonction du message à signer, d'un numéro de séquence (REPSEQ) fourni par une autorité de confiance au support matériel électronique, d'une preuve d'appartenance (SKL) à la liste de membres, de données (Idi, SKj) propres au support matériel électronique, et optionnellement d'une clé (PKMo) d'une autorité habilitée à lever l'anonymat de la signature générée.
2. Procédé selon la revendication 1, comprenant des étapes au cours desquelles le support matériel électronique (7) génère en fonction du numéro de séquence (REPSEQ) un nombre pseudo aléatoire (R;) utilisé pour la génération de la signature électronique (Si), le nombre pseudo aléatoire généré variant uniquement en fonction du numéro de séquence et de données propres au support matériel électronique.
3. Procédé selon la revendication 2, dans lequel la génération du nombre pseudo aléatoire (Ri) est effectuée à l'aide d'une fonction de chiffrement utilisant une clé secrète (SK;) mémorisée par le support matériel électronique (7) et spécifique de celui-ci.
4. Procédé selon la revendication 2 ou 3, dans lequel le nombre pseudo aléatoire (Ri) généré à partir du numéro de séquence (REPSEQ) est émis avec la signature électronique générée (Si).
5. Procédé selon l'une des revendications 1 à 4, dans lequel la preuve d'appartenance à la liste de membres est constituée par la connaissance d'une clé secrète (SKL) commune aux membres de la liste.
6. Procédé selon l'une des revendications 1 à 5, comprenant en outre une étape au cours de laquelle le support matériel électronique (7) chiffre par un algorithme de chiffrement à l'aide de la clé (PKMo) de l'autorité habilitée à lever l'anonymat de la signature générée, un code d'identification (Idi) stocké par le support matériel électronique, identifiant le membre (i) possédant le support matériel électronique, pour obtenir un identifiant chiffré (Q) qui est utilisé pour la génération de la signature électronique (Si).
7. Procédé selon la revendication 6, dans lequel un nombre pseudo aléatoire (R;) généré à partir du numéro de séquence (REPSEQ) est utilisé pour le chiffrement du code d'identification de membre (Idi).
8. Procédé selon la revendication 6 ou 7, dans lequel l'identifiant chiffré (Q) est émis avec la signature électronique (Si) générée.
9. Procédé selon l'une des revendications 1 à 8, dans lequel le support matériel électronique (7) reçoit le numéro de séquence (REPSEQ) associé à une signature du numéro de séquence, de la part d'une autorité de confiance, vérifie la signature du numéro de séquence, et refuse de générer une nouvelle signature si la signature associée au numéro de séquence n'est pas correcte.
10. Procédé selon l'une des revendications 1 à 9, dans lequel le support matériel électronique (7) génère une signature si le nombre de signatures préalablement émises est inférieur ou égal à un nombre maximum de signatures autorisées.
11. Procédé selon la revendication 10, dans lequel le nombre maximum de signatures émises est initialisé lors d'un changement de numéro de séquence (REPSEQ).
12. Procédé de vote électronique comprenant une phase d'organisation (50) d'élections, au cours de laquelle une autorité organisatrice procède à la génération de paramètres nécessaires à un scrutin, et attribue à des scrutateurs des clés leur permettant de déchiffrer et vérifier des bulletins de vote, une phase d'attribution d'un droit de signature à chacun des électeurs, une phase de vote (60) au cours de laquelle les électeurs signent un bulletin de vote, et une phase de dépouillement (70) au cours de laquelle les scrutateurs vérifient les bulletins de vote, et calculent le résultat du scrutin en fonction du contenu des bulletins de vote déchiffrés et valides, caractérisé en ce qu'il met en œuvre un procédé de signature de liste selon la revendication 10 ou 11, pour signer les bulletins de vote, chaque électeur étant enregistré comme membre d'une liste, un numéro de séquence (REPSEQ) étant généré pour le scrutin, le nombre maximum de signatures autorisées étant égal à 1.
13. Support matériel électronique, caractérisé en ce qu'il comprend des moyens pour mettre en œuvre le procédé selon l'une des revendications 1 à 12.
14. Support matériel électronique selon la revendication 13, se présentant sous la forme d'une carte à microprocesseur cryptographique (7).
PCT/FR2005/001248 2004-05-19 2005-05-18 Abrege descriptif procede et systeme de signature de liste WO2005122466A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2005800157789A CN1954546B (zh) 2004-05-19 2005-05-18 用于生成名单签名的方法和***
JP2007517338A JP4818264B2 (ja) 2004-05-19 2005-05-18 リスト署名を生成する方法及びシステム
EP05773026A EP1747639A1 (fr) 2004-05-19 2005-05-18 Abrege descriptif procede et systeme de signature de liste
US11/596,548 US8352380B2 (en) 2004-05-19 2005-05-18 Method and system for generating a list signature
KR1020067025556A KR101192875B1 (ko) 2004-05-19 2005-05-18 리스트 서명을 생성하기 위한 방법과 시스템

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP04291288 2004-05-19
EP04291289 2004-05-19
EP04291288.1 2004-05-19
EP04291289.9 2004-05-19

Publications (2)

Publication Number Publication Date
WO2005122466A1 true WO2005122466A1 (fr) 2005-12-22
WO2005122466B1 WO2005122466B1 (fr) 2006-03-16

Family

ID=34978912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/001248 WO2005122466A1 (fr) 2004-05-19 2005-05-18 Abrege descriptif procede et systeme de signature de liste

Country Status (6)

Country Link
US (1) US8352380B2 (fr)
EP (1) EP1747639A1 (fr)
JP (1) JP4818264B2 (fr)
KR (1) KR101192875B1 (fr)
CN (1) CN1954546B (fr)
WO (1) WO2005122466A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2911025A1 (fr) * 2006-12-27 2008-07-04 France Telecom Procede de signature de liste anonyme et tracable sans levee d'anonymat
FR2911024A1 (fr) * 2006-12-27 2008-07-04 France Telecom Procede de signature de liste anonyme et correlable
CN106375327A (zh) * 2016-09-13 2017-02-01 湖北工业大学 一种抗恶意攻击的代理密钥混淆电子投票***及方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE429747T1 (de) * 2004-06-30 2009-05-15 France Telecom Elektronisches wahlverfahren und -system in einem hochsicherheitskommunikationsnetz
JP2007004461A (ja) * 2005-06-23 2007-01-11 Nec Corp サービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラム
JP4218760B2 (ja) * 2005-07-01 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション トレーサビリティ検証システム、方法、プログラム
JP4548441B2 (ja) * 2007-04-11 2010-09-22 日本電気株式会社 コンテンツ利用システム、及びコンテンツ利用方法
US8923519B2 (en) * 2009-05-29 2014-12-30 Alcatel Lucent Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
JP5867875B2 (ja) * 2011-07-11 2016-02-24 武 水沼 署名検証プログラム
US9641318B2 (en) * 2015-01-06 2017-05-02 Google Inc. Systems and methods for a multiple value packing scheme for homomorphic encryption
KR101893823B1 (ko) * 2016-10-04 2018-08-31 주식회사 고영테크놀러지 기판 검사장치 및 이를 이용한 기판의 왜곡 보상 방법
IT201600116085A1 (it) * 2016-11-17 2018-05-17 Ansaldo Sts Spa Apparato e metodo per la gestione in sicurezza di comunicazioni vitali in ambiente ferroviario
EP3503456A1 (fr) * 2017-12-19 2019-06-26 Koninklijke Philips N.V. Cryptage homomorphe pour authentification de mot de passe
FR3091107A1 (fr) * 2018-12-24 2020-06-26 Orange Procédé et système de génération de clés pour un schéma de signatures anonymes
CN110189184B (zh) * 2019-04-26 2024-04-26 深圳市智税链科技有限公司 一种电子***存储方法和装置
DE112021000089T5 (de) 2020-01-19 2022-05-05 Mobileye Vision Technologies Ltd. Anonyme datenerhebung von einer gruppe von berechtigten mitgliedern
US11722312B2 (en) * 2020-03-09 2023-08-08 Sony Group Corporation Privacy-preserving signature

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011351A1 (en) * 2000-01-21 2001-08-02 Nec Corporation Anonymous participation authority management system
FR2834403A1 (fr) * 2001-12-27 2003-07-04 France Telecom Systeme cryptographique de signature de groupe
FR2842680A1 (fr) * 2002-07-19 2004-01-23 France Telecom Procede de signature de liste et application au vote electronique

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999626A (en) * 1996-04-16 1999-12-07 Certicom Corp. Digital signatures on a smartcard
JP3823599B2 (ja) * 1999-04-22 2006-09-20 富士ゼロックス株式会社 流通情報管理装置および方法
WO2001055940A1 (fr) * 2000-01-27 2001-08-02 David Chaum Systemes de vote secret physique et numerique
ATE472208T1 (de) * 2000-04-28 2010-07-15 Swisscom Ag Verfahren zur sicherung der kommunikation zwischen einem endgerät und einer zusätzlichen benutzervorrichtung
GB2372414A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Timed-release cryptography
US7000115B2 (en) * 2001-06-19 2006-02-14 International Business Machines Corporation Method and apparatus for uniquely and authoritatively identifying tangible objects
US20030074330A1 (en) * 2001-10-11 2003-04-17 Nokia Corporation Efficient electronic auction schemes with privacy protection
US7251730B2 (en) * 2001-12-21 2007-07-31 Qualcomm Incorporated Method and apparatus for simplified audio authentication
CN101453331A (zh) * 2002-04-15 2009-06-10 株式会社Ntt都科摩 利用双线性映射的签名方案
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
CA2464788A1 (fr) * 2003-04-16 2004-10-16 Wms Gaming Inc. Reseau de distribution de logiciels de jeux de hasard dans un environnement de systemes de jeux de hasard
JP4635009B2 (ja) * 2003-05-21 2011-02-16 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 通信における証明された秘密値の使用
KR100951094B1 (ko) * 2003-10-17 2010-04-07 인터내셔널 비지네스 머신즈 코포레이션 프라이버시 보존 방법 및 시스템, 컴퓨터 판독가능 저장 매체
JP4397675B2 (ja) * 2003-11-12 2010-01-13 株式会社日立製作所 計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011351A1 (en) * 2000-01-21 2001-08-02 Nec Corporation Anonymous participation authority management system
FR2834403A1 (fr) * 2001-12-27 2003-07-04 France Telecom Systeme cryptographique de signature de groupe
FR2842680A1 (fr) * 2002-07-19 2004-01-23 France Telecom Procede de signature de liste et application au vote electronique

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ATENIESE G ET AL: "A PRACTICAL AND PROVABLY SECURE COALITION-RESISTANT GROUP SIGNATURESCHEME", ADVANCES IN CRYPTOLOGY. CRYPTO 2000. 20TH ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE, SANTA BARBARA, CA, AUG. 20 - 24, 2000. PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE ; VOL. 1880, BERLIN : SPRINGER, DE, 20 August 2000 (2000-08-20), pages 255 - 270, XP001003407, ISBN: 3-540-67907-3 *
CAMENISCH J ET AL INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH (EDS GOOS G ET AL: "EFFICIENT GROUP SIGNATURE SCHEMES FOR LARGE GROUPS", ADVANCES IN CRYPTOLOGY - CRYPTO '97. SANTA BARBARA, AUG. 17 - 21, 1997, PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO), BERLIN, SPRINGER, DE, vol. CONF. 17, 17 August 1997 (1997-08-17), pages 410 - 424, XP000767547, ISBN: 3-540-63384-7 *
See also references of EP1747639A1 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2911025A1 (fr) * 2006-12-27 2008-07-04 France Telecom Procede de signature de liste anonyme et tracable sans levee d'anonymat
FR2911024A1 (fr) * 2006-12-27 2008-07-04 France Telecom Procede de signature de liste anonyme et correlable
WO2008081151A2 (fr) * 2006-12-27 2008-07-10 France Telecom Procede de signature de liste anonyme et correlable
WO2008087359A2 (fr) * 2006-12-27 2008-07-24 France Telecom Procédé de signature de liste anonyme et traçable sans levée d'anonymat
WO2008087359A3 (fr) * 2006-12-27 2008-09-25 France Telecom Procédé de signature de liste anonyme et traçable sans levée d'anonymat
WO2008081151A3 (fr) * 2006-12-27 2008-10-09 France Telecom Procede de signature de liste anonyme et correlable
CN106375327A (zh) * 2016-09-13 2017-02-01 湖北工业大学 一种抗恶意攻击的代理密钥混淆电子投票***及方法
CN106375327B (zh) * 2016-09-13 2019-05-24 湖北工业大学 一种抗恶意攻击的代理密钥混淆电子投票***及方法

Also Published As

Publication number Publication date
CN1954546B (zh) 2012-08-22
CN1954546A (zh) 2007-04-25
JP2007538443A (ja) 2007-12-27
WO2005122466B1 (fr) 2006-03-16
US20080046310A1 (en) 2008-02-21
JP4818264B2 (ja) 2011-11-16
KR101192875B1 (ko) 2012-10-18
KR20070040755A (ko) 2007-04-17
US8352380B2 (en) 2013-01-08
EP1747639A1 (fr) 2007-01-31

Similar Documents

Publication Publication Date Title
EP1747639A1 (fr) Abrege descriptif procede et systeme de signature de liste
EP1612991B1 (fr) Procédé et système de vote électronique en réseau à haute sécurité
US7571324B2 (en) Method and device for anonymous signature with a shared private key
CA2112518C (fr) Procede d'authentification d'au moins un dispositif d'identification par un dispositif de verification et dispositif pour sa mise en oeuvre
EP2656538B1 (fr) Accès anonyme a un service au moyen de certificats agrégés
EP2446579B1 (fr) Procédé d'authentification mutuelle d'un lecteur et d'une étiquette radio
EP1523824B1 (fr) Procede de signature de liste et application au vote electronique
FR2834403A1 (fr) Systeme cryptographique de signature de groupe
WO2011117486A1 (fr) Infrastructure non hierarchique de gestion de bi-cles de securite de personnes physiques
FR2937484A1 (fr) Procede de signature numerique en deux etapes
WO2007045745A1 (fr) Procede et dispositif de creation d'une signature de groupe et procede et dispositif de verification d'une signature de groupe associes
EP0311470A1 (fr) Procédés et systèmes d'authentification d'accréditations ou de messages à apport nul de connaissance et de signature de messages
EP2371083B1 (fr) Signature de groupe a vérification locale de révocation avec capacité de levée d'anonymat
WO2020136319A1 (fr) Procédé et système de vote électronique
EP2742645B1 (fr) Procédé de gestion et de contrôle de données de différents domaines d'identité organisés en ensemble structure
EP3965361A1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
FR2834841A1 (fr) Procede cryptographique de revocation a l'aide d'une carte a puce
FR2788909A1 (fr) Procede d'authentification ou de signature a nombre de calculs reduit
WO2011030069A1 (fr) Procede de generation d'un certificat numerique
FR3091107A1 (fr) Procédé et système de génération de clés pour un schéma de signatures anonymes
EP2225849B1 (fr) Controle d'une entite a controler par une entite de controle
WO2008081151A2 (fr) Procede de signature de liste anonyme et correlable
WO2007093680A1 (fr) Procede de certification de cle publique par un prestataire non accredite
WO2011027071A1 (fr) Procédé cryptographique d'abonnement anonyme a un service
WO2008087359A2 (fr) Procédé de signature de liste anonyme et traçable sans levée d'anonymat

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
B Later publication of amended claims

Effective date: 20051209

REEP Request for entry into the european phase

Ref document number: 2005773026

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005773026

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11596548

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2007517338

Country of ref document: JP

Ref document number: 200580015778.9

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 1020067025556

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005773026

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11596548

Country of ref document: US