FR3042626A1 - METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY - Google Patents

METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY Download PDF

Info

Publication number
FR3042626A1
FR3042626A1 FR1559798A FR1559798A FR3042626A1 FR 3042626 A1 FR3042626 A1 FR 3042626A1 FR 1559798 A FR1559798 A FR 1559798A FR 1559798 A FR1559798 A FR 1559798A FR 3042626 A1 FR3042626 A1 FR 3042626A1
Authority
FR
France
Prior art keywords
integrated circuit
key
diversification
service
personal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1559798A
Other languages
French (fr)
Other versions
FR3042626B1 (en
Inventor
Pascal Poulen
Nathan Reboud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1559798A priority Critical patent/FR3042626B1/en
Publication of FR3042626A1 publication Critical patent/FR3042626A1/en
Application granted granted Critical
Publication of FR3042626B1 publication Critical patent/FR3042626B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Pour sécuriser l'accès à des services proposés dans un circuit intégré, l'invention prévoit de dériver une unique clé racine par deux opérations successives de dérivation. L'une des opérations de dérivation dérive la clé racine à partir d'un identifiant de service, afin de disposer de plusieurs clés pour un circuit, chacune étant spécifique à un service donnée. Par exemple, lors de la première diversification, la clé racine est diversifiée en une clé intermédiaire à partir d'une information unique associée à un service à accéder et à partir d'un identifiant de lot constitué d'une pluralité de circuit intégrés ; et, lors de la deuxième diversification, la clé intermédiaire ainsi obtenue est diversifiée en la clé personnelle à partir d'un numéro de série du circuit intégré. Une authentification à partir de la clé personnelle ainsi obtenue permet d'accéder au service souhaité, par exemple pour personnaliser le circuit intégré lors de sa production.To secure access to services offered in an integrated circuit, the invention provides for deriving a single root key by two successive derivation operations. One of the derivation operations derives the root key from a service identifier, in order to have several keys for a circuit, each of which is specific to a given service. For example, during the first diversification, the root key is diversified into an intermediate key from a unique information associated with a service to access and from a batch identifier consisting of a plurality of integrated circuits; and, during the second diversification, the intermediate key thus obtained is diversified into the personal key from a serial number of the integrated circuit. Authentication from the personal key thus obtained allows access to the desired service, for example to customize the integrated circuit during its production.

Description

DOMAINE DE L’INVENTIONFIELD OF THE INVENTION

La présente invention concerne le domaine des circuits intégrés électroniques et plus particulièrement un procédé et un système d'accès à des services mis en œuvre dans de tels circuits intégrés.The present invention relates to the field of electronic integrated circuits and more particularly to a method and a system for accessing services implemented in such integrated circuits.

CONTEXTE DE L’INVENTIONBACKGROUND OF THE INVENTION

Les circuits intégrés électroniques sont, de nos jours, mis en œuvre dans de nombreux dispositifs électroniques. On connaît notamment les circuits intégrés formant puce électronique de carte à puce, cartes mémoire, clé USB, etc.Electronic integrated circuits are nowadays implemented in many electronic devices. Particularly known are integrated circuits forming electronic chip chip card, memory cards, USB key, etc.

La fabrication d’un circuit intégré s’effectue généralement dans un premier site ou unité de fabrication (généralement une usine) où le circuit est élaboré sur une tranche de silicium (ou wafer). Puis lorsque celui-ci doit être personnalisé ou prépersonnalisé, cette opération est réalisée dans un deuxième site ou unité de personnalisation (ou plusieurs autres sites) où le circuit intégré ainsi élaboré est (pré)personnalisé par des données numériques eu égard aux fonctions qu'il devra remplir.The manufacture of an integrated circuit is generally carried out in a first site or manufacturing unit (usually a factory) where the circuit is developed on a silicon wafer (or wafer). Then when it has to be personalized or pre-personalized, this operation is performed in a second site or personalization unit (or several other sites) where the integrated circuit thus developed is (pre) personalized by digital data with regard to the functions that he will have to fill.

Dans la suite de ce document, le terme "personnalisation" sera généralement compris comme étant celui utilisé couramment par l'homme du métier dans l'industrie des cartes à microcircuit, ou tel que défini par W. Rankl et W. Effing dans le document "Smart Card Handbook, Second Edition, Ed. John Wiley & Sons, Ltd' de la façon suivante : "Le terme personnalisation, dans son sens le plus large, signifie que les données spécifiques à une carte ou à une personne sont entrées dans la carte. Ces données peuvent par exemple être un nom, une adresse, mais aussi des clefs associées à la carte. La seule chose qui importe est que ces données soient spécifiques à cette carte."In the rest of this document, the term "customization" will generally be understood as being that commonly used by those skilled in the microcircuit card industry, or as defined by W. Rankl and W. Effing in the document "Smart Card Handbook, Second Edition, Ed. John Wiley & Sons, Ltd" as follows: "The term personalization, in its broadest sense, means that card-specific or person-specific data has been entered into the map. This data can for example be a name, an address, but also keys associated with the card. The only thing that matters is that this data is specific to this card. "

Par extension, la pré-personnalisation des circuits intégrés consiste en des opérations similaires sauf que les données entrées dans ces circuits intégrés sont communes à un lot de circuits intégrés ou à un type d'entité (par exemple les cartes à puces). Il s'agit par exemple de données de configuration de programmes contenus dans une mémoire morte ROM qui visent à déterminer un comportement ou un fonctionnement commun à tous ces circuits intégrés du même lot ou du même type d'entité.By extension, the pre-customization of the integrated circuits consists of similar operations except that the data entered in these integrated circuits are common to a batch of integrated circuits or to a type of entity (for example, smart cards). This is for example program configuration data contained in a read-only memory ROM which aims to determine a behavior or operation common to all these integrated circuits of the same batch or the same type of entity.

Pour des raisons sécuritaires, les circuits intégrés, lorsqu'ils sortent des sites de fabrication, doivent contenir une clé dite de transport propre à chaque circuit intégré, afin de prévenir tout accès non souhaité aux mémoires, généralement EEPROM ("Electrically-Erasable Programmable Read-Only Memorÿ' ou mémoire morte effaçable électriquement et programmable), qu'ils contiennent. Cette clé de transport est alors utilisée lors d'un contrôle d'authentification préalable à la prépersonnalisation ou personnalisation du circuit intégré avec accès à ces mémoires. Cette clé de transport peut ainsi être vue comme étant une clé d'authentification.For security reasons, the integrated circuits, when they leave manufacturing sites, must contain a transport key specific to each integrated circuit, to prevent unwanted access to memories, usually EEPROM ("Electrically-Erasable Programmable Read -Only Memorÿ 'or electrically erasable and programmable read-only memory), they contain.This transport key is then used during an authentication control prior to pre-customization or customization of the integrated circuit with access to these memories. transport can be seen as an authentication key.

Une clé d’authentification peut également être utilisée pour accéder à d’autres services que ceux évoqués précédemment, à savoir les services de personnalisation ou pré-personnalisation des cartes.An authentication key can also be used to access other services than those mentioned above, namely personalization services or pre-personalization of cards.

Le brevet FR 2 960 327 décrit un procédé d’accès à un service dans un circuit intégré, qui comprend : une étape d'authentification, par un dispositif d'accès externe au circuit intégré, dudit circuit intégré en utilisant une clé personnelle d'authentification propre audit circuit intégré et mémorisée dans le circuit intégré, ladite clé personnelle d'authentification étant générée par une première diversification d'une clé racine en une clé intermédiaire, suivie d’une deuxième diversification de la clé intermédiaire en la clé personnelle d’authentification ; puis en cas d’authentification réussie, une étape d’accès au service dans le circuit intégré, et notamment à un service de personnalisation du circuit intégré.Patent FR 2 960 327 describes a method of accessing a service in an integrated circuit, which comprises: an authentication step, by an access device external to the integrated circuit, of said integrated circuit using a personal key of authentication inherent to said integrated circuit and stored in the integrated circuit, said personal authentication key being generated by a first diversification of a root key into an intermediate key, followed by a second diversification of the intermediate key into the personal key of authentication; then in the case of successful authentication, a service access step in the integrated circuit, including a personalization service of the integrated circuit.

Dans ce document, la première diversification permet de générer une clé intermédiaire commune à un lot de cartes, à partir d’un secret initial, la clé racine. L’usage de plusieurs clés intermédiaires par lots permet de garantir l’indépendance de la production vis-à-vis des lots : comme l’opération de dérivation n’est pas inversible, la divulgation d’une clé intermédiaire ou d’une clé personnelle de circuit ne compromet pas le secret dont elle est issue, à savoir le secret initial ou la clé intermédiaire commune à un lot.In this document, the first diversification allows to generate an intermediate key common to a lot of cards, from an initial secret, the root key. The use of several intermediate keys in batches makes it possible to guarantee the independence of the production with respect to the batches: as the derivation operation is not invertible, the disclosure of an intermediate key or a key personal circuit does not compromise the secret from which it originates, namely the initial secret or the intermediate key common to a lot.

La deuxième diversification permet de générer la clé personnelle d’authentification à partir d’un identifiant propre à chaque circuit pour un lot donné. Ce schéma de diversification en deux étapes est illustré en figure 1.The second diversification makes it possible to generate the personal authentication key from an identifier specific to each circuit for a given lot. This two-step diversification scheme is illustrated in Figure 1.

RESUME DE L’INVENTION L’approche proposée dans le document FR 2 960 327 ne tient pas compte de différents niveaux d’accès que l’on pourrait affecter à une pluralité de services qu’une carte ou puce peut proposer sur authentification.SUMMARY OF THE INVENTION The approach proposed in document FR 2 960 327 does not take into account different levels of access that could be assigned to a plurality of services that a card or chip can offer over authentication.

Les services peuvent regrouper différentes fonctionnalités ou fonctions disponibles dans une carte, notamment des fonctionnalités dégradées les unes par rapport aux autres (ajouts de fonctions de lecture et/ou écriture en mémoire). A titre d’exemple, différents services de personnalisation peuvent proposer d’agir différemment sur des mêmes paramètres de personnalisation (taille de mémoire disponible) ou d’agir sur des paramètres distincts de personnalisation (autorisation ou non d’écrire dans certaines parties de mémoire, etc.).The services can group various features or functions available in a card, including functions that are degraded relative to one another (additions of reading functions and / or writing in memory). For example, various personalization services may propose to act differently on the same personalization parameters (available memory size) or to act on distinct personalization parameters (authorization or not to write in certain parts of memory , etc.).

Utiliser la clé personnelle d’authentification obtenue dans le document FR 2 960 327 pour accéder à l’ensemble des services n’apparaît pas sécurisé, car on recherche classiquement à fournir différents droits d’accès. L’approche intuitive de prévoir une clé racine par service pour en dériver une clé personnelle d’authentification dédiée audit service pour chaque carte n’apparaît pas entièrement satisfaisante. Cette approche est illustrée schématiquement en figure 2 pour N services, et donc N clés racines (secrets initiaux).Using the personal authentication key obtained in the document FR 2 960 327 to access all the services does not appear secure, as it is conventionally sought to provide different access rights. The intuitive approach of providing a root key per service to derive a personal authentication key dedicated to said service for each card does not appear entirely satisfactory. This approach is illustrated schematically in Figure 2 for N services, and thus N key roots (initial secrets).

En effet, le nombre de références à des secrets initiaux qu’un module de sécurité matérielle HSM ("Hardware Security Modulé") pour circuits intégrés devrait gérer croît alors proportionnellement au nombre de services proposés, et augmente donc lorsque de nouveaux services sont proposés. Il en résulte un volume de gestion (transfert de clés, stockage, accès,...) qui peut être important.Indeed, the number of references to initial secrets that a hardware security module HSM (Hardware Security Modulated) for integrated circuits should manage then increases proportionally to the number of services offered, and therefore increases when new services are offered. This results in a management volume (key transfer, storage, access, ...) that can be important.

Afin d’améliorer cette situation, l’invention prévoit en outre que la première ou deuxième diversification comprend une opération de diversification de la clé racine ou intermédiaire à partir d'une information unique associée audit service à accéder.In order to improve this situation, the invention furthermore provides that the first or second diversification comprises a diversification operation of the root or intermediate key from a unique information associated with said service to be accessed.

Ainsi il est possible d’utiliser un seul secret initial (clé racine) pour aboutir à une pluralité de clés personnelles dédiées à une pluralité de services au sein d’un même circuit intégré. Le nombre de références à un secret initial peut ainsi être contrôlé et réduit.Thus it is possible to use a single initial secret (root key) to result in a plurality of personal keys dedicated to a plurality of services within the same integrated circuit. The number of references to an initial secret can thus be controlled and reduced.

Corrélativement, l’invention concerne également un système d’accès à un service dans un circuit intégré, comprenant un dispositif d’accès externe au circuit intégré, ledit dispositif d’accès comprenant des instructions de code qui lorsqu’elles sont exécutées par un processeur conduisent le dispositif d’accès à effectuer les étapes suivantes : une étape d'authentification dudit circuit intégré en utilisant une clé personnelle d'authentification propre audit circuit intégré et mémorisée dans le circuit intégré, ladite clé personnelle d'authentification étant générée par une première diversification d'une clé racine en une clé intermédiaire, suivie d’une deuxième diversification de la clé intermédiaire en la clé personnelle d’authentification ; en cas d’authentification réussie, une étape d’accès au service dans le circuit intégré ; caractérisé en ce que la première ou deuxième diversification comprend une opération de diversification de la clé racine ou intermédiaire à partir d'une information unique associée audit service à accéder.Correlatively, the invention also relates to a system for accessing a service in an integrated circuit, comprising an access device external to the integrated circuit, said access device comprising code instructions which, when executed by a processor cause the access device to perform the following steps: an authentication step of said integrated circuit using a personal authentication key specific to said integrated circuit and stored in the integrated circuit, said personal authentication key being generated by a first diversifying a root key into an intermediate key, followed by a second diversification of the intermediate key into the personal authentication key; in the case of successful authentication, a step of accessing the service in the integrated circuit; characterized in that the first or second diversification comprises a diversification operation of the root or intermediate key from a unique information associated with said service to access.

Le système présente des avantages similaires à ceux du procédé évoqué précédemment. En particulier, le système peut comprendre des moyens se rapportant aux caractéristiques du procédé exposées par la suite.The system has advantages similar to those of the method mentioned above. In particular, the system may include means relating to the process characteristics set forth later.

Des caractéristiques optionnelles du procédé selon l'invention sont par ailleurs définies dans les revendications dépendantes. Le système selon l’invention peut également comprendre des moyens configurés pour mettre en oeuvre ces caractéristiques optionnelles.Optional features of the method according to the invention are further defined in the dependent claims. The system according to the invention may also comprise means configured to implement these optional features.

Dans un mode de réalisation principal, l’opération de diversification à partir de ladite information unique associée audit service à accéder est incluse dans la première diversification diversifiant la clé racine en une clé intermédiaire. Cela permet d’obtenir simplement des clés intermédiaires dédiées à des services respectifs, à partir d’un unique secret initial.In a main embodiment, the diversification operation from said unique information associated with said service to be accessed is included in the first diversification diversifying the root key into an intermediate key. This makes it possible to simply obtain intermediate keys dedicated to respective services, from a single initial secret.

Bien entendu, une variante envisageable est celle où cette opération de diversification est réalisée lors de la deuxième diversification.Of course, a possible variant is that in which this diversification operation is carried out during the second diversification.

Dans un mode de réalisation particulier, la première diversification de la clé racine en la clé intermédiaire comprend, en outre, une opération de diversification de la clé racine à partir d'un identifiant de lot constitué d’une pluralité de circuit intégrés. Ainsi, une mise en œuvre de l’invention permet d’obtenir, par ladite première diversification, des clés intermédiaires dédiées à plusieurs services, pour un même lot de cartes. Cette disposition est particulièrement adaptée à un processus de production de circuits intégrés par lots, évitant de gérer plusieurs secrets initiaux.In a particular embodiment, the first diversification of the root key into the intermediate key further comprises an operation of diversification of the root key from a batch identifier consisting of a plurality of integrated circuits. Thus, an implementation of the invention makes it possible, by said first diversification, to obtain intermediate keys dedicated to several services, for the same set of cards. This arrangement is particularly suited to a batch integrated circuit production process, avoiding managing several initial secrets.

Selon une caractéristique particulière, l’identifiant de lot constitue une première sous-partie d’un numéro de série du circuit intégré. Selon le choix de la première sous-partie, cette disposition permet d'obtenir des clés intermédiaires opérationnelles pour un sous-ensemble des circuits intégrés fabriqués. On peut ainsi faire correspondre une clé intermédiaire à un tiers manipulant un sous-ensemble des circuits intégrés fabriqués pour un service donné. Ce tiers n'a ainsi aucune connaissance de la clé racine et/ou des autres clés intermédiaires qui sont opérationnelles pour des circuits intégrés qu'il ne manipule pas ainsi que de la clé racine et/ou des autres clés intermédiaires qui sont opérationnelles pour d’autres services.According to a particular characteristic, the batch identifier constitutes a first sub-part of a serial number of the integrated circuit. According to the choice of the first sub-part, this arrangement makes it possible to obtain operational intermediate keys for a subset of the integrated circuits manufactured. It is thus possible to match an intermediate key to a third party handling a subset of the integrated circuits manufactured for a given service. This third party thus has no knowledge of the root key and / or other intermediate keys that are operational for integrated circuits that it does not handle as well as the root key and / or other intermediate keys that are operational for d. 'other services.

Selon cette disposition, ladite première sous-partie du numéro de série est commune à une pluralité de circuits intégrés (formant le lot). Elle peut par exemple comprendre une information de numéro de lot de wafers ou de numéro de wafer sur lequel sont construits les circuits intégrés. Il s'agit ainsi d’un lot de circuits intégrés fabriqués ensembles.According to this arrangement, said first sub-part of the serial number is common to a plurality of integrated circuits (forming the batch). It may for example include wafer batch number information or wafer number on which the integrated circuits are constructed. This is a lot of integrated circuits manufactured together.

La clé intermédiaire générée correspond ainsi à ce lot de wafers ou à ce wafer particulier.The intermediate key generated corresponds to this batch of wafers or this particular wafer.

Selon une autre caractéristique particulière, la deuxième diversification diversifiant la clé intermédiaire en la clé personnelle comprend une opération de diversification de ladite clé intermédiaire à partir d'une deuxième sous-partie, distincte de la première sous-partie, du numéro de série du circuit intégré.According to another particular characteristic, the second diversification diversifying the intermediate key into the personal key comprises an operation of diversification of said intermediate key from a second subpart, distinct from the first sub-part, of the circuit serial number. integrated.

En particulier, ladite deuxième sous-partie du numéro de série identifie le circuit intégré à l'intérieur du lot de circuits intégrés identifié par ladite première sous-partie. Il peut par exemple s'agir de la position du circuit intégré sur un wafer ou dans un lot de wafers. On peut ainsi, par diversification d’une clé, individualiser la clé d'authentification pour chaque circuit intégré fabriqué.In particular, said second sub-part of the serial number identifies the integrated circuit within the integrated circuit package identified by said first sub-part. It can for example be the position of the integrated circuit on a wafer or in a batch of wafers. One can thus, by diversification of a key, individualize the authentication key for each integrated circuit manufactured.

Notamment, lesdites première et deuxième sous-parties du numéro de série sont complémentaires dans ledit numéro de série unique, c’est-à-dire qu’elles forment à elles deux (en concaténation par exemple) l’ensemble du numéro de série unique.In particular, said first and second sub-parts of the serial number are complementary in said unique serial number, that is to say that they form together (in concatenation for example) the entire single serial number .

En appliquant ces diverses particularités, un système conforme à l’invention peut ainsi être configuré pour, lors de la première diversification, diversifier la clé racine en une clé intermédiaire à partir de ladite information unique associée audit service à accéder et à partir d'un identifiant de lot constitué d’une pluralité de circuit intégrés ; et pour, lors de la deuxième diversification, diversifier la clé intermédiaire ainsi obtenue en la clé personnelle à partir d'un numéro de série du circuit intégré. A noter que la diversification par lot peut être rendue optionnelle en considérant un lot groupant l’intégralité des circuits intégrés considérés.By applying these various features, a system according to the invention can thus be configured to, during the first diversification, diversify the root key into an intermediate key from said unique information associated with said service to access and from a batch identifier consisting of a plurality of integrated circuits; and for, during the second diversification, diversify the intermediate key thus obtained in the personal key from a serial number of the integrated circuit. Note that batch diversification can be made optional by considering a lot grouping all the integrated circuits considered.

Dans un mode de réalisation, le numéro de série unique du circuit intégré est mémorisé en mémoire non volatile du circuit intégré. Cela permet d’effectuer la ou les diversifications au sein même du circuit intégré.In one embodiment, the unique serial number of the integrated circuit is stored in nonvolatile memory of the integrated circuit. This allows the diversification (s) within the integrated circuit.

Dans un mode de réalisation, la deuxième diversification de la clé intermédiaire en la clé personnelle d’authentification comprend une opération de diversification de la clé intermédiaire à partir d'un numéro de série unique (ou donnée unique d'identification) du circuit intégré.In one embodiment, the second diversification of the intermediate key into the personal authentication key comprises a diversification operation of the intermediate key from a unique serial number (or unique identification data) of the integrated circuit.

