FR2810139A1 - Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede - Google Patents

Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede Download PDF

Info

Publication number
FR2810139A1
FR2810139A1 FR0007319A FR0007319A FR2810139A1 FR 2810139 A1 FR2810139 A1 FR 2810139A1 FR 0007319 A FR0007319 A FR 0007319A FR 0007319 A FR0007319 A FR 0007319A FR 2810139 A1 FR2810139 A1 FR 2810139A1
Authority
FR
France
Prior art keywords
key
bytes
secret
des
algorithm
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
FR0007319A
Other languages
English (en)
Other versions
FR2810139B1 (fr
Inventor
Nicolas Fougeroux
Patrice Hameau
Benoit Bole
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.)
Bull CP8 SA
Original Assignee
Bull CP8 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
Priority to FR0007319A priority Critical patent/FR2810139B1/fr
Application filed by Bull CP8 SA filed Critical Bull CP8 SA
Priority to EP01943588A priority patent/EP1234284A1/fr
Priority to CNB018019501A priority patent/CN1172477C/zh
Priority to JP2002502735A priority patent/JP3773488B2/ja
Priority to TW090113952A priority patent/TW513681B/zh
Priority to US10/049,025 priority patent/US7602920B2/en
Priority to PCT/FR2001/001774 priority patent/WO2001095274A1/fr
Publication of FR2810139A1 publication Critical patent/FR2810139A1/fr
Application granted granted Critical
Publication of FR2810139B1 publication Critical patent/FR2810139B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/105Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"
    • 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/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/355Personalisation of cards for use
    • G06Q20/3558Preliminary personalisation for transfer to user
    • 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
    • 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/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/0826Embedded security module
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3273Cryptographic 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 using challenge-response for mutual authentication

Abstract

L'invention concerne la sécurisation de la phase de pré-initialisation d'une carte à puce (CP) avec authentification mutuelle de cette carte (CP), enregistrant une clé secrète symétrique (KM ) et une clé publique asymétrique (n), et d'un dispositif de sécurité (3) emmagasinant la même clé secrète (KM ) et la clé secrète asymétrique (Kpq ) correspondant à la clé publique (n). La carte (CP) et le dispositif (3) fournissent des nombres aléatoires (NaC ). Le dispositif (3) s'authentifie en transmettant à la carte (CP) un cryptogramme (SR) dérivé des deux nombres aléatoires, par usage d'un algorithme asymétrique. La carte (CP) s'authentifie en calculant une clé secrète de session dérivée du nombre aléatoire (NaC ), à l'aide d'un algorithme symétrique et de la clé secrète (KM ), et en transmettant au dispositif (3) un cryptogramme (CC) dérivé du second nombre aléatoire, à l'aide de l'algorithme symétrique et de la clé de session. La clé dédiée (KF ) est transmise à la carte, chiffrée par la clé de session (Ks ).

Description

