EP1747639A1 - Method and system for generating a list signature - Google Patents

Method and system for generating a list signature

Info

Publication number
EP1747639A1
EP1747639A1 EP05773026A EP05773026A EP1747639A1 EP 1747639 A1 EP1747639 A1 EP 1747639A1 EP 05773026 A EP05773026 A EP 05773026A EP 05773026 A EP05773026 A EP 05773026A EP 1747639 A1 EP1747639 A1 EP 1747639A1
Authority
EP
European Patent Office
Prior art keywords
signature
list
electronic
sequence number
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP05773026A
Other languages
German (de)
French (fr)
Inventor
Sébastien CANARD
Marc Girault
Jacques Traore
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 SA filed Critical France Telecom SA
Priority to EP05773026A priority Critical patent/EP1747639A1/en
Publication of EP1747639A1 publication Critical patent/EP1747639A1/en
Withdrawn legal-status Critical Current

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

The invention relates to a method for generating a list signature for a message to be signed (M), said method comprising steps which are carried out by an electronic material support (7) of a member of a list. During said step, the electronic material support only generates an electronic signature (Si) according to a sequence number (REPSEQ) supplied to the electronic material support by a certifying authority, according to evidence of belonging (SKL) to the list of members, to data (Idi, SKi) relating to the electronic material support, and optionally to a key of an authority qualified to lift the anonymity of the generated signature.

Description