Dans un mode de réalisation, l’accès au service comprend la personnalisation du circuit intégré à l’aide de données spécifiques audit circuit intégré. Une application préférée de l’invention est ainsi le contrôle de l’accès aux services de personnalisation ou pré-personnalisation des cartes à puce ou équivalents.In one embodiment, access to the service includes customizing the integrated circuit using data specific to said integrated circuit. A preferred application of the invention is thus the control of access to personalization or pre-personalization services for smart cards or the like.

Dans un mode de réalisation, le procédé comprend une étape de fabrication du circuit intégré au niveau d'un site de fabrication et une étape de réception, par ledit site de fabrication, de la clé racine ou d’une ou des clés intermédiaires éventuellement associées à des services en provenance du site central, et ladite fabrication comprend une étape de génération de clés personnelles d'authentification associées à des services dans le circuit intégré, par diversification de ladite clé racine ou de la ou des clés intermédiaires à l'aide desdites étapes de diversification et une étape d'enregistrement desdites clés personnelles d'authentification dans une mémoire non volatile dudit circuit intégré.In one embodiment, the method comprises a step of manufacturing the integrated circuit at a manufacturing site and a step of reception, by said manufacturing site, of the root key or of any associated intermediate key or keys. to services from the central site, and said manufacturing comprises a step of generating personal authentication keys associated with services in the integrated circuit, by diversification of said root key or of the intermediate key or keys using said steps of diversification and a step of recording said personal authentication keys in a non-volatile memory of said integrated circuit.

Ainsi, au sortir du site de fabrication, tous les circuits intégrés contiennent leurs propres clés d'authentification associées respectivement aux services qu’ils proposent).Thus, when leaving the manufacturing site, all integrated circuits contain their own authentication keys associated respectively with the services they offer).

Dans une variante, le procédé comprend une étape de fabrication du circuit intégré au niveau d'un site de fabrication et une étape de réception, par ledit site de fabrication, de la clé racine ou d’une ou des clés intermédiaires éventuellement associées à des services en provenance du site central, et ladite fabrication comprend une étape d'enregistrement de ladite clé racine ou de la ou des clés intermédiaires éventuellement associées à des services dans une mémoire non volatile dudit circuit intégré.In a variant, the method comprises a step of manufacturing the integrated circuit at a manufacturing site and a step of reception, by said manufacturing site, of the root key or of one or more intermediate keys possibly associated with services from the central site, and said manufacturing comprises a step of registering said root key or the intermediate key or keys possibly associated with services in a non-volatile memory of said integrated circuit.

Cette disposition permet de simplifier les opérations relatives aux clés secrètes réalisées par le fondeur/fabriquant des circuits intégrés, car il n'a plus à générer les clés personnelles d'authentification propres à chaque circuit et chaque service et ne manipule désormais plus qu'une seule clé, la clé racine, pour un plus ou moins grand nombre de circuits intégrés fabriqués simultanément, et cela quel que soit le nombre de services proposés.This arrangement makes it possible to simplify the operations relating to secret keys made by the founder / manufacturer of integrated circuits, since he no longer has to generate the personal authentication keys specific to each circuit and each service and now only handles only key, the root key, for a greater or lesser number of integrated circuits manufactured simultaneously, and this regardless of the number of services offered.

Les coûts opérationnels et les risques liés à la manipulation des clés secrètes sont ainsi réduits pour le fondeur.The operational costs and the risks related to the handling of the secret keys are thus reduced for the founder.

Selon une caractéristique particulière, le procédé comprend une étape consistant à générer, au sein du circuit intégré et en réponse à un premier signal reçu par le circuit intégré, lesdites clés personnelles d'authentification associées aux services que le circuit intégré propose par diversification de la clé enregistrée (racine ou intermédiaires).According to one particular characteristic, the method comprises a step of generating, within the integrated circuit and in response to a first signal received by the integrated circuit, said personal authentication keys associated with the services that the integrated circuit proposes by diversifying the registered key (root or intermediates).

Cette diversification met en œuvre, bien entendu si nécessaire, les deux étapes de diversification.This diversification implements, of course if necessary, the two stages of diversification.

Cette génération en interne accroît, par ailleurs, la confidentialité des clés personnelles d'authentification car leurs valeurs ne sont pas connues des organes externes (journal, fondeur, etc.).This internal generation also increases the confidentiality of personal authentication keys because their values are unknown to external bodies (newspaper, founder, etc.).

En particulier, le procédé comprend des étapes consistant à : - effacer la clé racine ou les clés intermédiaires enregistrées de la mémoire non volatile; et - enregistrer lesdites clés personnelles d'authentification (ainsi générées) dans la mémoire non volatile du circuit intégré (une par service proposé).In particular, the method comprises the steps of: erasing the stored root key or intermediate keys from the non-volatile memory; and - registering said personal authentication keys (thus generated) in the nonvolatile memory of the integrated circuit (one per proposed service).

Notamment, ledit effacement peut être réalisé par écrasement en mémoire de la clé racine ou des clés intermédiaires enregistrées par les clés personnelles d'authentification générées.In particular, said erasure can be achieved by overwriting in memory the root key or the intermediate keys registered by the generated personal authentication keys.

La mémorisation des clés d'authentification permet de réaliser l'authentification lors des accès à un service particulier, par exemple pour un mode de personnalisation, au circuit intégré. L'écrasement garantit, quant à lui, qu'en possession de ce circuit intégré, une personne mal intentionnée ne puisse récupérer la clé racine ou les clés intermédiaires à des fins de réutilisation malveillante.The memorization of the authentication keys makes it possible to perform the authentication during access to a particular service, for example for a personalization mode, to the integrated circuit. The crash ensures that, in possession of this integrated circuit, an ill-intentioned person can not recover the root key or the intermediate keys for the purpose of malicious reuse.

Dans un mode de réalisation déjà évoqué, les clés personnelles d'authentification sont obtenues par diversification de la clé racine à partir d'un numéro de série unique du circuit intégré stockée dans ladite mémoire non volatile du circuit intégré ainsi que d’autant d’identifiants que de services proposés. A noter que l'enregistrement de ce numéro de série ainsi que des identifiants des services peut avoir lieu au niveau du site de fabrication, en même temps que l'enregistrement de la clé racine.In an embodiment already mentioned, the personal authentication keys are obtained by diversification of the root key from a unique serial number of the integrated circuit stored in said nonvolatile memory of the integrated circuit and of as many identifiers that services offered. Note that the registration of this serial number and service identifiers can take place at the manufacturing site, along with the registration of the root key.

Ainsi, la génération des clés personnelles d'authentification peut être menée de façon autonome par le circuit intégré lui-même, sans nécessiter une information provenant de l'extérieur du circuit intégré.Thus, the generation of personal authentication keys can be conducted autonomously by the integrated circuit itself, without requiring information from outside the integrated circuit.

Le numéro de série unique du circuit intégré peut notamment comprendre un identifiant d'un lot de tranches de silicium ou d'une tranche de silicium sur laquelle est élaboré ledit circuit intégré, et comprendre une identification (un identifiant ou des coordonnées spatiales) dudit circuit intégré à l'intérieur dudit lot ou de la tranche.The unique serial number of the integrated circuit may in particular comprise an identifier of a batch of silicon wafers or of a silicon wafer on which said integrated circuit is developed, and include an identification (an identifier or spatial coordinates) of said circuit. integrated within the said lot or slice.

