WO2009007653A1 - Method for protecting applications installed on a secured module, and related terminal, security module and communication equipment - Google Patents

Method for protecting applications installed on a secured module, and related terminal, security module and communication equipment Download PDF

Info

Publication number
WO2009007653A1
WO2009007653A1 PCT/FR2008/051237 FR2008051237W WO2009007653A1 WO 2009007653 A1 WO2009007653 A1 WO 2009007653A1 FR 2008051237 W FR2008051237 W FR 2008051237W WO 2009007653 A1 WO2009007653 A1 WO 2009007653A1
Authority
WO
WIPO (PCT)
Prior art keywords
security module
application
domain
identifier
applications
Prior art date
Application number
PCT/FR2008/051237
Other languages
French (fr)
Inventor
Ahmad Saif
David Picquenot
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2009007653A1 publication Critical patent/WO2009007653A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2129Authenticate client device independently of the user

Definitions

  • the present invention relates to the field of telecommunications, and more particularly to the protection of applications hosted on a secure element of a mobile terminal.
  • This security module can be a memory module of the terminal or a removable medium
  • Such applications operate in slave mode, that is to say that an application is executed only when it receives a specific command that is a selection order (order "select" for example).
  • This selection order issued by a communicating equipment, also called terminal, contains in parameter an identifier of the application to be selected.
  • a terminal located near the mobile terminal, wishing to perform a transaction via an application installed on the security module of this mobile terminal, will send a selection order containing the identifier of this application.
  • a selection order containing the identifier of an application installed on a security module it executes the application corresponds to the identifier.
  • An "ill-intentioned" terminal will thus be able to know firstly which applications are installed on the security module by sending selection commands containing different identifiers and secondly, to try to perform a transaction that does not correspond to the security module. a real service.
  • the present invention makes it possible to overcome this problem by proposing a method for protecting the applications of a security module.
  • the present invention proposes a method for protecting the applications installed on a security module, able to communicate with a communicating equipment comprising a step of reception by the security module of identification information from the security module. communicating equipment, a step of verifying the authenticity of the communicating equipment according to the information received and information relating to at least one of the applications, a step of storing an authentication value relating to the at least one of the applications, if the verification is positive, and when receiving a predetermined command from said communicating equipment, the execution of the command is subordinated to the authentication value.
  • the method according to the invention makes it possible not to allow the execution of certain functions of the security module as long as the security module has not verified the authenticity of the communicating equipment wishing to interact with it.
  • the predetermined command is an application selection command.
  • the method of the invention allows the effective selection of an application, and consequently its execution, only after successful authentication of the remote equipment by the security module.
  • the verification step includes an authentication step using a random.
  • the use of a hazard avoids an ill-intentioned terminal authentication by replay.
  • the method further comprises a preliminary step of determining at least one application domain with which is associated a domain identifier corresponding to the information relating to at least one of the applications, said at least one domain with at least one application among all the applications installed on the security module, and the identification information received from the communicating equipment during the reception step includes a domain identifier.
  • the result of the verification is negative if the received domain identifier is not a determined domain in the prior step.
  • the information relating to at least one application furthermore comprises a domain key and the result is negative if the identifier contained in the identification information is not encrypted with the key of a determined domain in the preliminary determination step.
  • authentication is performed only for an application domain of the security module.
  • the authentication value is a domain identifier in the case where the verification is positive.
  • the command executed is an application selection command and this command is executed only if there is an authentication value and if this value corresponds to the domain identifier of the application. selected application.
  • the method further comprises a preliminary step of storing a visibility indicator by application and the execution of the application selection command is subordinated to the value of this indicator.
  • This visibility indicator positioned by the user, makes it possible to block the use of applications present in the security module. For example, a user can block one or more payment applications before lending his mobile terminal to his son. The positioning of this indicator does not require access to a remote server by the mobile terminal.
  • the invention also relates to a security module comprising means for storing at least one application able to communicate with a device communicating, means for receiving identification information from the communicating equipment, means for verifying the authenticity of the communicating equipment as a function of the information received and information relating to at least one of the applications, means for storing an authentication value relative to the at least one of the applications, and means for executing a predetermined command from the communicating equipment, said execution being subordinated to the value authentication.
  • the invention also relates to a terminal capable of operating with a security module as described above.
  • the invention also relates to a communicating equipment capable of communicating with an application installed on a security module comprising means for storing configuration information including at least one identification information, means for transmitting information from identification enabling the security module to verify the authenticity of said equipment and means for sending a predetermined command to the security module.
  • FIG. 1 is a general diagram presenting the context of the FIG. 2 is a flowchart illustrating the various steps of the method of the invention
  • FIG. 3 is a block diagram representing a security module according to the invention
  • FIG. 4 is a flowchart illustrating the various steps of the method according to the invention. an embodiment.
  • a user has a mobile terminal 100 on which several applications have been installed. This mobile terminal is for example a mobile phone or a PDA (for "Personal Digital Assistant" in English).
  • This mobile terminal 100 includes a contactless communication module 10 allowing a dialogue between the terminal 100 and a device 200 subsequently called “contactless terminal".
  • the contactless module is for example an NFC-compatible module (for "Near Field Communication” in English).
  • the mobile terminal 100 also includes a secure module 20 which is a removable memory card compatible with the specifications of GlobalPlatform (GlobalPlatform Card Specification - version 2.2 March 2006).
  • a secure module 20 which is a removable memory card compatible with the specifications of GlobalPlatform (GlobalPlatform Card Specification - version 2.2 March 2006).
  • this module may be a secure memory area of the mobile terminal or a removable medium of another type (for example a subscriber card of SEVI or UICC type (for "Universal Integrated Circuit Card”) or a memory card hosting a secure element (SD card, Embedded Secure control Certainly).
  • One or more applications have been stored in the memory of the card. Among these applications, one or more are applications that can be used in contactless mode and operate using the contactless module 10.
  • Such an application is, for example, a transport application. This application will then be used each time the mobile carrier will present his mobile in front of a terminal 200 located at the entrance of the means of transport.
  • the contactless terminal 200 emits a magnetic field.
  • the mobile user When the mobile user is in front of the terminal, his mobile terminal enters the magnetic field emitted by the terminal 200.
  • a dialogue between the application stored on the module 20 and the terminal contactless 200 makes it possible to carry out a transaction.
  • This dialogue between the secure module 20 and the contactless terminal 200 is performed via the contactless module 10.
  • the exchange of messages between the contactless module and the secure module is then performed in a conventional manner, for example using the SWP protocol for "Single Wire Protocol” or the S 2 C interface for "Sigln-SigOut-Connection” .
  • SWP protocol for "Single Wire Protocol”
  • S 2 C interface for "Sigln-SigOut-Connection”
  • a number of messages will then be exchanged between the application and the contactless terminal.
  • the security module receives from the contactless terminal when a step El, a message ml containing information to verify the authenticity of the contactless terminal 200.
  • the security module verifies the authenticity of the contactless terminal from the information contained in the message ml.
  • this step requires a dialogue between the security module and the contactless terminal.
  • the security module stores, during a step E3, an authentication value. Then, when receiving a predetermined command, the secure module, during a step E4, executes or not the command based on the authentication value.
  • the security module notably comprises a microprocessor 22, a transceiver module 24, one or more RAM type memories and one or more ROM or EEPROM memories 26 in which are recorded programs that can be executed by the microprocessor 22.
  • programs there is a main program P (called OS-card for "operating system") and one or more applications (APl, AP2 ).
  • OS-card for "operating system”
  • applications APl, AP2
  • four applications AP1, AP2, AP3 and AP4 have been stored in the memory of the security module.
  • the applications AP1 and AP4 are, for example, payment applications provided by different banks.
  • the AP2 application is for example a transport application.
  • the AP3 application does not concern payment or transport.
  • a dialogue via the mobile terminal, between the security module and a certified organization (for example, a bank in the field of payment) makes it possible to check whether the domain associated with the application is already present on the security module. If this domain is not present, the domain identifier and the associated public key are transmitted and stored in a memory of the security module.
  • the identifiers of the domains present on the security module are stored in association with the corresponding public keys in a TIDD table in a memory 26 of the security module. Furthermore, when loading an application into the secure module, the identifier of the associated domain is transmitted and registered in correspondence of an identifier of the downloaded application in a memory of the security module, for example in a TAPP table. stored in a memory 26 of the security module. When no domain has been associated with an application, a specific value, for example 0, is entered.
  • the user By means of a specific menu of the mobile terminal, the user indicates the application or applications that can be directly selected by communicating equipment and those that can not.
  • the mobile terminal controls the registration of these choices in a memory 26 of the security module, for example in the TAPP table, in correspondence with the identifier of the user. application concerned.
  • This information is for example an APP-Visible Boolean set to 1 if the application is directly selectable or to 0 otherwise.
  • this information can be added in the form of two additional fields per application in the GP Registry. which manages all the applications present on the security module. This configuration information remains stored in memory until a new configuration step modifies it.
  • the contactless terminal receives from an authorized organization, a CER certificate and an associated private key. Only the contactless terminals approved by such an organization have such a certificate and an associated private key. As an alternative, the terminal receives several pairs of certificates and associated private keys.
  • an MD memory is set to a predetermined value, for example 0, thus indicating that no domain n ' is selected.
  • This memory MD is for example a RAM 25 of the security module.
  • the security module receives, in a step El, a message ml emitted by the terminal.
  • This message is an order whose syntax complies with the ADPU commands described in the ISO 7816-4 standard or in the GlobalPlatform specifications. It is of the form CLA-INS-Parameters with INS indicating that the message ml is an identity declaration message and the "parameter" bytes containing the CER certificate provided by the authorized organization.
  • the security module verifies the authenticity of the terminal during a step E2.
  • the security module checks the CER certificate. This check is, for example, done using the TIDD table.
  • the verification then consists in decrypting the CER certificate with one of the public keys of the TIDD table, retrieving an identifier of this decrypted certificate and comparing the identifier obtained with the identifier stored in the TIDD table in correspondence with the public key used. If the identifier obtained is different, the operation is restarted with another public key of the TIDD table.
  • the security module When the operation has been performed without success with all the keys of the TIDD table, the domain identifier is not known to the module or is a false identifier, the security module then returns to the terminal, during a in step E22, an acknowledgment message m2.
  • This message is, for example, a two-byte message whose syntax is in accordance with the acknowledgment messages described in ISO 7816-4 and means that access is denied. The security module is then positioned waiting for a new order from the terminal.
  • the identifier obtained is the identifier of a known domain of the security module and at least one application of the security module belongs to this domain.
  • the security module then sends, during a substep E23 an acknowledgment message m3 indicating to the terminal that the security module wants to transmit a hazard c.
  • the terminal then sends a message m4, for example a GET-RESPONSE message, to obtain the random value and the random value is transmitted in response to the terminal during a message m5.
  • a message m4 for example a GET-RESPONSE message
  • the terminal calculates a signature of a message containing the random value with the aid of its private key and transmits this signature to the security module in a message m6, for example a PUT-DATA message. .
  • the security module receives and verifies this signature using the public key associated with the selected domain.
  • the security module sends, during a substep E27, an acknowledgment message m7 indicating to the terminal that access is denied.
  • the message m7 is for example identical to the message m2.
  • the security module is then positioned in receipt of a new order from the terminal. If the signature is correct, the security module, during a step E3, stores in the MD memory the identifier obtained.
  • the terminal has been approved for the domain D1 of the payment and that it has authenticated itself to the security module 20 of the mobile terminal 200.
  • the memory MD of the security module contains thus the IDDl identifier of the domain Dl.
  • the security module then receives an MS selection command of an application from the terminal and checks whether or not it can execute this command. For this, during a substep E42, the security module reads in the registry GP Registry, the header of the application to select and including the identifier of the domain associated with this application.
  • the security module checks whether or not the user has blocked the execution of the application. For this, during a substep E44, the security module reads in the GP
  • Registry APP-Visible value indicating whether the application can be selected. If this value is 0, the application can not be selected, the security module returns, in a substep E45, an acknowledgment message m9 indicating that the application requested does not exist. If this value is different from 0, the security module selects the application in a conventional manner and the transaction is also carried out in a conventional manner.
  • the module compares the identifier read in the substep E42, the identifier of the domain stored in the MD memory.
  • the application does not belong to the domain for which the terminal has been authenticated and the security module returns, during a substep E43, an acknowledgment message m8 indicating to the terminal that the application does not exist.
  • the security module checks whether or not the user has blocked the execution of the application as described above (in step E44). When the security module leaves the field emitted by the terminal, the security module is informed of this event by the contactless module and sets the MD indicator to 0 indicating that no domain is selected.
  • the application AP3 n is executed only if the APP-visible flag of this application is at 1. If the received selection order contains the identifier of the application AP2, the security module returns an acknowledgment message indicating that the application AP2 does not exist and the AP2 application is not executed. If the received selection order contains the identifier of the application AP1 or the identifier of the application AP4, the application is executed only if the APP-visible indicator of this application is at 1.
  • a counter containing the number of unsuccessful application selection attempts can be initialized to 1 and the security module can be blocked after a determined number of consecutive unsuccessful attempts, so similar to blocking a security module when three fake PINs are entered.
  • the various steps of the method performed by the security module are carried out directly by the main program P of this module or by a sub-program F installed on this module and called by the program P.
  • the subroutine F is an application.
  • the security module used is a SIM card inserted in a mobile terminal.
  • Two APl and AP2 applications have been installed on this memory card.
  • the APl application belongs to the domain Dl whose identifier is IDDl.
  • the identifier of the APl application is IdAPl.
  • the configuration phase of the security module is similar to that of the first embodiment described.
  • the security module receives, during a step El, a message ml emitted by the terminal.
  • This message is an order whose syntax complies with the ADPU commands described in the ISO 7816-4 standard. It is of the form CLA-ENTS-Parameters with INS indicating that the message ml is an identity declaration message and the bytes "parameters" containing a domain identifier.
  • the security module verifies the authenticity of the terminal during a step E2.
  • This verification is, for example, carried out using a TIDD table containing the identifiers of the domains present (D1, D2) on the security module.
  • the verification then consists in comparing the identifier obtained with each identifier stored in the TIDD table.
  • the security module If no match is found, the domain identifier is not known to the module or is a false identifier, the security module then returns to the terminal an acknowledgment message m2 indicating to the terminal that access is refused.
  • the security module is then positioned waiting for a new order from the terminal.
  • At least one application of the security module belongs to the domain and the security module sends, during a substep E23 an acknowledgment message m3 indicating to the terminal that the order has been received and processed. .
  • the identifier received in the message ml is the identifier IDD1 of the domain D1, this identifier is included in the table TIDD and this identifier IDD1 is stored in the memory MD of the security module.
  • the security module then receives from the same terminal a selection order APl application. Following reception of this order, the security module reads from a memory of the security module, for example in the TAPP table, the identifier IDD1 of the domain associated with the application AP1, stored during a configuration step.
  • the identifier read and the identifier received in the message ml being identical, the application is selected and can be executed in a conventional manner.
  • Step E4 of the invention has been described with an order of selection of an application (order "Select").
  • the security module can be applied to all the commands received by the security module, to all the commands processed by the operating system ("OS” for "operating system” in English) of the security module or to predetermined orders, for example those for obtaining information on the presence or absence of an application on a security module.
  • OS operating system
  • predetermined orders for example those for obtaining information on the presence or absence of an application on a security module.
  • a payment application may belong to the payment domain and the reserved domain by a service provider S. It may be selected on the one hand by a terminal of payment and on the other hand by a terminal of the service provider.
  • the invention has been described with a mobile terminal containing applications operating in contactless mode, the dialogue between the terminal and the terminal being effected via a contactless module.
  • the invention also applies when the dialogue between the terminal and the terminal uses another means of communication, for example a wired link.
  • the invention also applies to smart cards inserted directly into a card reader; for example, an electronic payment terminal (EPT) or a cash dispenser.
  • EPT electronic payment terminal

Abstract

The invention relates to a method for protecting applications installed on a secured module and capable of dialog with communication equipment, that comprises the step (E1) of receiving identification information from the communication equipment, the step of checking (E2) the authenticity of the communication equipment based on the received information, and the step of storing (E3) an authentication value if the check is positive, and, upon reception of a predetermined control (E4) from said communication equipment, the execution of the control is made dependent on the authentication value. The invention also relates to a security module, to a terminal and to communication equipment implementing this protection method.

Description

Procédé de protection des applications installées sur un module sécurisé, terminal, module de sécurité et équipement communicant associés Method for protecting applications installed on a secure module, terminal, security module and associated communicating equipment
La présente invention se rapporte au domaine des télécommunications, et plus particulièrement à celui de la protection des applications hébergées sur un élément sécurisé d'un terminal mobile.The present invention relates to the field of telecommunications, and more particularly to the protection of applications hosted on a secure element of a mobile terminal.
La plupart des terminaux mobiles existants permettent, non seulement d'établir des communications téléphoniques, mais également d'exécuter un certain nombre d'applications téléchargées dans un module sécurisé lié au terminal. Ce module de sécurité peut être un module mémoire du terminal ou un support amovibleMost existing mobile terminals allow not only to establish telephone communications, but also to execute a number of downloaded applications in a secure module linked to the terminal. This security module can be a memory module of the terminal or a removable medium
(par exemple une carte à puce d'abonné) inséré dans le terminal.(for example a subscriber smart card) inserted in the terminal.
De telles applications fonctionnent en mode esclave, c'est-à-dire qu'une application n'est exécutée que lorsqu'elle reçoit une commande spécifique qui est un ordre de sélection (ordre "sélect" par exemple). Cet ordre de sélection, émis par un équipement communicant, encore appelé borne, contient en paramètre un identifiant de l'application à sélectionner.Such applications operate in slave mode, that is to say that an application is executed only when it receives a specific command that is a selection order (order "select" for example). This selection order, issued by a communicating equipment, also called terminal, contains in parameter an identifier of the application to be selected.
Ainsi, une borne, située à proximité du terminal mobile, souhaitant effectuer une transaction via une application installée sur le module de sécurité de ce terminal mobile, enverra un ordre de sélection contenant l'identifiant de cette application. Actuellement, lors de la réception d'un ordre de sélection contenant l'identifiant d'une application installée sur un module de sécurité, celui-ci exécute l'application correspond à l'identifiant. Une borne "mal intentionnée" pourra ainsi savoir d'une part, quelles sont les applications installées sur le module de sécurité en envoyant des commandes de sélection contenant des identifiants différents et d'autre part, essayer d'effectuer une transaction ne correspondant pas à un service réel.Thus, a terminal, located near the mobile terminal, wishing to perform a transaction via an application installed on the security module of this mobile terminal, will send a selection order containing the identifier of this application. Currently, when receiving a selection order containing the identifier of an application installed on a security module, it executes the application corresponds to the identifier. An "ill-intentioned" terminal will thus be able to know firstly which applications are installed on the security module by sending selection commands containing different identifiers and secondly, to try to perform a transaction that does not correspond to the security module. a real service.
Avec l'accroissement des capacités des modules de sécurité, il est maintenant possible de stocker sur un même module de sécurité plusieurs applications. Ces applications peuvent provenir de fournisseurs différents qui peuvent être concurrents. L'information selon laquelle un possesseur d'un module de sécurité s'est adressé à un fournisseur plutôt qu'à un autre pourrait être exploitée commercialement.With the increased capacity of the security modules, it is now possible to store several applications on the same security module. These applications may come from different providers that may be competitors. The information that a possessor of a module of security addressed to one supplier rather than another could be exploited commercially.
La présente invention permet de pallier à ce problème en proposant un procédé de protection des applications d'un module de sécurité. A cet effet, la présente invention propose un procédé de protection des applications installées sur un module de sécurité, aptes à dialoguer avec un équipement communicant comprenant une étape de réception par le module de sécurité d'une information d'identification en provenance de l'équipement communicant, une étape de vérification de l'authenticité de l'équipement communicant en fonction de l'information reçue et d'une information relative à au moins une des applications, une étape de mémorisation d'une valeur d'authentification relative à la au moins une des applications, si la vérification est positive, et lors de la réception d'une commande prédéterminée provenant dudit équipement communicant, l'exécution de la commande est subordonnée à la valeur d'authentification.The present invention makes it possible to overcome this problem by proposing a method for protecting the applications of a security module. For this purpose, the present invention proposes a method for protecting the applications installed on a security module, able to communicate with a communicating equipment comprising a step of reception by the security module of identification information from the security module. communicating equipment, a step of verifying the authenticity of the communicating equipment according to the information received and information relating to at least one of the applications, a step of storing an authentication value relating to the at least one of the applications, if the verification is positive, and when receiving a predetermined command from said communicating equipment, the execution of the command is subordinated to the authentication value.
Ainsi, le procédé selon l'invention permet de ne pas autoriser l'exécution de certaines fonctions du module de sécurité tant que le module de sécurité n'a pas vérifié l'authenticité de l'équipement communicant souhaitant dialoguer avec lui.Thus, the method according to the invention makes it possible not to allow the execution of certain functions of the security module as long as the security module has not verified the authenticity of the communicating equipment wishing to interact with it.
Dans un mode de réalisation particulier, la commande prédéterminée est une commande de sélection d'une application.In a particular embodiment, the predetermined command is an application selection command.
Ainsi, le procédé de l'invention permet la sélection effective d'une application, et en conséquence son exécution, uniquement après une authentification réussie de l'équipement distant par le module de sécurité.Thus, the method of the invention allows the effective selection of an application, and consequently its execution, only after successful authentication of the remote equipment by the security module.
Dans un mode de réalisation particulier, l'étape de vérification comporte une étape d'authentification utilisant un aléa. L'utilisation d'un aléa permet d'éviter qu'une borne mal intentionnée s'authentifie par rejeu.In a particular embodiment, the verification step includes an authentication step using a random. The use of a hazard avoids an ill-intentioned terminal authentication by replay.
Dans un mode de réalisation particulier, le procédé comprend en outre une étape préalable de détermination d'au moins un domaine d'applications auquel est associé un identifiant de domaine correspondant à l'information relative à au moins une des applications, ledit au moins un domaine comportant au moins une application parmi l'ensemble des applications installées sur le module de sécurité, et l'information d'identification reçue de l'équipement communicant lors de l'étape de réception comporte un identifiant de domaine.In a particular embodiment, the method further comprises a preliminary step of determining at least one application domain with which is associated a domain identifier corresponding to the information relating to at least one of the applications, said at least one domain with at least one application among all the applications installed on the security module, and the identification information received from the communicating equipment during the reception step includes a domain identifier.
Selon un mode de réalisation, le résultat de la vérification est négatif si l'identifiant de domaine reçu n'est pas un domaine déterminé dans l'étape préalable.According to one embodiment, the result of the verification is negative if the received domain identifier is not a determined domain in the prior step.
Selon un autre mode de réalisation, l'information relative à au moins une application comprend en outre une clé de domaine et le résultat est négatif si l'identifiant contenu dans l'information d'identification n'est pas chiffré avec la clé d'un domaine déterminé dans l'étape préalable de détermination. Ainsi, l'authentification est effectuée uniquement pour un domaine d'applications du module de sécurité.According to another embodiment, the information relating to at least one application furthermore comprises a domain key and the result is negative if the identifier contained in the identification information is not encrypted with the key of a determined domain in the preliminary determination step. Thus, authentication is performed only for an application domain of the security module.
Dans un mode de réalisation particulier, la valeur d'authentifïcation est un identifiant de domaine dans le cas où la vérification est positive.In a particular embodiment, the authentication value is a domain identifier in the case where the verification is positive.
Dans un mode de réalisation particulier, la commande exécutée est une commande de sélection d'une application et cette commande n'est exécutée que s'il existe une valeur d'authentification et si cette valeur correspond à l'identifiant du domaine de l'application sélectionnée.In a particular embodiment, the command executed is an application selection command and this command is executed only if there is an authentication value and if this value corresponds to the domain identifier of the application. selected application.
Ainsi, un équipement distant ne pourra accéder qu'aux applications appartenant au domaine pour lequel il a été authentifié. Dans un mode de réalisation particulier, le procédé comporte en outre une étape préalable de mémorisation d'un indicateur de visibilité par application et l'exécution de la commande de sélection d'une application est subordonnée à la valeur de cet indicateur.Thus, a remote device will only be able to access applications belonging to the domain for which it has been authenticated. In a particular embodiment, the method further comprises a preliminary step of storing a visibility indicator by application and the execution of the application selection command is subordinated to the value of this indicator.
Cet indicateur de visibilité, positionné par l'utilisateur, permet de bloquer l'utilisation d'applications présentes dans le module de sécurité. Par exemple, un utilisateur pourra ainsi bloquer une ou plusieurs applications de paiement avant de prêter son terminal mobile à son fils. Le positionnement de cet indicateur ne nécessite pas d'accès à un serveur à distance par le terminal mobile.This visibility indicator, positioned by the user, makes it possible to block the use of applications present in the security module. For example, a user can block one or more payment applications before lending his mobile terminal to his son. The positioning of this indicator does not require access to a remote server by the mobile terminal.
L'invention concerne également un module de sécurité comprenant des moyens de stockage d'au moins une application apte à dialoguer avec un équipement communicant, des moyens de réception d'une information d'identification en provenance de l'équipement communicant, des moyens de vérification de l'authenticité de l'équipement communicant en fonction de l'information reçue et d'une information relative à au moins une des applications, des moyens de stockage d'une valeur d'authentification relative à la au moins une des applications, et des moyens d'exécution d'une commande prédéterminée en provenance de l'équipement communicant, ladite exécution étant subordonnée à la valeur d'authentification.The invention also relates to a security module comprising means for storing at least one application able to communicate with a device communicating, means for receiving identification information from the communicating equipment, means for verifying the authenticity of the communicating equipment as a function of the information received and information relating to at least one of the applications, means for storing an authentication value relative to the at least one of the applications, and means for executing a predetermined command from the communicating equipment, said execution being subordinated to the value authentication.
L'invention concerne également un terminal apte à fonctionner avec un module de sécurité tel que décrit précédemment. L'invention concerne encore un équipement communicant apte à dialoguer avec une application installée sur un module de sécurité comprenant des moyens de mémorisation d'informations de configuration comportant au moins une information d'identification, des moyens d'émission d'une information d'identification permettant au module de sécurité de vérifier l'authenticité dudit équipement et des moyens d'envoi d'une commande prédéterminée au module de sécurité.The invention also relates to a terminal capable of operating with a security module as described above. The invention also relates to a communicating equipment capable of communicating with an application installed on a security module comprising means for storing configuration information including at least one identification information, means for transmitting information from identification enabling the security module to verify the authenticity of said equipment and means for sending a predetermined command to the security module.
L'invention concerne enfin un produit programme d'ordinateur comprenant des instructions pour mettre en œuvre les étapes du procédé de protection tel que décrit précédemment lorsqu'il est chargé et exécuté par un module de sécurité conforme à l'invention. D'autre particularités et avantages de la présente invention apparaitront dans la description suivante d'un mode de réalisation donné à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels : la figure 1 est un schéma général présentant le contexte de l'invention, la figure 2 est un organigramme illustrant les différentes étapes du procédé de l'invention, la figure 3 est un schéma bloc représentant un module de sécurité selon l'invention, la figure 4 est un organigramme illustrant les différentes étapes du procédé selon un mode de réalisation. En référence à la figure 1, un utilisateur dispose d'un terminal mobile 100 sur lequel plusieurs applications ont été installées. Ce terminal mobile est par exemple un téléphone mobile ou un PDA (pour "Personal Digital Assistant" en anglais).The invention finally relates to a computer program product comprising instructions for implementing the steps of the protection method as described above when it is loaded and executed by a security module according to the invention. Other features and advantages of the present invention will appear in the following description of an embodiment given by way of non-limiting example, with reference to the appended drawings in which: FIG. 1 is a general diagram presenting the context of the FIG. 2 is a flowchart illustrating the various steps of the method of the invention, FIG. 3 is a block diagram representing a security module according to the invention, FIG. 4 is a flowchart illustrating the various steps of the method according to the invention. an embodiment. With reference to FIG. 1, a user has a mobile terminal 100 on which several applications have been installed. This mobile terminal is for example a mobile phone or a PDA (for "Personal Digital Assistant" in English).
Ce terminal mobile 100 comporte un module de communication sans contact 10 permettant un dialogue entre le terminal 100 et un équipement 200 appelé par la suite "borne sans contact". Le module sans contact est par exemple un module compatible NFC (pour "Near Field Communication" en anglais).This mobile terminal 100 includes a contactless communication module 10 allowing a dialogue between the terminal 100 and a device 200 subsequently called "contactless terminal". The contactless module is for example an NFC-compatible module (for "Near Field Communication" in English).
Le terminal mobile 100 comporte également un module sécurisé 20 qui est une carte à mémoire amovible compatible avec les spécifications de GlobalPlatform (GlobalPlatform Card Spécification - version 2.2 de mars 2006).The mobile terminal 100 also includes a secure module 20 which is a removable memory card compatible with the specifications of GlobalPlatform (GlobalPlatform Card Specification - version 2.2 March 2006).
A titre d'alternative, ce module peut être une zone mémoire sécurisée du terminal mobile ou un support amovible d'un autre type (par exemple une carte d'abonné de type SEVI ou UICC (pour "Universal Integrated Circuit Card") ou une carte à mémoire hébergeant un élément sécurisé (SD card, Embeded Secure contrôler ...)).As an alternative, this module may be a secure memory area of the mobile terminal or a removable medium of another type (for example a subscriber card of SEVI or UICC type (for "Universal Integrated Circuit Card") or a memory card hosting a secure element (SD card, Embedded Secure control ...)).
Une ou plusieurs applications ont été stockées dans la mémoire de la carte. Parmi ces applications, une ou plusieurs sont des applications qui peuvent être utilisées en mode sans contact et fonctionnent en utilisant le module sans contact 10.One or more applications have been stored in the memory of the card. Among these applications, one or more are applications that can be used in contactless mode and operate using the contactless module 10.
Une telle application est, par exemple, une application de transport. Cette application sera alors utilisée à chaque fois que le porteur du mobile présentera son mobile devant une borne 200 située à l'entrée du moyen de transport.Such an application is, for example, a transport application. This application will then be used each time the mobile carrier will present his mobile in front of a terminal 200 located at the entrance of the means of transport.
La borne sans contact 200 émet un champ magnétique. Lorsque l'utilisateur du mobile se présente devant la borne, son terminal mobile entre dans le champ magnétique émis par la borne 200. A l'initiative de la borne sans contact, un dialogue entre l'application stockée sur le module 20 et la borne sans contact 200 permet de réaliser une transaction. Ce dialogue entre le module sécurisé 20 et la borne sans contact 200 est effectué via le module sans contact 10.The contactless terminal 200 emits a magnetic field. When the mobile user is in front of the terminal, his mobile terminal enters the magnetic field emitted by the terminal 200. At the initiative of the contactless terminal, a dialogue between the application stored on the module 20 and the terminal contactless 200 makes it possible to carry out a transaction. This dialogue between the secure module 20 and the contactless terminal 200 is performed via the contactless module 10.
L'échange des messages entre le module sans contact et le module sécurisé s'effectue alors de façon classique, par exemple en utilisant le protocole SWP pour "Single Wire Protocol" ou l'interface S2C pour "Sigln-SigOut-Connection". En fonction de l'application sélectionnée, un certain nombre de messages vont ensuite être échangés entre l'application et la borne sans contact.The exchange of messages between the contactless module and the secure module is then performed in a conventional manner, for example using the SWP protocol for "Single Wire Protocol" or the S 2 C interface for "Sigln-SigOut-Connection" . In Depending on the selected application, a number of messages will then be exchanged between the application and the contactless terminal.
Le procédé conforme à l'invention va maintenant être décrit, en référence à la figure 2. Lors de l'entrée du terminal mobile dans le champ magnétique de la borne sans contact, le module de sécurité reçoit de la borne sans contact, lors d'une étape El, un message ml contenant une information permettant de vérifier l'authenticité de la borne sans contact 200.The method according to the invention will now be described, with reference to FIG. 2. When the mobile terminal enters the magnetic field of the contactless terminal, the security module receives from the contactless terminal when a step El, a message ml containing information to verify the authenticity of the contactless terminal 200.
Lors de l'étape E2 suivante, le module de sécurité vérifie l'authenticité de la borne sans contact à partir de l'information contenue dans le message ml .In the next step E2, the security module verifies the authenticity of the contactless terminal from the information contained in the message ml.
Dans un mode de réalisation particulier, cette étape nécessite un dialogue entre le module de sécurité et la borne sans contact.In a particular embodiment, this step requires a dialogue between the security module and the contactless terminal.
Si la vérification est positive, le module de sécurité mémorise, lors d'une étape E3, une valeur d'authentification. Ensuite, lors de la réception d'une commande prédéterminée, le module sécurisé, lors d'une étape E4, exécute ou non la commande en fonction de la valeur d'authentification.If the verification is positive, the security module stores, during a step E3, an authentication value. Then, when receiving a predetermined command, the secure module, during a step E4, executes or not the command based on the authentication value.
En référence à la figure 3, le module de sécurité comprend notamment un microprocesseur 22, un module d'émission-réception 24, une ou plusieurs mémoires 25 de type RAM et une ou plusieurs mémoires 26 de type ROM ou EEPROM dans laquelle sont enregistrés des programmes pouvant être exécutés par le microprocesseur 22. Parmi ces programmes, figurent un programme principal P (appelé OS-carte pour "operating system") et une ou plusieurs applications (APl, AP2...). En référence à la figure 4, un mode de réalisation va maintenant être décrit.With reference to FIG. 3, the security module notably comprises a microprocessor 22, a transceiver module 24, one or more RAM type memories and one or more ROM or EEPROM memories 26 in which are recorded programs that can be executed by the microprocessor 22. Among these programs, there is a main program P (called OS-card for "operating system") and one or more applications (APl, AP2 ...). With reference to Figure 4, an embodiment will now be described.
Dans ce mode de réalisation, quatre applications APl, AP2, AP3 et AP4 ont été stockées dans la mémoire du module de sécurité. Les applications APl et AP4 sont par exemple des applications de paiement fournies par des banques différentes.In this embodiment, four applications AP1, AP2, AP3 and AP4 have been stored in the memory of the security module. The applications AP1 and AP4 are, for example, payment applications provided by different banks.
L'application AP2 est par exemple une application de transport. L'application AP3 ne concerne ni le paiement, ni le transport. Lors d'une étape de configuration préalable au chargement d'une application, un dialogue, via le terminal mobile, entre le module de sécurité et un organisme certifié (par exemple, une banque dans le domaine du paiement) permet de vérifier si le domaine auquel est associée l'application est déjà présent sur le module de sécurité. Si ce domaine n'est pas présent, l'identifiant du domaine ainsi que la clé publique associée sont transmis et mémorisés dans une mémoire du module de sécurité.The AP2 application is for example a transport application. The AP3 application does not concern payment or transport. During a configuration step prior to the loading of an application, a dialogue, via the mobile terminal, between the security module and a certified organization (for example, a bank in the field of payment) makes it possible to check whether the domain associated with the application is already present on the security module. If this domain is not present, the domain identifier and the associated public key are transmitted and stored in a memory of the security module.
Par exemple, les identifiants des domaines présents sur le module de sécurité sont stockés en association avec les clés publiques correspondantes dans une table TIDD dans une mémoire 26 du module de sécurité. Par ailleurs, lors du chargement d'une application dans le module sécurisé, l'identifiant du domaine associé est transmis et inscrit en correspondance d'un identifiant de l'application téléchargée dans une mémoire du module de sécurité, par exemple dans une table TAPP stockée dans une mémoire 26 du module de sécurité. Lorsque aucun domaine n'a été associé à une application, une valeur spécifique, par exemple 0, est inscrite.For example, the identifiers of the domains present on the security module are stored in association with the corresponding public keys in a TIDD table in a memory 26 of the security module. Furthermore, when loading an application into the secure module, the identifier of the associated domain is transmitted and registered in correspondence of an identifier of the downloaded application in a memory of the security module, for example in a TAPP table. stored in a memory 26 of the security module. When no domain has been associated with an application, a specific value, for example 0, is entered.
Au moyen d'un menu spécifique du terminal mobile, l'utilisateur indique la ou les applications qui peuvent être directement sélectionnées par un équipement communicant et celles qui ne le peuvent pas.By means of a specific menu of the mobile terminal, the user indicates the application or applications that can be directly selected by communicating equipment and those that can not.
En fonction des choix effectués par l'utilisateur lors de cette étape de configuration, le terminal mobile commande l'inscription de ces choix dans une mémoire 26 du module de sécurité, par exemple dans la table TAPP, en correspondance avec l'identifiant de l'application concernée. Cette information est par exemple un booléen APP-Visible positionné à 1 si l'application est sélectionnable directement ou à 0 dans le cas contraire. Dans ce mode de réalisation particulier où le module sécurisé est une carte compatible avec les spécifications de GlobalPlatform, ces informations (domaine associé et application sélectionnable ou pas) peuvent être ajoutées sous la forme de deux champs supplémentaires par application dans la base de registre GP Registry qui gère l'ensemble des applications présentes sur le module de sécurité. Ces informations de configuration restent stockées en mémoire jusqu'à ce qu'une nouvelle étape de configuration les modifie.According to the choices made by the user during this configuration step, the mobile terminal controls the registration of these choices in a memory 26 of the security module, for example in the TAPP table, in correspondence with the identifier of the user. application concerned. This information is for example an APP-Visible Boolean set to 1 if the application is directly selectable or to 0 otherwise. In this particular embodiment where the secure module is a card compatible with the GlobalPlatform specifications, this information (associated domain and application selectable or not) can be added in the form of two additional fields per application in the GP Registry. which manages all the applications present on the security module. This configuration information remains stored in memory until a new configuration step modifies it.
On suppose, dans ce mode de réalisation que tant que l'utilisateur n'a pas effectué ce choix, toutes les applications peuvent être sélectionnées par le module de sécurité.It is assumed in this embodiment that until the user has made this choice, all applications can be selected by the security module.
Par ailleurs, lors d'une étape préalable de configuration de la borne sans contact, la borne sans contact reçoit d'un organisme habilité, un certificat CER et une clé privée associée. Seules, les bornes sans contact agréées par un tel organisme possèdent un tel certificat et une clé privée associée. A titre d'alternative, la borne reçoit plusieurs couples de certificats et de clés privées associées.Moreover, during a prior step of configuring the contactless terminal, the contactless terminal receives from an authorized organization, a CER certificate and an associated private key. Only the contactless terminals approved by such an organization have such a certificate and an associated private key. As an alternative, the terminal receives several pairs of certificates and associated private keys.
On suppose que les applications APl et AP4 appartiennent au domaine Dl dont l'identifiant est IDDl, que l'application AP2 appartient au domaine D2 dont l'identifiant est IDD2 et aucun domaine n'est attribué à l'application AP3. Lors de la mise sous tension du module de sécurité ou lors de l'entrée du terminal mobile dans le champ magnétique émis par une borne, une mémoire MD est positionnée à une valeur prédéterminée, par exemple 0, indiquant ainsi qu'aucun domaine n'est sélectionné. Cette mémoire MD est par exemple une mémoire RAM 25 du module de sécurité. Lorsque le terminal mobile entre dans le champ émis par la borne sans contactIt is assumed that the applications AP1 and AP4 belong to the domain D1 whose identifier is IDD1, that the application AP2 belongs to the domain D2 whose identifier is IDD2 and no domain is assigned to the application AP3. When the security module is powered up or when the mobile terminal enters the magnetic field emitted by a terminal, an MD memory is set to a predetermined value, for example 0, thus indicating that no domain n ' is selected. This memory MD is for example a RAM 25 of the security module. When the mobile terminal enters the field emitted by the contactless terminal
200, le module de sécurité reçoit, lors d'une étape El, un message ml émis par la borne. Ce message est un ordre dont la syntaxe est conforme aux ordres ADPU décrits dans la norme ISO 7816-4 ou dans les spécifications GlobalPlatform. Il est de la forme CLA-INS-Paramètres avec INS indiquant que le message ml est un message de déclaration d'identité et les octets "paramètres" contenant le certificat CER fourni par l'organisme habilité.200, the security module receives, in a step El, a message ml emitted by the terminal. This message is an order whose syntax complies with the ADPU commands described in the ISO 7816-4 standard or in the GlobalPlatform specifications. It is of the form CLA-INS-Parameters with INS indicating that the message ml is an identity declaration message and the "parameter" bytes containing the CER certificate provided by the authorized organization.
Suite à la réception de ce message ml, le module de sécurité vérifie l'authenticité de la borne lors d'une étape E2.Following receipt of this message ml, the security module verifies the authenticity of the terminal during a step E2.
Pour cela, lors d'une sous étape E21, le module de sécurité vérifie le certificat CER. Cette vérification est, par exemple, effectuée à l'aide de la table TIDD. La vérification consiste alors à déchiffrer le certificat CER avec une des clés publiques de la table TIDD, extraire un identifiant de ce certificat déchiffré et comparer l'identifiant obtenu à l'identifiant stocké dans la table TIDD en correspondance avec la clé publique utilisée. Si l'identifiant obtenu est différent, l'opération est recommencée avec une autre clé publique de la table TIDD.For this, during a substep E21, the security module checks the CER certificate. This check is, for example, done using the TIDD table. The verification then consists in decrypting the CER certificate with one of the public keys of the TIDD table, retrieving an identifier of this decrypted certificate and comparing the identifier obtained with the identifier stored in the TIDD table in correspondence with the public key used. If the identifier obtained is different, the operation is restarted with another public key of the TIDD table.
Lorsque l'opération a été effectuée sans succès avec toutes les clés de la table TIDD, l'identifiant de domaine n'est pas connu du module ou est un faux identifiant, le module de sécurité renvoie alors à la borne, lors d'une sous étape E22, un message d'acquittement m2. Ce message est, par exemple, un message de deux octets dont la syntaxe est conforme aux messages d'acquittement décrits dans la norme ISO 7816-4 et signifie que l'accès est refusé. Le module de sécurité se positionne alors en attente d'un nouvel ordre en provenance de la borne.When the operation has been performed without success with all the keys of the TIDD table, the domain identifier is not known to the module or is a false identifier, the security module then returns to the terminal, during a in step E22, an acknowledgment message m2. This message is, for example, a two-byte message whose syntax is in accordance with the acknowledgment messages described in ISO 7816-4 and means that access is denied. The security module is then positioned waiting for a new order from the terminal.
Si une correspondance est trouvée, l'identifiant obtenu est l'identifiant d'un domaine connu du module de sécurité et au moins une application du module de sécurité appartient ce domaine. Le module de sécurité envoie alors, lors d'une sous étape E23 un message d'acquittement m3 indiquant à la borne que le module de sécurité veut lui transmettre un aléa c.If a match is found, the identifier obtained is the identifier of a known domain of the security module and at least one application of the security module belongs to this domain. The security module then sends, during a substep E23 an acknowledgment message m3 indicating to the terminal that the security module wants to transmit a hazard c.
Lors de la sous étape E24 suivante, la borne envoie alors un message m4, par exemple un message GET-RESPONSE, pour obtenir l'aléa et l'aléa est transmis en réponse à la borne lors d'un message m5.During the following sub-step E24, the terminal then sends a message m4, for example a GET-RESPONSE message, to obtain the random value and the random value is transmitted in response to the terminal during a message m5.
Lors d'une sous étape E25, la borne calcule alors une signature d'un message contenant l'aléa à l'aide de sa clé privée et transmet cette signature au module de sécurité dans un message m6, par exemple un message PUT-DATA. Lors de la sous étape E26 suivante, le module de sécurité reçoit et vérifie cette signature à l'aide de la clé publique associée au domaine sélectionné.During a substep E25, the terminal then calculates a signature of a message containing the random value with the aid of its private key and transmits this signature to the security module in a message m6, for example a PUT-DATA message. . During the following substep E26, the security module receives and verifies this signature using the public key associated with the selected domain.
Si la signature n'est pas correcte, le module de sécurité envoie, lors d'une sous étape E27, un message d'acquittement m7 indiquant à la borne que l'accès est refusé. Le message m7 est par exemple identique au message m2. Le module de sécurité se positionne alors en réception d'un nouvel ordre en provenance de la borne. Si la signature est correcte, le module de sécurité, lors d'une étape E3, enregistre dans la mémoire MD l'identifiant obtenu.If the signature is not correct, the security module sends, during a substep E27, an acknowledgment message m7 indicating to the terminal that access is denied. The message m7 is for example identical to the message m2. The security module is then positioned in receipt of a new order from the terminal. If the signature is correct, the security module, during a step E3, stores in the MD memory the identifier obtained.
On suppose que, dans le mode de réalisation décrit ici, la borne a été agréée pour le domaine Dl du paiement et qu'elle s'est authentifiée auprès du module de sécurité 20 du terminal mobile 200. La mémoire MD du module de sécurité contient ainsi l'identifiant IDDl du domaine Dl.It is assumed that, in the embodiment described here, the terminal has been approved for the domain D1 of the payment and that it has authenticated itself to the security module 20 of the mobile terminal 200. The memory MD of the security module contains thus the IDDl identifier of the domain Dl.
Lors d'une étape E4, le module de sécurité reçoit ensuite une commande MS de sélection d'une application en provenance de la borne et vérifie s'il peut ou non exécuter cette commande. Pour cela, lors d'une sous étape E42, le module de sécurité lit dans le registre GP Registry, l'entête de l'application à sélectionner et notamment l'identifiant du domaine associé à cette application.In a step E4, the security module then receives an MS selection command of an application from the terminal and checks whether or not it can execute this command. For this, during a substep E42, the security module reads in the registry GP Registry, the header of the application to select and including the identifier of the domain associated with this application.
Si aucun domaine n'a été associé à l'application, par exemple si l'identifiant de domaine lu est à 0, le module de sécurité vérifie si l'utilisateur a ou non bloqué l'exécution de l'application. Pour cela, lors d'une sous étape E44, le module de sécurité lit dans le GPIf no domain has been associated with the application, for example if the read domain identifier is 0, the security module checks whether or not the user has blocked the execution of the application. For this, during a substep E44, the security module reads in the GP
Registry la valeur APP-Visible indiquant si l'application peut être sélectionnée. Si cette valeur est à 0, l'application ne pouvant être sélectionnée, le module de sécurité renvoie, lors d'une sous étape E45, un message d'acquittement m9 indiquant que l'application demandée n'existe pas. Si cette valeur est différente de 0, le module de sécurité procède à la sélection de l'application de façon classique et la transaction est effectuée également de façon classique.Registry APP-Visible value indicating whether the application can be selected. If this value is 0, the application can not be selected, the security module returns, in a substep E45, an acknowledgment message m9 indicating that the application requested does not exist. If this value is different from 0, the security module selects the application in a conventional manner and the transaction is also carried out in a conventional manner.
Si un domaine est associé à l'application, le module compare l'identifiant lu lors de la sous étape E42, à l'identifiant du domaine mémorisé dans la mémoire MD.If a domain is associated with the application, the module compares the identifier read in the substep E42, the identifier of the domain stored in the MD memory.
Si ces identifiants sont différents, l'application n'appartient pas au domaine pour lequel la borne a été authentifiée et le module de sécurité renvoie, lors d'une sous étape E43, un message d'acquittement m8 indiquant à la borne que l'application n'existe pas.If these identifiers are different, the application does not belong to the domain for which the terminal has been authenticated and the security module returns, during a substep E43, an acknowledgment message m8 indicating to the terminal that the application does not exist.
Si les deux identifiants sont identiques, le module de sécurité vérifie si l'utilisateur a ou non bloqué l'exécution de l'application comme décrit précédemment (sous étape E44). Lorsque le module de sécurité sort du champ émis par la borne, le module de sécurité est informé de cet événement par le module sans contact et positionne à 0 l'indicateur MD indiquant ainsi qu'aucun domaine n'est sélectionné.If the two identifiers are identical, the security module checks whether or not the user has blocked the execution of the application as described above (in step E44). When the security module leaves the field emitted by the terminal, the security module is informed of this event by the contactless module and sets the MD indicator to 0 indicating that no domain is selected.
Dans le mode de réalisation décrit ici où la valeur d'authentifïcation est IDDl, si l'ordre de sélection reçu contient l'identifiant de l'application AP3, l'identifiant de domaine associé à cette application étant 0, l'application AP3 n'est exécutée que si l'indicateur APP-visible de cette application est à 1. Si l'ordre de sélection reçu contient l'identifiant de l'application AP2, le module de sécurité renvoie un message d'acquittement indiquant que l'application AP2 n'existe pas et l'application AP2 n'est pas exécutée. Si l'ordre de sélection reçu contient l'identifiant de l'application APl ou l'identifiant de l'application AP4, l'application n'est exécutée que si l'indicateur APP- visible de cette application est à 1.In the embodiment described here where the authentication value is IDD1, if the received selection order contains the identifier of the application AP3, the domain identifier associated with this application being 0, the application AP3 n is executed only if the APP-visible flag of this application is at 1. If the received selection order contains the identifier of the application AP2, the security module returns an acknowledgment message indicating that the application AP2 does not exist and the AP2 application is not executed. If the received selection order contains the identifier of the application AP1 or the identifier of the application AP4, the application is executed only if the APP-visible indicator of this application is at 1.
Dans le cas où l'application ne peut être sélectionnée, un compteur contenant le nombre de tentatives de sélection d'application sans résultat peut être initialisé à 1 et le module de sécurité peut être bloqué après un nombre déterminé de tentatives infructueuses consécutives, de façon similaire au blocage d'un module de sécurité lorsque trois codes PIN faux sont saisis.In the case where the application can not be selected, a counter containing the number of unsuccessful application selection attempts can be initialized to 1 and the security module can be blocked after a determined number of consecutive unsuccessful attempts, so similar to blocking a security module when three fake PINs are entered.
Les différentes étapes du procédé effectuées par le module de sécurité sont réalisées directement par le programme principal P de ce module ou par un sous programme F installé sur ce module et appelé par le programme P.The various steps of the method performed by the security module are carried out directly by the main program P of this module or by a sub-program F installed on this module and called by the program P.
Dans un mode de réalisation, le sous programme F est une application.In one embodiment, the subroutine F is an application.
Un second mode de réalisation va maintenant être décrit. Dans ce mode de réalisation, le module de sécurité utilisé est une carte SIM insérée dans un terminal mobile. Deux applications APl et AP2 ont été installées sur cette carte à mémoire.A second embodiment will now be described. In this embodiment, the security module used is a SIM card inserted in a mobile terminal. Two APl and AP2 applications have been installed on this memory card.
L'application APl appartient au domaine Dl dont l'identifiant est IDDl . L'identifiant de l'application APl est IdAPl.The APl application belongs to the domain Dl whose identifier is IDDl. The identifier of the APl application is IdAPl.
La phase de configuration du module de sécurité est similaire à celle du premier mode de réalisation décrit. Lorsque le terminal mobile entre dans le champ émis par la borne sans contact 200, le module de sécurité reçoit, lors d'une étape El, un message ml émis par la borne. Ce message est un ordre dont la syntaxe est conforme aux ordres ADPU décrits dans la norme ISO 7816-4. Il est de la forme CLA-ENTS-Paramètres avec INS indiquant que le message ml est un message de déclaration d'identité et les octets "paramètres" contenant un identifiant de domaine.The configuration phase of the security module is similar to that of the first embodiment described. When the mobile terminal enters the field emitted by the contactless terminal 200, the security module receives, during a step El, a message ml emitted by the terminal. This message is an order whose syntax complies with the ADPU commands described in the ISO 7816-4 standard. It is of the form CLA-ENTS-Parameters with INS indicating that the message ml is an identity declaration message and the bytes "parameters" containing a domain identifier.
Suite à la réception de ce message ml, le module de sécurité vérifie l'authenticité de la borne lors d'une étape E2.Following receipt of this message ml, the security module verifies the authenticity of the terminal during a step E2.
Cette vérification est, par exemple, effectuée à l'aide d'une table TIDD contenant les identifiants des domaines présents (Dl, D2) sur le module de sécurité. La vérification consiste alors à comparer l'identifiant obtenu à chaque identifiant stocké dans la table TIDD.This verification is, for example, carried out using a TIDD table containing the identifiers of the domains present (D1, D2) on the security module. The verification then consists in comparing the identifier obtained with each identifier stored in the TIDD table.
Si aucune correspondance n'est trouvée, l'identifiant de domaine n'est pas connu du module ou est un faux identifiant, le module de sécurité renvoie alors à la borne un message d'acquittement m2 indiquant à la borne que l'accès lui est refusé.If no match is found, the domain identifier is not known to the module or is a false identifier, the security module then returns to the terminal an acknowledgment message m2 indicating to the terminal that access is refused.
Le module de sécurité se positionne alors en attente d'un nouvel ordre en provenance de la borne.The security module is then positioned waiting for a new order from the terminal.
Si une correspondance est trouvée, au moins une application du module de sécurité appartient au domaine et le module de sécurité envoie, lors d'une sous étape E23 un message d'acquittement m3 indiquant à la borne que l'ordre a été reçu et traité.If a match is found, at least one application of the security module belongs to the domain and the security module sends, during a substep E23 an acknowledgment message m3 indicating to the terminal that the order has been received and processed. .
L'identifiant reçu dans le message ml étant l'identifiant IDDl du domaine Dl, cet identifiant figure dans la table TIDD et cet identifiant IDDl est stocké dans la mémoire MD du module de sécurité. Le module de sécurité reçoit ensuite en provenance de la même borne un ordre de sélection de l'application APl. Suite à la réception de cet ordre, le module de sécurité lit dans une mémoire du module de sécurité, par exemple dans la table TAPP, l'identifiant IDDl du domaine associé à l'application APl, stocké lors d'une étape de configuration. L'identifiant lu et l'identifiant reçu dans le message ml étant identiques, l'application est sélectionnée et peut être exécutée de façon classique. L'étape E4 de l'invention a été décrite avec un ordre de sélection d'une application (ordre "Select"). Suivant les modes de réalisation, elle peut être appliquée à tous les ordres reçus par le module de sécurité, à tous les ordres traités par le système d'exploitation ("OS" pour "operating system" en anglais) du module de sécurité ou à des ordres prédéterminés, par exemple ceux permettant d'obtenir des informations sur la présence ou non d'une application sur un module de sécurité.The identifier received in the message ml is the identifier IDD1 of the domain D1, this identifier is included in the table TIDD and this identifier IDD1 is stored in the memory MD of the security module. The security module then receives from the same terminal a selection order APl application. Following reception of this order, the security module reads from a memory of the security module, for example in the TAPP table, the identifier IDD1 of the domain associated with the application AP1, stored during a configuration step. The identifier read and the identifier received in the message ml being identical, the application is selected and can be executed in a conventional manner. Step E4 of the invention has been described with an order of selection of an application (order "Select"). According to the embodiments, it can be applied to all the commands received by the security module, to all the commands processed by the operating system ("OS" for "operating system" in English) of the security module or to predetermined orders, for example those for obtaining information on the presence or absence of an application on a security module.
L'invention a été décrite avec un seul identifiant de domaine par application. L'invention s'applique également au cas où une application appartient à plusieurs domaines. Par exemple, une application de paiement peut appartenir au domaine du paiement et au domaine réservé par un fournisseur de services S. Elle pourra être sélectionnée d'une part par une borne de paiement et d'autre part par une borne du fournisseur de services.The invention has been described with only one domain identifier per application. The invention also applies to the case where an application belongs to several domains. For example, a payment application may belong to the payment domain and the reserved domain by a service provider S. It may be selected on the one hand by a terminal of payment and on the other hand by a terminal of the service provider.
L'invention a été décrite avec un terminal mobile contenant des applications fonctionnant en mode sans contact, le dialogue entre le terminal et la borne s'effectuant via un module sans contact.The invention has been described with a mobile terminal containing applications operating in contactless mode, the dialogue between the terminal and the terminal being effected via a contactless module.
L'invention s'applique également lorsque le dialogue entre la borne et le terminal utilise un autre moyen de communication, par exemple une liaison filaire.The invention also applies when the dialogue between the terminal and the terminal uses another means of communication, for example a wired link.
L'invention s'applique aussi aux cartes à puces insérées directement dans un lecteur de cartes; par exemple, un terminal de paiement électronique (TPE) ou un distributeur d'argent. The invention also applies to smart cards inserted directly into a card reader; for example, an electronic payment terminal (EPT) or a cash dispenser.

Claims

REVENDICATIONS
1. Procédé de protection des applications installées sur un module de sécurité, aptes à dialoguer avec un équipement communicant caractérisé en ce qu'il comporte :1. A method of protecting the applications installed on a security module, able to communicate with a communicating equipment characterized in that it comprises:
- une étape (El) de réception d'une information d'identification en provenance de l'équipement communicant;a step (El) of receiving identification information from the communicating equipment;
- une étape de vérification (E2) de l'authenticité de l'équipement communicant en fonction de l'information reçue et d'une information relative à au moins une des applications;a verification step (E2) of the authenticity of the communicating equipment as a function of the information received and information relating to at least one of the applications;
- une étape de mémorisation (E3) d'une valeur d'authentification relative à la au moins une des applications si la vérification est positive; et en ce quea step of storing (E3) an authentication value relative to the at least one of the applications if the verification is positive; and in that
- lors de la réception d'une commande prédéterminée (E4) provenant dudit équipement communicant, l'exécution de la commande est subordonnée à la valeur d'authentification.- Upon receipt of a predetermined command (E4) from said communicating equipment, the execution of the command is subordinate to the authentication value.
2. Procédé selon la revendication 1 dans lequel la commande prédéterminée est une commande de sélection d'une application.The method of claim 1 wherein the predetermined command is an application selection command.
3. Procédé selon l'une des revendications 1 ou 2 caractérisé en ce qu'il comprend en outre une étape préalable de détermination d'au moins un domaine d'applications auquel est associé un identifiant de domaine correspondant à l'information relative à au moins une des applications, ledit au moins un domaine comportant au moins une application parmi l'ensemble des applications installées sur le module de sécurité, et en ce que l'information d'identification reçue de l'équipement communicant comporte un identifiant de domaine.3. Method according to one of claims 1 or 2 characterized in that it further comprises a preliminary step of determining at least one application domain which is associated with a domain identifier corresponding to the information relating to the at least one of the applications, said at least one domain comprising at least one application among all the applications installed on the security module, and in that the identification information received from the communicating equipment comprises a domain identifier.
4. Procédé selon la revendication 3 caractérisé en ce en ce que le résultat de la vérification est négatif si l'identifiant de domaine reçu n'est pas un identifiant d'un domaine déterminé dans l'étape préalable. 4. Method according to claim 3 characterized in that the result of the verification is negative if the domain identifier received is not an identifier of a given domain in the prior step.
5. Procédé selon la revendication 3 caractérisé en ce en ce que l'information relative à au moins une application comprend en outre une clé de domaine et en ce que le résultat est négatif si l'identifiant contenu dans l'information d'identification n'est pas chiffré avec la clé d'un domaine déterminé dans l'étape préalable de détermination.5. Method according to claim 3 characterized in that the information relating to at least one application further comprises a domain key and in that the result is negative if the identifier contained in the identification information n is not encrypted with the key of a given domain in the preliminary determination step.
6. Procédé selon l'une des revendications 3 à 5 dans lequel la valeur d'authentification est un identifiant de domaine dans le cas où la vérification est positive.6. Method according to one of claims 3 to 5 wherein the authentication value is a domain identifier in the case where the verification is positive.
7. Procédé selon la revendication 6 dans lequel la commande exécutée est une commande de sélection d'une application caractérisé en ce que la commande n'est exécutée que s'il existe une valeur d'authentification et si cette valeur correspond à l'identifiant du domaine de l'application sélectionnée.7. Method according to claim 6 wherein the command executed is an application selection command characterized in that the command is executed only if there is an authentication value and if this value corresponds to the identifier. the domain of the selected application.
8. Procédé selon l'une des revendications 2 à 7 caractérisé en ce qu'il comporte en outre une étape préalable de mémorisation d'un indicateur de visibilité par application et en ce que l'exécution de la commande de sélection d'une application est subordonnée à la valeur de cet indicateur.8. Method according to one of claims 2 to 7 characterized in that it further comprises a prior step of storing a visibility indicator by application and in that the execution of the application selection command is subordinated to the value of this indicator.
9. Module de sécurité (20) comprenant des moyens de stockage d'au moins une application apte à dialoguer avec un équipement communicant caractérisé en ce qu'il comporte en outre :9. Security module (20) comprising means for storing at least one application capable of communicating with communicating equipment, characterized in that it furthermore comprises:
- des moyens de réception d'une information d'identification en provenance de l'équipement communicant;means for receiving identification information from the communicating equipment;
- des moyens de vérification de l'authenticité de l'équipement communicant en fonction de l'information reçue et d'une information relative à au moins une des applications;means for verifying the authenticity of the communicating equipment as a function of the information received and information relating to at least one of the applications;
- des moyens de stockage d'une valeur d'authentification relative à la au moins une des applications si la vérification est positive; - des moyens d'exécution d'une commande prédéterminée en provenance de l'équipement communicant, ladite exécution étant subordonnée à la valeur d'authentification.means for storing an authentication value relating to the at least one of the applications if the verification is positive; means for executing a predetermined command from the communicating equipment, said execution being subordinate to the authentication value.
10. Terminal (100) apte à fonctionner avec un module de sécurité (20) selon la revendication 9.Terminal (100) operable with a security module (20) according to claim 9.
11. Equipement communicant apte à dialoguer avec une application installée sur un module de sécurité caractérisé en ce qu'il comporte : - des moyens de mémorisation d'informations de configuration comportant au moins une information d'identification;11. Communicating equipment capable of interacting with an application installed on a security module characterized in that it comprises: - means for storing configuration information including at least one identification information;
- des moyens d'émission d'une information d'identification permettant au module de sécurité de vérifier l'authenticité dudit équipement;means for transmitting identification information enabling the security module to verify the authenticity of said equipment;
- des moyens d'envoi d'une commande prédéterminée au module de sécurité.means for sending a predetermined command to the security module.
12. Produit programme d'ordinateur comprenant des instructions pour mettre en œuvre les étapes du procédé selon l'une des revendications 1 à 8 lorsqu'il est chargé et exécuté par un processeur. A computer program product comprising instructions for implementing the steps of the method according to one of claims 1 to 8 when it is loaded and executed by a processor.
PCT/FR2008/051237 2007-07-03 2008-07-03 Method for protecting applications installed on a secured module, and related terminal, security module and communication equipment WO2009007653A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0756251 2007-07-03
FR0756251 2007-07-03

Publications (1)

Publication Number Publication Date
WO2009007653A1 true WO2009007653A1 (en) 2009-01-15

Family

ID=38963107

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2008/051237 WO2009007653A1 (en) 2007-07-03 2008-07-03 Method for protecting applications installed on a secured module, and related terminal, security module and communication equipment

Country Status (1)

Country Link
WO (1) WO2009007653A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011048084A1 (en) * 2009-10-22 2011-04-28 Gemalto Sa Multi-application mobile authentication device
WO2014064353A1 (en) * 2012-10-26 2014-05-01 Inside Secure Method of providing a secured service
AU2014256438B2 (en) * 2010-11-10 2016-11-24 Einnovations Holdings Pte. Ltd. A card for use in a method of performing a financial transaction via unsecured public telecommunication infrastructure
CN109446786A (en) * 2018-12-25 2019-03-08 飞天诚信科技股份有限公司 A kind of working method and intelligent key apparatus of intelligent key apparatus
US11423385B2 (en) 2010-11-10 2022-08-23 Einnovations Holdings Pte. Ltd. Method of performing a financial transaction via unsecured public telecommunication infrastructure and an apparatus for same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721781A (en) * 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6961587B1 (en) * 1999-05-11 2005-11-01 Nokia Mobile Phones Ltd. Storage media
WO2005114561A1 (en) * 2004-05-24 2005-12-01 Matsushita Electric Industrial Co., Ltd. Reader/writer secure module access control method
FR2872309A1 (en) * 2004-06-23 2005-12-30 Gemplus Sa METHOD FOR MANAGING A MULTI-APPLICATIVE CHIP CARD
EP1646018A1 (en) * 2004-10-08 2006-04-12 Fujitsu Limited Biometric authentication device, biometric information authentication method, and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721781A (en) * 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6961587B1 (en) * 1999-05-11 2005-11-01 Nokia Mobile Phones Ltd. Storage media
WO2005114561A1 (en) * 2004-05-24 2005-12-01 Matsushita Electric Industrial Co., Ltd. Reader/writer secure module access control method
US20070221725A1 (en) * 2004-05-24 2007-09-27 Matsushita Electric Industrial Co., Ltd. Reader/Writer Secure Module Access Control Method
FR2872309A1 (en) * 2004-06-23 2005-12-30 Gemplus Sa METHOD FOR MANAGING A MULTI-APPLICATIVE CHIP CARD
EP1646018A1 (en) * 2004-10-08 2006-04-12 Fujitsu Limited Biometric authentication device, biometric information authentication method, and program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011048084A1 (en) * 2009-10-22 2011-04-28 Gemalto Sa Multi-application mobile authentication device
EP2323111A1 (en) * 2009-10-22 2011-05-18 Gemalto SA Portable device for multi-application authentication
US20120204240A1 (en) * 2009-10-22 2012-08-09 Gemalto Sa Multi-application mobile authentication device
AU2014256438B2 (en) * 2010-11-10 2016-11-24 Einnovations Holdings Pte. Ltd. A card for use in a method of performing a financial transaction via unsecured public telecommunication infrastructure
US11423385B2 (en) 2010-11-10 2022-08-23 Einnovations Holdings Pte. Ltd. Method of performing a financial transaction via unsecured public telecommunication infrastructure and an apparatus for same
WO2014064353A1 (en) * 2012-10-26 2014-05-01 Inside Secure Method of providing a secured service
FR2997525A1 (en) * 2012-10-26 2014-05-02 Inside Secure METHOD FOR PROVIDING SECURE SERVICE
CN104737177A (en) * 2012-10-26 2015-06-24 英赛瑟库尔公司 Method of providing a secured service
US9621550B2 (en) 2012-10-26 2017-04-11 Inside Secure Method for providing a secure service
CN104737177B (en) * 2012-10-26 2017-08-08 英赛瑟库尔公司 method for providing security service
CN109446786A (en) * 2018-12-25 2019-03-08 飞天诚信科技股份有限公司 A kind of working method and intelligent key apparatus of intelligent key apparatus
CN109446786B (en) * 2018-12-25 2021-01-01 飞天诚信科技股份有限公司 Working method of intelligent secret key device and intelligent secret key device

Similar Documents

Publication Publication Date Title
EP2143053B1 (en) Method for communicating and transmitting a message relating to a transaction for a contactless application, terminal, secured module and associated systems
EP2008483B1 (en) Method of securing access to a proximity communication module in a mobile terminal
EP2455922B1 (en) NFC transaction method and system
EP2405378B1 (en) Method of executing a secure application in an NFC device
EP2801052B1 (en) Method for executing an application in an nfc device
EP2545721B1 (en) Protection against rerouting in an nfc circuit communication channel
EP2545723B1 (en) Protection of a communication channel between a security module and an nfc circuit
EP1549011A1 (en) Communication method and system between a terminal and at least a communication device
EP2545722B1 (en) Detection of the rerouting of a communication channel of a telecommunication device connected to an nfc circuit
EP2912594B1 (en) Method of providing a secured service
EP2545724A1 (en) Protection of a security module in a telecommunication device coupled to a an nfc circuit
EP2612516A1 (en) Protection of a communication channel of a telecommunication device coupled to an nfc circuit against misrouting
EP3238474A1 (en) Method for securing contactless transactions
WO2009007653A1 (en) Method for protecting applications installed on a secured module, and related terminal, security module and communication equipment
US20140052992A1 (en) Response to Queries by Means of the Communication Terminal of a User
EP1817890A1 (en) Method, system and microcontroller card for communicating application services from a microcontroller card to a terminal
EP2118825B1 (en) Portable electronic entity and communication method
EP3552327A1 (en) Method of personalizing a secure transaction during a radio communication
EP2159763B1 (en) System and method for delivering a good or a service to a user
WO2017077211A1 (en) Communication between two security elements inserted into two communicating objects
WO2010001046A2 (en) Method of installing a management application and method of managing data of applications of a memory area contained on a security module associated with a mobile terminal, associated security module, mobile terminal and server
FR3073304A1 (en) METHOD FOR LEGITIMATION OF A TRANSPORT TITLE CARRIED BY A MOBILE TERMINAL, COMPUTER PROGRAM AND MOBILE TERMINAL THEREFOR
FR3042892A1 (en) PAYMENT CARD, SYSTEM AND METHOD FOR REMOTE PAYMENT IMPLEMENTING SAID PAYMENT CARD
FR2993424A1 (en) Method for supplying identification data of user that is to be applied to smart phone, involves supplying identification data to service platform for user identification via mobile telecommunication network by secure element
FR2798497A1 (en) SYSTEM AND METHOD FOR LOADING DATA IN A CHIP CARD THROUGH A TELECOMMUNICATION NETWORK USING MELS

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: 08806160

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: 08806160

Country of ref document: EP

Kind code of ref document: A1