FR3027752A1 - Protection de signatures numeriques basees sur le probleme du logarithme discret - Google Patents

Protection de signatures numeriques basees sur le probleme du logarithme discret Download PDF

Info

Publication number
FR3027752A1
FR3027752A1 FR1460171A FR1460171A FR3027752A1 FR 3027752 A1 FR3027752 A1 FR 3027752A1 FR 1460171 A FR1460171 A FR 1460171A FR 1460171 A FR1460171 A FR 1460171A FR 3027752 A1 FR3027752 A1 FR 3027752A1
Authority
FR
France
Prior art keywords
signature component
signature
masking
private key
random integer
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.)
Granted
Application number
FR1460171A
Other languages
English (en)
Other versions
FR3027752B1 (fr
Inventor
Franck Rondepierre
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies 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 Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1460171A priority Critical patent/FR3027752B1/fr
Publication of FR3027752A1 publication Critical patent/FR3027752A1/fr
Application granted granted Critical
Publication of FR3027752B1 publication Critical patent/FR3027752B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

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 la génération sûre d'une signature numérique S=(r,s) d'un message M, à faible coût, type DSA et EC-DSA. De façon connue, les composantes de la signature sont déterminées à l'aide d'un entier aléatoire k, d'un point G, d'une clé privée det d'un hash m du message M. Selon l'invention, la détermination de la deuxième composante de signature s comprend : masquer la première composante de signature r ou la clé privée d par l'entier aléatoire k à l'aide d'une opération d'addition modulaire ; multiplier le résultat de masquage avec l'autre valeur r ou d ; et ajouter, au résultat de multiplication éventuellement modifié, un multiple non-nul, positif ou négatif, de ladite autre valeur r ou d. Dans le cas de la signature dite « américaine », la deuxième composante peut être calculée selon la formule suivante : s = k-1. (m + r(ω * d)) - r.

Description

DOMAINE DE L'INVENTION La présente invention concerne de façon générale le domaine de la cryptographie asymétrique, et plus particulièrement des mesures visant à contrer les attaques par analyse de puissance, connues sous les appellations « SCA » (de l'anglais « side channel analysis ») et « DPA » (de l'anglais « differential power analysis »). La présente invention vise notamment un procédé et un système de génération d'une signature numérique d'un message protégeant, à faible coût de calcul, une clé privée. CONTEXTE DE L'INVENTION Le domaine de la cryptographie asymétrique (ou « à clé publique ») repose sur la sélection par chaque entité voulant communiquer d'une paire de clés : une clé dite publique communiquée aux autres entités, et une clé dite privée qui est gardée secrète. Contrairement à la cryptographie symétrique, la cryptographie asymétrique ne nécessite pas de sécuriser le canal de communication sur lequel les clés (publiques) sont échangées. La cryptographie asymétrique est, entre autres, utilisée pour signer numériquement un message, de sorte à permettre l'authentification de son auteur. Dans le mécanisme de signature, l'expéditeur du message utilise sa propre clé privée pour coder le message et ainsi obtenir une signature. La signature est reçue puis vérifiée par le destinataire à l'aide de la clé publique de l'expéditeur et du message, lui aussi reçu. L'efficacité de la majorité des mécanismes à clé publique, tels que le chiffrement El Gamal, la signature DSA ou encore la signature EC-DSA, repose sur le problème du logarithme discret, bien connu de l'homme de l'art. Dans ces mécanismes, la signature numérique S comprend des première et deuxième composantes non-nulles de signature, notées `r' et 's' respectivement. Pour le calcul de ces composantes, un entier aléatoire secret, noté 'k', est sélectionnée, et une valeur de hachage, notée m', du message à signer M est obtenue à l'aide d'une fonction de hachage, typiquement MD5, SHA-1 et SHA-2.
La première composante de signature r est déterminée à partir de l'entier aléatoire k, d'un point 'G' d'un groupe mathématique d'ordre premier et éventuellement de la valeur de hachage m: r = H ([k]G,m) où H est une fonction de hachage, [k]G représente la multiplication scalaire de G par k. La deuxième composante de signature s est déterminée à partir de l'entier aléatoire k, de la première composante de signature r, de la clé privée, notée 'd', et éventuellement de la valeur de hachage m: s= f (k,m,r, d) A titre d'exemple pour la signature DSA, r = (gk mod p) mod q et s = f (k,m,r, d) = k-1(m + rd) mod q Où g e Zp* et q est l'ordre d'un groupe cyclique dans le groupe mathématique d'ordre (p) premier Zp* muni d'une loi de groupe multiplicative. Dans les systèmes cryptographiques à courbe elliptique, un schéma de signature classiquement utilisé est la signature EC-DSA (de l'anglais « Elliptic Curve Digital Signature Algorithm »). EC-DSA diffère de DSA dans la définition du domaine de paramètres et ainsi que dans la loi de groupe utilisée pour calculer la première composante de signature r. En effet, un point de base G est sélectionné sur une courbe elliptique pour définir un groupe cyclique d'ordre premier, ordre noté 'n'. Dans une version dite de signature américaine, l'algorithme EC-DSA est le suivant : sélectionner un entier aléatoire k tel que 0<k<n, où n est l'ordre premier du groupe basé sur la courbe elliptique et le point de base G ; calculer r = x([k]G) mod n où x(P) renvoie l'abscisse du point P sur la courbe elliptique, et [k]G représente la multiplication scalaire de G par k; et calculer s = f (k,m,r, d) = k-1(m + dr) mod n. Pour calculer de nombreuses signatures numériques dans un système cryptographique à clé publique, la clé privée secrète d est combinée, par multiplication modulaire, avec la première composante de signature r qui, elle, est rendue publique et varie d'une exécution de la signature à l'autre. Ainsi une personne mal intentionnée ayant la connaissance de r peut déterminer la clé privée den utilisant une attaque DPA sur la multiplication modulaire entre d et r. Il y a donc lieu de protéger cette multiplication modulaire dr.
Le masquage est une contre-mesure classique aux attaques DPA. Un masque, noté `co', est utilisé avec une opération de masquage, notée `*', pour éviter l'évaluation de résultats intermédiaires dépendants directement de r et d. Par exemple, la publication WO 2008/106793 décrit une contre-mesure par masquage pour la signature américaine ci-dessus où l'opération de masquage * est la multiplication modulo l'ordre n. Dans un premier mode de réalisation de cette publication, le masque co est une valeur aléatoire et la deuxième composante de signature s vaut Ic-1(m + (d * co)(co-1 * r)) mod n. Cette réalisation n'est cependant pas sûre car le terme (d * co)(co-1 * r) dépend seulement de r et de d. En outre, en notant I, M et A, les coûts respectifs d'une inversion modulaire, d'une multiplication modulaire et d'une addition/soustraction modulaire, cette réalisation conduit à un surcoût de I+2M, ce qui peut s'avérer important, d'autant plus que l'inversion modulaire est extrêmement coûteuse.
Dans un autre mode de réalisation, le masque co vaut k-1 (valeur déjà utilisée pour le calcul de la signature) et la deuxième composante de signature s vaut + (d * co)r) mod n. Cette réalisation conduit à un surcoût de M comparé à la signature américaine sans masquage. Dans la publication EP 2 378 707 également relative à la signature américaine, l'opération de masquage * proposée est l'addition modulo l'ordre n, avec un masque co égal à mr-1. La deuxième composante de signature s vaut alors (d * co) mod n. Cette solution de masquage n'est pas sûre car le masque co est public. En outre, elle conduit à un surcoût de I+M comparé à la signature américaine sans masquage.
RESUME DE L'INVENTION La présente invention vise à résoudre tout ou partie des inconvénients des solutions de masquage de l'art antérieur dans le processus de signature numérique d'un message.
A cet effet, l'invention concerne tout d'abord un procédé de génération d'une signature numérique d'un message dans un système de traitement cryptographique de données comprenant, en mémoire, une clé privée et un message à signer, la signature numérique comprenant des première et deuxième composantes non-nulles de signature dont l'une au moins est déterminée à partir d'une valeur de hachage du message à signer, le procédé comprenant les étapes suivantes : obtenir un entier aléatoire ; déterminer la première composante de signature à partir de l'entier aléatoire et d'un point d'un groupe mathématique d'ordre premier ; déterminer la deuxième composante de signature à partir de l'entier aléatoire, de la première composante de signature et de la clé privée ; le procédé étant caractérisé en ce que la détermination de la deuxième composante de signature comprend les étapes suivantes : masquer la première composante de signature ou la clé privée par l'entier aléatoire à l'aide d'une opération d'addition modulaire ; multiplier le résultat de masquage avec l'autre valeur parmi la première composante de signature et la clé privée ; et ajouter, au résultat de multiplication éventuellement modifié, un multiple non- nul, positif ou négatif, de ladite autre valeur parmi la première composante de signature et la clé privée.
La génération de la signature numérique peut prendre part à un traitement cryptographique, duquel résulte l'envoi du message et de la signature numérique associée ainsi générée. Corrélativement, l'invention concerne également un système cryptographique de génération d'une signature numérique d'un message, le système comprenant : une mémoire stockant une clé privée et un message à signer, la signature numérique comprenant des première et deuxième composantes non-nulles de signature dont l'une au moins est déterminée à partir d'une valeur de hachage du message à signer, un générateur aléatoire pour générer un entier aléatoire ; un calculateur de signature numérique configuré pour : déterminer la première composante de signature à partir de l'entier aléatoire et d'un point d'un groupe mathématique d'ordre premier ; et déterminer la deuxième composante de signature à partir de l'entier aléatoire, de la première composante de signature et de la clé privée, l'une des première et deuxième composantes étant également déterminée à partir d'une valeur de hachage du message à signer ; le système étant caractérisé en ce que la calculateur de signature numérique est en outre configuré pour, lors de la détermination de la deuxième composante de signature : masquer la première composante de signature ou la clé privée par l'entier aléatoire à l'aide d'une opération d'addition modulaire ; multiplier le résultat de masquage avec l'autre valeur parmi la première composante de signature et la clé privée ; et ajouter, au résultat de multiplication éventuellement modifié, un multiple non- nul, positif ou négatif, de ladite autre valeur parmi la première composante de signature et la clé privée. Grâce à l'utilisation d'un masquage par addition modulaire et l'ajout d'un multiple du masque (non rendu public) au résultat obtenu, la deuxième composante de signature incluant le terme rd est ainsi obtenue de façon sécurisée et à coût moindre comparé aux techniques connues. L'invention a également pour objet un produit programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur.
D'autres caractéristiques du procédé et du système selon des modes de réalisation sont décrites dans les revendications dépendantes. Selon des modes de réalisation, le multiple non-nul vaut, au signe près, le résultat d'une multiplication de l'entier aléatoire avec ladite autre valeur parmi la première composante de signature et la clé privée. Cette disposition permet de supprimer en une action la déviation apportée par le masquage additif à l'aide de l'entier aléatoire. Il en résulte un moindre coût de calcul, ainsi qu'un masquage ne modifiant pas la valeur finale de la signature numérique. Selon des modes de réalisation, lors de l'étape de masquage, l'entier aléatoire masque la clé privée, et le multiple non-nul est fonction de la première composante de signature. Le multiple non-nul n'est pas fonction de la clé privée, mais uniquement de la première composante de signature. Cette réalisation repose sur le masquage direct de la clé privée d afin de protéger le terme rd. Elle peut s'appliquer à de nombreuses signatures numériques basées sur le problème du logarithme discret.
Dans un mode de réalisation relative à la signature dite « américaine », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = (rn + r(w* cl)) - r où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée. Ce mode de réalisation est très efficace en ce qui concerne la protection du terme rd, ainsi que sur le faible surcoût engendré (2A). Dans une variante fournissant la même protection avec un surcoût légèrement supérieur (M+2A), la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s= k-1. (m + r Go * d) - kr) où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée. Dans un mode de réalisation relative à la signature dite « russe », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = r (co * d) + k(m - r) où s est la deuxième composante de signature, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, d est la clé privée, k est l'entier aléatoire, et m est la valeur de hachage. Là encore, la signature obtenue est sûre en termes de protection de rd, avec un surcoût faible de 2A par rapport à la signature « russe » classique. Dans un mode de réalisation relative à la signature dite « chinoise », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = (1 + d)-1(k - r (co * d) + rk) où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage. Là encore, la signature obtenue est sûre en termes de protection de rd, avec un surcoût modeste de M+2A par rapport à la signature « chinoise » classique. Dans un mode de réalisation relative à la signature dite « de Schnorr », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k - r (co * d) + rk où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage. Là encore, la signature obtenue est sûre en termes de protection de rd, avec un surcoût modeste de M+2A par rapport à la signature « de Schnorr » classique. Pour toutes ces signatures, la détermination de la première composante de signature demeure inchangée. Selon d'autres modes de réalisation, lors de l'étape de masquage, l'entier aléatoire masque la première composante de signature, et le multiple non-nul est fonction de la clé privée. Le multiple non-nul n'est pas fonction de la première composante de signature obtenue, mais uniquement de la clé privée. Cette réalisation repose sur le masquage direct de la première composante r afin de protéger le terme rd. Elle peut s'appliquer à de nombreuses signatures numériques basées sur le problème du logarithme discret.
Dans un mode de réalisation relative à la signature dite « américaine », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k-1. (rn + d(co * r)) - d où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée. Le masquage selon cette disposition est sûr et à faible coût (surcoût de 2A par rapport à la signature classique « américaine »). Dans une variante ayant un surcoût légèrement supérieur (M+2A), la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k-1. (m + d(co * r) - kd) où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée. Dans un mode de réalisation relative à la signature dite « chinoise », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = (1 + d)-1(k - (co * r)d + dk) où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage. Le surcoût par rapport à la signature classique est de M+2A.
Dans un mode de réalisation relative à la signature dite « de Schnorr », la détermination de la deuxième composante de signature comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k - * r)d + dk où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage. Ici aussi, le surcoût par rapport à la signature classique est de M+2A. Pour toutes ces signatures, la détermination de la première composante de signature demeure inchangée. Les avantages, buts et caractéristiques particulières de ce dispositif, de ce programme d'ordinateur et de ce support d'information étant similaires à ceux du procédé objet de la présente invention, ils ne sont pas repris ici. BREVE DESCRIPTION DES FIGURES D'autres avantages, buts et caractéristiques particulières de la présente invention ressortiront de la description qui va suivre faite, dans un but explicatif et nullement limitatif, en regard des dessins annexés, dans lesquels : la figure 1 représente schématiquement les éléments principaux d'une forme de réalisation possible pour une carte à microcircuit ; la figure 2 représente l'allure physique générale de la carte à microcircuit de la figure 1 ; et la figure 3 illustre schématiquement un procédé de génération d'une signature numérique selon l'invention appliqué au mécanisme EC-DSA. DESCRIPTION DETAILLEE DE L'INVENTION La figure 1 représente, schématiquement, un dispositif de traitement de données 40 formant système cryptographique dans lequel la présente invention est mise en oeuvre. Ce dispositif 40 comprend un microprocesseur 10, auquel est associée d'une part une mémoire vive 60, par exemple au moyen d'un bus 70, et d'autre part une mémoire non volatile 20 (par exemple du type EEPROM), par exemple à travers un bus 50. Le dispositif de traitement de données 40, et précisément le microprocesseur 10 qu'il incorpore, peuvent échanger des données avec des dispositifs extérieurs au moyen d'une interface de communication 30. On a schématiquement représenté sur la figure 1 la transmission d'une donnée d'entrée X reçue d'un dispositif extérieur (non représenté) et transmise de l'interface de communication 30 au microprocesseur 10. De manière similaire, on a représenté la transmission d'une donnée de sortie Y du microprocesseur 10 vers 10 l'interface de communication 30 à destination d'un dispositif extérieur. Cette donnée de sortie Y est issue d'un traitement de données par le microprocesseur 10, généralement sur la donnée d'entrée X à l'aide d'une donnée secrète 80 interne au système, par exemple une clé privée, notée d, et stockée en mémoire. Bien que, pour l'illustration, les données d'entrée et les données de sortie 15 figurent sur deux flèches différentes, les moyens physiques qui permettent la communication entre le microprocesseur 10 et l'interface 30 pourront être réalisés par des moyens uniques, par exemple un port de communication série ou un bus. Le microprocesseur 10 est apte à exécuter un logiciel (ou programme d'ordinateur) qui permet au dispositif de traitement de données 40 d'exécuter un 20 procédé conforme à l'invention dont des exemples sont donnés ci-dessous en regard de la figure 3. Le logiciel est composé d'une série d'instructions de commande du microprocesseur 10 qui sont par exemple stockées dans la mémoire 20. En variante, l'ensemble microprocesseur 10 - mémoire non-volatile 20 - mémoire vive 60 peut être remplacé par un circuit à application spécifique qui 25 comprend alors des moyens de mise en oeuvre des différentes étapes du procédé selon l'invention. La figure 2 représente une carte à microcircuit qui constitue un exemple de système cryptographique conforme à l'invention tel que représenté à la figure I. L'interface de communication 30 est dans ce cas réalisée au moyen des contacts de la 30 carte à microcircuit. La carte à microcircuit incorpore un microprocesseur 10, une mémoire vive 60 et une mémoire non volatile 20 comme cela est représenté sur la figure 1. Cette carte à microcircuit est par exemple conforme à la norme ISO 7816 et munie d'un microcontrôleur sécurisé qui regroupe le microprocesseur (ou CPU) 20 et 35 la mémoire vive 60.
En variante, le système cryptographique peut être inclus dans une clé USB, un document ou un support d'informations papier comportant dans l'une de ses feuilles un microcircuit associé à des moyens de communication sans contact. Il s'agit de manière préférée d'une entité électronique portable ou de poche. Bien entendu, l'invention s'applique aussi à un système cryptographique équipant un ordinateur personnel ou un serveur. Un tel système cryptographique peut équiper chacun des dispositifs d'Alice et de Bob dans l'exemple classique évoqué dans la publication WO 2008/106793 en lien avec la figure 1 de celle-ci. Dans cet exemple, Alice souhaite envoyer un message signé à Bob, laquelle signature repose sur le mécanisme EC-DSA décrit plus haut. Le processeur d'Alice obtient le message à signer M et procède à la signature de celui-ci à l'aide de sa clé privée d avant d'envoyer le message ainsi signé Y à Bob. De son côté, Bob souhaite authentifier la signature d'Alice, et pour ce faire, le processeur de Bob dispose d'une copie de la clé publique d'Alice. A partir de cette clé publique, et du message M reçu et de la signature (r, s) l'accompagnant (donnée X reçue par Bob), le processeur de Bob est capable de vérifier ladite signature et donc l'authenticité d'Alice. Les principales étapes de cette vérification sont décrites dans la publication WO 2008/106793 en lien avec la figure 2 de celle-ci. En référence à la figure 3, on décrit maintenant un exemple de procédé de génération d'une signature numérique selon l'invention appliqué au mécanisme EC- DSA par lequel le microprocesseur 10 chiffre un message M en un message signé Y (incluant le message M et la signature (r,$)). Pour rappel, un point de base G d'ordre premier est choisi sur une courbe elliptique afin de former un groupe cyclique du même ordre. Cet ordre premier est noté n.
De façon classique, le message M est haché en une valeur de hachage m, et un entier aléatoire k est choisi entre 0 et n. La première composante r de signature est classiquement générée à partir d'un entier aléatoire k, du point G, et éventuellement de la valeur de hachage m (selon les signatures considérées).
D'une façon générale selon l'invention, la deuxième composante s de signature requiert de masquer la première composante r de signature ou la clé privée d par l'entier aléatoire k à l'aide d'une opération d'addition modulaire ; puis de multiplier le résultat de masquage avec l'autre valeur parmi la première composante r de signature et la clé privée d; puis d'ajouter, au résultat de multiplication éventuellement modifié par une ou plusieurs opérations modulaires, un multiple non-nul, positif ou négatif, de ladite autre valeur parmi la première composante r de signature et la clé privée d. A noter que la multiplication du résultat de masquage n'est réalisée qu'avec ladite autre valeur et non avec la valeur sujette à l'opération de masquage. La figure 3 illustre l'invention.
Grâce à l'utilisation d'un masquage par addition modulaire et l'ajout d'un multiple du masque (non rendu public) au résultat obtenu, la deuxième composante de signature incluant le terme rd est ainsi obtenue de façon sécurisée et à coût moindre comparé aux techniques connues. En particulier, le multiple de l'autre élément vaut, au signe près, le résultat d'une multiplication de l'entier aléatoire k (égal au masque co) avec cet autre élément (r ou d). Des premiers modes de réalisation concernent le masquage de la clé privée d par l'entier aléatoire k. Dans ce cas, le multiple non-nul ajouté est fonction de la première composante r de signature calculée précédemment et non de la clé privée d. Cela permet de supprimer l'impact du masquage de d, soumis à une multiplication modulaire avec r pour obtenir le terme rd à protéger. Dans un premier de ces modes de réalisation, relatif à la signature américaine d'EC-DSA : s = (m + r(co * d)) - mod n où le masque co utilisé vaut l'entier aléatoire k. Selon cette formule, le multiple de l'autre élément non masqué, c'est-à-dire r, vaut -r, lequel est ajouté à r(w * d) une fois ce terme modifié par l'ajout modulaire de m et la multiplication modulaire par K1. Cela compense l'effet du masquage (qui ajoute k-1.r.co). Les opérations de signature EC-DSA munies de la contremesure DPA suggérée par cette formule sont maintenant décrites à l'aide de la figure 3.
A l'étape 302, le processeur d'Alice obtient le message M à signer, soit de l'extérieur, soit depuis une mémoire interne. Sur instruction demandant la signature de ce message, le processeur d'Alice détermine la valeur de hachage m=HASH(M) à partir du message M (étape 304), où HASH est une fonction de hachage cryptographique, par exemple SHA-1. Le processeur d'Alice sélectionne alors à l'étape 306 un entier aléatoire k dans l'intervalle [0, n] où n est l'ordre premier du groupe sous- jacent à EC-DSA basé sur une courbe elliptique. Le processeur d'Alice utilise k pour déterminer, à l'étape 308, la premier composante r de signature du message : r = x([1c]G) mod n où x(P) renvoie l'abscisse du point P, et G est un point de la courbe elliptique. Si r=0 (test 310), un autre entier aléatoire k est généré en rebouclant sur l'étape 306, autrement (r0), le processeur de Alice sélectionne l'entier aléatoire k comme valeur de masquage : co=k (étape 312), puis calcule la deuxième composante s de signature à l'aide de la formule ci-dessus (étape 314). Le processeur d'Alice détermine alors si cette deuxième composante s de signature est nulle (test 316) auquel cas le procédé retourne à l'étape 306. Autrement, la signature (r, s) est publiée par le processeur d'Alice (étape 318). Il s'ensuit que le processeur d'Alice transmet le message M et la signature (r, s) obtenue à Bob. Dans un mode de réalisation particulier, l'ordre des opérations pour le calcul de la deuxième composante s de signature à l'étape 314 commence par une addition modulaire a = co * d mod n, suivie d'une multiplication modulaire fi = r. a mod n, suivie d'une deuxième addition modulaire y = m + fi mod n, suivie d'une deuxième multiplication modulaire ô = k'. mod n, suivie d'une dernière addition modulaire s = ô - r mod n, pour un total de deux multiplications modulaires et trois additions modulaires (coût total 2M+3A). En comparaison, la signature américaine classique comprend deux multiplications modulaires et une seule addition modulaire (coût 2M+A), alors que les deux solutions de masquage de la publication WO 2008/106793 requièrent respectivement I+4M+A et 3M+A. Comme il est classiquement admis les équivalences suivantes : - dans le cas EC-DSA, 1=80M et M=5A, la présente invention implique un surcoût de 2A à comparer au surcoût de M=5A de la deuxième solution décrite dans WO 2008/106793; - dans le cas Zp*, I=100M et M=20A, la présente invention permet également d'obtenir une amélioration significative du surcoût. Le tableau ci-dessous résume les performances obtenues par ce mode de réalisation de l'invention, en comparaison des solutions décrites dans la publication WO 2008/106793. Solutions existantes L'invention Opération de Multiplication Multiplication Addition modulaire masquage * modulaire modulaire Formule k-1 r . (d * co) /cl .m + (d * co)r k'. (m + r(co * d)) - r Surcoût pour s I+M M 2A 99% 1% 0.1% Surcoût global (EC) 3% 0.04% 0.017% Surcoût global (Z;) 22% 0.22% 0.022% Remarque Non sûre Sûre Sûre A toutes fins utiles, on notera que le développement de la formule ci-dessus permet de constater que la valeur de s obtenue est identique à la valeur de s obtenue en utilisant la signature américaine classique : s = + k'. rd. Ainsi, la vérification de signature par le processeur de Bob demeure inchangée. A noter qu'une variante dans l'ordre des opérations pour le calcul de la deuxième composante s de signature à l'étape 314 peut être illustrée par la formule équivalente suivante : s = (m + r(co * d) - kr)] mod n. Cette variante s'avère cependant moins efficace que la première formule car le surcoût engendré est de M+2A qui s'avère tout de même meilleur que nombre de solutions existantes. Des deuxièmes modes de réalisation concernent le masquage de la première composant r de signature par l'entier aléatoire k, au lieu de la clé privée d comme ci-dessus. Dans ce cas, le multiple non-nul ajouté à la première composante r masquée est fonction de la clé privée d et non de la première composante r. Dans un mode de réalisation, relatif à la signature américaine d'EC-DSA : s= [k-1.(m+ d(co * r)) - d] mod n où le masque co utilisé vaut toujours l'entier aléatoire k. Selon cette formule, le multiple de l'autre élément non masqué, c'est-à-dire d, vaut -d.
Les explications données ci-dessus en lien avec la Figure 3 s'appliquent également à ce mode de réalisation, d et r jouant un rôle inverse. Les mêmes performances que celles résumées dans le tableau ci-dessus sont par conséquent obtenues. L'approche selon l'invention peut être appliquée à nombre d'autres signatures numériques basées sur le problème du logarithme discret. Dans le domaine particulier EC-DSA, l'invention s'applique notamment à la signature russe, à la signature chinoise ou encore à la signature Schnorr. De façon connue, la signature russe, notée EC-RDSA, diffère de la signature américaine classique sur le calcul de la signature numérique (r, s), comme suit. r = x([k]G) mod n, s= (dr + km) mod n.
Un mode de réalisation de l'invention prévoit, au cours de l'algorithme de la Figure 3, de calculer la deuxième composante s de signature en utilisant le masque = k, comme suit : s= [r(co * d) + k(m - r)] mod n.
Ici la clé privée d est masquée, et le multiple de r qui est ajouté vaut -kr. L'ordre des opérations pour le calcul de la deuxième composante s de signature (étape 314) peut alors être le suivant : une addition modulaire a = w * d mod n, suivie d'une multiplication modulaire fi = r. a mod n, suivie d'une deuxième addition modulaire y = m - r mod n, suivie d'une deuxième multiplication modulaire ô = k. y mod n, suivie d'une dernière addition modulaire s = fi + ô mod n, pour un total de deux multiplications modulaires et trois additions modulaires (coût total 2M+3A). Le surcoût de ce processus de masquage est de 2A par rapport à la signature russe classique.
De même, la signature chinoise, notée SM2-sign, diffère de la signature américaine classique sur le calcul de la signature numérique (r, s), comme suit. r = x([k1G) + m mod n, s = (1 + d)-1(k - rd) mod n. Un mode de réalisation de l'invention prévoit, au cours de l'algorithme de la Figure 3, de calculer la deuxième composante s de signature en utilisant le masque = k, comme suit : s = (1 + d)-1(k - r(co * d) + rk) mod n. Ici la clé privée d est masquée, et le multiple de r qui est ajouté vaut rk. A noter que le calcul de la première composante r (étape 308) est légèrement modifiée selon la formule ci-dessus, dans laquelle la valeur de hachage m est prise en compte. L'ordre des opérations pour le calcul de la deuxième composante s de signature (étape 314) peut alors être le suivant : une addition modulaire a = w * d mod n, suivie d'une multiplication modulaire fi = r. a mod n, suivie d'une deuxième addition modulaire y = k - fi mod n, suivie d'une deuxième multiplication modulaire = r. k mod n, suivie d'une troisième addition modulaire E = y - ô mod n, suivie d'une quatrième addition modulaire ç7 = 1 + d mod n, suivie d'une inversion modulaire = mod n, suivie d'une multiplication modulaire s = i. E mod n, pour un total d'une inversion modulaire, trois multiplications modulaires et quatre additions modulaires (coût total I+3M+4A).
Le surcoût de ce processus de masquage est de M+2A par rapport à la signature chinoise classique. De façon symétrique, le masquage peut porter sur la première composante r de signature et non plus sur la clé privée d: s = (1 + d)-1(k - (co * r)d + dk) mod n. Ici la première composante r est masquée, et le multiple de d qui est ajouté vaut dk. De même également, la signature de Schnorr diffère de la signature américaine classique sur le calcul de la signature numérique (r, s), comme suit. r = h(m,x([k]G)) mod n, où h( ) est une fonction de hachage par exemple SHA-1, s = (k - rd) mod n. Un mode de réalisation de l'invention prévoit, au cours de l'algorithme de la Figure 3, de calculer la deuxième composante s de signature en utilisant le masque = k, comme suit : s = [k - r(co * d) + rk] mod n. Ici la clé privée d est masquée, et le multiple de r qui est ajouté vaut rk. A noter que le calcul de la première composante r (étape 308) est légèrement modifiée selon la formule ci-dessus, dans laquelle la valeur de hachage m est prise en compte. L'ordre des opérations pour le calcul de la deuxième composante s de signature (étape 314) peut alors être le suivant : une addition modulaire a = w * d mod n, suivie d'une multiplication modulaire fi = r. a mod n, suivie d'une deuxième addition modulaire y = k - fi mod n, suivie d'une deuxième multiplication modulaire = r. k mod n, suivie d'une troisième addition modulaire s = y + ô mod n, pour un total de deux multiplications modulaires et trois additions modulaires (coût total 2M+3A). Le surcoût de ce processus de masquage est de M+2A par rapport à la signature Schnorr classique.
De façon symétrique, le masquage peut porter sur la première composante r de signature et non plus sur la clé privée d: s = [k - (co * r)d + dk] mod d. Ici la première composante r est masquée, et le multiple de d qui est ajouté vaut dk.35 Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.5

Claims (15)

  1. REVENDICATIONS1. Procédé de génération d'une signature numérique (S) d'un message dans un système de traitement cryptographique de données comprenant, en mémoire, une clé privée (d) et un message à signer (M), la signature numérique (S) comprenant des première (r) et deuxième (s) composantes non-nulles de signature dont l'une au moins est déterminée à partir d'une valeur de hachage (m) du message à signer (M), le procédé comprenant les étapes suivantes : obtenir un entier aléatoire (k) ; déterminer la première composante de signature (r) à partir de l'entier aléatoire (k) et d'un point (G) d'un groupe mathématique d'ordre premier ; déterminer la deuxième composante de signature (s) à partir de l'entier aléatoire (k), de la première composante de signature (r) et de la clé privée (d) ; le procédé étant caractérisé en ce que la détermination de la deuxième composante de signature (s) comprend les étapes suivantes : masquer la première composante de signature (r) ou la clé privée (d) par l'entier aléatoire (k) à l'aide d'une opération d'addition modulaire ; multiplier le résultat de masquage avec l'autre valeur parmi la première composante de signature (r) et la clé privée (d) ; et ajouter, au résultat de multiplication éventuellement modifié, un multiple non- nul, positif ou négatif, de ladite autre valeur parmi la première composante de signature (r) et la clé privée (d).
  2. 2. Procédé selon la revendication 1, dans lequel, lors de l'étape de masquage, l'entier aléatoire (k) masque la clé privée (d), et le multiple non-nul est fonction de la première composante de signature (r).
  3. 3. Procédé selon la revendication 2, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = + r(w* d)) - r où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée.
  4. 4. Procédé selon la revendication 2, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante :s= k-1 . (m + r (co * d) - kr) où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée.
  5. 5. Procédé selon la revendication 2, dans lequel la détermination de la 5 deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = r(co * d) + k(m - r) où s est la deuxième composante de signature, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, d est la clé privée, k est l'entier aléatoire, et m est la valeur de hachage. 10
  6. 6. Procédé selon la revendication 2, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = (1 + d)-1(k - r(co * d) + rk) où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de 15 masquage égale à k, et * est l'addition modulaire pour le masquage.
  7. 7. Procédé selon la revendication 2, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k - r (co * d) + rk où s est la deuxième composante de signature, d est la clé privée, k est 20 l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage.
  8. 8. Procédé selon la revendication 1, dans lequel, lors de l'étape de masquage, l'entier aléatoire (k) masque la première composante de signature (r), et le multiple non-nul est fonction de la clé privée (d). 25
  9. 9. Procédé selon la revendication 8, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k-1. (m + d (co * r)) - d où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de 30 masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée.
  10. 10. Procédé selon la revendication 8, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k-1. (m + d(co * r) - kd) où s est la deuxième composante de signature, k est l'entier aléatoire, m est la valeur de hachage, r est la première composante de signature, co est la valeur de masquage égale à k, * est l'addition modulaire pour le masquage, et d est la clé privée.
  11. 11. Procédé selon la revendication 8, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = (1 + d)-1(k - (co * r)d + dk) où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage.
  12. 12. Procédé selon la revendication 8, dans lequel la détermination de la deuxième composante de signature (s) comprend le calcul de la deuxième composante de signature selon la formule suivante : s = k - Go * r)d + dk où s est la deuxième composante de signature, d est la clé privée, k est l'entier aléatoire, r est la première composante de signature, co est la valeur de masquage égale à k, et * est l'addition modulaire pour le masquage.
  13. 13. Procédé selon l'une quelconque des revendications précédentes, dans lequel le multiple non-nul vaut, au signe près, le résultat d'une multiplication de l'entier aléatoire (k) avec ladite autre valeur parmi la première composante de signature (r) et la clé privée (d).
  14. 14. Système cryptographique de génération d'une signature numérique (S) d'un message, le système comprenant : une mémoire stockant une clé privée (d) et un message à signer (M), la signature numérique (S) comprenant des première (r) et deuxième (s) composantes non-nulles de signature dont l'une au moins est déterminée à partir d'une valeur de hachage (m) du message à signer (M), un générateur aléatoire pour générer un entier aléatoire (k) ; un calculateur de signature numérique configuré pour : déterminer la première composante de signature (r) à partir de l'entier aléatoire (k) et d'un point (G) d'un groupe mathématique d'ordre premier ; etdéterminer la deuxième composante de signature (s) à partir de l'entier aléatoire (k), de la première composante de signature (r) et de la clé privée (d), l'une des première et deuxième composantes étant également déterminée à partir d'une valeur de hachage (m) du message à signer (M) ; le système étant caractérisé en ce que la calculateur de signature numérique est en outre configuré pour, lors de la détermination de la deuxième composante de signature (s) : masquer la première composante de signature (r) ou la clé privée (d) par l'entier aléatoire (k) à l'aide d'une opération d'addition modulaire ; 10 multiplier le résultat de masquage avec l'autre valeur parmi la première composante de signature (r) et la clé privée (d) ; et ajouter, au résultat de multiplication éventuellement modifié, un multiple non-nul, positif ou négatif, de ladite autre valeur parmi la première composante de signature (r) et la clé privée (d). 15
  15. 15. Produit programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 13 lorsque ledit programme est exécuté sur un ordinateur.