Dans un mode de réalisation de l'invention, ledit premier signal est un premier signal analogique de mise sous tension du circuit intégré. Il s'agit généralement de la première mise sous tension de test par un équipement de test sur le site de fabrication avant livraison à un site de personnalisation, afin de savoir si le circuit intégré est opérationnel ou destiné au rebut.In one embodiment of the invention, said first signal is a first analog signal for powering up the integrated circuit. This is usually the first test power-up by test equipment at the manufacturing site prior to delivery to a personalization site, to determine if the IC is operational or intended for scrap.

Cette disposition permet de générer les clés personnelles d'authentification avant toute intervention sur le circuit intégré. Du fait de la présence de tests sur le site de fabrication, cette disposition conduit à ce que les circuits intégrés, lorsqu'ils sont livrés pour le personnaliser, contiennent déjà leur(s) clé(s) personnelle(s) de transport, différente pour chaque circuit intégré et éventuellement pour chaque service proposé. On évite ainsi que la seule connaissance de la clé racine soit susceptible de donner l'accès à toutes les cartes ayant cette clé racine en commun.This provision makes it possible to generate the personal authentication keys before any intervention on the integrated circuit. Due to the presence of tests on the manufacturing site, this provision leads to the fact that integrated circuits, when delivered to personalize it, already contain their personal key (s) of transport, different for each integrated circuit and possibly for each proposed service. This prevents the knowledge of the root key is only likely to give access to all cards with this root key in common.

En variante, ledit premier signal est un premier signal numérique, c'est-à-dire contenant des informations numériques. Cela permet de générer les clés personnelles d'authentification uniquement lorsque les moyens de traitement numérique du circuit intégré (le processeur ou microcontrôleur) sont sollicités. Généralement, ce premier accès par signal numérique est réalisé lors de la première tentative de personnalisation du circuit intégré.In a variant, said first signal is a first digital signal, that is to say containing digital information. This makes it possible to generate the personal authentication keys only when the digital processing means of the integrated circuit (the processor or microcontroller) are solicited. Generally, this first access by digital signal is made during the first attempt to personalize the integrated circuit.

Ainsi, dans cette configuration, les délais d'attente correspondant à la (sous)-diversification de la clé racine ou des clés intermédiaires pour obtenir les clés personnelles d'authentification fonction des services proposés sont déportés hors du site de fabrication. Ceci permet d'éviter toute attente au niveau de ce site.Thus, in this configuration, the waiting times corresponding to the (sub) -diversification of the root key or intermediate keys to obtain the personal keys of authentication according to the proposed services are deported out of the manufacturing site. This avoids any waiting at this site.

En outre, étant donné que les traitements de signaux analogiques (site de fabrication) sont plus brefs que ceux des signaux numériques (généralement au site de personnalisation), cette disposition rend la génération des clés d'authentification quasi-transparente eu égard au délai de traitement d'un tel signal numérique.In addition, since analog signal processing (manufacturing site) is shorter than that of digital signals (usually at the personalization site), this arrangement makes the generation of authentication keys virtually transparent with respect to processing of such a digital signal.

