Personnalisation de carte à puce Personalization of smart card
La présente invention concerne la personnalisation de carte à puce. Plus particulièrement, elle a trait à la personnalisation d'une carte à puce une fois la carte délivrée chez un utilisateur final, afin que celle-ci devienne fonctionnelle.The present invention relates to the personalization of smart card. More particularly, it relates to the personalization of a smart card once the card issued to an end user, so that it becomes functional.
La personnalisation de carte à puce, appelée également carte à microcontrôleur, consiste à charger des données telles que des applications et leurs paramètres et à diversifier le contenu de chaque carte à puce selon son utilisateur final. La personnalisation comprend, entre autres, un téléchargement de données secrètes, telles que des clés d' authentification, et de données personnelles, telles qu'un nom ou un numéro d'identité.The smart card personalization, also called microcontroller card, is to load data such as applications and their parameters and to diversify the content of each smart card according to its end user. Personalization includes, among other things, downloading secret data, such as authentication keys, and personal data, such as a name or an identity number.
La personnalisation de carte à puce est exécutée par une machine de personnalisation dans l'usine de fabrication des cartes et est soumise à des contraintes de temps qui influent sur le coût de fabrication d'une carte. Actuellement, la personnalisation d'une carte à puce dure quelques secondes. Si la personnalisation nécessite un temps de traitement supérieur, le prix de la carte augmente .The smart card personalization is performed by a personalization machine in the card manufacturing plant and is subject to time constraints that affect the cost of manufacturing a card. Currently, the personalization of a smart card lasts a few seconds. If customization requires a higher processing time, the price of the card increases.
Comme la personnalisation des cartes est de plus en plus complexe et les applications à implémenter dans les cartes sont de plus en plus nombreuses, le coût de production de chaque carte à puce est de plus en plus élevé.As the personalization of the cards is more and more complex and the applications to be implemented in the cards are more numerous, the cost of production of each smart card is becoming higher.
L'invention a pour objectif de réduire le coût de personnalisation des cartes à puce sans augmenter
la durée de leur personnalisation en usine, tout en satisfaisant le besoin croissant de données de personnalisation et l'augmentation de la capacité de stockage des cartes.The aim of the invention is to reduce the cost of personalization of smart cards without increasing the duration of their factory customization, while meeting the growing need for personalization data and increasing the capacity of card storage.
Pour atteindre cet objectif, un procédé pour personnaliser une carte à puce est caractérisé en ce qu'il comprend : une pré-personnalisation pour charger des données de post-personnalisation dans la carte à puce par une machine de personnalisation, et une post-personnalisation pour traiter dans la carte à puce les données de post-personnalisation chargées, suite à une liaison de la carte à puce à un terminal, afin de rendre la carte à puce fonctionnelle .To achieve this objective, a method for personalizing a smart card is characterized in that it comprises: a pre-customization for loading post-personalization data in the smart card by a personalization machine, and a post-personalization to process in the smart card post-personalization data loaded, following a binding of the smart card to a terminal, to make the smart card functional.
La personnalisation d'une carte à puce selon l'invention est ainsi divisée en deux parties : la pré-personnalisation qui est réalisée au cours de la fabrication de la carte à puce, et la postpersonnalisation qui est réalisée après délivrance de la carte à puce à un utilisateur final et après une mise sous tension de la carte à puce par liaison de celle-ci au terminal. La post-personnalisation évite ainsi une augmentation de la durée de personnalisation en usine. Tant que toute la personnalisation de la carte à puce n'est pas terminée, la carte n'est pas fonctionnelle et ne peut être utilisée normalement par un utilisateur final. De préférence, les données de postpersonnalisation chargées dans la carte à puce comprennent une application de post-personnalisation et des opérations de personnalisation. Lors de la post-personnalisation, l'application de post- personnalisation exécute correctement et
successivement toutes les opérations de personnalisation afin que la carte à puce soit fonctionnelle .The personalization of a smart card according to the invention is thus divided into two parts: the pre-customization that is performed during the manufacture of the smart card, and the post-personalization that is performed after delivery of the smart card to an end user and after powering up the smart card by linking it to the terminal. Post customization avoids an increase in the customization time in the factory. As long as all the customization of the smart card is not completed, the card is not functional and can not be used normally by an end user. Preferably, the post-personalization data loaded in the smart card includes a post-personalization application and personalization operations. During post-customization, the post-customization application runs correctly and successively all personalization operations so that the smart card is functional.
Selon une variante de l'invention, lors de l'exécution de l'une des opérations de personnalisation, une application de connexion réseau peut être activée dans la carte par ladite une opération de personnalisation afin de communiquer avec un serveur via le terminal pour télécharger dans la carte à puce des données et/ou des codes relatifs à l'exécution de ladite une opération de personnalisation.According to a variant of the invention, during the execution of one of the personalization operations, a network connection application can be activated in the card by said personalization operation in order to communicate with a server via the terminal for downloading. in the smart card data and / or codes relating to the execution of said personalization operation.
L'invention a aussi pour objet un système pour personnaliser une carte à puce, qui est caractérisé en ce qu'il comprend : un moyen de pré-personnalisation pour charger des données de post-personnalisation dans la carte à puce par une machine de personnalisation, et un moyen de post-personnalisation inclus dans la carte à puce pour traiter les données de postpersonnalisation chargées, suite à une liaison de la carte à puce à un terminal, afin de rendre la carte à puce fonctionnelleThe invention also relates to a system for personalizing a smart card, which is characterized in that it comprises: pre-personalization means for loading post-personalization data in the smart card by a personalization machine , and a post-personalization means included in the smart card for processing the post-personalization data loaded, following a link of the smart card to a terminal, in order to make the smart card functional
L'invention est également dirigée vers une carte à puce à personnaliser, comprenant un moyen de postpersonnalisation pour traiter des données de postpersonnalisation qui ont été chargées dans la carte à puce par une machine de personnalisation lors d'une pré-personnalisation, suite à une liaison de la carte à puce à un terminal, afin de rendre la carte à puce fonctionnelle .
Enfin, l'invention se rapporte à un programme apte à être mis en œuvre dans le système pour personnaliser une carte à puce, ledit programme comprenant des instructions qui, lorsque le programme est exécuté dans ledit système, réalisent les étapes selon le procédé de l'invention.The invention is also directed to a smart card to be personalized, comprising a post-personalization means for processing post-personalization data that has been loaded into the smart card by a personalization machine during pre-personalization, following a link the smart card to a terminal, in order to make the smart card functional. Finally, the invention relates to a program adapted to be implemented in the system for personalizing a smart card, said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention. 'invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention, données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels :Other features and advantages of the present invention will emerge more clearly on reading the following description of several preferred embodiments of the invention, given by way of non-limiting examples, with reference to the corresponding appended drawings in which:
- la figure 1 est un bloc-diagramme schématique représentatif d'un dispositif de pré-personnalisation d'une carte à puce connectée à une machine de personnalisation, selon l'invention ; la figure 2 est un bloc-diagramme représentatif d'un dispositif de post- personnalisation d'une carte à puce connectée à un terminal, selon l'invention ;FIG. 1 is a schematic block diagram representative of a pre-personalization device for a smart card connected to a personalization machine, according to the invention; FIG. 2 is a block diagram representative of a post-personalization device of a smart card connected to a terminal, according to the invention;
- la figure 3 est un algorithme d'un procédé de personnalisation d'une carte à puce selon l'invention ; et - la figure 4 est un algorithme d'un procédé de post-personnalisation d'une carte à puce selon 1 ' invention .FIG. 3 is an algorithm of a personalization method of a smart card according to the invention; and FIG. 4 is an algorithm of a post-personalization process of a smart card according to the invention.
La personnalisation d'une carte à puce selon l'invention comprend deux étapes distinctes. Une prépersonnalisation et une post-personnalisation de la carte .The personalization of a smart card according to the invention comprises two distinct steps. Pre-personalization and post-personalization of the card.
La pré-personnalisation est exécutée par une machine de personnalisation installée dans une usine de fabrication de cartes et comprend notamment un
chargement dans la carte de données nécessaires à la post-personnalisation de la carte.The pre-customization is performed by a personalization machine installed in a card manufacturing plant and includes in particular a loading into the data card necessary for post-personalization of the card.
La post-personnalisation de la carte est exécutée par la carte après sa délivrance à un utilisateur de la carte et lors d'une liaison de la carte à un terminal. La post-personnalisation consiste à rendre fonctionnelle la carte en terminant sa personnalisation.Post-personalization of the card is executed by the card after it has been issued to a user of the card and when the card is linked to a terminal. Post-customization is to make the card functional by completing its customization.
Comme montré à la figure 1, un dispositif de pré-personnalisation de carte à puce, lors de la fabrication de la carte, comprend une machine de personnalisation MP pour pré-personnaliser N cartes à puce, la machine communiquant avec au moins une carte à puce CPn, l'indice n étant compris entre 1 et N. Dans la machine de personnalisation MP et la carte à puce CPn sont seulement représentés des blocs fonctionnels dont la plupart assurent des fonctions ayant un lien avec l'invention et peuvent correspondre à des modules logiciels et/ou matériels.As shown in FIG. 1, a smart card pre-personalization device, during the manufacture of the card, comprises a personalization machine MP for pre-customizing N smart cards, the machine communicating with at least one card chip CP n, the index n is between 1 and N. in PD personalization machine and the smart card CP n shows only functional blocks, most of which provide functions linked to the invention and can match to software and / or hardware modules.
La carte à puce CPn, dite également carte à microcontrôleur ou carte à circuit intégré, constitue un module d'identité d'usager du type UICC (Universal Integrated Circuit Card) amovible d'un terminal T. La carte à puce est par exemple une carte munie d'une application SIM (Subscriber Identity Module) lorsque le terminal est un mobile du type GSM ou GPRS, ou d'une application USIM (Universal Subscriber Identity Module) , RUIM (Removable User Identity Module) ou ISIM (IP Subscriber Identity Module) lorsque le terminal est un mobile fonctionnant en accès multiple à répartition par codes CDMA (Coded Division Multiple Access) de la troisième génération (3GPP) du type UMTS (Universal Mobile Télécommunications System) ou
UTRAN (UMTS Terrestrial Radio Access Network) , ou de la troisième génération (3GPP2) du type CDMA 2000.The smart card CP n , also called microcontroller card or integrated circuit card, constitutes a user identity module of the UICC type (Universal Integrated Circuit Card) removable from a terminal T. The smart card is for example a card provided with a Subscriber Identity Module (SIM) application when the terminal is a GSM or GPRS type mobile, or a Universal Subscriber Identity Module (USIM) application, a Removable User Identity Module (RUIM) or an IP Subscriber (ISIM) Identity Module) when the terminal is a mobile operating in third generation (3GPP) coded Division Multiple Access (CDMA) multiple access (UMTS) type UMTS (Universal Mobile Telecommunications System) or UTRAN (Terrestrial Radio Access Network UMTS), or the third generation (3GPP2) of the CDMA 2000 type.
Plus généralement, la carte à puce CPn est un objet électronique portable tel qu'une carte de débit ou crédit, un porte-monnaie électronique, une clé USBMore generally, the smart card CP n is a portable electronic object such as a debit or credit card, an electronic purse, a USB key
(Universal Sériai Bus) , une carte MMC (Multi-Media(Universal Serial Bus), an MMC card (Multi-Media
Card) , une carte SD (Secure Digital) , une carte à puce additionnelle ou tout autre dispositif électronique petit ou miniature. La carte à puce CPn comprend principalement sous forme intégrée un ou plusieurs microprocesseurs PC, une mémoire non réinscriptible Ml du type ROM ou Flash, une mémoire non volatile M2 du type EEPROM ou Flash et une mémoire M3 du type RAM ou SRAM servant plus particulièrement au traitement de données. La carte CPn communique, avec ou sans contact, avec la machine de personnalisation MP à travers un port d'entrée/sortie PES et un lecteur LM de la machine MP. Les différents éléments de la carte sont reliés entre eux par un bus bidirectionnel BC.Card), an SD (Secure Digital) card, an additional smart card, or any other small or miniature electronic device. The smart card CP n mainly comprises, in integrated form, one or more PC microprocessors, a non-rewritable memory M1 of the ROM or Flash type, a non-volatile memory M2 of the EEPROM or Flash type, and a memory M3 of the RAM or SRAM type serving more particularly data processing. The card CP n communicates with or without contact, with the MP personalization machine through a PES input / output port and a LM drive the MP machine. The different elements of the card are connected to each other by a bidirectional bus BC.
Avant la pré-personnalisation de la carte à puce par la machine de personnalisation MP, les mémoires Ml à M3 de la carte sont vides.Before pre-customization of the smart card by the personalization machine MP, the memories M1 to M3 of the card are empty.
La machine de personnalisation MP comprend un processeur PM, un gestionnaire de prépersonnalisation GM pour charger des données de personnalisation dans la carte à puce CPn, des mémoires MM et le lecteur LM pour communiquer avec la carte à puce à travers le port d'entrée/sortie PES de la carte à puce CPn. Les différents éléments de la machine de personnalisation MP sont reliés entre eux par un bus bidirectionnel BM.The personalization machine MP comprises a PM processor, a GM pre-customization manager to load personalization data into the smart card CP n , MM memories and the reader LM to communicate with the smart card through the input port / PES output of the smart card CP n . The different elements of the personalization machine MP are interconnected by a bidirectional bus BM.
Les mémoires MM dans la machine de personnalisation MP contiennent notamment des données
de post-personnalisation à charger par le gestionnaire de pré-personnalisation GM dans la carte CPn lors de la pré-personnalisation. Les données de post-personnalisation comprennent principalement un système d'exploitation OS de carte à puce, un script de démarrage SDM, une application de postpersonnalisation AP, un statut de personnalisation ST, J listes d'opérations de personnalisation LOPi à LOPj et F descriptifs d'opération de personnalisation DOPi à DOPp. Les données de post-personnalisation peuvent également comprendre une application de connexion réseau ACR, N données d'identification de type IMSI (International Mobile Subscriber Identity) IMSIi à IMSIN et N données d' authentification Ki à KN respectivement pour les N cartes à puce à personnaliser, et un algorithme de chiffrement AC.The memories MM in the personalization machine MP contain in particular data post customization to be loaded by the pre-customization manager GM into the CP card n during the pre-customization. The post-personalization data mainly comprises a smart card operating system OS, an SDM startup script, an AP post-personalization application, an ST personalization status, J LOPi customization operation lists with LOPj and F descriptions. operation of customization DOPi to DOPp. The post-personalization data may also comprise an ACR network connection application, N IMSI (International Mobile Subscriber Identity) type identification data IMSIi to IMSIN and N authentication data Ki to KN respectively for the N chip cards. customize, and an AC encryption algorithm.
Selon une première réalisation, l'application de post-personnalisation AP est une application générique à charger dans toutes les cartes à puce lors de la pré-personnalisation. L'application AP est basée sur une liste d'opérations de personnalisation également chargée dans chaque carte au cours de la pré-personnalisation et est exécutée dans la carte après une liaison de celle-ci à un terminal lors de la post-personnalisation. .According to a first embodiment, the AP post-personalization application is a generic application to be loaded into all the smart cards during the pre-personalization. The AP application is based on a list of personalization operations also loaded in each card during the pre-customization and is executed in the card after a link thereof to a terminal during post-personalization. .
Chaque liste d'opérations de personnalisation LOPj dans les mémoires MM de la machine de personnalisation, avec 1 < j < J, correspond à une post-personnalisation spécifique d'au moins une carte à puce dans laquelle la liste est chargée. La liste d'opérations de personnalisation LOPj comprend par exemple I opérations de personnalisation OPi à OPi successives .
Selon une deuxième réalisation, les mémoires MM de la machine de personnalisation ne contiennent pas de listes d'opérations de personnalisation LOPi à LOPj, mais comprennent J applications de post- personnalisation. Chaque application concerne une post-personnalisation spécifique à au moins une carte à puce et comprend une succession d'opérations de personnalisation.Each list of personalization operations LOP j in the memories MM of the personalization machine, with 1 <j <J, corresponds to a specific post-personalization of at least one smart card in which the list is loaded. The list of personalization operations LOP j includes for example I OPi personalization operations to successive OPi. According to a second embodiment, the memories MM of the personalization machine do not contain lists of personalization operations LOPi to LOPj, but include J post-personalization applications. Each application relates to post-personalization specific to at least one smart card and includes a succession of personalization operations.
Chaque opération de personnalisation OPi contenue soit dans une liste d'opérations de personnalisation, soit dans une application de postpersonnalisation, avec 1 < i < I, comprend une suite d'instructions exécutée par l'application de post- personnalisation AP. Chaque opération de personnalisation OPi est associée à un descriptif d'opération DOPi et à un numéro d'identification i correspondant par exemple au rang de l'opération dans la liste d'opérations de personnalisation LOPj ou dans l'application de post-personnalisation.Each OPi customization operation contained either in a list of personalization operations or in a post-customization application, with 1 <i <I, comprises a sequence of instructions executed by the post-personalization application AP. Each personalization operation OPi is associated with a description of operation DOPi and an identification number i corresponding, for example, to the rank of the operation in the list of personalization operations LOP j or in the post-personalization application. .
Une opération de personnalisation est par exemple une initialisation d'une zone mémoire de la carte à puce à une valeur donnée ou déterminée, une exécution d'une application telle qu'une fonction de sécurité, ou un téléchargement depuis un serveur distant S d'un ensemble de données ou d'un code exécutable à stocker dans une mémoire de la carte à puce. En référence à ce dernier exemple, l'opération de personnalisation comprend une instruction d'activation pour activer une application de connexion réseau ACR chargée dans la carte afin que celle-ci se connecte au serveur distant S qui requiert une identité IMSIn de la carte et une clé d' authentification Kn également chargées dans la carte à puce.
Les F descriptifs d'opération de personnalisation DOPi à DOPp mémorisés dans les mémoires MM de la machine de personnalisation MP sont associés à F opérations de personnalisation distinctes les unes des autres, répertoriées dans l'ensemble des J listes d'opérations de personnalisation LOPi à LOPj selon la première réalisation, ou des J applications de post- personnalisation selon la deuxième réalisation.A personalization operation is for example an initialization of a memory zone of the smart card to a given or determined value, an execution of an application such as a security function, or a download from a remote server S d. a set of data or executable code to be stored in a memory of the smart card. Referring to this last example, the personalization operation includes an activation instruction for activating an ACR network connection application loaded in the card so that it connects to the remote server S which requires an IMSI identity n of the card and an authentication key K n also loaded in the smart card. The personalization operation description F's DOPi to DOPp memorized in the memories MM of the personalization machine MP are associated with F personalization operations that are distinct from one another and are listed in all the J lists of personalization operations LOP 1 to LOPj according to the first embodiment, or J post-personalization applications according to the second embodiment.
Chaque descriptif d'opération de personnalisation DOPf, avec 1 < f < F, contient principalement des paramètres POPf nécessaires à l'exécution de l'opération de personnalisation OPf. Quand l'opération de personnalisation OPf a été interrompue, le descriptif DOPf peut comprendre également une opération de remise en cohérence ORf pour remettre en cohérence la post-personnalisation avec l'état de la carte avant l'exécution de l'opération de personnalisation ce qui annule cette dernière, ou avec un état de fin d'opération de personnalisation assurant la continuité de la postpersonnalisation.Each personalization operation description DOP f , with 1 <f <F, contains mainly POP parameters f necessary to execute the personalization operation OP f . When the personalization operation OP f has been interrupted, the description DOP f may also include a coherence reconciliation operation OR f to bring the post-personalization coherence with the state of the card before the execution of the operation. of customization which cancels the latter, or with a state of end of personalization operation ensuring the continuity of post-customization.
Le statut de personnalisation ST indique l'état de la post-personnalisation d'une carte à puce à un instant donné. Le statut ST est lu par l'application de post-personnalisation à chaque liaison de la carte à puce à un terminal et indique quelle opération de personnalisation était en cours d'exécution avant une possible interruption de la post-personnalisation et si l'opération était terminée ou non. Le statut ST est composé de deux éléments STl et ST2. Le premier élément de statut STl inclut le numéro d'identification de l'opération de personnalisation
en cours d'exécution. Le deuxième élément de statut ST2 est par exemple un bit pour indiquer par l'état "1" que l'opération de personnalisation désignée par le premier élément de statut STl est terminée, et par l'état "0" que cette opération n'est pas terminée.The personalization status ST indicates the state of post-personalization of a smart card at a given time. The ST status is read by the post-personalization application on each link of the smart card to a terminal and indicates which personalization operation was running before a possible post-personalization interruption and whether the operation was finished or not. The ST status is composed of two elements ST1 and ST2. The first STl status element includes the identification number of the personalization operation running. The second status element ST2 is for example a bit to indicate by the state "1" that the personalization operation designated by the first status element ST1 is completed, and by the state "0" that this operation does not. is not over.
En variante, le statut ST dans la mémoire M2 comprend un nombre de bits respectivement associés aux opérations à exécuter. Le bit associé à une opération passe de l'état "0" à l'état "1" de manière irréversible lorsque l'opération associée est exécutée correctement.As a variant, the ST status in the memory M2 comprises a number of bits respectively associated with the operations to be executed. The bit associated with an operation changes from state "0" to state "1" irreversibly when the associated operation is executed correctly.
En référence aux figures 1 et 2 et selon la première réalisation de l'invention, la carte à puce CPn comprend principalement, après la fabrication et la pré-personnalisation, le système d'exploitation OS mémorisé et le script de démarrage SDM dans la mémoire Ml, l'application de post-personnalisation AP mémorisée dans les mémoires Ml et M2, une liste d'opérations de personnalisation LOPj et des descriptifs d'opération DOPi à DOPi associés aux opérations OPi à OPi de la liste LOPj dans la mémoire M2, et le statut de personnalisation ST dans la mémoire M2. La carte à puce peut comprendre dans les mémoires Ml et M2 l'application de connexion réseau ACR et dans la mémoire M2 une identité IMSIn de la carte, une clé d' authentification Kn et l'algorithme de chiffrement AC.Referring to Figures 1 and 2 and according to the first embodiment of the invention, the smart card CP n mainly comprises, after manufacture and pre-customization, the operating system OS stored and SDM startup script in the memory Ml, the AP post-personalization application stored in the memories Ml and M2, a list of LOP customization operations j and operation descriptions DOPi to DOPi associated with the operations OPi to OPi of the list LOP j in the M2 memory, and the personalization status ST in the memory M2. The smart card may comprise in the memories M1 and M2 the network connection application ACR and in the memory M2 an identity IMSI n of the card, an authentication key K n and the encryption algorithm AC.
En référence à la figure 2, un dispositif de post-personnalisation de carte, comprend un terminal T communiquant avec la carte à puce CPn prépersonnalisée et délivrée à un utilisateur final.
Le terminal T est inclus dans un réseau de télécommunications RT par exemple du type GSM, GPRS ou UMTS et peut communiquer avec un serveur distant S à travers le réseau RT pendant la post- personnalisation. Cette communication peut être initiée par une opération de personnalisation afin de télécharger des données et/ou codes de personnalisation pour rendre la carte à puce fonctionnelle. Les données et/ou codes de personnalisation peuvent être mémorisés dans une base de données BD connectée ou intégrée au serveur S.With reference to FIG. 2, a card post-personalization device comprises a terminal T communicating with the pre-personalized CP n card and delivered to an end user. The terminal T is included in a telecommunications network RT for example of the GSM, GPRS or UMTS type and can communicate with a remote server S through the network RT during post-personalization. This communication can be initiated by a personalization operation to download data and / or customization codes to make the smart card functional. The data and / or customization codes can be stored in a BD database connected to or integrated into the server S.
Selon d'autres exemples, le terminal T est remplacé par tout terminal avec lequel peut communiquer une carte à puce, et peut être un dispositif portable de transmission de message, ou un ordinateur personnel (PC) doté d'un lecteur de carte à puce, ou un terminal fixe comme un terminal bancaire accueillant une carte à puce de débit ou de crédit. Le réseau RT est alors par exemple un intranet, un réseau local sans fil, ou l' internet.According to other examples, the terminal T is replaced by any terminal with which can communicate a smart card, and can be a portable device for message transmission, or a personal computer (PC) with a smart card reader or a fixed terminal such as a bank terminal hosting a debit or credit chip card. The network RT is then for example an intranet, a wireless local area network, or the Internet.
Le terminal T contient un lecteur LT qui est connecté à un port d'entrée/sortie PES de la carte à puce CPn avec ou sans contact électrique.The terminal T contains a reader LT which is connected to an input / output port PES of the smart card CP n with or without electrical contact.
Outre le lecteur de carte à puce LT, le terminal T comprend classiquement une interface de réseau IT, un processeur PT et des mémoires MT. Les différents éléments du terminal sont reliés entre eux par un bus bidirectionnel BT.In addition to the smart card reader LT, the terminal T conventionally comprises an IT network interface, a PT processor and MT memories. The various elements of the terminal are interconnected by a bidirectional bus BT.
En référence à la figure 3 et selon la première réalisation de l'invention, le procédé de personnalisation d'une carte à puce CPn selon l'invention comprend deux étapes principales El et E2.
L'étape El est la pré-personnalisation de la carte à puce CPn par la machine de personnalisation MP lors de la fabrication de la carte en usine. Comme décrit précédemment, le gestionnaire de pré- personnalisation GM dans la machine MP charge dans la carte CPn le système d'exploitation OS, le script de démarrage SDM, l'application de post-personnalisation AP, une liste d'opérations de personnalisation LOPj, des descriptifs d'opération de personnalisation DOPi à DOPi associés aux opérations de personnalisation OPi à OPi contenues dans la liste LOPj et les éléments de statut STl et ST2 à une valeur par exemple nulle indiquant que la post-personnalisation n'est pas commencée. Le gestionnaire de pré-personnalisation GM de la machine de personnalisation MP peut également charger dans la carte CPn l'application de connexion réseau ACR, l'identité de la carte IMSIn, la clé d' authentification Kn et l'algorithme de chiffrement AC.With reference to FIG. 3 and according to the first embodiment of the invention, the personalization method of a smart card CP n according to the invention comprises two main stages E1 and E2. Step El is the pre-personalization of the smart card CP n by the personalization machine MP during the manufacture of the card at the factory. As previously described, the pre-customization manager GM in the MP machine loads the operating system OS, the boot script SDM, the post-personalization application AP, a list of personalization operations into the card CP n. LOP j , personalization operation descriptions DOPi to DOPi associated with the personalization operations OPi to OPi contained in the list LOP j and the status elements ST1 and ST2 to a value, for example zero, indicating that post-personalization is not possible. not started. The pre-customization manager GM of the personalization machine MP can also load in the card CP n the application of network connection ACR, the identity of the IMSI card n , the authentication key K n and the algorithm of AC encryption.
Selon la deuxième réalisation de l'invention, la machine MP ne charge pas une liste d'opérations de personnalisation, mais une application de postpersonnalisation spécifique comportant une succession d'opérations de personnalisation.According to the second embodiment of the invention, the MP machine does not load a list of personalization operations, but a specific post-personalization application comprising a succession of personalization operations.
L'étape E2 est la post-personnalisation de la carte à puce après une remise de la carte à un utilisateur et lors d'une liaison de la carte au terminal T. La post-personnalisation est déclenchée par activation de l'application de postpersonnalisation AP qui exécute successivement les opérations de personnalisation OPi à OPi comprises soit dans la liste des opérations de personnalisation LOPj, soit directement dans l'application AP. Tant que toutes les opérations de personnalisation ne sont
pas exécutées et terminées, la carte à puce n'est pas fonctionnelle .Step E2 is the post-personalization of the smart card after a delivery of the card to a user and during a link of the card to the terminal T. The post-personalization is triggered by activation of the post-personalization application AP which successively executes the customization operations OPi OPi included either in the list of personalization operations LOPj, or directly in the AP application. As long as not all customization operations are not executed and completed, the smart card is not functional.
L'algorithme du procédé de post-personnalisation est illustré à la figure 4 et comprend des étapes E20 à E30.The algorithm of the post-personalization process is illustrated in FIG. 4 and comprises steps E20 to E30.
L'indice "i" dans la figure 4 correspond au numéro d'identification de l'opération de personnalisation OPi en cours d'exécution. A la première liaison de la carte à puce au terminal T, l'indice i est à la valeur nulle et aucune opération de personnalisation chargée dans la carte n'est exécutée .The index "i" in FIG. 4 corresponds to the identification number of the running customization operation OPi. At the first link of the smart card to the terminal T, the index i is at zero and no personalization operation loaded in the card is executed.
A chaque liaison de la carte à puce au terminal T, à l'étape E20, le processeur PC exécute le script de démarrage SDM comportant une instruction pour activer l'application de post-personnalisation AP. L'application AP lit le statut de personnalisation ST afin de connaître l'état de la personnalisation de la carte puisque la post-personnalisation de la carte peut être interrompue à tout instant, par exemple par une extraction intempestive de la carte hors du lecteur LT du terminal .At each link of the smart card to the terminal T, in step E20, the processor PC executes the startup script SDM comprising an instruction for activating the AP post-personalization application. The application AP reads the personalization status ST in order to know the state of the personalization of the card since the post-customization of the card can be interrupted at any moment, for example by an inadvertent extraction of the card out of the reader LT of the terminal.
Si l'élément de statut STl, à l'étape E21, a une valeur nulle indiquant qu'aucune opération de personnalisation n'a été exécutée, l'application de post-personnalisation AP vérifie, à l'étape E25, si une opération de personnalisation OPi+i est à exécuter . Si, à l'étape E21, la valeur de l'élément de statut STl est égale à une valeur i non nulle indiquant qu'une opération de personnalisation a déjà été exécutée ou était en cours d'exécution lors d'une interruption, l'application de post-personnalisation AP lit le deuxième élément de statut ST2, à l'étape
E22, afin de connaître l'état d'exécution de l'opération de personnalisation OPi.If the status element ST1, in step E21, has a value of zero indicating that no personalization operation has been executed, the post-personalization application AP checks, in step E25, whether an operation OPi + i customization is to be executed. If, in step E21, the value of the status element ST1 is equal to a non-zero value i indicating that a personalization operation has already been executed or was running during an interruption, the post-personalization application AP reads the second element of status ST2, at step E22, in order to know the execution status of the OPi personalization operation.
Si l'exécution de l'opération de personnalisation OPi est terminée ce qui correspond à ST2 = "1", l'application de post-personnalisation AP vérifie à l'étape E25 si une opération de personnalisation suivante OPi+i est à exécuter.If the execution of the personalization operation OPi is completed which corresponds to ST2 = "1", the post-personalization application AP checks in step E25 whether a subsequent personalization operation OPi + i is to be executed.
Si, à l'étape E22, le deuxième élément de statut ST2 est à "0" et indique que l'opération OPi n'a pas été terminée lors d'une interruption de la postpersonnalisation, l'application de postpersonnalisation AP lit l'opération OPi dans la liste LOPj ou directement dans l'application, afin soit d'en déduire une opération de remise en cohérence ORi, soit de rechercher dans le descriptif DOPi associé à l'opération OPi l'opération de remise en cohérence ORi, pour remettre en cohérence tout ou partie de l'opération de personnalisation interrompue OPi et pour terminer ou permettre de ré-exécuter correctement cette opération de personnalisation interrompue OPi afin de continuer la postpersonnalisation. L'application de postpersonnalisation AP exécute l'opération de remise en cohérence ORi, à l'étape E23. A l'étape E24, l'application de postpersonnalisation AP modifie l'élément de statut ST2 à la valeur "1" qui, combiné avec la valeur "i" de l'élément de statut STl, indique que l'exécution de l'opération de personnalisation OPi est terminée. L'application de post-personnalisation vérifie, à l'étape E25, si une opération de personnalisation suivante 0Pi+i est à exécuter.If, in step E22, the second status element ST2 is "0" and indicates that the operation OPi has not been completed during an interruption of the post-customization, the post-personalization application AP reads the OPi operation in the LOP list j or directly in the application, in order to deduce a ORi consistency re-operation, or to search in the DOPi description associated with the OPi operation the ORi coherence operation, to bring all or part of the interrupted customization operation OPi back into coherence and to terminate or allow to correctly re-execute this interrupted personalization operation OPi in order to continue the post-customization. The post-personalization application AP executes the ORi reconciliation operation in step E23. In step E24, the post-personalization application AP modifies the status element ST2 to the value "1" which, combined with the value "i" of the status element ST1, indicates that the execution of the OPi customization operation is complete. The post-customization application checks, in step E25, whether a next customization operation 0Pi + i is to be executed.
Dans l'affirmative, l'application de postpersonnalisation pointe, à l'étape E26, sur la nouvelle opération 0Pi+i, associe la nouvelle valeur
i ≡ i + 1 à l'élément de statut STl et modifie l'élément de statut ST2 à "0" indiquant qu'une nouvelle opération OPi ≡ OPi+i est en cours d' exécution . A l'étape E27, l'application AP exécute l'opération de personnalisation OPi en fonction de ses paramètres de personnalisation POPi et inclus dans le descriptif associé DOPi.If so, the post-customization application points, in step E26, to the new operation 0Pi + i, associates the new value i ≡ i + 1 to the status element ST1 and changes the status element ST2 to "0" indicating that a new operation OPi ≡ OPi + i is being executed. In step E27, the application AP executes the personalization operation OPi according to its personalization parameters POPi and included in the associated description DOPi.
Puis à l'étape E28, l'application de post- personnalisation modifie l'élément de statut ST2 à la valeur "1" qui, combiné avec la valeur i de l'élément de statut STl, indique que l'exécution de l'opération de personnalisation OPi est terminée. L'application de post-personnalisation retourne à l'étape E25. Tant que toutes les opérations de personnalisation OPi à OPi n'ont pas été exécutées et terminées, l'application de post-personnalisation réitère l'exécution des étapes E26 à E28.Then in step E28, the post-personalization application modifies the status element ST2 to the value "1" which, combined with the value i of the status element ST1, indicates that the execution of the OPi customization operation is complete. The post-personalization application returns to step E25. As long as all the OPi to OPi customization operations have not been executed and completed, the post-personalization application repeats the execution of the steps E26 to E28.
Dès que toutes les opérations ont été exécutées et terminées, la personnalisation est complète et le processeur PC modifie, à l'étape E29, le script de démarrage SDM afin de ne plus lancer l'application de post-personnalisation AP à chaque liaison de la carte à puce CPn au terminal T. Le processeur PC supprime à l'étape E30, les données de post-personnalisation obsolètes telles que l'application de post-personnalisation AP, le statut ST, les descriptifs d'opération de personnalisation DOPi à DOPi et selon la première réalisation de l'invention la liste d'opérations de personnalisation LOPj .As soon as all the operations have been executed and completed, the customization is complete and the processor PC modifies, in step E29, the boot script SDM so as not to launch the AP post-personalization application at each link of the smart card CP n to the terminal T. the PC processor removes at step E30, obsolete post-personalization data such as the application of post-personalization AP, ST status, descriptions of Dopi customization operation DOPi and according to the first embodiment of the invention the list of personalization operations LOP j .
En variante, à chaque étape du procédé de postpersonnalisation, des conditions de sécurité, telles que la présence d'un secret, liées à la post- personnalisation sont vérifiées par la carte.
L'invention décrite ici concerne un procédé et un système de personnalisation de carte à puce. Selon une implémentation préférée, les étapes du procédé de 1 ' invention sont déterminées par les instructions d'un programme incorporé dans un système, pour partie dans une machine de personnalisation MP et pour partie dans une carte à puce CPn. Le programme comporte des instructions de programme qui, lorsque ledit programme est chargé et exécuté dans le système, dont le fonctionnement est alors commandé par l'exécution du programme, réalisent les étapes du procédé selon l'invention.Alternatively, at each step of the post-personalization process, security conditions, such as the presence of a secret, related to post-personalization are verified by the card. The invention described herein relates to a method and a personalization system of smart card. According to a preferred implementation, the steps of the method of the invention are determined by the instructions of a program incorporated in a system, partly in a personalization machine MP and partly in a smart card CP n . The program comprises program instructions which, when said program is loaded and executed in the system, whose operation is then controlled by the execution of the program, carry out the steps of the method according to the invention.
En conséquence, l'invention s'applique également à un programme, notamment un programme sur ou dans un support d'informations, adapté à mettre en œuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention.
Accordingly, the invention also applies to a program, including a program on or in an information carrier, adapted to implement the invention. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code such as in a partially compiled form, or in any other form desirable to implement the method according to the invention.