FR2733378A1 - Procede de generation de signatures numeriques de messages - Google Patents

Procede de generation de signatures numeriques de messages Download PDF

Info

Publication number
FR2733378A1
FR2733378A1 FR9504753A FR9504753A FR2733378A1 FR 2733378 A1 FR2733378 A1 FR 2733378A1 FR 9504753 A FR9504753 A FR 9504753A FR 9504753 A FR9504753 A FR 9504753A FR 2733378 A1 FR2733378 A1 FR 2733378A1
Authority
FR
France
Prior art keywords
sep
terminal
signature
card
verifier
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
FR9504753A
Other languages
English (en)
Other versions
FR2733378B3 (fr
Inventor
David Naccache
Raihi David M
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
Priority to FR9504753A priority Critical patent/FR2733378B3/fr
Priority to FR9507668A priority patent/FR2733379B1/fr
Priority to JP53153296A priority patent/JP3433258B2/ja
Priority to PCT/FR1996/000612 priority patent/WO1996033567A1/fr
Priority to EP96915071A priority patent/EP0766894A1/fr
Priority to US08/765,483 priority patent/US5910989A/en
Publication of FR2733378A1 publication Critical patent/FR2733378A1/fr
Application granted granted Critical
Publication of FR2733378B3 publication Critical patent/FR2733378B3/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Dans le procédé selon l'invention, on introduit une condition de temps dans l'étape de vérification de la signature afin d'empêcher toute possibilité à un dispositif ne possédant pas le secret de signer les messages. A cette fin, l'étape de vérification v = f (r,s,m) = r inclue un chronométrage du dispositif vérifieur pendant le calcul de la signature de manière à invalider la signature si le temps pour fournir cette signature a dépassé le temps imparti et la fonction f est choisie de manière à introduire une durée de calcul suffisante pour que la condition de temps ne soit pas remplie lorsque s est calculé à partir r = f(r,s,m).

Description

PROCEDE DE GENERATION DE SIGNATURES NUMERIQUES
DE MESSAGES
L'invention concerne un procédé de génération de signatures numériques de messages
envoyés par un dispositif vérifieur à un dispositif prouveur comportant des moyens de
calcul, de communication et de rétention de données comprenant au moins une mémoire
non volatile programmable électriquement, selon lequel on prépare des données chiffrées
constituant des coupons de signature que l'on charge dans la mémoire non volatile et que le
dispositif prouveur utilise pour signer des messages connus par le dispositif vérifieur.
Le procédé s'applique particulièrement à la signature de messages par des appareils
portables du type cartes à microprocesseur.
Le procédé est particulièrement adapté à la mise en oeuvre d'algorithmes de signatures du
type DSA [(pigital Signature Algorithm, proposé par le US National Institute of Standards
and Technology (A Proposed Federal Information Processing Standard for Digital Signature
Standard (DSS), annoncé au Registre Fédéral le 30 août l991, pp 42980-42982)] par des
cartes à microprocesseur dépourvues de ressources matérielles permettant de réaliser des
opérations arithmétiques sur des grands nombres.
Malgré une diffusion généralisée et une bonne acceptation du concept de carte à puce de la
part du public, la plupart des applications pratiques sont apparues seulement voici quelques
années principalement à cause des limitations de la puissance de calcul des cartes Les progrès
constants en matière de capacité de stockage non volatile des informations, la sécurité et la
technologie des circuits (par exemple l'EEPROM) encouragent l'émergence rapide de nouvelles
génératicns de cartes et d'applications de plus en plus ambitieuses telles que le nouveau
standard de signature numérique Américain (DSA).
La Norme de Signature Numérique (DSA, demande de brevet américain no. 07/738.431
intitulée "Digital Signature Algonthm") a été proposée par le US National Institue of
Standards and Technology afin de fournir une base appropriée pour des applications requérant
des signature numériques au lieu de signatures classiques. Une signature DSA est une paire de
grands nombres représentés dans un ordinateur par des chaînes de chiffres binaires. La
signature numérique est calculée à l'aide d'une série de règles de calcul (le DSA) et un
ensemble de paramètres d'une façon permettant de certifier à la fois l'identité du signataire et
l'intégrité des données. Le DSA permet de générer et vérifier des signatures.
Ce procédé de génération de signatures fait usage d'une clé privée afin de produire une
signature numérique. Le procédé de vérification utilise une clé publique qui correspond à la clé
secrète sans toutefois lui être identique. Chaque utilisateur possède une paire de clés (publique,
secrète). On suppose que les clés publiques sont connues de tous alors que les clés secrètes ne
sont jamais dévoilées. Toute personne a la capacité de vérifier la signature d'un utilisateur en
utilisant sa clé publique mais des signatures ne peuvent être générées autrement qu'en utilisant
la clé secrète de l'utilisateur.
On rappelle que les paramètres du DSA sont:
O Un module premierp tel que 2L I < p < 2L pour 512 S A / # 1024 et l A 640 pour un a
quelconque.
# Un module prem@er q tel que 2159 < q < 2160 et p-1 est un multiple de q
p-1 # Un nombre g, d'ordre q modulo p tel que g = h q mod p, où h est un entier quelconque
p-1 vérifiant 1 < h < < p.- I et g = h q mod p > I # Un nombre x, généré aléatoirement ou pseudo aléatoirement
O Un nombre y défini par la relation y = gx mod p {) Un nombre k généré aléatoirement ou pseudo aléatoirement tel que 0 < k < q
Les entiers p, q et g sont des paramètres du système pouvant être publiés et/ou partagés par un groupe d'utilisateurs. Les clés, secrète et publique, d'un signataire sont respectivement x et y.
Les paramètres x et k sont utilisés pour la génération de la signature et doivent être gardées secrets. Le paramètre k doit être régénéré pour chaque signature.
Afin de signer un message m (valeur hachée d'un fichier initial M), le signataire calcule la signature {r,s} par :
Figure img00020001
<tb> r=(gk <SEP> mod <SEP> p) <SEP> mod <SEP> q <SEP> et <SEP> s= <SEP> m+xr/k <SEP> mod <SEP> q
<tb> Où la division par k s'entend modulo q (i.e. 1/k est le nombre k' tel que kk' # 1 mod q).
Par exemple, si q = 5 et k = 3 alors - =2 car 3x2 = 6 i 1 mod 5.
k
Après avoir testé que r # 0 # s, comme expliqué dans la description du DSA, la signature {r,s} est envoyée au vérifieur qui calcule: # w=1/s mod q # u1=mw mod q # u2 = r W mod q
Figure img00020002
<tb> G) <SEP> v <SEP> =1 <SEP> I <SEP> yU2 <SEP> mod <SEP> p) <SEP> <SEP> mod <SEP> q
<tb>
O Et compare si v et r sont égaux afin d'accepter ou rejeter la signature.
Un procédé de signatures numériques basé sur l'utilisation de coupons c'est à dire encore de
certificats pré-calculés a été décrit dans la demande de brevet français n 93 14466.
Selon ce procédé la taille des coupons chargés dans la mémoire est relativement importante
c'est à dire de l'ordre de 20 octets
Un premier objet de l'invention est de réduire la taille des coupons afin de pouvoir charger un plus grand nombre de coupons dans le même espace mémoire tout en conservant bien sûr le même degré de sécurité que celui obtenu dans le cas de coupons de taille plus importante.
Le procédé selon l'invention permet de charger un nombre plus important de coupons, 120 à 140, de taille plus réduite, 2 à 4 octets, tout un conservant toute la sécurité assurée avec l'utilisation de coupons plus longs.
Selon l'invention les coupons sont compressés par une fonction de compression dite encore fonction de hachage.
On rappelle qu'une fonction de hachage permet d'obtenir une chaîne de caractères de taille fixe en sortie quelque soit la taille de la chaîne de caractères en entrée.
Selon une autre caractéristique de l'invention, on introduit une condition de temps dans l'étape de vérification afin d'empêcher tout dispositif ne possédant pas le secret de signer les messages ou d'être authentifié par le dispositif vérifieur, en trouvant la signature prouvant son authentification.
A cette fin, l'étape de vérification v = f (r,s,m) = r inclue un chronométrage du dispositif vérifieur pendant le calcul de la signature de manière à invalider la signature si le temps pour fournir cette signature a dépassé celui imparti et la fonction f est choisie de manière à introduire une durée de calcul suffisante pour que la condition de temps ne soit pas remplie lorsque s est calculé à partir r = f(r, s, m).
L'invention a plus particulièrement pour objet, un procédé de génération de signatures numériques de messages envoyés par un dispositif vérifieur à un dispositif prouveur comportant des moyens de calcul, de communication et de rétention de données comprenant au moins une mémoire non volatile programmable électriquemeat, selon lequel on prépare des données chiffrées constituant des coupons (ri) de signature que l'on charge dans la mémoire non volatile et que le dispositif prouveur utilise pour signer des messages envoyés par le dispositif vérifieur principalement caractérisé en ce que:
les coupons sont compressés par l'application d'une fonction de compression dite encore
fonction de hachage par une autorité certifiée avant d'être chargés dans la mémoire, et en
ce qu'il comporte les échanges suivants::
le vérifieur et le prouveur conviennent d'un message m,
le prouveur envoie un coupon ri au vérifieur,
le vérifieur envoie un nombre aléatoire au prouveur et déclenche un chronomètre,
le prouveur calcule la signature s du message et l'envoie au vérifieur,
le vérifieur arrête le chronomètre et vérifie que la signature a été obtenue par le secret
détenu par la carte et le coupon ri reçu à partir de la relation suivante
v = f(ri,s,m) =
le vérifieur accepte la signature si la condition de vérification v = ri est remplie et si le
temps chronométré t ne dépasse pas une durée prédéterminée impartie.
Selon une autre caractéristique de l'invention la fonction de compression utilisée pour obtenir les coupons et la fonction f utilisée pour la vérification de la signature sont les mêmes.
Pour simplifier dans toute la suite de la description, on parlera de carte pour le dispositif prouveur et de terminal pour le dispositif vérifieur.
Les contraintes économiques liées au marché de la carte à puce, entraînent une recherche constante en vue d'en améliorer les coûts de revient. Cet effort passe souvent par l'utilisation de produits les plus simples possibles. Cet état de fait induit un intérêt sans cesse grandissant pour des solutions permettant d'implémenter des algorithmes à clef publique sur des micro-contrôleurs peu chers de type 8 bits, à coeur de 8051 (Intel) ou 6805 (Motorala) par exemple.
Afin d'atteindre ce but dans le cadre de l'implémentation d'un algorithme de signature numérique apparenté au DSA, I'invention proposée reprend le concept des coupons de signature : un ensemble de certificats pré-calculés et fournis par un centre certifié (autorité) au cours d'une phase préliminaire de communication on-line.
Le principal avantage des coupons de signature dont il sera question ici en regard des propositions précédentes en matière de signature numérique réside dans la vitesse de calcul d'une signature par une carte basée sur un simple microcontrôleur 8 bits (aux alentours de 300ms, temps de transmission compris) et le faible taux d'occupation mémoire du coupon (typiquement de deux à quatre octets sauvegardés en EPROM ou en EEPROM).
Le procédé de génération des signatures se décompose en deux phases distinctes le chargement des coupons par l'autorité ayant délivré la carte et l'utilisation des coupons par la carte face à un terminal ne connaissant pas x, le secret de la carte. Les deux phases font appel à deux fonctions de hachage. La première est une fonction de hachage au sens classique, par exemple la récente norme américaine SHA (Secure Hash Algorithm
FIPS PUB XX, February 1, 1993, Digital Signature Standard), la fonction MDA, MD5 ou un hachage basé sur l'algorithme DES.
La seconde fonction, dite de ralentissement et notée "f' est un procédé de hachage ayant pour but de ralentir (volontairement) la vérification de la signature f(m) et produire des chaînes (h) de taille (e) relativement courte (16 bits < e #40 bits). Si T note le temps nécessaire pour évaluer f(m) sur l'ordinateur le plus puissant existant aujourd'hui, alors f doit être telle que pour tout h et tout ordinateur existant la recherche d'une nouvelle valeur d'entrée m' telle que h = f(m') demandera le temps T2c.
Dans l'exemple qui va suivre, nous proposons de reprendre les paramètres du DSA et une fonction f telle que:
Figure img00040001
<tb> f <SEP> (m) <SEP> = <SEP> SHA(SEIA(SElA(m)) <SEP> <SEP> mop)mo <SEP> e <SEP>
<tb>
CHARGEMENT DE n COUPONS DANS LA CARTE
O La carte remet à zéro un compteur i en EPROM (ou EEPROM), génère un aléa J de 10 à 20 octets, I'enregistrc en EPROM (ou EEPROM) et l'envoie à l'autorité qui calcule, pour z allant de 1 à n
Figure img00040002

L'autorité envoie les nombres r à la carte pour sauvegarde en EPROM (ou EEPROM)
Lorsque la carte désire signer un message m, le protocole suivant est utilisé
UTILISATION DU COUPON POUR SIGNER UN MESSAGE
O La carte
O Extrait J, x, i et r. de l'EPROM (ou EEPROM)
o Calcule f = SHA(x, J, I) et A = xSHA(ri)mod q
O Incrémente i et envoie r. au tçrminal (2) Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t # La carte calcule, aussi vite que possible, s= I(SHA(m,a) + A)mod q et retourne cette valeur au terminal
O Dès réception de s, le terminal arrête t et calcule
Figure img00050001

# Le terminal accepte la signature si v=ri et si t est raisonnablement petit (par exemple @ 1
< ).
T2e 1.000.000
De façon plus générale, les coupons de signature interactive peuvent être étendus à tout protocole de Signature où le pré-calcul est possible, dont, en particulier, les protocoles de - # Rueppel-Nyberg New signature schemes based on the discrete logarithm problem publié dans les actes du colloque Eurocrypt'94.
G!) Schnorr Efficient identification and signatures for smart-cards publié dans les actes du colloque Crypto'89.
# El-Gamal A public-key cryptosystem and a signature scheme based on discrete logarithms publié dans la revue IEEE Transactions on Information Theory, vol. IT30, no. 4, pages 469472.
# Guillou-Quisquater A practical zero-knowledge protocol fitted to security microprocessors minimizing hoth transmission and memory publié dans les actes du colloque Eurocrypt'88 et A paradoxical identity-based signature scheme resulting from zero-knowledge publié dans les actes du colloque Crypto'88.
Os ou tout autre système à clé publique basé sur le logarithme discret où l'équation (m + xr) I k mod q est remplacée par une autre égalité faisant intervenir m, x, r, et k (comme expliqué dans l'article Me ta Message Recovery and Meta Blind signature schemes based on the discrete logarithm problem and their applications publié par Horster & al. dans les actes du colloque Asiacrypt'94) ou encore en utilisant plusieurs aléas distincts k ou plusieurs secrets distincts x dans la même signature.
L'invention a pour second objet de mettre au point un protocole de paiement électronique permettant l'utilisation de cartes bas coûts.
Ce protocole se déroule ainsi
UTILISATION DU COUPON COMME CIIEQUE ELECTRONIQUE
# La carte
O Extrait J, x, i et r de l'EPROM (ou EEPROM)
O Calcule I = SHA(x, J, i) et A = xSHA(ri)mod q
# envoie r. et i au terminal et incrémente i # Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t # La carte calcule, aussi vite que possible, s= I(SHA(m,i,a) + A) mod q et retourne cette valeur au terminal # Dès réception de s, le terminal arrête t et calcule : :
Figure img00060001