FR1460171A 2014-10-22 2014-10-22 Protection de signatures numeriques basees sur le probleme du logarithme discret Active FR3027752B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1460171A FR3027752B1 (fr) 2014-10-22 2014-10-22 Protection de signatures numeriques basees sur le probleme du logarithme discret

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1460171A FR3027752B1 (fr) 2014-10-22 2014-10-22 Protection de signatures numeriques basees sur le probleme du logarithme discret

Publications (2)

Publication Number Publication Date
FR3027752A1 true FR3027752A1 (fr) 2016-04-29
FR3027752B1 FR3027752B1 (fr) 2016-12-30

Family

ID=52807864

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1460171A Active FR3027752B1 (fr) 2014-10-22 2014-10-22 Protection de signatures numeriques basees sur le probleme du logarithme discret

Country Status (1)

Country Link
FR (1) FR3027752B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3429121A1 (fr) * 2017-07-11 2019-01-16 Nagravision S.A. Génération de signatures numériques

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003252789A1 (en) * 1999-09-29 2003-11-20 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US20080301458A1 (en) * 2007-03-07 2008-12-04 Nevine Maurice Nassif Ebeid Power Analysis Attack Countermeasure for the ECDSA

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003252789A1 (en) * 1999-09-29 2003-11-20 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US20080301458A1 (en) * 2007-03-07 2008-12-04 Nevine Maurice Nassif Ebeid Power Analysis Attack Countermeasure for the ECDSA

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENOIT FEIX ET AL: "Side-Channel Analysis on Blinded Regular Scalar Multiplications", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20140922:214421, 22 September 2014 (2014-09-22), pages 1 - 25, XP061016971 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3429121A1 (fr) * 2017-07-11 2019-01-16 Nagravision S.A. Génération de signatures numériques
WO2019011680A1 (fr) * 2017-07-11 2019-01-17 Nagravision Sa Génération de signature numérique