En particulier, le premier signal numérique est une première instruction de commande, par exemple de type APDU envoyée par le dispositif d'accès et par exemple lors de la première tentative d'accès pour personnalisation du circuit intégré. Une instruction de commande a notamment pour fonction de faire exécuter une action au circuit intégré, en appelant un programme (le système d'exploitation par exemple) déjà mémorisé dans le circuit intégré.In particular, the first digital signal is a first command instruction, for example of the APDU type sent by the access device and for example during the first access attempt for customization of the integrated circuit. In particular, a control instruction has the function of executing an action on the integrated circuit, by calling a program (the operating system for example) already stored in the integrated circuit.

Selon une caractéristique particulière, le procédé comprend, à réception dudit premier signal par le circuit intégré, une étape d'écriture, dans une mémoire non volatile programmable qu'une seule fois (type PROM _ Programmable Read Only Memory _ ou OTP _ One Time Programmable), d'une information indiquant qu'un premier signal a déjà été reçu.According to a particular characteristic, the method comprises, on reception of said first signal by the integrated circuit, a write step, in a programmable nonvolatile memory that only once (PROM_Programmable Read Only Memory or OTP _One Time Programmable), information indicating that a first signal has already been received.

Grâce à cette information (par exemple un drapeau ou tout autre indicateur binaire), le circuit intégré a connaissance, à moindre coût, de la réalisation déjà effectuée de la diversification de la clé enregistrée pour obtenir sa personnelle clé d'authentification. L'inscription de cette information dans une mémoire programmable qu'une seule fois garantit, en outre, qu'aucune action malveillante ne puisse entraîner une nouvelle réalisation de la diversification de la ou des clés enregistrées par le circuit intégré.Thanks to this information (for example a flag or any other binary indicator), the integrated circuit is aware, at a lower cost, of the already achieved realization of the diversification of the registered key to obtain its personal authentication key. The inclusion of this information in a programmable memory once only ensures, moreover, that no malicious action can lead to a new realization of the diversification of the key or keys recorded by the integrated circuit.

Ainsi, dans ce cas, le procédé peut comprendre, à réception d'un signal (de même nature que ledit premier signal) et préalablement au déclenchement de la génération de clés personnelles d'authentification, une étape de détermination de la présence, en mémoire non volatile programmable qu'une seule fois, d'une information indiquant qu'un premier signal a déjà été reçu. Ainsi, le circuit intégré est apte à bloquer, de façon efficace, une nouvelle génération des clés personnelles d'authentification si celle-ci a déjà été réalisée.Thus, in this case, the method may comprise, upon reception of a signal (of the same nature as said first signal) and prior to triggering the generation of personal authentication keys, a step of determining the presence, in memory nonvolatile programmable once, information indicating that a first signal has already been received. Thus, the integrated circuit is able to effectively block a new generation of personal authentication keys if this has already been done.

Selon une caractéristique particulière, ladite écriture de l'information qu'un premier signal a déjà été reçu est postérieure à une étape d'enregistrement des clés personnelles d'authentification dans la mémoire non volatile du circuit intégré. Cette disposition protège le circuit intégré de certains problèmes pouvant résulter de la coupure d'alimentation de celui-ci avant la fin de la génération interne par diversification. En effet, l'information d'un premier accès déjà réalisé est ainsi inscrite en mémoire uniquement lorsque les clés personnelles d'authentification (une par service proposé) ont bien été générées.According to a particular characteristic, said writing of the information that a first signal has already been received is subsequent to a step of recording the personal authentication keys in the nonvolatile memory of the integrated circuit. This arrangement protects the integrated circuit from certain problems that may result from the power failure of it before the end of the internal generation by diversification. Indeed, the information of a first access already made is thus stored in memory only when the personal authentication keys (one per service offered) have been generated.

Bien entendu, des variantes peuvent être prévues, telle que l'inscription de cette information préalablement à la génération par diversification.Of course, variants may be provided, such as the registration of this information prior to generation by diversification.

Selon une autre caractéristique particulière, ledit circuit intégré transmet, à un dispositif externe et postérieurement à une étape d'enregistrement des clés personnelles d'authentification dans la mémoire non volatile du circuit intégré, une réponse audit premier signal. Bien entendu, ce dispositif externe est notamment celui ayant généré ledit premier signal à l'attention du circuit intégré. Il peut s'agir en particulier dudit dispositif d'accès lorsque celui-ci est utilisé, par exemple, pour effectuer la toute première personnalisation du circuit intégré.According to another particular characteristic, said integrated circuit transmits, to an external device and subsequently to a step of recording the personal authentication keys in the nonvolatile memory of the integrated circuit, a response to said first signal. Of course, this external device is in particular that which generated said first signal to the attention of the integrated circuit. It may be in particular said access device when it is used, for example, to perform the very first customization of the integrated circuit.

Cette disposition permet d'ajuster la réponse en fonction du succès ou non de l'étape de génération par diversification. Ainsi, une éventuelle erreur peut être remontée au dispositif externe afin, par exemple, de mettre le circuit intégré au rebut.This arrangement makes it possible to adjust the response according to the success or otherwise of the generation stage by diversification. Thus, a possible error can be raised to the external device to, for example, to put the integrated circuit scrapped.

En particulier, ledit dispositif externe attend une réponse audit premier signal pendant au moins 50 ms (millisecondes) avant de générer une erreur, notamment au moins 100 ms, de préférence au moins 250 ms. La génération par diversification introduit des délais supplémentaires de traitement par rapport aux traitements des premiers signaux. Cette disposition assure ainsi que ces délais de génération sont pris en compte au niveau des dispositifs de test et/ou de personnalisation du circuit intégré.In particular, said external device waits for a response to said first signal for at least 50 ms (milliseconds) before generating an error, in particular at least 100 ms, preferably at least 250 ms. Generation by diversification introduces additional processing delays compared to the processing of the first signals. This arrangement thus ensures that these generation delays are taken into account at the level of the test devices and / or customization of the integrated circuit.

Dans un mode de réalisation, une même clé racine ou intermédiaire est enregistrée dans une pluralité de circuits intégrés fabriqués sur une même tranche de silicium, au niveau du site de fabrication. Cette disposition permet au fondeur, fabricant des circuits intégrés, de ne manipuler qu'un nombre réduit de clés racines/intermédiaires pour tous les circuits d'une même tranche de silicium {\η/3ίβή ou d'un même lot. A noter qu'une même clé racine/intermédiaire peut être utilisée pour un lot entier de tranches de silicium.In one embodiment, the same root or intermediate key is stored in a plurality of integrated circuits fabricated on the same silicon wafer at the manufacturing site. This arrangement allows the founder, manufacturer of integrated circuits, to handle only a small number of root / intermediate keys for all circuits of the same silicon wafer {\ η / 3ίβή or the same batch. Note that the same root / intermediate key can be used for an entire batch of silicon wafers.

Par ailleurs, l'étape d'enregistrement de la clé racine ou de la ou des clés intermédiaires en mémoire non volatile peut comprendre une étape d'accès direct à ladite mémoire non volatile, c'est-à-dire sans passer par le processeur ou une interface de communication classique du circuit intégré, et une étape d'écriture de ladite clé racine ou de la ou des clés intermédiaires dans la mémoire lors de cet accès direct. Cet accès direct permet d'éviter la détection d'une anomalie si le circuit intégré est mis sous tension sans détenir la clé racine et que des moyens de détection d'une anomalie sur les clés secrètes équipent ce circuit.Furthermore, the step of registering the root key or the intermediate key (s) in non-volatile memory may comprise a step of direct access to said non-volatile memory, that is to say without going through the processor or a conventional communication interface of the integrated circuit, and a step of writing said root key or the intermediate key or keys in the memory during this direct access. This direct access makes it possible to avoid the detection of an anomaly if the integrated circuit is powered up without holding the root key and means for detecting an anomaly on the secret keys equip this circuit.

Selon divers aspects, l'étape d'authentification peut comprendre : - une authentification du circuit intégré par le dispositif d'accès; - une authentification du dispositif d'accès par le circuit intégré; ou - une authentification mutuelle regroupant les deux authentifications précitées.In various aspects, the authentication step may comprise: an authentication of the integrated circuit by the access device; an authentication of the access device by the integrated circuit; or - a mutual authentication grouping the two aforementioned authentications.

Chaque authentification peut être de type challenge-response.Each authentication can be of the challenge-response type.

Notamment, le procédé peut comprendre des étapes de personnalisation d'une pluralité de circuits intégrés au niveau d'un site distinct de pré-personnalisation ou personnalisation, ces étapes de personnalisation étant précédées d'authentifications au cours desquelles on obtient le numéro de série d'un circuit intégré correspondant par envoi d'une commande à ce circuit intégré, on diversifie ladite clé racine à partir du numéro de série obtenu et d’un identifiant du service de personnalisation souhaité, et on réalise une authentification, de préférence mutuelle, à partir de cette clé racine ente le circuit intégré et un dispositif de personnalisation.In particular, the method may comprise steps of customizing a plurality of integrated circuits at a distinct pre-personalization or personalization site, these personalization steps being preceded by authentications in which the serial number of a corresponding integrated circuit by sending a command to this integrated circuit, it diversifies said root key from the serial number obtained and an identifier of the desired customization service, and an authentication is carried out, preferably mutual, to from this root key ente the integrated circuit and a personalization device.

Selon une caractéristique de l'invention, le procédé comprend le montage dudit circuit intégré dans un corps de carte conforme à la norme ISO 7816. Bien entendu, le circuit intégré peut également être monté sur un module de dispositif sans contact conforme à la norme ISO 14443.According to one characteristic of the invention, the method comprises mounting said integrated circuit in a card body according to the ISO 7816 standard. Of course, the integrated circuit can also be mounted on a non-contact device module conforming to the ISO standard. 14443.

Des dispositifs conformes à l'une de ces normes peuvent notamment revêtir la forme d'une carte au format ID1, d'un passeport biométrique, d'une clé USB, d'une mémoire de stockage type microSD, etc.Devices conforming to one of these standards may in particular take the form of an ID1 format card, a biometric passport, a USB key, a microSD type storage memory, etc.

Selon une autre caractéristique de l'invention, ladite diversification de la clé racine met en oeuvre une fonction de hachage, par exemple SHA-256 ("Secure Hash Algorithm" produisant un résultat ou hash sur 256 bits).According to another characteristic of the invention, said diversification of the root key implements a hash function, for example SHA-256 ("Secure Hash Algorithm" producing a result or hash on 256 bits).

Selon une autre caractéristique de l'invention, ledit circuit intégré comprend, en mémoire, ladite clé personnelle d'authentification, et ladite étape d'authentification met en œuvre un algorithme cryptographique à clé symétrique. Bien entendu, la mise en œuvre d'algorithmes cryptographies à clés asymétriques peut être envisagée.According to another characteristic of the invention, said integrated circuit comprises, in memory, said personal authentication key, and said authentication step implements a symmetric key cryptographic algorithm. Of course, the implementation of asymmetric key cryptographic algorithms can be envisaged.

Selon une autre caractéristique de l'invention, ledit procédé est mis en œuvre au cours d'une opération de personnalisation dudit circuit imprimé.According to another characteristic of the invention, said method is implemented during a personalization operation of said printed circuit.

La diversification de la clé racine pour obtenir la clé personnelle d’authentification inclut, selon les dispositions de l’invention, les première et deuxième diversifications.The diversification of the root key to obtain the personal authentication key includes, according to the provisions of the invention, the first and second diversifications.

BREVE DESCRIPTION DES FIGURES D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les dessins ci-joints, dans lesquels : - la figure 1 illustre schématiquement un schéma de diversification de clés pour circuits intégrés, selon l'état de l'art ; - la figure 2 illustre schématiquement un schéma hypothétique de diversification de clés pour circuits intégrés non satisfaisant ; - la figure 3 représente un système de production mettant en oeuvre la présente invention selon un premier mode de réalisation ; - la figure 4 illustre schématiquement un circuit intégré dans une carte à puce à un premier instant de production dans le système de la figure 3, notamment avant la génération, au sein du circuit intégré, d'une clé personnelle de transport ou d'authentification ; - la figure 5 représente, sous forme de logigramme, des étapes de production de cartes à puce ou de circuits intégrés selon le premier mode de réalisation de la figure 3 ; - la figure 6 illustre schématiquement un schéma de diversification selon l’invention, dérivant une unique clé racine à partir d’identifiants de services proposés par un circuit intégré ; - la figure 7 illustre schématiquement l’application de ce schéma de diversification à une pluralité de services et une pluralité de circuits intégrés ; - la figure 8 illustre schématiquement le circuit intégré de la figure 4 à un deuxième instant de production dans le système de la figure 3, notamment après la génération, au sein du circuit intégré, d'une clé personnelle de transport ou d'authentification ; - la figure 9 représente un système de production mettant en oeuvre la présente invention selon un deuxième mode de réalisation ; et - la figure 10 représente, sous forme de logigramme, des étapes de production de cartes à puce ou de circuits intégrés selon le deuxième mode de réalisation de la figure 9.BRIEF DESCRIPTION OF THE FIGURES Other features and advantages of the invention will become apparent in the description below, illustrated by the accompanying drawings, in which: FIG. 1 schematically illustrates a key diversification scheme for integrated circuits, according to the state of the art; FIG. 2 schematically illustrates a hypothetical scheme for diversification of keys for unsatisfactory integrated circuits; FIG. 3 represents a production system embodying the present invention according to a first embodiment; FIG. 4 diagrammatically illustrates an integrated circuit in a smart card at a first moment of production in the system of FIG. 3, in particular before the generation, within the integrated circuit, of a personal key for transport or authentication. ; FIG. 5 represents, in the form of a logic diagram, steps for producing smart cards or integrated circuits according to the first embodiment of FIG. 3; FIG. 6 schematically illustrates a diversification scheme according to the invention, deriving a single root key from service identifiers proposed by an integrated circuit; FIG. 7 diagrammatically illustrates the application of this diversification scheme to a plurality of services and a plurality of integrated circuits; - Figure 8 schematically illustrates the integrated circuit of Figure 4 at a second production time in the system of Figure 3, in particular after the generation, within the integrated circuit, of a personal key transport or authentication; FIG. 9 represents a production system embodying the present invention according to a second embodiment; and FIG. 10 represents, in the form of a logic diagram, steps for producing smart cards or integrated circuits according to the second embodiment of FIG. 9.

DESCRIPTION DETAILLEE DE MODES DE REALISATION DE L’INVENTIONDETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

La figure 3 montre les différents intervenants dans un processus de production d'une carte à puce électronique à partir d'un circuit intégré.Figure 3 shows the different stakeholders in a process of producing an electronic chip card from an integrated circuit.

Comme représenté schématiquement par la figure 4, une carte à puce CP comprend généralement un corps de carte CO en matière plastique recevant un module construit à partir d'un circuit intégré Cl 10. Ce dernier comporte un processeur ou microcontrôleur 11, ainsi qu'une mémoire non volatile réinscriptible 12, une mémoire volatile type RAM 13, une mémoire non volatile non réinscriptible ROM 14 et une interface de communication 19 permettant d'échanger des données entre le processeur et l'extérieur de la carte à puce et également d'alimenter électriquement la carte à puce, par exemple des contacts électriques selon la norme ISO/IEC 7816 ou une interface sans contact conforme à la norme ISO/IEC 14443.As shown diagrammatically in FIG. 4, a chip card CP generally comprises a plastic card body CO receiving a module constructed from an integrated circuit Cl 10. The latter comprises a processor or microcontroller 11, as well as a non-volatile memory rewritable 12, a volatile memory type RAM 13, a non-volatile memory ROM ROM 14 and a communication interface 19 for exchanging data between the processor and the outside of the smart card and also to supply electrically the smart card, for example electrical contacts according to ISO / IEC 7816 or contactless interface according to ISO / IEC 14443.

Les mémoires et l'interface de communication sont gérées et accessibles par le microcontrôleur (en lecture et/ou en écriture selon le cas).The memories and the communication interface are managed and accessible by the microcontroller (read and / or write as appropriate).

La carte à puce peut proposer diverses fonctionnalités ou services accessibles sur authentification. Chaque fonctionnalité ou service peut être identifié par une information d’identification (unique) propre IDserv. A noter qu’un identifiant IDserv nul peut être affecté à un service donné. De façon similaire, l’absence d’identifiant peut également désigner un service particulier. A titre d’exemple, deux fonctionnalités différentes peuvent concerner deux services de personnalisation de la carte à puce qui se distinguent par des droits différents (autorisation d’accéder à certaines zones mémoires ou non, possibilité de modifier certains paramètres ou non, valeurs de paramétrages disponibles différentes, etc.). De façon classique, un service de personnalisation pour administrateur peut offrir un large panel d’options de personnalisation de la carte à puce, alors qu’un service de personnalisation client peut être un service dégradé de personnalisation, c’est-à-dire disposant de moins d’options de personnalisation.The smart card can offer various features or services accessible on authentication. Each feature or service can be identified by unique IDserv ID information. Note that a null IDserv identifier can be assigned to a given service. Similarly, the absence of identifier may also designate a particular service. By way of example, two different functionalities may concern two personalization services of the smart card that are distinguished by different rights (authorization to access certain memory zones or not, possibility of modifying certain parameters or not, setting values available different, etc.). Typically, an administrator customization service can offer a wide range of smart card personalization options, whereas a client personalization service can be a degraded personalization service, that is, with fewer customization options.

De retour à la figure 3, un donneur d'ordre 100, par exemple un fabricant de carte à puce, fait appel à un fabricant 200 (ou fondeur) de circuits intégrés et à une société 300 de (pré)personnalisation de circuits intégrés selon les fonctionnalités souhaitées dans la carte à puce.Returning to FIG. 3, a client 100, for example a chip card manufacturer, uses a manufacturer 200 (or founder) of integrated circuits and a company 300 of (pre) customization of integrated circuits according to desired features in the smart card.

Le site de fabrication 200 est un environnement hautement sécurisé, d'un point de vue physique comme informatique, afin de garantir une fabrication intègre de circuits intégrés 10 à partir de tranches de silicium 1 ou wafers.The manufacturing site 200 is a highly secure environment, from a physical point of view as well as a computer, in order to guarantee an integrated manufacturing of integrated circuits 10 from silicon wafers 1 or wafers.

Au niveau du donneur d'ordre, un module de sécurité matérielle HSM ("Hardware Security Module") 110 pour circuits intégrés est prévu pour générer des clés secrètes de fabricant MSK ("Manufacturer Secret Keÿ'), ci-après dénommées clés racines ou maîtres (root keys). Ces clés racines peuvent alors être transmises au site de fabrication 200 par un accès sécurisé, par exemple via l'Internet sécurisé. Conformément à des modes de réalisation de l’invention, une ou plusieurs clés intermédiaires MSKL sont dérivées de chaque clé racine, notamment en fonction des services disponibles dans les cartes, et ce sont ces clés intermédiaires MSKL qui sont transmises au site de (pré)personnalisation 300 par un accès sécurisé, par exemple via l'Internet sécurisé.At the prime contractor level, a hardware security module (HSM) 110 for integrated circuits is provided for generating secret manufacturer keys MSK ("Manufacturer Secret Keÿ"), hereinafter referred to as root keys or These root keys can then be transmitted to the manufacturing site 200 by secure access, for example via the secure Internet In accordance with embodiments of the invention, one or more intermediate keys MSKL are derived each root key, in particular according to the services available in the cards, and it is these MSKL intermediate keys that are transmitted to the site (pre) personalization 300 by secure access, for example via the secure Internet.

Au niveau du fondeur 200, un module de sécurité matérielle HSM 210 est également présent pour recevoir ces clés racines MSK et les communiquer de façon sécurisée au reste de la chaîne de fabrication.At the foundry 200, an HSM hardware security module 210 is also present to receive these MSK root keys and communicate them securely to the rest of the production line.

Cette dernière comprend un module de contrôle et de programmation 220 des circuits intégrés et une tête de programmation 230 des circuits intégrés 10. Comme on le verra par la suite, cette tête de programmation 230 comprend également des moyens d'alimentation (non représentés) des circuits intégrés 10 lors d'un test initial.The latter comprises a control and programming module 220 of the integrated circuits and a programming head 230 of the integrated circuits 10. As will be seen later, this programming head 230 also comprises feed means (not shown) of the integrated circuits 10 during an initial test.

Bien entendu les opérations de fabrication et de (pré)personnalisation peuvent être menées par une même entreprise, les unités de fabrication et de (pré)personnalisation pouvant être dans une même usine mais dans deux zones opérationnelles distinctes.Of course the manufacturing operations and (pre) personalization can be conducted by the same company, the manufacturing units and (pre) customization can be in the same plant but in two separate operational areas.

Pour la suite de la description, on décrira principalement la personnalisation des circuits intégrés 10. L'invention s'applique toutefois à d'autres opérations, par exemple celles de pré-personnalisation.For the remainder of the description, the customization of the integrated circuits 10 will mainly be described. The invention however applies to other operations, for example those of pre-personalization.

La figure 5 illustre des étapes de production d'une carte à puce CP selon un premier mode de réalisation.FIG. 5 illustrates steps of production of a smart card CP according to a first embodiment.

Lors d'une étape initiale E0, le fondeur 200 conduit la fabrication matérielle de circuits intégrés 10, et donc des différents composants énumérés précédemment en lien avec la figure 4. En particulier, le dessin des différentes couches du circuit intégré élabore la mémoire non volatile non réinscriptible (ROM) 14 pour qu'elle comprenne des données représentatives d'instructions de programmes de base pour le fonctionnement du circuit intégré, par exemple d'un programme d'amorçage (boot) et d'un système d'exploitation OS apte à traiter des commandes APDU ("Application Protocol Data Unit' en anglais) comme évoquées par la suite.During an initial step E0, the melter 200 conducts the hardware manufacturing of integrated circuits 10, and therefore of the various components listed above in connection with FIG. 4. In particular, the design of the various layers of the integrated circuit produces the non-volatile memory non-rewritable (ROM) 14 to include data representative of basic program instructions for the operation of the integrated circuit, for example a boot program and a suitable operating system OS to treat APDU commands ("Application Protocol Data Unit" in English) as discussed later.

Au niveau du site de fabrication 200, les circuits intégrés électroniques 10 sont élaborés sur des wafers 1 (étape E0). Chaque wafer appartient à un lot de wafers numéroté ID|0t et comprend un numéro d'identification IDwafer- Chaque circuit intégré réalisé sur un wafer peut par ailleurs être identifiée par sa position (Xcircuit, Ydrcuit) sur un wafer ou comprendre un numéro de circuit IDCircuit dans le lot ou sur le wafer.At the manufacturing site 200, the electronic integrated circuits 10 are developed on wafers 1 (step E0). Each wafer belongs to a lot of wafers numbered ID | 0t and includes an identification number IDwafer- Each integrated circuit realized on a wafer can also be identified by its position (Xcircuit, Ydrcuit) on a wafer or include a circuit number IDCircuit in the batch or on the wafer.

Lors d'une première étape E1, chez le fabricant de cartes à puce 100, une clé MSK est générée (la MSK racine), par exemple sur 8 ou 16 octets, par le module HSM 110. L'étape E1 est suivie d'une étape ΕΓ au cours de laquelle le module HSM 110 génère également des clés intermédiaires MSKL par une première étape S1 de diversification de la clé racine MSK à partir : - par exemple du numéro de lot IDiot de plusieurs circuits ou du numéro de wafer IDwafer qui est en train d'être construit par le site de fabrication 200. Ce numéro de lot ou de wafer peut constituer une première sous-partie d’une donnée unique d'identification ou numéro de série unique ID, d'un circuit intégré 10,. Cette sous-partie est notamment commune à un ensemble de circuits intégrés (ceux du même lot ou du même wafer) et à ce titre, la clé intermédiaire MSKL est commune à ce même ensemble de circuits intégrés ; et - de l’information unique IDserv associé à un ou plusieurs services proposés par la carte. L’étape E1 ’ permet ainsi de générer plusieurs clés intermédiaires MSKL à partir d’une seule référence (clé racine) dans le HSM, telles que chaque clé intermédiaire est associée à un service proposé par la carte et est unique par service et par lot. A titre d'illustration, cette première étape S1 de diversification peut mettre en oeuvre une fonction de hachage cryptographique, par exemple SHA-256 qui présente l'avantage d'une exécution rapide et difficilement détectable. Ainsi, à partir d'une clé racine MSK de 16 octets, d'un numéro de lot ID|0t sur 4 à 8 octets par exemple et d’un identifiant de service IDserv sur 1 à 4 octets par exemple, lesquels sont simplement concaténés en entrée de la fonction de hachage, on obtient une clé intermédiaire MSKL sur 32 octets: MSKL = SHA-256( IDserv || IDlot || MSK ).In a first step E1, at the smart card manufacturer 100, an MSK key is generated (the root MSK), for example on 8 or 16 bytes, by the HSM module 110. The step E1 is followed by a step ΕΓ during which the HSM module 110 also generates intermediate keys MSKL by a first step S1 for diversification of the root key MSK from: - for example the IDiot batch number of several circuits or IDwafer wafer number which is currently being built by the manufacturing site 200. This batch or wafer number can constitute a first sub-part of a unique identification data or unique serial number ID, of an integrated circuit 10, . This sub-part is particularly common to a set of integrated circuits (those of the same batch or the same wafer) and as such, the intermediate key MSKL is common to the same set of integrated circuits; and - unique IDserv information associated with one or more services offered by the card. Step E1 'thus makes it possible to generate several intermediate keys MSKL from a single reference (root key) in the HSM, such that each intermediate key is associated with a service offered by the card and is unique per service and per batch . By way of illustration, this first step S1 of diversification can implement a cryptographic hash function, for example SHA-256 which has the advantage of a fast execution and hardly detectable. Thus, from a 16-byte MSK root key, a batch number ID | 0t on 4 to 8 bytes for example and an IDserv service identifier on 1 to 4 bytes for example, which are simply concatenated at the input of the hash function, we obtain a 32-byte MSKL intermediate key: MSKL = SHA-256 (IDserv || IDlot || MSK).

En variante, on peut utiliser un encodage selon un algorithme symétrique, par exemple MSKL=AES(IDServ, ID|0t, MSK).Alternatively, one can use an encoding according to a symmetric algorithm, for example MSKL = AES (IDServ, ID | 0t, MSK).

La clé racine MSK est transmise au fondeur 200 et les clés intermédiaires MSKL sont transmises au site de personnalisation 300, respectivement aux modules HSM 210 et 310, via l'Internet sécurisé, lors des étapes E2 et E2’. A ce stade, on observe donc que le site de personnalisation 300 n'a pas connaissance de la clé racine MSK, ce qui accroît la sécurité de la protection des circuits intégrés.The root key MSK is sent to the founder 200 and the intermediate keys MSKL are transmitted to the personalization site 300, respectively to the HSM modules 210 and 310, via the secure Internet, during the steps E2 and E2 '. At this stage, it is observed that the customization site 300 is not aware of the root key MSK, which increases the security of the protection of integrated circuits.

Une fois qu'un wafer 1 de circuits intégrés 10, a été élaboré, le module de programmation 220 commande, à l'étape E4’, la tête 230 pour écrire, dans la mémoire non volatile réinscriptible 12, par exemple type EEPROM, de chaque circuit intégré 10, : - la donnée unique d'identification ID, du circuit intégré, qui peut par exemple comprendre tout ou partie du type de circuit intégré, d'un identifiant du site de fabrication IDsite, et des identifiants ID|0t, IDwafer et IDcircuit (ou Xdrcuit, Ydrcuit); - la clé racine MSK.Once a wafer 1 of integrated circuits 10 has been developed, the programming module 220 controls, in step E4 ', the head 230 to write, in the non-volatile rewritable memory 12, for example type EEPROM, of each integrated circuit 10: the unique identification data ID of the integrated circuit, which may for example comprise all or part of the type of integrated circuit, an identifier of the site of manufacture IDsite, and identifiers ID | 0t, IDwafer and IDcircuit (or Xdrcuit, Ydrcuit); - the MSK root key.

La figure 4 illustre l'état du circuit intégré après cette étape, étant noté que l’identifiant IDserv de chaque service est également connu du circuit intégré, en association avec chaque service proposé.FIG. 4 illustrates the state of the integrated circuit after this step, being noted that the IDserv identifier of each service is also known of the integrated circuit, in association with each proposed service.

Ainsi, la tête de programmation 230 comporte des moyens d'accès direct à la zone mémoire 12 pour écrire ces diverses données, par exemple par contact direct sur les bornes physiques de la mémoire. On entend ici par "accès direct" le fait que l'accès n'est réalisé ni au travers du processeur du circuit intégré ni au travers de l'interface normale de communication du circuit intégré (généralement les contacts électriques selon la norme ISO/IEC 7816).Thus, the programming head 230 comprises means for direct access to the memory zone 12 for writing these various data, for example by direct contact on the physical terminals of the memory. The term "direct access" is understood here to mean that access is not made through the integrated circuit processor or through the normal interface of the integrated circuit (usually the electrical contacts according to the ISO / IEC standard 7816).

Cet accès direct s'avère utile dès lors que le système d'exploitation du processeur 11 comprend des moyens de détection d'anomalies ou d'attaques relatives à des clés secrètes, ce qui est généralement le cas. En effet, dans ce cas, si le processeur est mis sous tension avant que la clé racine ne soit mémorisée en mémoire non volatile, une anomalie/attaque est immédiatement détectée en raison de l'absence de la clé, et cette détection conduit à mettre le circuit intégré hors service, alors que ce n'est pas le cas.This direct access is useful when the operating system of the processor 11 includes means for detecting anomalies or attacks relating to secret keys, which is generally the case. Indeed, in this case, if the processor is powered up before the root key is stored in nonvolatile memory, an anomaly / attack is immediately detected due to the absence of the key, and this detection leads to put the integrated circuit out of service, while this is not the case.

On remarque donc à ce stade (étape E4’) que tous les circuits intégrés possèdent en mémoire la même clé racine MSK. Ainsi, le fondeur 100 ne manipule que cette clé racine, sans avoir à générer les clés personnelles de chacun des circuits intégrés ni de clé intermédiaire MSKL.It is therefore noted at this stage (step E4 ') that all the integrated circuits have in memory the same root key MSK. Thus, the founder 100 manipulates only this root key, without having to generate the personal keys of each of the integrated circuits or intermediate key MSKL.

Puis à l'étape E5, le fondeur 200 mémorise, dans un journal (fichier numérique ou "log"), les seules données uniques d'identification ID, des circuits associés. Ce journal est notamment mémorisé de façon cryptée au niveau du module de programmation 220 ou, en variante, dans le module HSM 210. A l'issue de cette étape, la programmation des circuits intégrés 10 a été réalisée. De façon optionnelle, Il est prévu de procéder à un test d'alimentation E6’ afin de vérifier le bon fonctionnement électrique de chaque circuit.Then in step E5, the founder 200 stores, in a log (digital file or "log"), the only unique ID identification data, associated circuits. This log is in particular stored in an encrypted manner at the level of the programming module 220 or, alternatively, in the HSM module 210. At the end of this step, the programming of the integrated circuits 10 has been performed. Optionally, it is planned to conduct a power test E6 'to verify the proper electrical operation of each circuit.

Ce test comprend l'étape E60 au cours de laquelle un module de contrôle avec une tête d'alimentation (ce peut être le même module que le module de programmation 220 muni de sa tête 230) se connecte aux contacts électriques externes normaux de l'interface de communication et met le circuit intégré 10, sous tension en lui appliquant un tout premier signal analogique d'alimentation électrique.This test comprises step E60 during which a control module with a feed head (it can be the same module as the programming module 220 provided with its head 230) connects to the normal external electrical contacts of the communication interface and puts the integrated circuit 10, powered by applying a very first analog power supply signal.

Cette mise sous tension déclenche automatiquement l'exécution (E61'), par le processeur 11, d’un programme de génération automatique d’une ou plusieurs clés personnelles de transport/d'authentification MSKD,. Selon l’invention, chaque clé personnelle MSKD, est dédiée à un service particulier fourni par le circuit intégré, c’est-à-dire que cette clé personnelle doit être utilisée pour s’authentifier afin d’accéder audit service associé.This power up automatically triggers the execution (E61 '), by the processor 11, of a program for automatically generating one or more MSKD personal transport / authentication keys. According to the invention, each personal key MSKD, is dedicated to a particular service provided by the integrated circuit, that is to say that this personal key must be used to authenticate in order to access said associated service.