5 Le terminal accepte la signature si v=ri et si t est raisonnablement petit (par exemple
t 1
< ).
T2e 1.000.000 6 Le terminal transmet (de façon différée) à l'autorité le cheque électronique
Figure img00060002

7 L'autorité s'assure que:
Figure img00060003
<tb> s=SHA(x,J,i)(SHA(m,i,a)+xSHA(ri))mod <SEP> q
<tb> et crédite le compte du terminal du montant de la transaction signé par la carte.
La figure 1 décrit l'organigramme d'une carte mettant en oeuvre le système proposé par la présente invention.
La figure 2 décrit les données transmises entre la carte et le terminal au moment de l'utilisation du coupon:
La figure 3 décrit l'organigramme d'un terminal mettant en oeuvre le système proposé par la présente invention.
La figure 4 représente les données transmises entre la carte et l'autorité pendant la phase de chargement des coupons et l'organisation de la mémoire d'une carte après le chargement de n coupons.
Selon l'invention proposée, chaque carte à puce se compose d'une unité de traitement (CPU) 11, d'une interface de communication 10, une mémoire vive (RAM) et/ou une mémoire non inscriptible (ROM) 14 et/ou une mémoire inscriptible (généralement réinscriptible) (EPROM ou EEPROM) 15.
Le CPU 11 et/ou la ROM 14 de la carte à puce contiennent le message m des programmes ou des ressources de calcul correspondant à l'exécution des étapes Ci et (3) des protocoles de signature ou paiement (règles de calcul pour la génération de s et d'utilisation de la fonction de hachage SHS), multiplication, addition et réduction modulaire. Certaines de ces opérations peuvent être regroupées (par exemple, la réduction modulaire peut être directement intégrée dans la multiplication).
De rnême que pour le DSS, la RAM de la carte contient le message M et l'aléa a sur lesquels s'applique la fonction de hachage SHS. L'E(E)PROM 15 contient typiquement les paramètres q, x, Jet le jeu de coupons
Figure img00070001

