EP1344344A1 - Procede de signature electronique a niveaux multiples - Google Patents

Procede de signature electronique a niveaux multiples

Info

Publication number
EP1344344A1
EP1344344A1 EP01999076A EP01999076A EP1344344A1 EP 1344344 A1 EP1344344 A1 EP 1344344A1 EP 01999076 A EP01999076 A EP 01999076A EP 01999076 A EP01999076 A EP 01999076A EP 1344344 A1 EP1344344 A1 EP 1344344A1
Authority
EP
European Patent Office
Prior art keywords
key
verification
message
public
hazard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01999076A
Other languages
German (de)
English (en)
Inventor
David Naccache
Christophe Tymen
David Pointcheval
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus 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 Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of EP1344344A1 publication Critical patent/EP1344344A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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

Definitions

  • the invention relates to a method of electronic signature of a message by a device implementing a public key signature algorithm, comprising a secret key compatible with a public verification key.
  • the invention also relates to a corresponding verification method.
  • the field of the invention is that of cryptography and more particularly that of the security of individual electronic signature documents produced in large quantities on inexpensive passive media, for example paper: these are in particular identity cards , passports, driver's licenses, electoral cards, medical cards, etc.
  • identity documents are produced by an authority issuing the electronic signature using a key signature algorithm.
  • This key alone is used to produce the signature of identity documents, and is held by this authority.
  • This authority has a device A implementing the steps of the signature process. If this key is stolen, the falsification of such documents becomes possible.
  • One solution is for the key to be shared between n individuals, among whom a quorum of k must be reached to obtain the signature.
  • the object of the present invention is therefore to allow the authority to distinguish falsified identity documents from original documents, without the criminal himself being able to make this distinction. This goal is achieved by varying the signature verification criteria.
  • This new category of signature algorithms is called multilevel signature algorithms, or also monotonic signature algorithms.
  • the multilevel signature method according to the invention is derived from the conventional public key signature scheme. Consequently, it can be applied to all public key signature algorithms such as, in particular, the RSA algorithm named after its authors (Rivest, Shamir and Adleman), the El Gamal or Schnorr algorithm. .
  • a public key scheme includes three sub-algorithms: an algorithm G for generating a public verification key v and a secret key s, an algorithm S for producing the signature ⁇ , and a verification algorithm V.
  • message m consists of the information carried on the document, with the exception of the signature itself.
  • the identity document is ultimately the signed document, that is to say made up of m and ⁇ .
  • the signature is verified by one or more verifiers of the document using the public verification key v provided to them by device A: they verify that V (v, m, ⁇ ) is true.
  • the verifiers will then be assimilated to the verification equipment they have.
  • An identity document typically includes a message to sign m containing in particular the characteristics of the holder of this document and a signature ⁇ .
  • V (v, m, ⁇ ') is true.
  • V (v, vl, m, ⁇ ') is true.
  • V (v, ..., vj, m, ⁇ ') is true.
  • V (v ,. composer, vn, m, ⁇ ') are true.
  • the authority refines the verification criteria by publishing for the attention of authorized verifiers, via device A, a new public verification key among the reserve keys available to the authority.
  • This new verification key will be for example: (v, vl).
  • V the verifiers obtain that V (v, m, ⁇ ) is true but that V (v, vl, m, ⁇ ) is false.
  • V (v, vl, m, ⁇ ') is true.
  • the authority In a subsequent attack, the authority reveals the secret key, for example.
  • S (s, si, m) ⁇ l.
  • V (v, vl, m, ⁇ l) is true which is the case. He then ceases to exercise his constraint and releases the hostages.
  • the authority refines the verification criteria by publishing for the attention of authorized verifiers, via device A, a new public verification key among the reserve keys available to the authority. This new verification key will be for example: (v, vl, v2).
  • V the verifiers then obtain that V (v, vl, m, ⁇ l) is true but that V (v, vl, v2, m, ⁇ l) is false.
  • V the verifiers
  • the criminal can of course request that all secret keys be revealed to him at once. He then obtains the corresponding public verification key. In this case the authority will provide him with several partial secret keys, but not all of them, because another advantage of the invention is that the criminal cannot discern whether the signatures produced by the authority were obtained only with the secret keys which are in use. possession, or if additional secret keys were required.
  • the subject of the invention is a method of electronic signature of a message m by a device A implementing a signature algorithm using a public key signature scheme comprising a secret key s compatible with a public verification key v, mainly characterized in that it consists in: - generating and memorizing a new secret key s' formed of s and partial secret keys if, ..., sj, ..., sn, n being a positive integer,
  • the method also consists in providing at equipment for verifying the signed message m, at least one public reserve key.
  • a hazard r made up of pieces of information can be introduced into the message m or more specifically, concatenated with the message m.
  • the hazard consists of random information elements and non-random information elements, the non-random information elements each being determined by a pseudo-random function f k j different, j varying from 1 to n.
  • the information elements of the hazard r are bits and the hazard r consists of a series of bits.
  • the method is applied to the initialization phase and to the sub-algorithms G for generating keys and S for signing the Schnorr-Okamoto algorithm.
  • the invention also relates to a method of verification by an equipment for verifying an electronically signed message, said equipment for verification having at least one public key v, characterized in that said equipment for verification furthermore has at least one reserve key vj, and in that it applies the public key v and the reserve key or keys vj to all or part of the signed message and verifies that the public key v and the reserve key or keys vj are valid.
  • a hazard r being introduced into the message m, and the set (m, r) consisting of the message and the hazard being signed electronically
  • the method consists in that: the verification equipment applies the public key v to the set (m, r) or a function of (m, r) and checks that the public key v is valid,
  • the hazard r is made up of a string of bits ri ... rj ... rn, some of which are random
  • a hazard r being introduced into the message m, the assembly (m, r) consisting of the message and the hazard being signed electronically, said verification equipment having a function of hash H, of m, and of the signature ⁇ 'of the set (m, r), the method consists in that:
  • the public key v is made up of an integer y and a sequence of integers g i7 ..., g n
  • Other features and advantages of the invention will become clear on reading the following description given by way of non-limiting example.
  • a hazard r consisting of information elements in the sense of information theory (an information element is a set of 1 to several bits, such as a number integer, a matrix, ...), is introduced in the message m to be signed.
  • the signature then intervenes: ⁇ S (s, h). This is what is commonly known under the name of method "hashing then signature" ("hash and sign paradigm", in English).
  • the verifier has h, ⁇ and a public verification key v, communicated by the device A: he verifies that V (v, h, ⁇ ) is correct.
  • the hazard r is a chain of apparently random bits (0 or 1) introduced into the message m, in this case concatenated to m.
  • the expression "apparently random” means that r includes information which has a meaning for those who know how to interpret it.
  • This chain r is in fact made up of random bits and other bits determined as a function of these random bits.
  • n 5
  • n is actually a much larger integer such as, for example, 2 128 .
  • the number of these keys kj therefore depends on the number of bits of r obtained by applying these pseudo-random functions.
  • pseudo-random designates functions which produce indistinguishable bits in the sense of the complexity of purely random bits.
  • the device A has of course memorized the secret key s as well as all the partial secret keys kj.
  • This first embodiment has drawbacks: it is indeed noted that revealing a partial public key kj amounts to revealing at the same time the corresponding partial secret key. knowing that, the criminal having already obtained kj, can then wait for the disclosure of a new public verification key, for example k (j + l) and produce signed documents using k (j + l). This is a deferred attack case.
  • P (l) PI, etc.
  • P (l) PI, etc.
  • P (l) 4
  • P (2) 2
  • P (3) l
  • P (4) 3.
  • n can for example be equal to 20.
  • the signature sub-algorithm S consists of: - choose and store integers ti, ..., tn in the multiplicative group Z q * of integers modulo q,
  • the sub-algorithm V for verifying the message and the signature ⁇ ' consists in verifying that
  • the device A implementing an electronic signature method as described comprises a main processing unit, program memories and working memory associated with the processing unit.
  • program memories and working memory associated with the processing unit.
  • programs stored there may be mentioned in addition to the program corresponding to the signature method according to the invention, a program for performing permutations P as well as a program for applying a hash function H.
  • the device also includes an arithmetic processor capable of performing modular calculations and a secure memory in which the secret key s and the partial secret keys si, ..., sn will be stored, as well as the verification key v and the keys of reserve vl, ..., vn.
  • the device also has a generator of pseudo-random functions.
  • Verification equipment also includes a main processing unit, program memories and a working memory associated with the processing unit.
  • the verification equipment also includes an arithmetic processor capable of performing modular calculations and a secure memory in which the verification key v and the reserve keys vj, if any, will be stored, as well as any other secret element at its disposal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de signature électronique à clé publique comprenant une clé secrète s compatible avec une clé publique de vérification v. Il consiste à: générer une nouvelle clé secrète s' formée de s et de clés secrètres partielles sl, ..., sj,..., sn, à générer une nouvelle clé publique de vérification v' formée de v et de clés publiques de réserve vl, ..., vj, ..., vn, les clés secrètes (s, sl, ..., sj) étant compatibles avec les clés (v, vl, ..., vj) et la clé secrète s' étant compatible avec n'importe quelle clé (v, vl, ...,vj) j variant de 1 à n, à signer le message m au moyen de la clé secrète s'. Le but de l'invention est de génerer une signature électronique qui soit résistante aux essais de coercition contraignant à révéler les clés secrètes. Ce but est atteint en faisant varier les critères de vérification de la signature.

Description

PROCEDE DE SIGNATURE ELECTRONIQUE A NIVEAUX MULTIPLES
L'invention concerne un procédé de signature électronique d'un message par un dispositif mettant en œuvre un algorithme de signature à clé publique, comprenant une clé secrète compatible avec une clé publique de vérification.
L'invention concerne également un procédé de vérification correspondant.
Le domaine de l'invention est celui de la cryptographie et plus particulièrement celui de la sécurité de documents individuels à signature électronique produits en grande quantité sur des supports passifs bon marché, par exemple en papier : il s'agit notamment des cartes d'identité, des passeports, des permis de conduire, des cartes électorales, des cartes médicales, etc.
Par la suite, on désignera ces documents par un terme générique : documents d'identité.
Ils sont destinés à être vérifiés au moyen d'équipements déployés selon leur finalité dans divers endroits : postes de douane, postes de police, bureaux de vote, hôpitaux, ....
Ces documents d'identité sont produits par une autorité délivrant la signature électronique selon un algorithme de signature à clé. Cette clé permet seule de produire la signature des documents d'identité, et est détenue par cette autorité. Cette autorité dispose d'un dispositif A mettant en œuvre les étapes du procédé de signature. Si cette clé est volée, la falsification de tels documents devient possible.
Une solution consiste à ce que la clé soit partagée entre n individus, parmi lesquels un quorum de k doit être atteint pour obtenir la signature.
Mais cette solution n'est plus valable si la clé est obtenue par coercition exercée au moyen par exemple d'une prise d'otages contraignant les n individus à révéler la partie de la clé qu'ils détiennent. Dans le cas d'une prise d'otages, le criminel vérifie que la clé de signature révélée est correcte en produisant lui-même des documents d'identité accompagnés de leur signature, et en utilisant la clé publique de l'autorité pour vérifier que les documents qu'il a lui-même produit sont valables. Ensuite, il relâche les otages, puis commence à produire des documents falsifiés, indiscernables des documents originaux.
Actuellement, la seule solution pour l'autorité pour discerner les documents falsifiés des documents originaux, est alors de révoquer tous les documents d'identité qu'elle a produits jusqu'à la prise d'otage. A grande échelle, comme c'est le cas pour ces documents d'identité produits en grande quantité, cette solution est prohibitive, du fait du coût et des délais qu'elle implique.
Le but de la présente invention est donc de permettre à l'autorité de distinguer les documents d'identité falsifiés des documents originaux, sans que le criminel puisse lui-même être capable de faire cette distinction. Ce but est atteint en faisant varier les critères de vérification de la signature. Cette nouvelle catégorie d'algorithmes de signature est appelée algorithmes de signature à niveaux multiples, ou aussi algorithmes de signature monotone.
Grâce à cette solution, il suffit, lorsque la coercition cesse de s'exercer, de mettre à jour les équipements de vérification en publiant de nouveaux critères de vérification, ce qui est exceptionnellement acceptable, même à l'échelle d'un grand pays.
Le procédé de signature à niveaux multiples selon 1 ' invention est dérivé du schéma classique de signature à clé publique. Par conséquent, il peut s'appliquer à tous les algorithmes de signature à clé publique tels que, en particulier, l'algorithme RSA du nom de ses auteurs (Rivest, Shamir et Adleman) , l'algorithme d'El Gamal ou de Schnorr.
Un schéma à clé publique comprend trois sous- algorithmes : un algorithme G de génération d'une clé publique de vérification v et d'une clé secrète s, un algorithme S de production de la signature σ, et un algorithme V de vérification.
Selon un tel schéma à clé publique, une autorité signe au moyen d'un dispositif A mettant en œuvre une clé secrète s, un document généralement appelé message m : S (s, m) = σ. Dans le cas des documents d'identité, le message m est constitué des informations portées sur le document, exception faite de la signature elle-même.
Le document d' identité est finalement le document signé, c'est-à-dire constitué de m et σ. Pour s'assurer que le document signé émane bien de l'autorité, c'est-à-dire du dispositif A, la signature est vérifiée par un ou plusieurs vérificateurs du document au moyen de la clé publique de vérification v qui leur est fournie par le dispositif A : ils vérifient que V(v,m,σ) est vrai.
On assimilera par la suite les vérificateurs aux équipements de vérification dont ils disposent.
En cas d'attaque (prise d'otages, ...) , l'autorité se trouve contrainte de révéler au criminel sa clé secrète. Celle-ci permet alors au criminel, qui par ailleurs s'est procuré la clé publique v, de fabriquer des documents d'identité pouvant obtenir un certificat de vérification valide avec la clé publique v (V(v,m,σ) est vrai) . Le criminel libère les otages.
Un document d'identité comprend typiquement un message à signer m contenant notamment les caractéristiques du détenteur de ce document et une signature σ. Selon l'invention la clé secrète est constituée de s et de clés secrètes partielles sj : on dénomme s' cette nouvelle clé secrète, s' = (s, si, ..., sj , ..., sn) . C'est une clé à niveaux multiples utilisée par le dispositif A pour produire des documents signés. La signature par le dispositif A au moyen de cette clé s' , devient alors :
S(s',m) = S(s,sl, ...,sn,m) = σ' De même, la clé publique de vérification est constituée de v et de clés publiques partielles vj : on dénomme v' cette nouvelle clé publique. v' = (v,vl, ..., vj , ...,vn) . Mais la clé publique fournie initialement et sans contrainte aux vérificateurs des messages est en fait v, les clés vl,v2, ...,vn étant des clés de réserve secrètes détenues par le dispositif A, qui ne seront introduites dans la clé publique de vérification que si besoin est .
De plus, quelle que soit la forme de la clé publique de vérification, la vérification des documents produits par le dispositif A avec la clé s' est positive. Les clés s' et v' sont telles que V(v, m, σ') est vrai. De même, V(v, vl, m, σ'), ..., V(v, ...,vj, m, σ'), ... et V(v,.„, vn, m, σ') sont vrais.
Lors de la première attaque coercitive, l'autorité révèle s. Cette première attaque est un cas particulier, du fait que l'autorité dévoile la clé s, qui est une donnée différente des si .
Le criminel produit des documents d'identité, c'est-à-dire qu'il signe les messages m avec s :
S (s, m) = σ. Puis, s 'étant procuré la clé publique v, il vérifie que V(v, m, σ) est vrai, ce qui est le cas et cesse d'exercer sa contrainte : il libère les otages.
L'autorité affine alors les critères de vérification en publiant à l'attention des vérificateurs autorisés, via le dispositif A, une nouvelle clé publique de vérification parmi les clés de réserve dont l'autorité dispose. Cette nouvelle clé de vérification sera par exemple : (v,vl) .
En appliquant l'algorithme de vérification V, les vérificateurs obtiennent alors que V(v, m, σ) est vrai mais que V(v, vl , m, σ) est faux. On rappelle que V(v, vl, m, σ') est vrai.
Ainsi, les documents produits par le criminel peuvent être facilement discriminés à l'aide de ce nouveau critère vl , de ceux produits par l'autorité, qui, elle, utilise toutes les clés secrètes pour produire des documents signés.
Lors d'une attaque ultérieure, l'autorité dévoile la clé secrète si par exemple. Le criminel produit des documents qu'il signera au moyen de la clé (s, si) : S (s, si, m) = σl . Puis, s ' étant par ailleurs procuré (v, vl) , il vérifie que V(v,vl,m,σl) est vrai ce qui est le cas. Il cesse alors d'exercer sa contrainte et libère les otages . L'autorité affine alors les critères de vérification en publiant à l'attention des vérificateurs autorisés, via le dispositif A, une nouvelle clé publique de vérification parmi les clés de réserve dont l'autorité dispose. Cette nouvelle clé de vérification sera par exemple : (v,vl,v2).
En appliquant l'algorithme de vérification V, les vérificateurs obtiennent alors que V(v,vl,m,σl) est vrai mais que V(v,vl, v2 ,m,σl) est faux. Ainsi, les documents produits par le criminel peuvent être facilement discriminés à l'aide de ce nouveau critère v2 , de ceux produits par le dispositif A.
Le criminel peut bien sûr demander que toutes les clés secrètes lui soient révélées en une fois. Il se procure alors la clé publique de vérification correspondante. Dans ce cas l'autorité lui fournira plusieurs clés secrètes partielles, mais pas toutes car un autre avantage de l'invention est que le criminel ne peut discerner si les signatures produites par l'autorité ont été obtenues seulement avec les clés secrètes qui sont en sa possession, ou si des clés secrètes additionnelles ont été nécessaires.
L'invention a pour objet un procédé de signature électronique d'un message m par un dispositif A mettant en œuvre un algorithme de signature utilisant un schéma de signature à clé publique comprenant une clé secrète s compatible avec une clé publique de vérification v, principalement caractérisé en ce qu'il consiste à : - générer et mémoriser une nouvelle clé secrète s' formée de s et de clés secrètes partielles si,..., sj ,..., sn, n étant un entier positif,
- générer et mémoriser une nouvelle clé publique de vérification v' formée de v et de clés publiques de réserve vl, ..., vj , ..., vn, les clés secrètes (s, si, ..., sj ) étant compatibles avec les clés publiques de vérification (v, vl , ..., vj ) et la clé secrète s' étant compatible avec n'importe quelle clé de vérification (v, vl, ..., vj ) j variant de 1 à n, - à signer le message m au moyen de la clé secrète s' pour obtenir une signature σ'.
Selon une caractéristique de l'invention, le procédé consiste en outre à fournir à un équipement de vérification du message m signé, au moins une clé publique de réserve. Un aléa r constitué d'éléments d'information peut être introduit dans le message m ou plus pécisément, concaténé au message m.
Selon une autre caractéristique de l'invention, l'aléa est constitué d'éléments d'information aléatoires et d'éléments d'information non aléatoires, les éléments d'information non aléatoires étant chacun déterminés par une fonction fkj pseudo-aléatoire différente, j variant de 1 a n. Avantageusement, les éléments d'information de l'aléa r sont des bits et l'aléa r est constitué d'une suite de bits.
Selon une caractéristique additionnelle, kj = sj = vj • Selon une autre caractéristique, le procédé est appliqué à la phase d'initialisation et aux sous- algorithmes G de génération de clés et S de signature de l'algorithme de Schnorr-Okamoto.
L'invention concerne également un procédé de vérification par un équipement de vérification d'un message signé de manière électronique, ledit équipement de vérification disposant au moins d'une clé publique v, caractérisé en ce que ledit équipement de vérification dispose en outre d'au moins une clé de réserve vj , et en ce qu'il applique la clé publique v et la ou les clés de réserve vj à tout ou partie du message signé et vérifie que la clé publique v et la ou les clés de réserve vj sont valides.
Selon une caractéristique de l'invention, un aléa r étant introduit dans le message m, et l'ensemble (m,r) constitué du message et de l'aléa étant signé de manière électronique, le procédé consiste en ce que : l'équipement de vérification applique la clé publique v à l'ensemble (m, r) ou une fonction de (m,r) et vérifie que la clé publique v est valide,
- l'aléa r soit constitué d'une chaîne de bits ri ... rj ... rn, dont certains sont aléatoires, l'équipement de vérification dispose des bits aléatoires de r, de rj et d'une famille de fonctions pseudo-aléatoires fj, et vérifie que fvj (bits aléatoires de r) = rj .
Selon une autre caractéristique de l'invention, un aléa r étant introduit dans le message m, l'ensemble (m, r) constitué du message et de l'aléa étant signé de manière électronique, ledit équipement de vérification disposant d'une fonction de hachage H, de m, et de la signature σ' de l'ensemble (m, r) , le procédé consiste en ce que :
- la clé publique v soit constituée d'un entier y et d'une suite d'entiers gi7 ...,gn
- la signature soit de la forme σ' = (h,ul, ...,un) avec h=H(m,r) l'équipement de vérification dispose en outre d'un nombre premier p, et vérifie que la clé v est valide c'est-à-dire que H(m,gιul x ... x gn un x yh mod p) = h l'équipement de vérification dispose en outre d'au moins une clé de réserve vj et de uj , et d'une famille de fonctions peudo-aléatoires fk, et vérifie que la clé de réserve vj est valide c'est-à-dire que uj = D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description suivante faite à titre d'exemple non limitatif.
Dans la plupart des algorithmes à clé publique, un aléa r, constitué d'éléments d'informations au sens de la théorie de l'information (un élément d'information est un ensemble de 1 à plusieurs bits, comme par exemple, un nombre entier, une matrice, ...) , est introduit dans le message m à signer. Une fonction de hachage est ensuite appliquée à l'ensemble (m,r) : H(m,r)= h.
La signature intervient alors : σ = S (s, h) . C'est ce qui est communément dénommé sous le nom de méthode « hachage puis signature » ("hash and sign paradigm" , en anglais) . Le vérificateur dispose de h, σ et d'une clé publique de vérification v, communiqués par le dispositif A : il vérifie que V(v,h,σ) est juste.
Selon un premier mode de réalisation de l'invention, l'aléa r est une chaîne de bits (0 ou 1) apparemment aléatoires, introduite dans le message m, en l'occurrence concaténée à m. L'expression « apparemment aléatoire » signifie que r inclut de l'information qui a une signification pour qui sait l'interpréter. Cette chaîne r est en fait constituée de bits aléatoires et d'autres bits déterminés en fonction de ces bits aléatoires.
On définit un ensemble E e {l,...,n} et un ensemble E'= {l,...,n} - E r = ri ... rj ... rw ... m avec : rj = 0 ou 1 aléatoires pour jeE rj = fkj (rw) pour les autres j, c'est-à-dire pour jeE', pour weE et où fkj est une famille de fonctions pseudo-aléatoires et kj une clé secrète ; kj est un nombre réel représenté sous forme binaire par exemple sur 128 bits.
On va illustrer cette formulation de r par un exemple : en choisissant n=5, on a par exemple ri, r3 et r4 aléatoires et r2 et r5 déterminés par r2=fk2 (ri, r3 , r4) et r5=fs (ri, r3 , r4) . Bien entendu, n est en réalité un entier beaucoup plus grand tel que par exemple 2128.
Le nombre de ces clés kj dépend donc du nombre de bits de r obtenus en appliquant ces fonctions pseudoaléatoires. Le terme pseudo-aléatoire désigne des fonctions qui produisent des bits indiscernables au sens de la complexité de bits purement aléatoires.
Selon ce premier mode de réalisation, sj = kj = vj . Le dispositif A a mémorisé bien sûr la clé secrète s ainsi que toutes les clés secrètes partielles kj .
Ce premier mode de réalisation présente des inconvénients : on remarque en effet que révéler une clé publique partielle kj revient à révéler en même temps la clé secrète partielle correspondante. Sachant cela, le criminel ayant déjà obtenu kj , pourra alors attendre la divulgation d'une nouvelle clé publique de vérification, par exemple k(j+l) et produire des documents signés au moyen de k(j+l) . Il s'agit d'un cas d'attaque différée.
De plus, dans la mesure où l'on souhaite pouvoir inscrire plusieurs signatures sur un document d'identité de dimensions nécessairement limitées, il est avantageux d'appliquer ce procédé de signature à niveaux multiples à un algorithme de signature à clé publique particulier: celui de Schnorr-Okamoto, car les signatures selon cet algorithme sont très courtes. La variante d'Okamoto de la signature de Schnorr est présentée dans la publication « Advances in cryptology CRYPTO'92, Springer-Verlag, LNCS 740, pp. 31-53, 1992 ».
On va détailler un second mode de réalisation qui est une variante de l'invention, et qui est basé sur l'algorithme de Schnorr-Okamoto.
On débute par une phase d' initialisation qui consiste à choisir et mémoriser :
- un grand nombre premier p (de 512 bits par exemple) tel que p-l= q x 1 , q étant un grand nombre premier (par exemple de 160 bits) et 1 un entier positif, une fonction de hachage H s 'appliquant dans l'ensemble des entiers modulo p,
- et fk ( • ) = H(k,.), une famille de fonctions aléatoires.
Le sous-algorithme G de génération de clé consiste choisir et mémoriser n et une permutation P de {l,2,...,n} telle que P(l)= PI, etc. On va illustrer une permutation de {1,2,3,4} (n=4) en choisissant la permutation 4, 2, 1, 3 ; on définit alors P(l)=4, P(2)=2, P(3)=l et P(4)=3. Dans la réalité, n peut par exemple être égal à 20.
- choisir et mémoriser i tel que i<n
- choisir et mémoriser des entiers ai, ..., aι-ι dans le groupe multiplicatif Zq * des entiers modulo q, - choisir et mémoriser des nombres aléatoires ki, ..., kι-ι
- choisir et mémoriser des entiers xi, ..., xn dans le groupe multiplicatif Zq * des entiers modulo q,
- choisir et mémoriser des nombres entiers gP(i> , ..., gp(n) dans le groupe multiplicatif Zp * des entiers modulo p et tels que gP(m)q = 1 pour m=i,...,n
- définir gP(j> = gP(i)a:] mod p pour j = 1,..., i-1 : on impose ainsi une relation entre les gP(i),..., gP<i-i)
- définir y tel que y = gιxl x ... x gn*11 mod p
On obtient finalement comme :
- clé publique v' : v constitué de y et des éléments {gp(j>} Pour j=l,...,n et vj = kj pour j =1,..., i-1
- clé secrète s' : s= (xi,...,xn) et sj = (aP(j> , kP(j> ) pour j=l, ..., i-1, On remarque que dans la mesure où les entiers aι,...,ai-ι sont secrets, les relations entre les gP(u, ..., gP(i-ι), correspondants le sont aussi . Ces clés publiques et secrètes sont mémorisées.
Le sous-algorithme S de signature consiste à : - choisir et mémoriser des entiers ti, ..., tn dans le groupe multiplicatif Zq * des entiers modulo q,
- calculer et mémoriser l'aléa r=gιt:L x ... x gn tn mod p
- calculer et mémoriser h = H(m,r) - calculer et mémoriser : pour j=l,...,i-l uP(j) = fkj(m,r) pour j=i, uP(i) = ti- hxi- ajUpc.)- ...- ai-iUpd-D mod q pour j=i+l,...,n tj- hxj mod q poser et mémoriser σ' = (h, ul, ..., un) ; (on a S (s, sx,..., Si-ι,h) = σ').
Le sous-algorithme V de vérification du message et de la signature σ' consiste à vérifier que
H(m,gιul x ... x gn un x yh mod p) = h et que les Uj sont valables pour les j communiqués par l'autorité A.
Vérifier cette seconde condition revient à vérifier : Uj = fk[P _1(j)] (m, r) ,P"1(j) étant la fonction inverse de P(j), c'est-à-dire Uj = fkj(m,r).
Après la première attaque, l'autorité A révèle au criminel s= (xi , ...,xn) et éventuellement certaines clés secrètes partielles sj c'est-à-dire certains éléments P(j) , aP(j) et kP(j) . Puis, après libération des otages, l'autorité ajoute un nouveau critère de vérification, en imposant une nouvelle relation entre les gP<i) .
Le dispositif A mettant en œuvre un procédé de signature électronique tel que décrit comporte une unité principale de traitement, des mémoires de programmes et une mémoire de travail, associées à l'unité de traitement. Parmi les programmes mis en mémoire, on peut citer outre le programme correspondant au procédé de signature selon l'invention, un programme permettant d'effectuer les permutations P ainsi qu'un programme permettant d'appliquer une fonction de hachage H.
Le dispositif comporte également un processeur arithmétique capable d'effectuer des calculs modulaires et une mémoire sécurisée dans laquelle seront stockées la clé secrète s et les clés secrètes partielles si, ...,sn, ainsi que la clé de vérification v et les clés de réserve vl, ...,vn. Le dispositif possède également un générateur de fonctions pseudo-aléatoires.
Un équipement de vérification comprend également une unité principale de traitement, des mémoires de programmes et une mémoire de travail, associées à l'unité de traitement. L'équipement de vérification comporte également un processeur arithmétique capable d'effectuer des calculs modulaires et une mémoire sécurisée dans laquelle seront stockées la clé de vérification v et les clés de réserve vj éventuelles, ainsi que tout autre élément secret dont il dispose.

Claims

REVENDICATIONS
1. Procédé de signature électronique d'un message m par un dispositif A mettant en œuvre un algorithme de signature utilisant un schéma de signature à clé publique comprenant une clé secrète s compatible avec une clé publique de vérification v, caractérisé en ce qu'il consiste à : générer et mémoriser une nouvelle clé secrète s' formée de s et de clés secrètes partielles si,..., sj ,..., sn, n étant un entier positif, - générer et mémoriser une nouvelle clé publique de vérification v' formée de v et de clés publiques de réserve vl,..., vj ,..., vn, les clés secrètes (s, si, ..., sj ) étant compatibles avec les clés publiques de vérification (v, vl , ..., vj ) et la clé secrète s' étant compatible avec n'importe quelle clé de vérification (v, vl, ..., vj ) j variant de 1 à n,
- à signer le message m au moyen de la clé secrète s' pour obtenir une signature σ' .
2. Procédé selon la revendication précédente, caractérisé en ce qu'il consiste en outre à fournir à un équipement de vérification du message m signé, au moins une clé publique de réserve.
3. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'un aléa r constitué d'éléments d'information est introduit dans le message m.
4. Procédé selon la revendication précédente, caractérisé en ce que l'aléa r est concaténé au message m.
5. Procédé selon l'une des revendications 3 ou 4 , caractérisé en ce que l'aléa est constitué d'éléments d'information aléatoires et d'éléments d'information non aléatoires, les éléments d'information non aléatoires étant chacun déterminés par une fonction fkj pseudo-aléatoire différente, j variant de 1 a n.
6. Procédé selon la revendication précédente, caractérisé en ce que les éléments d'information de l'aléa r sont des bits et en ce que l'aléa r est constitué d'une suite de bits.
7. Procédé selon l'une des revendications 5 ou 6, caractérisé en ce que kj = sj = vj .
8. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il est appliqué à la phase d'initialisation et aux sous-algorithmes G de génération de clés et S de signature de l'algorithme de Schnorr-Okamoto .
9. Procédé de vérification par un équipement de vérification d'un message signé de manière électronique, ledit équipement de vérification disposant au moins d'une clé publique v, caractérisé en ce que ledit équipement de vérification dispose en outre d'au moins une clé de réserve vj , et en ce qu'il applique la clé publique v et la ou les clés de réserve vj à tout ou partie du message signé et vérifie que la clé publique v et la ou les clés de réserve vj sont valides .
10. Procédé de vérification selon la revendication précédente, un aléa r étant introduit dans le message m, et l'ensemble (m,r) constitué du message et de l'aléa étant signé de manière électronique, caractérisé en ce que : l'équipement de vérification applique la clé publique v à l'ensemble (m,r) ou une fonction de (m,r) et vérifie que la clé publique v est valide,
- l'aléa r est constitué d'une chaîne de bits ri ... rj ... rn, dont certains sont aléatoires, l'équipement de vérification dispose des bits aléatoires de r, de rj et d'une famille de fonctions pseudo-aléatoires fj, et vérifie que fvj (bits aléatoires de r) = rj .
11. Procédé de vérification selon la revendication 9, un aléa r étant introduit dans le message m, l'ensemble (m, r) constitué du message et de l'aléa étant signé de manière électronique, ledit équipement de vérification disposant d'une fonction de hachage H, de m, et de la signature σ' de l'ensemble (m,r) caractérisé en ce que : - la clé publique v est constituée d'un entier y et d'une suite d'entiers g1# ...,gn
- la signature est de la forme σ' = (h,ul, ...,un) avec h=H(m,r) - l'équipement de vérification dispose en outre d'un nombre premier p, et vérifie que la clé v est valide c'est-à-dire que H(m,gιul x ... x gn un x y11 mod p) = h l'équipement de vérification dispose en outre d'au moins une clé de réserve vj et de uj , et d'une famille de fonctions peudo-aléatoires fk, et vérifie que la clé de réserve vj est valide c'est-à-dire que uj = fvj (m,r) .
EP01999076A 2000-11-30 2001-11-22 Procede de signature electronique a niveaux multiples Withdrawn EP1344344A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0015529A FR2817422B1 (fr) 2000-11-30 2000-11-30 Procede de signature electronique a niveaux multiples
FR0015529 2000-11-30
PCT/FR2001/003679 WO2002045338A1 (fr) 2000-11-30 2001-11-22 Procede de signature electronique a niveaux multiples

Publications (1)

Publication Number Publication Date
EP1344344A1 true EP1344344A1 (fr) 2003-09-17

Family

ID=8857096

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01999076A Withdrawn EP1344344A1 (fr) 2000-11-30 2001-11-22 Procede de signature electronique a niveaux multiples

Country Status (4)

Country Link
EP (1) EP1344344A1 (fr)
AU (1) AU2002222013A1 (fr)
FR (1) FR2817422B1 (fr)
WO (1) WO2002045338A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130795B (zh) * 2019-12-13 2022-12-27 浙商银行股份有限公司 一种基于区块链技术的多级签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0245338A1 *

Also Published As

Publication number Publication date
FR2817422B1 (fr) 2003-02-14
WO2002045338A1 (fr) 2002-06-06
FR2817422A1 (fr) 2002-05-31
AU2002222013A1 (en) 2002-06-11

Similar Documents

Publication Publication Date Title
EP2116000B1 (fr) Procéée d&#39;authentification unique d&#39;un utilisateur auprès de fournisseurs de service
EP2656538B1 (fr) Accès anonyme a un service au moyen de certificats agrégés
WO2003061193A1 (fr) Procede et dispositif de signature anonyme au moyen d&#39;une cle privee partagee
EP1480375A1 (fr) Procédé de signature électronique de groupe avec anonymat révocable, équipements et programmes pour la mise en oeuvre du procédé
FR2738437A1 (fr) Systeme d&#39;identification a cle
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
WO2007045745A1 (fr) Procede et dispositif de creation d&#39;une signature de groupe et procede et dispositif de verification d&#39;une signature de groupe associes
WO2006085000A1 (fr) Procede de cryptographie de messages a cle privee, et application a une installation
FR3091108A1 (fr) Procédé et système de vote électronique
EP1055203B1 (fr) Protocole de controle d&#39;acces entre une cle et une serrure electronique
EP1523824A1 (fr) Procede de signature de liste et application au vote electronique
FR2632469A1 (fr) Dispositif de communication securisee de donnees
EP3965361B1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
EP0666664B1 (fr) Procédé de signature numérique et d&#39;authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
EP3707669A1 (fr) Procédé d&#39;obtention d&#39;une identité numérique de niveau de sécurité élevé
EP1344344A1 (fr) Procede de signature electronique a niveaux multiples
EP0743775B1 (fr) Procédé de signature numérique à connaissance nulle, permettant d&#39;élaborer une signature résistant aux collisions
EP3272064B1 (fr) Authentification chainee par l&#39;intermediaire de dispositifs connectes
WO2014125206A1 (fr) Procédé cryptographique de génération d&#39;une paire de clés utilisateur pour une entité possédant un identifiant public i, et système
WO2003009522A1 (fr) Procede pour effectuer une tache cryptographique au moyen d&#39;une cle publique
EP4158842A1 (fr) Procede de derivation d&#39;une signature partielle avec verification partielle
EP2129115A1 (fr) Méthode de mise à jour de données de sécurité dans un module de sécurité et module de sécurité pour la mise en oeuvre de cette méthode
FR2842968A1 (fr) Procede d&#39;obtention d&#39;une signature electronique possedant une garantie sur sa securite
WO2002019613A1 (fr) Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede
WO2008081151A2 (fr) Procede de signature de liste anonyme et correlable

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030630

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

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

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20031024