Brevet FR3070517A1 (20190301)

REVENDICATIONS1. Procédé (10) mis en oeuvre par une première unité de traitement d'un dispositif électronique prouveur (SD, SDa, SDb) comportant une première mémoire de données et des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers (VD), ladite première mémoire de données et lesdits premiers moyens de communication du dispositif électronique prouveur (SD, SDa, SDb) coopérant avec ladite première unité de traitement de ce dernier, caractérisé en ce que : - la première mémoire de données enregistre un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[11x...xq[L1+1, L étant supérieur à 1, P et Q étant deux entiers ; - la première mémoire de données enregistre une valeur déterminée de i, dite valeur initiale d'index ; et en ce que ledit procédé comporte : - une étape (131,\n<CLM>\1\tpour : o si la valeur de i est égale à ladite valeur initiale d'index, produire un engagement r=gk mod p, g étant un générateur appartenant à un groupe cyclique G sous-ensemble de Zp* d'ordre p-1 et k étant un nonce choisi dans Zq ; 46 o mouvementer la valeur de i, celle-ci n'excédant pas L ; o déclencher l'émission, par les premiers moyens de communication à destination dudit dispositif 5 électronique vérificateur tiers (VD), dudit index i et de l'engagement r ; une étape (13, 132, 14,\n<CLM>\1\tpour : o produire une réponse s[i], à partir de k et d'un défi m[i], ce dernier étant préalablement 10 produit par le dispositif électronique vérificateur tiers (VD) et réceptionné (132,\n<CLM>\1\tpar les premiers moyens de communication ; o transmettre ladite réponse s[i] produite audit dispositif électronique vérificateur tiers 15 (VD).\n<CLM>\1\tProcédé selon la revendication précédente, pour lequel P=LQ+1. 20\n<CLM>\1\tProcédé selon l'une quelconque des revendications précédentes, comportant une étape (12) pour produire des clés respectivement privée x et publique y, de sorte que la clé secrète x soit choisie de manière aléatoire dans RZp* et que la clé publique y 25 consiste en y = g' mod p.\n<CLM>\1\tProcédé selon la revendication précédente, pour lequel l'étape (12) pour produire des clés provoque en outre une transmission de ladite clé publique y à 47 destination du dispositif électronique vérificateur tiers (VD) par les premiers moyens de communication.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 5 précédentes, pour lequel l'étape (13,\n<CLM>\1\tpour élaborer la réponse s[i] consiste à : - produire une composante additionnelle p[i]={0,1}x de À bits, pour une valeur de i donnée comprise entre 1 et L, À étant un 10 paramètre de sécurité entier prédéterminé ; - calculer e[i]=H(m[i],r,p[i]) et s[i]=k-e[i]x mod q[i], H étant une fonction de hachage prédéterminée ; - produire une signature du message m[i] consistant 15 en l'ensemble de valeurs Ir,s[i],p[i]} ; - déclencher la transmission de ladite signature Ir,s[i],p[i]} par les premiers moyens de communication à destination du dispositif électronique vérificateur tiers (VD). 20\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 4, pour lequel l'étape (14,\n<CLM>\1\tpour élaborer la réponse s[i] consiste à produire s[i]=k-m[i]x mod q[i] pour une valeur d'index i donnée. 25\n<CLM>\1\tProcédé selon l'une quelconque des revendications précédentes, comprenant une étape (11) pour produire, choisir et/ou enregistrer dans la première mémoire de données, les paramètres de mise en oeuvre dudit procédé (10), parmi lesquels la valeur du 48 premier p, les valeurs de q[i], pour tout i compris entre 1 et L, ainsi que les valeurs de P et de Q, L étant la partie entière de P/Q. 5\n<CLM>\1\tProcédé (20) de vérification d'une signature mis en oeuvre par une deuxième unité de traitement d'un dispositif électronique vérificateur (VD) comportant une deuxième mémoire de données et des deuxièmes moyens de communication assurant une communication 10 avec un dispositif électronique prouveur tiers (SD, SDa, SDb) agencé pour produire et transmettre une signature d'un message m[i] selon un procédé (10) conforme à la revendication 5, ladite deuxième mémoire de données et lesdits deuxièmes moyens de 15 communication du dispositif électronique vérificateur coopérant avec ladite deuxième unité de traitement de ce dernier, caractérisé en ce que : - la deuxième mémoire de données enregistre, en tant que paramètres de mise en oeuvre dudit 20 procédé de vérification d'une signature (20), un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[11x...xq[L1+1, L étant supérieur à 1, P et Q étant deux entiers, lesdits paramètres étant de 25 valeurs identiques à celles exploitées par ledit dispositif électronique prouveur tiers (SD, SDa, SDb) pour élaborer une signature d'un message ; et en ce que ledit procédé (20) comporte : - une première étape (20a) pour : 49 o recevoir, par les deuxièmes moyens de communication, la valeur d'un index i produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; 5 o déclencher l'émission, par les deuxièmes moyens de communication à destination dudit dispositif électronique prouveur tiers (SD, SDa, SDb), la teneur du message m[i] à signer; - une étape (21) pour : 10 o réceptionner par les deuxièmes moyens de communication ladite signature du message m[i], produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) sous la forme d'un ensemble de valeurs Ir,s[i],p[i]}), et 15 o vérifier si s[i] appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; - dans la négative (21n), une étape pour rejeter 20 (23) la signature transmise par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (21y), une étape (22) pour : o calculer e[i]=H(m[i],r,p[i]), H étant une fonction de hachage prédéterminée et 25 exploitée par le dispositif électronique prouveur tiers (SD, SDa, SDb) pour produire ladite signature ; o vérifier si (eilye[ii/r)(P-1)/q[i]=1 mod p, y étant la clé publique du dispositif 50 électronique prouveur tiers (SD, SDa, ADb), préalablement enregistrée dans la deuxième mémoire de données ; - dans la négative (22n), une étape pour rejeter 5 (23) la signature transmise par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (22y), une étape pour reconnaître (24) la validité de la signature. 10\n<CLM>\1\tProcédé (30) d'authentification d'un dispositif électronique prouveur tiers (SD, SDa, SDb) mettant en oeuvre un procédé selon la revendication 6, ledit procédé d'authentification étant mis en oeuvre par une deuxième unité de traitement d'un dispositif 15 électronique vérificateur (VD) comportant une deuxième mémoire de données et des deuxième moyens de communication assurant une communication avec ledit dispositif électronique prouveur tiers (SD, SDa, SDb), ladite deuxième mémoire de données et 20 lesdits deuxièmes moyens de communication du dispositif électronique vérificateur (VD) coopérant avec ladite deuxième unité de traitement de ce dernier, caractérisé en ce que : - la deuxième mémoire de données enregistre, en tant 25 que paramètres de mise en oeuvre dudit procédé de vérification d'une signature (20), un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[1]x_xq[L]+1, L étant supérieur à 1, P et Q étant deux entiers, lesdits 51 paramètres étant de valeurs identiques à celles exploitées par ledit dispositif électronique prouveur tiers (SD, SDa, SDb) ; et en ce que ledit procédé (30) comporte : 5 - une première étape (31) pour recevoir par les deuxièmes moyens de communication la valeur d'un index i produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - une étape pour déclencher l'émission, par les 10 deuxièmes moyens de communication à destination dudit dispositif électronique prouveur tiers (SD, SDa, SDb), la teneur d'un message défi m[i] ERZq[ii ; - une étape (33) pour : 15 o réceptionner, par les deuxièmes moyens de communication, une réponse s[i] audit message défi m[i], ladite réponse s[i] étant produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) à partir du message défi m[i] ; 20 o vérifier si la réponse s[i] appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; - dans la négative (33n), une étape pour rejeter 25 (34) la demande d'authentification du dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (33y), une étape (35) pour vérifier si (gs[ilym[ii/r) (P-1)/q[i] = 1 mod p, y étant la clé publique du dispositif électronique 52 prouveur tiers (SD, SDa, ADb) préalablement enregistrée dans la deuxième mémoire de données ; - si (35n) (gs[ilym[ii/r) (P-1)/g[i] 1 mod p, une étape 5 pour rejeter (34) la demande d'authentification du dispositif électronique prouveur tiers (SD, SDa, SDb); - si (35y) (gs[ilym[ii/r) (P-1)/q[i] = 1 mod p, une étape pour accepter la demande d'authentification du 10 dispositif électronique prouveur tiers (SD, SDa, SDb).\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 7, pour lequel l'étape (131,\n<CLM>\1\tpour produire 15 l'engagement r consiste en un procédé comprenant une étape de pré-calcul.\n<CLM>\1\tProcédé selon les revendications 5 ou 6, pour lequel la réponse s[i] est un polynôme multivarié 20 s[i] = Polynôme(r, m[i], p[i], x, k, e[i]) modulo q[i] dans r, m[i], p[i], x, k, e[i] où e[i] est un haché cryptographique de r, m[i] et/ou p[i].\n<CLM>\1\tProduit programme d'ordinateur comportant des 25 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une première mémoire de programmes d'un dispositif électronique prouveur (SD, SDa, SDb) comportant en outre une première unité de 30 traitement agencée pour interpréter lesdites 53 instructions, une première mémoire de données, des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers (VD), 5 lesdites premières mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement ; - exécutées ou interprétées par ladite première 10 unité de traitement, provoquent la mise en oeuvre d'un procédé (10) selon l'une quelconque des revendications 1 à\n<CLM>\1\t13. Produit programme d'ordinateur comportant des 15 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif électronique vérificateur (VD) comportant en outre une deuxième unité de traitement 20 agencée pour interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers 25 (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement ; - exécutées ou interprétées par ladite deuxième 30 unité de traitement, provoquent la mise en oeuvre d'un procédé (20) de vérification de signature selon la revendications\n<CLM>\1\t54\n<CLM>\1\tProduit programme d'ordinateur comportant des instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif 5 électronique vérificateur (VD) comportant en outre une deuxième unité de traitement agencée pour interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de 10 communication assurant une communication avec un dispositif électronique prouveur tiers (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant 15 avec ladite deuxième unité de traitement ; - exécutées ou interprétées par ladite deuxième unité de traitement, provoquent la mise en oeuvre d'un procédé (30) d'authentification selon la revendication\n<CLM>\1\t20\n<CLM>\1\tDispositif de signature ou prouveur (SD, SDa, SDb) comportant une première unité de traitement, une première mémoire de données, une première mémoire de programmes, des premiers moyens de communication 25 assurant une communication avec un dispositif électronique vérificateur tiers (VD), lesdites premières mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement, 30 caractérisé en ce que ladite première mémoire de programmes comporte les instructions d'un produit programme d'ordinateur selon la revendication 12 et en ce que ladite première unité de traitement est 55 agencée pour interpréter les instructions dudit produit programme d'ordinateur.\n<CLM>\1\tDispositif de vérificateur de signature (VD) 5 comportant une deuxième unité de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers (SD, SDa, 10 SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement, caractérisé en ce que ladite deuxième mémoire de programmes comporte les 15 instructions d'un produit programme d'ordinateur selon la revendication 13 et en ce que ladite deuxième unité de traitement est agencée pour interpréter les instructions dudit produit programme d'ordinateur. 20\n<CLM>\1\tDispositif d'authentification (VD) comportant une deuxième unité de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une 25 communication avec un dispositif électronique prouveur tiers (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement, caractérisé en 30 ce que ladite deuxième mémoire de programmes comporte les instructions d'un produit programme d'ordinateur selon la revendication 14 et en ce que ladite deuxième unité de traitement est agencée 56 pour interpréter les instructions dudit produit programme d'ordinateur.\n<CLM>\1\tSystème de signature, d'identification et/ou 5 d'authentification comportant un premier dispositif électronique de signature ou prouveur (SD, SDa, SDb) selon la revendication 15 et un deuxième dispositif électronique vérificateur de signature ou d'authentification (VD) selon la revendication 10 16 ou la revendication 17, lesdits premier et deuxième dispositifs coopérant via des premiers et deuxièmes moyens de communication respectifs.\n<CLM>\1\tProcédé de signature et d'identification mis en 15 oeuvre par les unités de traitement respectives d'un premier dispositif électronique prouveur (SD, SDa, SDb) et d'un deuxième dispositif électronique vérificateur (VD) d'un système de signature et d'identification selon la revendication précédente, 20 comportant une première étape pour produire, par le premier dispositif électronique prouveur (SD, SDa, SDb), une signature Ir,s[i],p[i]} d'un message m[i] selon un procédé (10) conforme à la revendication 5 et une deuxième étape pour vérifier la validité de 25 ladite signature par le deuxième dispositif électronique vérificateur (VD) selon un procédé de vérification de signature (20) conforme à la revendication\n<CLM>\1\t30\n<CLM>\1\tProcédé d'authentification mis en oeuvre par les unités de traitement respectives d'un premier dispositif électronique prouveur (SD, SDa, SDb) et d'un deuxième dispositif électronique vérificateur 57 (VD) d'un système de signature et d'identification selon la revendication 18, comportant une étape pour produire, par le premier dispositif électronique prouveur (SD, SDa, SDb), une réponse 5 s[i] à un défi m[i] selon un procédé conforme à la revendication 6 et une deuxième étape pour accepter ou rejeter une authentification par le deuxième dispositif électronique vérificateur (VD) selon un procédé d'authentification conforme à la 10 revendication 9.