généré et utilisé comme précisé dans la description qui suit.
Le CPU 11 commande, via les bus d'adresse et de données 16, I'interface de communication 10, les opération de lecture et d'écriture en mémoire 13, 14 et 15.
Chaque carte à puce est protégée du monde extérieur par des protections physiques 17. Ces protections devaient être suffisante pour empêcher toute entité non autorisée d'obtenir la clé secrète x. Les techniques les plus utilisées de nos jours en la matière sont l'intégration de la puce dans un module de sécurité et l'équipement des puces de dispositifs capables de détecter des variations de température, de lumière ainsi que des tensions et des fréquences d'horloge anormales. Des techniques de conception particulières telles que l'embrouillage de l'accès mémoire sont également utilisées.
Selon l'invention proposée, le terminal se compose au minimum d'une unité de traitement (CPU) 30 et de ressources mémoires 32,33 et 34.
Le CPU 30 commande, via les bus d'adresse et de données 35, I'interface de communication 31, les opération de lecture et d'écriture mémoire 32, 33 et 34.
Le CPU 30 et/ou la ROM 34 de l'autorité contiennent des programmes ou des ressources de calcul permettant d'implémenter les règles de calcul et fonctions de hachage, ralentissement, multiplication, addition, inverse modulaire, exponentiation et réduction modulaire nécessaires au protocole de signature interactive.Certaines de ces opérations peuvent etre regroupées (par exemplc, la réduction modulaire peut-être directement intégrée dans la multiplication)
Dans le cadre général de l'invention proposée, le chargement à distance et l'utilisation des coupons sont réalisés en échangeant entre la carte, I'autorité et Ic terminal-vérifieur au moins les signaux suivants
CHARGEMENT DE n COUPONS DANS LA CARTE # La carte remet à zéro un compteur i en EPROM (ou EEPROM), génère un aléa J de 10 à 20 octets, I'enregistre en EPROM (ou EEPROM) et l'envoie à l'autorité qui calcule, pour z allant de I à n
Figure img00080001

