FR2816731A1 - Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce - Google Patents

Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce Download PDF

Info

Publication number
FR2816731A1
FR2816731A1 FR0014633A FR0014633A FR2816731A1 FR 2816731 A1 FR2816731 A1 FR 2816731A1 FR 0014633 A FR0014633 A FR 0014633A FR 0014633 A FR0014633 A FR 0014633A FR 2816731 A1 FR2816731 A1 FR 2816731A1
Authority
FR
France
Prior art keywords
loading
information
phase
memory
component
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
FR0014633A
Other languages
English (en)
Other versions
FR2816731B1 (fr
Inventor
Jean Luc Giraud
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 FR0014633A priority Critical patent/FR2816731B1/fr
Priority to AU2002218367A priority patent/AU2002218367A1/en
Priority to PCT/FR2001/003563 priority patent/WO2002041267A1/fr
Priority to EP01996837A priority patent/EP1337981A1/fr
Priority to US10/416,181 priority patent/US7725942B2/en
Publication of FR2816731A1 publication Critical patent/FR2816731A1/fr
Application granted granted Critical
Publication of FR2816731B1 publication Critical patent/FR2816731B1/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/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/3552Downloading or loading of personalisation data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Pour le chargement d'informations et de programmes dans la mémoire d'un composant électronique comprenant une unité de traitement, ce procédé comprend : une première phase de chargement (22) d'informations dans la mémoire du composant, une phase de validation (23, 24) comprenant la vérification des informations chargées dans la mémoire du composant, et une seconde phase de chargement (26 à 29) d'informations dans la mémoire du composant, effectuée seulement si les informations chargées durant la première phase de chargement sont valides, cette seconde phase comprenant au moins une étape de chargement d'informations et de validation de ces informations.

Description

<Desc/Clms Page number 1>
PROCÉDÉ DE CHARGEMENT ET DE PERSONNALISATION DES INFORMATIONS ET PROGRAMMES CHARGÉS DANS UNE CARTE À PUCE.
La présente invention concerne les objets électroniques portatifs tels que les cartes à microcircuits électroniques, dites cartes à puce. Elle s'applique plus généralement à tout dispositif embarqué indépendant, doté d'une unité de traitement associée à des mémoires de programme et de données, et d'un module de communication avec ou sans contact pour être connecté avec un dispositif électronique comportant des moyens de lecture et/ou d'écriture. Les mémoires de programme et de données comprennent généralement une mémoire morte ou non réinsicriptible, mais programmable une seule fois au moment de sa fabrication, par exemple de type ROM (Read Only Memory), et une mémoire volatile et accessible en écriture et en lecture, par exemple de type RAM (Random Access Memory), servant au stockage de données temporaires durant l'exécution d'un programme. Certaines puces comprennent également une mémoire non volatile, accessible à la fois en lecture et en écriture, par exemple de type EEPROM (Electrically Erasable Programmable Read Only Memory) ou FLASH.
De tels dispositifs sont conçus pour être connectés à des systèmes électroniques pour réaliser avec ceux-ci des fonctions particulières dans le cadre d'une ou plusieurs applications. Généralement, ces applications (banque, communication, santé) nécessitent une grande sécurité contre les usages frauduleux.
La fabrication de cartes à puce comprend plusieurs phases, chacune faisant intervenir des acteurs différents. Ainsi, la première phase concerne la création de la puce elle-même, qui est effectuée par le fabricant du composant électronique. Dans certains cas, le fabricant effectue également une initialisation de la puce consistant à charger dans la mémoire ROM de la puce un programme de chargement du programme d'utilisation et d'autres informations, dont certaines sont spécifiques à chaque carte, comme un numéro de série.
La phase suivante de fabrication d'une carte à puce concerne l'encartage de la puce. Cette phase est effectuée par une entité appelée encarteur qui charge d'autres informations dans la carte, certaines étant également génériques,
<Desc/Clms Page number 2>
comme celles permettant la création d'un système de fichiers dans la mémoire non volatile, et d'autres spécifiques de l'utilisation finale de la carte (par exemple un numéro de série de module).
Enfin, la dernière phase de fabrication est effectuée par une entité appelée personnalisateur dont le rôle est de charger dans la mémoire non volatile les informations spécifiques à chaque utilisateur (informations d'identification du porteur de la carte, et mots de passe), ainsi que d'autres informations génériques.
Généralement, les outils utilisés au cours de chacune de ces phases sont différents. Chaque fabricant de puce applique une méthode d'initialisation qui lui est propre. L'encarteur qui charge certaines informations dans la mémoire non volatile du composant utilise des commandes, dites physiques qui nécessitent une connaissance de l'organisation physique de la mémoire de la puce (adresse des fichiers, etc. ). La phase de personnalisation utilise des commandes dites logiques qui nécessitent la connaissance de l'organisation logique de la mémoire, par exemple le nom des répertoires et les noms des fichiers qui y sont stockés.
Les commandes physiques sont très rapides et très flexibles. De ce fait, elles sont très dangereuses car elles ne sont pas soumises à des vérifications. Grâce à ces commandes, une personne mal intentionnée pourrait par exemple créer des structures de fichiers corrompues, empêchant le fonctionnement normal de la puce, une fois qu'elle est personnalisée, ou encore y charger des programmes permettant de récupérer des informations secrètes, telles que des clés ou codes d'accès, contenus dans les mémoires du composant.
Les commandes logiques permettent de se protéger contre ce genre d'attaques, mais elles sont en revanche très lentes, ce qui influe sur le temps nécessaire à la personnalisation des cartes, et donc sur le prix des cartes.
En outre, la coexistence de ces deux types de commandes oblige le système d'exploitation de la puce à effectuer des opérations de vérification supplémentaires, ce qui allonge encore les temps de production des cartes, tout en ne garantissant pas l'intégrité des données inscrites dans la mémoire du composant.
La présente invention a pour but de supprimer ces inconvénients. A cet effet, elle propose un procédé de chargement et de personnalisation rapide et sûr,
<Desc/Clms Page number 3>
permettant de charger des informations et des programmes dans la mémoire d'un composant électronique.
Selon l'invention, ce procédé est caractérisé en ce qu'il comprend : - une première phase de chargement d'informations dans la mémoire du composant, - une phase de validation comprenant la vérification des informations chargées dans la mémoire du composant, et - une seconde phase de chargement d'informations dans la mémoire du composant, effectuée seulement si les informations chargées durant la première phase de chargement sont valides, cette seconde phase comprenant au moins une étape de chargement d'informations et de validation de ces informations.
Grâce à ces dispositions, le procédé selon l'invention n'utilise que des commandes physiques qui sont rapides pour charger la majeure partie de la mémoire non volatile du composant, ces commandes étant accompagnées de mécanismes de sécurité permettant de garantir l'intégrité des données chargées dans les mémoires du composant.
Avantageusement, la phase de validation comprend la détermination par une unité de traitement du composant d'une valeur caractéristique des informations chargées au cours de la première phase de chargement, la comparaison de la valeur caractéristique calculée avec une valeur préalablement transmise à l'unité de traitement, et la validation des informations chargées dans les mémoires du composant si la valeur caractéristique calculée correspond à celle qui a été transmise.
Ladite valeur caractéristique peut être une valeur condensée des informations chargées au cours de la première phase de chargement. Ainsi, elle peut être obtenue en appliquant une fonction de"hash"aux informations chargées au cours de la première phase de chargement.
Ladite valeur caractéristique peut aussi être un code MAC obtenu en appliquant aux informations chargées au cours de la première phase de chargement une fonction de"hash"et en faisant intervenir une clé secrète qui a été préalablement chargée dans une mémoire du composant. De cette, manière, la première phase de chargement ne peut être effectuée que par une personne
<Desc/Clms Page number 4>
autorisée qui connaît la clé secrète.
Selon une particularité de l'invention, ce procédé comprend une phase préliminaire comportant l'introduction dans la mémoire du composant d'adresses de zones prédéfinies de la mémoire dans lesquelles des informations peuvent être écrites durant la seconde phase de chargement, et au moins une valeur caractéristique des informations susceptibles d'être chargées durant la première phase de chargement.
Selon une autre particularité de l'invention, la seconde phase de chargement d'informations est effectuée en transmettant au composant au moins une commande logique d'écriture associée à une information à charger dans la mémoire du composant.
Alternativement, chaque étape de chargement d'informations effectuée durant la seconde phase de chargement peut avantageusement comprendre la transmission d'une commande physique d'écriture comportant une information à charger dans la mémoire du composant et une valeur caractéristique de la commande d'écriture, la détermination par une unité de traitement du composant d'une valeur caractéristique appliquée à la commande d'écriture, la comparaison de la valeur caractéristique reçue avec celle qui a été calculée, et la validation de la commande d'écriture si la comparaison n'a pas révélé de différence.
Chaque commande physique d'écriture peut être cryptée. Les données sont ensuite déchiffrées à l'aide d'une clé secrète qui a été préalablement chargée dans une mémoire du composant.
Selon une autre particularité de l'invention, chaque commande d'écriture d'une information effectuée durant la seconde phase de chargement est associée à la valeur d'un compteur qui est incrémenté à chaque commande, cette valeur étant vérifiée par l'unité de traitement qui rejette une commande si la valeur du compteur associée ne correspond pas à la valeur attendue.
À la fin de la première phase de chargement, on peut prévoir de transmettre au composant une commande de fin de chargement, ce qui a pour effet de déclencher la phase de validation.
<Desc/Clms Page number 5>
Chaque commande transmise à l'unité de traitement peut être associée à une signature, l'unité de traitement n'acceptant cette commande uniquement si la signature reçue correspond à une signature résultant d'un calcul qu'il a appliqué à la commande de fin de chargement.
Le procédé selon l'invention peut comprendre plusieurs cycles comportant chacun une première phase de chargement, une phase de validation et une seconde phase de chargement, chaque cycle de chargement ne portant que sur une zone mémoire respective, distincte de celles chargées au cours d'autres cycles de chargement.
Un mode de mise en oeuvre du procédé selon l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels
La figure 1 représente schématiquement le composant électronique d'une carte à puce ;
La figure 2 montre l'organisation de la mémoire non volatile du composant à la fin de la phase de chargement des informations non confidentielles ;
La figure 3 montre sous la forme d'un organigramme l'enchaînement des différentes étapes du procédé selon l'invention.
La figure 1 montre un composant électronique 1 conçu pour être intégré dans une carte à puce dite intelligente. Ce composant comprend généralement une unité de traitement 2 ou microprocesseur, reliée par un bus de communication 3 à des mémoires 4,5, 6, et à une liaison 7 vers un terminal de lecture et éventuellement d'écriture. Cette liaison est constituée soit de plages de contact dans le cas d'une carte à puce à contacts, soit par une antenne dans le cas d'une carte à puce sans contact. Ces mémoires comportent une mémoire non effaçable 4, par exemple de type ROM, une mémoire non volatile 5 accessible en écriture et en lecture, par exemple de type EEPROM ou FLASH, et une mémoire volatile 6 ou RAM.
Conformément au procédé selon l'invention 20 illustré sur la figure 3, on applique tout d'abord au composant électronique un traitement d'initialisation 21
<Desc/Clms Page number 6>
Figure img00060001

effectué au moment de sa fabrication. Ce traitement consiste à inscrire dans la mémoire 4 un programme permettant le chargement de la mémoire non volatile, ainsi que des informations confidentielles, telles qu'un numéro de série et éventuellement une clé secrète qui peut être alternativement déterminée en fonction du numéro de série.
Ensuite, le composant 1 est livré à l'encarteur qui procède notamment à une première phase de chargement 22 des données communes ou non confidentielles dans la mémoire non volatile 5, à l'aide du programme de chargement stocké dans la mémoire 4 et en utilisant des commandes dites physiques, non sécurisées, qui sont transmises au microprocesseur 2 par l'intermédiaire d'un terminal de personnalisation. Le programme de chargement effectue uniquement un contrôle des adresses où sont écrites les données.
Celles-ci peuvent donc être écrites dans un ordre quelconque. Il est même possible d'écrire plusieurs fois aux mêmes adresses dans la mémoire 5.
Durant cette phase, on peut autoriser la lecture du contenu de la mémoire 5 à des fins de vérification, mais si l'on souhaite une grande sécurité, une telle lecture peut être interdite, sachant que les données inscrites au cours de cette phase sont ensuite vérifiées.
Comme représenté sur la figure 2, les données chargées durant cette phase comportent les parties communes ou non confidentielles 13 d'un système d'exploitation et/ou de programmes applicatifs, une structure de fichiers 14, et des informations communes ou non confidentielles 15, une partie 12 de la mémoire 5 restant libre. Par ailleurs, certaines zones 11 prédéfinies de la mémoire 5 sont laissées libres pour le stockage de données ou de programmes confidentiels ou spécifiques de l'utilisateur à qui est destiné la carte à puce.
Une fois que les données communes ou non confidentielles sont chargées dans la mémoire 5, le terminal transmet 23 une commande de changement de phase, ce qui permet de déclencher un traitement de vérification et de validation des données chargées dans cette mémoire, puis d'interdire tout nouveau chargement d'informations non confidentielles, au moins dans la même zone mémoire.
Cette commande comprend avantageusement une instruction de changement de phase, ainsi qu'une valeur caractéristique telle qu'une valeur condensée représentant le contenu de la mémoire 5, cette valeur pouvant être par exemple obtenue par une fonction de"hash".
<Desc/Clms Page number 7>
Si l'on souhaite authentifier l'entité qui a effectué ce chargement, la valeur condensée peut être un code MAC. Ce code peut être obtenu à l'aide d'une fonction dite de"hash", en combinaison avec une clé secrète. On peut par exemple appliquer la fonction de hash MD5 ou SHA-1 (Secure Hash Algorithm - 1), permettant de calculer une séquence binaire, par exemple de 160 bits, représentant de manière condensée le contenu de la mémoire 5, une telle fonction étant conçue de manière à ce qu'une légère modification du contenu de la mémoire entraîne une modification importante de la séquence binaire ainsi calculée.
Cette commande de changement de phase peut également être cryptée à l'aide d'une clé secrète qui peut être la même que la précédente.
Ces dispositions permettent de garantir que les informations chargées au cours de cette phase l'ont été par une personne autorisée. Si tel n'est pas le cas, le programme de chargement ne passe pas à la phase suivante et se remet en attente d'une nouvelle commande de chargement ou de changement de phase.
A la réception d'une commande de changement de phase valide, le programme de chargement stocké dans la mémoire 4 effectue la vérification 24 du contenu de cette mémoire, pour valider l'intégrité de toutes les données qui ont été envoyées au composant durant cette phase. Cette vérification comprend tout d'abord le calcul d'une valeur caractéristique, appliqué à tout ou partie de la mémoire 5. Ensuite, le programme de chargement compare 25 cette valeur ainsi calculée avec une valeur de référence qui a été transmise dans la commande de changement de phase.
Si une différence est détectée, la première phase de chargement est considérée comme ayant échoué et un code d'erreur est transmis au terminal de personnalisation. Le programme de chargement retourne alors à l'étape 22.
Dans le cas contraire, cette phase de chargement est validée et peut être suivie d'une phase de chargement des données spécifiques ou confidentielles.
En cas d'échec de la première phase de chargement, on peut prévoir d'effacer les informations qui ont été chargées pour éviter tout risque d'utilisation frauduleuse du composant.
Cette étape de vérification permet de garantir l'intégrité des données non confidentielles, même si le chargement a été effectué à l'aide de commandes physiques. Comme les commandes physiques sont beaucoup plus rapides que
<Desc/Clms Page number 8>
les commandes logiques, le procédé selon l'invention permet de charger très rapidement les données non confidentielles dans la mémoire 5.
Durant la phase suivante (étapes 26 à 29), les données spécifiques ou confidentielles à charger dans la mémoire 5 sont transmises 26 au composant les unes après les autres par le terminal de personnalisation, sous la forme de commandes d'écritures qui sont vérifiées 27 par le microprocesseur 2 avant d'être exécutées.
Selon l'invention, chaque commande d'écriture comprend la valeur de la donnée à écrire, l'adresse d'écriture de la donnée dans la mémoire, et la longueur de la donnée, ainsi que un code de redondance si nécessaire. L'ensemble peut être associé une valeur condensée caractéristique de la commande. Cette valeur condensée peut être une signature.
Cette signature est par exemple obtenue à l'aide d'une fonction de"hash". La séquence binaire obtenue peut être cryptée à l'aide d'une clé qui peut être la clé secrète mémorisée à l'étape 21 dans la mémoire 4, pour obtenir un code d'authentification de message ou MAC.
L'ensemble de la commande peut aussi être décrypté à l'aide de la ou des clé (s) secrète (s), installées à l'étape 21.
Ces dispositions permettent de garantir que les données spécifiques ou confidentielles sont chargées par une personne autorisée.
A la réception d'une commande d'écriture d'une donnée spécifique ou confidentielle, le microprocesseur décrypte la signature cryptée associée à commande reçue, et si celle-ci correspond la commande reçue (étape 28), il procède à l'écriture de la donnée associée à la commande à l'adresse indiquée.
Pour déterminer si la signature reçue correspond à la commande d'écriture reçue, le microprocesseur 2 applique la fonction de"hash"à la commande reçue et compare la signature reçue et décryptée à la signature ainsi calculée.
De cette manière, une commande d'écriture ne peut être exécutée que si elle a été préalablement signée à l'aide de la clé secrète et traitée à l'aide de la fonction de"hash"adéquate.
Avantageusement, chaque commande d'écriture est également associée à un numéro de commande qui est incrémenté à chaque commande d'écriture, le
<Desc/Clms Page number 9>
microprocesseur 2 n'acceptant une commande de chargement que si le numéro de commande correspond au numéro de la commande précédemment reçue incrémenté de un.
Durant la phase d'initialisation, on peut prévoir le chargement des adresses respectives des zones libres Il, le microprocesseur vérifiant à chaque commande d'écriture si l'adresse associée correspond à une adresse de zone libre. Ces adresses de zones libres peuvent également être chargées en association avec un numéro de commande de chargement, le microprocesseur vérifiant en outre à chaque commande d'écriture si le numéro de commande correspond à l'adresse d'écriture. On peut également prévoir une phase spécifique de préchargement déclenchée à la suite de la phase d'initialisation, au cours de laquelle ces informations (adresses des zones libres et numéros de commande de chargement correspondant) sont transmises de manière sécurisée au microprocesseur 2 pour être stockées dans la mémoire non volatile 5.
De cette manière, on est assuré que les zones libres 11 de la mémoire 5 ne peuvent être remplies que dans un ordre prédéfini.
Une fois que toutes les données à charger ont été transmises à la carte et stockées par le microprocesseur 2 dans la mémoire 5, le terminal transmet à la carte une commande de fin de phase contenant de préférence un numéro de phase. Cette commande peut également être cryptée et transmise au microprocesseur 2 sous la forme d'une signature MAC, et comprendre un numéro de commande qui correspond au numéro de la dernière commande de chargement transmise, incrémenté de un.
La réception 30 d'un tel message de changement de phase déclenche l'activation 31 du programme applicatif par le microprocesseur. Celui-ci ne peut donc plus recevoir de commandes de chargement.
On peut avantageusement prévoir plusieurs cycles de chargement de données comportant chacun une phase de personnalisation libre (étapes 22 à 25) et une phase de personnalisation confidentielle (étapes 26 à 30). Dans ce cas, il est préférable d'utiliser plusieurs mémoires ou de diviser la mémoire 5 en partitions disjointes, chaque mémoire ou partition étant complètement remplie au cours d'un cycle de chargement. Cette disposition est nécessaire par exemple lorsque le chargement des données doit être effectué par plusieurs entités.
<Desc/Clms Page number 10>
Il suffit pour cela que le programme de chargement dans la mémoire 4 soit conçu pour ne charger qu'une première partition en exécutant les étapes 22 à 30, et que les données chargées au cours du premier cycle incluent le chargement d'un second programme de chargement spécifiquement conçu pour ne charger que la seconde partition, ce programme étant activé à la suite de la réception par le microprocesseur d'une commande de changement de phase à la fin de la phase de personnalisation sécurisée de la première partition. Plusieurs cycles de chargement comprenant l'exécution des étapes 22 à 30 peuvent ainsi être enchaînés, la réception de la commande de changement de phase à la fin du dernier cycle déclenchant l'activation du programme applicatif.
Selon une particularité de l'invention, le procédé utilise une clé de cryptage des commandes de personnalisation sécurisées, spécifique à chaque entité procédant au chargement d'une partie de la mémoire 5.
Bien entendu, pour charger les différentes partitions de la mémoire 5, on peut utiliser un seul programme de chargement, à savoir celui qui est stocké dans la mémoire 4. Il est alors nécessaire, avant d'exécuter une commande de chargement, de contrôler que le chargement demandé porte sur des adresses appartenant à la partition correspondant au cycle de chargement en cours. Un changement de cycle déclenchant une modification du champ d'adresses à charger. On peut également prévoir que les commandes de chargement de la seconde phase soient des commandes logiques.

Claims (13)

REVENDICATIONS
1. Procédé de chargement d'informations dans une mémoire d'un composant électronique (1), caractérisé en ce qu'il comprend : - une première phase de chargement (22) d'informations dans la mémoire (5) du composant, - une phase de validation (23,24) comprenant la vérification des informations chargées dans la mémoire du composant, et - une seconde phase de chargement (26 à 29) d'informations dans la mémoire (5) du composant, effectuée seulement si les informations chargées durant la première phase de chargement sont valides, cette seconde phase comprenant au moins une étape comprenant unchargement d'informations et une validation de ces informations.
2. Procédé selon la revendication 1, caractérisé en ce que la phase de validation (23,24) comprend la détermination par une unité de traitement (2) du composant (1) d'une valeur caractéristique des informations chargées au cours de la première phase de chargement, la comparaison de la valeur caractéristique calculée avec une valeur préalablement transmise à l'unité de traitement, et la validation des informations chargées dans les mémoires du composant si la valeur caractéristique calculée correspond à celle qui a été transmise.
3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce qu'il comprend une phase préliminaire comportant l'introduction dans la mémoire du composant d'informations de définition de zones prédéfinies de la mémoire (5) dans lesquelles des informations peuvent être écrites durant la seconde phase de chargement, et au moins une valeur caractéristique des informations susceptibles d'être chargées durant la première phase de chargement.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la seconde phase de chargement d'informations est effectuée en transmettant au composant au moins une commande logique d'écriture associée à une information à charger dans la mémoire (5) du composant.
<Desc/Clms Page number 12>
5. Procédé selon la revendication 1 à 3, caractérisé en ce que chaque étape de chargement d'informations effectuée durant la seconde phase de chargement comprend la transmission (26) d'une commande physique d'écriture comportant une information à charger dans la mémoire (5) du composant, une adresse de chargement et une valeur caractéristique de la commande d'écriture, la détermination (27) par une unité de traitement (2) du composant d'une valeur caractéristique appliquée à la commande d'écriture, la comparaison (28) de la valeur caractéristique reçue avec celle qui a été calculée, et la validation (29) de la commande d'écriture si la comparaison n'a pas révélé de différence.
6. Procédé selon la revendication 4 ou 5, caractérisé en ce que lesdites valeurs caractéristiques sont des valeurs condensées des informations chargées.
7. Procédé selon la revendication 4 ou 5, caractérisé en ce que lesdites valeurs caractéristiques sont obtenues en appliquant une fonction de"hash"aux informations chargées.
8. Procédé selon la revendication 4 ou 5, caractérisé en ce que lesdites valeurs caractéristiques sont des codes MAC qui sont vérifiés en appliquant aux informations chargées une fonction de"hash"et en faisant intervenir une clé secrète qui a été préalablement chargée dans une mémoire du composant.
9. Procédé selon l'une des revendications 4 à 8, caractérisé en ce que chaque commande d'écriture d'une information effectuée durant la seconde phase de chargement est associée à la valeur d'un compteur qui est incrémenté à chaque commande, cette valeur étant vérifiée par l'unité de traitement (2) qui rejette une commande si la valeur du compteur associée ne correspond pas à la valeur attendue.
10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que la phase de validation est déclenchée à la suite de la réception (23) par le composant (1) d'une commande de fin de chargement.
11. Procédé selon la revendication 10, caractérisé en ce que la commande de fin de chargement est associée à une
<Desc/Clms Page number 13>
signature, l'unité de traitement n'acceptant cette commande uniquement si la signature reçue correspond à une signature résultant d'un calcul qu'il a appliqué à la commande de fin de chargement.
12. Procédé selon l'une des revendications 5 à 11, caractérisé en ce que chaque commande transmise à l'unité de traitement (2) est décryptée à l'aide d'une clé secrète qui a été préalablement chargée dans une mémoire (4) du composant.
13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce qu'il comprend plusieurs cycles de chargement comportant chacun une première phase de chargement, une phase de validation et une seconde phase de chargement, chaque cycle de chargement ne portant que sur une zone mémoire respective, distincte de celles chargées au cours d'autres cycles de chargement.
FR0014633A 2000-11-14 2000-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce Expired - Fee Related FR2816731B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0014633A FR2816731B1 (fr) 2000-11-14 2000-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
AU2002218367A AU2002218367A1 (en) 2000-11-14 2001-11-14 Method for loading and customizing data and programmes loaded in a smart card
PCT/FR2001/003563 WO2002041267A1 (fr) 2000-11-14 2001-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
EP01996837A EP1337981A1 (fr) 2000-11-14 2001-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
US10/416,181 US7725942B2 (en) 2000-11-14 2001-11-14 Method for loading and customizing data and programmes loaded in a smart card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0014633A FR2816731B1 (fr) 2000-11-14 2000-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce

Publications (2)

Publication Number Publication Date
FR2816731A1 true FR2816731A1 (fr) 2002-05-17
FR2816731B1 FR2816731B1 (fr) 2003-01-03

Family

ID=8856425

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0014633A Expired - Fee Related FR2816731B1 (fr) 2000-11-14 2000-11-14 Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce

Country Status (5)

Country Link
US (1) US7725942B2 (fr)
EP (1) EP1337981A1 (fr)
AU (1) AU2002218367A1 (fr)
FR (1) FR2816731B1 (fr)
WO (1) WO2002041267A1 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4426492B2 (ja) * 2005-03-30 2010-03-03 Ykk株式会社 プログラマブル・ターミナル・システム
DE102005022019A1 (de) * 2005-05-12 2007-02-01 Giesecke & Devrient Gmbh Sichere Verarbeitung von Daten
EP1798653B1 (fr) * 2005-12-16 2011-08-03 Aladdin Europe GmbH Procédé, produit programme d'ordinateur et dispositif destiné à la protection d'un logiciel muni d'un bloc de fonction
KR100745603B1 (ko) * 2006-02-08 2007-08-02 삼성전자주식회사 보안 멀티미디어 카드 및 그것을 포함하는 메모리 카드시스템
US7575485B2 (en) * 2007-02-16 2009-08-18 Fci Americas Technology, Inc. Knurled inner sleeve for a cable connector
KR100997238B1 (ko) * 2008-03-03 2010-11-29 삼성전자주식회사 Crum 유닛, 교체가능유닛 및 이를 이용하는 화상형성장치와, 그 인증 및 암호화 데이터 통신 방법
US20120204248A1 (en) * 2011-02-09 2012-08-09 Verizon Patent And Licensing Inc. Provisioner for single sign-on and non-single sign-on sites, applications, systems, and sessions
US10776457B1 (en) * 2014-07-22 2020-09-15 Epic Games, Inc. System and method for preventing execution of unauthorized code
FR3083341B1 (fr) * 2018-06-28 2020-09-18 Idemia France Configuration d'un dispositif electronique
DE102018005284A1 (de) * 2018-07-03 2019-09-05 Giesecke+Devrient Mobile Security Gmbh Chip-Personalisierung eines eingebetteten Systems durch einen Dritten
US11641274B2 (en) * 2019-03-22 2023-05-02 Jpmorgan Chase Bank, N.A. Systems and methods for manipulation of private information on untrusted environments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410690A (en) * 1989-11-30 1995-04-25 Kabushiki Kaisha Toshiba System for issuing portable storage media containing common and individual data
EP0798673A1 (fr) * 1996-03-29 1997-10-01 Koninklijke KPN N.V. Méthode pour transférer des commandes dans une carte à circuit intégré

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493073A (en) * 1982-08-30 1985-01-08 At&T Bell Laboratories Maintenance of stored program controlled switching systems
JPH0691526B2 (ja) * 1985-03-08 1994-11-14 株式会社東芝 通信システム
US4742215A (en) * 1986-05-07 1988-05-03 Personal Computer Card Corporation IC card system
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
EP0701718A4 (fr) * 1993-06-02 2000-03-29 Verifone Inc Systeme et procede de reevaluation de jetons stockes dans des cartes de ci
JPH07296125A (ja) * 1994-04-28 1995-11-10 Mitsubishi Denki Semiconductor Software Kk リーダライタ及び非接触icカードシステム
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
CA2288824A1 (fr) * 1997-03-24 1998-10-01 Marc B. Kekicheff Procede et dispositif de carte a puce multi-application permettant de telecharger une application sur la carte posterieurement a son emission
FR2767437B1 (fr) * 1997-08-14 1999-09-17 Alsthom Cge Alcatel Procede ameliore de chargement d'une liste predeterminee d'articles par un terminal mobile pilote par un module d'identification d'abonne, commande, module d'identification d'abonne et terminal mobile correspondants
FR2767624B1 (fr) * 1997-08-21 2002-05-10 Activcard Dispositif portable electronique pour systeme de communication securisee, et procede d'initialisation de ses parametres
US6357665B1 (en) * 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
FR2779018B1 (fr) * 1998-05-22 2000-08-18 Activcard Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees
US6216227B1 (en) * 1998-06-29 2001-04-10 Sun Microsystems, Inc. Multi-venue ticketing using smart cards
DE19947986A1 (de) * 1999-10-05 2001-04-12 Ibm System und Verfahren zum Herunterladen von Anwendungsteilen auf eine Chipkarte
JP3808297B2 (ja) * 2000-08-11 2006-08-09 株式会社日立製作所 Icカードシステム及びicカード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410690A (en) * 1989-11-30 1995-04-25 Kabushiki Kaisha Toshiba System for issuing portable storage media containing common and individual data
EP0798673A1 (fr) * 1996-03-29 1997-10-01 Koninklijke KPN N.V. Méthode pour transférer des commandes dans une carte à circuit intégré

Also Published As

Publication number Publication date
AU2002218367A1 (en) 2002-05-27
EP1337981A1 (fr) 2003-08-27
US7725942B2 (en) 2010-05-25
FR2816731B1 (fr) 2003-01-03
WO2002041267A1 (fr) 2002-05-23
US20040013266A1 (en) 2004-01-22

Similar Documents

Publication Publication Date Title
EP0621569B1 (fr) Dispositif et procédé de protection des clés d&#39;une carte à puce
WO2001095274A1 (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
EP1774484B1 (fr) Enregistrement d&#39;une cle dans un circuit integre
EP0540095A1 (fr) Microcircuit pour carte à puce à mémoire programmable protégée
EP1791292B1 (fr) Personnalisation d&#39;un circuit électronique
EP1627362A1 (fr) Methode de generation d&#39;une cle de securite
FR2893797A1 (fr) Personnalisation d&#39;une carte bancaire pour d&#39;autres applications
FR2816731A1 (fr) Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
WO2001071675A1 (fr) Procede cryptographique de protection contre la fraude
FR2960327A1 (fr) Procede et systeme d&#39;acces a un circuit integre comprenant une cle personnelle d&#39;authentification
EP3327607B1 (fr) Procede de verification de donnees
FR2788649A1 (fr) Procede de chargement securise de donnees entre des modules de securite
EP1399896A1 (fr) Procede cryptographique pour la protection d&#39;une puce electronique contre la fraude
EP1547005B9 (fr) Carte à microcircuit dont les performances peuvent être modifiées après personnalisation
EP2252978B1 (fr) Carte a circuit integre ayant un programme d&#39;exploitation modifiable et procede de modification correspondant
EP3358493A1 (fr) Procédé pour la sécurité d&#39;une opération électronique
FR2816729A1 (fr) Procede de verification avant activation d&#39;un programme charge dans une carte a puce
EP3514749B1 (fr) Procede de controle de regles de dependances d&#39;objets mis a jour dans un microcircuit, et dispositif correspondant
EP2188762A1 (fr) Carte a circuit integre a tampon d&#39;entree/sortie securise
FR2856815A1 (fr) Procede d&#39;authentification de donnees contenues dans un objet a memoire
EP3179400B1 (fr) Procédé de chargement d&#39;une ressource informatique au sein d&#39;un dispositif électronique, module électronique et programme d&#39;ordinateur correspondant
EP1129430B2 (fr) Procede et dispositif de controle du cycle de vie d&#39;un objet portatif, notamment d&#39;une carte a puce
WO2004093019A1 (fr) Entite electronique securisee avec compteur modifiable d&#39;utilisations d’une donnee secrete
EP3923169A1 (fr) Démarrage sécurisé d&#39;un circuit électronique
WO2012172245A1 (fr) Transfert securise entre memoire non-volatile et memoire volatile

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090731