FR2786292A1 - Test and personalization of integrated circuits used in smart cards has memory accessible in reading to the test processor, a decoder, storage for personalization key and a device to encode - Google Patents
Test and personalization of integrated circuits used in smart cards has memory accessible in reading to the test processor, a decoder, storage for personalization key and a device to encode Download PDFInfo
- Publication number
- FR2786292A1 FR2786292A1 FR9815023A FR9815023A FR2786292A1 FR 2786292 A1 FR2786292 A1 FR 2786292A1 FR 9815023 A FR9815023 A FR 9815023A FR 9815023 A FR9815023 A FR 9815023A FR 2786292 A1 FR2786292 A1 FR 2786292A1
- Authority
- FR
- France
- Prior art keywords
- key
- personalization
- memory
- test
- central unit
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/355—Personalisation of cards for use
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/0806—Details of the card
- G07F7/0833—Card having specific functional components
- G07F7/084—Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
Description
SYSTEME DE TEST ET DE PERSONNALISATION
DE CIRCUITS INTEGRES
La présente invention concerne un système de test et de personnalisation de circuits intégrés, notamment de circuits intégrés pour cartes à puce. La présente invention concerne plus particulièrement un système de test comprenant une station de test et de personnalisation de circuits intégrés et un centralisateur de données de test et de personnalisation.TEST AND CUSTOMIZATION SYSTEM
INTEGRATED CIRCUITS
The present invention relates to a test and personalization system for integrated circuits, in particular integrated circuits for smart cards. The present invention relates more particularly to a test system comprising a test and personalization station for integrated circuits and a centralizer for test and personalization data.
La fabrication de cartes à puce et de façon plus générale la fabrication d'objets portatifs comportant une puce électronique est un processus complexe comprenant diverses étapes, parmi lesquelles on distingue : -une étape de fabrication collective de circuits intégrés sur une plaquette mère de silicium ("wafer"), -une étape de test électrique des circuits intégrés, -une première étape de personnalisation des circuits intégrés, -une étape de découpe de la plaquette de silicium, -une étape d'insertion sur un support des circuits intégrés individualisés, appelée étape d'encartage dans le cas de cartes à puce, -une deuxième étape de personnalisation des circuits intégrés, -éventuellement, une troisième et dernière étape de personnalisation des circuits intégrés, réalisée par le client (donneur d'ordre) avant la mise sur le marché des objets portatifs électroniques. The manufacture of smart cards and more generally the manufacture of portable objects comprising an electronic chip is a complex process comprising various stages, among which a distinction is made: a stage of collective manufacture of integrated circuits on a silicon wafer ( "wafer"), -an electrical test step of the integrated circuits, -a first step of customizing the integrated circuits, -a step of cutting the silicon wafer, -a step of insertion on a support of the individualized integrated circuits, called inserting step in the case of smart cards, -a second step of personalizing the integrated circuits,-possibly, a third and last step of personalizing the integrated circuits, carried out by the client (client) before placing on the market for portable electronic objects.
A la sortie de la chaîne de fabrication, les étapes de test et de première personnalisation des circuits intégrés sont réalisées simultanément, au moyen d'un système de test et de personnalisation du type représenté sur la figure 1, comprenant une station de test TST1 connectée par l'intermédiaire d'un réseau informatique NTWK à un centralisateur TCT de données de test et de personnalisation. At the end of the production line, the stages of testing and first personalization of the integrated circuits are carried out simultaneously, by means of a test and personalization system of the type shown in FIG. 1, comprising a connected TST1 test station via an NTWK computer network to a TCT centralizer for test and personalization data.
Un objectif général de la présente invention est de perfectionner un tel système, dont on rappellera la structure et le fonctionnement avant d'en décrire les inconvénients. A general objective of the present invention is to improve such a system, the structure and operation of which will be recalled before describing the drawbacks thereof.
De façon classique, la station de test TST1 comprend une unité centrale CPU1 et un processeur de test TPR. Le processeur TPR est connecté à une pluralité de circuits intégrés IC présents sur une plaquette de silicium, par l'intermédiaire d'une carte à pointes PCB et d'un circuit d'interface WFG assurant la mise en forme des signaux électriques appliqués aux circuits intégrés. Sur la figure 1, un seul circuit intégré IC est représenté pour des raisons de simplicité. On voit que le circuit intégré IC comprend une unité centrale ICPU, une mémoire vive RAM, une mémoire morte ROM (programmée au stade de la fabrication) et une mémoire EEPROM programmable et effaçable électriquement. Conventionally, the test station TST1 comprises a central unit CPU1 and a test processor TPR. The TPR processor is connected to a plurality of integrated circuits IC present on a silicon wafer, via a PCB tip card and a WFG interface circuit ensuring the shaping of the electrical signals applied to the circuits. integrated. In Figure 1, a single integrated circuit IC is shown for the sake of simplicity. It can be seen that the integrated circuit IC comprises a central unit ICPU, a random access memory RAM, a read-only memory ROM (programmed at the manufacturing stage) and an electrically erasable programmable EEPROM memory.
L'unité centrale CPU1, connectée au réseau, est équipée d'une unité HDl de stockage de données dans laquelle est enregistré un programme de test TPGa, et d'une mémoire MEM de type RAM pouvant tre lue par le processeur de test TPR, dans laquelle sont chargées des données d'application DTa. Par ailleurs, le processeur de test TPR est équipé d'une mémoire programme VMEM dans laquelle se trouve un programme de test VPGa, composé de vecteurs de test et formant le système d'exploitation ("Operating
System") du processeur de test. Le programme VPGa est extrait du programme TPGa par l'unité CPU1 et est chargé par cette dernière dans la mémoire VMEM.The central unit CPU1, connected to the network, is equipped with a unit HD1 for storing data in which a test program TPGa is recorded, and a memory MEM of RAM type which can be read by the test processor TPR, in which DTa application data are loaded. In addition, the TPR test processor is equipped with a VMEM program memory in which there is a VPGa test program, composed of test vectors and forming the operating system ("Operating
System ") of the test processor. The program VPGa is extracted from the program TPGa by the unit CPU1 and is loaded by the latter into the memory VMEM.
Le programme TPGa et les données DTa sont fournis par le centralisateur TCT, via le réseau, sur réception d'une requte de l'unité CPU1 spécifiant l'application et le type de circuit intégré devant tre testé et personnalisé. Par "application", on désigne la destination finale des circuits intégrés IC, c'est-à-dire l'usage auquel ils sont destinés. Les données DTa sont par exemple des séquences de programme, des variables, des codes... spécifiques à l'application visée, devant tre chargés dans la mémoire
EEPROM des circuits intégrés. Du côté du centralisateur
TCT, on trouve ainsi une unité centrale CPU2 connectée au réseau, et des unités de stockage HD2, HD3 comprenant respectivement un ensemble DT de données d'application DTa, et un ensemble TPG de programmes de test TPGa.The program TPGa and the data DTa are supplied by the centralizer TCT, via the network, on receipt of a request from the unit CPU1 specifying the application and the type of integrated circuit to be tested and personalized. By "application" is meant the final destination of the integrated circuits IC, that is to say the use for which they are intended. The DTa data are for example program sequences, variables, codes, etc. specific to the intended application, which must be loaded into the memory.
EEPROM of integrated circuits. On the centralizer side
TCT, there is thus a central unit CPU2 connected to the network, and storage units HD2, HD3 respectively comprising a set DT of application data DTa, and a set TPG of test programs TPGa.
L'étape de première personnalisation des circuits intégrés citée plus haut est réalisée par le processeur TPR parallèlement au test électrique des circuits intégrés. The first stage of personalization of the integrated circuits mentioned above is carried out by the TPR processor in parallel with the electrical test of the integrated circuits.
Cette étape consiste à enregistrer dans la mémoire EEPROM de chaque circuit intégré : -les données d'application DTa, communes à tous les circuits intégrés d'un mme lot, un lot représentant généralement une ou plusieurs plaquettes de silicium, soit plusieurs centaines ou milliers de circuits intégrés destinés à la mme application, -une donnée de personnalisation PDk, par exemple une donnée aléatoire ou un numéro de série calculé à partir de divers paramètres comme la date et l'heure du test, le numéro de série du lot, le numéro de la station de test, un numéro de circuit intégré...This step consists in recording in the EEPROM memory of each integrated circuit: the application data DTa, common to all the integrated circuits of the same batch, a batch generally representing one or more silicon wafers, ie several hundreds or thousands of integrated circuits intended for the same application, -a personalization data PDk, for example a random data or a serial number calculated from various parameters such as the date and time of the test, the serial number of the batch, the test station number, integrated circuit number ...
-un code de personnalisation PCkdu type PCk = FPKa (PDk), obtenu par codage de la donnée de personnalisation PDk au moyen d'une fonction FpKa de cryptographie utilisant comme clé de cryptographie une clé PKa dite"clé de personnalisation".a personalization code PCk of the type PCk = FPKa (PDk), obtained by coding the personalization data PDk by means of a cryptography function FpKa using as key cryptography a key PKa called "personalization key".
De façon classique, les données de personnalisation
PDk sont délivrées par le processeur de test TPR alors que le calcul du code PCk, pour chaque donnée de personnalisation PDk, est assuré par un convertisseur BBX fourni par le client, comprenant des fonctions de cryptographie. Il s'agit généralement d'un micro-ordinateur sans écran ni clavier connecté à l'unité CPU1 par une liaison série SL. Le convertisseur BBX est connecté à un lecteur RD de carte à puce dans lequel est introduit une carte CRDa choisie, en fonction de l'application visée, parmi un ensemble de cartes CRDi fournies par le client. La carte CRDa comprend une clé de personnalisation PKa et peut également comprendre tout ou partie des fonctions de cryptographie utilisées par le convertisseur BBX.Typically, personalization data
PDk are issued by the TPR test processor while the PCk code calculation, for each PDk personalization data, is ensured by a BBX converter supplied by the client, including cryptography functions. It is generally a microcomputer without screen or keyboard connected to the CPU1 unit by a serial link SL. The BBX converter is connected to a smart card reader RD into which is introduced a CRDa card chosen, depending on the intended application, from a set of CRDi cards supplied by the customer. The CRDa card includes a PKa personalization key and can also include all or part of the cryptography functions used by the BBX converter.
Ainsi, l'étape de personnalisation proprement dite est précédée d'une étape préparatoire au cours de laquelle le processeur TPR délivre N données de personnalisation PDk pour N circuits intégrés IC présents sur une plaquette de silicium,"k"étant un indice allant de 1 à N. Les données
PDk sont chargées dans la mémoire MEM puis sont lues par l'unité CPU1 qui les envoie au convertisseur BBX en spécifiant l'application visée pour le lot de circuits intégrés à personnaliser. Le convertisseur BBX calcule les codes PCk et les renvoie à l'unité CPU1 qui les enregistre dans la mémoire MEM.Thus, the personalization stage proper is preceded by a preparatory stage during which the TPR processor delivers N personalization data PDk for N integrated circuits IC present on a silicon wafer, "k" being an index ranging from 1 to N. The data
PDk are loaded into the memory MEM then are read by the unit CPU1 which sends them to the converter BBX by specifying the application intended for the batch of integrated circuits to be personalized. The converter BBX calculates the codes PCk and sends them back to the unit CPU1 which stores them in the memory MEM.
Au terme de l'étape préparatoire, la mémoire MEM comprend les données d'application DTa et une table comprenant N couples PDk/PCk de données PDk et de codes PCk. At the end of the preparatory step, the memory MEM comprises the application data DTa and a table comprising N pairs PDk / PCk of data PDk and codes PCk.
Le processeur TPR peut alors commencer à tester les circuits intégrés, et charge dans la mémoire EEPROM de chaque circuit intégré testé les données communes DTa, une donnée de personnalisation PDket le code correspondant PCk.The processor TPR can then begin to test the integrated circuits, and loads into the EEPROM memory of each integrated circuit tested the common data DTa, a personalization data PDket the corresponding code PCk.
Comme on l'a évoqué plus haut, un tel système de test et de personnalisation présente divers inconvénients. D'une part, en raison des importants volumes de fabrication de circuits intégrés, il est habituel qu'un grand nombre de stations de test TST1, TST2, TST3... TSTn soit connecté au mme réseau. Bien que ces stations soient disposées dans des locaux à accès contrôlé, de nombreuses personnes sont amenées à les utiliser et l'on peut considérer que les conditions de sécurité ne sont pas optimales. Notamment, les données d'application DTa, les données de personnalisation PDk et les codes de personnalisation PCk stockés provisoirement dans la mémoire MEM sont des données confidentielles exposées à un risque de piratage informatique par violation de l'intégrité de l'unité CPU depuis le réseau. As mentioned above, such a test and personalization system has various drawbacks. On the one hand, due to the large manufacturing volumes of integrated circuits, it is usual for a large number of test stations TST1, TST2, TST3 ... TSTn to be connected to the same network. Although these stations are located in premises with controlled access, many people are led to use them and it can be considered that the security conditions are not optimal. In particular, the application data DTa, the personalization data PDk and the personalization codes PCk temporarily stored in the memory MEM are confidential data exposed to a risk of computer hacking by violation of the integrity of the CPU unit from the network.
Ainsi, un premier objectif de la présente invention est d'améliorer la sécurité d'une station de test connectée à un réseau informatique. Thus, a first objective of the present invention is to improve the security of a test station connected to a computer network.
D'autre part, le calcul des codes de personnalisation
PCk par un convertisseur fourni par le client est un aspect peu pratique des systèmes de test et de personnalisation classiques, qui nécessitent autant de convertisseurs que de stations de test et autant de convertisseurs par station de test que de clients, ce qui représente un parc important de convertisseurs et implique divers problèmes de maintenance.On the other hand, the calculation of personalization codes
PCk by a customer-supplied converter is an impractical aspect of conventional test and personalization systems, which require as many converters as test stations and as many converters per test station as customers, which represents a large fleet converters and involves various maintenance issues.
De plus, une plaquette de silicium comprenant plusieurs centaines de circuits intégrés, le calcul d'un nombre élevé de codes de personnalisation par le convertisseur nécessite généralement un temps assez long, de l'ordre de plusieurs minutes, soit une attente non négligeable avant d'engager l'opération de test et de personnalisation proprement dite.In addition, a silicon wafer comprising several hundred integrated circuits, the calculation of a high number of personalization codes by the converter generally requires a fairly long time, of the order of several minutes, or a significant wait before d '' initiate the actual test and personalization operation.
Ainsi, un autre objectif de la présente invention est de prévoir un système de test et de personnalisation de circuits intégrés qui soit plus simple et plus rationnel que les systèmes connus tout en étant plus rapide et plus sûr. Thus, another objective of the present invention is to provide a test and personalization system for integrated circuits which is simpler and more rational than known systems while being faster and safer.
Ces objectifs sont atteints par la prévision d'une station de test et de personnalisation comprenant une unité centrale susceptible d'tre connectée par l'intermédiaire d'un réseau informatique à un centralisateur de données, un processeur de test et de personnalisation de circuits intégrés agencé pour enregistrer dans au moins un circuit intégré une donnée de personnalisation et un code de personnalisation, le code de personnalisation étant fonction de la donnée de personnalisation et d'une clé de personnalisation, une mémoire accessible en lecture au processeur de test et inaccessible en lecture à l'unité centrale, des moyens pour décoder, au moyen d'une clé de décodage inaccessible à l'unité centrale, au moins une clé de personnalisation reçue sous une forme codée par l'intermédiaire du réseau, des moyens de stockage de la clé de personnalisation, inaccessibles en lecture à l'unité centrale, des moyens pour coder au moyen de la clé de personnalisation une donnée de personnalisation, et délivrer un code de personnalisation inaccessible à l'unité centrale, et des moyens pour enregistrer le code de personnalisation dans la mémoire. These objectives are achieved by providing a test and personalization station comprising a central unit capable of being connected via a computer network to a data centralizer, a test and personalization processor for integrated circuits. arranged to record in at least one integrated circuit personalization data and a personalization code, the personalization code being a function of the personalization data and of a personalization key, a memory accessible in reading to the test processor and inaccessible by reading at the central unit, means for decoding, by means of a decoding key inaccessible to the central unit, at least one personalization key received in coded form via the network, storage means for the personalization key, inaccessible for reading from the central unit, means for coding by means of the personalization key n personalization data, and deliver a personalization code inaccessible to the central unit, and means for recording the personalization code in the memory.
Selon un mode de réalisation, le processeur de test est agencé pour enregistrer dans un circuit intégré des données d'application reçues par l'intermédiaire du réseau, et la station comprend des moyens pour décoder, au moyen d'une clé de décodage inaccessible à l'unité centrale, des données d'application reçues sous une forme codée, et enregistrer les données d'application dans la mémoire, la sortie des moyens pour décoder les données d'application étant inaccessible à l'unité centrale. According to one embodiment, the test processor is arranged to record in an integrated circuit application data received via the network, and the station comprises means for decoding, by means of a decoding key inaccessible to the central unit, application data received in coded form, and recording the application data in the memory, the output of the means for decoding the application data being inaccessible to the central unit.
Selon un mode de réalisation, la station comprend des moyens pour délivrer une clé de session destinée à tre utilisée comme clé de codage de données envoyées à la station, et des moyens pour envoyer la clé de session sur le réseau. According to one embodiment, the station comprises means for delivering a session key intended to be used as a coding key for data sent to the station, and means for sending the session key over the network.
Selon un mode de réalisation, la clé de session est une clé privée et la station comprend des moyens pour coder la clé de session au moyen d'une clé d'ouverture de session, et envoyer la clé de session codée sur le réseau, et des moyens de stockage de la clé de session inaccessibles en lecture à l'unité centrale. According to one embodiment, the session key is a private key and the station comprises means for coding the session key using a logon key, and sending the coded session key over the network, and means for storing the session key which cannot be read from the central unit.
Selon un mode de réalisation, la station comprend une mémoire de clés inaccessible à l'unité centrale, comprenant une pluralité de clés d'ouverture de session préenregistrées, des moyens pour sélectionner et lire une clé d'ouverture de session dans la mémoire de clés en fonction d'un paramètre de sélection, et des moyens pour envoyer sur le réseau le paramètre de sélection de la clé d'ouverture de session. According to one embodiment, the station comprises a key memory inaccessible to the central unit, comprising a plurality of prerecorded logon keys, means for selecting and reading a logon key from the key memory according to a selection parameter, and means for sending the selection parameter of the logon key over the network.
La présente invention concerne également un centralisateur de données de test et de personnalisation de circuits intégrés, comprenant une unité centrale susceptible d'tre connectée par l'intermédiaire d'un réseau informatique à au moins une station de test et de personnalisation de circuits intégrés, des moyens pour lire sur un support de données au moins une clé de personnalisation de circuits intégrés, et des moyens de stockage de la clé de personnalisation. The present invention also relates to a centralizer for test and personalization data for integrated circuits, comprising a central unit capable of being connected via a computer network to at least one test and personalization station for integrated circuits, means for reading at least one personalization key for integrated circuits on a data carrier, and means for storing the personalization key.
Selon un mode de réalisation, le centralisateur comprend des moyens pour coder une clé de personnalisation au moyen d'une clé de session et envoyer la clé de personnalisation codée sur le réseau. According to one embodiment, the centralizer comprises means for coding a personalization key using a session key and sending the coded personalization key over the network.
Selon un mode de réalisation, la clé de session est une clé privée et le centralisateur comprend des moyens de stockage de la clé de session inaccessibles en lecture à l'unité centrale. According to one embodiment, the session key is a private key and the centralizer comprises means for storing the session key which are inaccessible for reading from the central unit.
Selon un mode de réalisation, le centralisateur comprend une première mémoire de clés inaccessible à l'unité centrale, des moyens pour enregistrer dans la première mémoire de clés une pluralité de clés de personnalisation de circuits intégrés délivrée par les moyens de lecture d'un support de données, des moyens pour sélectionner et lire une clé de personnalisation dans la première mémoire. According to one embodiment, the centralizer comprises a first key memory inaccessible to the central unit, means for recording in the first key memory a plurality of personalization keys for integrated circuits delivered by the means for reading a medium. data, means for selecting and reading a personalization key in the first memory.
Selon un mode de réalisation, le centralisateur comprend une deuxième mémoire de clés inaccessible à l'unité centrale, comprenant une pluralité de clés d'ouverture de session préenregistrées, des moyens pour sélectionner et lire une clé d'ouverture de session dans la deuxième mémoire de clés en fonction d'un paramètre de sélection, et des moyens pour décoder, au moyen d'une clé d'ouverture de session, une clé de session reçue sous une forme codée par l'unité centrale. According to one embodiment, the centralizer comprises a second key memory inaccessible to the central unit, comprising a plurality of prerecorded logon keys, means for selecting and reading a logon key from the second memory keys as a function of a selection parameter, and means for decoding, by means of a logon key, a session key received in an encoded form by the central unit.
Ces caractéristiques et les avantages de la présente invention seront exposés plus en détail dans la description suivante d'un système de test comprenant une station de test et un centralisateur de données selon l'invention, en relation avec les figures jointes parmi lesquelles :
-la figure 1 précédemment décrite représente sous forme de blocs l'architecture générale d'un système de test classique,
-la figure 2 représente sous forme de blocs l'architecture d'un système de test selon l'invention, comprenant un centralisateur de données et une station de test et de personnalisation,
-la figure 3 représente à titre non limitatif un exemple de réalisation de deux circuits représentés sous forme de bloc en figure 2, et
-la figure 4 représente à titre non limitatif un exemple de réalisation de deux autres circuits représentés sous forme de bloc en figure 2.These characteristics and the advantages of the present invention will be explained in more detail in the following description of a test system comprising a test station and a data centralizer according to the invention, in relation to the attached figures among which:
FIG. 1 previously described represents in the form of blocks the general architecture of a conventional test system,
FIG. 2 represents in the form of blocks the architecture of a test system according to the invention, comprising a data centralizer and a test and personalization station,
FIG. 3 represents a non-limiting example of an embodiment of two circuits represented in the form of a block in FIG. 2, and
FIG. 4 represents a non-limiting example of an embodiment of two other circuits represented in the form of a block in FIG. 2.
La figure 2 représente l'architecture générale d'un système de test et de personnalisation selon l'invention, comprenant une station de test sécurisée STST reliée par un réseau informatique NTWK à un centralisateur sécurisé STCT. FIG. 2 represents the general architecture of a test and personalization system according to the invention, comprising a secure test station STST connected by a computer network NTWK to a secure centralizer STCT.
On retrouve dans la station STST des éléments déjà décrits au préambule, désignés par les mmes références, à savoir une unité centrale CPU1, une unité HD1 de stockage d'un programme de test TPGa fourni par le centralisateur STCT, un processeur de test TPR, une mémoire programme VMEM dans laquelle sont chargés des vecteurs de test VPGa, une interface électrique WFG et une carte à pointes PCB permettant d'accéder à des circuits intégrés IC présents sur une plaquette de silicium. De mme, on retrouve dans le centralisateur STCT une unité centrale CPU2, une unité HD2 de stockage d'un ensemble DT de données d'application DTa, et une unité HD3 de stockage d'un ensemble TPG de programmes de test TPGa. We find in the station STST elements already described in the preamble, designated by the same references, namely a central unit CPU1, an HD1 unit for storing a test program TPGa supplied by the centralizer STCT, a test processor TPR, a VMEM program memory into which are loaded VPGa test vectors, an electrical interface WFG and a PCB tip card allowing access to integrated circuits IC present on a silicon wafer. Likewise, there is in the centralizer STCT a central unit CPU2, a unit HD2 for storing a set DT of application data DTa, and a unit HD3 for storing a set TPG of test programs TPGa.
Selon l'invention, la station STST comprend une mémoire sécurisée SMEM de type RAM, inaccessible en lecture à l'unité CPU1 mais accessible en lecture au processeur
TPR. Cette mémoire SMEM est accessible en écriture au processeur TPR par l'intermédiaire d'un circuit tampon BUF1 comprenant un circuit codeur CD1 de type cryptographique, utilisant comme clé de cryptographie la clé de personnalisation PKa déjà décrite au préambule, stockée dans un registre KREG1 inaccessible à l'unité CPUl. Le codeur CDl est par exemple un circuit de cryptographie à clé privée du type"3DES", apte à transformer une donnée de personnalisation PDk délivrée par le processeur TPR en un code de personnalisation PCk du type :
PCk = FpKa (PDk)
A la sortie du codeur CD1, le code PCk est enregistré dans la mémoire SMEM et peut ensuite tre lu par le processeur TPR. Le codeur CD1 remplace ainsi avantageusement les convertisseurs classiques connectés à l'unité CPU1 par une liaison série, qui nécessitent, avant le démarrage du processus de test et de personnalisation, l'élaboration d'une table contenant des données de personnalisation PDket des codes de personnalisation PCk.According to the invention, the station STST comprises a secure memory SMEM of RAM type, inaccessible for reading from the CPU1 unit but accessible for reading from the processor
TPR. This memory SMEM is write-accessible to the processor TPR via a buffer circuit BUF1 comprising an encoder circuit CD1 of the cryptographic type, using as personalization key the personalization key PKa already described in the preamble, stored in an inaccessible register KREG1 to the CPUl unit. The coder CD1 is for example a cryptography circuit with a private key of the "3DES" type, capable of transforming personalization data PDk delivered by the TPR processor into a personalization code PCk of the type:
PCk = FpKa (PDk)
At the output of the encoder CD1, the code PCk is recorded in the memory SMEM and can then be read by the processor TPR. The coder CD1 thus advantageously replaces the conventional converters connected to the unit CPU1 by a serial link, which require, before the start of the test and personalization process, the development of a table containing personalization data PDket of the codes PCk customization.
De plus, l'agencement du codeur CD1 à l'entrée de la mémoire SMEM permet la détermination en temps réel d'un code de personnalisation PCk, pendant le test d'un circuit intégré. Ainsi, selon un mode de réalisation préféré de l'invention, le processeur TPR envoie au codeur CD1 une donnée PDk de personnalisation d'un circuit intégré au moment où le circuit intégré va tre testé, lit le code PCk correspondant dans la mémoire SMEM lorsque le test du circuit intégré est terminé, et enregistre la donnée PDk et le code PCk dans le circuit intégré avant de commencer le test du circuit intégré suivant. Si plusieurs circuits intégrés sont testés simultanément, le processeur TPR envoie plusieurs données de personnalisation les unes après les autres au codeur CD1,-pendant le test des circuits intégrés. Grâce à ce mode de fonctionnement en temps réel, le temps d'élaboration des codes de personnalisation PCk recouvre les périodes de test et n'entraîne aucune attente ni perte de temps. Ainsi, en pratique, l'utilisation d'un codeur 3DES présentant un temps de calcul de l'ordre de 50 à 80 ms permet de tester 24 circuits intégrés simultanément tout en calculant 24 codes de personnalisation PCk. De plus, les codes PCk stockés temporairement dans la mémoire
SMEM sont inaccessibles à l'unité CPUl, de sorte qu'une violation de l'unité CPU1 depuis le réseau ne peut permettre d'accéder à ces codes.In addition, the arrangement of the encoder CD1 at the input of the memory SMEM allows the determination in real time of a personalization code PCk, during the test of an integrated circuit. Thus, according to a preferred embodiment of the invention, the processor TPR sends to the coder CD1 a datum PDk for personalizing an integrated circuit when the integrated circuit is to be tested, reads the corresponding code PCk in the memory SMEM when the integrated circuit test is completed, and stores the data PDk and the PCk code in the integrated circuit before starting the next integrated circuit test. If several integrated circuits are tested simultaneously, the TPR processor sends several personalization data one after the other to the encoder CD1, during the test of the integrated circuits. Thanks to this real-time operating mode, the time for developing PCk personalization codes covers the test periods and does not cause any waiting or loss of time. Thus, in practice, the use of a 3DES coder having a calculation time of the order of 50 to 80 ms makes it possible to test 24 integrated circuits simultaneously while calculating 24 personalization codes PCk. In addition, the PCk codes temporarily stored in the memory
SMEM are inaccessible to the CPU1 unit, so that a violation of the CPU1 unit from the network cannot allow access to these codes.
Par ailleurs, selon un aspect optionnel mais avantageux de la présente invention, la clé de personnalisation PKa est envoyée par le centralisateur STCT sous une forme codée par une clé de session RK, au lieu d'etre fournie par un lecteur de carte à puce comme dans l'art antérieur (Cf. fig. 1). Par"clé de session"RK, on désigne ici une clé de cryptographie détenue par la station
STST et le centralisateur STCT, permettant de transférer des données sur le réseau de façon sécurisée au cours d'une session, c'est-à-dire une connexion informatique entre les deux éléments. Ainsi, selon cet aspect de l'invention, le circuit BUF1 comprend un circuit de décodage DCD2, par exemple un décodeur"3DES", utilisant comme clé de décodage la clé de session RK stockée dans un registre KREG2 inaccessible à l'unité CPU1. L'unité CPU1 reçoit via le réseau la clé de personnalisation PKa sous la forme codée suivante : et transfère la clé PKa codée à l'entrée du décodeur DCD2, dont la sortie est connectée à l'entrée du registre KREG1. Furthermore, according to an optional but advantageous aspect of the present invention, the personalization key PKa is sent by the centralizer STCT in a form coded by a session key RK, instead of being supplied by a smart card reader as in the prior art (see fig. 1). By "session key" RK, here is meant a cryptography key held by the station
STST and the STCT centralizer, making it possible to transfer data over the network in a secure manner during a session, that is to say a computer connection between the two elements. Thus, according to this aspect of the invention, the circuit BUF1 comprises a decoding circuit DCD2, for example a "3DES" decoder, using as decoding key the session key RK stored in a register KREG2 inaccessible to the unit CPU1. The CPU1 unit receives via the network the PKa personalization key in the following coded form: and transfers the coded PKa key to the input of the DCD2 decoder, the output of which is connected to the input of the KREG1 register.
La clé PKa, une fois décodée, est stockée dans le registre
KREG1.The PKa key, once decoded, is stored in the registry
KREG1.
Par ailleurs, selon encore un autre aspect optionnel mais avantageux de la présente invention, les données d'application DTa envoyées par le centralisateur STCT sont codées au moyen de la clé de session RK, et sont enregistrées dans la mémoire SMEM au lieu d'etre enregistrées dans une mémoire accessible à l'unité CPU1. Furthermore, according to yet another optional but advantageous aspect of the present invention, the application data DTa sent by the centralizer STCT are coded by means of the session key RK, and are recorded in the memory SMEM instead of being stored in a memory accessible to the CPU1 unit.
Dans ce cas, l'unité CPU1 envoie les données DTa codées à l'entrée du décodeur DCD2 et la sortie du décodeur DCD2 est appliquée à l'entrée de la mémoire SMEM, pour l'enregistrement des données DTa décodées. Ainsi, ici, la mémoire SMEM est utilisée à la fois comme tampon de données pour le stockage temporaire des codes de personnalisation
PCk, et comme moyen de transfert de données DTa entre l'unité CPU1 et le processeur TPR.In this case, the unit CPU1 sends the encoded data DTa to the input of the decoder DCD2 and the output of the decoder DCD2 is applied to the input of the memory SMEM, for the recording of the decoded data DTa. Thus, here, the SMEM memory is used both as a data buffer for the temporary storage of the personalization codes
PCk, and as a means of transferring data DTa between the unit CPU1 and the processor TPR.
La figure 3 représente à titre non limitatif un exemple de réalisation du circuit tampon BUF1 mettant en oeuvre les trois aspects de l'invention décrits ci-dessus. FIG. 3 represents a non-limiting example of an embodiment of the buffer circuit BUF1 implementing the three aspects of the invention described above.
Le circuit BUF1 comporte une entrée de données INDT et une entrée de commande INCMD connectées à l'unité CPU1 et au processeur TPR. Le chemin de données à l'intérieur du circuit BUF1 est contrôlé par des interrupteurs Il, 12, I3 du type multiplexeur ou démultiplexeur, ayant une entrée E et deux sorties Sl, S2 ou deux entrées El, E2 et une sortie S. Les divers éléments du circuit BUF1 sont pilotés par un séquenceur SEQ1 synchronisé par un signal d'horloge H, recevant des commandes CMD par l'intermédiaire de l'entrée INCMD. Ces commandes, du type [CoP, ADR], comprennent un code opération Cop et une adresse ADR. Le séquenceur délivre un signal SI de commande des interrupteurs, un signal SEL de sélection de la mémoire
SMEM ou d'un registre KREG1, KREG2, un signal R/W de lecture/écriture de la mémoire SMEM ou d'écriture d'un registre KREG1, KREG2, ainsi qu'une adresse d'écriture ou de lecture ADR. Les interrupteurs Il à I3 sont agencés pour assurer les connexions suivantes : -la connexion de l'entrée INDT à l'entrée du codeur CD1 et la connexion de la sortie du codeur CD1 à l'entrée de la mémoire SMEM, pour la transformation d'une donnée PDk en un code PCk et l'enregistrement de ce dernier dans la mémoire
SMEM, -la connexion de l'entrée INDT à l'entrée du décodeur DCD2 et la connexion de la sortie du décodeur DCD2 à l'entrée du registre KREG1, pour le décodage et le stockage de la clé de personnalisation PKa, -la connexion de l'entrée INDT à l'entrée du décodeur DCD2 et la connexion de la sortie du décodeur DCD2 à l'entrée de la mémoire SMEM, pour le décodage et le stockage des données DTa.The circuit BUF1 has a data input INDT and a control input INCMD connected to the unit CPU1 and to the processor TPR. The data path inside the circuit BUF1 is controlled by switches Il, 12, I3 of the multiplexer or demultiplexer type, having an input E and two outputs Sl, S2 or two inputs El, E2 and an output S. The various elements of the circuit BUF1 are controlled by a sequencer SEQ1 synchronized by a clock signal H, receiving commands CMD via the input INCMD. These commands, of the type [CoP, ADR], include a Cop operation code and an ADR address. The sequencer delivers a switch control signal SI, a memory selection signal SEL
SMEM or of a register KREG1, KREG2, an R / W signal for reading / writing from the memory SMEM or writing of a register KREG1, KREG2, as well as a write or read address ADR. The switches Il to I3 are arranged to ensure the following connections: the connection of the input INDT to the input of the encoder CD1 and the connection of the output of the encoder CD1 to the input of the memory SMEM, for the transformation of '' PDk data into a PCk code and saving it in memory
SMEM, -connection of the input INDT to the input of the DCD2 decoder and the connection of the output of the DCD2 decoder to the input of the KREG1 register, for the decoding and storage of the PKa personalization key, -the connection from the input INDT to the input of the decoder DCD2 and the connection of the output of the decoder DCD2 to the input of the memory SMEM, for the decoding and the storage of the data DTa.
Par ailleurs, comme illustré par la figure 2, le centralisateur STCT est équipé d'un lecteur RD de carte à puce du type agencé dans l'art antérieur à proximité des stations de test (Cf. fig. 1). Selon l'invention, on insère successivement dans le lecteur RD diverses cartes CRD fournies par un ou plusieurs clients, contenant chacune une clé de personnalisation PKi. Les clés de personnalisation
PKi délivrées par les cartes CRDi sont stockées dans une mémoire de clés KMEM inaccessible en lecture à l'unité
CPU2. La mémoire KMEM est agencée dans un circuit tampon
BUF2 comportant un codeur CD10 utilisant comme clé de cryptographie la clé de session RK mentionnée plus haut, stockée dans un registre KREG10. La sortie de la mémoire
KMEM est envoyée à l'entrée du codeur CD10, et la sortie du codeur CD10 forme la sortie du circuit BUF2.Furthermore, as illustrated in FIG. 2, the STCT centralizer is equipped with a smart card reader RD of the type arranged in the prior art near the test stations (cf. fig. 1). According to the invention, various CRD cards supplied by one or more customers are successively inserted into the RD reader, each containing a PKi personalization key. Personalization keys
PKi delivered by CRDi cards are stored in a KMEM key memory which cannot be read individually
CPU2. KMEM memory is arranged in a buffer circuit
BUF2 comprising an encoder CD10 using as cryptographic key the session key RK mentioned above, stored in a register KREG10. Memory output
KMEM is sent to the input of the CD10 encoder, and the output of the CD10 encoder forms the output of the BUF2 circuit.
Ainsi, selon l'invention, une pluralité de clés de personnalisation PKi est stockée dans la mémoire KMEM. Thus, according to the invention, a plurality of personalization keys PKi is stored in the KMEM memory.
Lorsqu'une station de test souhaite disposer d'une clé particulière PKa pour la personnalisation d'un lot de circuits intégrés, la clé PKa demandée est sélectionnée par l'unité CPU1 dans la mémoire KMEM. L'unité CPU1 reçoit la clé PKa par l'intermédiaire du codeur CD10, c'est-à-dire sous une forme codée par la clé de session RK, et l'envoie sur le réseau sous cette forme. Au niveau de la station de test, la clé PKa est décodée par le circuit BUF1 selon l'invention, comme décrit plus haut. Ainsi, un espionnage du réseau ou une violation de l'unité CPU2 ne peut permettre d'accéder à la clé de personnalisation PKa, ainsi qu'aux autres clés PKi stockées dans la mémoire KMEM. De plus, des clés de personnalisation PKi peuvent tre envoyées à un nombre illimité de stations de test connectées au centralisateur via le réseau. En définitive, un tel agencement du lecteur RD en combinaison avec la suppression des convertisseurs classiques au niveau des stations de test simplifie considérablement le système selon l'invention, et résout les problèmes de maintenance rencontrés dans l'art antérieur tout en offrant une sécurité optimale contre une éventuelle tentative de violation du système.When a test station wishes to have a particular PKa key for the personalization of a batch of integrated circuits, the requested PKa key is selected by the unit CPU1 in the memory KMEM. The unit CPU1 receives the key PKa via the encoder CD10, that is to say in a form coded by the session key RK, and sends it over the network in this form. At the test station, the key PKa is decoded by the circuit BUF1 according to the invention, as described above. Thus, a spy on the network or a violation of the CPU2 unit cannot allow access to the personalization key PKa, as well as to the other PKi keys stored in the memory KMEM. In addition, PKi personalization keys can be sent to an unlimited number of test stations connected to the centralizer via the network. Ultimately, such an arrangement of the RD reader in combination with the elimination of conventional converters at the level of the test stations considerably simplifies the system according to the invention, and solves the maintenance problems encountered in the prior art while offering optimum security. against a possible attempt to breach the system.
Par ailleurs, de façon optionnelle mais avantageuse, les données d'application DTa sélectionnées dans l'unité
HD2 sont également envoyées à l'unité CPU2 par l'intermédiaire du codeur CD10, et transitent sur le réseau de façon sécurisée.Furthermore, optionally but advantageously, the application data DTa selected in the unit
HD2 are also sent to the CPU2 unit via the CD10 encoder, and transit over the network in a secure manner.
La figure 4 illustre à titre non limitatif un exemple de réalisation du circuit BUF2, dans lequel les clés de personnalisation PKi délivrées par le lecteur RD sont stockées dans la mémoire KMEM sous une forme codée, pour des raisons de sécurité. Le circuit BUF2 comprend une entrée de données INDT1 connectée au lecteur RD, non accessible à l'unité CPU2, une entrée hardware de données
INHR non accessible à l'unité CPU2, une entrée de données
INDT2 connectée à l'unité HD2 et à l'unité CPU2, une sortie
OUT connectée à l'unité CPU2 et une entrée de commande
INCMD également connectée à l'unité CPU2. Le circuit BUF2 comprend également un codeur CD11 et un décodeur DCD12 utilisant comme clé de codage ou de décodage une clé maître
MK1 stockée dans un registre KREG11, accessible en écriture par l'entrée INHR. Le chemin de données à l'intérieur du circuit BUF2 est contrôlé par divers interrupteurs multiplexeurs ou démultiplexeurs I10 à 115. Les divers éléments du circuit BUF2 sont pilotés par un séquenceur
SEQ2, recevant de l'unité CPU2 un signal d'horloge H et des commandes CMD du type [Cop, ADR], comprenant un code opération et une adresse. Le séquenceur SEQ2 délivre un signal SEL de sélection de l'un des registres KREG10, KREG11 ou de la mémoire KMEM, un signal R/W d'écriture des registres KREG10, KREG11 ou de lecture/écriture de la mémoire KMEM, un signal SI de commande des interrupteurs
I10 à 115, et une adresse ADR de lecture ou d'écriture. Les interrupteurs I10 à 115 sont agencés pour assurer les connexions suivantes : -la connexion de l'entrée INDT1 à l'entrée du codeur CD11 et la connexion de la sortie du codeur CD11 à l'entrée de la mémoire KMEM, pour le codage des clés de personnalisation PKi délivrées par le lecteur RD et leur chargement dans la mémoire KMEM, -la connexion de la sortie de la mémoire KMEM à l'entrée du décodeur DCD12 et la connexion de la sortie du décodeur
DCD12 à l'entrée du codeur CD10, pour la lecture d'une clé
PKa codée par la clé MK1 à une adresse ADRa de la mémoire
KMEM donnée par une commande CMD, le décodage de la clé PKa et son codage au moyen de la clé RK avant son envoi sur le réseau par l'intermédiaire de l'unité CPU2, et -la connexion de l'entrée INDT2 à l'entrée du codeur CD10, pour le codage au moyen de la clé RK des données d'application DTa délivrées par l'unité HD2, avant leur envoi sur le réseau par l'unité CPU2.FIG. 4 illustrates, without limitation, an exemplary embodiment of the circuit BUF2, in which the personalization keys PKi delivered by the reader RD are stored in the memory KMEM in an encoded form, for security reasons. The BUF2 circuit includes a data input INDT1 connected to the reader RD, not accessible to the unit CPU2, a hardware data input
INHR not accessible to the CPU2 unit, a data entry
INDT2 connected to the HD2 unit and the CPU2 unit, one output
OUT connected to the CPU2 unit and a control input
INCMD also connected to the CPU2 unit. The BUF2 circuit also includes a CD11 coder and a DCD12 decoder using a master key as the coding or decoding key.
MK1 stored in a register KREG11, accessible in writing by the entry INHR. The data path inside the BUF2 circuit is controlled by various multiplexer or demultiplexer switches I10 to 115. The various elements of the BUF2 circuit are controlled by a sequencer
SEQ2, receiving from the CPU2 unit a clock signal H and CMD commands of the type [Cop, ADR], comprising an operation code and an address. The sequencer SEQ2 delivers a signal SEL for selecting one of the registers KREG10, KREG11 or from the memory KMEM, a signal R / W for writing the registers KREG10, KREG11 or for reading / writing from the memory KMEM, a signal SI switch control
I10 to 115, and an ADR address for reading or writing. The switches I10 to 115 are arranged to provide the following connections: the connection of the input INDT1 to the input of the encoder CD11 and the connection of the output of the encoder CD11 to the input of the memory KMEM, for the coding of the PKi personalization keys issued by the RD reader and their loading into the KMEM memory, the connection of the output of the KMEM memory to the input of the DCD12 decoder and the connection of the decoder output
DCD12 at the input of the CD10 encoder, for reading a key
PKa coded by the MK1 key to an ADRa address in the memory
KMEM given by a CMD command, the decoding of the PKa key and its coding by means of the RK key before it is sent to the network via the CPU2 unit, and the connection of the INDT2 input to the input of the encoder CD10, for the coding by means of the key RK of the application data DTa delivered by the unit HD2, before their sending on the network by the unit CPU2.
On décrira maintenant une méthode selon l'invention permettant à la station STST et au centralisateur STCT d'utiliser une clé de session commune RK, de valeur aléatoire, renouvelée à chaque nouvelle session. We will now describe a method according to the invention allowing the station STST and the centralizer STCT to use a common session key RK, of random value, renewed at each new session.
Selon l'invention, la station STST comprend un circuit d'initialisation de session INIT1 agencé pour générer une clé de session RK et délivrer cette clé sous une forme codée. L'unité CPU1 est agencée pour envoyer la clé de session RK codée au centralisateur, et le centralisateur STCT comprend un circuit d'initialisation
INIT2 agencé pour décoder la clé de session RK et la placer dans le registre KREG10. According to the invention, the station STST comprises a session initialization circuit INIT1 arranged to generate a session key RK and deliver this key in an encoded form. The unit CPU1 is arranged to send the coded session key RK to the centralizer, and the centralizer STCT includes an initialization circuit
INIT2 designed to decode the RK session key and place it in the KREG10 register.
Le circuit INIT1, représenté sur la figure 3, est piloté par le séquenceur SEQ1 du circuit BUF1 et comprend une entrée hardware INHR, une sortie OUT connectée à l'unité CPUl, une mémoire IMEM1 de type EEPROM, des codeurs
CD3 et CD5 et un décodeur DCD4. Le codeur CD3 et le décodeur DCD4 reçoivent une clé de codage ou de décodage stockée dans un registre KREG3, et le codeur CD5 reçoit une clé de codage stockée dans un registre KREG4. Le circuit
INIT1 comprend également un générateur de clé aléatoire
RGEN, dont la sortie est connectée aux entrées du registre
KREG2 et du codeur CD5. L'entrée INHR est connectée aux entrées du registre KREG3 et du codeur CD3. La sortie du codeur CD3 est connectée à l'entrée de la mémoire IMEM1 dont la sortie est connectée à l'entrée du décodeur DCD4.The circuit INIT1, shown in FIG. 3, is controlled by the sequencer SEQ1 of the circuit BUF1 and includes a hardware input INHR, an output OUT connected to the unit CPUl, a memory IMEM1 of the EEPROM type, encoders
CD3 and CD5 and a DCD4 decoder. The coder CD3 and the decoder DCD4 receive a coding or decoding key stored in a register KREG3, and the coder CD5 receives a coding key stored in a register KREG4. The circuit
INIT1 also includes a random key generator
RGEN, whose output is connected to the registry entries
KREG2 and the CD5 encoder. The INHR input is connected to the inputs of the KREG3 register and the CD3 encoder. The output of the encoder CD3 is connected to the input of the memory IMEM1, the output of which is connected to the input of the decoder DCD4.
La sortie du décodeur DCD4 est appliquée à l'entrée du registre KREG4. La sortie du codeur CD5 forme la sortie OUT du circuit INIT1.The output of the DCD4 decoder is applied to the input of the KREG4 register. The output of the encoder CD5 forms the output OUT of the circuit INIT1.
Avant d'tre mis en service, le circuit INIT1 est préalablement configuré depuis son entrée INHR, qui n'est pas accessible à l'unité CPU1. Cette étape consiste à charger dans le registre KREG3 une clé maître MK2, et à enregistrer dans la mémoire IMEM1, par l'intermédiaire du codeur CD3, une table de clés d'initialisation de session IKj comprenant par exemple"m"clés,"j"étant un indice allant de 1 à m. Les clés IKj sont ainsi stockées sous une forme codée par la clé maître MK2, ceci pour des raisons de sécurité. Before being put into service, the INIT1 circuit is previously configured from its INHR input, which is not accessible to the CPU1 unit. This step consists in loading into the register KREG3 a master key MK2, and in recording in the memory IMEM1, via the encoder CD3, a table of session initialization keys IKj comprising for example "m" keys, "j "being an index ranging from 1 to m. The IKj keys are thus stored in a form coded by the master key MK2, this for security reasons.
Lorsque l'unité CPU1 décide d'établir une communication avec le centralisateur STCT, par exemple pour demander 1'envoi d'un programme de test TPGa, de données d'application DTa et d'une clé de personnalisation PKa, l'unité CPU1 choisit de façon aléatoire une valeur"x" comprise entre 1 et m, et applique au séquenceur SEQ1 une commande du type [CINIT, ADRx], qui signifie :"initialiser une session avec une clé IKj=x d'adresse ADRx présente dans la mémoire IMEM1". Le séquenceur SEQ1 sélectionne alors la clé IKX dans la mémoire IMEM1, décode la clé IKX au moyen du décodeur DCD4 et la stocke dans le registre KREG4. When the unit CPU1 decides to establish a communication with the centralizer STCT, for example to request the sending of a test program TPGa, of application data DTa and of a personalization key PKa, the unit CPU1 randomly chooses a value "x" between 1 and m, and applies to the sequencer SEQ1 a command of the type [CINIT, ADRx], which means: "initialize a session with a key IKj = x of address ADRx present in the IMEM1 memory ". The sequencer SEQ1 then selects the key IKX in the memory IMEM1, decodes the key IKX by means of the decoder DCD4 and stores it in the register KREG4.
Ensuite, le séquenceur SEQ1 active le générateur aléatoire
RGEN qui délivre une clé de session RK. La clé RK est, d'une part, stockée dans le registre KREG2 du circuit BUF1 et, d'autre part, codée par le codeur CD5 au moyen de la clé d'ouverture de session IKx. La clé de session codée FIKX (RK) se retrouve sur la sortie OUT du circuit INIT1 et est lue par l'unité CPU1. L'unité CPU1 envoie au centralisateur STCT un message d'initialisation de session
IMESS du type :
IMESS = [INIT, FiKx (RK), ADRx] comprenant une demande d'initialisation de session INIT, la clé de session RK codée ainsi que l'adresse ADDx ou le paramètre"x"équivalent donnant le rang de la clé d'initialisation IKx dans la mémoire IMEM1.Then, the sequencer SEQ1 activates the random generator
RGEN which issues an RK session key. The key RK is, on the one hand, stored in the register KREG2 of the circuit BUF1 and, on the other hand, coded by the coder CD5 by means of the session opening key IKx. The FIKX coded session key (RK) is found on the OUT output of the circuit INIT1 and is read by the CPU1 unit. CPU1 sends a session initialization message to the STCT centralizer
IMESS of type:
IMESS = [INIT, FiKx (RK), ADRx] including an INIT session initialization request, the encoded RK session key as well as the ADDx address or equivalent "x" parameter giving the rank of the initialization key IKx in IMEM1 memory.
On voit maintenant en se référant à la figure 4 que le circuit INIT2 du centralisateur STCT comprend une mémoire IMEM2 semblable à la mémoire IMEM1, ainsi qu'un décodeur DCD13 recevant une clé de décodage contenue dans un registre KREG12. Avant la mise en service du circuit
INIT2, la mémoire IMEM2 est configurée au moyen de l'entrée
INHR du circuit BUF2. Des clés IKj d'initialisation de session, identiques aux clés IKj du circuit INIT1, sont envoyées sur l'entrée du codeur COD11 par l'intermédiaire de l'interrupteur Ill. La sortie du codeur CD11 est appliquée à l'entrée de la mémoire IMEM2 par l'intermédiaire de l'interrupteur I12. Au terme de l'opération, la mémoire IMEM2 contient la table de clés de session IKj déjà décrite, les clés IKj étant ici codées par la clé maître MK1.We now see with reference to FIG. 4 that the circuit INIT2 of the centralizer STCT comprises a memory IMEM2 similar to the memory IMEM1, as well as a decoder DCD13 receiving a decoding key contained in a register KREG12. Before commissioning the circuit
INIT2, IMEM2 memory is configured by means of the input
INHR of circuit BUF2. IKj session initialization keys, identical to the IKj keys of the circuit INIT1, are sent to the input of the coder COD11 via the switch Ill. The output of the encoder CD11 is applied to the input of the memory IMEM2 via the switch I12. At the end of the operation, the memory IMEM2 contains the session key table IKj already described, the keys IKj being here coded by the master key MK1.
Ainsi, lorsque l'unité CPU2 reçoit le message IMESS, elle envoie sur l'entrée INDT2 du circuit BUF2 la clé de session codée FIKX (RK) et applique au séquenceur SEQ2 une commande CMD du type [CINIT, ADRx], qui signifie :"décoder la valeur présentée sur l'entrée INDT au moyen de la clé
IKX de rang x". Le séquenceur sélectionne alors la clé codée IKx dans la mémoire IMEM2, connecte la sortie de la mémoire IMEM2 à l'entrée du décodeur DCD12 au moyen de l'interrupteur 113, connecte la sortie du décodeur DCD12 à l'entrée du registre KREG12 au moyen de l'interrupteur 114, et connecte l'entrée INDT2 du circuit BUF2 à l'entrée du décodeur DCD13, par l'intermédiaire des interrupteurs I10, 115. La sortie du décodeur DCD12 délivre la clé IKx qui est stockée dans le registre KREG12 du décodeur DCD13. Le décodeur DCD13 décode la clé de session codée FiKx (RK). La clé RK est stockée dans le registre KREG10, pour le codage ultérieur de la clé de personnalisation PKa et des données d'application DTa.Thus, when the unit CPU2 receives the message IMESS, it sends to the input INDT2 of the circuit BUF2 the coded session key FIKX (RK) and applies to the sequencer SEQ2 a CMD command of the type [CINIT, ADRx], which means: "decode the value presented on the INDT entry using the key
IKX of rank x ". The sequencer then selects the coded key IKx in the memory IMEM2, connects the output of the memory IMEM2 to the input of the decoder DCD12 by means of switch 113, connects the output of the decoder DCD12 to the input of the register KREG12 by means of the switch 114, and connects the input INDT2 of the circuit BUF2 to the input of the decoder DCD13, by means of the switches I10, 115. The output of the decoder DCD12 delivers the key IKx which is stored in the register KREG12 of the decoder DCD13 The decoder DCD13 decodes the coded session key FiKx (RK) The key RK is stored in the register KREG10, for the subsequent coding of the personalization key PKa and of the application data DTa .
Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes et modes de réalisation. Notamment, les codeurs ou décodeurs présents dans les circuits BUF1, BUF2, INIT1, INIT2 ont été présentés comme des éléments distincts pour faciliter la compréhension de l'invention. En pratique, il est envisageable de réaliser ces codeurs ou décodeurs au moyen d'un seul circuit codeur/décodeur agencé pour recevoir plusieurs clés de codage ou de décodage, sous réserve que les conditions de non-accessibilité des données à coder ou des clés de codage soient respectées. It will be clear to a person skilled in the art that the present invention is capable of various variants and embodiments. In particular, the coders or decoders present in the circuits BUF1, BUF2, INIT1, INIT2 have been presented as separate elements to facilitate understanding of the invention. In practice, it is conceivable to produce these coders or decoders by means of a single coder / decoder circuit arranged to receive several coding or decoding keys, provided that the conditions of non-accessibility of the data to be coded or of coding are respected.
D'autre part, on a proposé dans ce qui précède d'utiliser des circuits de cryptographie à clé privée du type"3DES"qui présentent l'avantage d'tre rapides. Il entre toutefois dans le cadre de l'invention de prévoir d'autres circuits de cryptographie, notamment des circuits à clé publique de type RSA. Dans ce cas, le transfert de données sécurisées sur le réseau ne nécessite pas la prévision d'une clé de session RK connue de la station et du centralisateur. Ainsi, selon un mode de réalisation, la station de test génère sa propre clé privée PRVK et fournit au centralisateur une clé publique PUBK qui fait office de clé de session RK. La clé publique PUBK permet au centralisateur de coder les données qu'il envoi sur le réseau. Seule la station, qui connaît la clé privée PRVK, peut décoder ces données. La clé privée PRVK est délivrée par un bloc de calcul de type RSA pour tre stockée dans le registre KREG2 (figures 2 et 3) est n'est pas accessible à l'unité centrale ni à l'utilisateur de la station de test. On the other hand, it has been proposed in the above to use cryptography circuits with a private key of the "3DES" type which have the advantage of being fast. However, it is within the scope of the invention to provide other cryptography circuits, in particular public key circuits of the RSA type. In this case, the transfer of secure data over the network does not require the provision of an RK session key known to the station and to the centralizer. Thus, according to one embodiment, the test station generates its own private key PRVK and provides the centralizer with a public key PUBK which acts as the session key RK. The PUBK public key allows the centralizer to encode the data it sends over the network. Only the station, which knows the private key PRVK, can decode this data. The private key PRVK is issued by an RSA type calculation block to be stored in the register KREG2 (FIGS. 2 and 3) and is not accessible to the central unit or to the user of the test station.
Dans ce cas, la station et le centralisateur fonctionnent en maître-esclave, le centralisateur ne connaissant pas la clé privée PRVK. Par ailleurs, selon une variante, la clé publique PUBK est utilisée pour coder les clés de personnalisation PKi stockées dans la mémoire KMEM, et fait office de clé maître MK1. Selon encore une autre variante, les clés de personnalisation PKi sont délivrées directement par les cartes CRDi sous une forme codée par la clé publique PUBK. Dans ce cas, la clé publique est préalablement communiquée au client ou est définie par une convention à prévoir avec le client. In this case, the station and the centralizer operate as master-slave, the centralizer not knowing the PRVK private key. Furthermore, according to a variant, the public key PUBK is used to encode the personalization keys PKi stored in the memory KMEM, and acts as the master key MK1. According to yet another variant, the personalization keys PKi are delivered directly by the cards CRDi in a form coded by the public key PUBK. In this case, the public key is previously communicated to the client or is defined by an agreement to be provided with the client.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9815023A FR2786292B1 (en) | 1998-11-24 | 1998-11-24 | INTEGRATED CIRCUIT TEST AND CUSTOMIZATION SYSTEM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9815023A FR2786292B1 (en) | 1998-11-24 | 1998-11-24 | INTEGRATED CIRCUIT TEST AND CUSTOMIZATION SYSTEM |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2786292A1 true FR2786292A1 (en) | 2000-05-26 |
FR2786292B1 FR2786292B1 (en) | 2000-12-29 |
Family
ID=9533325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9815023A Expired - Fee Related FR2786292B1 (en) | 1998-11-24 | 1998-11-24 | INTEGRATED CIRCUIT TEST AND CUSTOMIZATION SYSTEM |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2786292B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10123664A1 (en) * | 2001-05-15 | 2002-11-21 | Giesecke & Devrient Gmbh | Method for generating a signature code for a signature card uses a code-generating unit and a signature card to create a secrete code as well as a session code and encoded transmission of the generated code to the signature card. |
WO2003038769A1 (en) * | 2001-11-02 | 2003-05-08 | Activcard Ireland, Limited | A system and method for generating symmetric keys within a personal security device having minimal trust relationships |
FR2923631A1 (en) * | 2007-11-12 | 2009-05-15 | Datacard Corp | METHOD AND SYSTEM FOR CUSTOMIZING SMART OBJECTS |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0353530A1 (en) * | 1988-07-20 | 1990-02-07 | Siemens Aktiengesellschaft | Method for differentiating between electronic circuits with non-volatile memories |
FR2681165A1 (en) * | 1991-09-05 | 1993-03-12 | Gemplus Card Int | Process for transmitting confidential information between two chip cards |
WO1993007697A1 (en) * | 1991-09-30 | 1993-04-15 | Comvik Gsm Ab | Method for personalisation of an active card |
DE19720431A1 (en) * | 1997-05-15 | 1998-11-19 | Beta Research Ges Fuer Entwick | Device and method for personalizing chip cards |
-
1998
- 1998-11-24 FR FR9815023A patent/FR2786292B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0353530A1 (en) * | 1988-07-20 | 1990-02-07 | Siemens Aktiengesellschaft | Method for differentiating between electronic circuits with non-volatile memories |
FR2681165A1 (en) * | 1991-09-05 | 1993-03-12 | Gemplus Card Int | Process for transmitting confidential information between two chip cards |
WO1993007697A1 (en) * | 1991-09-30 | 1993-04-15 | Comvik Gsm Ab | Method for personalisation of an active card |
DE19720431A1 (en) * | 1997-05-15 | 1998-11-19 | Beta Research Ges Fuer Entwick | Device and method for personalizing chip cards |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10123664A1 (en) * | 2001-05-15 | 2002-11-21 | Giesecke & Devrient Gmbh | Method for generating a signature code for a signature card uses a code-generating unit and a signature card to create a secrete code as well as a session code and encoded transmission of the generated code to the signature card. |
WO2003038769A1 (en) * | 2001-11-02 | 2003-05-08 | Activcard Ireland, Limited | A system and method for generating symmetric keys within a personal security device having minimal trust relationships |
US6973191B2 (en) | 2001-11-02 | 2005-12-06 | Activcard | System and method for generating symmetric keys within a personal security device having minimal trust relationships |
FR2923631A1 (en) * | 2007-11-12 | 2009-05-15 | Datacard Corp | METHOD AND SYSTEM FOR CUSTOMIZING SMART OBJECTS |
WO2009063292A1 (en) * | 2007-11-12 | 2009-05-22 | Datacard Corporation | A method and a system for the customisation of smart objects |
Also Published As
Publication number | Publication date |
---|---|
FR2786292B1 (en) | 2000-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0253722B1 (en) | Method for diversifying a basic key and for authenticating a key worked out from a predetermined basic key and system for operation | |
FR2689264A1 (en) | Authentication method performed between an integrated circuit card and a terminal unit and system provided for this purpose. | |
FR2779850A1 (en) | METHOD AND SYSTEM FOR USING A MICROCIRCUIT CARD IN A PLURALITY OF APPLICATIONS | |
CA1300757C (en) | Portable electronic device meant to be used with a screen | |
WO1991017528A1 (en) | Process and device for effecting a transaction between a first and at least one second data medium and medium used for this purpose | |
CA2258149A1 (en) | Security procedure for controlling the transfer of value units in a chip card gaming system | |
EP0434551B1 (en) | Method of generating a pseudo-random number in a dataprocessing-system, and a system for carrying out the method | |
EP0089876A1 (en) | Method and device for the protection of software delivered by a supplyer to a user | |
FR2762119A1 (en) | SYSTEM OF TRANSFER OF DATA AND UNITS OF VALUE ON A NETWORK OF SLOT MACHINES | |
EP0104293A1 (en) | Device for loading and reading different chains of bistable circuits in a data processing system | |
FR2476851A1 (en) | METHODS AND APPARATUS FOR AUTOMATIC CONTROL OF ELECTRIC CIRCUITS | |
FR2492135A1 (en) | APPARATUS FOR DISTRIBUTING OBJECTS AND ACQUIRING SERVICES | |
EP2065857A2 (en) | Microprocessor card, telephone comprising such a card and method of executing a command on such a card | |
FR2757664A1 (en) | TERMINAL AND SELF-DIAGNOSIS OR MONITORING METHOD AND PORTABLE OBJECT USED IN SUCH A TERMINAL OR METHOD | |
EP2065858A2 (en) | Microprocessor card, telephone comprising such a card and method of executing a command on such a card | |
FR2663143A1 (en) | Portable electronic device | |
EP1359550A1 (en) | Regeneration of a secret number by using an identifier of an integrated circuit | |
FR2762683A1 (en) | TESTABLE CIRCUIT WITH LOW NUMBER OF PINS | |
FR2786292A1 (en) | Test and personalization of integrated circuits used in smart cards has memory accessible in reading to the test processor, a decoder, storage for personalization key and a device to encode | |
EP0310485A1 (en) | Successive credit balances recording method in an electronic memory, and system for putting said method into operation | |
FR2723794A1 (en) | MICROCOMPUTER COMPRISING AN EPROM MEMORY AND METHOD OF MANUFACTURING THE SAME | |
EP0881590A1 (en) | Communications protocol for asynchronous IC cards | |
FR2680262A1 (en) | Integrated circuits for chip card and multichip card using these circuits | |
FR2674647A1 (en) | Apparatus forming an electronic cheque-book for financial transactions and process for using such an apparatus | |
WO1988002899A1 (en) | Monitoring card for generating very long secret codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20090731 |