(D L'autorité envoie les nombres r. à la carte pour sauvegarde en EPROM (ou EEPROM)
Lorsque la carte désire signer un message m, le protocole suivant est utilisé
UTLLISA TION D U COUPON POUR SIGNER UN MESSAGE
O ) La carte::
O Extrait J, x, i et r. de l'EPROM (ou EEPROM)
O Calcule I = SHA(x, J, i) et A = xSHA(ri) ) mod q
O Incrémente i et envoie r. au terminal (2) Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t # La carte calcule, aussi vite que possible, s= J(SHA(m,a) + A) modq et retourne cette valeur au terminal # Dès réception de s, le terminal arrête t et calcule :
Figure img00080002

# Le terminal accepte la signature si v=ri et si t est raisonnablement petit (par exemple
t 1 < ).
T2e 1.000.000
Dans le cadre général du système de paiement proposé, le chargement à distance et l'utilisation des coupons en tant que chèque électronique est réalisé en échangeant entre la carte, l'autorité et le terminal-vérifieur au moins les signaux SuivantS
CHARGEMENT DE,i COUPONS DANS LA CARTE # La carte remet à zéro un compteur i en EPROM (ou EEPROM), génère un aléa J de 10 à 20 octets, I'enregistre en EPROM (ou EEPROM) et l'envoie à l'autorité qui calcule, pour I allant de I à n .
Figure img00090001
L'autorité envoie les nombres r. à la carte pour sauvegarde en EPROM (ou EEPROM)
Lorsque le titulaire de la carte désire effectuer un paiement, le protocole suivant est utilisé
UTILISA TION DU COUPON COMME CHEQUE ELECTRONIQUE
O La carte:
O Extrait J, x, i et r. de l'EPROM (ou EEPROM)
O Calcule I = SHA(x, J, i) et A = xSHA(ri) ) mod q
# envoie r. et i au terminal et incrémente i
O Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t # La carte calcule, aussi vite que possible, s = I(SHA(m,i,a) + A) mod q et retourne cette valeur au terminal # Dès réception de s, le terminal arrête t et calcule: :
Figure img00090002
Os Le terminal accepte la signature si v = r. et si t est raisonnablement petit (par exemple
t 1 < ).
T2e 1.000.000 Le Le terminal transmet (de façon différée) à l'autorité le cheque électronique
Figure img00090003