Also Published As

Publication number Publication date
FR3027752B1 (fr) 2016-12-30

Similar Documents

Publication Publication Date Title
EP3091689B1 (fr) Procédé de génération d&#39;une signature de message à partir d&#39;un jeton de signature chiffré à l&#39;aide d&#39;une fonction de chiffrement homomorphique
EP3010177A1 (fr) Procédé d&#39;authentification d&#39;un dispositif client auprès d&#39;un serveur à l&#39;aide d&#39;un élément secret
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
EP2946284A1 (fr) Procede de cryptographie comprenant une operation de multiplication par un scalaire ou une exponentiation
WO2010046565A2 (fr) Procédé de signature numérique en deux étapes
EP2893431A1 (fr) Protection contre canaux auxiliaires
WO2000059156A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
Johnson et al. The elliptic curve digital signature algorithm
EP2953291B1 (fr) Stockage distribue securise par calcul multipartite
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
FR3027752A1 (fr) Protection de signatures numeriques basees sur le probleme du logarithme discret
CN107040370B (zh) 一种用于产生实施模幂运算的代码的装置
EP1254408B1 (fr) Procede de calcul d&#39;exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique
WO2007065468A1 (fr) Procédé de génération de signature avec preuve de sécurité &#39;tight&#39;, procédé de vérification et schéma de signature associés basés sur le modèle de diffie-hellman
WO2012085215A1 (fr) Procede et systeme pour l&#39;authentification multi-modale multi-seuil utilisant le partage de secret
EP3100403B1 (fr) Échelle de montgomery déséquilibrée résistante aux attaques par canaux auxiliaires
WO2006010692A2 (fr) Procede de protection d’un algorithme a cle publique dans un composant electronique
CA2288767A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO2001010078A1 (fr) Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message
FR3143243A1 (fr) Signature et dechiffrement de message securises par double rsa-crt
WO2021110518A1 (fr) Procédé de cogénération d&#39;un matériel cryptographique partagé, dispositifs, système et programme d&#39;ordinateur correspondant
FR3111037A1 (fr) Procédé de dérivation d’une signature partielle avec vérification partielle
FR2871970A1 (fr) Procede de realisation d&#39;une operation de couplage sur une courbe elliptique, par un systeme comprenant une carte a puce et un lecteur de carte

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20160429

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

CA Change of address

Effective date: 20200218

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20200218

CJ Change in legal form

Effective date: 20200218

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10