L'invention concerne un procédé de sécurisation d'une opération prédéterminée, notamment de la phase de pré-initialisation d'un système embarqué à puce électronique, par le chargement sécurisé d'une clé de chiffrement à usage dédié.
Elle s'applique plus particulièrement à une carte à puce.
L'invention concerne encore un système embarqué pour la mise en ceuvre du procédé.
Dans le cadre de l'invention, le terme "pré-initialisation" s'entend dans un sens général. II est notamment relatif à la phase de fabrication d'une carte à puce traditionnelle ou à la phase précédant la phase d'initialisation d'une carte à puce dite ouverte.
De même, le terme "système embarqué" vise des systèmes ou dispositifs divers ayant en commun le fait de disposer d'une puce électronique comprenant des moyens de mémoire et de traitement de données, généralement constitués par un microprocesseur ou un microcontrôleur. Un tel système embarqué peut être constitué notamment par une carte à puce.
Pour fixer les idées, on se placera dans ce qui suit dans le cas de l'application préférée de l'invention, à savoir celui de la pré-initialisation d'une carte à puce.
Dans la plupart des applications à base de carte à puce, il est dévolu à ces dernières des fonctions relatives à la sécurité. Ce terme recouvre d'ailleurs lui-même divers concepts confidentialité, authentification, etc.
Pour ce faire, on inscrit, dans une partie non volatile des moyens de mémoire précités de la puce électronique, de façon définitive (utilisation de mémoires fixes du type dit "ROM", pour "Read Only Memory" ou mémoire à lecture seule), ou semi-fixe (mémoire re-programmable du type "EEPROM", pour "Electrically Erasable Programmable Read Only Memory" ou mémoire effaçable programmable par voie électrique à lecture seule, etc.), des données dites secrètes nécessaires à ces fonctions : algorithmes de chiffrage, clés secrètes de chiffrage, données d'identification, etc. Parmi ces données, il existe une clé dite de fabrication permettant traditionnellement de sécuriser toutes les étapes de pré-initialisation de la carte à puce.
De façon habituelle, la fabrication d'une carte à puce s'effectue en deux grandes phases. Pendant la première phase, une puce électronique est fabriquée par une première entité, que l'on appellera ci-après 'Pondeur". Pendant une seconde phase cette puce électronique est mise en module puis intégrée dans un support, à savoir une pièce de plastique sensiblement rectangulaire, constituant la carte à puce proprement dite. Cette opération est réalisée généralement par une seconde entité, distincte de la première, que l'on appellera ci-après "encarteur".
Une troisième entité, que l'on appellera ci-après "pré- personnalisateur", réalise l'opération de pré-initialisation précitée.
Dans l'état actuel de la technique, de manière quasi systématique, la clé de fabrication sécurisant toutes les étapes de pré-initialisation d'une carte à puce est écrite en clair et sans authentification préalable par l'encarteur. Ce mode opératoire pose plusieurs problèmes - si des cartes sont subtilisées lors de leur transport du fondeur vers l'encarteur, aucune sécurité logicielle ("software") n'est assurée : les cartes peuvent être frauduleusement pré-initialisées et utilisées de façon malveillante par la suite ; - un fraudeur réalisant une carte en tout point clonée peut l'insérer dans la chaîne d'encartage sans être repéré ; et - un simple espionnage de ligne permet d'obtenir la clé de fabrication transmise en clair.
Une solution serait de faire écrire la clé de fabrication par le fondeur lors d'une opération dite "sous pointe", mais cette solution est très onéreuse, car les données secrètes doivent être diversifiées pour chaque carte (données non fixes), ce qui de plus est mal adapté aux cadences de fabrication du fondeur. Ce procédé onéreux n'est donc pas réaliste et, de ce fait, pratiquement jamais mis en oeuvre. L'invention vise à pallier les inconvénients des dispositifs de l'art connu, et dont certains viennent d'être rappelés.
Pour ce faire, selon une première caractéristique avantageuse de l'invention, l'écriture de la clé de fabrication est protégée par une authentification mutuelle entre un organe connu sous le sigle anglo-saxon "SAM" (pour "Security Access Module" ou "Module d'Accès Sécurisé") et la carte à puce, de manière à se prévaloir de l'utilisation d'un faux module "SAM" ou d'une carte à puce clonée ou encore ayant une mémoire non volatile, "ROM" ou autre", falsifiée. Ci-après, par mesure de simplification, ce module sera appelé "SAM". Celui-ci peut être hébergé dans un micro- ordinateur ou une carte à puce, par exemple. De façon générale, on peut définir le "SAM" comme étant un organe "porteur de clé". Celui-ci emmagasine en effet une clé secrète qui n'est jamais divulguée, dans le sens où elle n'est pas communiquée au monde extérieur. Elle sert à calculer d'autres clés permettant l'authentification mutuelle précitée.
L'authentification du "SAM" par la carte à puce utilise un algorithme de chiffrage de type asymétrique. Il peut s'agir, par exemple, de l'algorithme très utilisé dans le domaine des applications bancaires et connu sous le sigle "RSA" (pour "Rivest, Shamir et Adleman", inventeurs désignés dans le brevet US 4 405 829 A). Cependant, une carte à puce n'étant pourvue que de ressources informatiques limitées, on préférera utiliser, pour ce faire, l'algorithme dit de "Rabin". En effet, dans ce dernier cas, la puissance de calcul nécessaire est moindre, ce qui convient mieux aux caractéristiques propres à un dispositif du type carte à puce ou similaire. Aussi, on considérera ci-après, sans que cela limite en quoi que ce soit la portée de l'invention, que l'algorithme de type asymétrique utilisé est l'algorithme de "Rabin".
En ce qui concerne l'authentification de la carte à puce par le module "SAM", celle-ci est basée avantageusement sur un algorithme symétrique, préférentiellement du type dit "triple DES" (pour "Data Encryption System"). En utilisant l'algorithme de Rabin pour l'authentification du "SAM" par la carte à puce et l'algorithme "triple DES" pour l'authentification de la carte à puce par le "SAM", le recours à un cryptoprocesseur n'est pas nécessaire pour mettre en #uvre le mécanisme de sécurisation, ce qui est avantageux également dans le cadre des applications visées par l'invention.
Le procédé selon l'invention permet ensuite au "SAM" authentifié de charger la clé de fabrication de manière sécurisée vers la carte à puce elle-même authentifiée.
L'invention a donc pour objet principal un procédé de chargement sécurisé d'une clé dédiée à la sécurisation d'une opération prédéterminée dans des moyens de mémoire d'une puce électronique d'un système embarqué, ladite clé dédiée étant contenue dans un dispositif de sécurité comportant des moyens de communication bidirectionnels avec ladite puce électronique, caractérisé en ce que, lesdits moyens de mémoire de ladite puce électronique emmagasinant une clé de chiffrement secrète symétrique et une clé publique asymétrique et ledit dispositif de sécurité emmagasinant la même clé de chiffrement secrète symétrique et la clé secrète asymétrique correspondant à la clé publique de ladite puce électronique, il comprend - une première phase consistant en l'authentification dudit dispositif de sécurité par ladite puce électronique et comprenant les étapes de génération par la puce électronique d'un premier nombre aléatoire et sa transmission au dispositif de sécurité, la génération par celui-ci d'un deuxième nombre aléatoire et d'un premier cryptogramme, à partir desdits premier et deuxième nombres aléatoires, par l'application d'un algorithme de signature de type asymétrique, à l'aide de ladite clé secrète asymétrique, et sa transmission à ladite puce électronique de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé publique ; - une deuxième phase consistant en l'authentification de ladite puce électronique et comprenant les étapes de génération, par la puce électronique et ledit dispositif de sécurité d'une clé secrète dite de session à partir dudit premier nombre aléatoire, par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé de chiffrement secrète, suivi de la génération d'un deuxième cryptogramme par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète de session et sa transmission au dit dispositif de sécurité de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé de session ; et - une phase de transfert dans lesdits moyens de mémoire de ladite puce électronique de ladite clé dédiée, chiffrée par ladite clé secrète de session.
L'invention a encore pour objet un système embarqué à puce électronique pour la mise en oeuvre du procédé.
L'invention va maintenant être décrite de façon plus détaillée en se référant aux dessins annexés, parmi lesquels - la figure 1 illustre schématiquement un exemple de configuration de la mémoire d'une carte à puce selon un aspect de l'invention, pour l'enregistrement d'une clé publique ; - la figure 2 illustre schématiquement les principaux échanges d'informations pour l'authentification mutuelle d'un module dit "SAM", porteur de clé, et d'une carte à puce, selon le procédé de l'invention ; - la figure 3 illustre un exemple de données concaténées servant au calcul d'une signature Rabin sur des nombres aléatoires générés respectivement par la carte à puce et le module "SAM", selon un aspect du procédé de l'invention ; - la figure 4 illustre, sur un exemple, la génération d'une clé de session dans la carte à puce, selon un aspect de l'invention ; - la figure 5 illustre, sur un exemple, la génération d'un cryptogramme dans la carte à puce, à l'aide de la clé de session, selon un aspect de l'invention ; et - la figure 6 illustre un exemple de données concaténées servant au calcul d'une signature Rabin, calculée par le "SAM", sur la commande de chargement de la clé de fabrication devant être transférée chiffrée dans la carte à puce.
Dans ce qui suit, sans en limiter en quoi que ce soit la portée, on se placera ci-après dans le cadre de l'application préférée de l'invention, sauf mention contraire, c'est-à-dire dans le cas de la sécurisation de la phase de pré-initialisation d'une carte à puce.
Le procédé selon l'invention nécessite, du point de vue de la carte à puce et du module "SAM", une clé secrète symétrique, que l'on appellera ci-après clé maître<I>KM.</I> Cette clé<I>KM</I> doit être présente dès que la puce électronique ou "chip" sort de l'entité qui a été appelé "fondeur".
Le stockage de cette clé KM est effectué dans une partie non volatile de la mémoire dont est munie la puce électronique : mémoire fixe de type "ROM" ou semi-fixe de type "EEPROM" ou similaire.
Dans une variante de réalisation préférée de l'invention, et selon une première caractéristique, la clé KM est écrite "sous pointe" en "EEPROM" par le fondeur. Les octets composant la clé<I>KM</I> sont des données extrêmement sensibles et doivent être traités comme des octets de sécurité. Le stockage en "EEPROM" permet une éventuelle diversification de cette clé KM pour plusieurs lots de cartes.
Le procédé selon l'invention nécessite également, du point de vue de la carte à puce, une clé publique asymétrique, que l'on appellera ci- après clé publique asymétrique n. Cette clé n, fixe pour toutes les cartes, doit être présente dès que la puce électronique ou "chip" sort de l'entité qui a été appelé "fondeur".
Le stockage de cette clé n est effectué dans une partie non volatile de la mémoire dont est munie la puce électronique : mémoire fixe de type "ROM" et/ou semi-fixe de type "EEPROM" ou similaire Dans une variante de réalisation préférée de l'invention, et selon une deuxième caractéristique, la mémoire non volatile de la puce électronique présente une configuration hybride, physique et logique, particulière. On prévoit une partie fixe, de type "ROM" et une partie semi- fixe re-programmable, par exemple de type "EEPROM". On répartit les octets de la clé publique précitée entre ces deux zones de mémoire de la façon particulière explicitée ci-après. Les octets doivent être présents dès que la puce sort de chez le fondeur.
Les octets écrits "sous pointe" dans la partie "EEPROM" de la mémoire doivent être considérés comme extrêmement sensibles, et, à ce titre, être traités comme des octets de sécurité.
Par exemple, pour fixer les idées, on va considérer une clé publique de longueur 768 bits (soit 96 octets). Celle-ci réside totalement en mémoire "ROM". Cependant, selon un mode de réalisation préféré du procédé selon l'invention, on enregistre un octet par bloc de douze de façon intentionnellement erronée dans la zone de mémoire de type "ROM", cette valeur erronée ayant été volontairement écrite dans le code enregistré dans cette partie de la mémoire de type "ROM". Pour sa part, la valeur correcte de l'octet en question est enregistrée dans la partie de type "EEPROM". Dans cet exemple, huit octets (c'est-à-dire 96/12=8) doivent donc être programmés dans la partie de type "EEPROM" de la mémoire. Ces données sont fixes, car une clé publique ne se diversifie pas.
En outre, il est réalisé une opération connue sous le terme "hachage" ("hash") sur 160 bits de la clé publique n. Le résultat est stocké en mémoire "ROM", de façon à pouvoir être vérifié à chaque utilisation de la clé n. Pour ce faire, il est utilisé avantageusement un algorithme du type connu sous le sigle "SHA-1". Cet algorithme particulier doit donc être implanté dans la carte à puce.
Associé au stockage particulier de la clé publique n, le "hash" permet de garantir simultanément l'intégrité des deux parties de type "ROM" et "EEPROM" de la mémoire, La figure 1 illustre schématiquement une telle configuration de mémoire d'une carte à puce CP. Dans l'exemple décrit, les moyens de mémoire M comprennent notamment une partie de mémoire 1, de type "ROM", et une partie de mémoire 2, de type "EEPROM". Toujours dans l'exemple décrit, on enregistre, dans la mémoire "ROM" 1, huit blocs de douze octets de données numériques, BI à B8, représentant la clé publique précitée n. Dans chacun de ces huit blocs, 8, à 88, il existe un octet intentionnellement erroné, arbitrairement les octets, O, à 08. On enregistre, dans la mémoire "EEPROM" 2, huit octets corrects, O', à O'8, correspondant à ces octets erronés O, à<B>08.</B>
On va maintenant décrire les étapes permettant le chargement sécurisé d'une clé dite de fabrication dans la carte à puce.
La première phase du procédé selon l'invention consiste en l'authentification du "SAM" vis-à-vis de la carte à puce CP.
Cette phase comprend notamment une étape de calcul par le "SAM" d'un cryptogramme en faisant usage d'une clé secrète asymétrique correspondant à la clé publique asymétrique n contenue dans la carte. Dans la pratique, la clé est composée de deux nombres premiers, que l'on appellera arbitrairement p et q. On appellera arbitrairement Kpq la clé secrète asymétrique du "SAM. En d'autres termes, le "SAM" s'identifie vis-à- vis de la carte à puce CP et celle-ci reconnaît son interlocuteur avec la clé publique n.
Comme le montre la figure 2, au moyen d'un ordre sortant Os, le "SAM" 3 récupère de la carte à puce CP un nombre aléatoire Nec sur seize octets. Le nombre N,c sera appelé ci-après "nombre aléatoire carte" et peut être généré, par exemple, par les moyens de calcul de la carte à puce CP, dans l'exemple illustré, un microprocesseur CPU. Le "SAM" 3 génère également un nombre aléatoire de seize octets que l'on appellera "nombre aléatoire SAM" N,s.
Une signature Rabin, que l'on dénommera ci-après SR, est calculée, par le "SAM" 3sur quatre vingt seize octets de données, référencées DSR. Ces données DSR peuvent être conformes à la concaténation illustrée par la figure 3, de façon à atteindre les quatre vingt seize octets précités - une suite de cinquante neuf octets de remplissage, DSR,, ayant par exemple la configuration fixe suivante : 01, FF, ... FF, en hexadécimal; - une suite de cinq octets, DSR2, dits d'en-tête de la commande d'authentification mutuelle ; et - trente deux octets, DSR3, constitués par la concaténation des nombres N,s et Nec précités.
La suite de cinq octets d'en-tête de la commande d'authentification mutuelle, DSRZ, peut être constituée avantageusement par le contenu d'une commande d'un type dit "APDU", si la carte à puce CP est lue par un lecteur de carte à puce selon un protocole conforme aux normes "1S0 7816-1" à "1S0 7816-4". De façon plus précise, il peut s'agir du code associé à une instruction de chargement.
Si on se réfère de nouveau à la figure 2, la signature Rabin SR et le nombre aléatoire Nes sont envoyés à la carte à puce CP, au moyen d'un ordre entrant-sortant OES, indiquant une authentification mutuelle. Le "SAM" 3 est seul capable de générer cette signature SR, puisque la clé secrète qu'il emmagasine n'est jamais divulguée. La carte à puce CP vérifie la signature Rabin à l'aide de la clé publique asymétrique n qu'elle stocke, ce qui permet d'authentifier le "SAM" 3.
La deuxième phase du procédé consiste en l'authentification de la carte à puce CP vis-à-vis du "SAM" 3, de façon à compléter l'authentification mutuelle des deux entités.
A partir de la clé secrète maître Km et du nombre aléatoire précité de seize octets,<I>Nec,</I> la carte à puce CP génère une clé symétrique secrète dite de session, Ks, de seize octets, permettant de calculer un cryptogramme propre à la carte à puce CP.
De façon préférentielle, cette clé secrète de session, Ks, dite d'authentification, s'obtient en effectuant un chiffrement par un algorithme de type triple "DES" sur les deux parties, Neci et Nec2, du nombre aléatoire carte Nec, De façon plus précise, le processus de calcul de la clé secrète de session, Ks, s'effectue comme illustré par le diagramme de la figure 4. Comme il bien connu, un chiffrement par un algorithme de type triple "DES" comporte, en cascade, un premier chiffrement, à l'aide d'une clé (en l'occurrence la clé secrète maître KM), par un "DES" direct, un deuxième "DES" de type inverse et un troisième "DES", direct également. Sur la partie "poids faible" de huit octets, Nac,, du nombre aléatoire carte à puce, Nec, le triple "DES" s'effectue directement à l'aide de trois modules en cascade, référencés D", D2, et D3,. Les modules D" et D3, reçoivent, sur leurs entrées de clé, une même valeur de clé, en l'occurrence la partie "poids fort" de huit octets,<I>KM,,</I> de la clé<I>KM,</I> alors que le module D2, reçoit, sur son entrée de clé, la partie "poids faible", Km2, toujours sur huit octets. En sortie du module D3,, on obtient la partie "poids fort" sur huit octets, Ks,, de la clé secrète de session Ks. Ce mot de huit octets, Ks,, peut être stocké temporairement dans un registre de mémoire ou dans une partie de la mémoire vive dont est habituellement munie la carte à puce CP.
La partie Ks, est ré-injectée sur une première entrée d'un circuit logique de type "OU-exclusif' référencé XOR. Celui-ci reçoit, sur une seconde entrée, la partie "poids fort" de huit octets, N,c2, du nombre aléatoire carte à puce, Nec. La sortie de ce circuit logique XOR est transmise à l'entrée d'une chaîne de chiffrage en triple "DES". Ce triple "DES" s'effectue à l'aide de trois modules en cascade, référencés D,2, D22 et D32. Comme précédemment, les modules D,2 et D32 reçoivent, sur leurs entrées de clé, une même valeur de clé, en l'occurrence la partie "poids fort" de huit octets,<I>KM,,</I> de la clé<I>KM,</I> alors que le module D22 reçoit, sur son entrée clé, la partie "poids faible", KNn, toujours sur huit octets. En sortie du module D32, on obtient la partie "poids faible" sur huit octets, KS2, de la clé secrète de session Ks. Ce mot de huit octets, Ks2, peut lui aussi être stocké temporairement dans un registre de mémoire ou dans une partie de la mémoire vive.
La clé secrète KM peut être présente en "ROM", ou écrite "sous pointe" en "EEPROM", comme il a été rappelé précédemment.
II va de soit que l'opération logique "OU-exclusif' peut être réalisée de manière logicielle, au lieu d'utiliser un circuit logique spécifique XOR, ce en faisant appel à une routine enregistrée en mémoire "ROM" 1 par exemple, sous la commande du microprocesseur CPU. De même, les opérations de chiffrage "DES" ou "DES-<B>"'</B> sont généralement réalisées à l'aide d'algorithmes enregistrés en mémoire "ROM" 1, toujours sous la commande du microprocesseur CPU. Les résultats intermédiaires sont stockés dans des registres ou en mémoire vive.
Le "SAM" 3 est en mesure de calculer la même clé de session secrète Ks, de la façon qui vient d'être décrite, car ce dernier stocke également la clé secrète maître<I>KM.</I>
Dans une étape supplémentaire, la carte à puce CP génère une suite d'octets qui va être appelée ci-après "cryptogramme carte" CC. Ce dernier est obtenu en chiffrant le nombre aléatoire "SAM" transmis à la carte à puce CP à l'aide de la clé secrète de session Ks qui vient d'être calculée.
La figure 5 illustre le processus. Ce dernier est similaire à celui qui a permis de calculer la clé secrète de session Ks. Il a notamment recours à des fonctions "OU-exclusif' et à chiffrage selon l'algorithme triple "DES". Aussi, les éléments communs aux figures précédentes portent les mêmes références et ne seront re-décrits qu'en tant que de besoin.
Le nombre aléatoire "SAM", Nes, a été reçu du "SAM" 3 et est stocké provisoirement dans un emplacement de mémoire, registre ou autre. La partie poids fort sur huit octets, Nes,, de ce nombre aléatoire, Nes, est soumise à un triple "DES" par la chaîne D" à D3,. Cependant elle subit d'abord une opération logique "OU-exclusif' avec une valeur de chaînage initiale de huit octets, N,, de valeur hexadécimale "00", à l'aide d'un premier circuit XOR, (ou par un processus logiciel). C'est la sortie de ce circuit XOR, qui est transmise à la chaîne précitée. La clé de chiffrage est la clé de session secrète Ks calculée à l'étape précédente. De façon plus précise, les entrées de clé des "DES" D" et D3, reçoivent les huit octets de plus fort poids, Ks,, de cette clé Ks, et l'entrée de clé du " DES " D2,, les huit octets de plus faible poids, Ks2.
Ce processus permet de calculer les huit octets de plus fort poids, CC,, du cryptogramme CC. Ces octets CC, sont ré-injectés en entrée de la chaîne de chiffrage triple "DES", D,2 à D32, pour les octets de plus faible poids, NBs2, du nombre aléatoire "SAM" Nes, plus exactement sur une des entrées d'un deuxième circuit "OU-exclusif' XOR2, la première entrée recevant les huit octets de plus faible poids du nombre aléatoire Nes. C'est la sortie de ce circuit XOR2 qui est transmise à la chaîne précitée. Les entrées de clé des "DES" D,2 et D32 reçoivent les huit octets de plus fort poids, Ks,, de cette clé Ks, et l'entrée de clé du " DES " D22, les huit octets de plus faible poids, KS2. La sortie du "DES" D32 génère les huit octets de poids faible CC2 du cryptogramme carte CC.
Ce cryptogramme est transmis au "SAM" 3, au moyen de l'ordre d'entrée-sortie OES (figure 2) d'authentification mutuelle. A l'issue de cette étape, le "SAM" 3 peut authentifier la carte à puce CP à partir du cryptogramme carte CC, puisqu'il a également calculé la clé de session Ks, comme rappelé ci-dessus.
La dernière étape consiste à charger la clé dite de fabrication KF dans la mémoire de la carte à puce CP., à l'aide d'une commande de chargement C,,n. Cette clé KF est sécurisée par chiffrage à l'aide de la clé secrète de session Ks, en mode dit "CBC" (pour "Concatened Blocks Ciphering" ou Blocs Concaténés Chiffrés).
Si la commande de chargement échoue, la clé de session Ks est perdue et une nouvelle authentification mutuelle est nécessaire, avec calcul d'une nouvelle clé de session.
La commande de chargement est signée à l'aide d'une signature Rabin par le "SAM" 3. La figure 6 illustre schématiquement les données DSR' servant à calculer une signature Rabin SR'.
Au total, DSR' comprend quatre vingt seize octets. DSR' comprend, dans l'exemple trois parties - une en-tête DSR'3, avantageusement une commande "APDU" comme dans le cas de la figure 2 ; - des données chiffrées, DSR'2, soit<I>Do,</I> à Do", représentant la clé de fabrication KF (avec n le nombre d'octets total de la clé de fabrication KF) ; et - des données fixes de remplissage, DSR',, soit x octets, par exemple de configuration : 01, FF ... FF, en hexadécimal (la valeur de x est choisie pour que le nombre total d'octets de DSR' soit égal à quatre vingt seize). A la lecture de ce qui précède, on constate aisément que l'invention atteint bien les buts qu'elle s'est fixés.
Notamment, le chargement de la clé de fabrication utilisée ultérieurement pour la sécurisation des étapes de pré-initialisation de la carte à puce CP s'effectue avec un niveau de sécurité très élevé. Le procédé permet de charger dans chaque carte à puce CP sa propre clé, ou en d'autres termes une clé différente des autres cartes à puce.
Cependant, bien qu'il permette cette diversification de clé, le procédé n'oblige pas pour autant à avoir recours à des opérations longues et coûteuses, du type signalé dit d'écriture "sous pointe du fondeur".
II doit être clair cependant que l'invention n'est pas limitée aux seuls exemples de réalisations explicitement décrits, notamment en relation avec les figures 1 à 6.
Comme il a été indiqué, bien que l'algorithme de Rabin soit particulièrement avantageux, car peu gourmand en ressources informatiques, cet algorithme pourrait être remplacé par d'autres types d'algorithmes asymétriques, tel le "RSA". II en est de même de l'algorithme du type triple "DES". D'autres algorithmes à clés symétriques sont utilisables sans quitter le domaine de l'invention. Ceci ne constitue qu'un choix technologique, en soi à la portée de l'Homme de Métier, et dépendant notamment de l'application précise envisagée.
De même, les valeurs numériques précises, nombre d'octets ou autres, n'ont été indiquées que dans un but de fixer les idées et ne sauraient limiter en quoi que ce soit la portée de l'invention. Notamment, comme il est bien connu, la longueur des clés de chiffrement dépend du degré de sécurité que l'on escompte atteindre et peut résulter de choix technologiques, liés par exemple à des standards de fait et/ou aux types d'algorithmes choisis.
Enfin, comme il a été indiqué, l'invention n'est pas limitée aux seules applications à base de cartes à puce. Elle peut trouver application dans le cadre de tout système embarqué comprenant une puce électronique ou un organe similaire, dans lequel il est nécessaire de charger une clé pour la sécurisation d'opérations prédéterminées.
Les opérations en question peuvent être des opérations de pré- initialisation, comme il a été décrit de façon détaillée, mais aussi d'autres types opérations.
A titre d'exemple, il est possible de soumettre des commandes sensibles d'une carte à puce dite ouverte, telles le chargement de librairies du type dit "API" ("Application Program Interface") ou de codes divers, dans la partie "EEPROM", à une authentification mutuelle entre le dispositif de chargement et la carte à puce, le processus d'authentification mutuelle se déroulant de façon conforme au procédé de l'invention.
De façon générale, Il est possible d'affecter du point de vue de la carte à puce une clé publique et une clé secrète symétrique à chaque type d'opération à sécuriser. La clé de session dérivée lors du mécanisme d'authentification peut être utilisée par la suite afin de sécuriser le chargement d'une autre clé à usage dédié, comme la protection de librairies de type "API" précité ou de "patches", c'est-à-dire l'application de données binaires en remplacement de tout ou partie d'un programme existant.

