EP4042633A1 - Procédé de dérivation de signature partielle avec vérification partielle - Google Patents

Procédé de dérivation de signature partielle avec vérification partielle

Info

Publication number
EP4042633A1
EP4042633A1 EP20796871.0A EP20796871A EP4042633A1 EP 4042633 A1 EP4042633 A1 EP 4042633A1 EP 20796871 A EP20796871 A EP 20796871A EP 4042633 A1 EP4042633 A1 EP 4042633A1
Authority
EP
European Patent Office
Prior art keywords
messages
signature
verification
partial signature
subset
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.)
Pending
Application number
EP20796871.0A
Other languages
German (de)
English (en)
Inventor
Olivier Sanders
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
Orange 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 Orange SA filed Critical Orange SA
Publication of EP4042633A1 publication Critical patent/EP4042633A1/fr
Pending 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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

Definitions

  • the invention relates to the general field of telecommunications and relates more precisely to the securing of exchanges between communication devices using cryptographic techniques such as electronic signature techniques.
  • the electronic signature is a cryptographic tool which makes it possible to authenticate any digital data, thus acting as the equivalent of the traditional handwritten signature.
  • This technique is now ubiquitous in our daily life, whether it is when browsing the Internet, since access to any URL in https implies the use of electronic signatures, or when paying at using a bank card. It also constitutes the very basis of anonymous authentication mechanisms, popularized by DAAs (standing for “Direct Anonymous Attestation”), and by EPID (standing for “Enhanced Privacy IDentity”). In most cases, it is not a single piece of data that is certified, but a set of n data, with n> 0, for example the name, date of birth, address, etc., of a person.
  • the existing electronic signature solutions can then be grouped into two families: those which produce a signature of constant size, and others whose size depends on the value of n.
  • the former are obviously preferable with regard to the size of the signature, but this constant cost hides a major flaw: the signature is valid on all the signed data and can therefore only be verified by transmitting all the data that have been signed.
  • One of the aims of the invention is to remedy shortcomings / drawbacks of the state of the art, and / or to make improvements thereto.
  • the invention proposes a method of deriving a partial signature for a subset (I) of a set of messages ( ⁇ m_l, ..., m_n ⁇ ), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature derivation entity, comprising:
  • a second verification element intended to prove that the first verification element is well formed, and for sending to a verification entity (12) a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element (A) and the second verification element (B), said partial signature being intended to be checked with only messages from the message subset.
  • the method describes a signature system of constant size that combines the best of both worlds. Indeed, the proof of the signature can be done in a very efficient way because the proof includes a constant number of elements, the constant being of reasonable size; in fact, it requires four elements of the partial signature.
  • This system also makes it possible to check the validity of a signature on a subset of messages without needing to know, and therefore to transmit, the other parts of the message. This scheme can be advantageously used in all use cases requiring authentication, whether anonymous or not.
  • the generation of the partial signature comprises an anonymization of the partial signature, said anonymization comprising:
  • the method comprises beforehand a generation of a secret key and of an associated public key in a bilinear environment, said environment designating a first group G1, a second group G2 and a third group GT of order first p, as well as a bilinear map e, taking as input an element of the first group Gl, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, an element of the first group Gl, respectively of the second group G2, said generation comprising:
  • the derivation of the partial signature for the subset I of the set ⁇ 1, ..., n ⁇ of messages comprises:
  • the calculation of the partial signature includes the calculation of two elements A and B.
  • the messages used to calculate the first element A are the messages which are not part of the message subset.
  • the second element B uses messages of which one of the indices, i, traverses the set I relating to the subset of messages, while the other index j, relates to the messages which are not part of the subset of messages .
  • the signature is formed from the elements of the signature of all the messages, the first element A and the second element B.
  • the signing of the set of messages comprises:
  • the invention also relates to a method of verifying a partial signature for a subset I of a set of messages ⁇ m_l, ..., m_n ⁇ , called a subset of messages, said partial signature being intended for proving the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature verification entity, comprising:
  • said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first element verification calculated from the messages of the set other than those of the subset of messages and a second verification element intended to prove that the first element is well formed
  • the partial signature verification method is suitable for verifying that a partial signature on a subset of messages is valid or not. Partial signature verification is the same whether it is a partial signature or an anonymous partial signature. Thus, whether it is a partial signature or an anonymous partial signature, the same verification process is used. The implementation of the signature scheme is thus simplified and optimized, thus offering better performance.
  • the invention also relates to an entity for deriving a partial signature, intended to derive a partial signature for a subset I of a set ⁇ 1, ..., n ⁇ of messages ⁇ m_l, ..., m_n ⁇ , said subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature derivation entity, comprising:
  • - reception means arranged to receive the set of messages ⁇ m_l, ..., m_n ⁇ and a signature (q, s) of said set of messages, said signature of all of the messages comprising signature elements of the set of messages,
  • Means for deriving a second element and sending arranged to derive a second verification element B intended to prove that the first verification element is well formed, and to send a signature verification entity partial a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element and the second verification element, the partial signature being intended to be verified with only the messages of the message subset.
  • the invention also relates to a partial signature verification entity, intended to verify a partial signature for a subset I of a set of messages ⁇ m_l, ..., m_n ⁇ , called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature verification entity, comprising:
  • - reception means arranged to receive the subset of messages and a partial signature (q, s, A, B) specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first verification element A calculated from the messages of the set other than those of the message subset and a second verification element B intended to prove that the first element of verification is well trained,
  • first verification means arranged to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element, and elements of the public key, and
  • second verification means arranged to verify a second equation involving the first verification element, the second verification element and elements of the public key.
  • a partial signature derivation and verification system comprising:
  • the invention also relates to a use of a partial signature derivation and verification system as described above in an anonymous accreditation system.
  • the partial signature derivation method and the partial signature verification method are particularly well suited to anonymous accreditations. Indeed, the need not to reveal certain parts of this data is evident in the field of anonymous accreditations and solved by the proposed scheme.
  • the exemplary embodiment relating to anonymous partial signatures can be directly used as an anonymous accreditation system because it also satisfies the strongest intraceability properties, while offering better performance than other state-of-the-art solutions. 'art.
  • the invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the signature derivation method as described above. , when the program is executed on said computer.
  • the invention also relates to a data medium in which the program described above is recorded.
  • the invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the partial signature verification method such as described above, when the program is executed on said computer.
  • the invention also relates to a data medium in which the program described above is recorded.
  • FIG. 1 shows the steps of a signature method, according to an exemplary embodiment
  • FIG. 2 is a schematic representation of an entity for deriving a partial signature capable of implementing the steps of the method for deriving a partial signature for a subset of messages, according to an exemplary embodiment
  • Figure 3 is a schematic representation of a verification entity of a partial signature capable of implementing the steps of the method of verifying a partial signature for a subset of messages, according to an exemplary embodiment.
  • the signature scheme described here operates in a bilinear environment which designates three groups, usually denoted G1, G2 and GT, of prime order p, as well as a bilinear application e called “bilinear coupling” taking as input an element of the group G1 and an element of group G2 and valued in group GT.
  • G1, G2 and GT groups
  • p prime order
  • G1 and G2 bilinear application e called “bilinear coupling” taking as input an element of the group G1 and an element of group G2 and valued in group GT.
  • This type of environment has become classic in cryptography and can be implemented very efficiently. It should be noted that the roles of G1 and G2 are perfectly interchangeable.
  • the signature scheme is based on a system that includes several entities:
  • the signatory entity 10 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the signatory entity,
  • the signature derivation entity 11 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature derivation entity 11,
  • the partial signature verification entity 12 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature verification entity 12. Note that the same entity can combine several roles. For example, a signing entity can also act as a partial signature derivation entity. Likewise, a signatory entity may also be required to play the role of a partial signature verification entity.
  • n denotes the maximum number of data that can be signed at a time.
  • n the maximum number of data that can be signed at a time.
  • m_l the maximum number of data that can be signed at a time.
  • m_n ⁇ the maximum number of data that can be signed at a time.
  • the signature scheme described here makes it possible to very effectively verify the validity of a signature on any subset of messages.
  • the signing entity 10 In a prior key generation step E10, the signing entity 10 generates, for the signature scheme, a pair of secret / public keys Ks / Kp.
  • the generation of keys can be implemented by a dedicated entity, distinct from the signing entity 10, the keys, and in particular the secret key then being transmitted to the signing entity 10 of securely, according to known methods not presented here.
  • g h a random element of group Gl, respectively of group G2
  • the secret key Ks of the signatory in the signature system consists of the random integers (x, y_l, ..., y_n).
  • the public key Kp is made up of the elements X, Y_i, Z_ ⁇ i, j ⁇ , and H_i.
  • Kp (X, Y_i, Z_ ⁇ i, j ⁇ , H_i)
  • the signature of the set of n messages is then (q, s).
  • the signing entity 10 can also sign messages of size n ', with n' ⁇ n with this same pair of keys, that is to say, without regenerating a pair of keys.
  • the message of size n 'to be signed is completed with ‘0' until a message of size n is obtained, and the signing entity 10 then uses its pair of keys Ks / Kp to sign it.
  • the signing entity 10 sends the signature (q, s) of the set of n messages to the partial signature derivation entity 11 as well as the set (m_l,. .., m_n ⁇ .
  • a partial signature derivation step E12 implemented to prove the validity of the signature (q, s) on a subset of messages mi for i belonging to a subset I of the set (1,. .., n ⁇ of messages
  • the partial signature derivation entity 11 receives, in a reception sub-step E12, the signature (q, s) on the set of messages (m_l, ..., m_n ⁇ .
  • the partial signature derivation entity 11 calculates, or derives, in a step El 3 for deriving a first element, a first verification element A which aggregates all the messages mj whose index j is in (1,. .., n ⁇ but not in the subset I.
  • the appropriate notation is (1, ..., n ⁇ ⁇ I.
  • the first check element A thus relates in a way to messages which do not interest l signatory entity 10, more precisely on messages which are not part of those for which it wants to prove the validity of the signature (q, s).
  • the partial signature derivation entity 11 calculates:
  • A ⁇ _ ⁇ j in (1, ..., n ⁇ ⁇ I ⁇ Y _j ⁇ ⁇ m _j ⁇
  • the partial signature is then (q, s, A).
  • This signature is specific to m_i messages, with i in the set I, i.e. it is intended to be used to verify the validity of the signature of this sub-set mi of messages on the basis of the signature of the n messages (q, s) and with only the messages of the sub-set of messages.
  • the partial signature derivation entity 11 calculates, or derives, a second verification element B.
  • This second verification element B is intended to prove that the first verification element A is valid, i.e. it is well formed.
  • the second verification element B makes it possible to show that the first verification element A, calculated from the hidden messages, is well formed, i.e. it cannot be used to cheat on the value messages mi, for i in I, which are presented to the partial signature verification entity 12.
  • the partial signature derivation entity 11 calculates:
  • the partial signature is then (q, s, A, B).
  • the partial signature (q, s, A, B) and the subset of messages m i, with i in I, are then sent at the end of step E14 to the partial signature verification entity 12.
  • the partial signature is of constant size and comprises few elements, in this case four elements. .
  • the verification entity 12 therefore does not need to know the set of messages ⁇ m_l, ..., m_n ⁇ or of the messages which would be linked by construction to messages of the subset of messages, such as for l age, date of birth.
  • the partial signature verification entity 12 receives from the signature derivation entity 11 the subset of messages ⁇ m_i ⁇ , with i in I, and the partial signature (q, s, A, B).
  • e (B, h) e ( ⁇ _ ⁇ in I, j in ⁇ 1, ..., n ⁇ ⁇ I ⁇ ( g ⁇ ⁇ y_j.y _j ⁇ ) ⁇ m _j, h)
  • This second equation is intended to ensure that the first verification element A, which groups together all the hidden messages, that is to say the messages which are not part of the subset of messages to be signed, is well formed.
  • “well-formed” is meant here that the first verification element A cannot be used to cheat on the value of the messages m _ i, for i in I, which are presented for verification.
  • the second verification element B is none other than g ⁇ P.
  • the partial signature derivation entity 12 is forced to reconstitute the polynomial P.
  • the polynomial P contains square monomials of the form ry ⁇ 2_i which cannot be reconstructed from the elements Z_ ⁇ i, j ⁇ of the key public, which only exist with the condition i ⁇ j.
  • the partial signature derivation entity 11 is honest, all the monomials necessary for the reconstruction of the polynomial P are provided in the public key.
  • the partial signature verification entity 12 is unable to reconstruct the polynomial P.
  • the verification entity 12 transmits the result to any entity requesting this verification
  • the first and second steps E1 3 and 14 of signature derivation are slightly modified so as to anonymize the signature scheme described in relation to FIG. 1. Indeed, with the diagram described above, each time a partial signature derivation entity uses its signature to authenticate itself, it presents the same signature, which makes it possible to trace it.
  • the elements of the signature (q, s) are anonymized by means of random scalars.
  • the partial signature derivation entity 11 calculates the first verification element A as follows:
  • A (g ⁇ t). ( ⁇ _ ⁇ j in ⁇ 1, ..., n ⁇ ⁇ 1 ⁇ Y_j ⁇ ⁇ m_j ⁇ )
  • the entity 11 for deriving the partial signature calculates the second verification element B as follows:
  • the two elements A and B thus calculated depend on one of the random scalars. They are thus also anonymized.
  • the entity 11 for deriving the partial signature sends to the verification entity 12 the new partial signature (q ', s', A, B) as well as the messages m_i , with i in I.
  • the partial signature derivation entity 11 each time the partial signature derivation entity 11 derives a partial signature on the same subset of messages for the purpose of authenticating itself, then the derived partial signature is different.
  • the partial signature is thus anonymous and it is then impossible to trace the partial signature derivation entity 11 during its various authentications.
  • the new partial signature or anonymous partial signature (q ', s', A, B) is verified by the signature verification entity 12 in the same way as in the first exemplary embodiment, that is to say - say that it is treated in the same way as a non-anonymous partial signature. More precisely, this verification takes as input the subset of messages ⁇ m_i ⁇ , with i in I, the anonymous partial signature (q ', s', A, B) and verifies the same two equalities (1) and (2 ) described previously.
  • the implementation of the partial signature derivation is facilitated since depending on whether the partial signature is anonymous or not, the implementation of the verification of the partial signature is identical.
  • This embodiment is particularly suitable for use in anonymous certificates or accreditations.
  • An anonymous certificate makes it possible to prove a property or a right linked to its holder, without revealing the identity of the latter. It protects the privacy of the anonymous accreditation holder by providing the property of anonymity and here non-traceability. It takes the form here of a cryptographic datum: the partial signature, which can be shown by its holder, here the partial signature derivation entity 11, to an organization, here the partial signature verification entity 12, for prove a property linked to his identity.
  • the partial signature derivation entity 11 is computer equipment, such as a computer.
  • the partial signature derivation entity 11 comprises:
  • a processing unit or processor 30, or “CPU” (standing for “Central Processing Unit”), intended to load instructions into memory, to execute them, to carry out operations;
  • the storage memory 32 is designed to store a partial signature derivation software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the partial signature derivation entity 11.
  • the storage memory 32 is also designed to store the public key Kp of the signature scheme in a secure area.
  • the partial signature derivation entity 11 also includes:
  • a reception module 33 designed to receive the set (m_l, ..., m_n ⁇ of messages and a signature of said set of messages.
  • the signature of all the messages comprises signature elements, denoted (q, s) of the set of messages.
  • the reception module 33 is designed to implement step E12 of the partial signature derivation method, a module 34 for deriving a first verification element, arranged to derive a first verification element A calculated from the messages of the set other than those of the subset of messages,
  • a module 35 for deriving a second verification and sending element arranged to derive a second verification element B intended to prove that the first verification element A is well formed and to send to a verification entity of a partial signature a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element A, and the second element verification B.
  • the partial signature is intended to be verified with only the messages of the message subset.
  • the derivation and sending module 34 is designed to implement steps E13 and E14 of the partial signature derivation method as described above.
  • the reception module 33, the module 34 for deriving a first verification element and the module 35 for deriving a second verification and sending element are preferably software modules comprising software instructions for implementing those. steps of the partial signature derivation method implemented by the partial signature derivation entity.
  • the partial signature derivation entity 11 comprises a module (not shown in FIG. 2) for deriving an anonymous partial signature.
  • This module is designed to generate random scalars and to calculate new elements of the signature.
  • the module 34 for deriving the first verification element is arranged to calculate the first element A as follows:
  • A g ⁇ t. ⁇ _ ⁇ j in (1, ..., n ⁇ ⁇ 1 ⁇ Y _j ⁇ ⁇ m _j ⁇ .
  • the derivation module 35 of the second verification and sending element is arranged to calculate the second verification element B as follows:
  • the first and second verification elements A and B are thus anonymized by means of one of the random scalars.
  • the new partial signature is noted (q ', s', A, B).
  • the module 35 for deriving the second verification and sending element is also arranged to send the new partial signature (q ', s', A, B) to the partial signature verification entity 12. .
  • the invention therefore also relates to:
  • the partial signature verification entity 12 is computer equipment, such as a computer.
  • the partial signature verification entity 12 comprises:
  • processor 40 intended to load instructions into memory, to execute them, to carry out operations
  • the storage memory 42 is arranged to store a partial signature verification software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying the signature.
  • partial signature The storage memory 42 is also designed to store the public key Kp of the signature scheme.
  • the partial signature verification entity 11 also includes:
  • a reception module 43 designed to receive the subset of messages and the partial signature (q, s, A, B) of the partial signature derivation entity 11.
  • the receiving module 43 is designed to implement step E15 of receiving the partial signature derivation method as described above,
  • a first verification module 44 designed to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element and elements of the public key.
  • the first verification module 44 is arranged to implement step E1 6 of verifying a first equation of the partial signature derivation method as described above, and
  • a second verification module 45 arranged to verify a second equation involving the first element of verification of the partial signature, the second element of verification of the partial signature, and elements of the public key.
  • the second verification module 45 is designed to implement step E117 for verifying a second equation of the partial signature derivation method as described above.
  • the reception module 43, the first verification module 44 and the second verification module 45 are preferably software modules comprising software instructions for implementing the steps of the partial signature derivation method described above and implemented by the partial signature verification entity 12.
  • the invention therefore also relates to:
  • a computer program comprising instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying a partial signature when this program is executed by a processor of the partial signature verification device,
  • a partial signature derivation and verification system comprising:

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de dérivation d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_1, …, m_n}), dit sous- ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de dérivation de signature partielle, comprenant : - une étape (E12) de réception de l'ensemble de messages ({m_1, …, m_n}) et d'une signature dudit ensemble de messages, ladite signature comprenant des éléments de signature ((q, s)) de l'ensemble de messages, - une étape (E13) de dérivation d'un premier élément de vérification (A) calculé à partir des messages de l'ensemble autre que ceux du sous-ensemble de messages, et - une étape (E14) de dérivation d'un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et d'envoi à une entité de vérification (12) d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification (A) et le deuxième élément de vérification (B), ladite signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages.

Description

PROCÉDÉ DE DÉRIVATION DE SIGNATURE PARTIELLE AVEC VÉRIFICATION PARTIELLE
L'invention se rapporte au domaine général des télécommunications et concerne plus précisément la sécurisation des échanges entre dispositifs de communication à l'aide de techniques cryptographiques telles que des techniques de signature électronique.
La signature électronique est un outil cryptographique qui permet d'authentifier n'importe quelle donnée numérique, agissant ainsi comme l'équivalent de la signature manuscrite traditionnelle. Cette technique est aujourd'hui omniprésente dans notre vie quotidienne, que ce soit lors d'une navigation sur Internet, puisque l'accès à n'importe quelle URL en https implique l'usage de signatures électroniques, ou lors d'un paiement à l'aide d'une carte bancaire. Elle constitue par ailleurs la base même des mécanismes d'authentification anonyme, popularisés par les DAA (de l'anglais « Direct Anonymous Attestation »), et par les EPID (pour « Enhanced Privacy IDentity »). Dans la majeure partie des cas, ce n'est pas une donnée unique qui est certifiée, mais un ensemble de n données, avec n > 0, par exemple le nom, la date de naissance, l'adresse, etc., d'une personne. Les solutions de signatures électroniques existantes peuvent alors être regroupées en deux familles : celles qui produisent une signature de taille constante, et les autres dont la taille dépend de la valeur de n. Les premières sont bien évidemment préférables en ce qui concerne la taille de la signature, mais ce coût constant cache un défaut majeur : la signature est valide sur l'ensemble des données signées et ne peut donc être vérifiée qu'en transmettant toutes les données qui ont été signées. Il est bien sûr possible de recourir à des techniques dites preuves à divulgation nulle de connaissance (de l'anglais « zero-knowledge proofs ») pour dissimuler ces éléments, mais cela ne résout que le problème de l'anonymat : ces preuves, très coûteuses, ont une complexité en taille au minimum linéaire en le nombre d'éléments dissimulés.
Deux schémas récents affichent une capacité à avoir une taille constante, tant pour la signature que pour la preuve de vérification. On connaît ainsi une première construction proposée par Camenisch et al. à
Asiacrypt 2015 dans l'article « Composable and Modular Anonymous Credentials : Définitions and Practical Constructions » qui satisfait cette propriété. Cependant, de l'aveu même des auteurs, les instanciations les plus efficaces de cette construction impliquent des preuves de plus d'une centaine d'éléments, ce qui en exclut l'utilisation en pratique. En effet ici, la preuve de vérification est de taille constante mais cette constante est extrêmement élevée.
Plus récemment, Fuchsbauer et al. ont publié dans le Journal of Cryptology 2019 « Structure-Preserving Signatures on Equivalence Classes and Constant-Size Anonymous Credentials » qui présente une construction dotée de la même propriété. Prouver la validité d'une signature peut se faire de manière plus efficace qu'avec le schéma précédent, mais le problème majeur ici est l'impossibilité de prouver une quelconque relation sur les données certifiées sans les révéler. Par exemple, il n'est pas possible de prouver qu'on est majeur sans révéler sa date de naissance, ce qui est contraire à l'esprit des attestations anonymes.
Un des buts de l'invention est de remédier à des insuffisances/inconvénients de l'état de la technique, et/ou d'y apporter des améliorations.
A cette fin, l'invention propose un procédé de dérivation d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, ..., m_n}), dit sous- ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de dérivation de signature partielle, comprenant :
- réception de l'ensemble de messages ({m_l, ..., m_n}) et d'une signature dudit ensemble de messages, ladite signature comprenant des éléments de signature ((q, s)) de l'ensemble de messages,
- dérivation d'un premier élément de vérification (A) calculé à partir des messages de l'ensemble autre que ceux du sous-ensemble de messages, et
- dérivation d'un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et d'envoi à une entité de vérification (12) d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification (A) et le deuxième élément de vérification (B), ladite signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages.
Le procédé décrit un système de signature de taille constante qui réunit le meilleur des deux mondes. En effet, la preuve de la signature peut se faire de manière très efficace car la preuve comprend un nombre constant d'éléments, la constante étant de taille raisonnable ; elle nécessite en effet quatre éléments de la signature partielle. Ce système permet par ailleurs de vérifier la validité d'une signature sur un sous-ensemble de messages sans avoir besoin de connaître, et donc de transmettre, les autres parties du message. Ce schéma peut être avantageusement utilisé dans tous les cas d'usage nécessitant une authentification, qu'elle soit anonyme ou pas.
De façon avantageuse, la génération de la signature partielle comprend une anonymisation de la signature partielle, ladite anonymisation comprenant :
- anonymisation des éléments de la signature ((q, s)) au moyen de scalaires aléatoires, et
- anonymisation du premier et du deuxième élément de vérification au moyen d'un des scalaires aléatoires.
Grâce à cette anonymisation, mise en œuvre par ajout judicieux d'éléments aléatoires, une signature devient parfaitement intraçable. Ainsi, une entité de dérivation de signature présentera, lors de deux authentifications différentes d'un même sous- ensemble de messages, une signature partielle différente. En effet, avec ce procédé, l'ensemble des messages non révélés est parfaitement masqué par de l'aléa. Il est admis que la propriété de non traçabilité d'une signature est une propriété de sécurité importante.
Dans un exemple de réalisation, le procédé comprend au préalable une génération d'une clé secrète et d'une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant :
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, ..., y_n), lesdits scalaires aléatoires formant la clé secrète de l'entité signataire, et
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique.
Dans cet exemple de réalisation, il est décrit comment sont calculées les clés secrète et publique d'une entité signataire.
Dans un exemple de réalisation, la signature de l'ensemble {1, ..., n} de messages, notés m_l, ..., m_n, comprend la sélection par l'entité signataire d'un élément aléatoire q du deuxième groupe G2, et le calcul de s = qΛ{x + y_l . m_l +...+ y_n . m_n}, ladite signature étant alors (q, s).
Dans cet exemple de réalisation, il est décrit comment est calculée la signature de l'ensemble de messages. Celle-ci comprend deux éléments q et s.
Dans un exemple de réalisation, la dérivation de la signature partielle pour le sous- ensemble I de l'ensemble {1, ..., n} de messages comprend :
- génération du premier élément de vérification A = Π _{j dans {1, ..., n} \ I} · Y_ jΛ{m_j}, et
- génération du deuxième élément de vérification B = Π_ {i dans I, j dans {1, ..., n} \ I} . Z_{i, j}Λ{m_j}, la signature partielle étant alors (q, s, A, B).
Dans cet exemple de réalisation, il est décrit de façon précise comment est calculée, ou dérivée, la signature partielle du sous-ensemble de messages. Le calcul de la signature partielle comprend le calcul de deux éléments A et B. Les messages utilisés pour calculer le premier élément A sont les messages qui ne font pas partie du sous- ensemble de messages. Le deuxième élément B utilise des messages dont un des indices, i, parcourt l'ensemble I relatifs au sous-ensemble de messages, tandis que l'autre indice j, est relatif aux messages qui ne font pas partie du sous-ensemble de messages. La signature est formée des éléments de la signature de l'ensemble des messages, du premier élément A et du deuxième élément B.
Dans un autre exemple de réalisation la signature de l'ensemble de messages comprend :
- sélection par l'entité signataire de deux scalaires r et t,
- calcul de q' = qΛr,
- calcul de de s' = sΛr . qΛ{r . t},
- génération du premier élément de vérification A = gΛt . Π _{j dans {1, ..., n} \ I} Y_jΛ{m_j}, et - génération du deuxième élément de vérification B = (Π_ {ΐ dans 1} Y_i)Λt . Π_ {i dans I, j dans {1, n} \ 1} Z_{i, j}Λ{m_j}, la signature partielle étant alors (q', s', A, B).
Dans cet autre exemple il est décrit comment calculer, ou dériver, une signature partielle anonyme. Des scalaires aléatoires sont utilisés, rendant ainsi la signature partielle complètement intraçable.
L'invention porte aussi sur un procédé de vérification d'une signature partielle pour un sous-ensemble I d'un ensemble de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de vérification de signature partielle, comprenant :
- réception du sous-ensemble de messages et d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification destiné à prouver que le premier élément est bien formé,
- vérification d'une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique, et
- vérification d'une seconde équation impliquant le premier élément de vérification de la signature, le deuxième élément de vérification de la signature et des éléments de la clé publique.
Le procédé de vérification de signature partielle est adapté pour vérifier qu'une signature partielle sur un sous-ensemble de messages est valide, ou pas. La vérification de signature partielle est identique, qu'il s'agisse d'une signature partielle ou d'une signature partielle anonyme. Ainsi, qu'il s'agisse d'une signature partielle ou d'une signature partielle anonyme, le même procédé de vérification est utilisé. La mise en œuvre du schéma de signature en est ainsi simplifiée et optimisée, offrant donc de meilleures performances.
Dans un exemple de réalisation du procédé de vérification d'une signature partielle dans lequel il a été généré pour une entité signataire une clé secrète et une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant :
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, ..., y_n), et
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique, la vérification de la signature partielle comprenant :
- vérification d'une première équation : e(X.A.Π_ {i dans I} Y_iΛ{m_i}, q)) = e(g, s), et
- vérification d'une deuxième équation : e(A, Π_ {i dans I} H_i) = e(B, h).
Il est précisé ici les différentes étapes du procédé de vérification de signature partielle.
L'invention porte également sur une entité de dérivation d'une signature partielle, destinée à dériver une signature partielle pour un sous-ensemble I d'un ensemble {1, ..., n} de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de dérivation de signature partielle, comprenant :
- des moyens de réception, agencés pour recevoir l'ensemble des messages {m_l, ..., m_n} et une signature (q, s) dudit ensemble de messages, ladite signature de l'ensemble des messages comprenant des éléments de signature de l'ensemble de messages,
- des moyens de dérivation d'un premier élément, agencés pour dériver un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages, et
- des moyens de dérivation d'un deuxième élément et d'envoi, agencés pour dériver un deuxième élément de vérification B destiné à prouver que le premier élément de vérification est bien formé, et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification et le deuxième élément de vérification, la signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages.
L'invention concerne aussi une entité de vérification d'une signature partielle, destinée à vérifier une signature partielle pour un sous-ensemble I d'un ensemble de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de vérification de signature partielle, comprenant :
- des moyens de réception, agencés pour recevoir le sous-ensemble de messages et une signature partielle (q, s, A, B) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification B destiné à prouver que le premier élément de vérification est bien formé,
- des premiers moyens de vérification, agencés pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification, et des éléments de la clé publique, et
- des seconds moyens de vérification, agencés pour vérifier une seconde équation impliquant le premier élément de vérification, le deuxième élément de vérification et des éléments de la clé publique.
L'invention porte également sur un système de dérivation de signature partielle et de vérification comprenant :
- une entité de génération de signature partielle telle que décrite précédemment,
- une entité de vérification d'une signature partielle telle que décrite précédemment.
L'invention concerne aussi une utilisation d'un système de dérivation de signature partielle et de vérification tel que décrit précédemment dans un système d'accréditations anonymes. Le procédé de dérivation de signature partielle et le procédé de vérification de signature partielle sont particulièrement bien adaptés aux accréditations anonymes. En effet, le besoin de ne pas révéler certaines parties de ces données est évident dans le domaine des accréditations anonymes et résolu par le schéma proposé. L'exemple de réalisation relatif aux signatures partielles anonymes peut être directement utilisé comme système d'accréditation anonyme car il satisfait en plus les propriétés d'intraçabilité les plus fortes, tout en offrant de meilleures performances que les autres solutions de l'état de l'art.
L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de dérivation de signature tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur.
L'invention concerne également un support de données dans lequel est enregistré le programme décrit ci-dessus.
L'invention porte également sur un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de vérification de signature partielle tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur.
L'invention porte aussi sur support de données dans lequel est enregistré le programme décrit précédemment.
D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description détaillée et des figures annexées parmi lesquels : la figure 1 présente les étapes d'un procédé de signature, selon un exemple de réalisation ; la figure 2 est une représentation schématique d'une entité de dérivation d'une signature partielle apte à mettre en œuvre les étapes du procédé de dérivation de signature partielle pour un sous-ensemble de messages, selon un exemple de réalisation ; la figure 3 est une représentation schématique d'une entité de vérification d'une signature partielle apte à mettre en œuvre les étapes du procédé de vérification d'une signature partielle pour un sous-ensemble de messages, selon un exemple de réalisation.
Les étapes d'un procédé de signature avec vérification partielle, selon un premier exemple de réalisation vont maintenant être décrites en relation avec la figure 1.
A noter que l'on utilise ici une notation habituelle en cryptographie dans laquelle :
- « x_i » représente « x indice i », soit « xi » ;
- « gΛx » représente « g puissance x », soit « gx »,
- le produit est schématisé par un point : « . », ou par le signe classique P (pi capitale) lorsque de nombreux facteurs indexés interviennent,
- l'addition est classiquement schématisée par le signe « + », ou par le signe Σ (sigma capitale) lorsque de nombreux facteurs indexés interviennent.
Le schéma de signature décrit ici fonctionne dans un environnement bilinéaire qui désigne trois groupes, habituellement notés G1, G2 et GT, d'ordre premier p, ainsi qu'une application bilinéaire e appelée « couplage bilinéaire » prenant en entrée un élément du groupe G1 et un élément du groupe G2 et à valeurs dans le groupe GT. Ce type d'environnement est devenu classique en cryptographie et peut être implémenté très efficacement. Il est à noter que les rôles de G1 et de G2 sont parfaitement interchangeables .
Le schéma de signature repose sur un système qui comprend plusieurs entités :
- une entité signataire 10. L'entité signataire 10 est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité signataires,
- une entité 11 de dérivation de signature partielle. L'entité 11 de dérivation de signature est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité 11 de dérivation de signature partielle,
- une entité 12 de vérification de signature partielle. L'entité 12 de vérification de signature partielle est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité 12 de vérification de signature partielle. A noter qu'une même entité peut cumuler plusieurs rôles. Par exemple, une entité signataire peut également jouer le rôle d'entité de dérivation de signature partielle. De même, une entité signataire peut également être amenée à jouer le rôle d'entité de vérification de signature partielle.
Pour mémoire, un couplage bilinéaire e est une fonction vérifiant entre autres les propriétés suivantes : e(gΛa, hΛb) = e(g, h)Λ(a.b) e(gΛa, q) = e(g, q)Λa
Dans ce qui suit, n désigne le nombre maximal de données pouvant être signées à la fois. Dans la terminologie habituelle, on parle de messages plutôt que de données. Ainsi, on dispose d'un ensemble (1, ..., n} de messages à signer, noté (m_l, ..., m_n}. Par exemple, pour un individu de tels messages peuvent être un nom, une adresse, une date de naissance, etc.
Le schéma de signature décrit ici permet de vérifier très efficacement la validité d'une signature sur n'importe quel sous-ensemble de messages.
Dans une étape préalable E10 de génération de clés, l'entité signataire 10 génère pour le schéma de signature, un couple de clés secrète/publique Ks/Kp. A noter que dans un autre exemple de réalisation, la génération de clés peut être mise en œuvre par une entité dédiée, distincte de l'entité signataire 10, les clés, et notamment la clé secrète étant alors transmise à l'entité signataire 10 de façon sécurisée, selon des méthodes connues non présentées ici.
Soit g, respectivement h, un élément aléatoire du groupe Gl, respectivement du groupe G2, l'entité signataire commande la génération de (n+1) entiers aléatoires inférieurs à p, (x, y_l, ..., y_n), et construit les éléments suivants : x = gΛ{x},
Y_i = gΛ{y_i} pour 1 ≤= i ≤= n,
Z_{i, j} = gΛ{y_i · y_j} pour 1 ≤= i≠ j ≤= n,
H_i = hΛ{y_i} pour 1 ≤= I ≤= n
La clé secrète Ks du signataire dans le système de signature est constituée par les entiers aléatoires (x, y_l, ..., y_n).
La clé publique Kp est formée des éléments X, Y_i, Z_{i, j}, et H_i.
Ainsi : Ks = (x, y_l, · ··, y_n), et
Kp = (X, Y_i, Z_{i, j}, H_i)
De manière classique, la clé publique Kp est ensuite publiée, ici par l'entité signataire 10.
Dans une deuxième étape Eli de signature, l'entité signataire 10 signe n messages m_l, ..., m_n au moyen de sa clé secrète Ks. A cette fin, l'entité signataire 10 sélectionne un élément aléatoire q du groupe G2, et calcule : s = qΛ (x + y_l . m_l + ... + y_n . m_n}
La signature de l'ensemble de n messages est alors (q, s).
A noter que l'entité signataire 10 peut également signer des messages de taille n', avec n' ≤ n avec ce même couple de clés, c'est-à-dire, sans pour autant régénérer un couple de clés. Dans ce cas, le message de taille n' à signer est complété avec des ‘0' jusqu'à obtenir un message de taille n, et l'entité signataire 10 utilise alors son couple de clés Ks/Kp pour le signer. A la fin de l'étape Eli de signature, l'entité signataire 10 envoie la signature (q, s) de l'ensemble de n messages à l'entité 11 de dérivation de signature partielle ainsi que l'ensemble (m_l, ..., m_n}.
Dans une étape E12 de dérivation de signature partielle, mise en œuvre pour prouver la validité de la signature (q, s) sur un sous-ensemble de messages m i pour i appartenant à un sous-ensemble I de l'ensemble (1, ..., n} de messages, l'entité 11 de dérivation de signature partielle reçoit dans une sous-étape E12 de réception la signature (q, s) sur l'ensemble de messages (m_l, ..., m_n}.
L'entité 11 de dérivation de signature partielle calcule, ou dérive, dans une étape El 3 de dérivation d'un premier élément, un premier élément de vérification A qui agrège tous les messages mj dont l'indice j est dans (1, ..., n} mais pas dans le sous- ensemble I. La notation appropriée est (1, ..., n} \ I. Le premier élément de vérification A porte ainsi en quelque sorte sur des messages qui n'intéressent pas l'entité signataire 10, plus précisément sur les messages qui ne font pas partie de ceux pour lesquels il veut prouver la validité de la signature (q, s). Ainsi, l'entité de dérivation de signature partielle 11 calcule :
A = Π_{j dans (1, ..., n} \ I} Y _jΛ{m _j}
A ce stade, la signature partielle est alors (q, s, A). Cette signature est propre aux messages m_i, avec i dans l'ensemble I, c'est-à-dire qu'elle est destinée à être utilisée pour vérifier la validité de la signature de ce sous-ensemble m i de messages sur la base de la signature des n messages (q, s) et avec les seuls messages du sous-ensemble de messages.
Dans cet exemple de réalisation, dans une étape E14 de dérivation d'un deuxième élément et d'envoi, l'entité 11 de dérivation de signature partielle calcule, ou dérive, un deuxième élément de vérification B. Ce deuxième élément de vérification B est destiné à prouver que le premier élément de vérification A est valide, c'est-à-dire qu'il est bien formé. Intuitivement, le deuxième élément de vérification B permet de montrer que le premier élément de vérification A, calculé à partir des messages dissimulés, est bien formé, c'est-à-dire qu'il ne peut pas être utilisé pour tricher sur la valeur des messages m i, pour i dans I, qui sont présentés à l'entité 12 de vérification de signature partielle. Ainsi, l'entité 11 de dérivation de signature partielle calcule :
B = Π_ {i dans I, j dans {1, ..., n} \ I}Z_{i, j}Λ{m_j}
La signature partielle est alors (q, s, A, B). La signature partielle (q, s, A, B) et le sous-ensemble de messages m i, avec i dans I, sont alors envoyés en fin d'étape E14 à l'entité 12 de vérification de signature partielle.
Ainsi, quel que soit le nombre de messages du sous-ensemble de messages, quel que soit le nombre de messages de l'ensemble de messages, la signature partielle est de taille constante et comprend peu d'éléments, en l'espèce quatre éléments. A noter également que seuls les messages du sous-ensemble de messages {m_i}, avec i dans I, sont transmis. L'entité 12 de vérification n'a donc pas besoin de connaître l'ensemble de messages {m_l, ..., m_n} ou des messages qui seraient liés par construction à des messages du sous-ensemble de messages, tels que pour l'âge, la date de naissance.
Dans une étape ultérieure El 5 de réception, l'entité 12 de vérification de signature partielle reçoit de l'entité 11 de dérivation de signature le sous-ensemble de messages {m_i}, avec i dans I, et la signature partielle (q, s, A, B).
L'entité 12 de vérification de signature partielle vérifie dans une première sous- étape El 6 de vérification une première équation : e(X . A . Π_ {i dans 1} Y_iΛ{m_i}, q) = e(g, s), (1)
L'entité de vérification 12 de signature partielle vérifie dans une seconde étape El 7 de vérification d'une seconde équation : e(A, Π_ {i dans 1} H_i) = e(B, h), (2) Si ces deux égalités, ou équations, sont satisfaites, la signature partielle, relative au sous-ensemble de messages m i, avec i dans I est valide. Dans le cas contraire elle est considérée comme invalide.
En effet, lorsque l'on développe la première équation (1), en utilisant la définition du premier élément de vérification A défini lors de l'étape E13 de dérivation d'un premier élément, on obtient :
= e(X . Π_{i dans 1} Y_iΛ{m_i} . Π_{j dans {1, ..., n} \ 1} Y_jΛ{m_j}, q)
En utilisant les définitions de X et Y, on obtient :
= e(gΛx . Π_ {i dans 1} (gΛ{y_i})Λ{Π_i} . Π_ {j dans {1, ..., n} \ 1}
(gΛ(y_j})Λ{m_j'}, q)
En utilisant la règle (gΛa)Λb = gΛ{a.b} et le fait que l'on combine le produit des Y_jΛ{m_j} dont l'indice j appartient à l'ensemble {1, ..., n} privé de l'ensemble I et des Y_iΛ{m_i} dont l'indice i est dans I, on obtient :
= e(gΛ{x+Σ_{i dans {1, ..., n}}y_i.m_i}, q)
En utilisant la propriété du couplage : e(gΛa, q) = e(g, q)Λa, on obtient :
= e(g, q)Λ {x + Σ_{i dans [1, n]}y_i.m_i}
En utilisant la propriété de couplage qui permet de réintroduire un exposant sur le terme de son choix, on obtient :
= e(g, qΛ{x+Σ_{i dans {1, ..., n}}y_i.m_i})
En utilisant la définition de s précisée dans la phase P10 de génération de clés, le terme devient :
= e(g, s)
Ainsi, e(X . Π_{i dans I } Y_j Λ{m_i { A, q) = e(g, s).
Cette première équation de vérification pourrait suffire pour vérifier la validité de la signature partielle qui porte sur les messages m i dont les indices i sont dans I. Cependant, rien ne dit que le premier élément de vérification A est généré correctement. C'est pourquoi l'entité 12 de vérification de signature partielle vérifie dans la seconde étape E16 de vérification la seconde équation. Lorsque l'on développe la deuxième équation (2), en utilisant la définition du premier élément de vérification A, on obtient :
= e( Π_ {j dans {1, ..., n} \ I}Y_jΛ{m_j}, Π_ {i dans 1} H_i)
En utilisant la définition de Y et de H, on obtient :
= e( Π_{j dans {1, ..., n} \ I}gΛ{y_j}Λ{m _j}, Π_ {i dans I}hΛ{y_i}) En utilisant la règle (gΛa)Λb = gΛ{a.b}on obtient :
= e(gΛ{Σ_{j dans {1, n} \ 1} y _j.m _j}, hΛΣ_{i dans I}y_i)
En utilisant la propriété du couplage e(gΛa, hΛb) = e(g, h)Λ(a.b), on obtient :
= e(g, h)Λ(( Σ_{j dans {1, .. n} \ 1} y_j.mj). (Σ_{i dans I}y_i))
= e(g, h)Λ( Σ_{ i dans I , j dans {1, .. n} \ 1} y _j.m _j .y _j)
Ce terme est égal à e(B, h). En effet, en utilisant la définition du deuxième élément de vérification B et de Z, on obtient : e(B, h) = e( Π_ {ΐ dans I, j dans {1, ...,n}\I}(gΛ{y_j.y _j})Λm _j, h)
En utilisant les règles (gΛa)Λb = gΛ(a.b) et gΛa.gΛb = gΛ{a+b}, on obtient : e(B, h) = e(gΛ{Σ_{i dans I, j dans {1, ...,n}\l}(yj.y _j.m _j)}, h)
En utilisant la propriété du couplage e(gΛa, h) = e(g, h)Λa, on obtient : e(B, h) = e(g, h) Λ{Σ_{i dans I, j dans {1, ..., n}\l}(yj.y _j.m _j)}
Donc, on obtient : e(A, Π_ {i dans 1} H i) = e(B, h).
Cette deuxième équation est destinée à garantir que le premier élément de vérification A, qui regroupe tous les messages dissimulés, c'est-à-dire les messages qui ne font pas partie du sous-ensemble de messages à signer, est bien formé. Par « bien formé » on entend ici que le premier élément de vérification A ne peut pas être utilisé pour tricher sur la valeur des messages m _ i, pour i dans I, qui sont présentés pour vérification.
En effet, en continuant à développer la deuxième équation, l'exposant de e(g, h) est : Σ_{j dans {1, ..., n} \ 1} y _j.m _j) . (Σ_{i dans I}y_j) = Σ_{i dans I, j dans {1, ..., n} \ I [y_j.m_j.y_i
On obtient ainsi une somme de monômes de la forme y_j.mj.y i. On note cette somme de monômes le polynôme P. On remarque que les indices i et j qui interviennent dans un même monôme sont différents. En effet la première somme fait intervenir les messages, indicés par j, qui ne sont pas dans I, tandis que la deuxième somme fait intervenir les messages, indicés par i, qui sont dans I. Ainsi, on a la garantie, avec cette équation, de ne jamais rencontrer de monômes y_j.mj.y i avec i = j, ce qui donnerait un carré m_j.yΛ2_j.
Si l'entité 11 de dérivation de signature partielle a triché, c'est-à-dire, si dans le premier élément de vérification A, plus précisément dans le produit, elle a ajouté un élément Y_iΛr = gΛ(r.y_i) dont l'indice i serait dans I, alors l'exposant serait de la forme :
(r.y_i + Σ_{j dans {1, .. n} \ 1} y _j.m _j). (Σ_{i dans I}y_i)
Il apparaîtrait alors dans le polynôme P des monômes carrés de la forme r.y_iΛ2, qui n'apparaissaient pas avant.
Il devient alors possible de distinguer le cas d'un premier élément de vérification A bien formé d'un premier élément A erroné. En effet, le deuxième élément de vérification B n'est autre que gΛP. En vérifiant la deuxième équation (2), on oblige l'entité 12 de dérivation de signature partielle à reconstituer le polynôme P. La clé publique comprend les éléments Z_{i, j} = gΛ(y_i . y_j), avec i≠ j. Ces éléments permettent donc de reconstruire tous les monômes de la forme y_j.m_j.y_i. Dans le cas où l'entité 11 de dérivation de signature partielle a triché, le polynôme P contient des monômes carrés de la forme r.yΛ2_i que l'on ne peut pas reconstruire à partir des éléments Z_{i, j} de la clé publique, qui n'existent qu'avec la condition i≠ j. Ainsi, si l'entité 11 de dérivation de signature partielle est honnête, tous les monômes nécessaires à la reconstruction du polynôme P sont fournis dans la clé publique. A l'inverse, si l'entité 11 de dérivation de signature partielle a triché, l'entité 12 de vérification de signature partielle se trouve dans l'incapacité de reconstituer le polynôme P.
En fin de deuxième étape E17 de vérification de la signature partielle, l'entité 12 de vérification transmet le résultat à toute entité sollicitant cette vérification
Dans un deuxième exemple de réalisation du procédé de signature avec vérification partielle, les première et deuxième étapes El 3 et 14 de dérivation de signature sont légèrement modifiées de manière à anonymiser le schéma de signature décrit en relation avec la figure 1. En effet, avec le schéma décrit précédemment, chaque fois qu'une entité de dérivation de signature partielle utilise sa signature pour s'authentifier, elle présente la même signature, ce qui permet de la tracer.
Ainsi, dans une étape supplémentaire El 8 de génération de scalaires et de calcul de nouveaux éléments de la signature, représentée en pointillés sur la figure 1 et mise en œuvre dans le but de prouver la validité de la signature des m messages (q, s) sur un sous-ensemble de messages m i, avec i dans I, l'entité 11 de dérivation de signature partielle génère deux scalaires r et t. L'entité 11 de dérivation de signature partielle calcule ensuite : q' = qΛr, s' = sΛr . qΛ{r . t}, (q', s') formant les nouveaux éléments de la signature. Ainsi les éléments de la signature (q, s) sont anonymisés au moyen de scalaires aléatoires.
Dans ce deuxième exemple de réalisation, dans l'étape E13 de dérivation du premier élément de vérification, l'entité 11 de dérivation de signature partielle calcule le premier élément de vérification A comme suit :
A = (gΛt) . (Π_ {j dans {1, ..., n} \ 1} Y_jΛ{m_j})
Dans l'étape E14 de dérivation du deuxième élément, l'entité 11 de dérivation de la signature partielle calcule le deuxième élément de vérification B comme suit :
B = (Π_ {i dans 1} Y_i)Λt . (Π_ {ΐ dans I, j dans {1, ...n} \ 1} Z_{i, j}Λ{m_j})
Les deux éléments A et B ainsi calculés dépendent d'un des scalaires aléatoires. Ils sont ainsi également anonymisés.
La nouvelle signature partielle est alors notée (q', s', A, B).
En fin d'étape E14 de dérivation du deuxième élément, l'entité 11 de dérivation de la signature partielle envoie à l'entité 12 de vérification la nouvelle signature partielle (q', s', A, B) ainsi que les messages m_i, avec i dans I.
Ainsi, à chaque fois que l'entité 11 de dérivation de signature partielle dérive une signature partielle sur un même sous-ensemble de messages dans le but de s'authentifier, alors la signature partielle dérivée est différente. La signature partielle est ainsi anonyme et il est alors impossible de tracer l'entité 11 de dérivation de signature partielle lors de ses différentes authentifications.
A noter que la nouvelle signature partielle ou signature partielle anonyme (q', s', A, B) est vérifiée par l'entité 12 de vérification de signature de la même manière que dans le premier exemple de réalisation, c'est-à-dire qu'elle est traitée de la même manière qu'une signature partielle non anonyme. Plus précisément, cette vérification prend en entrée le sous-ensemble de messages {m_i}, avec i dans I, la signature partielle anonyme (q', s', A, B) et vérifie les deux mêmes égalités (1) et (2) décrites précédemment.
Ainsi, la mise en œuvre de la dérivation de signature partielle est facilitée puisque selon que la signature partielle est anonyme ou pas, la mise en œuvre de la vérification de la signature partielle est identique.
Ce mode de réalisation est particulièrement adapté pour une utilisation dans les attestations ou accréditations anonymes. Une attestation anonyme permet de prouver une propriété ou un droit lié à son détenteur, sans révéler l'identité de celui-ci. Elle protège la vie privée du détenteur de l'accréditation anonyme en fournissant la propriété d'anonymat et ici de non traçabilité. Elle prend la forme ici d'une donnée cryptographique : la signature partielle, qui peut être montrée par son détenteur, ici l'entité 11 de dérivation de signature partielle, à une organisation, ici l'entité 12 de vérification de signature partielle, pour prouver une propriété liée à son identité.
Une entité de dérivation d'une signature partielle, selon un exemple de réalisation, va maintenant être décrite en relation avec la figure 2.
L'entité 11 de dérivation de signature partielle est un équipement informatique, tel un ordinateur.
L'entité 11 de dérivation de signature partielle comprend :
- une unité de traitement ou processeur 30, ou "CPU" (de l'anglais "Central Processing Unit"), destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ;
- un ensemble de mémoires, dont une mémoire volatile 31, ou "RAM" (pour "Random Access Memory") utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 32 de type « EEPROM » (de l'anglais « Electrically Erasable Programmable Read Only Memory »). En particulier, la mémoire de stockage 32 est agencée pour mémoriser un module logiciel de dérivation de signature partielle qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 11 de dérivation de signature partielle. La mémoire de stockage 32 est également agencée pour mémoriser dans une zone sécurisée la clé publique Kp du schéma de signature.
L'entité 11 de dérivation de signature partielle comprend également :
- un module de réception 33, agencé pour recevoir l'ensemble (m_l, ..., m_n} de messages et une signature dudit ensemble de messages. La signature de l'ensemble des messages comprend des éléments de signature, notés (q, s) de l'ensemble de messages. Le module de réception 33 est agencé pour mettre en œuvre l'étape E12 du procédé de dérivation de signature partielle, - un module 34 de dérivation d'un premier élément de vérification, agencé pour dériver un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages,
- un module 35 de dérivation d'un deuxième élément de vérification et d'envoi, agencé pour dériver un deuxième élément de vérification B destiné à prouver que le premier élément de vérification A est bien formé et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification A, et le deuxième élément de vérification B. La signature partielle est destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. Le module 34 de dérivation et d'envoi est agencé pour mettre en œuvre les étapes E13 et E14 du procédé de dérivation de signature partielle tel que décrit précédemment.
Le module de réception 33, le module 34 de dérivation d'un premier élément de vérification et le module 35 de dérivation d'un deuxième élément de vérification et d'envoi sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre celles des étapes du procédé de dérivation de signature partielle mises en œuvre par l'entité de dérivation de signature partielle.
Dans un deuxième exemple de réalisation, l'entité 11 de dérivation de signature partielle comprend un module (non représenté sur la figure 2) de dérivation d'une signature partielle anonyme. Ce module est agencé pour générer des scalaires aléatoires et pour calculer de nouveaux éléments de la signature. Ainsi ce module génère deux scalaires r et t, puis calcule : q' = qΛr, s' = sΛr . qΛ{r . t}, (q', s') formant les nouveaux éléments de la signature.
Dans cet exemple de réalisation, le module 34 de dérivation du premier élément de vérification est agencé pour calculer le premier élément A comme suit :
A = gΛt . Π_ {j dans (1, ..., n} \ 1} Y _jΛ{m _j}.
Le module 35 de dérivation du deuxième élément de vérification et d'envoi est agencé pour calculer le deuxième élément de vérification B comme suit :
B = (Π_ {ΐ dans 1} Y_i)Λt . Π_ {i dans I, j dans (1, ...n} \ 1} Z_{i, j}Λ{m_j}. Les premier et deuxième éléments de vérification A et B sont ainsi anonymisés au moyen d'un des scalaires aléatoires.
La nouvelle signature partielle est notée (q', s', A, B). Dans cet exemple de réalisation, le module 35 de dérivation du deuxième élément de vérification et d'envoi est également agencé pour envoyer la nouvelle signature partielle (q', s', A, B) à l'entité 12 de vérification de signature partielle.
L'invention concerne donc aussi :
- un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes du procédé de dérivation de signature partielle tel que décrit précédemment et mises en œuvre par l'entité de dérivation de signature partielle lorsque ce programme est exécuté par un processeur du dispositif de dérivation de signature partielle,
- un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus.
Une entité de vérification d'une signature partielle, selon un exemple de réalisation, va maintenant être décrite en relation avec la figure 4.
L'entité 12 de vérification de signature partielle est un équipement informatique, tel un ordinateur.
L'entité 12 de vérification de signature partielle comprend :
- une unité de traitement ou processeur 40, ou "CPU", destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ;
- un ensemble de mémoires, dont une mémoire volatile 41, ou "RAM” utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 42 de type « EEPROM ». En particulier, la mémoire de stockage 42 est agencée pour mémoriser un module logiciel de vérification de signature partielle qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 12 de vérification de signature partielle. La mémoire de stockage 42 est également agencée pour mémoriser la clé publique Kp du schéma de signature.
L'entité 11 de vérification de signature partielle comprend également :
- un module 43 de réception, agencé pour recevoir le sous-ensemble de messages et la signature partielle (q, s, A, B) de l'entité 11 de dérivation de signature partielle. Le module 43 de réception est agencé pour mettre en œuvre l'étape E15 de réception du procédé de dérivation de signature partielle tel que décrit précédemment,
- un premier module 44 de vérification, agencé pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique. Le premier module 44 de vérification est agencé pour mettre en œuvre l'étape El 6 de vérification d'une première équation du procédé de dérivation de signature partielle tel que décrit précédemment, et
- un second module 45 de vérification, agencé pour vérifier une seconde équation impliquant le premier élément de vérification de la signature partielle, le deuxième élément de vérification de la signature partielle, et des éléments de la clé publique. Le second module 45 de vérification est agencé pour mettre en œuvre l'étape El 7 de vérification d'une deuxième équation du procédé de dérivation de signature partielle tel que décrit précédemment.
Le module 43 de réception, le premier module 44 de vérification et le second module 45 de vérification sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre les étapes du procédé de dérivation de signature partielle décrit précédemment et mises en œuvre par l'entité 12 de vérification de signature partielle.
L'invention concerne donc aussi :
- un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 12 de vérification d'une signature partielle lorsque ce programme est exécuté par un processeur du dispositif de vérification de signature partielle,
- un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus.
L'invention porte également sur un système de dérivation de signature partielle et de vérification comprenant :
- une entité 11 de dérivation de signature partielle telle que décrite précédemment, et - une entité 12 de vérification d'une signature partielle telle que décrite précédemment.

Claims

REVENDICATIONS
1. Procédé de dérivation d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l,...,m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de dérivation de signature partielle, comprenant :
- réception (E12) de l'ensemble de messages ({m_l,...,m_n}) et d'une signature dudit ensemble de messages, ladite signature comprenant des éléments de signature ((q, s)) de l'ensemble de messages,
- dérivation (El 3) d'un premier élément de vérification (A) calculé à partir des messages de l'ensemble autre que ceux du sous-ensemble de messages, et
- dérivation (El 4) d'un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et d'envoi à une entité de vérification (12) d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification (A) et le deuxième élément de vérification (B), ladite signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages.
2. Procédé de dérivation d'une signature partielle selon la revendication 1 dans lequel la génération de la signature partielle comprend une anonymisation de la signature partielle, ladite anonymisation comprenant :
- anonymisation des éléments de la signature ((q, s)) au moyen de scalaires aléatoires, et
- anonymisation du premier et du deuxième élément de vérification au moyen d'un des scalaires aléatoires.
3. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes comprenant au préalable une génération d'une clé secrète et d'une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant :
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, y_n), lesdits scalaires aléatoires formant la clé secrète de l'entité signataire, et
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique.
4. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes dans lequel la signature de l'ensemble {1, ..., n} de messages, notés m_l, ..., m_n, comprend la sélection par l'entité signataire d'un élément aléatoire q du deuxième groupe G2, et le calcul de s = qΛ{x + y_l . m_l +...+ y_n . m_n}, ladite signature étant alors (q, s).
5. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes dans lequel la dérivation de la signature partielle pour le sous-ensemble (I) de l'ensemble {1, ..., n} de messages comprend :
- génération du premier élément de vérification A = Π _{j dans {1, ..., n} \ I} . Y_jΛ {m_j} , et
- génération du deuxième élément de vérification B = Π_ {i dans I, j dans {1, ..., n} \ 1} . Z_{i, j}Λ{m_j}, la signature partielle étant alors (q, s, A, B).
6. Procédé de dérivation d'une signature partielle selon l'une des revendications 1 à 4 précédentes, dans lequel la signature de l'ensemble de messages comprend :
- sélection (El 8) par l'entité signataire de deux scalaires r et t,
- calcul de q'= qΛr,
- calcul de de s' = sΛr . qΛ{r . t},
- génération (E 13) du premier élément de vérification A = gΛt . Π_ {j dans { 1 , ... , n} \ 1} Y_jΛ{m_j}, et - génération (El 4) du deuxième élément de vérification B = (Π_ {i dans I} Y_i)Λt . Π_ {i dans I, j dans (1, .. n} \ Z_{i, j}Λ{m_j}, la signature partielle étant alors (q' s', A, B).
7. Procédé de vérification d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de vérification de signature partielle, comprenant :
- réception (El 5) du sous-ensemble de messages et d'une signature partielle ((q, s, A, B), (q', s', A, B)) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages ((q, s), (q', s')), un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification (B) destiné à prouver que le premier élément est bien formé,
- vérification (El 6) d'une première équation impliquant les messages du sous- ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique, et
- vérification (El 7) d'une seconde équation impliquant le premier élément de vérification de la signature, le deuxième élément de vérification de la signature et des éléments de la clé publique.
8. Procédé de vérification d'une signature partielle selon la revendication 7 dans lequel il a été généré pour une entité signataire une clé secrète et une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant : - génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, y_n), et
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique, la vérification de la signature partielle comprenant :
- vérification (El 6) d'une première équation : e(X. A . Π_ {i dans 1} Y_iΛ{m_i}, q) = e(g, s), et
- vérification (E17) d'une deuxième équation : e(A, Π_ {i dans 1} El i) = e(B, h).
9. Entité (11) de dérivation d'une signature partielle destinée à dériver une signature partielle pour un sous-ensemble (I) d'un ensemble ({1,...,n}) de messages ({m_l,...,m_n}) , dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de dérivation de signature partielle, comprenant :
- des moyens de réception (33), agencés pour recevoir l'ensemble des messages ({m_l, ..., m_n}) et une signature ((q, s)) dudit ensemble de messages, ladite signature de l'ensemble des messages comprenant des éléments de signature de l'ensemble de messages, et
- des moyens (34) de dérivation d'un premier élément, agencés pour dériver un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages, et
- des moyens (35) de dérivation d'un deuxième élément et d'envoi, agencés pour dériver un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification et le deuxième élément de vérification, la signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages.
10. Entité (12) de vérification d'une signature partielle, destinée à vérifier une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, ..., m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de vérification de signature partielle, comprenant :
- des moyens de réception (43), agencés pour recevoir le sous-ensemble de messages et une signature partielle ((q, s, A, B)) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous- ensemble de messages et un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé,
- des premiers moyens de vérification (44), agencés pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification, et des éléments de la clé publique, et
- des seconds moyens de vérification (45), agencés pour vérifier une seconde équation impliquant le premier élément de vérification, le deuxième élément de vérification et des éléments de la clé publique.
11. Système de dérivation de signature partielle et de vérification comprenant :
- une entité de génération de signature partielle selon la revendication 9,
- une entité de vérification d'une signature partielle selon la revendication 10.
12. Utilisation d'un système de dérivation de signature partielle et de vérification selon la revendication 11 dans un système d'accréditations anonymes.
13. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de dérivation de signature partielle selon l'une des revendications 1 à 6, lorsque le programme est exécuté sur ledit ordinateur.
14. Support de données dans lequel est enregistré le programme selon la revendication 13.
15. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de vérification de signature partielle selon l'une des revendications 7 ou 8, lorsque le programme est exécuté sur ledit ordinateur.
16. Support de données dans lequel est enregistré le programme selon la revendication 15.
EP20796871.0A 2019-10-11 2020-10-06 Procédé de dérivation de signature partielle avec vérification partielle Pending EP4042633A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911300A FR3102023B1 (fr) 2019-10-11 2019-10-11 Procédé de dérivation de signature partielle avec vérification partielle
PCT/FR2020/051748 WO2021069827A1 (fr) 2019-10-11 2020-10-06 Procédé de dérivation de signature partielle avec vérification partielle

Publications (1)

Publication Number Publication Date
EP4042633A1 true EP4042633A1 (fr) 2022-08-17

Family

ID=70295176

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20796871.0A Pending EP4042633A1 (fr) 2019-10-11 2020-10-06 Procédé de dérivation de signature partielle avec vérification partielle

Country Status (5)

Country Link
US (1) US20230040203A1 (fr)
EP (1) EP4042633A1 (fr)
CN (1) CN114762289A (fr)
FR (1) FR3102023B1 (fr)
WO (1) WO2021069827A1 (fr)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049768A1 (fr) * 1999-02-17 2000-08-24 Thomas Mittelholzer Partage de signature pour protection de cles privees
JP3659178B2 (ja) * 2001-02-22 2005-06-15 日本電信電話株式会社 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
AU2003226413A1 (en) * 2002-04-15 2003-11-03 Docomo Communications Laboratories Usa, Inc. Signature schemes using bilinear mappings
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
EP2905922A1 (fr) * 2014-02-10 2015-08-12 Thomson Licensing Procédé de signature fournissant une signature partielle associée à un message, procédé de signature à seuil, procédé de vérification de signature, et programme et appareils correspondants
CN106209365B (zh) * 2016-09-18 2020-06-23 西安电子科技大学 云环境下利用备份数据在用户撤销时重签名的方法
EP3709561A1 (fr) * 2019-03-14 2020-09-16 Thales Dis France SA Procédé permettant de générer une signature numérique d'un message d'entrée

Also Published As

Publication number Publication date
FR3102023A1 (fr) 2021-04-16
FR3102023B1 (fr) 2023-03-24
CN114762289A (zh) 2022-07-15
US20230040203A1 (en) 2023-02-09
WO2021069827A1 (fr) 2021-04-15

Similar Documents

Publication Publication Date Title
EP3268914B1 (fr) Détermination d'un secret commun pour l'échange sécurisé d'informations et de clés cryptographiques déterministes et hiérarchiques
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
FR2930390A1 (fr) Procede de diffusion securisee de donnees numeriques vers un tiers autorise.
US11170130B1 (en) Apparatus, systems and methods for storing user profile data on a distributed database for anonymous verification
CN107070896A (zh) 一种安全高效的区块链客户化登录方法及安全加固系统
Luong et al. Privacy-preserving identity management system on blockchain using Zk-SNARK
CN114946152A (zh) 用于在传输层安全和其它上下文中验证数据的分散式技术
FR3049089A1 (fr) Procede permettant de gerer les validations des messages relatifs a une chaine de messages de facon unitaire a travers un reseau de validation decentralise
CN113434555B (zh) 一种基于可搜索加密技术的数据查询方法和装置
FR3113800A1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
EP4042633A1 (fr) Procédé de dérivation de signature partielle avec vérification partielle
CN113746621B (zh) 一种基于区块链技术的多链架构信息共享系统
EP4078893A1 (fr) Procédé et dispositif de contrôle d'accès anonyme à une plateforme collaborative d'anonymisation
WO2022200726A1 (fr) Gestion de droits d'accès à des fichiers numériques avec possible délégation des droits
CN113990399A (zh) 保护隐私安全的基因数据分享方法和装置
Bontekoe Balancing privacy and accountability in digital payment methods using zk-SNARKs.
Dai et al. CRSA: a cryptocurrency recovery scheme based on hidden assistance relationships
FR3117718A1 (fr) Méthode de divulgation sélective de données via une chaine de blocs
CN110943846A (zh) 新型基于环签名技术的异构身份联盟用户信誉值传递方法
US11263063B1 (en) Methods and systems for device-specific event handler generation
EP3842970B1 (fr) Procédé de vérification du mot de passe d'un dongle, programme d'ordinateur, dongle et terminal utilisateur associés
US20230298015A1 (en) Systems and methods for verification of protected private information
US20230010339A1 (en) Methods and systems for device-specific event handler generation
EP4158842A1 (fr) Procede de derivation d'une signature partielle avec verification partielle
US20230396450A1 (en) Key derivation method

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220427

AK Designated contracting states

Kind code of ref document: A1

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

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

Owner name: ORANGE