O7 L'autorité s'assure que
Figure img00090004
<tb> s=SHA(x,J,i)(SHA(m,i,a)+xSHA(ri))mod <SEP> q
<tb> et crédite le compte du terminal du montant de la transaction signé par la carte.
Pour de nombreux objets portables tels que les cartes PCMCIA, les notebooks, ou encore dans le cadre des applications autour des autoroutes de l'information, le temps de transmission des données est négligeable en regard de celui consacré au calcul d'une exponentiation modulaire. De ce fait, l'invention proposée offre d'intéressantes possibilités de gain de performances que l'état actuel de l'art ne permet pas.
A titre d'exemple, t est compris entre 200 ms et 1 s. Le défi a a une longueur de l'ordre de 10 octets. Un coupon ri a une longueur de l'ordre de 2 à 4 octets.

Claims (9)

REVENDICATIONS
1. Procédé de génération de signatures numériques de messages envoyés par un dispositif vérifieur à un dispositif prouveur comportant des moyens de calcul de communication et de rétention de données comprenant au moins une mémoire non volatile programmable électriquement selon lequel on prépare des données chiffrées constituant des coupons (ri) de signatures que l'on charge dans la mémoire non volatile et que le dispositif prouveur utilise pour signer des messages envoyés par le dispositif vérifieur, principalement caractérisé en ce que:
les coupons sont compressés par l'application d'une fonction de compression dite encore
fonction de hachage par une autorité certifiée avant d'être chargés dans la mémoire, et en
ce qu'il comporte les échanges suivants::
le vérifieur et le prouveur conviennent d'un message m,
le prouveur envoie un coupon ri au vérifieur,
le vérifieur envoie un nombre aléatoire au prouveur et déclenche un chronomètre,
le prouveur calcule la signature s du message et l'envoie au vérifieur,
le vérifieur arrête le chronomètre et vérifie que la signature a été obtenue par le secret
détenu par la carte et le coupon ri reçu à partir de la relation suivante: v = f(ri,s) = ri,
le vérifieur accepte la signature si la condition de vérification v = ri est remplie et si le
temps chronométré t ne dépasse pas une durée prédéterminée impartie.
2. Procédé de génération de signatures selon la revendication 1, caractérisé en ce que la fonction de compression utilisée pour obtenir les coupons et la fonction f utilisée pour la vérification de la signature sont les mêmes.
3. Procédé de génération de signatures selon la revendication 1 ou 2 dans lequel le vérifieur est un terminal et dans lequel le prouveur est une carte à microprocesseur, caractérisé en ce que l'obtention des coupons par l'autorité certifiée comporte les échanges suivants:
O La carte remet à zéro un compteur i en EPROM (ou EEPROM), génère un aléa J de
10 à 20 octets, I'enregistre en EPROM (ou EEPROM) et l'envoie à l'autorité qui calcule, pour
i allant de I à n:
Figure img00110001
L'autorité envoie les coupons r. à la carte pour sauvegarde en (E)EPROM.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la carte signe interactivement le message m en effectuant au moins les opérations suivantes
O La carte
O Extrait .1, x, r et r de l'EPROM (ou EEPROM)
O Calcule I = SHA(x, J, i) et A = xSHA(ri, ) mod q
O Incrémente Z et envoie ri au terminal
# Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t
La carte calcule, aussi vite que possible, s=I(SHA(m,a)+A)mod q et retourne cette
valeur au terminal
# Dès réception de s, le terminal arrête t et calcule
Figure img00120001
Os Le terminal accepte la signature si v = r et si t est raisonnablement petit.
5. Procédé, comme décrit dans les revendications 1 à 4, caractérisé en ce que la taille e d'un coupon est telle que:
16 bits < e < 40 40 bits.
6. Procédé selon la revendication 1 ou 2, caractérisé en ce que le protocole interactif d'authentification est un algorithme permettant le pré calcul de coupons tel que l'algorithme DSA ou autre et en ce que
O La carte:
O Ex-trait J, x, i et r. de l'EPROM (ou EEPROM)
O Calcule I = SHA(x, J, i) et A = xSHA(ri ) mod q
O envoie r. et i au terminal et incrémente i
# Le terminal génère un aléa a, I'expédie à la carte et déclenche un chronomètre t
d) La carte calcule, aussi vite que possible, s = I(SHA(m,i,a) + A) mod q et retourne cette
valeur au terminal
O Dès réception de s, le terminal arrête t et calcule
Figure img00130001
Os Le terminal accepte la signature si v = r- et si t est raisonnablement petit.
Figure img00130003
O7 L'autorité s'assure que
Figure img00130002
Le Le terminal transmet (de façon différée) à i'autorité le cheque électronique
<tb> et crédite le compte du terminal du montant de la transaction signé par la carte.
<tb> s <SEP> = <SEP> SHA( <SEP> x, <SEP> J, <SEP> i)(SHA(m <SEP> i <SEP> a) <SEP> + <SEP> xSHA(ri <SEP> )) <SEP> mod <SEP> q
7. Système permettant de mettre en oeuvre le procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les dispositifs prouveurs Ai sont des cartes à microprocesseur, des cartes PCMCIA, des badges, des cartes sans contact ou tout autre appareil portable.
8. Système selon la revendication 7, caractérisé en ce que la communication entre chaque appareil Ai, et/ou l'autorité certifiée B et/ou le vérifieur de la signature est réalisée par un échange de signaux électroniques.
9. Système selon la revendication 7, caractérisé en ce que la communication entre chaque appareil Ai, et/ou l'autorité certifiée B et/ou le vérifieur de la signature est réalisée par un échange d'ondes radio ou de signaux infrarouges.
FR9504753A 1995-04-20 1995-04-20 Procede de generation de signatures numeriques de messages Expired - Lifetime FR2733378B3 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR9504753A FR2733378B3 (fr) 1995-04-20 1995-04-20 Procede de generation de signatures numeriques de messages
FR9507668A FR2733379B1 (fr) 1995-04-20 1995-06-27 Procede de generation de signatures electroniques, notamment pour cartes a puces
JP53153296A JP3433258B2 (ja) 1995-04-20 1996-04-22 スマートカード用電子署名の生成方法
PCT/FR1996/000612 WO1996033567A1 (fr) 1995-04-20 1996-04-22 Procede de generation de signatures electroniques notamment pour cartes a puces
EP96915071A EP0766894A1 (fr) 1995-04-20 1996-04-22 Procede de generation de signatures electroniques notamment pour cartes a puces
US08/765,483 US5910989A (en) 1995-04-20 1996-04-22 Method for the generation of electronic signatures, in particular for smart cards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9504753A FR2733378B3 (fr) 1995-04-20 1995-04-20 Procede de generation de signatures numeriques de messages

