WO2019234346A1 - Chip card personalisable in a secure manner and method for secure personalisation - Google Patents
Chip card personalisable in a secure manner and method for secure personalisation Download PDFInfo
- Publication number
- WO2019234346A1 WO2019234346A1 PCT/FR2019/051324 FR2019051324W WO2019234346A1 WO 2019234346 A1 WO2019234346 A1 WO 2019234346A1 FR 2019051324 W FR2019051324 W FR 2019051324W WO 2019234346 A1 WO2019234346 A1 WO 2019234346A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- microcontroller
- secure element
- configuration
- smart card
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
- G06K19/07716—Constructional details, e.g. mounting of circuits in the carrier the record carrier comprising means for customization, e.g. being arranged for personalization in batch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/356—Aspects of software for card payments
- G06Q20/3563—Software being resident on card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
Definitions
- the invention is in the field of security devices of the smart card type comprising a secure element and a customizable microcontroller. It relates, in particular, a customizable smart card and a method of personalizing such a smart card.
- the present invention relates to a security device such as a smart card, for example of the banking type or identity document.
- the smart card typically comprises a secure element dedicated to secure payment and / or storage of sensitive data, for example identity data.
- the secure element can communicate with a card reader via a communication interface, for example compliant with ISO 7816 (contact communication) or IS014443 or NFC / ISO 15693 (contactless communication).
- a communication interface for example compliant with ISO 7816 (contact communication) or IS014443 or NFC / ISO 15693 (contactless communication).
- the configuration of the secure element is done via this communication interface. It is thus possible to modify the applications or applets of the secure element in order to personalize it and to evolve, among other things, the security policy of the smart card.
- the smart card also includes one or more microcontroller (s) customizable (s) of the type Bluetooth microcontroller (Bluetooth is a trademark) or biometric data extractor (for example fingerprint).
- microcontrollers customizable (s) of the type Bluetooth microcontroller (Bluetooth is a trademark) or biometric data extractor (for example fingerprint).
- Other types of microcontrollers may be envisaged, in particular an interface control component such as a display, a light-emitting diode (LED) or a buzzer.
- microcontrollers allow to offer performance and features tailored to users of this type of card.
- the customization of these microcontrollers can be done at different times: either during the production of the microcontroller, that is to say before it is installed on the smart card, or during the life of the card.
- the configuration is usually frozen once the microcontroller is installed on the card.
- the customization of the microcontroller during the life of the smart card requires an adaptation of existing personalization equipment.
- the known smart card personalization equipment are adapted to communication with the secure element but require adaptations to communicate with the microcontroller also present on the card.
- the communications with the secure element and the microcontroller must then be implemented sequentially to execute their respective personalization, so that the personalization time increases significantly.
- the present invention thus aims to overcome at least one of these disadvantages.
- a first aspect of the invention relates to a customizable smart card comprising:
- the smart card being characterized in that the secure element is configured to configure the microcontroller.
- the secure element is configured to apply a configuration to the microcontroller and / or modify the current / current configuration of the microcontroller.
- the invention makes it possible to modify the functionalities of the smart card without requiring modification of the personalization equipment to do this.
- the configuration of the microcontroller can consist of parameters, data, and / or all or part of the microcontroller software.
- the configuration of the microcontroller notably makes it possible to adapt its behavior and / or that of the software executed by it, in particular with respect to the element secure and / or external device.
- the configuration of the microcontroller also makes it possible to adapt the behavior of communication interfaces between this and the secure element, a button, a sensor or other.
- the configuration of the microcontroller makes it possible to adapt its internal behavior.
- a second aspect of the invention relates to a method of personalizing a smart card comprising:
- the method being characterized in that it comprises the configuration, by the secure element, of the microcontroller.
- the secure element is configured to verify the configuration of the microcontroller.
- the microcontroller is authorized to access services and / or data of the secure element after checking the configuration of the microcontroller, including its integrity by the secure element.
- the secure element could also check the entire microcontroller software.
- the microcontroller is a wireless communication manager.
- the smart card includes a biometric sensor
- the microcontroller is configured to extract biometric data from the biometric sensor.
- the configuration of the microcontroller defines a wireless communication service.
- Such a service can be generally defined as a structure / collection of messages / data associated with a behavior to perform a particular function.
- This structure / collection is possibly associated with an identifier and can be hierarchical.
- the configuration of the microcontroller defines rules relating to the routing of the data by the microcontroller.
- the routing could consist of identifying the display on which the microcontroller must display the data received for each application of the secure element.
- the configuration of the microcontroller indicates a datum or type of data or a service that the microcontroller is authorized to obtain from the secure element or from an external device.
- such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive.
- the certificate may be signed by a trusted third party recognized by the secure element and / or the external device that sends the data.
- the configuration of the microcontroller specifies a period of validity of the data or the type of data, at the end of which the data can no longer be used by the microcontroller or a period of validity of the service. , at the end of which the service can no longer be used by the microcontroller.
- an expiry date could be defined instead of a period of validity.
- the secure element controls the security policy of the entire card, even in this energy-saving mode, since it dictates the configuration to be applied.
- the secure element dictates the security policy to be applied for all the data of the card.
- the service can be erased from the memory by the microcontroller.
- the configuration of the microcontroller specifies the write mode to be used by the microcontroller to store the data or the service.
- the write mode can be synchronous or asynchronous.
- the configuration defines rules for the implementation of security countermeasures by the microcontroller in response to the detection of an attack.
- Such a countermeasure comprises for example the writing of a blocking data (or lock) in a rewritable non-volatile memory of the microcontroller.
- the presence of blocking data in memory will prevent any subsequent operation of the microcontroller.
- Such a countermeasure may also consist, for example, in the deletion of data or services the use of which has been previously authorized by the secure element, although the validity period has not expired and / or the inhibition of the mechanism allowing the microcontroller to store such data.
- the detected attack is for example a non-invasive attack during which the card is not modified / altered, a semi-invasive attack during which the card is physically damaged, or an invasive attack during which the card is damaged. physical integrity of the secure element and / or the microcontroller is impaired.
- Examples of events that can be considered as attacks are: the reception of a signal from a sensor of the secure element / microcontroller indicating an abnormal temperature, a loss of integrity of the protective layer, a predetermined number of successive erroneous PIN code tests;
- the secure element is configured to authenticate the microcontroller, the configuration of the microcontroller can not be modified after authentication of the microcontroller by the secure element.
- the configuration of the microcontroller can be conditioned by the authentication of the secure element by the microcontroller.
- the microcontroller is configured to apply a configuration modified by the secure element to detection of a predefined event.
- the microcontroller is configured to solicit (near the secure element) the modification of its configuration. Typically, this request can take place with detection of a predefined event.
- the secure element is configured to configure the microcontroller to detect a predefined event.
- this event may be the reception of information from the secure element, for example following the detection of an attack by the secure element or following the successful verification of a PIN code by the security element. secure element.
- this predefined event may be the reception of information by the microcontroller. For example, receiving data via Bluetooth if the microcontroller is a Bluetooth controller, detecting a finger if the microcontroller controls a fingerprint sensor, or pressing a button if the microcontroller controls a button.
- the event may be the expiration of a delay / a timeout.
- this timer is managed by the microcontroller and starts for example from the moment the card is powered (power-on).
- the secure element is configured to configure the microcontroller at the first power on of the smart card. following the end of an initial configuration of the secure element via the communication interface or following the end of the configuration of the secure element via the communication interface.
- changing the configuration of the secure element includes adding a new application or updating the setting associated with an application or group of applications of the secure element.
- the secure element may refuse to provide a service and / or data to the microcontroller until the microcontroller has requested and / or saved and / or applied the modified configuration.
- the communication interface is a contact communication interface according to the ISO 7816 standard or a contactless communication interface according to the ISO 14443 and / or ISO 15693 standard.
- the communication interface may comprise a serial link of the SPI or I2C type.
- the various steps of the aforementioned methods are determined by instructions of computer programs.
- the invention also relates to computer programs on information carriers, these programs being capable of being implemented by microprocessors, and comprising instructions adapted to the implementation of the steps of the processes such as mentioned above.
- These programs can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
- the invention is also directed to microprocessor-readable information carriers, and including computer program instructions as mentioned above.
- the information carriers may be any entity or device capable of storing the programs.
- the media may comprise a storage means, such as a ROM, for example a microcircuit ROM, or a magnetic recording means, for example a hard disk, or a flash memory.
- the information carriers may be transmissible media such as electrical or optical signals, which may be conveyed via an electrical or optical cable, by radio or by other means.
- the programs according to the invention can in particular be downloaded on a storage platform of an Internet type network.
- the information carriers may be integrated circuits in which the programs are incorporated, the circuits being adapted to execute or to be used in the execution of the processes in question.
- FIG. 1 comprises FIGS. 1a and 1b which illustrate, in a simplified manner, examples of smart cards in accordance with embodiments of the present invention
- FIG. 2 shows schematically an example of possible architecture for a smart card according to embodiments of the invention
- FIG. 3 shows, in the form of a timing diagram, steps of personalization of the secure element of the smart card
- FIG. 4 represents, in chronogram form, steps of a smart card personalization method according to a first embodiment of the invention
- FIG. 5 represents, in chronogram form, steps of a chip card personalization method according to a second embodiment of the invention.
- FIG. 6 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration
- FIG. 7 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration by the secure element according to a variant of FIG. 6;
- FIG. 8 shows, in the form of a timing diagram, steps of a routing between the secure element and an external device, implemented by the microcontroller;
- FIG. 9 illustrates, in the form of a timing diagram, the steps implemented to obtain data or access to a service of the secure element by the microcontroller
- FIG. 10 illustrates, in the form of a timing diagram, steps implemented by the microcontroller for obtaining data or accessing a service of an external device
- FIG. 11 illustrates, in the form of a timing diagram, the steps implemented for the use of data associated with a period of validity by an external device according to a first example
- FIG. 12 illustrates, in the form of a timing diagram, the steps implemented for the use of data associated with a period of validity by an external device according to a second example
- FIG. 13 comprises FIGS. 13a and 13b which respectively illustrate, in the form of timing diagrams, synchronous writing and asynchronous writing according to embodiments.
- the invention relates to a smart card comprising a secure element and a microcontroller, such as a Bluetooth microcontroller (Bluetooth is a brand).
- a microcontroller such as a Bluetooth microcontroller (Bluetooth is a brand).
- the invention is not limited to this particular embodiment. In particular, it could apply to a smart card without a Bluetooth microcontroller, for example with a biometric analyzer. Other types of microcontrollers can of course be considered.
- the secure element of the card can be customized, that is to say that its configuration can be changed via a communication interface with an external device, for example a smart card reader, typically a payment terminal.
- the secure element that will customize the microcontroller, that is to say modify its configuration.
- the secure element will also verify the configuration of the microcontroller to ensure that its security policy is respected / applied.
- a service can be generally defined as a structure / collection of messages / data associated with a behavior to perform a particular function. This structure / collection is possibly associated with an identifier and can be hierarchical.
- configuration and “customization” refer to the configuration of a component during the production of the card as well as to the configuration of the component during the use of the card.
- change configuration are synonymous with “configure”. Thus, it may be a configuration involved during the manufacture of the smart card as well as a configuration occurring during the life of the card.
- Figure 1 includes Figures 1a and 1b which illustrate, in a simplified manner, examples of smart cards in accordance with embodiments of the present invention.
- the smart card 1 comprises a secure element 10 which communicates with a terminal 12 via a contact communication interface 1 1 in accordance with the ISO 7816 standard.
- the terminal 12 is for example a reader of FIG. Smartcard.
- the invention is not limited to this type of communication interface. Alternatively, it could be an I2C or SPI serial link, or a non-contact interface compliant with IS014443 or NFC / ISO 15693 standards.
- the smart card 1 also includes a microcontroller 14 configured to control a biometric sensor 16.
- the biometric sensor 16 is for example a fingerprint sensor.
- the microcontroller communicates with the external terminal via the ISO link 7816 between the secure element 10 and the terminal 12.
- the smart card 1 ' differs from that of the example of FIG. 1a in that it comprises a microcontroller 14' configured to control a wireless communication interface 16 ' , here complies with the Bluetooth standard (Bluetooth is a trademark).
- the microcontroller can communicate with the external terminal either via the ISO link 7816 between the secure element 10 and the terminal 12 or via the wireless communication interface 16 '.
- FIG 2 shows schematically an example of possible architecture for a smart card 20 according to embodiments of the invention.
- This architecture can for example apply to the card 1, 1 'shown in Figures 1a and 1b.
- This smart card 20 comprises a secure element 21 1 and a microcontroller 221.
- the secure element 21 1 comprises a processing unit 22 (or microprocessor) connected by a bus to a random (or volatile) memory 24 and a non-volatile memory rewritable 26.
- the secure element may also include a non-volatile memory non-rewritable (ROM type for example).
- the RAM 24 is for example a RAM (for Random Access Memory) comprising registers adapted to the recording of the variables and parameters created and modified during the execution of a computer program comprising instructions for the implementation of a method according to embodiments of the invention, in the practice of the invention.
- the instruction codes of the program stored in memory nonvolatile 26 are loaded into RAM memory for execution by the processing unit 22.
- the non-volatile rewritable memory 26 is for example an EEPROM (for electrically erasable read only memory) or a flash memory and can constitute a medium within the meaning of the invention, that is to say it can understand a computer program comprising instructions for carrying out a method according to embodiments of the invention.
- the secure element comprises a non-volatile memory non-rewritable, it may constitute a medium within the meaning of the invention.
- the microcontroller 221 comprises a processing unit 212 (or microprocessor) connected by a bus to a random access memory 214 (for example of the same type as the memory 24) and a rewritable non-volatile memory 216 (for example of the same type as memory 26).
- the secure element 21 1 is connected to a communication interface 28 with a smart card reader.
- the communication interface 28 complies with ISO 7816 (contact communication) or IS014443 or NFC / ISO 15693 (contactless communication).
- the secure element 21 1 is connected to the microcontroller 221 by a communication interface 250.
- the communication interface 250 complies with ISO 7816, I2C or SPI.
- the interfaces 28 and 250 are one and the same interface.
- the microcontroller 221 is further connected to an annex interface 231, for example a Bluetooth wireless communication interface or an interface such as fingerprint sensor, button, light sensor, buzzer or display.
- an annex interface 231 for example a Bluetooth wireless communication interface or an interface such as fingerprint sensor, button, light sensor, buzzer or display.
- the secure element is configured to configure the microcontroller and / or modify the current / current configuration of the microcontroller.
- such a configuration defines a wireless communication service, possibly associated with at least one application of the secure element.
- the configuration of the microcontroller can define rules relating to the routing of data by the microcontroller, as described with reference to FIG. 8.
- the configuration defines a service-type service "battery" defined in the Bluetooth standard.
- this service only concerns microcontrollers mounted in a battery-powered card and allows the microcontroller to send the percentage of charge from the internal battery of the card to the external device. The microcontroller can deduce this charge value via the electronic card without requiring interrogation of the secure element (and / or one of its application).
- the configuration defines a service "RSSI" (Received Signal Strength Indication).
- the configuration of the microcontroller can indicate data or type (s) of data that the microcontroller is allowed to obtain from the secure element or an external device and / or a service that the microcontroller is allowed to use.
- such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive.
- the certificate may be signed by a trusted third party recognized by the secure element and / or the external device that sends said data.
- the configuration of the microcontroller can in particular specify a period of validity of the data or the type of data, at the end of which the data can no longer be used by the microcontroller or a duration of validity of the service, at the end of which it does not can no longer be used by the microcontroller.
- the configuration of the microcontroller can also specify the writing mode (for example synchronous or asynchronous) to be used by the microcontroller to store data or a service.
- the writing mode for example synchronous or asynchronous
- the configuration may define rules for implementing secure countermeasures by the microcontroller in response to detecting an attack.
- events that can be considered as attacks are the reception of a signal from a sensor of the secure element / microcontroller indicating an abnormal temperature, loss of integrity of the protective layer, or a predetermined number of times. successive erroneous PIN code tests.
- the defined rules are for example the erasure of the data stored in the microcontroller (even if they are valid with respect to their validity) or the writing of a blocking data in a dedicated memory area or not.
- FIG. 3 shows, in the form of a timing diagram, steps of personalization of the secure element of the smart card. These steps are implemented prior to the method according to the invention, examples of whose embodiments will be described with reference to the next figures.
- the smart card is on (Power On).
- an external device typically a smart card reader, can power the smart card.
- the smart card includes an internal battery that powers its components.
- step E310 the external device and the secure element establish a communication for exchanging data via the interface 28 shown in FIG.
- the secure element authenticates the external device. For example, this step includes generating a challenge CH 1 by the secure element and then its transmission to the external device and the receipt of a response to the challenge, for example in the form of a signature S1. The secure element then verifies the validity of this signature.
- step E320 could include mutual authentication.
- the external device transmits a configuration to the secure element. It can be an initial configuration or a new configuration that modifies / replaces the existing configuration.
- the secure element records / loads the configuration received in step E330.
- the secure element modifies an indicator indicating that the configuration has been modified / loaded.
- step E360 the smart card turns off (Power OFF).
- additional steps for example certain steps described with reference to FIGS. 4, 5, 6, 7, are carried out before this step E360. In other words, there is not necessarily a restart of the card between the implementation of these steps.
- FIG. 4 represents, in the form of a timing diagram, steps of a chip card personalization method according to a first embodiment of the invention.
- the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
- the secure element and the microcontroller mutually authenticate.
- This authentication is here at the initiative of the microcontroller because it plays the role of the master and the secure element that of the slave.
- only the microcontroller or only the secure element could authenticate.
- step E410 the microcontroller interrogates the secure element in order to know if its configuration needs to be modified.
- this predefined event may be the reception of information by the microcontroller. For example, receiving data via Bluetooth if the microcontroller is a Bluetooth controller, detecting a finger if the microcontroller is connected to a fingerprint sensor, or pressing a button if the microcontroller is connected at a button.
- the event may be the expiration of a delay / a timeout.
- this delay is managed by the microcontroller and starts for example from the moment when the card is powered (power ON).
- the authentication step E400 can be implemented after the detection of the event (step E410).
- the secure element checks whether the configuration of the microcontroller must be modified and returns the response to the microcontroller. This can be for example, by checking the state of the indicator mentioned in step E350 of FIG. 3.
- step E430 if its configuration must be modified, the microcontroller asks the secure element that it sends the modified configuration.
- the secure element sends the modified configuration to the microcontroller.
- step E450 the received configuration is recorded and applied by the microcontroller.
- the microcontroller informs the secure element of the smooth running of the configuration (status ok).
- the secure element acknowledges receipt of this information.
- the application of the configuration received from the secure element in step E440 may be delayed, for example until the microcontroller detects a particular event.
- the particular event may be for example the next ignition (Power ON) of the card.
- this event may be the receipt of information indicating the start of a bank transaction in a cash dispenser. This would for example ensure that the card will not be removed from the power supply before the end of the registration of the modified configuration by the microcontroller, thus preventing the corruption of the modified configuration.
- This variant has the advantage of avoiding in particular a problem of consistency and data corruption that may occur during the use of the smart card if the configuration of the microcontroller is changed too long after switching on the card. This could for example be the case if the transmission of the configuration by the secure element in step E440 and / or its recording by the microcontroller (step E450) are long. Indeed, in such a case there is a risk that the power supply of the card is interrupted, thus interrupting the current configuration of the microcontroller by the secure element.
- FIG. 5 represents, in chronogram form, steps of a chip card personalization method according to a second embodiment of the invention.
- the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of master and the microcontroller that of slave.
- step E500 the secure element and the microcontroller mutually authenticate each other. This authentication is here at the initiative of the secure element because it plays the role of the master and the microcontroller that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate.
- step E520 similar to step E420, the secure element checks whether the configuration of the microcontroller must be modified and then returns the response to the microcontroller.
- Step E520 can be implemented regularly or to detect a predefined event.
- this predefined event may be the reception of a particular status of the microcontroller by the secure element.
- this status may indicate the receipt of data via Bluetooth if the microcontroller is a Bluetooth controller, the detection of a finger if the microcontroller is associated with a fingerprint sensor, or the pressing of a button if the microcontroller is connected to a button.
- the event may be the expiration of a delay / a timeout.
- this timer is managed by the secure element and starts for example from the moment when the card is powered (power ON).
- step E540 similar to step E440, if the configuration is to be modified, the secure element sends the modified configuration to the microcontroller.
- step E550 similar to step E450, the received configuration is recorded and applied by the microcontroller.
- step E560 the microcontroller informs the secure element of the smooth running of the configuration (status ok).
- Figure 6 shows, in the form of a timing diagram, steps implemented for the verification of the configuration of the microcontroller by the secure element. These steps are for example following the installation of a new configuration of the microcontroller under the control of the secure element. In a variant, they can be implemented when the card is turned on (power ON). Indeed, access to the data and services of the secure element from an external device and / or from the microcontroller can be conditioned to the proper conduct of these steps.
- the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
- step E600 similar to step E400, the secure element and the microcontroller mutually authenticate each other.
- This authentication is here at the initiative of the microcontroller because it plays the role of the master and the secure element that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate.
- step E610 the microcontroller interrogates the secure element. This step is necessary insofar as the secure element acts as a slave.
- this query takes the form of a request for access to a service or data to the secure element.
- the invention is not limited to this type of interrogation.
- the step E610 could consist of sending a datum or a challenge by the microcontroller to the secure element.
- step E610 could include sending a dedicated command to trigger the verification process.
- the secure element informs the microcontroller that a verification of its configuration is necessary, here to determine whether the requested access is granted or not. To do this, he asks the microcontroller to send him his current configuration or any other data allowing him to verify its integrity. This is for example a hash or a signature of the configuration that may include the response to a challenge previously received from the secure element.
- the microcontroller transmits its current configuration or the requested data (step E630) to the secure element that checks (step E640) if the microcontroller has the correct configuration.
- the verification may be a comparison of the configuration received in step E630 with that stored in the memory of the secure element. The result of the comparison is then a status indicating whether the received configuration is identical to that stored in the secure element.
- this verification can consist in comparing the hash or signature received in step E630 with a hash or a reference signature stored in the secure element or calculated by the secure element from the stored configuration. in this one (and possibly the challenge he sent to the microcontroller).
- the secure element can determine if according to the configuration, it is allowed to obtain the required data or to access the requested service.
- the configuration received in step E630 may indicate data or type (s) of data that the microcontroller is allowed to obtain from the secure element and the services that the microcontroller is authorized to use.
- such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive.
- the certificate may be signed by a trusted third party recognized by the secure element.
- a challenge may be submitted to the microcontroller in step E620 which responds to step E630.
- the microcontroller can also send a signature of the configuration.
- step E650 the secure element returns its response to the microcontroller according to the result of the verification of step E640.
- This answer consists in saying if the configuration of the microcontroller is up to date and / or integrates, or not. It may also allow access to the requested service or data at step E610, or ban. In the case where the configuration is not current and / or intact, the secure element may decide to update it.
- step E610 is replaced by a challenge request to the secure element and the E620 step further comprises sending this challenge to the microcontroller.
- Step E630 then includes sending a response to the challenge to the secure element with the configuration.
- FIG. 7 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration by the secure element according to a variant of FIG. 6. These steps, for example, follow the installation of a new configuration of FIG. microcontroller under the control of the secure element. In a variant, they can be implemented when the card is turned on (power ON). Indeed, access to the data and services of the secure element from an external device and / or from the microcontroller can be conditioned to the proper conduct of these steps.
- the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of master and the microcontroller that of slave.
- step E700 the secure element and the microcontroller mutually authenticate each other.
- This authentication is here at the initiative of the secure element because it plays the role of the master and the microcontroller that of the slave.
- the microcontroller or only the secure element could authenticate.
- step E720 the secure element asks the microcontroller to send it its current configuration or any other data enabling it to check its integrity.
- This is for example a hash or a signature of the configuration that can include the response to a challenge previously received from the secure element, to verify it.
- the microcontroller transmits its current configuration or other data (step E730) to the secure element that verifies it (step E740).
- the verification may be a comparison of the configuration received in step E730 with that stored in the memory of the secure element. The result of the comparison is then a status indicating whether the received configuration is identical to that stored in the secure element.
- this verification can consist in comparing the hash or signature received in step E730 with a hash or a reference signature stored in the secure element or calculated by the secure element from the stored configuration. in this one (and possibly the challenge he sent to the microcontroller).
- the secure element sends the result of the verification to the microcontroller according to the step E740.
- This answer consists of saying whether the microcontroller configuration is up to date and / or integrates, or not. In the case where the configuration is not current and / or intact, the secure element may decide to update it.
- the microcontroller acknowledges receipt of this information and / or requests access to a service or data item of the secure element.
- Figure 8 shows, in the form of a timing diagram, steps of a routing between the secure element and an external device, implemented by the microcontroller.
- the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
- the configuration consists of a routing table that establishes a correspondence between applications of the secure element (App1, App2) and the services (Service 1, Service 2, Service 3) proposed and / or supported by the microcontroller on the appendix 231.
- the routing table can be for example figured as follows:
- the "input” and “output” indicators allow the microcontroller to know the transit direction associated with each application / service pair. Thus when the microcontroller receives data from the external device via a service, it can search the application associated with the service among the application / service pairs associated with the "Enter” indicator. When the microcontroller receives data from the secure element, it can search the service to be used to transmit the data to the external device among the application / service pairs associated with the "Output" indicator.
- the external device sends a "Service 3" service, that is to say a particular data structure "Service 3", comprising for example a PIN code, to the microcontroller of the card.
- a "Service 3" service that is to say a particular data structure "Service 3”, comprising for example a PIN code
- This may be a result of a user entering the PIN code on the external device.
- the reception can be done by Bluetooth on the interface 231.
- the microcontroller performs a routing.
- the microcontroller searches the application of the secure element that is associated with this service in its routing table (ie its configuration), c. that is to say the application to which the microcontroller must forward all or part of the data contained in the service.
- the microcontroller concludes at step E805 that it must send the data received via the service 3 (the PIN) to the application "App 1" of the secure element.
- the microcontroller sends a selection command of an application App1 of the secure element. For example, this application allows you to check a PIN.
- the secure element selects its application App1 and informs the microcontroller during a step E820.
- step E825 the microcontroller sends the PIN code received in step E800 to the secure element.
- the secure element processes the PIN code using the App1 application.
- the secure element returns a challenge to the microcontroller to make an additional check.
- step E840 the microcontroller implements a routing operation.
- the microcontroller searches for the service to be used to forward the data received in step E835 to the external device in its routing table (i.e. its configuration).
- the microcontroller concludes in step E840 that it must send the data received in step E835 (the challenge) via the "Service 1" to the external device.
- the microcontroller sends the challenge to the external device via the service "Service 1", that is to say using a data structure with possibly an associated identifier, identified during the step of E840 routing.
- the challenge is sent to the external device via the service 1 ..
- the external device responds to the challenge with the microcontroller via the "Service 2" service.
- the microcontroller implements a routing operation.
- the microcontroller identifies the service received in step E850, then looks for the application of the secure element that is associated with this service in the routing table (ie its configuration), that is that is to say the application to which the microcontroller must forward all or part of the data contained in the service.
- the microcontroller concludes in step E855 that it must send the data received via "Service 2" (the response to the challenge) to the App2 of the secure element.
- the microcontroller sends a selection command of an application App2 of the secure element.
- this application is used to check the response to the challenge.
- step E865 the secure element selects its application App2 and informs the microcontroller during a step E870.
- the microcontroller sends the challenge response received in step E850 to the secure element.
- the secure element processes this response using the App2 application.
- the secure element returns the result to the microcontroller.
- Figure 9 illustrates, in the form of a timing diagram, steps implemented to obtain data or access to a service of the secure element by the microcontroller. These steps may follow the installation of a new configuration of the microcontroller under the control of the secure element.
- the configuration of the microcontroller takes the form of an electronic certificate.
- This certificate includes a list of data and services that the microcontroller is authorized to access to the secure element.
- the certificate includes a signature generated from this list and a private key PRK_AUT issued by a trusted authority.
- the secure element has the public key PUK_AUT associated with the private key PRK_AUT. This public key may have been installed in its memory at the time of its personalization (see Figure 3).
- the microcontroller sends its certificate to the secure element.
- the secure element verifies the signature of the certificate using its public key PUK_AUT associated with the private key PRK_AUT.
- the secure element sends the result of the verification to the microcontroller. It is assumed for the next steps that the signature has been authenticated.
- the microcontroller requests access to a service or data element of the secure element.
- This request may follow a request for this data or this service by the device external to the microcontroller.
- the secure element traverses the list of data / services whose access is authorized by the certificate received in step E900.
- step E950 if the requested service or data item is authorized in the list, and provided that the signature has been authenticated in step E910, the secure element gives access to the service or data requested.
- Figure 10 illustrates, in the form of a timing diagram, steps implemented by the microcontroller for obtaining data or access to a service of an external device. These steps may follow the installation of a new configuration of the microcontroller under the control of the secure element.
- the configuration of the microcontroller also takes the form of an electronic certificate.
- This certificate includes a list of data and services that the microcontroller is allowed to access from the external device.
- the certificate includes a signature generated from this list and a private key PRK_AUT issued by a trusted authority.
- the external device has the public key PUK_AUT associated with the private key PRK_AUT.
- the microcontroller sends its certificate to the external device, for example via the interface 231. It is recalled that this interface is for example a Bluetooth wireless communication interface.
- the external device verifies the signature of the certificate using its public key PUK_AUT associated with the private key PRK_AUT.
- the external device sends the result of the verification to the microcontroller. It is assumed for the next steps that the signature has been authenticated.
- the microcontroller requests access to a service or data from the external device.
- This request may follow a request for this data or this service by the secure element to the microcontroller.
- the external device traverses the list of data / services whose access is authorized by the certificate received in step E1000.
- step E1050 if the requested service or data item is authorized in the list, and provided that the signature has been authenticated in step E1010, the external device gives access to the service or the requested data.
- Figure 11 illustrates, in the form of a timing diagram, steps implemented for the use of data associated with a period of validity by an external device according to a first example.
- the configuration of the microcontroller specifies the validity period of the data / type (s) of data or access to a service, at the end of which the data / service can no longer be accessed by the microcontroller.
- the time reference can come from an internal clock of the smart card. It may for example be internal to the secure element or the microcontroller. Alternatively, it can be received from an external device, for example via the communication interface 28 with the smart card or via the interface 231.
- the time reference may be a counter of one or more predetermined events, for example: number of button presses, number of power ON's, number of successful bank transactions, or number of uses of a service.
- the external device sends a data D to the microcontroller which stores it in its memory during a step E1120.
- the microcontroller informs the external device of the good reception and the recording of the data D.
- step E1 140 which may occur later, for example after a re-ignition of the smart card, the microcontroller requests access to a service to the secure element.
- the secure element requires the sending of the data D to verify whether access to the service can be granted.
- the microcontroller checks its configuration to determine if the data D is still valid. If so, it sends it to the secure element during a step E1170. It is assumed here that this is the case. Otherwise, the data D is not sent to the secure element and access to the requested service is not granted.
- the action performed by the microcontroller when the data is no longer valid, may depend on the configuration of the microcontroller.
- said configuration may include one or more indicators for this purpose.
- the microcontroller removes the data D from its non-volatile memory
- the microcontroller requests from the external device a new datum D.
- the secure element authorizes access to the service because it has received the data D which is still valid.
- Figure 12 illustrates, in the form of a timing diagram, steps implemented for the use of data associated with a period of validity by an external device according to a second example.
- the external device requests a data E to the microcontroller which checks whether it has it in its memory during a step E1210.
- the microcontroller requests the data E to the secure element during a step E1230.
- the secure element returns the data E to the microcontroller.
- the microcontroller verifies that its configuration allows it to memorize the data E and if so, it stores it.
- the microcontroller sends the requested data item E to the external device.
- the external device again requests the data E to the microcontroller.
- step E1280 the microcontroller checks whether the data E in memory is still valid and if so, it sends it back to the external device in step E1290. Otherwise it erases the data E from its memory in step E1295 and steps E1230, E1240, E1250 and E1260 are implemented.
- Fig. 13 includes Figs. 13a and 13b which respectively illustrate, in timing form, synchronous writing and asynchronous writing according to embodiments.
- the configuration of the microcontroller specifies the write mode (for example synchronous or asynchronous) to be used to store a data item or a service.
- Figure 13a illustrates the principle of synchronous writing.
- the external device requests the microcontroller to write the data A to what it does in steps E1310 and E1320 under the control of the secure element.
- the microcontroller then responds to the external device (step E1330).
- the writing is synchronous because the microcontroller only responds once it is done.
- Figure 13b illustrates the principle of asynchronous writing.
- the microcontroller responds to the external device (step E1305) before the writing is actually performed. It may, optionally, also send a message to the external device after writing is complete (optional step E1330).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
Abstract
The invention concerns a personalisable chip card (20) comprising: a secure element (211) the configuration of which can be modified via an interface (28) for communicating with an external device, a microcontroller (221) the configuration of which can be modified; the chip card (20) being characterised in that the secure element (211) is configured for configuring the microcontroller (221).
Description
CARTE A PUCE PERSONNALISABLE DE FAÇON SECURISEE ET PROCEDE DE CARD WITH SECURELY CUSTOMIZABLE CHIP AND METHOD OF
PERSONNALISATION SÉCURISÉ SECURE CUSTOMIZATION
DOMAINE DE L’INVENTION FIELD OF THE INVENTION
L’invention est dans le domaine des dispositifs de sécurité du type cartes à puce comprenant un élément sécurisé ainsi qu’un microcontrôleur personnalisable. Elle concerne, en particulier, une carte à puce personnalisable et un procédé de personnalisation d’une telle carte à puce. The invention is in the field of security devices of the smart card type comprising a secure element and a customizable microcontroller. It relates, in particular, a customizable smart card and a method of personalizing such a smart card.
CONTEXTE DE L’INVENTION BACKGROUND OF THE INVENTION
La présente invention concerne un dispositif de sécurité tel qu’une carte à puce, par exemple de type bancaire ou document d’identité. The present invention relates to a security device such as a smart card, for example of the banking type or identity document.
Pour ce faire, la carte à puce comporte typiquement un élément sécurisé dédié au paiement sécurisé et/ou au stockage de données sensibles, par exemple des données d’identité. To do this, the smart card typically comprises a secure element dedicated to secure payment and / or storage of sensitive data, for example identity data.
L’élément sécurisé peut communiquer avec un lecteur de carte par l’intermédiaire d’une interface de communication par exemple conforme à la norme ISO 7816 (communication à contact) ou aux normes IS014443 ou NFC/ISO 15693 (communication sans contact). Classiquement, la configuration de l’élément sécurisé se fait via cette interface de communication. Il est ainsi possible de modifier les applications ou applets de l’élément sécurisé afin de le personnaliser et de faire évoluer, entre autre, la politique de sécurité de la carte à puce. The secure element can communicate with a card reader via a communication interface, for example compliant with ISO 7816 (contact communication) or IS014443 or NFC / ISO 15693 (contactless communication). Conventionally, the configuration of the secure element is done via this communication interface. It is thus possible to modify the applications or applets of the secure element in order to personalize it and to evolve, among other things, the security policy of the smart card.
La présente invention se place dans le cas où la carte à puce comprend également un ou plusieurs microcontrôleur(s) personnalisable(s) du type microcontrôleur Bluetooth (Bluetooth est une marque) ou extracteur de données biométriques (par exemple empreinte digitale). D’autres types de microcontrôleurs peuvent être envisagés, notamment un composant de pilotage d’interface tel qu’un afficheur, une diode électroluminescente (LED) ou encore un buzzer. The present invention is in the case where the smart card also includes one or more microcontroller (s) customizable (s) of the type Bluetooth microcontroller (Bluetooth is a trademark) or biometric data extractor (for example fingerprint). Other types of microcontrollers may be envisaged, in particular an interface control component such as a display, a light-emitting diode (LED) or a buzzer.
De tels microcontrôleurs personnalisables permettent d’offrir des performances et fonctionnalités sur mesure aux utilisateurs de ce type de carte. La personnalisation de ces microcontrôleurs peut se faire à des moments différents : soit lors de la production du microcontrôleur, c’est-à-dire avant son installation sur la carte à puce, soit au cours de la vie de la carte. Such customizable microcontrollers allow to offer performance and features tailored to users of this type of card. The customization of these microcontrollers can be done at different times: either during the production of the microcontroller, that is to say before it is installed on the smart card, or during the life of the card.
D’un point de vue industriel, il est particulièrement coûteux et contraignant d’envisager la production différentiée de tels microcontrôleurs. De plus, dans ce cas, la configuration est généralement figée une fois que le microcontrôleur est installé sur la carte.
Par ailleurs, la personnalisation du microcontrôleur au cours de la vie de la carte à puce nécessite une adaptation des équipements de personnalisation existants. En effet, les équipements de personnalisation de cartes à puce connus sont adaptés à la communication avec l’élément sécurisé mais nécessitent des adaptations pour communiquer avec le microcontrôleur également présent sur la carte. De plus, les communications avec l’élément sécurisé et le microcontrôleur doivent alors être mises en oeuvre séquentiellement pour exécuter leur personnalisation respective, de sorte que le temps de personnalisation augmente notablement. From an industrial point of view, it is particularly expensive and constraining to consider the differentiated production of such microcontrollers. In addition, in this case, the configuration is usually frozen once the microcontroller is installed on the card. In addition, the customization of the microcontroller during the life of the smart card requires an adaptation of existing personalization equipment. Indeed, the known smart card personalization equipment are adapted to communication with the secure element but require adaptations to communicate with the microcontroller also present on the card. In addition, the communications with the secure element and the microcontroller must then be implemented sequentially to execute their respective personalization, so that the personalization time increases significantly.
Il existe ainsi un besoin d’améliorer la personnalisation des cartes à puce comprenant un microcontrôleur en plus de l’élément sécurisé. There is thus a need to improve the personalization of smart cards comprising a microcontroller in addition to the secure element.
RESUME DE L’INVENTION SUMMARY OF THE INVENTION
La présente invention a ainsi pour objet de pallier au moins un de ces inconvénients. The present invention thus aims to overcome at least one of these disadvantages.
Dans ce contexte, un premier aspect de l’invention concerne une carte à puce personnalisable comprenant : In this context, a first aspect of the invention relates to a customizable smart card comprising:
- un élément sécurisé dont la configuration peut être modifiée via une interface de communication avec un dispositif externe, a secure element whose configuration can be modified via a communication interface with an external device,
- un microcontrôleur dont la configuration peut être modifiée ; a microcontroller whose configuration can be modified;
la carte à puce étant caractérisée en ce que l’élément sécurisé est configuré pour configurer le microcontrôleur. the smart card being characterized in that the secure element is configured to configure the microcontroller.
Ainsi, l’élément sécurisé est configuré pour appliquer une configuration au microcontrôleur et/ou modifier la configuration actuelle/courante du microcontrôleur. Thus, the secure element is configured to apply a configuration to the microcontroller and / or modify the current / current configuration of the microcontroller.
De façon générale, l’invention permet de faire évoluer les fonctionnalités de la carte à puce sans nécessiter de modification de l’équipement de personnalisation pour ce faire. In general, the invention makes it possible to modify the functionalities of the smart card without requiring modification of the personalization equipment to do this.
Avantageusement, elle permet notamment de contrôler et de faire évoluer la politique de sécurité de la carte à puce dans son ensemble, y compris celle du microcontrôleur qui y est installé, sans nécessiter de modification de l’équipement de personnalisation pour ce faire. Advantageously, it allows in particular to control and evolve the security policy of the smart card as a whole, including that of the microcontroller installed therein, without requiring modification of the personalization equipment to do this.
La sécurité d’une telle carte à puce est donc renforcée grâce au contrôle du microcontrôleur exercé par l’élément sécurisé. The security of such a smart card is thus enhanced by the control of the microcontroller exerted by the secure element.
La configuration du microcontrôleur peut consister en des paramètres, données, et/ou tout ou partie du logiciel du microcontrôleur. The configuration of the microcontroller can consist of parameters, data, and / or all or part of the microcontroller software.
La configuration du microcontrôleur permet notamment d’adapter son comportement et/ou celui du logiciel exécuté par celui-ci, notamment vis-à-vis de l’élément
sécurisé et/ou d’un dispositif externe. La configuration du microcontrôleur permet également d’adapter le comportement d’interfaces de communication entre celui-ci et l’élément sécurisé, un bouton, un capteur ou autre. Enfin, la configuration du microcontrôleur permet d’adapter son comportement interne. The configuration of the microcontroller notably makes it possible to adapt its behavior and / or that of the software executed by it, in particular with respect to the element secure and / or external device. The configuration of the microcontroller also makes it possible to adapt the behavior of communication interfaces between this and the secure element, a button, a sensor or other. Finally, the configuration of the microcontroller makes it possible to adapt its internal behavior.
Corrélativement, un deuxième aspect de l’invention concerne un procédé de personnalisation d’une carte à puce comprenant : Correlatively, a second aspect of the invention relates to a method of personalizing a smart card comprising:
- un élément sécurisé dont la configuration peut être modifiée via une interface de communication avec un dispositif externe; a secure element whose configuration can be modified via a communication interface with an external device;
- un microcontrôleur dont la configuration peut être modifiée ; a microcontroller whose configuration can be modified;
le procédé étant caractérisé en ce qu’il comprend la configuration, par l’élément sécurisé, du microcontrôleur. the method being characterized in that it comprises the configuration, by the secure element, of the microcontroller.
D’autres caractéristiques de la carte à puce selon des modes de réalisation particuliers sont décrites dans les revendications dépendantes. Other features of the smart card according to particular embodiments are described in the dependent claims.
Dans un mode particulier de réalisation de l’invention, l’élément sécurisé est configuré pour vérifier la configuration du microcontrôleur. In a particular embodiment of the invention, the secure element is configured to verify the configuration of the microcontroller.
Ainsi, dans des modes de réalisation, le microcontrôleur n’est autorisé à accéder à des services et/ou données de l’élément sécurisé qu’après vérification de la configuration du microcontrôleur, notamment de son intégrité par l’élément sécurisé. Thus, in embodiments, the microcontroller is authorized to access services and / or data of the secure element after checking the configuration of the microcontroller, including its integrity by the secure element.
Dans ces modes de réalisation, l’élément sécuriser pourrait également vérifier l’ensemble du logiciel du microcontrôleur. In these embodiments, the secure element could also check the entire microcontroller software.
Dans un mode particulier de réalisation de l’invention, le microcontrôleur est un gestionnaire de communication sans fil. In a particular embodiment of the invention, the microcontroller is a wireless communication manager.
Dans des modes de réalisation, la carte à puce comprend un capteur biométrique, et le microcontrôleur est configuré pour extraire des données biométriques à partir du capteur biométrique. In embodiments, the smart card includes a biometric sensor, and the microcontroller is configured to extract biometric data from the biometric sensor.
Dans un mode particulier de réalisation de l’invention, la configuration du microcontrôleur définit un service de communication sans fil. In a particular embodiment of the invention, the configuration of the microcontroller defines a wireless communication service.
Un tel service peut être généralement défini comme une structure/collection de messages/données associée à un comportement pour accomplir une fonction particulière. Cette structure/collection est éventuellement associée à un identifiant et peut être hiérarchisée. Such a service can be generally defined as a structure / collection of messages / data associated with a behavior to perform a particular function. This structure / collection is possibly associated with an identifier and can be hierarchical.
Dans un mode particulier de réalisation de l’invention, la configuration du microcontrôleur définit des règles relatives au routage des données par le microcontrôleur. In a particular embodiment of the invention, the configuration of the microcontroller defines rules relating to the routing of the data by the microcontroller.
Par exemple, dans le cas d’une carte ayant plusieurs afficheurs, le routage pourrait consister à identifier l’afficheur sur lequel le microcontrôleur doit afficher les données reçues pour chaque application de l’élément sécurisé.
Dans un mode particulier de réalisation de l’invention, la configuration du microcontrôleur indique une donnée ou un type de données ou un service que le microcontrôleur est autorisé à obtenir de l’élément sécurisé ou d’un dispositif externe. For example, in the case of a card having several displays, the routing could consist of identifying the display on which the microcontroller must display the data received for each application of the secure element. In a particular embodiment of the invention, the configuration of the microcontroller indicates a datum or type of data or a service that the microcontroller is authorized to obtain from the secure element or from an external device.
Par exemple, une telle configuration peut comprendre un certificat électronique contenant des indicateurs relatifs aux données que le microcontrôleur peut recevoir. Notamment, le certificat peut être signé par un tiers de confiance reconnu par l’élément sécurisé et/ou le dispositif externe qui envoie les données. For example, such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive. In particular, the certificate may be signed by a trusted third party recognized by the secure element and / or the external device that sends the data.
Dans un mode particulier de réalisation de l’invention, la configuration du microcontrôleur précise une durée de validité de la donnée ou du type de données, au terme de laquelle la donnée ne peut plus être utilisée par le microcontrôleur ou une durée de validité du service, au terme de laquelle le service ne peut plus être utilisé par le microcontrôleur. In a particular embodiment of the invention, the configuration of the microcontroller specifies a period of validity of the data or the type of data, at the end of which the data can no longer be used by the microcontroller or a period of validity of the service. , at the end of which the service can no longer be used by the microcontroller.
De manière équivalente, une date de péremption pourrait être définie au lieu d’une durée de validité. Equivalently, an expiry date could be defined instead of a period of validity.
Cela permet d’activer un mécanisme de cache côté microcontrôleur pour des données pendant une durée déterminée et permet de limiter la sollicitation de l’élément sécurisé et donc la consommation d’énergie de la batterie, prolongeant ainsi la durée de vie de celle-ci. This makes it possible to activate a cache mechanism on the microcontroller side for data for a given period of time and makes it possible to limit the solicitation of the secure element and therefore the energy consumption of the battery, thus prolonging the lifetime of the battery. .
Il est important de noter que l’élément sécurisé contrôle la politique de sécurité de l’ensemble de la carte, même dans ce mode à économie d’énergie, puisqu’il dicte la configuration à appliquer. Ainsi, même dans le cas où l’élément sécurisé est l’esclave dans une configuration maitre-esclave avec le microcontrôleur, l’élément sécurisé dicte la politique de sécurité à appliquer pour l’ensemble des données de la carte. It is important to note that the secure element controls the security policy of the entire card, even in this energy-saving mode, since it dictates the configuration to be applied. Thus, even in the case where the secure element is the slave in a master-slave configuration with the microcontroller, the secure element dictates the security policy to be applied for all the data of the card.
Au terme de la durée de validité, le service peut être effacé de la mémoire par le microcontrôleur. At the end of the validity period, the service can be erased from the memory by the microcontroller.
Dans un mode particulier de réalisation de l’invention, la configuration du microcontrôleur précise le mode d’écriture à utiliser par le microcontrôleur pour stocker les données ou le service. Le mode d’écriture peut être synchrone ou asynchrone. In a particular embodiment of the invention, the configuration of the microcontroller specifies the write mode to be used by the microcontroller to store the data or the service. The write mode can be synchronous or asynchronous.
Dans un mode particulier de réalisation de l’invention, la configuration définit des règles pour la mise en oeuvre de contremesures sécuritaires par le microcontrôleur en réponse à la détection d’une attaque. In a particular embodiment of the invention, the configuration defines rules for the implementation of security countermeasures by the microcontroller in response to the detection of an attack.
Une telle contremesure comprend par exemple l’écriture d’une donnée de blocage (ou verrou) dans une mémoire non-volatile réinscriptible du microcontrôleur. La présence d’une donnée de blocage en mémoire empêchera tout fonctionnement ultérieur du microcontrôleur. Such a countermeasure comprises for example the writing of a blocking data (or lock) in a rewritable non-volatile memory of the microcontroller. The presence of blocking data in memory will prevent any subsequent operation of the microcontroller.
Une telle contremesure peut également consister par exemple en l’effacement de données ou services dont l’utilisation a été préalablement autorisée par l’élément sécurisé,
bien que la durée de validité n’ait pas expiré et/ou l’inhibition du mécanisme permettant au microcontrôleur de stocker de telles données. Such a countermeasure may also consist, for example, in the deletion of data or services the use of which has been previously authorized by the secure element, although the validity period has not expired and / or the inhibition of the mechanism allowing the microcontroller to store such data.
L’attaque détectée est par exemple une attaque non invasive au cours de laquelle la carte n’est pas modifié/altéré, une attaque semi invasives au cours de laquelle la carte est physiquement endommagée, ou encore une attaque invasive au cours de laquelle l’intégrité physique de l’élément sécurisé et/ou du microcontrôleur est altérée. The detected attack is for example a non-invasive attack during which the card is not modified / altered, a semi-invasive attack during which the card is physically damaged, or an invasive attack during which the card is damaged. physical integrity of the secure element and / or the microcontroller is impaired.
Des exemples d’évènements pouvant être considérés comme des attaques sont : la réception d’un signal d’un capteur de l’élément sécurisé/microcontrôleur indiquant une température anormale, une perte d’intégrité de la couche protectrice, un nombre prédéterminé d’essais successifs de code PIN erronés ; Examples of events that can be considered as attacks are: the reception of a signal from a sensor of the secure element / microcontroller indicating an abnormal temperature, a loss of integrity of the protective layer, a predetermined number of successive erroneous PIN code tests;
- les attaques par injection de fautes. - attacks by injection of faults.
Dans un mode particulier de réalisation de l’invention, l’élément sécurisé est configuré pour authentifier le microcontrôleur, la configuration du microcontrôleur ne pouvant être modifiée qu’après authentification du microcontrôleur par l’élément sécurisé. In a particular embodiment of the invention, the secure element is configured to authenticate the microcontroller, the configuration of the microcontroller can not be modified after authentication of the microcontroller by the secure element.
Inversement, la configuration du microcontrôleur peut être conditionnée par l’authentification de l’élément sécurisé par le microcontrôleur. Conversely, the configuration of the microcontroller can be conditioned by the authentication of the secure element by the microcontroller.
Dans un mode particulier de réalisation de l’invention, le microcontrôleur est configuré pour appliquer une configuration modifiée par l’élément sécurisé à détection d’un évènement prédéfini. In a particular embodiment of the invention, the microcontroller is configured to apply a configuration modified by the secure element to detection of a predefined event.
Dans des modes de réalisation, le microcontrôleur est configuré pour solliciter (auprès de l’élément sécurisé) la modification de sa configuration. Typiquement, cette requête peut avoir lieu à détection d’un évènement prédéfini. In embodiments, the microcontroller is configured to solicit (near the secure element) the modification of its configuration. Typically, this request can take place with detection of a predefined event.
Dans un mode particulier de réalisation de l’invention, l’élément sécurisé est configuré pour configurer le microcontrôleur à détection d’un évènement prédéfini. In a particular embodiment of the invention, the secure element is configured to configure the microcontroller to detect a predefined event.
Dans des modes de réalisation, cet évènement peut être la réception d’une information de l’élément sécurisé, par exemple suite à la détection d’une attaque par l’élément sécurisé ou suite à la vérification réussie d’un code PIN par l’élément sécurisé. In embodiments, this event may be the reception of information from the secure element, for example following the detection of an attack by the secure element or following the successful verification of a PIN code by the security element. secure element.
Dans d’autres modes de réalisation, cet événement prédéfini peut être la réception d’une information par le microcontrôleur. Par exemple, la réception d’une donnée via Bluetooth si le microcontrôleur est un contrôleur Bluetooth, la détection d’un doigt si le microcontrôleur contrôle un capteur d’empreinte digitale, ou l’appui sur un bouton si le microcontrôleur contrôle un bouton. In other embodiments, this predefined event may be the reception of information by the microcontroller. For example, receiving data via Bluetooth if the microcontroller is a Bluetooth controller, detecting a finger if the microcontroller controls a fingerprint sensor, or pressing a button if the microcontroller controls a button.
Selon d’autres modes de réalisation, l’évènement peut être l’expiration d’un délai/d’une temporisation. Par exemple, cette temporisation est gérée par le microcontrôleur et démarre par exemple à partir de l’instant où la carte est alimentée (power-on). According to other embodiments, the event may be the expiration of a delay / a timeout. For example, this timer is managed by the microcontroller and starts for example from the moment the card is powered (power-on).
Dans un mode particulier de réalisation de l’invention, l’élément sécurisé est configuré pour configurer le microcontrôleur à la première mise sous tension de la carte à puce
suivant la fin d’une configuration initiale de l’élément sécurisé via l’interface de communication ou suivant la fin de la configuration de l’élément sécurisé via l’interface de communication. In a particular embodiment of the invention, the secure element is configured to configure the microcontroller at the first power on of the smart card. following the end of an initial configuration of the secure element via the communication interface or following the end of the configuration of the secure element via the communication interface.
Dans des modes de réalisation, la modification de la configuration de l’élément sécurisé comprend l’ajout d’une nouvelle application ou la mise à jour du paramétrage associé à une application ou à un groupe d’applications de l’élément sécurisé. In embodiments, changing the configuration of the secure element includes adding a new application or updating the setting associated with an application or group of applications of the secure element.
L’élément sécurisé peut refuser de fournir un service et/ou une donnée au microcontrôleur tant que celui-ci n’a pas demandé et/ou enregistré et/ou appliqué la configuration modifiée. The secure element may refuse to provide a service and / or data to the microcontroller until the microcontroller has requested and / or saved and / or applied the modified configuration.
Dans un mode particulier de réalisation de l’invention, l’interface de communication est une interface de communication par contact conforme à la norme ISO 7816 ou une interface de communication sans contact conforme à la norme ISO 14443 et/ou ISO 15693. In a particular embodiment of the invention, the communication interface is a contact communication interface according to the ISO 7816 standard or a contactless communication interface according to the ISO 14443 and / or ISO 15693 standard.
En variante, l’interface de communication peut comprendre une liaison série de type SPI ou I2C. In a variant, the communication interface may comprise a serial link of the SPI or I2C type.
Les avantages, buts et caractéristiques particulières du microcontrôleur et de l’élément sécurisé sont similaires à ceux des procédés précités qu’ils mettent en oeuvre. The advantages, aims and special characteristics of the microcontroller and the secure element are similar to those of the aforementioned methods that they implement.
Dans un mode particulier de réalisation, les différentes étapes des procédés précités sont déterminées par des instructions de programmes d'ordinateurs. In a particular embodiment, the various steps of the aforementioned methods are determined by instructions of computer programs.
En conséquence, l'invention vise aussi des programmes d'ordinateur sur des supports d'information, ces programmes étant susceptibles d'être mis en oeuvre par des microprocesseurs, et comprenant des instructions adaptées à la mise en oeuvre des étapes des procédés tels que mentionnés ci-dessus. Accordingly, the invention also relates to computer programs on information carriers, these programs being capable of being implemented by microprocessors, and comprising instructions adapted to the implementation of the steps of the processes such as mentioned above.
Ces programmes peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. These programs can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
L'invention vise aussi des supports d'information lisibles par un microprocesseur, et comprenant des instructions de programmes d'ordinateur tels que mentionnés ci-dessus. The invention is also directed to microprocessor-readable information carriers, and including computer program instructions as mentioned above.
Les supports d'information peuvent être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comprendre un moyen de stockage, tel qu'une ROM, par exemple une ROM de microcircuit, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur, ou encore une mémoire flash. The information carriers may be any entity or device capable of storing the programs. For example, the media may comprise a storage means, such as a ROM, for example a microcircuit ROM, or a magnetic recording means, for example a hard disk, or a flash memory.
D'autre part, les supports d'information peuvent être des supports transmissibles tels que des signaux électriques ou optiques, qui peuvent être acheminés via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur une plateforme de stockage d’un réseau de type Internet.
Alternativement, les supports d'information peuvent être des circuits intégrés dans lesquels les programmes sont incorporés, les circuits étant adaptés pour exécuter ou pour être utilisés dans l'exécution des procédés en question. On the other hand, the information carriers may be transmissible media such as electrical or optical signals, which may be conveyed via an electrical or optical cable, by radio or by other means. The programs according to the invention can in particular be downloaded on a storage platform of an Internet type network. Alternatively, the information carriers may be integrated circuits in which the programs are incorporated, the circuits being adapted to execute or to be used in the execution of the processes in question.
Les supports d'information et les programme d'ordinateurs précités présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre. The aforementioned information carriers and computer programs have characteristics and advantages similar to the processes they implement.
BREVE DESCRIPTION DES FIGURES BRIEF DESCRIPTION OF THE FIGURES
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les figures ci-jointes qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures : Other features and advantages of the invention will become apparent in the description below, illustrated by the accompanying figures which illustrate embodiments having no limiting character. In the figures:
- La Figure 1 comprend les Figures 1a et 1 b qui illustrent, de manière simplifiée, des exemples de carte à puce conformes à des modes de réalisation de la présente invention ; FIG. 1 comprises FIGS. 1a and 1b which illustrate, in a simplified manner, examples of smart cards in accordance with embodiments of the present invention;
- la Figure 2 représente schématiquement un exemple d’architecture possible pour une carte à puce conforme à des modes de réalisation de l’invention ; - Figure 2 shows schematically an example of possible architecture for a smart card according to embodiments of the invention;
- la Figure 3 représente, sous forme de chronogramme, des étapes de personnalisation de l’élément sécurisé de la carte à puce ; - Figure 3 shows, in the form of a timing diagram, steps of personalization of the secure element of the smart card;
- la Figure 4 représente, sous forme de chronogramme, des étapes d’un procédé de personnalisation de carte à puce selon un premier mode de réalisation de l’invention ; FIG. 4 represents, in chronogram form, steps of a smart card personalization method according to a first embodiment of the invention;
- la Figure 5 représente, sous forme de chronogramme, des étapes d’un procédé de personnalisation de carte à puce selon un second mode de réalisation de l’invention ;FIG. 5 represents, in chronogram form, steps of a chip card personalization method according to a second embodiment of the invention;
- la Figure 6 représente, sous forme de chronogramme, des étapes mises en oeuvre pour la vérification de la configuration ; FIG. 6 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration;
- la Figure 7 représente, sous forme de chronogramme, des étapes mises en oeuvre pour la vérification de la configuration par l’élément sécurisé selon une variante de la figure 6; FIG. 7 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration by the secure element according to a variant of FIG. 6;
- la Figure 8 représente, sous forme de chronogramme, des étapes d’un routage entre l’élément sécurisé et un dispositif externe, mises en oeuvre par le microcontrôleur; - Figure 8 shows, in the form of a timing diagram, steps of a routing between the secure element and an external device, implemented by the microcontroller;
- la Figure 9 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l’obtention de données ou d’accès à un service de l’élément sécurisé par le microcontrôleur; FIG. 9 illustrates, in the form of a timing diagram, the steps implemented to obtain data or access to a service of the secure element by the microcontroller;
- la Figure 10 illustre, sous forme de chronogramme, des étapes mises en oeuvre par le microcontrôleur pour l’obtention de données ou d’accès à un service d’un dispositif externe;
- la Figure 11 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l'utilisation de données associées à une durée de validité par un dispositif externe selon un premier exemple; FIG. 10 illustrates, in the form of a timing diagram, steps implemented by the microcontroller for obtaining data or accessing a service of an external device; FIG. 11 illustrates, in the form of a timing diagram, the steps implemented for the use of data associated with a period of validity by an external device according to a first example;
- la Figure 12 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l’utilisation de données associées à une durée de validité par un dispositif externe selon un deuxième exemple ; FIG. 12 illustrates, in the form of a timing diagram, the steps implemented for the use of data associated with a period of validity by an external device according to a second example;
- la Figure 13 comprend les Figures 13a et 13b qui illustrent respectivement, sous forme de chronogrammes, une écriture synchrone et une écriture asynchrone selon des modes de réalisation. FIG. 13 comprises FIGS. 13a and 13b which respectively illustrate, in the form of timing diagrams, synchronous writing and asynchronous writing according to embodiments.
DESCRIPTION DETAILLEE DE L’INVENTION DETAILED DESCRIPTION OF THE INVENTION
De façon générale, l’invention concerne une carte à puce comprenant un élément sécurisé ainsi qu’un microcontrôleur, tel qu’un microcontrôleur Bluetooth (Bluetooth est une marque). In general, the invention relates to a smart card comprising a secure element and a microcontroller, such as a Bluetooth microcontroller (Bluetooth is a brand).
L’invention n’est pas limitée à ce mode de réalisation particulier. Notamment, elle pourrait s’appliquer à une carte à puce sans microcontrôleur Bluetooth, par exemple avec un analyseur biométrique. D’autres types de microcontrôleurs peuvent bien entendu être envisagés. L’élément sécurisé de la carte peut être personnalisé, c’est-à-dire que sa configuration peut être modifiée, via une interface de communication avec un dispositif externe, par exemple un lecteur de carte à puce, typiquement un terminal de paiement. The invention is not limited to this particular embodiment. In particular, it could apply to a smart card without a Bluetooth microcontroller, for example with a biometric analyzer. Other types of microcontrollers can of course be considered. The secure element of the card can be customized, that is to say that its configuration can be changed via a communication interface with an external device, for example a smart card reader, typically a payment terminal.
Conformément à la présente invention, c’est l’élément sécurisé qui va personnaliser le microcontrôleur, c’est à dire modifier sa configuration. According to the present invention, it is the secure element that will customize the microcontroller, that is to say modify its configuration.
Selon un mode de réalisation particulier, l’élément sécurisé va également vérifier la configuration du microcontrôleur afin de s’assurer que sa politique de sécurité est bien respectée/appliquée. According to a particular embodiment, the secure element will also verify the configuration of the microcontroller to ensure that its security policy is respected / applied.
Diverses applications de l’invention sont envisagées, par exemple le routage de données de l’élément sécurisé via l’interface Bluetooth du microcontrôleur, ou encore l’authentification de données ou de services ou de dispositifs externes. Various applications of the invention are envisaged, for example the routing of data of the secure element via the Bluetooth interface of the microcontroller, or the authentication of data or services or external devices.
Un service peut être généralement défini comme une structure/collection de messages/données associée à un comportement pour accomplir une fonction particulière. Cette structure/collection est éventuellement associée à un identifiant et peut être hiérarchisée. A service can be generally defined as a structure / collection of messages / data associated with a behavior to perform a particular function. This structure / collection is possibly associated with an identifier and can be hierarchical.
Dans la description suivante, les termes « configuration » et « personnalisation » se rapportent à la configuration d’un composant pendant la production de la carte aussi bien qu’à la configuration du composant au cours de l’utilisation de la carte.
Les termes « modifier la configuration » sont synonymes de « configurer ». Ainsi, il peut s’agir d’une configuration intervenant pendant la fabrication de la carte à puce aussi bien que d’une configuration intervenant au cours de la vie de la carte. In the following description, the terms "configuration" and "customization" refer to the configuration of a component during the production of the card as well as to the configuration of the component during the use of the card. The terms "change configuration" are synonymous with "configure". Thus, it may be a configuration involved during the manufacture of the smart card as well as a configuration occurring during the life of the card.
La Figure 1 comprend les Figures 1a et 1 b qui illustrent, de manière simplifiée, des exemples de carte à puce conformes à des modes de réalisation de la présente invention. Figure 1 includes Figures 1a and 1b which illustrate, in a simplified manner, examples of smart cards in accordance with embodiments of the present invention.
Dans un premier exemple illustré sur la Figure 1a, la carte à puce 1 comprend un élément sécurisé 10 qui communique avec un terminal 12 via une interface de communication à contact 1 1 conforme au standard ISO 7816. Le terminal 12 est par exemple un lecteur de carte à puce. L’invention n’est pas limitée à ce type d’interface de communication. En variante, il pourrait s’agit d’un lien série I2C ou SPI, ou d’une interface sans contact conforme aux normes IS014443 ou NFC/ISO 15693. In a first example illustrated in FIG. 1a, the smart card 1 comprises a secure element 10 which communicates with a terminal 12 via a contact communication interface 1 1 in accordance with the ISO 7816 standard. The terminal 12 is for example a reader of FIG. Smartcard. The invention is not limited to this type of communication interface. Alternatively, it could be an I2C or SPI serial link, or a non-contact interface compliant with IS014443 or NFC / ISO 15693 standards.
La carte à puce 1 comprend également un microcontrôleur 14 configuré pour contrôler un capteur biométrique 16. Le capteur biométrique 16 est par exemple un capteur d’empreinte digitale. The smart card 1 also includes a microcontroller 14 configured to control a biometric sensor 16. The biometric sensor 16 is for example a fingerprint sensor.
Ainsi, dans ce premier exemple, le microcontrôleur communique avec le terminal externe via le lien ISO 7816 entre l’élément sécurisé 10 et le terminal 12. Thus, in this first example, the microcontroller communicates with the external terminal via the ISO link 7816 between the secure element 10 and the terminal 12.
Dans un second exemple illustré sur la Figure 1 b, la carte à puce 1’ diffère de celle de l’exemple de la figure 1 a en ce qu’elle comprend un microcontrôleur 14’ configuré pour contrôler une interface de communication sans fil 16’, ici conforme au standard Bluetooth (Bluetooth est une marque). In a second example illustrated in FIG. 1b, the smart card 1 'differs from that of the example of FIG. 1a in that it comprises a microcontroller 14' configured to control a wireless communication interface 16 ' , here complies with the Bluetooth standard (Bluetooth is a trademark).
Ainsi, dans ce second exemple, le microcontrôleur peut communiquer avec le terminal externe soit via le lien ISO 7816 entre l’élément sécurisé 10 et le terminal 12 soit via l’interface de communication sans fil 16’. Thus, in this second example, the microcontroller can communicate with the external terminal either via the ISO link 7816 between the secure element 10 and the terminal 12 or via the wireless communication interface 16 '.
La Figure 2 représente schématiquement un exemple d’architecture possible pour une carte à puce 20 conforme à des modes de réalisation de l’invention. Cette architecture peut par exemple s’appliquer à la carte 1 ,1’ représentée sur les figures 1 a et 1 b. Figure 2 shows schematically an example of possible architecture for a smart card 20 according to embodiments of the invention. This architecture can for example apply to the card 1, 1 'shown in Figures 1a and 1b.
Cette carte à puce 20 comporte un élément sécurisé 21 1 et un microcontrôleur 221. L’élément sécurisé 21 1 comporte une unité de traitement 22 (ou microprocesseur) reliée par un bus à une mémoire vive (ou volatile) 24 et une mémoire non volatile réinscriptible 26. L’élément sécurisé peut également comporter une mémoire non volatile non réinscriptible (du type ROM par exemple). This smart card 20 comprises a secure element 21 1 and a microcontroller 221. The secure element 21 1 comprises a processing unit 22 (or microprocessor) connected by a bus to a random (or volatile) memory 24 and a non-volatile memory rewritable 26. The secure element may also include a non-volatile memory non-rewritable (ROM type for example).
La mémoire vive 24 est par exemple une RAM (pour Random Access Memory) comprenant des registres adaptés à l’enregistrement des variables et paramètres créés et modifiés au cours de l'exécution d’un programme informatique comprenant des instructions pour la mise en oeuvre d’un procédé conforme à des modes de réalisation de l’invention, lors de la mise en oeuvre de l’invention. Les codes d’instructions du programme stocké en mémoire
non volatile 26 sont chargés en mémoire RAM en vue d’être exécutés par l’unité de traitement 22. The RAM 24 is for example a RAM (for Random Access Memory) comprising registers adapted to the recording of the variables and parameters created and modified during the execution of a computer program comprising instructions for the implementation of a method according to embodiments of the invention, in the practice of the invention. The instruction codes of the program stored in memory nonvolatile 26 are loaded into RAM memory for execution by the processing unit 22.
La mémoire non volatile réinscriptible 26 est par exemple une mémoire EEPROM (pour de Electrically Erasable Read Only Memory) ou encore une mémoire Flash et peut constituer un support au sens de l’invention, c’est-à-dire qu’elle peut comprendre un programme informatique comprenant des instructions pour la mise en oeuvre d’un procédé conforme à des modes de réalisation de l’invention. De manière correspondante, si l’élément sécurisé comporte une mémoire non volatile non réinscriptible, celle-ci peut constituer un support au sens de l’invention. The non-volatile rewritable memory 26 is for example an EEPROM (for electrically erasable read only memory) or a flash memory and can constitute a medium within the meaning of the invention, that is to say it can understand a computer program comprising instructions for carrying out a method according to embodiments of the invention. Correspondingly, if the secure element comprises a non-volatile memory non-rewritable, it may constitute a medium within the meaning of the invention.
De même, le microcontrôleur 221 comporte une unité de traitement 212 (ou microprocesseur) reliée par un bus à une mémoire vive 214 (par exemple du même type que la mémoire 24) et une mémoire non volatile réinscriptible 216 (par exemple du même type que la mémoire 26). Similarly, the microcontroller 221 comprises a processing unit 212 (or microprocessor) connected by a bus to a random access memory 214 (for example of the same type as the memory 24) and a rewritable non-volatile memory 216 (for example of the same type as memory 26).
L’élément sécurisé 21 1 est relié à une interface de communication 28 avec un lecteur de carte à puce. Par exemple, l’interface de communication 28 est conforme à la norme ISO 7816 (communication à contact) ou aux normes IS014443 ou NFC/ISO 15693 (communication sans contact). L’élément sécurisé 21 1 est relié au microcontrôleur 221 par une interface de communication 250. Par exemple, l’interface de communication 250 conforme à la norme ISO 7816, I2C ou SPI. Dans des modes de réalisation, les interfaces 28 et 250 ne sont qu’une seule et même interface. The secure element 21 1 is connected to a communication interface 28 with a smart card reader. For example, the communication interface 28 complies with ISO 7816 (contact communication) or IS014443 or NFC / ISO 15693 (contactless communication). The secure element 21 1 is connected to the microcontroller 221 by a communication interface 250. For example, the communication interface 250 complies with ISO 7816, I2C or SPI. In embodiments, the interfaces 28 and 250 are one and the same interface.
Dans cet exemple, le microcontrôleur 221 est de plus relié à une interface annexe 231 , par exemple une interface de communication sans fil Bluetooth ou une interface du type capteur d’empreinte, bouton, capteur de lumière, buzzer ou afficheur. In this example, the microcontroller 221 is further connected to an annex interface 231, for example a Bluetooth wireless communication interface or an interface such as fingerprint sensor, button, light sensor, buzzer or display.
Conformément à des modes de réalisation de la présente invention, l’élément sécurisé est configuré pour configurer le microcontrôleur et/ou modifier la configuration actuelle/courante du microcontrôleur. According to embodiments of the present invention, the secure element is configured to configure the microcontroller and / or modify the current / current configuration of the microcontroller.
Dans certains modes de réalisation, une telle configuration définit un service de communication sans fil, éventuellement associé à au moins une application de l’élément sécurisé. In some embodiments, such a configuration defines a wireless communication service, possibly associated with at least one application of the secure element.
Par exemple, la configuration du microcontrôleur peut définir des règles relatives au routage des données par le microcontrôleur, comme décrit en référence à la figure 8. For example, the configuration of the microcontroller can define rules relating to the routing of data by the microcontroller, as described with reference to FIG. 8.
Dans des modes de réalisation, la configuration définit un service type service « battery » définit dans la norme Bluetooth. En pratique, ce service ne concerne que les microcontrôleurs montés dans une carte avec batterie et permet au microcontrôleur d’envoyer le pourcentage de charge de la batterie interne de la carte au dispositif externe. Le microcontrôleur peut déduire cette valeur de charge via l’électronique de la carte sans nécessiter une interrogation de l’élément sécurisé (et/ou d’une de ses application).
Selon un autre exemple, la configuration définit un service « RSSI » (Received Signal Strength Indication). In embodiments, the configuration defines a service-type service "battery" defined in the Bluetooth standard. In practice, this service only concerns microcontrollers mounted in a battery-powered card and allows the microcontroller to send the percentage of charge from the internal battery of the card to the external device. The microcontroller can deduce this charge value via the electronic card without requiring interrogation of the secure element (and / or one of its application). In another example, the configuration defines a service "RSSI" (Received Signal Strength Indication).
Dans des modes de réalisation, la configuration du microcontrôleur peut indiquer une donnée ou type(s) de données que le microcontrôleur est autorisé à obtenir de l’élément sécurisé ou d’un dispositif externe et/ou un service que le microcontrôleur est autorisé à utiliser. In embodiments, the configuration of the microcontroller can indicate data or type (s) of data that the microcontroller is allowed to obtain from the secure element or an external device and / or a service that the microcontroller is allowed to use.
Par exemple, une telle configuration peut comprendre un certificat électronique contenant des indicateurs relatifs aux données que le microcontrôleur peut recevoir. Notamment, le certificat peut être signé par un tiers de confiance reconnu par l’élément sécurisé et/ou le dispositif externe qui envoie lesdites données. For example, such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive. In particular, the certificate may be signed by a trusted third party recognized by the secure element and / or the external device that sends said data.
La configuration du microcontrôleur peut notamment préciser une durée de validité de la donnée ou du type de données, au terme de laquelle la donnée ne peut plus être utilisée par le microcontrôleur ou une durée de validité du service, au terme de laquelle celui-ci ne peut plus être utilisé par le microcontrôleur. The configuration of the microcontroller can in particular specify a period of validity of the data or the type of data, at the end of which the data can no longer be used by the microcontroller or a duration of validity of the service, at the end of which it does not can no longer be used by the microcontroller.
La configuration du microcontrôleur peut également préciser le mode d’écriture (par exemple synchrone ou asynchrone) à utiliser par le microcontrôleur pour stocker des données ou un service. The configuration of the microcontroller can also specify the writing mode (for example synchronous or asynchronous) to be used by the microcontroller to store data or a service.
La configuration peut définir des règles pour la mise en oeuvre de contremesures sécuritaires par le microcontrôleur en réponse à la détection d’une attaque. Des exemples d’évènements pouvant être considérés comme des attaques sont la réception d’un signal d’un capteur de l’élément sécurisé/microcontrôleur indiquant une température anormale, une perte d’intégrité de la couche protectrice, ou encore un nombre prédéterminé d’essais successifs de code PIN erronés. Les règles définies sont par exemple l’effacement des données mémorisées dans le microcontrôleur (même si elles sont valides eu égard à leur durée de validité) ou encore l’écriture d’une donnée de blocage dans une zone de mémoire dédiée ou non. The configuration may define rules for implementing secure countermeasures by the microcontroller in response to detecting an attack. Examples of events that can be considered as attacks are the reception of a signal from a sensor of the secure element / microcontroller indicating an abnormal temperature, loss of integrity of the protective layer, or a predetermined number of times. successive erroneous PIN code tests. The defined rules are for example the erasure of the data stored in the microcontroller (even if they are valid with respect to their validity) or the writing of a blocking data in a dedicated memory area or not.
La Figure 3 représente, sous forme de chronogramme, des étapes de personnalisation de l’élément sécurisé de la carte à puce. Ces étapes sont mises en oeuvre préalablement au procédé selon l’invention, dont des exemples de modes de réalisation seront décrits en référence aux prochaines figures. Figure 3 shows, in the form of a timing diagram, steps of personalization of the secure element of the smart card. These steps are implemented prior to the method according to the invention, examples of whose embodiments will be described with reference to the next figures.
Au cours d’une première étape E300, la carte à puce est allumée (Power On). En pratique, un dispositif externe, typiquement un lecteur de carte à puce, peut alimenter la carte à puce. En variante, la carte à puce comprend une batterie interne qui permet d’alimenter ses composants. During a first step E300, the smart card is on (Power On). In practice, an external device, typically a smart card reader, can power the smart card. In a variant, the smart card includes an internal battery that powers its components.
Au cours d’une étape E310, le dispositif externe et l’élément sécurisé établissent une communication pour échanger des données via l’interface 28 représentée sur la figure 2. During a step E310, the external device and the secure element establish a communication for exchanging data via the interface 28 shown in FIG.
Au cours d’une étape E320, l’élément sécurisé authentifie le dispositif externe. Par exemple cette étape comprend la génération d’un challenge CH 1 par l’élément sécurisé puis
sa transmission au dispositif externe et la réception d’une réponse au challenge, par exemple sous la forme d’une signature S1. L’élément sécurisé vérifie ensuite la validité de cette signature. During a step E320, the secure element authenticates the external device. For example, this step includes generating a challenge CH 1 by the secure element and then its transmission to the external device and the receipt of a response to the challenge, for example in the form of a signature S1. The secure element then verifies the validity of this signature.
En variante, l’étape E320 pourrait comprendre une authentification mutuelle. Alternatively, step E320 could include mutual authentication.
Au cours d’une étape E330, le dispositif externe transmet une configuration à l’élément sécurisé. Il peut s’agir d’une configuration initiale ou bien d’une nouvelle configuration venant modifier/remplacer la configuration existante. During a step E330, the external device transmits a configuration to the secure element. It can be an initial configuration or a new configuration that modifies / replaces the existing configuration.
Au cours d’une étape E340, l’élément sécurisé enregistre/charge la configuration reçue à l’étape E330. En pratique, au cours d’une étape E350, l’élément sécurisé modifie un indicateur indiquant que la configuration a bien été modifiée/chargée. During a step E340, the secure element records / loads the configuration received in step E330. In practice, during a step E350, the secure element modifies an indicator indicating that the configuration has been modified / loaded.
Au cours de l’étape E360, la carte à puce s’éteint (Power OFF). Dans des modes de réalisation, des étapes supplémentaires, par exemple certaines étapes décrites en référence aux figures 4, 5, 6, 7, sont mises en oeuvre avant cette étape E360. Autrement dit, il n’y a pas nécessairement de redémarrage de la carte entre la mise en oeuvre de ces étapes. In step E360, the smart card turns off (Power OFF). In embodiments, additional steps, for example certain steps described with reference to FIGS. 4, 5, 6, 7, are carried out before this step E360. In other words, there is not necessarily a restart of the card between the implementation of these steps.
La Figure 4 représente, sous forme de chronogramme, des étapes d’un procédé de personnalisation de carte à puce selon un premier mode de réalisation de l’invention. FIG. 4 represents, in the form of a timing diagram, steps of a chip card personalization method according to a first embodiment of the invention.
Dans cet exemple, l’élément sécurisé et le microcontrôleur sont dans une configuration maître-esclave dans laquelle l’élément sécurisé joue le rôle d’esclave et le microcontrôleur celui de maître. In this example, the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
Au cours d’une étape E400, l’élément sécurisé et le microcontrôleur s’authentifient mutuellement. Cette authentification est ici à l’initiative du microcontrôleur car il joue le rôle du maître et l’élément sécurisé celui de l’esclave. En variante, seul le microcontrôleur ou seul l’élément sécurisé pourrait s’authentifier. During a step E400, the secure element and the microcontroller mutually authenticate. This authentication is here at the initiative of the microcontroller because it plays the role of the master and the secure element that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate.
A détection d’un évènement (étape E410), le microcontrôleur interroge l’élément sécurisé afin de savoir si sa configuration doit être modifiée. Upon detection of an event (step E410), the microcontroller interrogates the secure element in order to know if its configuration needs to be modified.
Dans des modes de réalisation, cet événement prédéfini peut être la réception d’une information par le microcontrôleur. Par exemple, la réception d’une donnée via Bluetooth si le microcontrôleur est un contrôleur Bluetooth, la détection d’un doigt si le microcontrôleur est connecté à un capteur d’empreinte digitale, ou l’appui sur un bouton si le microcontrôleur est connecté à un bouton. In embodiments, this predefined event may be the reception of information by the microcontroller. For example, receiving data via Bluetooth if the microcontroller is a Bluetooth controller, detecting a finger if the microcontroller is connected to a fingerprint sensor, or pressing a button if the microcontroller is connected at a button.
Selon d’autres modes de réalisation, l’évènement peut être l’expiration d’un délai/d’une temporisation. Par exemple, cette temporisation est gérée par le microcontrôleur et démarre par exemple à partir de l’instant où la carte est alimentée (power ON). According to other embodiments, the event may be the expiration of a delay / a timeout. For example, this delay is managed by the microcontroller and starts for example from the moment when the card is powered (power ON).
En variante, l’étape d’authentification E400 peut être mise en oeuvre après la détection de l’évènement (étape E410). Alternatively, the authentication step E400 can be implemented after the detection of the event (step E410).
Au cours d’une étape E420, l’élément sécurisé vérifie si la configuration du microcontrôleur doit être modifiée puis renvoie la réponse au microcontrôleur. Cela peut se
faire, par exemple, par vérification de l’état de l’indicateur mentionné à l’étape E350 de la figure 3. During a step E420, the secure element checks whether the configuration of the microcontroller must be modified and returns the response to the microcontroller. This can be for example, by checking the state of the indicator mentioned in step E350 of FIG. 3.
Au cours d’une étape E430, si sa configuration doit être modifiée, le microcontrôleur demande à l’élément sécurisé qu’il lui envoie la configuration modifiée. During a step E430, if its configuration must be modified, the microcontroller asks the secure element that it sends the modified configuration.
Au cours d’une étape E440, l’élément sécurisé envoie la configuration modifiée au microcontrôleur. During a step E440, the secure element sends the modified configuration to the microcontroller.
Au cours d’une étape E450, la configuration reçue est enregistrée et appliquée par le microcontrôleur. During a step E450, the received configuration is recorded and applied by the microcontroller.
Au cours d’une étape E460, le microcontrôleur informe l’élément sécurisé du bon déroulement de la configuration (statut ok). During a step E460, the microcontroller informs the secure element of the smooth running of the configuration (status ok).
Au cours d’une étape E470, l’élément sécurisé accuse bonne réception de cette information. During a step E470, the secure element acknowledges receipt of this information.
En variante, l’application de la configuration reçue de l’élément sécurisé à l’étape E440 peut être différée, par exemple jusqu’à ce que le microcontrôleur détecte un évènement particulier. L’évènement particulier peut être par exemple le prochain allumage (Power ON) de la carte. En variante, cet évènement peut être la réception d’une information indiquant le début d’une transaction bancaire dans un distributeur de billets. Ceci permettrait par exemple d’assurer que la carte ne sera pas arrachée de l’alimentation avant la fin de l’enregistrement de la configuration modifiée par le microcontrôleur, empêchant ainsi la corruption de la configuration modifiée. As a variant, the application of the configuration received from the secure element in step E440 may be delayed, for example until the microcontroller detects a particular event. The particular event may be for example the next ignition (Power ON) of the card. Alternatively, this event may be the receipt of information indicating the start of a bank transaction in a cash dispenser. This would for example ensure that the card will not be removed from the power supply before the end of the registration of the modified configuration by the microcontroller, thus preventing the corruption of the modified configuration.
Cette variante présente l’avantage d’éviter notamment un problème de cohérence et de corruption de données qui pourrait survenir au cours de l’utilisation de la carte à puce si la configuration du microcontrôleur est modifiée trop longtemps après l’allumage de la carte. Cela pourrait par exemple être le cas si la transmission de la configuration par l’élément sécurisé à l’étape E440 et/ou son enregistrement par le microcontrôleur (étape E450) sont longs. En effet, dans un tel cas il y a un risque que l’alimentation de la carte soit interrompue, interrompant ainsi la configuration en cours du microcontrôleur par l’élément sécurisé. This variant has the advantage of avoiding in particular a problem of consistency and data corruption that may occur during the use of the smart card if the configuration of the microcontroller is changed too long after switching on the card. This could for example be the case if the transmission of the configuration by the secure element in step E440 and / or its recording by the microcontroller (step E450) are long. Indeed, in such a case there is a risk that the power supply of the card is interrupted, thus interrupting the current configuration of the microcontroller by the secure element.
La Figure 5 représente, sous forme de chronogramme, des étapes d’un procédé de personnalisation de carte à puce selon un second mode de réalisation de l’invention. FIG. 5 represents, in chronogram form, steps of a chip card personalization method according to a second embodiment of the invention.
Dans cet exemple, l’élément sécurisé et le microcontrôleur sont dans une configuration maître-esclave dans laquelle l’élément sécurisé joue le rôle de maître et le microcontrôleur celui d’esclave. In this example, the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of master and the microcontroller that of slave.
Au cours d’une étape E500, l’élément sécurisé et le microcontrôleur s’authentifient mutuellement. Cette authentification est ici à l’initiative de l’élément sécurisé car il joue le rôle du maître et le microcontrôleur celui de l’esclave. En variante, seul le microcontrôleur ou seul l’élément sécurisé pourrait s’authentifier.
Au cours d’une étape E520 similaire à l’étape E420, l’élément sécurisé vérifie si la configuration du microcontrôleur doit être modifiée puis renvoie la réponse au microcontrôleur. During a step E500, the secure element and the microcontroller mutually authenticate each other. This authentication is here at the initiative of the secure element because it plays the role of the master and the microcontroller that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate. During a step E520 similar to step E420, the secure element checks whether the configuration of the microcontroller must be modified and then returns the response to the microcontroller.
L’étape E520 peut être mise en oeuvre régulièrement ou bien à détection d’un évènement prédéfini. Par exemple, cet événement prédéfini peut être la réception d’un statut particulier du microcontrôleur par l’élément sécurisé. Par exemple, ce statut peut indiquer la réception d’une donnée via Bluetooth si le microcontrôleur est un contrôleur Bluetooth, la détection d’un doigt si le microcontrôleur est associé à un capteur d’empreinte digitale, ou l’appui sur un bouton si le microcontrôleur est connecté à un bouton. Step E520 can be implemented regularly or to detect a predefined event. For example, this predefined event may be the reception of a particular status of the microcontroller by the secure element. For example, this status may indicate the receipt of data via Bluetooth if the microcontroller is a Bluetooth controller, the detection of a finger if the microcontroller is associated with a fingerprint sensor, or the pressing of a button if the microcontroller is connected to a button.
Selon d’autres modes de réalisation, l’évènement peut être l’expiration d’un délai/d’une temporisation. Par exemple, cette temporisation est gérée par l’élément sécurisé et démarre par exemple à partir de l’instant où la carte est alimentée (power ON). According to other embodiments, the event may be the expiration of a delay / a timeout. For example, this timer is managed by the secure element and starts for example from the moment when the card is powered (power ON).
Au cours d’une étape E540 similaire à l’étape E440, si la configuration doit être modifiée, l’élément sécurisé envoie la configuration modifiée au microcontrôleur. During a step E540 similar to step E440, if the configuration is to be modified, the secure element sends the modified configuration to the microcontroller.
Au cours d’une étape E550 similaire à l’étape E450, la configuration reçue est enregistrée et appliquée par le microcontrôleur. During a step E550 similar to step E450, the received configuration is recorded and applied by the microcontroller.
Au cours d’une étape E560 similaire à l’étape E460, le microcontrôleur informe l’élément sécurisé du bon déroulement de la configuration (statut ok). During a step E560 similar to step E460, the microcontroller informs the secure element of the smooth running of the configuration (status ok).
La Figure 6 représente, sous forme de chronogramme, des étapes mises en oeuvre pour la vérification de la configuration du microcontrôleur par l’élément sécurisé. Ces étapes font par exemple suite à l’installation d’une nouvelle configuration du microcontrôleur sous le contrôle de l’élément sécurisé. En variante, elles peuvent être mises en oeuvre au démarrage de la carte (power ON). En effet, l’accès aux données et services de l’élément sécurisé depuis un dispositif externe et/ou depuis le microcontrôleur peut être conditionné au bon déroulement de ces étapes. Figure 6 shows, in the form of a timing diagram, steps implemented for the verification of the configuration of the microcontroller by the secure element. These steps are for example following the installation of a new configuration of the microcontroller under the control of the secure element. In a variant, they can be implemented when the card is turned on (power ON). Indeed, access to the data and services of the secure element from an external device and / or from the microcontroller can be conditioned to the proper conduct of these steps.
Dans cet exemple, l’élément sécurisé et le microcontrôleur sont dans une configuration maître-esclave dans laquelle l’élément sécurisé joue le rôle d’esclave et le microcontrôleur celui de maître. In this example, the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
Au cours d’une étape E600 similaire à l’étape E400, l’élément sécurisé et le microcontrôleur s’authentifient mutuellement. Cette authentification est ici à l’initiative du microcontrôleur car il joue le rôle du maitre et l’élément sécurisé celui de l’esclave. En variante, seul le microcontrôleur ou seul l’élément sécurisé pourrait s’authentifier. During a step E600 similar to step E400, the secure element and the microcontroller mutually authenticate each other. This authentication is here at the initiative of the microcontroller because it plays the role of the master and the secure element that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate.
Au cours d’une étape E610, le microcontrôleur interroge l’élément sécurisé. Cette étape est nécessaire dans la mesure où l’élément sécurisé joue le rôle d’esclave. Dans cet exemple, cette interrogation prend la forme d’une demande d’accès à un service ou une donnée à l’élément sécurisé. Toutefois, l’invention n’est pas limitée à ce type d’interrogation.
Par exemple, l’étape E610 pourrait consister en l’envoi d’une donnée ou d’un challenge par le microcontrôleur à l’élément sécurisé. En variante, l’étape E610 pourrait comprendre l’envoi d’une commande dédiée au déclenchement du procédé de vérification. During a step E610, the microcontroller interrogates the secure element. This step is necessary insofar as the secure element acts as a slave. In this example, this query takes the form of a request for access to a service or data to the secure element. However, the invention is not limited to this type of interrogation. For example, the step E610 could consist of sending a datum or a challenge by the microcontroller to the secure element. Alternatively, step E610 could include sending a dedicated command to trigger the verification process.
Au cours d’une étape E620, l’élément sécurisé informe le microcontrôleur qu’une vérification de sa configuration est nécessaire, ici pour déterminer si l’accès demandé est accordé ou non. Pour ce faire, il demande au microcontrôleur de lui envoyer sa configuration actuelle ou tout autre donnée lui permettant de vérifier son intégrité. Il s’agit par exemple d’un hash ou d’une signature de la configuration pouvant comprendre la réponse à un challenge préalablement reçu de l’élément sécurisé. During a step E620, the secure element informs the microcontroller that a verification of its configuration is necessary, here to determine whether the requested access is granted or not. To do this, he asks the microcontroller to send him his current configuration or any other data allowing him to verify its integrity. This is for example a hash or a signature of the configuration that may include the response to a challenge previously received from the secure element.
En réponse, le microcontrôleur transmet sa configuration actuelle ou la donnée demandée (étape E630) à l’élément sécurisé qui vérifie (étape E640) si le microcontrôleur a la bonne configuration. In response, the microcontroller transmits its current configuration or the requested data (step E630) to the secure element that checks (step E640) if the microcontroller has the correct configuration.
La vérification peut être une comparaison de la configuration reçue à l’étape E630 avec celle stockée dans la mémoire de l’élément sécurisé. Le résultat de la comparaison est alors un statut indiquant si la configuration reçue est identique à celle stockée dans l’élément sécurisé. Selon un mode d’implémentation alternatif cette vérification peut consister à comparer le hash ou signature reçu à l’étape E630 avec un hash ou une signature de référence stocké dans l’élément sécurisé ou calculé par l’élément sécurisé à partir de la configuration stockée dans celui-ci (et éventuellement du challenge qu’il a envoyé au microcontrôleur). The verification may be a comparison of the configuration received in step E630 with that stored in the memory of the secure element. The result of the comparison is then a status indicating whether the received configuration is identical to that stored in the secure element. According to an alternative implementation mode this verification can consist in comparing the hash or signature received in step E630 with a hash or a reference signature stored in the secure element or calculated by the secure element from the stored configuration. in this one (and possibly the challenge he sent to the microcontroller).
Dans cet exemple, si le microcontrôleur a effectivement la bonne configuration, l’élément sécurisé peut déterminer si selon la configuration, il est autorisé à obtenir la donnée requise ou à accéder au service demandé. In this example, if the microcontroller actually has the correct configuration, the secure element can determine if according to the configuration, it is allowed to obtain the required data or to access the requested service.
A cet effet, la configuration reçue à l’étape E630 peut indiquer des données ou type(s) de données que le microcontrôleur est autorisé à obtenir de l’élément sécurisé ainsi que les services que le microcontrôleur est autorisé à utiliser. For this purpose, the configuration received in step E630 may indicate data or type (s) of data that the microcontroller is allowed to obtain from the secure element and the services that the microcontroller is authorized to use.
Par exemple, une telle configuration peut comprendre un certificat électronique contenant des indicateurs relatifs aux données que le microcontrôleur peut recevoir. Notamment, le certificat peut être signé par un tiers de confiance reconnu par l’élément sécurisé. For example, such a configuration may include an electronic certificate containing indicators relating to the data that the microcontroller can receive. In particular, the certificate may be signed by a trusted third party recognized by the secure element.
Optionnellement, un challenge peut être soumis au microcontrôleur à l’étape E620 qui y répond à l’étape E630. En variante ou en combinaison, le microcontrôleur peut également envoyer une signature de la configuration. Optionally, a challenge may be submitted to the microcontroller in step E620 which responds to step E630. Alternatively or in combination, the microcontroller can also send a signature of the configuration.
Au cours d’une étape E650, l’élément sécurisé renvoie sa réponse au microcontrôleur en fonction du résultat de la vérification de l’étape E640. Cette réponse consiste ainsi à dire si la configuration du microcontrôleur est à jour et/ou intègre, ou non. Elle peut également autoriser l’accès au service ou à la donnée demandé(e) à l’étape E610, ou
l’interdire. Dans le cas où la configuration n’est pas à jour et/ou intègre, l’élément sécurisé peut décider de la mettre à jour. During a step E650, the secure element returns its response to the microcontroller according to the result of the verification of step E640. This answer consists in saying if the configuration of the microcontroller is up to date and / or integrates, or not. It may also allow access to the requested service or data at step E610, or ban. In the case where the configuration is not current and / or intact, the secure element may decide to update it.
Selon un mode de réalisation alternatif, l’étape E610 est remplacée par une demande de challenge à l’élément sécurisé et l’étape E620 comprend en outre l’envoi de ce challenge au microcontrôleur. L’étape E630 comprend alors l’envoi d’une réponse au challenge à l’élément sécurisé avec la configuration. According to an alternative embodiment, the step E610 is replaced by a challenge request to the secure element and the E620 step further comprises sending this challenge to the microcontroller. Step E630 then includes sending a response to the challenge to the secure element with the configuration.
La Figure 7 représente, sous forme de chronogramme, des étapes mises en oeuvre pour la vérification de la configuration par l’élément sécurisé selon une variante de la figure 6. Ces étapes font par exemple suite à l’installation d’une nouvelle configuration du microcontrôleur sous le contrôle de l’élément sécurisé. En variante, elles peuvent être mises en oeuvre au démarrage de la carte (power ON). En effet, l’accès aux données et services de l’élément sécurisé depuis un dispositif externe et/ou depuis le microcontrôleur peut être conditionné au bon déroulement de ces étapes. FIG. 7 represents, in the form of a timing diagram, the steps implemented for the verification of the configuration by the secure element according to a variant of FIG. 6. These steps, for example, follow the installation of a new configuration of FIG. microcontroller under the control of the secure element. In a variant, they can be implemented when the card is turned on (power ON). Indeed, access to the data and services of the secure element from an external device and / or from the microcontroller can be conditioned to the proper conduct of these steps.
Dans cet exemple, l’élément sécurisé et le microcontrôleur sont dans une configuration maître-esclave dans laquelle l’élément sécurisé joue le rôle de maître et le microcontrôleur celui d’esclave. In this example, the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of master and the microcontroller that of slave.
Au cours d’une étape E700 similaire à l’étape E500, l’élément sécurisé et le microcontrôleur s’authentifient mutuellement. Cette authentification est ici à l’initiative de l’élément sécurisé car il joue le rôle du maitre et le microcontrôleur celui de l’esclave. En variante, seul le microcontrôleur ou seul l’élément sécurisé pourrait s’authentifier. During an E700 step similar to step E500, the secure element and the microcontroller mutually authenticate each other. This authentication is here at the initiative of the secure element because it plays the role of the master and the microcontroller that of the slave. Alternatively, only the microcontroller or only the secure element could authenticate.
Au cours d’une étape E720 similaire à l’étape E620, l’élément sécurisé demande au microcontrôleur de lui envoyer sa configuration actuelle ou tout autre donnée lui permettant de vérifier son intégrité. Il s’agit par exemple d’un hash ou d’une signature de la configuration pouvant comprendre la réponse à un challenge préalablement reçu de l’élément sécurisé, afin de la vérifier. During a step E720 similar to step E620, the secure element asks the microcontroller to send it its current configuration or any other data enabling it to check its integrity. This is for example a hash or a signature of the configuration that can include the response to a challenge previously received from the secure element, to verify it.
En réponse, le microcontrôleur transmet sa configuration actuelle ou cette autre donnée (étape E730) à l’élément sécurisé qui la vérifie (étape E740). In response, the microcontroller transmits its current configuration or other data (step E730) to the secure element that verifies it (step E740).
La vérification peut être une comparaison de la configuration reçue à l’étape E730 avec celle stockée dans la mémoire de l’élément sécurisé. Le résultat de la comparaison est alors un statut indiquant si la configuration reçue est identique à celle stockée dans l’élément sécurisé. Selon un mode d’implémentation alternatif cette vérification peut consister à comparer le hash ou signature reçu à l’étape E730 avec un hash ou une signature de référence stocké dans l’élément sécurisé ou calculé par l’élément sécurisé à partir de la configuration stockée dans celui-ci (et éventuellement le challenge qu’il a envoyé au microcontrôleur). The verification may be a comparison of the configuration received in step E730 with that stored in the memory of the secure element. The result of the comparison is then a status indicating whether the received configuration is identical to that stored in the secure element. According to an alternative implementation mode this verification can consist in comparing the hash or signature received in step E730 with a hash or a reference signature stored in the secure element or calculated by the secure element from the stored configuration. in this one (and possibly the challenge he sent to the microcontroller).
Au cours d’une étape E750, l’élément sécurisé envoie le résultat de la vérification au microcontrôleur en fonction de l’étape E740. Cette réponse consiste ainsi à dire si la
configuration du microcontrôleur est à jour et/ou intègre, ou non. Dans le cas où la configuration n’est pas à jour et/ou intègre, l’élément sécurisé peut décider de la mettre à jour. During a step E750, the secure element sends the result of the verification to the microcontroller according to the step E740. This answer consists of saying whether the microcontroller configuration is up to date and / or integrates, or not. In the case where the configuration is not current and / or intact, the secure element may decide to update it.
Au cours d’une étape E760, le microcontrôleur accuse réception de cette information et/ou demande l’accès à un service ou une donnée de l’élément sécurisé. During a step E760, the microcontroller acknowledges receipt of this information and / or requests access to a service or data item of the secure element.
La Figure 8 représente, sous forme de chronogramme, des étapes d’un routage entre l’élément sécurisé et un dispositif externe, mises en oeuvre par le microcontrôleur. Figure 8 shows, in the form of a timing diagram, steps of a routing between the secure element and an external device, implemented by the microcontroller.
Dans cet exemple, l’élément sécurisé et le microcontrôleur sont dans une configuration maître-esclave dans laquelle l’élément sécurisé joue le rôle d’esclave et le microcontrôleur celui de maître. In this example, the secure element and the microcontroller are in a master-slave configuration in which the secure element plays the role of slave and the microcontroller that of master.
Dans cet exemple, la configuration consiste en une table de routage qui établit une correspondance entre des applications de l’élément sécurisé (App1 , App2) et les services (Service 1 , Service 2, Service 3) proposés et/ou supportés par le microcontrôleur sur l’interface annexe 231. In this example, the configuration consists of a routing table that establishes a correspondence between applications of the secure element (App1, App2) and the services (Service 1, Service 2, Service 3) proposed and / or supported by the microcontroller on the appendix 231.
A titre d’illustration, la table de routage peut être par exemple figurée comme suit : As an illustration, the routing table can be for example figured as follows:
Les indicateurs « entrée » et « sortie » permettent au microcontrôleur de connaître le sens de transit associé à chaque paire application/service. Ainsi quand le microcontrôleur reçoit des données du dispositif externe via un service, il peut rechercher l’application associée au service parmi les couples application/service associés à l’indicateur « Entrée ». Quand le microcontrôleur reçoit des données de l’élément sécurisé, il peut rechercher le service à utiliser pour transmettre la donnée au dispositif externe parmi les couples application/service associés à l’indicateur « Sortie ». The "input" and "output" indicators allow the microcontroller to know the transit direction associated with each application / service pair. Thus when the microcontroller receives data from the external device via a service, it can search the application associated with the service among the application / service pairs associated with the "Enter" indicator. When the microcontroller receives data from the secure element, it can search the service to be used to transmit the data to the external device among the application / service pairs associated with the "Output" indicator.
Au cours d’une étape E800, le dispositif externe envoie un service « Service 3 », c’est-à-dire une structure de données particulière « Service 3 », comprenant par exemple un code PIN, au microcontrôleur de la carte. Ceci peut faire suite à la saisie du code PIN par un utilisateur sur le dispositif externe. La réception peut se faire en Bluetooth sur l’interface annexe 231 . During an E800 step, the external device sends a "Service 3" service, that is to say a particular data structure "Service 3", comprising for example a PIN code, to the microcontroller of the card. This may be a result of a user entering the PIN code on the external device. The reception can be done by Bluetooth on the interface 231.
Au cours d’une étape E805, le microcontrôleur effectue un routage. During a step E805, the microcontroller performs a routing.
En pratique, au cours de cette étape, le service reçu à l’étape E800 est identifié, puis le microcontrôleur recherche l’application de l’élément sécurisé qui est associée à ce service dans sa table de routage (i.e. sa configuration), c'est-à-dire l’application à laquelle le microcontrôleur doit faire suivre tout ou partie des données contenues dans le service. Dans le cas présent, le microcontrôleur conclut à l’étape E805 qu’il doit envoyer la donnée reçue via le service 3 (le PIN) à l’application « App 1 » de l’élément sécurisé.
Au cours d’une étape E810, le microcontrôleur envoie une commande de sélection d'une application App1 de l’élément sécurisé. Par exemple, cette application permet de vérifier un code PIN. In practice, during this step, the service received at step E800 is identified, then the microcontroller searches the application of the secure element that is associated with this service in its routing table (ie its configuration), c. that is to say the application to which the microcontroller must forward all or part of the data contained in the service. In the present case, the microcontroller concludes at step E805 that it must send the data received via the service 3 (the PIN) to the application "App 1" of the secure element. During a step E810, the microcontroller sends a selection command of an application App1 of the secure element. For example, this application allows you to check a PIN.
Au cours d’une étape E815, l’élément sécurisé sélectionne son application App1 et en informe le microcontrôleur au cours d’une étape E820. During a step E815, the secure element selects its application App1 and informs the microcontroller during a step E820.
Au cours d’une étape E825, le microcontrôleur envoie le code PIN reçu à l’étape E800 à l’élément sécurisé. During a step E825, the microcontroller sends the PIN code received in step E800 to the secure element.
Au cours d’une étape E830, l’élément sécurisé traite le code PIN à l’aide de l’application App1 . During an E830 step, the secure element processes the PIN code using the App1 application.
Au cours d’une étape E835, l’élément sécurisé renvoie un challenge au microcontrôleur afin de faire une vérification supplémentaire. During a step E835, the secure element returns a challenge to the microcontroller to make an additional check.
Au cours d’une étape E840, le microcontrôleur met en oeuvre une opération de routage. En pratique, au cours de cette étape, le microcontrôleur recherche le service à utiliser pour faire suivre la donnée reçue à l’étape E835 au dispositif externe dans sa table de routage (i.e. sa configuration). Dans le cas présent, le microcontrôleur conclut à l’étape E840 qu’il doit envoyer la donnée reçue dans l’étape E835 (le challenge) via le « Service 1 » au dispositif externe. During a step E840, the microcontroller implements a routing operation. In practice, during this step, the microcontroller searches for the service to be used to forward the data received in step E835 to the external device in its routing table (i.e. its configuration). In the present case, the microcontroller concludes in step E840 that it must send the data received in step E835 (the challenge) via the "Service 1" to the external device.
Au cours d’une étape E845, le microcontrôleur envoie le challenge au dispositif externe via le service « Service 1 », c’est-à-dire en utilisant une structure de donnée avec éventuellement un identifiant associé, identifié lors de l’étape de routage E840. During a step E845, the microcontroller sends the challenge to the external device via the service "Service 1", that is to say using a data structure with possibly an associated identifier, identified during the step of E840 routing.
Dans l’exemple présent, le challenge est envoyé au dispositif externe via le service 1 .. In the present example, the challenge is sent to the external device via the service 1 ..
Au cours d’une étape E850, le dispositif externe répond au challenge auprès du microcontrôleur via le service « Service 2 ». During an E850 step, the external device responds to the challenge with the microcontroller via the "Service 2" service.
Au cours d’une étape E855, le microcontrôleur met en oeuvre une opération de routage. En pratique, au cours de cette étape, le microcontrôleur identifie le service reçu à l’étape E850, puis recherche l’application de l’élément sécurisé qui est associé à ce service dans la table de routage (i.e. sa configuration), c'est-à-dire l’application à laquelle le microcontrôleur doit faire suivre tout ou partie des données contenues dans le service. Dans le cas présent, le microcontrôleur conclut à l’étape E855 qu’il doit envoyer la donnée reçue via le « Service 2 » (la réponse au challenge) à l’App2 de l’élément sécurisé. During a step E855, the microcontroller implements a routing operation. In practice, during this step, the microcontroller identifies the service received in step E850, then looks for the application of the secure element that is associated with this service in the routing table (ie its configuration), that is that is to say the application to which the microcontroller must forward all or part of the data contained in the service. In this case, the microcontroller concludes in step E855 that it must send the data received via "Service 2" (the response to the challenge) to the App2 of the secure element.
Au cours d’une étape E860, le microcontrôleur envoie une commande de sélection d'une application App2 de l’élément sécurisé. Par exemple, cette application permet de vérifier la réponse apportée au challenge. During a step E860, the microcontroller sends a selection command of an application App2 of the secure element. For example, this application is used to check the response to the challenge.
Au cours d’une étape E865, l’élément sécurisé sélectionne son application App2 et en informe le microcontrôleur au cours d’une étape E870.
Au cours d’une étape E875, le microcontrôleur envoie la réponse au challenge reçue à l’étape E850 à l’élément sécurisé. During a step E865, the secure element selects its application App2 and informs the microcontroller during a step E870. During a step E875, the microcontroller sends the challenge response received in step E850 to the secure element.
Au cours d’une étape E880, l’élément sécurisé traite cette réponse à l’aide de l’application App2. During a step E880, the secure element processes this response using the App2 application.
Au cours d’une étape E885, l’élément sécurisé renvoie le résultat au microcontrôleur. During a step E885, the secure element returns the result to the microcontroller.
La Figure 9 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l’obtention de données ou l’accès à un service de l’élément sécurisé par le microcontrôleur. Ces étapes peuvent faire suite à l’installation d’une nouvelle configuration du microcontrôleur sous le contrôle de l’élément sécurisé. Figure 9 illustrates, in the form of a timing diagram, steps implemented to obtain data or access to a service of the secure element by the microcontroller. These steps may follow the installation of a new configuration of the microcontroller under the control of the secure element.
Dans cet exemple, la configuration du microcontrôleur prend la forme d’un certificat électronique. Ce certificat comprend une liste des données et services que le microcontrôleur est autorisé à accéder auprès de l’élément sécurisé. De plus, le certificat comprend une signature générée à partir de cette liste et d’une clé privée PRK_AUT délivrée par une autorité de confiance. L’élément sécurisé possède la clé publique PUK_AUT associée à la clé privée PRK_AUT. Cette clé publique peut avoir été installée dans sa mémoire au moment de sa personnalisation (voir Figure 3). In this example, the configuration of the microcontroller takes the form of an electronic certificate. This certificate includes a list of data and services that the microcontroller is authorized to access to the secure element. In addition, the certificate includes a signature generated from this list and a private key PRK_AUT issued by a trusted authority. The secure element has the public key PUK_AUT associated with the private key PRK_AUT. This public key may have been installed in its memory at the time of its personalization (see Figure 3).
Au cours d’une étape E900, le microcontrôleur envoie son certificat à l’élément sécurisé. During an E900 step, the microcontroller sends its certificate to the secure element.
Au cours d’une étape E910, l’élément sécurisé vérifie la signature du certificat à l’aide de sa clé publique PUK_AUT associée à la clé privée PRK_AUT. During a step E910, the secure element verifies the signature of the certificate using its public key PUK_AUT associated with the private key PRK_AUT.
Au cours d’une étape E920, l’élément sécurisé envoie le résultat de la vérification au microcontrôleur. On suppose pour les prochaines étapes que la signature a bien été authentifiée. During a step E920, the secure element sends the result of the verification to the microcontroller. It is assumed for the next steps that the signature has been authenticated.
Au cours d’une étape E930, le microcontrôleur demande l’accès à un service ou une donnée de l’élément sécurisé. During a step E930, the microcontroller requests access to a service or data element of the secure element.
Cette demande peut faire suite à une demande de cette donnée ou de ce service par le dispositif externe au microcontrôleur. This request may follow a request for this data or this service by the device external to the microcontroller.
Au cours d’une étape E940, l’élément sécurisé parcourt la liste de données/services dont l’accès est autorisé par le certificat reçu à l’étape E900. During an E940 step, the secure element traverses the list of data / services whose access is authorized by the certificate received in step E900.
Au cours d’une étape E950, si le service ou la donnée demandé(e) est autorisé(e) dans la liste, et sous réserve que la signature ait bien été authentifiée à l’étape E910, l’élément sécurisé donne accès au service ou à la donnée demandé(e). During a step E950, if the requested service or data item is authorized in the list, and provided that the signature has been authenticated in step E910, the secure element gives access to the service or data requested.
La Figure 10 illustre, sous forme de chronogramme, des étapes mises en oeuvre par le microcontrôleur pour l’obtention de données ou d’accès à un service d’un dispositif externe. Ces étapes peuvent faire suite à l’installation d’une nouvelle configuration du microcontrôleur sous le contrôle de l’élément sécurisé.
Dans cet exemple, la configuration du microcontrôleur prend également la forme d’un certificat électronique. Ce certificat comprend une liste des données et services que le microcontrôleur est autorisé à accéder auprès du dispositif externe. De plus, le certificat comprend une signature générée à partir de cette liste et d’une clé privée PRK_AUT délivrée par une autorité de confiance. Le dispositif externe possède la clé publique PUK_AUT associée à la clé privée PRK_AUT. Figure 10 illustrates, in the form of a timing diagram, steps implemented by the microcontroller for obtaining data or access to a service of an external device. These steps may follow the installation of a new configuration of the microcontroller under the control of the secure element. In this example, the configuration of the microcontroller also takes the form of an electronic certificate. This certificate includes a list of data and services that the microcontroller is allowed to access from the external device. In addition, the certificate includes a signature generated from this list and a private key PRK_AUT issued by a trusted authority. The external device has the public key PUK_AUT associated with the private key PRK_AUT.
Au cours d’une étape E1000, le microcontrôleur envoie son certificat au dispositif externe, par exemple via l’interface annexe 231. On rappelle que cette interface est par exemple une interface de communication sans fil Bluetooth. During a step E1000, the microcontroller sends its certificate to the external device, for example via the interface 231. It is recalled that this interface is for example a Bluetooth wireless communication interface.
Au cours d’une étape E1010, le dispositif externe vérifie la signature du certificat à l’aide de sa clé publique PUK_AUT associée à la clé privée PRK_AUT. During a step E1010, the external device verifies the signature of the certificate using its public key PUK_AUT associated with the private key PRK_AUT.
Au cours d’une étape E1020, le dispositif externe envoie le résultat de la vérification au microcontrôleur. On suppose pour les prochaines étapes que la signature a bien été authentifiée. During a step E1020, the external device sends the result of the verification to the microcontroller. It is assumed for the next steps that the signature has been authenticated.
Au cours d’une étape E1030, le microcontrôleur demande l’accès à un service ou une donnée du dispositif externe. During a step E1030, the microcontroller requests access to a service or data from the external device.
Cette demande peut faire suite à une demande de cette donnée ou de ce service par l’élément sécurisé au microcontrôleur. This request may follow a request for this data or this service by the secure element to the microcontroller.
Au cours d’une étape E1040, le dispositif externe parcourt la liste de données/services dont l’accès est autorisé par le certificat reçu à l’étape E1000. During a step E1040, the external device traverses the list of data / services whose access is authorized by the certificate received in step E1000.
Au cours d’une étape E1050, si le service ou la donnée demandé(e) est autorisé(e) dans la liste, et sous réserve que la signature ait bien été authentifiée à l’étape E1010, le dispositif externe donne accès au service ou à la donnée demandé(e). During a step E1050, if the requested service or data item is authorized in the list, and provided that the signature has been authenticated in step E1010, the external device gives access to the service or the requested data.
La Figure 11 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l’utilisation de données associées à une durée de validité par un dispositif externe selon un premier exemple. Figure 11 illustrates, in the form of a timing diagram, steps implemented for the use of data associated with a period of validity by an external device according to a first example.
Dans cet exemple, la configuration du microcontrôleur précise la durée de validité des données / type(s) de données ou de l’accès à un service, au terme de laquelle les données / le service ne peuvent plus être accédées par le microcontrôleur. In this example, the configuration of the microcontroller specifies the validity period of the data / type (s) of data or access to a service, at the end of which the data / service can no longer be accessed by the microcontroller.
La référence de temps peut provenir d’une horloge interne de la carte à puce. Elle peut par exemple être interne à l’élément sécurisé ou au microcontrôleur. En variante, elle peut être reçue d’un dispositif externe, par exemple via l’interface de communication 28 avec la carte à puce ou encore via l’interface annexe 231. The time reference can come from an internal clock of the smart card. It may for example be internal to the secure element or the microcontroller. Alternatively, it can be received from an external device, for example via the communication interface 28 with the smart card or via the interface 231.
En variante, la référence de temps peut être un compteur d’un ou plusieurs évènements prédéterminés, par exemple : nombre d’appuis sur un bouton, nombre de power ON, nombre de transactions bancaires réalisées avec succès, ou nombre d’utilisations d’un service.
Au cours d’une étape E1 100, le dispositif externe envoie une donnée D au microcontrôleur qui l’enregistre dans sa mémoire au cours d’une étape E1120. Alternatively, the time reference may be a counter of one or more predetermined events, for example: number of button presses, number of power ON's, number of successful bank transactions, or number of uses of a service. During a step E1 100, the external device sends a data D to the microcontroller which stores it in its memory during a step E1120.
Au cours d’une étape E1 130, le microcontrôleur informe le dispositif externe de la bonne réception et de l’enregistrement de la donnée D. During a step E1 130, the microcontroller informs the external device of the good reception and the recording of the data D.
Au cours d’une étape E1 140, qui peut intervenir plus tard, par exemple après un rallumage de la carte à puce, le microcontrôleur demande l’accès à un service à l’élément sécurisé. During a step E1 140, which may occur later, for example after a re-ignition of the smart card, the microcontroller requests access to a service to the secure element.
Au cours d’une étape E1150, l’élément sécurisé requiert l’envoi de la donnée D afin de vérifier si l’accès au service peut être accordé. During a step E1150, the secure element requires the sending of the data D to verify whether access to the service can be granted.
Au cours d’une étape E1160, le microcontrôleur vérifie sa configuration afin de déterminer si la donnée D est toujours valide. Si tel est le cas, il l’envoie à l’élément sécurisé au cours d’une étape E1170. On suppose ici que c’est le cas. Sinon, la donnée D n’est pas envoyée à l’élément sécurisé et l’accès au service demandé n’est donc pas accordé. During a step E1160, the microcontroller checks its configuration to determine if the data D is still valid. If so, it sends it to the secure element during a step E1170. It is assumed here that this is the case. Otherwise, the data D is not sent to the secure element and access to the requested service is not granted.
On notera que l’action réalisée par le microcontrôleur, quand la donnée n’est plus valide, peut dépendre de la configuration du microcontrôleur. Ainsi ladite configuration peut comprendre un ou plusieurs indicateurs à cet effet. Note that the action performed by the microcontroller, when the data is no longer valid, may depend on the configuration of the microcontroller. Thus said configuration may include one or more indicators for this purpose.
Des exemples d’actions possibles sont : Examples of possible actions are:
- (cas illustré) la donnée D n’est pas envoyée à l’élément sécurisé et l’accès au service demandé n’est donc pas accordé ; - (illustrated case) data D is not sent to the secure element and access to the requested service is not granted;
- le microcontrôleur supprime la donnée D de sa mémoire non volatile ; the microcontroller removes the data D from its non-volatile memory;
- le microcontrôleur demande au dispositif externe une nouvelle donnée D. the microcontroller requests from the external device a new datum D.
Au cours d’une étape E1180, l’élément sécurisé autorise l’accès au service car il a bien reçu la donnée D qui est encore valide. During a step E1180, the secure element authorizes access to the service because it has received the data D which is still valid.
La Figure 12 illustre, sous forme de chronogramme, des étapes mises en oeuvre pour l’utilisation de données associées à une durée de validité par un dispositif externe selon un deuxième exemple. Figure 12 illustrates, in the form of a timing diagram, steps implemented for the use of data associated with a period of validity by an external device according to a second example.
Au cours d’une étape E1200, le dispositif externe demande une donnée E au microcontrôleur qui vérifie s’il l’a dans sa mémoire au cours d’une étape E1210. During a step E1200, the external device requests a data E to the microcontroller which checks whether it has it in its memory during a step E1210.
Si ce n’est pas le cas, le microcontrôleur demande la donnée E à l’élément sécurisé au cours d’une étape E1230. If it is not the case, the microcontroller requests the data E to the secure element during a step E1230.
Au cours d’une étape E1240, l’élément sécurisé renvoie la donnée E au microcontrôleur. During a step E1240, the secure element returns the data E to the microcontroller.
Au cours d’une étape E1250, le microcontrôleur vérifie que sa configuration l’autorise à mémoriser la donnée E et si oui, il la stocke. During a step E1250, the microcontroller verifies that its configuration allows it to memorize the data E and if so, it stores it.
Au cours d’une étape E1260, le microcontrôleur envoie la donnée E demandée au dispositif externe.
Au cours d’une étape E1270, qui peut intervenir plus tard, par exemple après un rallumage de la carte à puce, le dispositif externe demande de nouveau la donnée E au microcontrôleur. During a step E1260, the microcontroller sends the requested data item E to the external device. During a step E1270, which can take place later, for example after a re-ignition of the smart card, the external device again requests the data E to the microcontroller.
Au cours d’une étape E1280, le microcontrôleur vérifie si la donnée E en mémoire est toujours valide et si oui, il la renvoie au dispositif externe à l’étape E1290. Sinon il efface la donnée E de sa mémoire à l’étape E1295 et les étapes E1230, E1240, E1250 et E1260 sont remises en oeuvre. During a step E1280, the microcontroller checks whether the data E in memory is still valid and if so, it sends it back to the external device in step E1290. Otherwise it erases the data E from its memory in step E1295 and steps E1230, E1240, E1250 and E1260 are implemented.
La Figure 13 comprend les Figures 13a et 13b qui illustrent respectivement, sous forme de chronogrammes, une écriture synchrone et une écriture asynchrone selon des modes de réalisation. Fig. 13 includes Figs. 13a and 13b which respectively illustrate, in timing form, synchronous writing and asynchronous writing according to embodiments.
Dans des modes de réalisation, la configuration du microcontrôleur précise le mode d’écriture (par exemple synchrone ou asynchrone) à utiliser pour stocker une donnée ou un service. In embodiments, the configuration of the microcontroller specifies the write mode (for example synchronous or asynchronous) to be used to store a data item or a service.
La Figure 13a illustre le principe d’une écriture synchrone. Figure 13a illustrates the principle of synchronous writing.
Au cours d’une étape E1300, le dispositif externe demande au microcontrôleur d’écrire la donnée A ce qu’il fait aux étapes E1310 et E1320 sous le contrôle de l’élément sécurisé. Le microcontrôleur répond ensuite au dispositif externe (étape E1330). During a step E1300, the external device requests the microcontroller to write the data A to what it does in steps E1310 and E1320 under the control of the secure element. The microcontroller then responds to the external device (step E1330).
Ainsi, l’écriture est synchrone car le microcontrôleur ne répond qu’une fois celle-ci effectuée. Thus, the writing is synchronous because the microcontroller only responds once it is done.
La Figure 13b illustre le principe d’une écriture asynchrone. Figure 13b illustrates the principle of asynchronous writing.
Dans ce cas, le microcontrôleur répond au dispositif externe (étape E1305) avant que l’écriture ne soit effectivement effectuée. Il peut, optionnellement, également envoyer un message au dispositif externe une fois l’écriture terminée (étape E1330 optionnelle). In this case, the microcontroller responds to the external device (step E1305) before the writing is actually performed. It may, optionally, also send a message to the external device after writing is complete (optional step E1330).
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.
Claims
1. Carte à puce personnalisable (1 ,1’,20) comprenant : A customizable smart card (1, 1 ', 20) comprising:
- un élément sécurisé (10,211 ) dont la configuration peut être modifiée via une interface de communication (1 1 ,28) avec un dispositif externe, a secure element (10, 211) whose configuration can be modified via a communication interface (1 1, 28) with an external device,
- un microcontrôleur (14, 14’, 221 ) dont la configuration peut être modifiée ; a microcontroller (14, 14 ', 221) whose configuration can be modified;
la carte à puce (1 ,1’, 20) étant caractérisée en ce que l’élément sécurisé (10,211 ) est configuré pour configurer le microcontrôleur (14, 14’, 221 ). the smart card (1, 1 ', 20) being characterized in that the secure element (10, 21) is configured to configure the microcontroller (14, 14', 221).
2. Carte à puce selon la revendication 1 , dans laquelle l’élément sécurisé est configuré pour vérifier la configuration du microcontrôleur. 2. Smart card according to claim 1, wherein the secure element is configured to verify the configuration of the microcontroller.
3. Carte à puce selon la revendication 1 ou 2, dans laquelle le microcontrôleur est un gestionnaire de communication sans fil. 3. Smart card according to claim 1 or 2, wherein the microcontroller is a wireless communication manager.
4. Carte à puce selon la revendication 3, dans laquelle la configuration du microcontrôleur définit un service de communication sans fil. The smart card of claim 3, wherein the configuration of the microcontroller defines a wireless communication service.
5. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle la configuration du microcontrôleur définit des règles relatives au routage des données par le microcontrôleur. 5. Smart card according to any one of the preceding claims, wherein the configuration of the microcontroller defines rules relating to the routing of data by the microcontroller.
6. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle la configuration du microcontrôleur indique une donnée ou un type de données ou un service que le microcontrôleur est autorisé à obtenir de l’élément sécurisé ou d’un dispositif externe. A smart card according to any one of the preceding claims, wherein the configuration of the microcontroller indicates a datum or type of data or a service that the microcontroller is allowed to obtain from the secure element or from an external device.
7. Carte à puce selon la revendication 6, dans laquelle la configuration du microcontrôleur précise une durée de validité de ladite donnée ou dudit type de données, au terme de laquelle la donnée ne peut plus être utilisée par le microcontrôleur ou une durée de validité dudit service, au terme de laquelle ledit service ne peut plus être utilisé par le microcontrôleur. 7. Smart card according to claim 6, wherein the configuration of the microcontroller specifies a period of validity of said datum or type of data, after which the data can no longer be used by the microcontroller or a period of validity of said microcontroller service, at the end of which said service can no longer be used by the microcontroller.
8. Carte à puce selon la revendication 6 ou 7, dans laquelle la configuration du microcontrôleur précise le mode d’écriture à utiliser par le microcontrôleur pour stocker lesdites données ou ledit service.
The smart card of claim 6 or 7, wherein the configuration of the microcontroller specifies the write mode to be used by the microcontroller to store said data or said service.
9. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle la configuration définit des règles pour la mise en oeuvre de contremesures sécuritaires par le microcontrôleur en réponse à la détection d’une attaque. A smart card according to any one of the preceding claims, wherein the configuration defines rules for implementing secure countermeasures by the microcontroller in response to detecting an attack.
10. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle l’élément sécurisé est configuré pour authentifier le microcontrôleur, la configuration dudit microcontrôleur ne pouvant être modifiée qu’après authentification du microcontrôleur par l’élément sécurisé. 10. Smart card according to any one of the preceding claims, wherein the secure element is configured to authenticate the microcontroller, the configuration of said microcontroller can not be changed after authentication of the microcontroller by the secure element.
11. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle le microcontrôleur est configuré pour appliquer une configuration modifiée par l’élément sécurisé à détection d’un évènement prédéfini. 11. Smart card according to any one of the preceding claims, wherein the microcontroller is configured to apply a modified configuration by the secure element to detection of a predefined event.
12. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle l’élément sécurisé est configuré pour configurer le microcontrôleur à détection d’un évènement prédéfini. 12. Smart card according to any one of the preceding claims, wherein the secure element is configured to configure the microcontroller to detect a predefined event.
13. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle l’élément sécurisé est configuré pour configurer le microcontrôleur à la première mise sous tension de la carte à puce suivant la fin d’une configuration initiale de l’élément sécurisé via l’interface de communication ou suivant la fin de la configuration de l’élément sécurisé via l’interface de communication. A smart card according to any one of the preceding claims, wherein the secure element is configured to configure the microcontroller at the first power up of the smart card following the end of an initial configuration of the secure element. via the communication interface or following the end of the configuration of the secure element via the communication interface.
14. Carte à puce selon l’une quelconque des revendications précédentes, dans laquelle l’interface de communication est une interface de communication par contact conforme à la norme ISO 7816 ou une interface de communication sans contact conforme à la norme ISO 14443 et/ou ISO 15693. A smart card according to any one of the preceding claims, wherein the communication interface is a contact communication interface according to ISO 7816 or a contactless communication interface according to ISO 14443 and / or ISO 15693.
15. Procédé de personnalisation d’une carte à puce comprenant :15. A method of personalizing a smart card comprising:
- un élément sécurisé dont la configuration peut être modifiée via une interface de communication avec un dispositif externe; a secure element whose configuration can be modified via a communication interface with an external device;
- un microcontrôleur dont la configuration peut être modifiée ; a microcontroller whose configuration can be modified;
le procédé étant caractérisé en ce qu’il comprend la configuration, par l’élément sécurisé, du microcontrôleur.
the method being characterized in that it comprises the configuration, by the secure element, of the microcontroller.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1854874A FR3082030B1 (en) | 2018-06-05 | 2018-06-05 | CUSTOMIZABLE CHIP CARD AND CUSTOMIZATION PROCESS |
FR1854874 | 2018-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019234346A1 true WO2019234346A1 (en) | 2019-12-12 |
Family
ID=65951611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2019/051324 WO2019234346A1 (en) | 2018-06-05 | 2019-06-04 | Chip card personalisable in a secure manner and method for secure personalisation |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3082030B1 (en) |
WO (1) | WO2019234346A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2797074A1 (en) * | 1999-07-28 | 2001-02-02 | Gemplus Card Int | CHIP CARD ARCHITECTURE INCLUDING PERIPHERALS |
US20120123937A1 (en) * | 2010-03-02 | 2012-05-17 | Douglas Spodak | Portable e-wallet and universal card |
-
2018
- 2018-06-05 FR FR1854874A patent/FR3082030B1/en active Active
-
2019
- 2019-06-04 WO PCT/FR2019/051324 patent/WO2019234346A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2797074A1 (en) * | 1999-07-28 | 2001-02-02 | Gemplus Card Int | CHIP CARD ARCHITECTURE INCLUDING PERIPHERALS |
US20120123937A1 (en) * | 2010-03-02 | 2012-05-17 | Douglas Spodak | Portable e-wallet and universal card |
Also Published As
Publication number | Publication date |
---|---|
FR3082030A1 (en) | 2019-12-06 |
FR3082030B1 (en) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2463833B1 (en) | Method and device for operational control of internal functions and protected applications embedded in chip cards for mobile terminals | |
EP2688010B1 (en) | Update of an operating system for a secure element | |
EP3243178B1 (en) | Method for processing a transaction from a communication terminal | |
EP2477431B1 (en) | Protection of a security element coupled with an NFC circuit | |
EP3168769B1 (en) | Method for assisting with the authentication of a user, corresponding server and computer program | |
EP3794538B1 (en) | Method and system of autonomous enrolment for biometric device holder | |
EP2735969B1 (en) | Electronic assembly including a deactivation module | |
EP3465584A1 (en) | Method for securing an electronic device and corresponding electronic device | |
FR2966620A1 (en) | METHOD AND SYSTEM FOR MONITORING THE EXECUTION OF A FUNCTION PROTECTED BY AUTHENTICATION OF A USER, IN PARTICULAR FOR ACCESSING A RESOURCE | |
EP3598328A1 (en) | Method for recording a reference biometric data item in a biometric chip card | |
EP1258004B1 (en) | Secure real time writing for non volatile storage | |
EP2118825B1 (en) | Portable electronic entity and communication method | |
WO2019234346A1 (en) | Chip card personalisable in a secure manner and method for secure personalisation | |
EP4125240A1 (en) | Pre-personalised secure element and integrated personalisation | |
EP3671519A1 (en) | Transaction securisation using a smartcard | |
FR3070076A1 (en) | METHOD FOR PROTECTING AN ELECTRONIC DEVICE AGAINST FAULT INJECTION ATTACKS | |
EP4075358B1 (en) | Management of the memory in a device for processing transactions | |
EP3690685A1 (en) | Method for authenticating a user and associated device | |
WO2020260316A1 (en) | Method for radiofrequency communication between a reader and a device connected to a peripheral device, with radiofrequency field measurement | |
FR3062501A1 (en) | METHOD FOR SECURING ELECTRONIC OPERATION | |
FR3099272A1 (en) | Securing method, and associated electronic device | |
EP3179400B1 (en) | Method for loading a computing resource into an electronic device, electronic module and corresponding computer program | |
WO2018024980A1 (en) | Method for implementing a transaction from an electronic transaction means | |
FR3116407A1 (en) | Method for processing an operation involving secret data, corresponding terminal, system and computer program | |
FR2816729A1 (en) | Method for verification before activation of a program loaded into a smart card, uses hash value of the program stored in first memory and computes hash of program loaded into second memory to determine whether the program will be activated |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19737838 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19737838 Country of ref document: EP Kind code of ref document: A1 |