Claims (1)

  1. <U>REVENDICATIONS</U> <B>1.</B> Procédé de chargement sécurisé d'une clé dédiée à la sécurisation d'une opération prédéterminée dans des moyens de mémoire d'une puce électronique d'un système embarqué, ladite clé dédiée étant contenue dans un dispositif de sécurité comportant des moyens de communication bidirectionnels avec ladite puce électronique, caractérisé en ce que, lesdits moyens de mémoire (M) de ladite puce électronique emmagasinant une clé de chiffrement secrète symétrique (KM) et une clé publique asymétrique (n) et ledit dispositif de sécurité (3) emmagasinant la même clé de chiffrement secrète symétrique (KM) et une clé secrète asymétrique (K,q) correspondant à ladite clé publique n de ladite puce électronique, il comprend - une première phase consistant en l'authentification dudit dispositif de sécurité (3) par ladite puce électronique (CP) et comprenant les étapes de génération par la puce électronique (CP) d'un premier nombre aléatoire (Nec) et sa transmission au dispositif de sécurité (3), la génération par celui-ci d'un deuxième nombre aléatoire (Nes) et d'un premier cryptogramme (SR), à partir desdits premier (Nec) et deuxième (Nes) nombres aléatoires, par l'application d'un algorithme de signature de type asymétrique, à l'aide de ladite clé secrète (Kp,), et sa transmission à ladite puce électronique (CP), de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé publique (n); - une deuxième phase consistant en l'authentification de ladite puce électronique (CP) et comprenant les étapes de génération, par la puce électronique (CP) et ledit dispositif de sécurité (3), d'une clé secrète dite de session (Ks) à partir dudit premier nombre aléatoire (N,c), par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète (KM), suivi de la génération d'un deuxième cryptogramme (CC) par l'application d'un algorithme de chiffrement de type symétrique, à l'aide de ladite clé secrète de session (KS) et sa transmission au dit dispositif de sécurité (3) de manière à y réaliser ladite authentification par vérification à l'aide de ladite clé de session (KS) ; et - une phase de transfert dans lesdits moyens de mémoire (M) de ladite puce électronique (CP) de ladite clé dédiée (KF), chiffrée par ladite clé de session (KS). <B>2.</B> Procédé selon la revendication 1, caractérisé en ce que ladite phase de transfert de ladite clé dédiée (KF) est déclenchée par une commande de chargement de clé (Clh) est signée (SR') par l'application d'un algorithme de signature de type asymétrique. <B>3.</B> Procédé selon la revendication 1, caractérisé en ce que ledit algorithme asymétrique est l'algorithme dit de Rabin. <B>4.</B> Procédé selon la revendication 3, caractérisé en ce que lesdits premier (Nec) et deuxième (Nes) nombres aléatoires ont une longueur de seize octets et en ce que ledit premier cryptogramme (SR) est obtenu par application dudit algorithme de Rabin sur la concaténation desdits premier (Nec) et deuxième (Nes) nombres aléatoires (DSR3), d'un premier nombre déterminé d'octets formant un en-tête (DSRZ), et d'un deuxième nombre déterminé d'octets (DSR,), dits de remplissage, de manière à ce que la longueur totale de ladite concaténation (DSR) soit de quatre vingt seize octets, équivalente à la longueur de ladite clé publique (n). <B>5.</B> Procédé selon la revendication 3, caractérisé en ce que ladite clé dédiée (KF) est chiffrée (DSR 2) par ladite clé secrète de session (KS) et est concaténée avec un troisième nombre déterminé d'octets (DSR 3), formant un en-tête, et un quatrième nombre déterminé d'octets (DSR',), dits de remplissage, de manière à ce que la longueur totale de ladite concaténation (DSR') soit de quatre vingt seize octets, et en ce que ladite concaténation (DSR') soit signée par application dudit algorithme de Rabin, avant ledit transfert vers ladite puce électronique (CP). <B>6.</B> Procédé selon la revendication 1, caractérisé en ce que ledit algorithme symétrique est l'algorithme est du type dit triple "DES". <B>7.</B> Procédé selon la revendication 6, caractérisé en ce que lesdits premier nombre aléatoire (Nec) et la dite clé secrète (KM) ayant une longueur de seize octets, ladite étape de génération de ladite clé secrète de session comprend - l'application dudit triple "DES" sur les huit octets de plus faible poids (Nec,) dudit premier nombre aléatoire (Nec), avec en cascade un<B>"</B>DES" direct (D"), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), un "DES" inverse (D2,), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète (Km2), et de nouveau un "DES" direct (D3,), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète<I>(KM,),</I> de manière à générer huit octets de plus fort poids de ladite clé secrète de session (K5,) ; - l'application d'une opération logique "OU-exclusif' (XOR) entre ces huit octets de plus fort poids (K$,) et les huit octets de plus fort poids (N,c2) dudit premier nombre aléatoire (Nec) ; et - l'application sur le résultat de ladite opération logique dudit triple "DES", avec en cascade un "DES" direct (D,2), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), un "DES" inverse (D22), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète (KHn), et de nouveau un "DES" direct (D32), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète (KM,), de manière à générer huit octets de plus faible poids (KS2) de ladite clé secrète de session (KS), lesdits octets de plus fort poids (KS,) et de plus faible poids (Ks2) formant ensemble ladite clé secrète de session (Ks). <B>8.</B> Procédé selon la revendication 6, caractérisé en ce que ledit deuxième nombre aléatoire (Nes) et ladite clé secrète de session ( Ks) ayant une longueur de seize octets, ladite étape de génération dudit cryptogramme de la carte comprend - l'application d'une opération logique "OU-exclusif' (XOR,) entre les huit octets de plus fort poids (Nes,) dudit deuxième nombre aléatoire (N.s) et huit octets fixes à la valeur hexadécimale 00 ; - l'application dudit triple "DES" sur le résultat de ladite opération logique, avec en cascade un "DES" direct (D"), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), un "DES" inverse (D2,), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète de session (Ks2), et de nouveau un "DES" direct (D3,), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), de manière à générer huit octets de plus fort poids (CC,) dudit deuxième cryptogramme (CC) ; - l'application d'une opération logique "OU-exclusif' (XORZ) entre ces huit octets de plus fort poids (CC,) et les huit octets de plus faible poids (NBs2) dudit deuxième nombre aléatoire (Nes) ; et - l'application sur le résultat de ladite opération logique dudit triple "DES", avec en cascade un "DES" direct (D,2), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), un "DES" inverse (D22), avec pour clé de chiffrement les huit octets de plus faible poids de ladite clé secrète de session (Ks2), et de nouveau un "DES" direct (D32), avec pour clé de chiffrement les huit octets de plus fort poids de ladite clé secrète de session (Ks,), de manière à générer huit octets de plus faible poids (CC2) dudit deuxième cryptogramme (CC), lesdits octets de plus fort poids (CC,) et de plus faible poids (CC2) formant ensemble ledit deuxième cryptogramme (CC). <B>9.</B> Procédé selon la revendication 1, caractérisé en ce que, ledit système embarqué à puce électronique étant une carte à puce (CP), ladite clé dédiée est une clé dite de fabrication (KF) servant à sécuriser les opérations de pré-initialisation de la carte à puce. <B>10.</B> Système embarqué à puce électronique comprenant des moyens de traitement et de mémorisation de données, destiné à coopérer avec un dispositif de sécurité via des moyens de communication bidirectionnels, de manière à recevoir une clé dédiée à la sécurisation d'opérations prédéterminées, caractérisé en ce que lesdits moyens de mémorisation de données (M) emmagasinant une clé de chiffrement secrète symétrique <I>(KM)</I> et une clé publique asymétrique (n) et ledit dispositif de sécurité (3) enregistrant la même clé de chiffrement secrète symétrique<I>(KM)</I> et la clé secrète asymétrique (Kp,,) correspondant à ladite clé publique (n), ladite puce électronique comprend des moyens pour générer un premier nombre aléatoire<I>(Nec)</I> destiné à être transmis au dit dispositif de sécurité (3), des moyens pour recevoir de celui-ci un deuxième nombre aléatoire (Nes) et un premier cryptogramme d'authentification (SR), généré à partir desdits premier<I>(Nec)</I> et deuxième (Nes) nombres aléatoires, par application d'un algorithme du type asymétrique et l'utilisation de ladite clé secrète (Kp,,,),des moyens (XOR, D" - D32) pour générer une clé secrète dite de session (KS), à partir dudit premier nombre aléatoire<I>(Nec),</I> par application d'un algorithme du type symétrique et l'utilisation de ladite clé secrète<I>(KM),</I> des moyens pour générer un deuxième cryptogramme (CC), à partir dudit deuxième nombre aléatoire (Nes) reçu dudit dispositif de sécurité (3), par application d'un algorithme du type symétrique et l'utilisation de ladite clé secrète de session (KS), et des moyens pour recevoir dudit dispositif de sécurité (3) ladite clé dédiée (KF) chiffrée (DSR'z) à l'aide de ladite clé de session (KS) et pour l'enregistrer dans lesdits moyens de mémoire (M). <B>11.</B> Système selon la revendication 9, caractérisé en ce qu'il est constitué par une carte à puce (CP) et en ce que ladite clé dédiée est une clé dite de fabrication (KF), et en ce que lesdites opérations à sécuriser sont des opérations de pré-initialisation de ladite carte à puce (CP).
FR0007319A 2000-06-08 2000-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede Expired - Fee Related FR2810139B1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FR0007319A FR2810139B1 (fr) 2000-06-08 2000-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
CNB018019501A CN1172477C (zh) 2000-06-08 2001-06-08 保证嵌入式微芯片系统预初始化安全性的方法和相应系统
JP2002502735A JP3773488B2 (ja) 2000-06-08 2001-06-08 電子チップに搭載されたシステム、特にチップカードの予備初期化段階の安全化方法と、その方法を実施する搭載システム
TW090113952A TW513681B (en) 2000-06-08 2001-06-08 Method of security of the pre-initialization phase of an electronic chip (especially a chip card) loading system, and the loading system using this method
EP01943588A EP1234284A1 (fr) 2000-06-08 2001-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US10/049,025 US7602920B2 (en) 2000-06-08 2001-06-08 Method for making secure the pre-initialising phase of a silicon chip integrated system, in particular a smart card and integrated system therefor
PCT/FR2001/001774 WO2001095274A1 (fr) 2000-06-08 2001-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0007319A FR2810139B1 (fr) 2000-06-08 2000-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede

Publications (2)

Publication Number Publication Date
FR2810139A1 true FR2810139A1 (fr) 2001-12-14
FR2810139B1 FR2810139B1 (fr) 2002-08-23

Family

ID=8851071

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0007319A Expired - Fee Related FR2810139B1 (fr) 2000-06-08 2000-06-08 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede

Country Status (7)

Country Link
US (1) US7602920B2 (fr)
EP (1) EP1234284A1 (fr)
JP (1) JP3773488B2 (fr)
CN (1) CN1172477C (fr)
FR (1) FR2810139B1 (fr)
TW (1) TW513681B (fr)
WO (1) WO2001095274A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2873467A1 (fr) * 2004-07-26 2006-01-27 Proton World Internatinal Nv Enregistrement d'une cle dans un circuit integre
WO2008023065A1 (fr) * 2006-08-25 2008-02-28 Thales Procede de personnalisation d'un composant de securite, notamment en milieu non protege
EP1934935A2 (fr) * 2005-09-28 2008-06-25 Visa International Service Association Dispositif, systeme et procede de reduction de la duree d'interaction pour une transaction sans contact
DE10218835B4 (de) * 2002-04-22 2009-09-10 Deutscher Sparkassen Verlag Gmbh Verfahren zum Herstellen einer Chipkarte und Chipkarte
FR2945134A1 (fr) * 2009-04-29 2010-11-05 Bull Sa Machine de test d'un produit sous test comprenant un moyen de memorisation et procede de test associe

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650314B1 (en) 2001-05-25 2010-01-19 American Express Travel Related Services Company, Inc. System and method for securing a recurrent billing transaction
US7543738B1 (en) * 2001-07-10 2009-06-09 American Express Travel Related Services Company, Inc. System and method for secure transactions manageable by a transaction account provider
US8001054B1 (en) * 2001-07-10 2011-08-16 American Express Travel Related Services Company, Inc. System and method for generating an unpredictable number using a seeded algorithm
US9031880B2 (en) 2001-07-10 2015-05-12 Iii Holdings 1, Llc Systems and methods for non-traditional payment using biometric data
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
EP1561299B1 (fr) 2002-10-28 2009-09-16 Nokia Corporation Cles de dispositifs
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
DE10340181A1 (de) * 2003-09-01 2005-03-24 Giesecke & Devrient Gmbh Verfahren zur kryptographischen Absicherung der Kommunikation mit einem tragbaren Datenträger
US7564345B2 (en) * 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
JP4613764B2 (ja) * 2005-09-12 2011-01-19 ソニー株式会社 通信システム、通信装置、通知方法、記録媒体、および、プログラム
EP1773018A1 (fr) * 2005-10-05 2007-04-11 Privasphere AG Méthode et dispositifs d'authentification d'un utilisateur
EP1941698B1 (fr) * 2005-10-05 2011-10-05 Privasphere AG Procédé et dispositifs pour l'authentification d'utilisateur
DE602007013697D1 (fr) 2006-01-24 2011-05-19 Verayo Inc
JP2007233725A (ja) * 2006-03-01 2007-09-13 Freescale Semiconductor Inc 集積回路、ウェハ及び集積回路の製造方法
US7818264B2 (en) 2006-06-19 2010-10-19 Visa U.S.A. Inc. Track data encryption
US9065643B2 (en) * 2006-04-05 2015-06-23 Visa U.S.A. Inc. System and method for account identifier obfuscation
CN100401309C (zh) * 2006-04-24 2008-07-09 南京熊猫电子股份有限公司 税控设备软件版本智能升级加密验证方法
CN101056166B (zh) * 2007-05-28 2010-04-21 北京飞天诚信科技有限公司 一种提高数据传输安全性的方法
US8782396B2 (en) * 2007-09-19 2014-07-15 Verayo, Inc. Authentication with physical unclonable functions
US20100082955A1 (en) * 2008-09-30 2010-04-01 Jasmeet Chhabra Verification of chipset firmware updates
TWI498827B (zh) * 2008-11-21 2015-09-01 Verayo Inc 非連網射頻辨識裝置物理不可複製功能之鑑認技術
CN101577022B (zh) * 2009-03-13 2013-03-27 深圳德诚信用咭制造有限公司 一种cpu卡数据加密和解密方法
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
US8811615B2 (en) * 2009-08-05 2014-08-19 Verayo, Inc. Index-based coding with a pseudo-random source
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
DE102010006987A1 (de) * 2010-02-05 2011-08-11 Giesecke & Devrient GmbH, 81677 Komplettierung portabler Datenträger
EP2362574A1 (fr) * 2010-02-19 2011-08-31 Irdeto B.V. Vérification de la correspondance de clés dans des systèmes à carte intelligente
EP2362573A1 (fr) * 2010-02-19 2011-08-31 Irdeto B.V. Dispositif et procédé pour établir une clé de confiance sécurisée
CN102236770B (zh) * 2010-04-20 2015-05-20 公安部第一研究所 一种机读旅行证件访问控制方法
CN101835153A (zh) * 2010-04-27 2010-09-15 中兴通讯股份有限公司 一种公话卡及其与移动终端互锁的方法
DE102010035098A1 (de) * 2010-08-23 2012-02-23 Giesecke & Devrient Gmbh Verfahren zum Authentisieren eines portablen Datenträgers
JP6279217B2 (ja) * 2013-03-08 2018-02-14 株式会社東芝 Icカード、電子装置、及び携帯可能電子装置
CN103178967B (zh) * 2013-03-20 2016-12-28 东信和平科技股份有限公司 一种空白智能卡激活认证密钥方法
DE102013207477A1 (de) * 2013-04-24 2014-10-30 Bundesdruckerei Gmbh Durchführung einer Chipkartenfunktion
CN103440462A (zh) * 2013-08-28 2013-12-11 成都卫士通信息产业股份有限公司 一种提高安全微处理器安全保密性能的嵌入式控制方法
US9774576B2 (en) 2014-03-18 2017-09-26 Em Microelectronic-Marin S.A. Authentication by use of symmetric and asymmetric cryptography
CN105721143B (zh) * 2016-01-30 2019-05-10 飞天诚信科技股份有限公司 一种对智能卡应用进行初始化的方法和装置
CN108234132B (zh) * 2017-12-07 2021-11-26 深圳市中易通安全芯科技有限公司 一种主控芯片与加密芯片的安全通信系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0285520A1 (fr) * 1987-04-03 1988-10-05 Bull Cp8 Procédé pour acheminer des clés secrètes vers des modules de sécurité et des cartes utilisateurs, dans un réseau de traitement d'informations
EP0440800A1 (fr) * 1989-06-05 1991-08-14 Ntt Data Communications Systems Corporation Carte a circuits integres servant d'attestation de securite et systeme de service a carte ic l'utilisant
FR2759833A1 (fr) * 1997-02-19 1998-08-21 Gemplus Card Int Procede de protection d'une cle mere destinee a permettre l'authentification de cartes utilisateurs
FR2760871A1 (fr) * 1997-03-13 1998-09-18 Bull Cp8 Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe
FR2767624A1 (fr) * 1997-08-21 1999-02-26 Activcard Dispositif portable electronique pour systeme de communication securisee, et procede d'initialisation de ses parametres
WO1999033033A2 (fr) * 1997-12-19 1999-07-01 Visa International Service Association Activation d'une carte au niveau d'un point de distribution

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
FR2653914A1 (fr) * 1989-10-27 1991-05-03 Trt Telecom Radio Electr Systeme d'authentification d'une carte a microcircuit par un micro-ordinateur personnel, et procede pour sa mise en óoeuvre.
US5365466A (en) * 1989-12-19 1994-11-15 Bull Cp8 Method for generating a random number in a system with portable electronic objects, and system for implementing the method
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
FR2704341B1 (fr) * 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5761309A (en) * 1994-08-30 1998-06-02 Kokusai Denshin Denwa Co., Ltd. Authentication system
FR2725537B1 (fr) * 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
CA2167631A1 (fr) * 1995-01-20 1996-07-21 W. Dale Hopkins Methode et appareil d'authentification d'utilisateurs et de dispositifs de securite
US5602918A (en) * 1995-12-22 1997-02-11 Virtual Open Network Environment Corp. Application level security system and method
FR2745135B1 (fr) * 1996-02-15 1998-09-18 Cedric Colnot Procede pour faire autoriser par un serveur l'acces a un service a partir de dispositifs portatifs a microcircuits electroniques du type carte a memoire par exemple
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
WO1998043212A1 (fr) * 1997-03-24 1998-10-01 Visa International Service Association Procede et dispositif de carte a puce multi-application permettant de telecharger une application sur la carte posterieurement a son emission
GB9709135D0 (en) * 1997-05-02 1997-06-25 Certicom Corp Two way authentication protocol
AU733803B2 (en) * 1997-05-09 2001-05-24 Connotech Experts-Conseils Inc. Initial secret key establishment including facilities for verification of identity
US6094724A (en) * 1997-11-26 2000-07-25 Atmel Corporation Secure memory having anti-wire tapping
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
DE19822795C2 (de) * 1998-05-20 2000-04-06 Siemens Ag Verfahren und Anordnung zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer ersten Computereinheit und einer zweiten Computereinheit
FR2789829B1 (fr) * 1999-02-11 2001-04-20 Bull Sa Procede de verification de l'usage de cles publiques engendrees par un systeme embarque
US6820203B1 (en) * 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
ES2230814T3 (es) * 1999-04-29 2005-05-01 Cp8 Technologies Metodos y sistemas de firma de clave publica.
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
FR2800478B1 (fr) * 1999-10-28 2001-11-30 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique
TWI234706B (en) * 2002-07-26 2005-06-21 Hon Hai Prec Ind Co Ltd System and method for firmware authentication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0285520A1 (fr) * 1987-04-03 1988-10-05 Bull Cp8 Procédé pour acheminer des clés secrètes vers des modules de sécurité et des cartes utilisateurs, dans un réseau de traitement d'informations
EP0440800A1 (fr) * 1989-06-05 1991-08-14 Ntt Data Communications Systems Corporation Carte a circuits integres servant d'attestation de securite et systeme de service a carte ic l'utilisant
FR2759833A1 (fr) * 1997-02-19 1998-08-21 Gemplus Card Int Procede de protection d'une cle mere destinee a permettre l'authentification de cartes utilisateurs
FR2760871A1 (fr) * 1997-03-13 1998-09-18 Bull Cp8 Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe
FR2767624A1 (fr) * 1997-08-21 1999-02-26 Activcard Dispositif portable electronique pour systeme de communication securisee, et procede d'initialisation de ses parametres
WO1999033033A2 (fr) * 1997-12-19 1999-07-01 Visa International Service Association Activation d'une carte au niveau d'un point de distribution

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10218835B4 (de) * 2002-04-22 2009-09-10 Deutscher Sparkassen Verlag Gmbh Verfahren zum Herstellen einer Chipkarte und Chipkarte
WO2006013162A1 (fr) * 2004-07-26 2006-02-09 Proton World International N.V. Enregistrement d'une cle dans un circuit integre
FR2873467A1 (fr) * 2004-07-26 2006-01-27 Proton World Internatinal Nv Enregistrement d'une cle dans un circuit integre
US8770476B2 (en) 2005-09-28 2014-07-08 Visa International Service Association Device, system and method for reducing an interaction time for a contactless transaction
US10043177B2 (en) 2005-09-28 2018-08-07 Visa International Service Association Device, system and method for reducing an interaction time for a contactless transaction
EP1934935A2 (fr) * 2005-09-28 2008-06-25 Visa International Service Association Dispositif, systeme et procede de reduction de la duree d'interaction pour une transaction sans contact
US9613354B2 (en) 2005-09-28 2017-04-04 Visa International Service Association Device, system and method for reducing an interaction time for a contactless transaction
EP1934935A4 (fr) * 2005-09-28 2011-03-02 Visa Int Service Ass Dispositif, systeme et procede de reduction de la duree d'interaction pour une transaction sans contact
US9330386B2 (en) 2005-09-28 2016-05-03 Visa International Service Association Device, system and method for reducing an interaction time for a contactless transaction
EP2711889A3 (fr) * 2005-09-28 2014-04-30 Visa International Service Association Dispositif, système et procédé permettant de réduire un temps d'interaction pour une transaction sans contact
FR2905216A1 (fr) * 2006-08-25 2008-02-29 Thales Sa Procede de personnalisation d'un composant de securite, notamment en milieu non protege
AU2007287512B2 (en) * 2006-08-25 2011-08-25 Thales Method of customizing a security component, particularly in an unprotected environment
WO2008023065A1 (fr) * 2006-08-25 2008-02-28 Thales Procede de personnalisation d'un composant de securite, notamment en milieu non protege
FR2945134A1 (fr) * 2009-04-29 2010-11-05 Bull Sa Machine de test d'un produit sous test comprenant un moyen de memorisation et procede de test associe

Also Published As

Publication number Publication date
US20020107798A1 (en) 2002-08-08
TW513681B (en) 2002-12-11
US7602920B2 (en) 2009-10-13
EP1234284A1 (fr) 2002-08-28
FR2810139B1 (fr) 2002-08-23
JP3773488B2 (ja) 2006-05-10
JP2003536304A (ja) 2003-12-02
CN1172477C (zh) 2004-10-20
CN1386249A (zh) 2002-12-18
WO2001095274A1 (fr) 2001-12-13
WO2001095274A8 (fr) 2002-02-14

Similar Documents

Publication Publication Date Title
FR2810139A1 (fr) Procede de securisation de la phase de pre-initialisation d&#39;un systeme embarque a puce electronique, notamment d&#39;une carte a puce, et systeme embarque mettant en oeuvre le procede
EP0414314B1 (fr) Procédé de génération de nombre unique pour carte à micro-circuit et application à la coopération de la carte avec un système hÔte
CA2121410C (fr) Dispositif de protection des cles d&#39;une carte a puce
EP1791292B1 (fr) Personnalisation d&#39;un circuit électronique
EP1247263A1 (fr) Procede de stockage securise d&#39;une donnee sensible dans une memoire d&#39;un systeme embarque a puce electronique, notamment d&#39;une carte a puce, et systeme embarque mettant en oeuvre le procede
EP1774484B1 (fr) Enregistrement d&#39;une cle dans un circuit integre
FR2834403A1 (fr) Systeme cryptographique de signature de groupe
EP1791291A1 (fr) Personnalisation d&#39;une carte bancaire pour d&#39;autres applications
FR2497617A1 (fr) Procede et dispositif de securite pour communication tripartie de donnees confidentielles
EP1055203B1 (fr) Protocole de controle d&#39;acces entre une cle et une serrure electronique
EP1266364B1 (fr) Procede cryptographique de protection contre la fraude
WO2002041267A1 (fr) Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
EP1399896B1 (fr) Procede cryptographique pour la protection d&#39;une puce electronique contre la fraude
FR2788649A1 (fr) Procede de chargement securise de donnees entre des modules de securite
EP3021515B1 (fr) Amélioration de l&#39;intégrité authentique de données à l&#39;aide du dernier bloc chiffrant ces données en mode cbc
WO2001075821A1 (fr) Procede de protection d&#39;une puce electronique contre la fraude
EP3340098A1 (fr) Procédé pour la sécurité d&#39;une opération électronique avec une carte à puce
FR2566155A1 (fr) Procede et systeme pour chiffrer et dechiffrer des informations transmises entre un dispositif emetteur et un dispositif recepteur
FR3062501A1 (fr) Procede pour la securite d&#39;une operation electronique
EP1547005B9 (fr) Carte à microcircuit dont les performances peuvent être modifiées après personnalisation
FR2856815A1 (fr) Procede d&#39;authentification de donnees contenues dans un objet a memoire
WO2002019613A1 (fr) Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede
WO2003069841A1 (fr) Procede de detection des attaques par mise en defaut contre les algorithmes cryptographiques
FR3089320A1 (fr) Vérification biométrique partagée entre un processeur et un élément sécurisé
WO2002045035A2 (fr) Procede de verification de l&#39;integrite des donnees dans le traitement des donnees de dispositifs electroniques

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100226