Le calcul de génération consiste par exemple à diversifier la clé racine MSK en deux étapes S1 et S2 de diversification successives à partir du numéro de série unique ID, et de l’identifiant de service IDserv, ces informations (clé racine, numéro de série et identifiants de service) étant enregistrées dans la mémoire non volatile 12 à laquelle accède le processeur 11.The generation calculation consists, for example, in diversifying the root key MSK in two successive diversification steps S1 and S2 from the unique serial number ID, and the service identifier IDserv, this information (root key, serial number and service identifiers) being stored in the non-volatile memory 12 accessed by the processor 11.

La première étape S1 consiste par exemple à obtenir une clé intermédiaire MSKL pour chaque service proposé par le circuit intégré, à partir de la clé racine MSK en mémoire et de l’identifiant de service IDserv, par exemple MSKL = SHA-256( IDserv || IDiot || MSK ). Puis la deuxième étape S2 consiste à diversifier chacune de ces clés intermédiaires MSKL à partir du numéro de circuit intégré IDcircui, (par exemple sur 4 octets) dans le lot ou sur le wafer (ou les coordonnée s Xdrcuit, Yoram)· A titre d'illustration, on peut simplement concaténer IDcircui, avec chaque clé intermédiaire MSKL et appliquer sur cette valeur obtenue la fonction de hachage SHA-256: MSKDi = SHA-256( IDcircui, || MSKL ).The first step S1 consists for example in obtaining an intermediate key MSKL for each service offered by the integrated circuit, from the root key MSK in memory and the service identifier IDserv, for example MSKL = SHA-256 (IDserv | IDiot || MSK). Then the second step S2 consists in diversifying each of these intermediate keys MSKL from the integrated circuit number IDcircui, (for example on 4 bytes) in the batch or on the wafer (or the coordinates Xdrcuit, Yoram). illustration, one can simply concatenate IDcircui, with each intermediate key MSKL and apply on this value obtained the hash function SHA-256: MSKDi = SHA-256 (IDcircui, || MSKL).

On obtient ainsi une pluralité de clés personnelles d’authentification MSKD, pour le circuit intégré, chacune de ces clés personnelles étant dédiée à un service particulier fourni par le circuit intégré.Thus, a plurality of personal authentication keys MSKD for the integrated circuit are obtained, each of these personal keys being dedicated to a particular service provided by the integrated circuit.

On peut noter que l’utilisation d’une fonction de hachage telle que SHA-256 à l’avantage de simplifier les traitements pour former le mot d’entrée de ces fonctions: pas de troncature et seulement des concaténations (ici représentée par les symboles "II") sont utiles, puisqu’une fonction de hachage peut recevoir des données d'entrée de longueur variable.It can be noted that the use of a hash function such as SHA-256 has the advantage of simplifying the processing to form the input word of these functions: no truncation and only concatenations (here represented by the symbols "II") are useful, since a hash function can receive input data of variable length.

En outre, la fonction de hachage SHA-256 a l’avantage de générer une clé personnelle de transport/d'authentification sur 32 octets, ce qui correspond à la taille d’une clé pour l’algorithme AES qui peut être utilisée pour l'authentification E13’ décrite par la suite. Notamment, en fonction de l'algorithme d'authentification, on utilisera tout ou partie des octets des clés personnelles ainsi générées: pour un algorithme de type 3DES ou AES-128, seuls les 16 premiers octets d’une clé personnelle MSKD, seront utilisés; pour un algorithme de type AES-192, seuls les 24 premiers octets d’une clé personnelle MSKD, seront utilisés; et pour un algorithme de type AES-256, les 32 octets d’une clé personnelle MSKD, seront utilisés.In addition, the SHA-256 hash function has the advantage of generating a 32-byte personal transport / authentication key, which corresponds to the size of a key for the AES algorithm that can be used for encryption. 'E13 authentication' described later. In particular, depending on the authentication algorithm, all or some of the bytes of the personal keys thus generated will be used: for an algorithm of the 3DES or AES-128 type, only the first 16 bytes of a personal key MSKD will be used. ; for an AES-192 type algorithm, only the first 24 bytes of a MSKD personal key will be used; and for an AES-256 type algorithm, the 32 bytes of a MSKD personal key will be used.

La figure 6 illustre la double diversification ainsi mise en œuvre par les modes de réalisation actuellement décrits de l’invention. A partir d’un seul secret initial (clé racine MSK), la première diversification S1 permet d’obtenir une pluralité de clés intermédiaires pour un lot, chaque clé intermédiaire MSKLServ[i-n] étant dédiée à un service donné SERV[1-N]. Puis la deuxième diversification S2 permet de décliner (dériver) chacune de ces clés intermédiaires en une clé personnelle propre au circuit T considéré. Chaque clé personnelle du circuit T dédiée au service SERV est notée, sur la figure, MSKDiSERV.Figure 6 illustrates the dual diversification thus implemented by the presently described embodiments of the invention. From a single initial secret (MSK root key), the first diversification S1 makes it possible to obtain a plurality of intermediate keys for a batch, each intermediate key MSKLServ [in] being dedicated to a given service SERV [1-N] . Then the second diversification S2 allows to decline (derive) each of these intermediate keys into a personal key specific to the circuit T considered. Each personal key of the circuit T dedicated to SERV service is noted in the figure, MSKDiSERV.

La déclinaison de cette approche pour une pluralité de circuits est illustrée par la figure 7.The variation of this approach for a plurality of circuits is illustrated in FIG.