PROCEDE ET SYSTEME DE SIGNATURE DE LISTE.LIST SIGNATURE METHOD AND SYSTEM.
La présente invention concerne le domaine de la signature électronique de message faisant appel à des techniques de cryptographie.The present invention relates to the field of electronic message signature using cryptographic techniques.
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.It applies in particular, but not exclusively to electronic voting, polling, calls for tender or any form of anonymous contest. It also applies to the control of access to paid services such as transport services, or cinema using an access ticket, allowing the user to access the service a limited number of time. As soon as the number of accesses has reached a limit value, he should no longer be able to use his title. In this type of application, it is not necessary to know the identity of the user. It suffices to be able to prove during an access that he has the right to do so.
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.The electronic signature is a mechanism covered by so-called asymmetric or public key cryptography. In this mechanism, 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.
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 :We also proposed the concept of group signature which allows each member of a group to produce a signature such that an verifier with an adequate public key can verify that the signature was issued by a member of the group without being able to determine the identity of the signatory. This concept is for example described in the 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 ;[1] "A Practical and Provably Secure Coalition-Résistant Group Signature Scheme" by G. Ateniese, J Camenisch, M. Joye and 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.[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.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. 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. 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). 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.
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.However, in this concept of 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. In addition, 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.
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.There are also so-called electronic list signatures allowing members of a list to produce a signature such that an verifier can recognize that the signature was produced by a member of the list, without being able to determine the identity of the member. In accordance with the concept of list signature, which is for example described in patent application FR 2 842 680 filed by the Applicant, the time is divided into sequences identified by a sequence representative having a predefined period of validity. During a sequence, each member of the list is authorized to produce signatures from which it is possible for an verifier to determine whether or not two signatures have been issued by the same member of the list, without being able to access the identity of the signatory. Thus, if a member of the list produces two signatures during the same sequence, it is possible to detect it without ability to determine identity of signatory.
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.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. However, 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.
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.More precisely, 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. At the start of a given sequence, the trusted authority generates a sequence representative valid only for the duration of the sequence. When producing a signature, 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.
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.The major disadvantage of all these concepts comes from the fact that they require significant calculations. Indeed, with each signature generated, it is necessary to produce proofs of knowledge which in practice implement, in particular to generate random numbers, numerous modular exponentiations, very costly in computation time: a smart card equipped with a cryptographic processor takes approximately 1 second per modular exponentiation. A solution to this problem of cost in computation time has been proposed for group signatures in patent application FR 2 834 403 filed by the Applicant. This solution which consists in implementing a smart card (cryptographic processor) has the disadvantage of group signatures, namely that it is not possible to link the signatures issued by a given member without lifting the anonymity of 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.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. According to the invention, 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.
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.According to one embodiment of the invention, 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.
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.According to one embodiment of the invention, 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.
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.According to one embodiment of the invention, the pseudo-random number generated from the sequence number is transmitted with the generated electronic signature.
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.According to one embodiment of the invention, 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.
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.According to one embodiment of the invention, 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.
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.According to an embodiment of the invention, a pseudo-random number generated from the sequence number is used for the encryption of the member identification code.
De préférence, l'identifiant chiffré est émis avec la signature électronique générée.Preferably, the encrypted identifier is issued with the electronic signature generated.
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.According to one embodiment of the invention, 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.
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.According to one embodiment of the invention, 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.
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.According to one embodiment of the invention, the maximum number of signatures transmitted is initialized when a sequence number is changed.
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.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.
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.According to the invention, 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.
L'invention concerne également un support matériel électronique comprenant des moyens pour mettre en œuvre le procédé défini ci-avant.The invention also relates to an electronic material support comprising means for implementing the method defined above.
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.According to one embodiment of the invention, the electronic hardware support is in the form of a cryptographic microprocessor card.
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 :A preferred embodiment of the invention will be described below, by way of nonlimiting example, with reference to the appended drawings in which:
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 ;FIG. 1 represents a system allowing the implementation of the list signing and electronic voting methods, according to the 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 ;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;
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 ;Figures 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;
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.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.
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.Such a method can be implemented in the system shown in FIG. 1. 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. By the network 5, 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.
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.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.
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).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).
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 :To belong to the group, 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:
- 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.- 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.
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.The smart card 7 is preferably secure to prevent access from the outside to certain data stored in particular in the ROM memory 15. In addition, to implement the list signing method according to the invention, 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.
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.If the list signatures generated must be open by an authority empowered to lift anonymity, a symmetric or asymmetric encryption algorithm is used. This 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.
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.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.
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.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.
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.To sign a message M on behalf of the list, 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.
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.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.
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.So that the pseudo-random number Rj generated depends on the card, 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. Typically, 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.
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 :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:
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) || représentant l'opérateur de concaténation.The signature algorithm applied by this procedure can be synthesized by the following formulas: Ri = PRNG (SKι, REPSEQ) (1) Si = Sign (SK L , Ri || M) (2) || representing the concatenation operator.
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.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.
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.The Sign function chosen is for example of the RSA (Rivest, Shamir, and Adleman) type consisting of a transformation of the value Rj || M, followed by an increase in the quantity obtained at the power SK L modulo n. The transformation which makes it possible to format the value R; || 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.
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.To verify the signature S, simply apply the group signature verification procedure consisting in the example above to raise the signature Si to the power SK L modulo n, transform the value obtained to convert it into a chain characters (I20SP function of PKCS # 1 standard) and compare the transformed value obtained with the signed message M. Of course, 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.
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.To check whether two signatures generated with the same REPSEQ sequence number have been issued by the same member of the list, it suffices to compare the numbers R; associated with the signature of the message S; in the signature S, these numbers being identical for two signatures S issued by the same smart card for the same sequence number.
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.Note that like the number R; appears in signature S; which is generated, it is not necessary to send it with it, unless you want that even people who do not have the list key to verify the signature Si can link two signatures issued by the same smart card for the same sequence.
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.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.
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.Compared to the procedure described above with reference to FIG. 3, 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 result of this encryption is concatenated with the pseudo-random number Rj obtained in the same way as in the non-working list signing procedure, this concatenation making it possible to obtain a value Ri || which is concatenated with the message M before its signature, and possibly with the signature S; obtained.
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.It should be noted that 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.
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)The signature algorithm applied by this procedure can thus be synthesized by the following formulas: Ri = PRNG (SKi, REPSEQ) (4) d = Enc (PK M0 , Id (5) Si = Sign (SK L , Ri || d || M) (6) S = Ri || Q || If (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;.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 ;.
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 :The Sign signature function consists, for example, in converting the value Ri || Ci || M applied as an input, in whole number, using a function such as OS2IP of the PKCS # 1 v2.1 standard, and to be applied to the converted value M ' obtained the exponentiation function modulo n to the power SK:
Si = M'SKL (mod n) (8)Si = M ' SK L (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.This algorithm therefore only includes a pseudo-random number calculation and two encryption calculations which can each consist of a simple modular exponentiation.
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)To verify that the signature was issued by a member of the list, it suffices to know the signature function (the number n in the example above) and the public key PK L of the list. In the example, it suffices to calculate the following value: M "= S; PK L (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.to convert the value M "using the reverse conversion function I2OSP of the PKCS # 1 v2.1 standard, and to check the equality of the value obtained with the 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.To determine whether two signatures have been issued by the same member of the list, it suffices to compare the values of the pseudo-random number R; contained in both signatures. As in the example previously described with reference to FIG. 3, it is not necessary to transmit the pseudo-random number Rj with the signature S, unless it is desired that even people who do not have the key to list for verifying the signature S; can link two signatures issued by the same smart card for the same sequence.
Il est à noter que les personnes ne disposant pas de la clé SKMo ne peuvent pas lever l'anonymat de la signature.It should be noted that people who do not have the SK M o key cannot lift the anonymity of the 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.If 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.
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.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.
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.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.
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.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. Thus, if a smart card is corrupted, the fraudster has access only to the key SK M oi of the card without being able to produce a signature of list in the name of another identifier than that contained in the card. A fraudster will therefore not be able to impersonate another member of the list.
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é.It should be noted that if the authority empowered to lift the anonymity of signatures is the same as the trusted authority handing out smart cards to members of the list, it is not necessary to issue the identifier with signature S, since it appears in the signature, associated with the signed message.
La figure 5 illustre une autre variante ouvrable du procédé de signature de liste selon l'invention.FIG. 5 illustrates another openable variant of the list signing method according to the 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.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.
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)The signature algorithm applied by this procedure can thus be synthesized by the following formulas: Ri = PRNG (SKi, REPSEQ) (10) Ci = Enc (PK M0 , Ri, Idi) S; = Sign (SK L , 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-In this way, 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-
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.As before, the encryption function Enc can be symmetrical or asymmetrical. In the first case, 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.
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é.According to another embodiment of the invention, 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.
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é.In one embodiment of the invention, the smart card 7 executes the signature generation procedure 40 illustrated in FIG. 7. In this procedure, 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.
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.During a first step 41 of the procedure 40, 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.
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.If the signature is valid, 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.
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.In a first variant, 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. Thus for example for an application of tickets, one can provide cards with 10 passages and others with 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).In another variant, 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. In this case, 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 || 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.In one and / or the other variant, 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.
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).In the next 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).
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.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.
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.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.
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.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. During the organization of the ballot, scrutineers are also appointed who will count the votes and determine the result of the election.
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.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.
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.In 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.
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.In addition, 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. To this end, 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.
Le partage de la clé privée de déchiffrement entre tous les scrutateurs peut être effectué de la manière suivante.The sharing of the private decryption key between all of the tellers can be done as follows.
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)We consider g a generator of the cyclic group G. A private key X; is assigned to each scrutineer i who calculates the number y; belonging to G such that: Yi = g xi (1)
La clé publique Y à utiliser par les électeurs est obtenue par la formule suivante : et la clé privée X correspondante partagée par tous les scrutateurs i est la suivante : X = ∑Xi (3) iThe public key Y to be used by voters is obtained by the following formula: and the corresponding private key X shared by all the tellers i is as follows: 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.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.
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.During the opening of the polling stations, each voter issues a ballot by executing a procedure 60 on a terminal. In step 61, 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.
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.In step 62, the encryption of the vote is carried out using an encryption algorithm, such as for example the El Gamal or Paillier algorithm. If we apply the El Gamal algorithm, the encryption is performed by calculating the following numbers: a, = v J Y 'and b, = g r (4) in which r is a pseudo-random element. The encrypted Vj vote is then constituted by the couple Dj = (aj, b j ). The voter E j calculates 63 then the signature of the list of the encrypted vote Sj = Sigι iste (aj || bj), Sigι iste being the signature of list as described above, obtained by his smart card 7, and being transmitted to terminal 2. 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.
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.At the end of the poll, 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.
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)The actual deciphering of the ballots consists for each ballot issued (step 73) in checking 74 the signature S; by executing the list signature verification procedure 40 described above, and if the signature is valid and unique (step 75), to decrypt 76 the encrypted vote D j by applying the following formula: = aj / b j 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).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 ).
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.The private decryption key X is also published to allow everyone to check the counting of the ballots.
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.Once all the ballots have been counted, 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.
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.It is easy to note that the properties set out above, necessary for the establishment of an electronic voting system, are verified by the method described above. Each voter can only vote once (the smart card can only issue one signature for a number of given sequence), if the maximum number of signatures likely to be issued is set to 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.Then, it is not possible to start counting the ballots before the end of the poll if at least one of the scrutineers respects the rule, since it takes the presence of all the scrutineers to count a ballot. Finally, the result of the election is verifiable by all since the tellers provide in the database all the necessary elements (in particular the private counting key) to carry out such a verification, and that the verification of a signature is accessible to all using the public key PK L of the trusted authority. So anyone can count in the same way as the tellers and therefore ensure that it has been done correctly.
Les clés des scrutateurs sont bien entendu obsolètes à la fin du scrutin, puisqu'elles sont publiées. The tellers' keys are of course obsolete at the end of the poll, since they are published.

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. 1. Method for generating a signature of a list relating to a message to be signed (M), comprising steps executed by an electronic material medium (7) of a member of a list, during which the electronic material medium generates an electronic signature (Si) from the message to be signed, and emits the generated signature, characterized in that the electronic signature (Si) is generated only as a function of the message to be signed, of a sequence number (REPSEQ) provided by a trusted authority in the electronic medium, proof of membership (SK L ) in the list of members, data (Idi, SKj) specific to the electronic medium, and optionally a key (PK M o) an authority empowered to lift the anonymity of the signature generated.
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.2. Method according to claim 1, comprising steps during which the electronic material support (7) generates as a function of the sequence number (REPSEQ) a pseudo-random number (R;) used for the generation of the electronic signature (Si) , the pseudo-random number generated varying only as a function of the sequence number and of data specific to the electronic medium.
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.3. Method according to claim 2, in which the generation of the pseudo-random number (Ri) is carried out using an encryption function using a secret key (SK;) memorized by the specific electronic medium (7). of it.
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).4. Method according to claim 2 or 3, wherein the pseudo-random number (Ri) generated from the sequence number (REPSEQ) is transmitted with the generated electronic signature (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. 5. Method according to one of claims 1 to 4, wherein the proof of membership in the list of members is constituted by the knowledge of a secret key (SK L ) common to the members of the list.
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). 6. Method according to one of claims 1 to 5, further comprising a step during which the electronic hardware support (7) encrypts by an encryption algorithm using the key (PK M o) of the authority empowered to lift the anonymity of the generated signature, a stored identification code (Idi) by the electronic material support, identifying the member (i) having the electronic material support, to obtain an encrypted identifier (Q) which is used for the generation of the electronic signature (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).7. The method of claim 6, wherein a pseudo random number (R;) generated from the sequence number (REPSEQ) is used for the encryption of the member identification code (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.8. The method of claim 6 or 7, wherein the encrypted identifier (Q) is issued with the electronic signature (Si) generated.
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.9. Method according to one of claims 1 to 8, in which the electronic hardware medium (7) receives the sequence number (REPSEQ) associated with a signature of the sequence number, from a trusted authority, checks the signature of the sequence number, and refuses to generate a new signature if the signature associated with the sequence number is not correct.
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.10. Method according to one of claims 1 to 9, wherein the electronic material support (7) generates a signature if the number of signatures previously issued is less than or equal to a maximum number of authorized signatures.
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).11. The method of claim 10, wherein the maximum number of signatures transmitted is initialized upon a change of sequence number (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. 12. Electronic voting method comprising an organization phase (50) of elections, during which an organizing authority proceeds to the generation of parameters necessary for an election, and allocates keys to tellers enabling them to decipher and verify ballots, a phase of assigning a signature right to each of the electors, a voting phase (60) during which the electors sign a ballot, and a counting phase (70) during of 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, characterized in that it implements a list signing method according to claim 10 or 11, to sign the ballot papers, each voter being registered as a member of a list, a sequence number (REPSEQ) being generated for the poll, the maximum number of signatures authorized being equal to 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.13. Electronic hardware support, characterized in that it comprises means for implementing the method according to one of claims 1 to 12.
14. Support matériel électronique selon la revendication 13, se présentant sous la forme d'une carte à microprocesseur cryptographique (7). 14. Electronic hardware support according to claim 13, in the form of a cryptographic microprocessor card (7).
EP05773026A 2004-05-19 2005-05-18 Method and system for generating a list signature Withdrawn EP1747639A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05773026A EP1747639A1 (en) 2004-05-19 2005-05-18 Method and system for generating a list signature

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP04291288 2004-05-19
EP04291289 2004-05-19
EP05773026A EP1747639A1 (en) 2004-05-19 2005-05-18 Method and system for generating a list signature
PCT/FR2005/001248 WO2005122466A1 (en) 2004-05-19 2005-05-18 Method and system for generating a list signature

Publications (1)

Publication Number Publication Date
EP1747639A1 true EP1747639A1 (en) 2007-01-31

Family

ID=34978912

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05773026A Withdrawn EP1747639A1 (en) 2004-05-19 2005-05-18 Method and system for generating a list signature

Country Status (6)

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

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2326175T3 (en) * 2004-06-30 2009-10-02 France Telecom PROCEDURE AND ELECTRONIC VOTING SYSTEM IN HIGH SECURITY NETWORK.
JP2007004461A (en) * 2005-06-23 2007-01-11 Nec Corp Service providing system, outsourcing agency apparatus, service providing method, and program
JP4218760B2 (en) * 2005-07-01 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Traceability verification system, method and program
FR2911024A1 (en) * 2006-12-27 2008-07-04 France Telecom List e.g. electoral list, signature method for e.g. electronic voting field, involves supplying data by member of list, where data includes authentication data calculated based on formula, and implementing secret keys without revealing
FR2911025A1 (en) * 2006-12-27 2008-07-04 France Telecom List e.g. electoral list, signaturing method for e.g. electronic voting field, involves providing data by member, where data is function of secret key and independent of identifier, and implementing secret keys without revealing keys
JP4548441B2 (en) * 2007-04-11 2010-09-22 日本電気株式会社 Content utilization system and content utilization method
US8923519B2 (en) * 2009-05-29 2014-12-30 Alcatel Lucent Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
US20140173287A1 (en) * 2011-07-11 2014-06-19 Takeshi Mizunuma Identifier management method and system
US9641318B2 (en) * 2015-01-06 2017-05-02 Google Inc. Systems and methods for a multiple value packing scheme for homomorphic encryption
CN106375327B (en) * 2016-09-13 2019-05-24 湖北工业大学 A kind of proxy signature key of anti-malicious attack obscures electronic voting system and method
KR101893823B1 (en) * 2016-10-04 2018-08-31 주식회사 고영테크놀러지 Board inspection apparatus and method of compensating board distortion using the same
IT201600116085A1 (en) * 2016-11-17 2018-05-17 Ansaldo Sts Spa Apparatus and method for the safe management of vital communications in the railway environment
EP3503456A1 (en) * 2017-12-19 2019-06-26 Koninklijke Philips N.V. Homomorphic encryption for password authentication
FR3091107A1 (en) * 2018-12-24 2020-06-26 Orange Method and system for generating keys for an anonymous signature scheme
CN110189184B (en) * 2019-04-26 2024-04-26 深圳市智税链科技有限公司 Electronic invoice storage method and device
EP4062579B1 (en) 2020-01-19 2023-10-25 Mobileye Vision Technologies Ltd. Anonymous collection of data from a group of entitled members
US11722312B2 (en) 2020-03-09 2023-08-08 Sony Group Corporation Privacy-preserving signature

Family Cites Families (17)

* 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
JP2001202013A (en) 2000-01-21 2001-07-27 Nec Corp Anonymous participation authority control system
JP3823599B2 (en) 1999-04-22 2006-09-20 富士ゼロックス株式会社 Distribution information management apparatus and method
US20010034640A1 (en) * 2000-01-27 2001-10-25 David Chaum Physical and digital secret ballot systems
AU2000275203A1 (en) * 2000-04-28 2001-11-12 Swisscom Mobile Ag Method for securing communications between a terminal and an additional user equipment
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
FR2834403B1 (en) 2001-12-27 2004-02-06 France Telecom CRYPTOGRAPHIC GROUP SIGNATURE SYSTEM
WO2003090429A1 (en) * 2002-04-15 2003-10-30 Docomo Communications Laboratories Usa, Inc. Signature schemes using bilinear mappings
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
FR2842680A1 (en) 2002-07-19 2004-01-23 France Telecom LIST SIGNING METHOD AND ELECTRONIC VOTING APPLICATION
CA2464788A1 (en) * 2003-04-16 2004-10-16 Wms Gaming Inc. A gaming software distribution network in a gaming system environment
EP1625470A1 (en) * 2003-05-21 2006-02-15 Hewlett-Packard Development Company, L.P. Use of certified secrets in communication
JP4591894B2 (en) * 2003-10-17 2010-12-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Maintaining privacy for processing that can be performed by user devices with security modules
JP4397675B2 (en) * 2003-11-12 2010-01-13 株式会社日立製作所 Computer system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Correct System Design", vol. 2727, 1 January 2003, SPRINGER INTERNATIONAL PUBLISHING, Cham, ISBN: 978-3-642-27584-5, ISSN: 0302-9743, article SÉBASTIEN CANARD ET AL: "On Fair E-cash Systems Based on Group Signature Schemes", pages: 237 - 248, XP055274171, 032548, DOI: 10.1007/3-540-45067-X_21 *
"IFIP. INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING", vol. 153, 22 August 2004, ISSN: 1571-5736, article SÉBASTIEN CANARD ET AL: "Anonymous Services Using Smart Cards and Cryptography", pages: 83 - 98, XP055274173, DOI: 10.1007/1-4020-8147-2_6 *
SEBASTIEN CANARD ET AL: "WCC 2003: List Signature Schemes and Application to Electronic Voting", WCC 2003, 25 March 2003 (2003-03-25), XP055274172, Retrieved from the Internet <URL:https://www.rocq.inria.fr/secret/WCC2003/program.html> [retrieved on 20160520] *
See also references of WO2005122466A1 *

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2005122466A1 (en) Method and system for generating a list signature
EP1612991B1 (en) Electronic voting method and corresponding system in a high security network
US7571324B2 (en) Method and device for anonymous signature with a shared private key
EP2656538B1 (en) Anonymous access to a service by means of aggregated certificates
EP2446579B1 (en) Process for mutually authenticating a reader and a radio tag
FR2834403A1 (en) CRYPTOGRAPHIC GROUP SIGNATURE SYSTEM
WO2011117486A1 (en) Non-hierarchical infrastructure for the management of paired security keys of physical persons
FR2759226A1 (en) PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE
FR2937484A1 (en) DIGITAL SIGNATURE METHOD IN TWO STEPS
WO2007045745A1 (en) Method and device for creating a group signature and related method and device for verifying a group signature
EP0311470A1 (en) Methods and systems to authenticate authorizations and messages with a zero knowledge-proof system and to provide messages with a signature
EP1523824A1 (en) List signature method and application to electronic voting
EP2371083B1 (en) Group signature with local revocation verification with capacity for lifting anonymity
WO2020136319A1 (en) Method and system for electronic voting
EP2742645B1 (en) Method for managing and checking data from different identity domains organized into a structured set
EP3965361A1 (en) Data exchange between a client and a remote device, for example a secure module
FR2834841A1 (en) CRYPTOGRAPHIC REVOCATION PROCESS USING A CHIP CARD
FR2788909A1 (en) Electronic cash card authentication process having public/secret key authenticating unit passed and having modulo number relationship authentication without needing knowledge transfer.
WO2011030069A1 (en) Method for generating a digital certificate
FR3091107A1 (en) Method and system for generating keys for an anonymous signature scheme
EP2225849B1 (en) Control of an entity to be controlled by a control entity
EP1989819B1 (en) Method for certifying a public key by an uncertified provider
WO2008081151A2 (en) Method for signing an anonymous and correlatable list
WO2011027071A1 (en) Cryptographic method for anonymously subscribing to a service
WO2008087359A2 (en) Method of anonymous list signature that can be traced without lifting anonymity

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20061009

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: CANARD, SEBASTIEN

Inventor name: GIRAULT, MARC

Inventor name: TRAORE, JACQUES

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

17Q First examination report despatched

Effective date: 20160527

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20161007