Publications (2)

Publication Number Publication Date
FR2733378A1 true FR2733378A1 (fr) 1996-10-25
FR2733378B3 FR2733378B3 (fr) 1997-06-20

Family

ID=9478305

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9504753A Expired - Lifetime FR2733378B3 (fr) 1995-04-20 1995-04-20 Procede de generation de signatures numeriques de messages

Country Status (1)

Country Link
FR (1) FR2733378B3 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2835130A1 (fr) * 2002-01-24 2003-07-25 Gemplus Card Int Procede de generation et de verification de signatures electroniques

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2835130A1 (fr) * 2002-01-24 2003-07-25 Gemplus Card Int Procede de generation et de verification de signatures electroniques
WO2003063413A1 (fr) * 2002-01-24 2003-07-31 Gemplus Procede de generation et de verification de signatures electroniques

Also Published As

Publication number Publication date
FR2733378B3 (fr) 1997-06-20

Similar Documents

Publication Publication Date Title
EP0656710B1 (fr) Procédé de génération de signatures DSA avec des appareils portables à bas coûts
EP0643513B1 (fr) Procédé de vérification de signatures pour un système de communications
EP0766894A1 (fr) Procede de generation de signatures electroniques notamment pour cartes a puces
US5955717A (en) Transaction verification protocol for Smart Cards
EP1368930B1 (fr) Authentification cryptographique par modules ephemeres
EP2446579B1 (fr) Procédé d&#39;authentification mutuelle d&#39;un lecteur et d&#39;une étiquette radio
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
KR20200054226A (ko) 디지털 통화를 위한 현금 등가 디바이스
FR2760583A1 (fr) Systeme de verification de cartes de donnees
FR2834403A1 (fr) Systeme cryptographique de signature de groupe
CN108769054B (zh) 一种基于等值测试承诺的区块链交易验证方法及装置
CN114143041A (zh) 基于区块链的身份校验方法、装置、设备及存储介质
EP1166496B1 (fr) Procede d&#39;authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
CN110264207A (zh) 区块链分离处理方法及系统
FR3098947A1 (fr) Procédé de traitement d’une transaction émise depuis une entité de preuve
CN112258092A (zh) 一种基于区块链的数据资产可信度评估方法、装置
CA2257907A1 (fr) Procede de cryptographie a cle publique
EP0769768B1 (fr) Procédé cryptographique de protection contre la fraude
CA2451034C (fr) Procede cryptographique pour la protection d&#39;une puce electronique contre la fraude
FR2733378A1 (fr) Procede de generation de signatures numeriques de messages
WO1998051038A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
EP1470663B1 (fr) Procede de generation et de verification de signatures electroniques
FR2713420A1 (fr) Procédé de génération de signatures DSA avec des appareils portables à bas coûts.
FR2829597A1 (fr) Procede pour le calcul d&#39;une exponentiation dans un groupe et son application a l&#39;authentification d&#39;un utilisateur
FR2834842A1 (fr) Procede d&#39;authentification d&#39;un objet portable informatise par un terminal, systeme mettant en oeuvre le procede, terminal utilise dans le procede et objet portable utilise dans le procede