Suite à l'étape E61', le processeur enregistre (E62'), dans la mémoire non volatile 12, les clés personnelles MSKD, ainsi générées, en association avec le service correspondant et en remplacement de la clé racine MSK. Pour éviter de rendre la clé racine accessible à une personne mal intentionnée, cette opération est réalisée par écrasement de la clé racine MSK par l’une (la première générée) des nouvelles clés personnelles MSKD,.Following step E61 ', the processor records (E62'), in the non-volatile memory 12, the personal keys MSKD, thus generated, in association with the corresponding service and replacing the root key MSK. To avoid making the root key accessible to a malicious person, this operation is performed by overwriting the MSK root key with one (the first generated) new personal keys MSKD.

Ensuite, le processeur écrit dans une mémoire 15 non volatile programmable qu'une seule fois (figure 8), également connue sous la terminologie "mémoire PROM" _ Programmable Read Only Memory _ ou "mémoire OTP" _ One Time Programmable _, un drapeau 150 (flag, par exemple un bit) indiquant que la génération de la ou des clés personnelles MSKD, a déjà eu lieu (étape E63').Then, the processor writes into a programmable nonvolatile memory only once (FIG. 8), also known as "PROM memory" _ Programmable Read Only Memory _ or "OTP memory" _ One Time Programmable _, a flag 150 (flag, for example a bit) indicating that the generation of the personal key (s) MSKD has already occurred (step E63 ').

La mémoire OTP 15 peut toutefois être une partie de la mémoire non volatile non réinscriptible ROM 14.The OTP memory 15 may, however, be a part of the ROM non-rewritable non-volatile memory 14.

Une telle mémoire OTP 15, par exemple par grillage irréversible de fusibles, empêche toute modification de l'information 150 et donc garantit une sécurité quant à savoir si la ou les clés personnelles MSKD, ont bien été générées.Such an OTP memory 15, for example by irreversible fuse splicing, prevents any modification of the information 150 and thus guarantees a security as to whether the personal key (s) MSKD have indeed been generated.

La présence de cette information dans la mémoire OTP 15 est notamment vérifiée à chaque mise sous tension du circuit intégré (par exemple au début de l'exécution du programme de génération automatique de clé personnelle) pour déterminer s'il s'agit de la première mise sous tension du circuit, auquel cas la génération des clés personnelles MSKD, doit être réalisée comme décrit ci-dessus, ou s'il s'agit d'une mise sous tension ultérieure, auquel cas l'exécution du programme de génération des clés personnelles est bloquée.The presence of this information in the OTP memory 15 is verified in particular every time the integrated circuit is powered up (for example at the beginning of the execution of the automatic key generation program) to determine whether it is the first turn on the circuit, in which case the generation of personal keys MSKD, must be performed as described above, or if it is a later power up, in which case the execution of the key generation program personal is blocked.

Ainsi le drapeau 150 indique qu'un premier signal de mise sous tension a déjà été reçu.Thus flag 150 indicates that a first power-on signal has already been received.

Dans ce mode de réalisation, l'étape E63' succède à l'étape E61 ' de génération, sécurisant ainsi le circuit intégré contre des problèmes pouvant découler d'une éventuelle coupure d'alimentation avant la fin de la génération par diversification E61 '. En effet, dans ce cas il n'est pas indiqué, à juste titre, dans la mémoire 15, que la clé personnelle MSKD, a été générée. La prochaine mise sous tension E61 déclenchera alors à nouveau cette génération.In this embodiment, the step E63 'succeeds the generation step E61', thus securing the integrated circuit against problems that may arise from a possible power failure before the end of the diversification generation E61 '. Indeed, in this case it is not indicated, rightly, in the memory 15, that the personal key MSKD, has been generated. The next power-up E61 will then trigger this generation again.

En variante toutefois, l'étape E63' peut précéder l'étape E6T ou être concomitante.Alternatively however, step E63 'may precede step E6T or be concomitant.

Puis, selon la norme ISO/IEC 7816, le circuit 10, répond alors, à la mise sous tension, par un message ATR ("Answer To Resef') à l'étape E65. Dans le cadre de la norme ISO/IEC 14443 (cartes sans contact), cette réponse prend la forme d'un message ATS {''Answer To Select').Then, according to the ISO / IEC 7816 standard, the circuit 10 then responds, at power-up, with an ATR message ("Answer To Resef") in step E65, in the context of the ISO / IEC 14443 standard. (contactless cards), this response takes the form of an ATS ('Answer To Select') message.

Cet ordre des étapes permet, si nécessaire, d'indiquer dans la réponse à la mise sous tension (ATR dans le cas d'un circuit intégré prévu pour un dispositif avec contact conforme à la norme ISO/IEC 7816 et ATS dans le cas d'un circuit intégré prévu pour un dispositif sans contact conforme à la norme ISO/IEC 14443) qu'une erreur ou une anomalie s'est produite lors de la génération de la clé personnelle par diversificationThis order of steps makes it possible, if necessary, to indicate in the power-up response (ATR in the case of an integrated circuit provided for a contact device in accordance with ISO / IEC 7816 and ATS in the case of an integrated circuit provided for a contactless device in accordance with ISO / IEC 14443) that an error or anomaly has occurred in the generation of the personal key by diversification

Des moyens de détection d'erreur dans l'exécution d'un programme de la carte à puce sont alors prévus dans le circuit intégré 10,.Error detection means in the execution of a program of the smart card are then provided in the integrated circuit 10.

Et l'indication d'une erreur ou anomalie est ainsi détectée lors du test E8 pour mettre le circuit intégré 10, au rebut.And the indication of an error or anomaly is thus detected during the test E8 to put the integrated circuit 10, discarded.

En effet, si le circuit intégré renvoie un message ATR conforme à la norme ISO 7816 et que son contenu est correct, c'est-à-dire celui attendu par le module de contrôle (test E8), alors ce circuit intégré 10, est considéré comme conforme (étape E9).Indeed, if the integrated circuit returns an ATR message conforming to ISO 7816 and its content is correct, that is to say that expected by the control module (test E8), then this integrated circuit 10, is considered to be compliant (step E9).

Autrement (par exemple si aucune réponse n'est reçue dans un délai prédéfini), le circuit intégré est considéré comme défaillant et mis au rebut (étape E10). A cette occasion, le circuit intégré peut être marqué comme défaillant (en mémoire par le module de contrôle ou une inscription équivalente dans le journal prévu à l'étape E5).Otherwise (for example if no response is received within a predefined time), the integrated circuit is considered faulty and discarded (step E10). On this occasion, the integrated circuit can be marked as faulty (in memory by the control module or an equivalent inscription in the log provided in step E5).

En variante toutefois, tout ou partie des étapes E61', E62' et E63' peut être réalisée après l'étape E65.Alternatively, however, all or some of the steps E61 ', E62' and E63 'can be performed after step E65.

En raison du temps nécessaire à la génération des clés personnelles MSKDi dans le circuit intégré 10, (prenant entre 50 et 500 ms, généralement entre 100 et 200 ms), le module de contrôle 220 est configuré pour attendre suffisamment longtemps (délai prédéfini) lors du test E8 pour permettre la génération complète des clés personnelles.Due to the time required for the generation of the personal keys MSKDi in the integrated circuit 10, (taking between 50 and 500 ms, generally between 100 and 200 ms), the control module 220 is configured to wait long enough (predefined delay) when the E8 test to allow the complete generation of personal keys.

Ainsi ce module de contrôle est configuré pour attendre la réponse ATR/ATS à la mise sous tension, au moins 50 ms (millisecondes) avant de générer une erreur, notamment au moins 100 ms, et de préférence au moins 250 ms voire 500 ms. Dans la plupart des cas, l'attente ne sera pas supérieure à 1 seconde, voire 500 ms.Thus, this control module is configured to wait for the ATR / ATS response at power-up, at least 50 ms (milliseconds) before generating an error, in particular at least 100 ms, and preferably at least 250 ms or even 500 ms. In most cases, the wait will not be longer than 1 second or 500 ms.

Après les étapes E8 et E9, les circuits intégrés 10, quittent le site de fabrication avec, en mémoire, une donnée unique d'identification ID, et une clé de transport/d'authentification MSKD, propres à chaque circuit intégré et à chaque service qu’il propose. Les circuits intégrés sont alors livrés au site de personnalisation 300 (étape E11), soit sous forme de wafer entier, soit déjà individualisés par découpage du wafer 1. A l'étape E12, les circuits intégrés reçus sont, si nécessaire, découpés du wafer reçu, puis par exemple montés sur une vignette pour former un module de carte à puce, et enfin insérés dans un corps de carte CO conforme à la norme ISO 7816 de sorte à créer une carte à puce.After the steps E8 and E9, the integrated circuits 10 leave the manufacturing site with, in memory, a unique identification data ID, and a transport / authentication key MSKD, specific to each integrated circuit and to each service. that he proposes. The integrated circuits are then delivered to the personalization site 300 (step E11), either as an entire wafer or already individualized by cutting the wafer 1. In step E12, the integrated circuits received are, if necessary, cut from the wafer. received, then for example mounted on a sticker to form a smart card module, and finally inserted into a CO card body complies with ISO 7816 so as to create a smart card.

Bien entendu, un même procédé est mis en œuvre pour la production de cartes sans contact ("contactless" ou "eCover" - nom commercial) en montant les circuits intégrés sur des modules de cartes sans contact, ou pour la production d'autres entités portables ou de poche, telles que les cartes mémoires (SD ou Flash) ou les clés USB, en sélectionnant le corps de l'entité devant recevoir le circuit intégré.Of course, the same method is implemented for the production of contactless cards ("contactless" or "eCover" - commercial name) by mounting the integrated circuits on contactless card modules, or for the production of other entities. portable or handheld devices, such as memory cards (SD or Flash) or USB sticks, by selecting the body of the entity to receive the integrated circuit.

La figure 8 illustre l'état du circuit intégré 10, au moment de la livraison E11 : la mémoire 12 comprend les clés personnelles MSKD, mais plus la clé racine MSK, et la mémoire OTP 15 comprend le drapeau 150.FIG. 8 illustrates the state of the integrated circuit 10, at the time of delivery E11: the memory 12 comprises the personal keys MSKD, but no longer the root key MSK, and the memory OTP 15 comprises the flag 150.

Survient ensuite la personnalisation de la carte à puce et donc du circuit intégré qu'elle contient, par un module/dispositif de personnalisation 320, pour répondre aux fonctions attendues. Selon les modes de réalisation actuellement décrits de l’invention, différentes clés intermédiaires ou personnelles dédiées à autant de services ont été générées pour permettre un contrôle sécurisé (par authentification) de l’accès à chacun des différents services de personnalisation disponibles (par exemple des services plus ou moins dégradés).Then follows the customization of the smart card and therefore the integrated circuit it contains, a module / personalization device 320, to meet the expected functions. According to the presently described embodiments of the invention, various intermediate or personal keys dedicated to so many services have been generated to enable secure (authentication) control of access to each of the various personalization services available (for example services more or less degraded).

La personnalisation du circuit à l’aide d’un service SERVI comprend, à l'étape E13’, une authentification entre la carte à puce CP et un dispositif d'accès et de personnalisation 310/320 disposant de la clé intermédiaire MSKL associée au service SERVI.The customization of the circuit using a SERVI service comprises, in step E13 ', an authentication between the smart card CP and an access and personalization device 310/320 having the intermediate key MSKL associated with the SERVI service.

Cette authentification a pour objectif par exemple d'autoriser ou non l'écriture des données dans la mémoire non volatile, type EEPROM, du circuit intégré 10,. Cette écriture est alors restreinte aux droits conférés par le service SERVI utilisé. Bien entendu, d’autres fonctionnalités/options que la simple écriture peuvent être accédées par la mise en œuvre de l’invention. L’authentification est notamment réalisée par communication avec le circuit intégré 10, au travers de l'interface de communication 14, par exemple au travers des contacts électriques selon la norme ISO 7816. A titre d'illustration non limitative, une authentification par algorithme challenge-réponse peut être mise en œuvre pour authentifier la carte CP par le dispositif d'accès ou de personnalisation. Une authentification similaire du dispositif d'accès ou de personnalisation par la carte CP est également prévue pour obtenir une authentification mutuelle des deux entités. L'authentification de la carte CP par le dispositif d'accès ou de personnalisation peut comprendre : - l'envoi d'une première commande numérique d'authentification de type commande APDU, par le dispositif d'accès ou de personnalisation auprès de la carte à personnaliser, communiquant un challenge c (typiquement un nombre aléatoire) de taille adéquate au circuit intégré 10, (étape E130). La commande APDU peut notamment indiquer le service SERV accédé. A ce stade, cette commande APDU constitue le tout premier signal numérique que reçoit généralement la carte à puce fabriquée ; - le calcul, par le circuit intégré 10, de la carte, d'une réponse res1 correspondant à un encryptage du challenge c par sa clé de transport ou d'authentification MSKD, propre associée au service SERV accédé (par exemple par application d'un algorithme symétrique DES ou AES) (étape E134); - l'envoi de la réponse res1, accompagnée de la donnée unique d'identification ID,, de la carte au dispositif d'accès ou de personnalisation (étape E135); - la calcul, par le dispositif d'accès ou de personnalisation, de la réponse res2 censée être reçue par celui-ci, en dérivant tout d'abord la clé intermédiaire pour le service accédé, MSKLserv, détenue (depuis l'étape E2’) à l'aide de la donnée unique d'identification ID, également reçue correspondant à cette carte, pour obtenir la clé personnelle MSKDi.ca,culéeSERV : MSKDi-calculéeSERV = SHA-256 (IDserv || IDcircuit || MSKL) (étape E136’); puis en calculant res2 à l'aide de cette clé personnelle, de façon similaire au calcul de res1 mais en utilisant cette fois-ci la clé MSKDi.caiCU|éeSERV; et - la comparaison entre les deux valeurs res1 et res2 pour valider ou non l'authentification (étape E137).The purpose of this authentication is, for example, to authorize or not the writing of the data in the non-volatile memory, type EEPROM, of the integrated circuit 10,. This writing is then restricted to the rights conferred by the SERVI service used. Of course, other functionalities / options than simple writing can be accessed by the implementation of the invention. The authentication is carried out in particular by communication with the integrated circuit 10, through the communication interface 14, for example through the electrical contacts according to the ISO 7816 standard. By way of non-limiting illustration, challenge algorithm authentication -response can be implemented to authenticate the CP card by the access device or personalization. A similar authentication of the access or personalization device by the CP card is also provided to obtain mutual authentication of the two entities. The authentication of the CP card by the access or personalization device may comprise: the sending of a first digital command authentication command APDU, by the access or personalization device to the card to personalize, communicating a challenge c (typically a random number) of adequate size to the integrated circuit 10, (step E130). The APDU command may in particular indicate the SERV service accessed. At this stage, this APDU command constitutes the very first digital signal generally received by the smart card manufactured; the calculation, by the integrated circuit 10, of the card, of a response res1 corresponding to an encryption of the challenge c by its own transport or authentication key MSKD associated with the SERV service accessed (for example by application of a symmetric DES or AES algorithm) (step E134); sending the response res1, accompanied by the unique identification data ID, from the card to the access or personalization device (step E135); the calculation, by the access or personalization device, of the response res2 supposed to be received by it, by first deriving the intermediate key for the accessed service, MSKLserv, owned (from step E2 ' ) using the unique identification data ID, also received corresponding to this card, to obtain the personal key MSKDi.ca, abutSERV: MSKDi-computedSERV = SHA-256 (IDserv || IDcircuit || MSKL) (step E136 '); then calculating res2 using this personal key, in a similar way to calculating res1 but this time using the key MSKDi.caiCU | eeSERV; and the comparison between the two values res1 and res2 to validate or not the authentication (step E137).

On constate donc que l'authentification peut être réalisée sans que le dispositif de personnalisation 320 ait connaissance de la clé racine MSK de laquelle découlent les clés personnelles MSKDîSERV des différents circuits intégrés. L'authentification du dispositif d'accès ou de personnalisation par la carte CP est similaire, en inversant les rôles: la première commande APDU permet à la carte CP de générer un nombre aléatoire c qui est alors communiqué au dispositif d'accès ou de personnalisation.It can therefore be seen that the authentication can be performed without the personalization device 320 being aware of the MSK root key from which the personal keys MSKDIServ of the various integrated circuits flow. The authentication of the access or personalization device by the CP card is similar, by inverting the roles: the first APDU command enables the CP card to generate a random number c which is then communicated to the access or personalization device .

En cas d'authentification mutuelle positive, la personnalisation E14 du circuit intégré de la carte à puce CP est alors réalisée par le dispositif de personnalisation, à l’aide du service SERV accédé. Sinon la personnalisation n'est pas autorisée.In the case of positive mutual authentication, the personalization E14 of the integrated circuit of the smart card CP is then performed by the personalization device, using the SERV service accessed. Otherwise the customization is not allowed.

Une telle personnalisation peut consister à mémoriser des instructions de logiciel en mémoire non volatile 12 du circuit intégré de sorte que la carte à puce offre des fonctions (porte-monnaie électronique, titre de transport, passeport, etc.).Such customization may consist in storing software instructions in nonvolatile memory 12 of the integrated circuit so that the smart card offers functions (electronic purse, ticket, passport, etc.).

Par ailleurs, un choix approprié des critères appliqués pour chaque étape S1 ou S2 de diversification permet d'obtenir des clés intermédiaires opérationnelles pour un nombre plus ou moins limité de circuits intégrés, par service. Notamment, chaque clé intermédiaire MSKL fournie à 300 peut concerner uniquement les circuits intégrés traités par 300, en livrant par exemple uniquement les lots ou wafers dont l'identifiant ID|0, ou IDwafer a servi à la génération ΕΓ de chacune de ces clés intermédiaires MSKL communiquées.Moreover, an appropriate choice of criteria applied for each diversification step S1 or S2 makes it possible to obtain operational intermediate keys for a more or less limited number of integrated circuits, per service. In particular, each MSKL intermediate key supplied to 300 can only concern integrated circuits processed by 300, for example by delivering only the batches or wafers whose identifier ID | 0, or IDwafer was used for the generation ΕΓ of each of these intermediate keys. MSKL communicated.

Les figures 9 et 10 illustrent un deuxième mode de réalisation de l'invention, dans lesquelles les mêmes références que celles décrites précédemment concernent des mêmes éléments ou mêmes étapes.Figures 9 and 10 illustrate a second embodiment of the invention, wherein the same references as those described above relate to the same elements or the same steps.

Ce mode de réalisation se distingue du premier en ce que la génération des clés personnelles MSKDîSERV au sein des circuits intégrés 10, est réalisée à réception de la première commande valide par le circuit intégré 10,, c'est-à-dire à réception d'un signal numérique, dans notre exemple la commande APDU E130.This embodiment differs from the first in that the generation of the personal keys MSKDIServ in the integrated circuits 10, is carried out on receipt of the first valid command by the integrated circuit 10 ,, that is to say on receipt of a digital signal, in our example the command APDU E130.

Le module de programmation 220 inscrit (E4') toujours en mémoire non volatile 12 du circuit intégré 10, la clé racine MSK, les identifiants de service et le numéro de série ID,.The programming module 220 inscribes (E4 ') still in nonvolatile memory 12 of the integrated circuit 10, the root key MSK, the service identifiers and the serial number ID.

Puis, un test d'alimentation E6 simplifié est mis en œuvre, en remplacement du test E6’.Ce test E6 comprend l'étape E60 au cours de laquelle le module de contrôle avec tête d'alimentation (ce peut être le même module que le module de programmation 220 muni de sa tête 230) se connecte aux contacts électriques externes normaux de l'interface de communication et met le circuit intégré 10j sous tension en lui appliquant un premier signal analogique d'alimentation électrique.Then, a simplified E6 power test is implemented, replacing the test E6 '. This test E6 includes the step E60 during which the control module with feed head (it can be the same module as the programming module 220 provided with its head 230) connects to the normal external electrical contacts of the communication interface and turns on the integrated circuit 10j by applying a first analog power supply signal.

Selon la norme ISO/IEC 7816, le circuit 10, répond alors, à la mise sous tension, par un message ATR ("Answer To Resef') à l'étape E65. Dans le cadre de la norme ISO/IEC 14443 (cartes sans contact), cette réponse prend la forme d'un message ATS ("Answer To Select').According to the ISO / IEC 7816 standard, the circuit 10 then responds, at power-up, with an ATR message ("Answer To Resef") in step E65, in the context of the ISO / IEC 14443 standard (cards contactless), this response takes the form of an ATS ("Answer To Select") message.

Au moment de la livraison E11, la mémoire 12 comprend alors la clé racine MSK et non les clés personnelles MSKDîSERV, et ne comprend pas le drapeau 150 en mémoire OPT 15 (figure 6). L'authentification E13" diffèrent en ce qu'à réception E130 de la toute première commande APDU, l'exécution du programme de génération automatique des clés personnelles de transport/d'authentification MSKDîSERV est déclenchée au sein du circuit intégré 10, pour l’ensemble des services proposés par le circuit intégré (E131").At the time of delivery E11, the memory 12 then comprises the root key MSK and not the personal keys MSKDIServ, and does not include the flag 150 in the memory OPT 15 (Figure 6). The authentication E13 "differs in that on receipt E130 of the very first command APDU, the execution of the program for automatic generation of personal keys transport / authentication MSKDîSERV is triggered within the integrated circuit 10, for the set of services offered by the integrated circuit (E131 ").

Bien entendu, d'autres critères de déclenchement à réception d'une "première" commande peuvent être mis en œuvre, comme par exemple la réception d'une première commande valide susceptible d'entraîner l'exécution d'une action par le processeur 11, ou d'une première commande parmi une catégorie de commandes ou parmi une liste prédéfinie de commandes.Of course, other triggering criteria upon receipt of a "first" command may be implemented, such as for example the receipt of a first valid command likely to cause the execution of an action by the processor 11 , or a first order among a class of orders or from a predefined list of orders.

Les étapes E132" et E133" sont respectivement similaires aux étapes E62' et E63' décrites précédemment, conduisant, à réception d'une commande, à vérifier la présence ou non du flag 150 en mémoire 15 avant de déclencher l'exécution E131 " de la génération des clés personnelles MSKDîServ.The steps E132 "and E133" are respectively similar to the steps E62 'and E63' described above, leading, upon receipt of a command, to check the presence or absence of the flag 150 in memory 15 before triggering the execution E131 "of the generation of personal keys MSKDîServ.

Les étapes suivantes E134, E135, E136', E137 et E14 sont inchangées permettant l'authentification et la personnalisation du circuit intégré 10,. L'état de ce circuit intégré avant l'étape de personnalisation E14 est identique à celui représenté sur la figure 8.The following steps E134, E135, E136 ', E137 and E14 are unchanged allowing authentication and customization of the integrated circuit 10,. The state of this integrated circuit before the customization step E14 is identical to that shown in FIG. 8.

De façon similaire au premier mode de réalisation, l'ordre des étapes E131", E132", E133" peut être modifié, étant entendu que l'étape E135 fournit, dans la réponse, la valeur res1 calculée à partir de la clé personnelle MSKDîSERV associée au service utilisé, telle que générée à l'étape E131".Similarly to the first embodiment, the order of the steps E131 ", E132", E133 "can be modified, it being understood that the step E135 provides, in the response, the value res1 computed from the personal key MSKDISERV associated with the service used, as generated in step E131 ".

En outre, lors de l'authentification E13", le dispositif de personnalisation 320 est configuré pour attendre le temps nécessaire pour que le circuit intégré 10, puisse générer les clés personnelles MSKDîSERV, soit généralement au moins 50 ms, voire 100, 250 ou 500 ms, avant de générer un message d'erreur ou d'envoyer une nouvelle commande APDU.In addition, during the authentication E13 ", the personalization device 320 is configured to wait for the time necessary for the integrated circuit 10 to generate the personal keys MSKDIServ, generally at least 50 ms, or even 100, 250 or 500 ms, before generating an error message or sending a new APDU command.

On notera toutefois que les temps d'attente de tels dispositifs 320 à des commandes est généralement plus important que celui du module de contrôle 220 évoqué précédemment. A titre d'exemple, il est courant que des lecteurs de carte à puce attentent une seconde avant de considérer que l'opération demandée est un échec.Note, however, that the waiting times of such devices 320 to commands is generally greater than that of the control module 220 mentioned above. For example, it is common for smart card readers to wait a second before considering that the requested operation is a failure.

Ainsi, ce mode de réalisation s'intégre particulièrement bien aux temps d'attente actuels des dispositifs de lecture de circuits intégrés ou cartes à puces. La génération des clés personnelles MSKDîSERV apparaît ainsi quasi transparente eu égard au délai de traitement de la commande numérique.Thus, this embodiment integrates particularly well with the current waiting times of integrated circuit or chip card reading devices. The generation of personal keys MSKDîSERV thus appears almost transparent with regard to the processing time of the numerical control.

Egalement, la réponse E135 peut renseigner de toute erreur ou anomalie s'étant produite pendant la génération E131" ou les enregistrements E132" et E133".Also, the response E135 can indicate any error or anomaly that occurred during the generation E131 "or the records E132" and E133 ".

Par ailleurs, bien que dans ces exemples de réalisation, la première partie IDiot (ou IDWafer) du numéro de série et la deuxième partie IDcircui, de ce même numéro de série utilisées pour la génération en deux étapes successives de diversification des clés personnelles sont des parties complémentaires du numéro de série unique: ID, = IDiot (ou IDwafer) || IDcircuit, il peut être prévu que ce ne soit pas le cas, par exemple que ces deux parties soient différentes mais avec une sous-partie en commun (à titre d'exemple ID,0t et IDwafer d'un côté, et IDwafer et IDcircuit de l'autre côté).Moreover, although in these exemplary embodiments, the first part IDiot (or IDWafer) of the serial number and the second part IDcircui, of this same serial number used for the generation in two successive stages of diversification of the personal keys are additional parts of the unique serial number: ID, = IDiot (or IDwafer) || IDcircuit, it may be expected that this is not the case, for example that these two parts are different but with a subpart in common (for example ID, 0t and IDwafer on one side, and IDwafer and IDcircuit on the other side).

Dans une variante de ces deux modes de réalisation, les étapes E2 et E2' consistent à envoyer, aussi bien au site de personnalisation 300 qu'au site de fabrication 200, les clés intermédiaires MSKL associées à différents services, telles que générées lors de l'étape ΕΓ.In a variant of these two embodiments, the steps E2 and E2 'consist in sending, both to the customization site 300 and to the manufacturing site 200, the intermediate keys MSKL associated with various services, such as generated during the first time. 'step ΕΓ.

Dans ce cas, l'étape E4' consiste à enregistrer les clés MSKL (pour les services offerts) en mémoire des circuits intégrés 10, et les étapes E61' et E131" consistent à mettre en œuvre uniquement la deuxième opération de diversification, dans notre exemple : MSKDiSERV = SHA-256 ( IDSErv II IDcircuit || MSKL ).In this case, the step E4 'consists in registering the keys MSKL (for the services offered) in memory of the integrated circuits 10, and the steps E61' and E131 "consist in implementing only the second diversification operation, in our example: MSKDiSERV = SHA-256 (IDSErv II IDcircuit || MSKL).

Les figures 4 et 8 s'appliquent également à ce deuxième mode de réalisation, si ce n'est que, dans l'état de la figure 4, la mémoire 12 comprend les clés intermédiaires MSKLserv en lieu et place de la clé racine MSK.FIGS. 4 and 8 also apply to this second embodiment, except that, in the state of FIG. 4, the memory 12 comprises the intermediate keys MSKLserv instead of the root key MSK.

Une autre variante de l'invention consiste à ce que le fondeur 100 calcule lui-même les clés personnelles MSKDjSERV (étape E3) par diversification de la clé MSK ou des clés intermédiaires MSKLSErv selon qu'il a reçu l'une ou les autres. D’une façon générale, la double diversification des clés par service telle que proposée ici permet une utilisation des clés personnelles MSKDîSERV de plusieurs manières.Another variant of the invention consists in that the founder 100 itself calculates the personal keys MSKDjSERV (step E3) by diversification of the key MSK or intermediate keys MSKLSErv according to whether it has received one or the other. In general, the dual diversification of keys by service as proposed here allows the use of personal keys MSKDISERV in several ways.

Si l’utilisateur ou opérateur souhaitant accéder à un service du circuit intégré possède uniquement la référence au secret initial MSK, il doit appliquer la première diversification S1 à l’aide de IDserv et ID|0t afin d’obtenir la clé intermédiaire MSKLserv propre au service souhaité. Puis il doit appliquer la seconde diversification S2 pour obtenir la clé personnelle MSKDîSERV du circuit considéré pour le service désiré. Il peut alors réaliser l’opération souhaitée avec cette clé dédiée au service désiré.If the user or operator wishing to access a service of the integrated circuit has only the reference to the initial secret MSK, he must apply the first diversification S1 using IDserv and ID | 0t in order to obtain the intermediate key MSKLserv specific to the desired service. Then he must apply the second diversification S2 to obtain the personal key MSKDîSERV of the circuit considered for the desired service. He can then perform the desired operation with this key dedicated to the desired service.

Si l’utilisateur ou opérateur souhaitant accéder à un service du circuit intégré possède uniquement déjà la clé intermédiaire MSKLserv propre au service souhaité (car des figures 3 à 10), il doit uniquement appliquer la seconde diversification S2 pour obtenir la clé personnelle MSKDîSERV du circuit considéré pour le service désiré. Il peut alors réaliser l’opération souhaitée avec cette clé dédiée au service désiré.If the user or operator wishing to access a service of the integrated circuit only already has the intermediate key MSKLserv specific to the desired service (because of Figures 3 to 10), it must only apply the second diversification S2 to obtain the personal key MSKDIServ of the circuit considered for the desired service. He can then perform the desired operation with this key dedicated to the desired service.

Puis si l’utilisateur ou opérateur souhaite utiliser un autre service, il doit : soit utiliser l’identifiant IDsen, du nouveau service (en plus de la donnée ID|0t de dérivation) avec la référence au secret initial MSK ; soit utiliser une autre clé intermédiaire MSKLServ dédiée au nouveau service.Then, if the user or operator wishes to use another service, he must: either use the identifier IDsen, of the new service (in addition to the data ID | 0t of derivation) with the reference to the initial secret MSK; or use another intermediate key MSKLServ dedicated to the new service.

On voit que la solution proposée ici par l’invention conduit à obtenir plusieurs clés personnelles MSKDjSERV à partir d’une seule référence de secret initial MSK. La connaissance d’une telle clé personnelle MSKDjSERV ne compromet ni le secret initial MSK, ni sa propre clé intermédiaire MSKLSErv (car les diversifications ne sont pas inversibles), ni les autres clés intermédiaires et personnelles associées aux autres services. A noter que, bien que la description ci-dessus envisage une diversification à partir de l’identifiant IDserv lors de la première diversification S1, il peut être envisagé de réaliser celle-ci lors de la deuxième diversification S2.It can be seen that the solution proposed here by the invention leads to obtaining several personal keys MSKDjSERV from a single initial secret reference MSK. Knowledge of such a personal key MSKDjSERV does not compromise the original secret MSK or its own intermediate key MSKLSErv (because diversifications are not invertible), nor the other intermediate and personal keys associated with other services. Note that, although the description above envisages a diversification from the identifier IDserv during the first diversification S1, it can be envisaged to realize it during the second diversification S2.

Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.The foregoing examples are only embodiments of the invention which is not limited thereto.

Par exemple, bien qu'il soit fait mention de deux étapes S1 et S2 constitutives de la diversification de la clé racine MSK, un plus grand nombre d'étapes peut être prévu, générant plusieurs clés intermédiaires successives pour un même service. Un tel cas peut par exemple servir, pour une société à laquelle on livre un lot de wafers (première étape de diversification à l'aide de ID|0t permettant de générer une clé intermédiaire par service pour la société) qui sont répartis sur plusieurs sites de personnalisation (deuxième étape de diversification à l'aide de IDwafer permettant de générer, à partir de la clé intermédiaire précédemment obtenue, une nouvelle clé intermédiaire par service et par site). Chaque site réalise alors l'authentification E13' ou E13" à l'aide de la clé intermédiaire reçue pour le service utilisé.For example, although mention is made of two steps S1 and S2 constituting the diversification of the MSK root key, a greater number of steps can be provided, generating several successive intermediate keys for the same service. Such a case can for example be used, for a company to which a batch of wafers is delivered (first stage of diversification using ID | 0t to generate an intermediate key per service for the company) which are distributed over several sites. customization (second step of diversification using IDwafer to generate, from the intermediate key previously obtained, a new intermediate key by service and by site). Each site then performs authentication E13 'or E13 "using the intermediate key received for the service used.

De préférence, la diversification à l’aide de l’identifiant de service est réalisée dès la première diversification des diversifications successives. Bien entendu, elle peut en variante intervenir à un stade ultérieur.Preferably, the diversification using the service identifier is performed from the first diversification of the successive diversification. Of course, it can alternatively intervene at a later stage.

Notamment, la première diversification peut être réalisée dans le circuit intégré à réception du premier signal de mise sous tension (étape E6') et la deuxième diversification également dans le circuit intégré mais à réception du premier signal numérique (étape E13").In particular, the first diversification can be performed in the integrated circuit to receive the first power-up signal (step E6 ') and the second diversification also in the integrated circuit but on receiving the first digital signal (step E13 ").

Par ailleurs, l'invention peut être mise en œuvre dans des contextes d'utilisation différents du contexte de fabrication et de (pré)personnalisation des circuits intégrés comme décrit ci-dessus. A titre d'exemple, la clé racine peut être mémorisée dans la mémoire volatile lors de l'opération de personnalisation de la carte CP. Elle est ensuite diversifiée en des clés d'authentification personnelle pour divers services, dès la première utilisation chez un utilisateur (détection du premier signal issu d'un dispositif de lecture/écriture d'un utilisateur).Furthermore, the invention can be implemented in contexts of use different from the manufacturing context and (pre) customization of the integrated circuits as described above. For example, the root key can be stored in the volatile memory during the personalization operation of the CP card. It is then diversified into personal authentication keys for various services, from the first use in a user (detection of the first signal from a read / write device of a user).

Par ailleurs, bien que les exemples de diversification évoqués ci-dessus mettent en œuvre une opération de hachage type SHA-256, ces diversifications peuvent mettre en œuvre des opérations cryptographiques à clés symétriques ou asymétriques (AES, DES), soit directement sur tout ou partie des numéros de série ID,, soit sur le résultat de l'opération de hachage (dans ce cas on combine hachage et opération cryptographique).Moreover, although the examples of diversification mentioned above implement a SHA-256 hashing operation, these diversifications can implement symmetric or asymmetric key cryptographic operations (AES, DES), either directly on all or part of the serial numbers ID ,, either on the result of the hashing operation (in this case we combine hash and cryptographic operation).

Claims (10)

REVENDICATIONS 1. Procédé d’accès à un service (SERV) dans un circuit intégré (10,), comprenant : une étape d'authentification (E13', E13"), par un dispositif d'accès externe au circuit intégré, dudit circuit intégré en utilisant une clé personnelle d'authentification (MSKDîSERV) propre audit circuit intégré et mémorisée dans le circuit intégré, ladite clé personnelle d'authentification étant générée par une première diversification (S1) d'une clé racine (MSK) en une clé intermédiaire (MSKLServ)> suivie d’une deuxième diversification (S2) de la clé intermédiaire en la clé personnelle d’authentification ; en cas d’authentification réussie, une étape d’accès (E14) au service dans le circuit intégré ; caractérisé en ce que la première ou deuxième diversification comprend une opération de diversification de la clé racine ou intermédiaire à partir d'une information unique (IDserv) associée audit service à accéder.A method of accessing a service (SERV) in an integrated circuit (10), comprising: an authentication step (E13 ', E13 "), by an external access device to the integrated circuit, of said integrated circuit using a personal authentication key (MSKDîSERV) specific to said integrated circuit and stored in the integrated circuit, said personal authentication key being generated by a first diversification (S1) of a root key (MSK) into an intermediate key ( MSKLServ)> followed by a second diversification (S2) of the intermediate key into the personal authentication key, in the case of successful authentication, an access step (E14) to the service in the integrated circuit, characterized in that the first or second diversification comprises a diversification operation of the root or intermediate key from a unique information (IDserv) associated with said service to be accessed. 2. Procédé selon la revendication 1, dans lequel l’opération de diversification à partir de ladite information unique associée audit service à accéder est incluse dans la première diversification diversifiant la clé racine en une clé intermédiaire.2. The method of claim 1, wherein the diversification operation from said unique information associated with said service to be accessed is included in the first diversification diversifying the root key into an intermediate key. 3. Procédé selon la revendication 2, dans lequel la première diversification (S1) de la clé racine en la clé intermédiaire comprend, en outre, une opération de diversification de la clé racine à partir d'un identifiant (ID|0t) de lot constitué d’une pluralité de circuit intégrés.3. The method according to claim 2, wherein the first diversification (S1) of the root key into the intermediate key further comprises an operation of diversification of the root key from a batch identifier (ID | 0t). consisting of a plurality of integrated circuits. 4. Procédé selon la revendication 3, dans lequel l’identifiant de lot constitue une première sous-partie d’un numéro de série du circuit intégré (ID,).4. The method of claim 3, wherein the batch identifier is a first sub-part of a serial number of the integrated circuit (ID,). 5. Procédé selon la revendication 4, dans lequel la deuxième diversification (S2) diversifiant la clé intermédiaire en la clé personnelle comprend une opération de diversification de ladite clé intermédiaire à partir d'une deuxième sous-partie (IDcircuit), distincte de la première sous-partie, du numéro de série du circuit intégré.5. Method according to claim 4, wherein the second diversification (S2) diversifying the intermediate key into the personal key comprises a diversification operation of said intermediate key from a second sub-part (IDcircuit), distinct from the first subpart, of the serial number of the integrated circuit. 6. Procédé selon la revendication 4 ou 5, dans lequel le numéro de série unique du circuit intégré est mémorisé en mémoire non volatile du circuit intégré.6. The method of claim 4 or 5, wherein the unique serial number of the integrated circuit is stored in nonvolatile memory of the integrated circuit. 7. Procédé selon l’une quelconque des revendications 1 à 6, dans lequel la deuxième diversification de la clé intermédiaire en la clé personnelle d’authentification comprend une opération de diversification de la clé intermédiaire à partir d'un numéro de série unique (ID,, IDcircuit) du circuit intégré.The method of any one of claims 1 to 6, wherein the second diversification of the intermediate key into the personal authentication key comprises a diversification operation of the intermediate key from a unique serial number (ID ,, IDcircuit) of the integrated circuit. 8. Procédé selon l’une quelconque des revendications 1 à 7, dans lequel l’accès au service comprend la personnalisation du circuit intégré à l’aide de données spécifiques audit circuit intégré.The method of any one of claims 1 to 7, wherein accessing the service comprises customizing the integrated circuit using data specific to said integrated circuit. 9. Système d’accès à un service dans un circuit intégré, comprenant un dispositif d’accès externe au circuit intégré, ledit dispositif d’accès comprenant des instructions de code qui lorsqu’elles sont exécutées par un processeur conduisent le dispositif d’accès à effectuer les étapes suivantes : une étape d'authentification dudit circuit intégré en utilisant une clé personnelle d'authentification propre audit circuit intégré et mémorisée dans le circuit intégré, ladite clé personnelle d'authentification étant générée par une première diversification d'une clé racine en une clé intermédiaire, suivie d’une deuxième diversification de la clé intermédiaire en la clé personnelle d’authentification ; en cas d’authentification réussie, une étape d’accès au service dans le circuit intégré ; caractérisé en ce que la première ou deuxième diversification comprend une opération de diversification de la clé racine ou intermédiaire à partir d'une information unique associée audit service à accéder.A system for accessing a service in an integrated circuit, comprising an access device external to the integrated circuit, said access device comprising code instructions which when executed by a processor drive the access device performing the following steps: an authentication step of said integrated circuit using a personal authentication key specific to said integrated circuit and stored in the integrated circuit, said personal authentication key being generated by a first diversification of a root key in an intermediate key, followed by a second diversification of the intermediate key into the personal authentication key; in the case of successful authentication, a step of accessing the service in the integrated circuit; characterized in that the first or second diversification comprises a diversification operation of the root or intermediate key from a unique information associated with said service to access. 10. Système selon la revendication 9, configuré pour, lors de la première diversification, diversifier la clé racine en une clé intermédiaire à partir de ladite information unique associée audit service à accéder et à partir d'un identifiant de lot constitué d’une pluralité de circuit intégrés ; et pour, lors de la deuxième diversification, diversifier la clé intermédiaire ainsi obtenue en la clé personnelle à partir d'un numéro de série du circuit intégré.10. System according to claim 9, configured for, during the first diversification, diversify the root key into an intermediate key from said unique information associated with said service to access and from a batch identifier consisting of a plurality integrated circuits; and for, during the second diversification, diversify the intermediate key thus obtained in the personal key from a serial number of the integrated circuit.
FR1559798A 2015-10-15 2015-10-15 METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY Active FR3042626B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1559798A FR3042626B1 (en) 2015-10-15 2015-10-15 METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1559798A FR3042626B1 (en) 2015-10-15 2015-10-15 METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY

Publications (2)

Publication Number Publication Date
FR3042626A1 true FR3042626A1 (en) 2017-04-21
FR3042626B1 FR3042626B1 (en) 2018-10-12

Family

ID=55178140

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1559798A Active FR3042626B1 (en) 2015-10-15 2015-10-15 METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY

Country Status (1)

Country Link
FR (1) FR3042626B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220377061A1 (en) * 2021-05-20 2022-11-24 Zebra Technonolgies Corporation Accelerated Reconnection in Authenticated Networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2388948A1 (en) * 2010-05-20 2011-11-23 Oberthur Technologies Method and system for access to an integrated circuit comprising a personal authentication key
US20150073996A1 (en) * 2013-09-10 2015-03-12 Oleg Makhotin Mobile Payment Application Provisioning And Personalization on a Mobile Device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2388948A1 (en) * 2010-05-20 2011-11-23 Oberthur Technologies Method and system for access to an integrated circuit comprising a personal authentication key
US20150073996A1 (en) * 2013-09-10 2015-03-12 Oleg Makhotin Mobile Payment Application Provisioning And Personalization on a Mobile Device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220377061A1 (en) * 2021-05-20 2022-11-24 Zebra Technonolgies Corporation Accelerated Reconnection in Authenticated Networks

Also Published As

Publication number Publication date
FR3042626B1 (en) 2018-10-12

Similar Documents

Publication Publication Date Title
EP2388949B1 (en) Method of managing electronic devices, such as integrated circuits, with internal generation of a personal authentication key
EP2688010B1 (en) Update of an operating system for a secure element
EP0414314B1 (en) Single-number generation method for micro-chip card and use of same for the cooperation of the card with a host-system
WO2005119583A2 (en) Security module component
EP2388948B1 (en) Method and system for access to an integrated circuit comprising a personal authentication key
FR3025377A1 (en) MANAGEMENT OF ELECTRONIC TICKETS
EP2447835A1 (en) Method for configuring an electronic entity
CA2888662A1 (en) System and method for securing data exchange, portable user object and remote device for downloading data
EP3104320B1 (en) Method for programming bank data in an integrated circuit of a watch
FR2908209A1 (en) PORTABLE ELECTRONIC ENTITY AND METHOD FOR CUSTOMIZING SUCH AN ELECTRONIC ENTITY
EP3234848B1 (en) Method of dispatching an item of security information and electronic device able to implement such a method
FR3042626A1 (en) METHOD AND SYSTEM FOR SECURE ACCESS AND DISCRIMINATION TO INTEGRATED CIRCUIT SERVICES BY DIVERSIFYING A SINGLE ROOT KEY
WO2011003722A1 (en) Software security module using the encryption of the hash of a password concatenated with a seed
EP3340098A1 (en) Method for securing an electronic operation with a smart card
EP2933767B1 (en) Method for deactivating a payment module, corresponding computer program product, storage medium and payment module
FR2656126A1 (en) METHOD FOR GENERATING A RANDOM NUMBER IN A SYSTEM WITH PORTABLE ELECTRONIC OBJECTS, AND SYSTEM FOR IMPLEMENTING THE METHOD.
FR3055761A1 (en) METHOD FOR CONTROLLING AN ELECTRONIC DEVICE AND CORRESPONDING ELECTRONIC DEVICE
EP2280380B1 (en) Method for customising an electronic entity, and electronic entity implementing this method
EP1547005B2 (en) Microcircuit card whereof the performances can be modified after customization
EP3032450B1 (en) Method for checking the authenticity of a payment terminal and terminal thus secured
FR3099272A1 (en) Securing method, and associated electronic device
EP3021515B1 (en) Enhancement of the authentic integrity of data using the last block encrypting said data in cbc mode
EP2245604B1 (en) Method for verifying a code
WO2004093019A1 (en) Electronic entity secured by a modifiable counter for the uses of classified data
WO2012172245A1 (en) Secure transfer between non-volatile memory and volatile memory

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170421

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20180910

CJ Change in legal form

Effective date: 20180910

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

CA Change of address

Effective date: 20200909

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9