FR3037167A1 - METHOD FOR PROVIDING A INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER - Google Patents

METHOD FOR PROVIDING A INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER Download PDF

Info

Publication number
FR3037167A1
FR3037167A1 FR1555072A FR1555072A FR3037167A1 FR 3037167 A1 FR3037167 A1 FR 3037167A1 FR 1555072 A FR1555072 A FR 1555072A FR 1555072 A FR1555072 A FR 1555072A FR 3037167 A1 FR3037167 A1 FR 3037167A1
Authority
FR
France
Prior art keywords
block
secure module
server
blocks
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1555072A
Other languages
French (fr)
Other versions
FR3037167B1 (en
Inventor
Guillaume Larignon
Vincent Bourdaraud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1555072A priority Critical patent/FR3037167B1/en
Publication of FR3037167A1 publication Critical patent/FR3037167A1/en
Application granted granted Critical
Publication of FR3037167B1 publication Critical patent/FR3037167B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne un procédé de provisionnement d'un script d'installation pour un module sécurisé, par exemple de type eUICC. Le procédé comprend une étape de préparation (501) d'un script d'installation divisé en une pluralité de blocs d'instructions par le serveur (SV), puis le traitement (506) d'un bloc par le module sécurisé (MS) et la notification (507) du statut du traitement du bloc. Le procédé prévoit la transmission d'un bloc suivant en fonction du résultat de la notification (507). Le procédé permet, en cas de perte de connexion, de reprendre le provisionnement au bloc qui n'a pas pu être traité par le module sécurisé (MS). L'invention prévoit un module sécurisé (MS) et un serveur (SV) pour la mise en œuvre du procédé.The invention relates to a method for provisioning an installation script for a secure module, for example of the eUICC type. The method comprises a step of preparing (501) an installation script divided into a plurality of blocks of instructions by the server (SV), then the processing (506) of a block by the secure module (MS) and notifying (507) the processing status of the block. The method provides for the transmission of a next block depending on the result of the notification (507). The method makes it possible, in the event of loss of connection, to resume the provisioning of the block which could not be processed by the secure module (MS). The invention provides a secure module (MS) and a server (SV) for implementing the method.

Description

1 PROCEDE DE PROVISIONNEMENT D'UN SCRIPT D'INSTALLATION A UN MODULE SECURISE, MODULE SECURISE ET SERVEUR DE PROVISIONNEMENT Le domaine de l'invention concerne un procédé de provisionnement d'un script d'installation pour un module sécurisé, un module sécurisé et un serveur de provisionnement. Il est connu de sécuriser un module de communication ou un module d'exécution d'applications logicielles au moyen de traitements cryptographiques, reposant par exemple sur l'utilisation de clés ou certificats scellés dans une carte à circuit intégré. Un tel module sécurisé peut être un circuit embarqué sécurisé, connu également par l'acronyme eSE pour « embedded Secure Element, ou une carte de circuit intégré universelle et embarquée eUICC « embedded Universal Integrated Circuit Card ». Sous une autre forme, la carte de circuit intégré et universelle peut être une carte amovible de type UICC, par exemple une carte SIM (« Subscriber Identity Module » pour module d'identité de souscripteur).BACKGROUND OF THE INVENTION The field of the invention relates to a method for provisioning an installation script for a secure module, a secure module and a module for configuring a security module. Provisioning server. It is known to secure a communication module or a module for executing software applications by means of cryptographic processing, based for example on the use of keys or certificates sealed in an integrated circuit card. Such a secure module may be a secure embedded circuit, also known by the acronym eSE for "embedded Secure Element," or a universal integrated circuit board embedded eUICC "embedded Universal Integrated Circuit Card". In another form, the integrated and universal circuit board may be a UICC type removable card, for example a SIM card (Subscriber Identity Module).

Lors de sa fabrication, il est courant de provisionner un module sécurisé avec un profil de souscripteur auprès d'un opérateur de services payants et des applications logicielles dites sécurisées. Le provisionnement du profil de souscripteur ou d'une application est opéré par l'exécution d'un script d'installation, correspondant généralement à une séquence de commandes APDU écrivant dans l'espace mémoire non-volatile du module sécurisé, espace scellé et dont l'accès est restreint au moyen de mécanismes d'authentification. Lorsque le souscripteur souhaite modifier son profil ou ses applications logicielles sécurisées, il peut dans le cas d'un circuit intégré amovible remplacer sa carte à circuit intégré. Dans le cas d'un circuit intégré embarqué, il est connu de provisionner un nouveau profil souscripteur ou de nouvelles applications logicielles au moyen d'un serveur distant de provisionnement via un canal de communication sécurisé. On connaît dans l'état de la technique la demande de brevet européen EP2584755A1 décrivant une méthode pour envoyer des applications orientées « Commande » d'un serveur distant à un module sécurisé. On connaît également la demande de brevet américain US20140134981A1 décrivant une méthode pour établir une connexion sécurisée avec un module sécurisé pour le provisionnement d'un profil opérateur à distance.During its manufacture, it is common to provision a secure module with a subscriber profile with a pay services operator and so-called secure software applications. The provisioning of the subscriber or application profile is performed by the execution of an installation script, generally corresponding to a sequence of APDU commands writing in the non-volatile memory space of the secure module, sealed space and whose access is restricted through authentication mechanisms. When the subscriber wishes to modify his profile or its secure software applications, in the case of a removable integrated circuit, he can replace his integrated circuit card. In the case of an embedded integrated circuit, it is known to provision a new subscriber profile or new software applications by means of a remote provisioning server via a secure communication channel. It is known in the state of the art the European patent application EP2584755A1 describing a method for sending applications oriented "Command" of a remote server to a secure module. US patent application US20140134981A1 is also known describing a method for establishing a secure connection with a secure module for provisioning a remote operator profile.

3037167 2 Il est connu que lors du provisionnement le serveur dirige la transmission des données au module sécurisé. Le serveur transmet les données tandis que le module sécurisé informe le serveur s'il est disponible pour recevoir les données. Lors du provisionnement à distance, il est probable que des coupures de connexion 5 interviennent lors de la communication entre le serveur et le module sécurisé. Cela peut être le cas lorsque l'utilisateur du module sécurisé se déplace dans une zone non desservie par le réseau de télécommunication mobile, par exemple un tunnel ou un espace couvert. La spécification technique GSMA, « Remote Provisioning Architecture for Embedded UICC », version 2.0 du 12 octobre 2014, fournit des spécifications au chapitre 3.1.3 pour la mise en 10 opération du provisionnement à distance entre un serveur et un module sécurisé. Elle prévoit également la procédure à mettre en oeuvre en cas d'erreur lors du provisionnement. Le chapitre 3.1.4 préconise l'effacement de la totalité du script d'installation en cours de provisionnement puis une réinitialisation de la totalité du protocole d'installation lorsque la communication est rétablie.3037167 2 It is known that during provisioning the server directs the transmission of data to the secure module. The server transmits the data while the secure module informs the server if it is available to receive the data. When provisioning remotely, it is likely that connection breaks 5 occur during the communication between the server and the secure module. This may be the case when the user of the secure module moves to an area not served by the mobile telecommunication network, for example a tunnel or a covered space. The GSMA Technical Specification, "Remote Provisioning Architecture for Embedded UICC", version 2.0 of October 12, 2014, provides specifications in chapter 3.1.3 for the implementation of remote provisioning between a server and a secure module. It also provides the procedure to implement in case of error during provisioning. Chapter 3.1.4 recommends deleting the entire installation script being provisioned and then resetting the entire installation protocol when communication is restored.

15 En effet, lors d'une perte de communication le serveur n'est pas en capacité de connaître les parties du script d'installation qui ont été reçues par le module sécurisé. De plus, il est primordial d'empêcher l'écriture de doublons de parties du script d'installation au risque d'entrainer la panne du module sécurisé. De plus, la sécurisation du canal sécurisé selon le protocole SCP03 (pour « Secure 20 Channel Protocol 03» est assurée par le chiffrement des données du script d'installation à base de clés de chiffrement de session et d'un compteur scellés dans le circuit intégré, et dont la rotation du compteur est commandée à chaque commande APDU du script d'installation. Pour sa mise en application, la rotation doit être synchronisée entre le serveur et le module sécurisé. Or, lors d'une perte de communication le serveur ne peut reprendre le chiffrement des 25 données et la transmission et garantir la synchronisation du chiffrement. En cas de désynchronisation le traitement des données du script d'installation par le module sécurisé est rendu impossible. Pour cela, le protocole de gestion des erreurs prévoit l'effacement de toutes les données puis une réinitialisation complète du processus de provisionnement. De plus, le serveur n'est pas informé du stade de traitement des données par le module 30 sécurisé et ne peut donc pas s'assurer du bon traitement par le module sécurisé.Indeed, during a loss of communication the server is not able to know the parts of the installation script that were received by the secure module. In addition, it is essential to prevent the writing of duplicate parts of the installation script at the risk of causing the failure of the secure module. In addition, securing the secure channel according to the SCP03 (Secure 20 Channel Protocol 03) protocol is ensured by the encryption of the installation script data based on session encryption keys and a counter sealed in the circuit. integrated, and the rotation of the counter is controlled at each APDU command of the installation script.For its implementation, the rotation must be synchronized between the server and the secure module.But, when a communication loss the server It can not resume data encryption and transmission and guarantee the synchronization of the encryption.In case of desynchronization the processing of the data of the installation script by the secure module is made impossible.For this, the error management protocol provides the erase all data and then completely reset the provisioning process, and the server is not informed about the processing stage of The data is provided by the secure module 30 and therefore can not ensure proper processing by the secure module.

3037167 3 Il existe donc un besoin de palier les problèmes précités. Plus précisément, l'invention concerne un procédé de provisionnement d'un script d'installation préparé par un serveur pour un module sécurisé à communication sans fil. Selon l'invention, le procédé comprend les étapes successives suivantes : 5 - la préparation par le serveur du script d'installation de sorte qu'il soit divisé en une pluralité de blocs d'instructions; - la transmission d'au moins un premier bloc du serveur au module sécurisé via la communication sans fil; - le traitement du premier bloc par le module sécurisé ; 10 - la notification d'un statut du traitement du premier bloc par le module sécurisé au serveur ; - la transmission d'un deuxième bloc du serveur au module sécurisé ou la répétition de la transmission du premier bloc en fonction du statut du traitement du premier bloc ; - la finalisation du provisionnement lorsque le module sécurisé a exécuté avec succès le 15 traitement de la pluralité des blocs. En variante, le procédé comprend en outre une étape de création d'une table de description de la pluralité des blocs de données par le serveur, la transmission de la table du serveur au module sécurisé et la lecture de la table par le module sécurisé pour le traitement d'au moins le premier bloc.There is therefore a need to overcome the aforementioned problems. More specifically, the invention relates to a method of provisioning an installation script prepared by a server for a secure wireless communication module. According to the invention, the method comprises the following successive steps: the preparation by the server of the installation script so that it is divided into a plurality of instruction blocks; - the transmission of at least a first block of the server to the secure module via wireless communication; the processing of the first block by the secure module; 10 - the notification of a status of the processing of the first block by the secure module to the server; - The transmission of a second block of the server to the secure module or the repetition of the transmission of the first block according to the processing status of the first block; the finalization of the provisioning when the secure module has successfully executed the processing of the plurality of blocks. Alternatively, the method further comprises a step of creating a table of description of the plurality of data blocks by the server, the transmission of the server table to the secure module and the reading of the table by the secure module for the treatment of at least the first block.

20 Avantageusement, le traitement du premier bloc comprend au moins l'écriture du premier bloc dans une mémoire volatile du module sécurisé. Avantageusement, le procédé comprend en outre une étape préalable de détermination de la capacité de la mémoire volatile du module sécurisé de sorte que lors de la préparation du script d'installation la taille des blocs est dimensionnée pour correspondre à la capacité de la mémoire 25 volatile. Plus précisément, les blocs comprennent chacun une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4.Advantageously, the processing of the first block comprises at least the writing of the first block in a volatile memory of the secure module. Advantageously, the method further comprises a preliminary step of determining the capacity of the volatile memory of the secure module so that during the preparation of the installation script the size of the blocks is sized to correspond to the capacity of the volatile memory. . Specifically, the blocks each include a sequence of APDU command instructions in accordance with ISO / IEC 7816-4.

3037167 4 De préférence, le traitement du premier bloc comprend également l'exécution de la séquence de commandes APDU pour l'écriture de données dans une mémoire non-volatile du module sécurisé. De préférence, la notification du statut du traitement du premier bloc comprend au 5 moins le statut de l'exécution de la séquence de commandes APDU. Selon une variante, le procédé comprend en outre une étape de chiffrement de la pluralité des blocs par le serveur pour une vérification d'intégrité et/ou d'une signature par le module sécurisé. Selon une variante, le chiffrement du premier bloc est exécuté au moyen d'une clé de 10 chiffrement et d'une première valeur d'un compteur et le chiffrement du deuxième bloc est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du compteur. L'invention prévoit également un module sécurisé à communication sans fil pour l'exécution d'un script d'installation préparé par un serveur. Selon l'invention, le module sécurisé comprend : 15 - une interface pour la réception d'un premier bloc d'instructions parmi une pluralité de blocs constituant le script d'installation issu du serveur via la communication sans fil; - un moyen de calcul : a) pour le traitement d'au moins le premier bloc ; b) pour la détermination d'une notification d'un statut du traitement d'au moins le 20 premier bloc à destination du serveur pour autoriser la transmission d'un deuxième bloc et pour finaliser le provisionnement du script lorsque le traitement de la pluralité des blocs par le module sécurisé a été exécuté avec succès. Selon une variante, il comprend un moyen de mémorisation d'une table de description de la pluralité des blocs et le moyen de calcul comprend également un moyen de lecture de la table 25 pour le traitement d'au moins le premier bloc. Selon une variante, il comprend en outre un moyen de mémorisation d'une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4 contenue dans au moins le premier bloc.Preferably, the processing of the first block also comprises executing the APDU command sequence for writing data into a non-volatile memory of the secure module. Preferably, the notification of the processing status of the first block comprises at least the status of the execution of the APDU command sequence. According to a variant, the method further comprises a step of encrypting the plurality of blocks by the server for an integrity check and / or a signature by the secure module. According to one variant, the encryption of the first block is executed by means of an encryption key and a first value of a counter and the encryption of the second block is executed by means of the encryption key and a second counter value. The invention also provides a secure wireless communication module for executing an installation script prepared by a server. According to the invention, the secure module comprises: an interface for receiving a first block of instructions from among a plurality of blocks constituting the installation script from the server via the wireless communication; a calculation means: a) for processing at least the first block; b) for determining a notification of a processing status of at least the first block to the server to allow the transmission of a second block and to finalize the provisioning of the script when processing the plurality of blocks by the secure module has been executed successfully. According to one variant, it comprises means for storing a description table of the plurality of blocks and the calculation means also comprises a reading means of the table 25 for processing at least the first block. According to a variant, it further comprises means for storing a sequence of APDU command instructions in accordance with the ISO / IEC 7816-4 standard contained in at least the first block.

3037167 5 Le moyen de calcul comprend au moins un moyen d'exécution de la séquence de commandes APDU pour l'écriture de données dans une mémoire non-volatile. Selon une variante, la notification du statut du traitement d'au moins le premier bloc comprend au moins le statut de la mémorisation de la séquence d'instruction de commandes APDU 5 et/ou le statut de l'exécution de la séquence de commandes APDU. De préférence, le moyen de calcul comprend également un moyen de vérification de l'intégrité et/ou d'une signature d'au moins le premier bloc. L'invention prévoit également un serveur de provisionnement d'un script d'installation pour un module sécurisé à communication sans fil comprenant un moyen de préparation du script 10 d'installation et une interface pour la transmission du script au module sécurisé via la communication sans fil. Selon l'invention, le moyen de préparation est apte à préparer le script d'installation de sorte qu'il soit divisé en une pluralité de blocs d'instructions et l'interface comprend un moyen pour autoriser la transmission d'un deuxième bloc en fonction d'une notification de statut de traitement 15 d'un premier bloc émise par le module sécurisé. Selon une variante, le moyen de préparation est apte à créer une table de description de la pluralité des blocs de données par le serveur et l'interface est apte à transmettre la table de description au module sécurisé. De préférence, le serveur comprend en outre un moyen de chiffrement de la pluralité 20 des blocs pour une vérification d'intégrité et/ou d'une signature par le module sécurisé. Selon une variante, le chiffrement du premier bloc est exécuté au moyen d'une clé de chiffrement et d'une première valeur d'un compteur et le chiffrement du deuxième bloc Bj est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du compteur. Grâce à l'invention, le procédé de provisionnement réduit le temps d'exécution de 25 l'installation d'un applicatif dans le module sécurisé lorsqu'une coupure de connexion ou une erreur intervient, notamment pour la gestion de l'interruption et pour la reprise de l'installation. Le procédé permet par ailleurs de réduire les ressources requises par le serveur et l'exposition à une perte de connexion d'une communication entre le serveur et le module sécurisé.The calculating means comprises at least one means for executing the APDU command sequence for writing data into a non-volatile memory. According to one variant, the notification of the processing status of at least the first block comprises at least the status of the storage of the APDU command instruction sequence and / or the status of the execution of the APDU command sequence. . Preferably, the calculating means also comprises means for verifying the integrity and / or signature of at least the first block. The invention also provides a server for provisioning an installation script for a secure wireless communication module comprising means for preparing the installation script and an interface for transmitting the script to the secure module via the communication without thread. According to the invention, the preparation means is capable of preparing the installation script so that it is divided into a plurality of instruction blocks and the interface comprises means for authorizing the transmission of a second block by function of a processing status notification of a first block issued by the secure module. According to one variant, the preparation means is able to create a table for describing the plurality of data blocks by the server and the interface is able to transmit the description table to the secure module. Preferably, the server further comprises means for encrypting the plurality of blocks for integrity checking and / or signature by the secure module. According to one variant, the encryption of the first block is executed by means of an encryption key and a first value of a counter and the encryption of the second block Bj is executed by means of the encryption key and a second counter value. Thanks to the invention, the provisioning method reduces the execution time of the installation of an application in the secure module when a connection break or an error occurs, in particular for the management of the interruption and for the resumption of the installation. The method also reduces the resources required by the server and the exposure to a loss of connection of a communication between the server and the secure module.

3037167 6 Il permet également de réduire le temps d'occupation du réseau de communication pour l'installation d'un applicatif Ceci est avantageux lors d'un provisionnement collectif. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description détaillée qui suit comprenant des modes de réalisation de 5 l'invention donnés à titre d'exemples nullement limitatifs et illustrés par les dessins annexés, dans lesquels : - la figure 1 représente les entités électroniques opérant lors du provisionnement et l'exécution d'un script d'installation pour un module sécurisé ; - la figure 2 représente l'entité fonctionnelle d'un serveur en charge de la préparation 10 d'un script d'installation pour un module sécurisé ; - la figure 3 représente l'entité fonctionnelle d'un serveur en charge du transport de données entre un serveur et un module sécurisé ; - la figure 4 représente le module sécurisé destiné à recevoir et exécuter le script d'installation préparé par le serveur ; 15 - la figure 5 représente une première séquence du flux d'étapes du procédé de provisionnement du script d'installation ; - la figure 6 représente une deuxième séquence du flux d'étapes du procédé de provisionnement du script d'installation lorsqu'une coupure de communication intervient entre le serveur et le module sécurisé ; 20 L'invention s'adresse aux systèmes de provisionnement d'applicatifs sécurisés pour un module sécurisé via une communication sans fil. Le provisionnement intervient pour l'installation ou la mise à jour d'un applicatif. On entend par applicatif sécurisé une application logicielle, par exemple de type « APPLET » (terminologie couramment utilisée en langage français et anglais) ou « API » pour « Application Programmable Interface » en anglais (par exemple en langage JAVA), un simple fichier 25 contenant des données, ou un environnement applicatif (par exemple JAVA CARD) destiné à être exécuté dans un module sécurisé de type eUICC, UICC ou eSE. Ces applicatifs sécurisés sont installés dans le module sécurisé au moyen d'un script d'installation préparé dans un serveur distant à partir de données informatives liées au souscripteur, de mécanismes de sécurités propres à l'opérateur du service et de l'applicatif exécutable dans le module sécurisé.3037167 6 It also makes it possible to reduce the time of occupation of the communication network for the installation of an application This is advantageous during a collective provisioning. Other features and advantages of the present invention will appear more clearly upon reading the following detailed description comprising embodiments of the invention given as non-limiting examples and illustrated by the accompanying drawings, in which: FIG. 1 represents the electronic entities operating during the provisioning and the execution of an installation script for a secure module; FIG. 2 represents the functional entity of a server in charge of preparing an installation script for a secure module; FIG. 3 represents the functional entity of a server in charge of transporting data between a server and a secure module; FIG. 4 represents the secure module intended to receive and execute the installation script prepared by the server; FIG. 5 represents a first sequence of the flow of steps of the method of provisioning the installation script; FIG. 6 represents a second sequence of the flow of steps of the method of provisioning the installation script when a communication break occurs between the server and the secure module; The invention is directed to secure application provisioning systems for a secure module via wireless communication. Provisioning occurs for installing or updating an application. Secure application means a software application, for example of the "APPLET" type (terminology commonly used in French and English language) or "API" for "Application Programmable Interface" in English (for example in JAVA), a simple file 25 containing data, or an application environment (for example JAVA CARD) intended to be executed in a secure module of eUICC, UICC or eSE type. These secure applications are installed in the secure module by means of an installation script prepared in a remote server from informational data related to the subscriber, security mechanisms specific to the operator of the service and the executable application in the secure module.

3037167 7 Dans une variante, le script d'installation est un fichier orienté « Commande ». La figure 1 représente un système comprenant un module sécurisé MS et un serveur distant SV pour le provisionnement d'applicatifs sécurisés destinés à être hébergés et exécutés par le module sécurisé MS. Le système de provisionnement opère le provisionnement de fichiers de profils 5 de souscripteur à un service de téléphonie mobile pour un opérateur de téléphonie 14 (couramment appelé MNO pour « Mobile Network Operator » en anglais). Un fichier de profils de souscripteur est installé dans le module sécurisé dans un domaine sécurisé, appelé également par l'acronyme ISD-P conformément à la spécification technique GSMA précitée. On rappelle que l'invention ne se limite pas à l'installation de fichier de souscripteur à 10 un réseau de communication cellulaire. On notera que la spécification technique GSMA « Remote Provisioning Architecture for Embedded UICC », version 2.0 du 12 octobre 2014, fournit des spécifications au chapitre 3.1 pour l'installation d'un profil opérateur dans un module sécurisé. Le module sécurisé MS est une entité électronique par exemple un circuit embarqué 15 sécurisé, une carte de circuit intégré universelle et embarquée eUICC, ou une carte de circuit intégré et universelle amovible de type SIM. Le module sécurisé MS est généralement hébergé dans un terminal, par exemple un lecteur, un téléphone mobile ou tout appareil électronique requérant l'utilisation du module sécurisé pour l'opération de services sécurisés. Dans cette description le module sécurisé MS est une carte de circuit intégré universelle 20 et embarquée eUICC. Le module sécurisé MS est hébergé dans un terminal (non représenté sur la figure 1) comprenant des moyens de communication sans fil 12 pour l'échange des données avec le serveur distant SV. Les moyens de communications sans fil sont par exemple un émetteur/récepteur de signaux de communication de téléphonie cellulaire permettant la communication de messages (SMS 25 pour « Short Message Service » en anglais), la communication à protocole de transfert hypertext (HTTPS pour « Hypertext Transfet Protocol Secure » en anglais) ou la communication à protocole CAT-TP (« Card Application Toolkit Transport Protocol » en anglais). D'autres moyens de communication sans fil entre le module sécurisé et le serveur distant SV sont envisageables, par exemple via un réseau de communication à moyenne distance 30 WIFI selon la norme IEEE 802.11 ou une communication sans fil courte distance de type NFC (« Near 3037167 8 Field Communication » en anglais). Dans ce dernier cas, on peut envisager que le serveur soit connecté à un terminal de provisionnement délocalisé du centre de données à des fins de provisionnement dans un lieu public. Le serveur distant de provisionnement SV comprend un moyen de préparation 10 d'un 5 script d'installation et une interface 11 pour assurer la transmission de données avec le module sécurisé. La figure 2 et la figure 3 représentent respectivement le moyen de préparation 10 du script d'installation et l'interface 11 du serveur SV. La figure 2 décrit le moyen de préparation 10 du script d'installation. Selon la spécification technique GSMA précitée le moyen de préparation 10 est désigné par l'acronyme 10 SM_DP pour « Subscription Manager Data Preparation »). Le moyen de préparation 10 est mis en opération par un calculateur, des mémoires et des fonctions logicielles. Le moyen de préparation 10 prépare les données à transmettre et à installer dans le module sécurisé MS. Le moyen de préparation 10 comprend un moyen 106 pour préparer des scripts d'installation 105 à exécuter dans un module sécurisé MS pour l'installation d'une application telle 15 que mentionnée précédemment. Un script d'installation 105 est par exemple une séquence d'instructions de commandes APDU pour l'échange de données entre le terminal et le module sécurisé MS conformément à la norme ISO/IEC 7816-4. Le script d'installation 105 est un fichier orienté « Commande ». Une commande est par exemple une commande STORE DATA.In a variant, the installation script is a file oriented "Command". FIG. 1 represents a system comprising a secure module MS and a remote server SV for the provisioning of secure applications intended to be hosted and executed by the secure module MS. The provisioning system operates subscriber profiles file provisioning to a mobile telephony service for a telephony operator 14 (commonly referred to as MNO for "Mobile Network Operator"). A subscriber profile file is installed in the secure module in a secure domain, also referred to by the acronym ISD-P according to the aforementioned GSMA technical specification. It is recalled that the invention is not limited to the installation of subscriber files in a cellular communication network. Note that the GSMA "Remote Provisioning Architecture for Embedded UICC" technical specification, version 2.0 of October 12, 2014, provides specifications in chapter 3.1 for the installation of an operator profile in a secure module. The secure module MS is an electronic entity, for example a secure embedded circuit, an integrated universal circuit board EUICC, or a removable SIM universal integrated circuit card. The secure module MS is generally hosted in a terminal, for example a reader, a mobile phone or any electronic device requiring the use of the secure module for the operation of secure services. In this description the secure module MS is a universal integrated circuit board 20 and embedded eUICC. The secure module MS is hosted in a terminal (not shown in Figure 1) comprising wireless communication means 12 for the exchange of data with the remote server SV. The wireless communication means are, for example, a cell phone communication signal transmitter / receiver enabling message communication (SMS for "Short Message Service" in English), hypertext transfer protocol communication (HTTPS for "Hypertext"). Transfet Protocol Secure ") or CAT-TP (" Card Application Toolkit Transport Protocol ") communication. Other means of wireless communication between the secure module and the remote server SV can be envisaged, for example via a 30 WIFI medium-distance communication network according to the IEEE 802.11 standard or a short-distance wireless communication type NFC ("Near"). 3037167 8 Field Communication "). In the latter case, it can be envisaged that the server is connected to a delocalized provisioning terminal of the data center for provisioning purposes in a public place. The SV Provisioning Remote Server includes means for preparing an installation script and an interface 11 for providing data transmission with the secure module. FIG. 2 and FIG. 3 respectively represent the means 10 for preparing the installation script and the interface 11 for the server SV. Figure 2 describes the preparation means 10 of the installation script. According to the aforementioned GSMA technical specification, the preparation means 10 is designated by the acronym 10 SM_DP for "Subscription Manager Data Preparation"). The preparation means 10 is put into operation by a computer, memories and software functions. The preparation means 10 prepares the data to be transmitted and installed in the secure module MS. The preparation means 10 comprises means 106 for preparing installation scripts 105 to be executed in a secure module MS for the installation of an application as mentioned above. An installation script 105 is for example a sequence of APDU command instructions for the exchange of data between the terminal and the secure module MS in accordance with the ISO / IEC 7816-4 standard. The installation script 105 is a command-oriented file. A command is for example a STORE DATA command.

20 Dans le cadre de l'invention, le moyen 106 à partir d'informations de configuration provenant de l'opérateur 14 prépare à la volée un script d'installation 101 divisé en une pluralité de blocs d'instructions B1 à Bn pour être transmis au module sécurisé MS. La pluralité de blocs peut être au nombre de deux blocs au minimum ou plus. La quantité de blocs est déterminée en fonction de la taille mémoire du script d'installation 101 et de l'espace de la mémoire tampon du module sécurisé.In the context of the invention, the means 106 from configuration information from the operator 14 prepares on the fly an installation script 101 divided into a plurality of instruction blocks B1 to Bn for transmission. to the secure module MS. The plurality of blocks can be two or more blocks apart. The amount of blocks is determined according to the memory size of the installation script 101 and the buffer space of the secure module.

25 Le contenu du script d'installation 101 est similaire au script d'installation 105. Il s'agit généralement d'un fichier orienté « commande ». Dans une variante, si le script d'installation est déjà préparé avant la requête de provisionnement, par exemple un script 105 déjà préparé et mémorisé dans le moyen de préparation 10 du serveur SV, le script d'installation 105 est traité de sorte à obtenir un script d'installation 101 30 divisé en la pluralité de blocs d'instructions. Un script d'installation 105 déjà préparé est alors divisé (fragmenté) en une pluralité de blocs d'instructions.The content of the installation script 101 is similar to the installation script 105. This is usually a command-oriented file. In a variant, if the installation script is already prepared before the provisioning request, for example a script 105 already prepared and stored in the preparation means 10 of the server SV, the installation script 105 is processed so as to obtain an installation script 101 divided into the plurality of instruction blocks. An already prepared installation script 105 is then split (fragmented) into a plurality of instruction blocks.

3037167 9 On notera que la taille des blocs est déterminée préalablement à partir d'un fichier d'informations descriptives du module sécurisé connu de l'interface 11 du serveur distant SV. Pour cela, le serveur SV doit être renseigné avec une information décrivant la taille de la mémoire tampon du module sécurisé MS. Cette information est par exemple enregistrée dans le fichier descriptif du 5 module sécurisé (appelée EIS pour « eUICC Information Set » selon la spécification technique GSMA précitée). Par exemple, la taille mémoire maximum d'un bloc peut être déterminée par la commande getElS d'une application d'interface API décrite dans la spécification technique de la norme GSMA précitée. Cette commande intervient pour les communications du serveur, entre le 10 moyen de préparation 10 et l'interface 11 ou entre le moyen de préparation 10 et une autre une entité externe, par exemple un serveur d'opérateur de téléphonie. Le plus souvent, la séquence d'instructions de commandes APDU d'un bloc est dépendante de la séquence du bloc précédent et du bloc suivant. Il est donc prévu que la transmission des blocs suive un ordre prédéterminé par le moyen de préparation 10.It will be noted that the size of the blocks is determined beforehand from a descriptive data file of the known secure module of the interface 11 of the remote server SV. For this, the server SV must be filled with information describing the size of the buffer of the secure module MS. This information is for example recorded in the descriptive file of the secure module (called EIS for "eUICC Information Set" according to the aforementioned GSMA technical specification). For example, the maximum memory size of a block can be determined by the getElS command of an API application described in the technical specification of the GSMA standard mentioned above. This command intervenes for the server communications, between the preparation means 10 and the interface 11 or between the preparation means 10 and another external entity, for example a telephony operator server. Most often, the sequence of instructions APDU commands of a block is dependent on the sequence of the previous block and the next block. It is therefore expected that the transmission of the blocks follows a predetermined order by the preparation means 10.

15 Eventuellement, on peut envisager que des blocs indépendants les uns de autres puissent être alternés lors de la transmission durant le provisionnement. De plus, le moyen de préparation 10 comprend un moyen de chiffrement de la pluralité des blocs d'instructions B1 à Bn pour une vérification d'intégrité et/ou d'une signature par le module sécurisé MS. Parallèlement, on prend l'hypothèse que le module sécurisé MS a été chargé lors de sa 20 fabrication avec des certificats nécessaires pour l'exécution des vérifications cryptographiques. Par ailleurs, il est préférable que le moyen de chiffrement opère également un processus d'authentification mutuelle avec le module sécurisé MS pour établir une communication sécurisée avant la transmission d'un bloc de données et opère le chiffrement des blocs d'instructions pour cacher les données à un tiers non autorisé.Optionally, it can be envisaged that blocks independent of each other can be alternated during transmission during provisioning. In addition, the preparation means 10 comprises means for encrypting the plurality of instruction blocks B1 to Bn for an integrity check and / or a signature by the secure module MS. At the same time, it is assumed that the secure module MS was loaded during its manufacture with the necessary certificates for the execution of the cryptographic checks. Furthermore, it is preferable that the encryption means also perform a mutual authentication process with the secure module MS to establish a secure communication before the transmission of a data block and operates the encryption of the instruction blocks to hide the data. data to an unauthorized third party.

25 Par exemple, le moyen de chiffrement est conforme à la spécification technique SCP03 décrite dans le document « Global Platform Card Technology - Secure Channel Protocol 03 - Card Specification V2.2 Amendment D », version 1.1.1, july 2014. Ce processus de chiffrement implique l'utilisation de clés de chiffrement dont la rotation est assurée par un compteur, tous deux scellés dans la carte à circuit intégré du module sécurisé MS.For example, the encryption means is in accordance with the technical specification SCP03 described in the document "Global Platform Card Technology - Secure Channel Protocol 03 - Card Specification V2.2 Amendment D", version 1.1.1, July 2014. encryption involves the use of encryption keys which are rotated by a counter, both of which are sealed in the integrated circuit card of the secure module MS.

30 Dans le cadre de l'invention, le chiffrement d'un premier bloc est exécuté au moyen de la clé de 3037167 10 chiffrement et d'une première valeur d'un compteur et le chiffrement d'un deuxième bloc est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du compteur. De son côté, le module sécurisé MS comprend des moyens de chiffrement permettant de procéder à la vérification des blocs d'instructions issus du serveur SV. Par exemple, ces moyens de 5 chiffrement hébergés par le module sécurisé sont conformes à la spécification technique SCP03 précitée. Il est envisageable en variante que la rotation du chiffrement soit opérée par une fonction de diversification de type pseudo-aléatoire, l'algorithme de diversification pouvant opéré en parallèle de façon synchronisée du côté du serveur et du module sécurisé.In the context of the invention, the encryption of a first block is executed by means of the encryption key and a first value of a counter and the encryption of a second block is executed by means of the encryption key and a second counter value. For its part, the secure module MS includes encryption means to proceed to the verification of the instruction blocks from the server SV. For example, these means of encryption hosted by the secure module are in accordance with the aforementioned technical specification SCP03. It is conceivable that the rotation of the encryption is operated by a pseudo-random diversification function, the diversification algorithm being operated in parallel synchronously on the side of the server and the secure module.

10 Par ailleurs, en parallèle de la préparation du script d'installation 101, on peut envisager que le moyen de préparation 10 comprenne un moyen de création 104 d'une table de description 102 des blocs B1 à Bn formant le script d'installation 101. La table de description 102 est destinée à être transmise au module sécurisé MS pour le traitement des blocs d'instructions B1 à Bn. La table de description 102 peut comprendre tout ou partie des informations suivantes 15 pour chaque bloc : - la liste des blocs B1 à Bn constituant le script d'installation 101; - la taille mémoire d'un bloc; - une adresse d'accès pour demander le provisionnement du bloc (par exemple URL pour « Uniform Resource Locator » en anglais) ; 20 - la position d'un bloc dans la séquence d'instruction des commandes ; - un cryptogramme de sécurité par bloc d'instructions (appelé « Digest » ou « hash » en anglais) pour une vérification d'intégrité et/ou de signature du bloc, ainsi que la méthode de chiffrement utilisée. Dans une variante, on peut également envisager que chaque bloc contienne ces 25 informations descriptives mentionnées ci-avant pour éviter de recourir à la transmission de la table de description 102.Furthermore, in parallel with the preparation of the installation script 101, it can be envisaged that the preparation means 10 comprise means 104 for creating a description table 102 of the blocks B1 to Bn forming the installation script 101. The description table 102 is intended to be transmitted to the secure module MS for the processing of the instruction blocks B1 to Bn. The description table 102 may comprise all or part of the following information for each block: the list of blocks B1 to Bn constituting the installation script 101; - the memory size of a block; an access address for requesting the provisioning of the block (for example URL for "Uniform Resource Locator"); The position of a block in the instruction sequence of the commands; - A security cryptogram by block of instructions (called "Digest" or "hash" in English) for an integrity check and / or signature of the block, as well as the encryption method used. In a variant, it may also be envisaged that each block contains these descriptive information mentioned above to avoid resorting to the transmission of the description table 102.

3037167 11 En outre, le serveur 10 comprend des moyens pour communiquer l'ensemble d'installation 103 préparé par le moyen de préparation 10 à l'interface 11, l'ensemble d'installation 103 contenant le script d'installation 101 divisé en blocs et la table de description 102. La figure 3 décrit plus précisément, l'interface 11 du serveur SV. Selon la spécification 5 technique GSMA précitée l'interface 11 est désignée par l'acronyme SM_SR pour « Subscription Manager Secure Routing » en anglais). L'interface assure la transmission du script d'installation 101, divisé en blocs d'instructions prédéterminés par le moyen de préparation 10. L'interface 11 assure le transport des données via la communication sans fil 12 à destination du module sécurisé MS. Dans le cas de la variante du procédé de provisionnement comprenant une étape de 10 création de la table de description 102 des blocs B1 à Bn, l'interface 11 assure la transmission de la table de description 102 au module sécurisé MS. Le script d'installation 101, et la table de description 102 des blocs du script d'installation 101 le cas échéant, est transmis du moyen de préparation 10 à l'interface 11 pour la transmission au module sécurisé MS.In addition, the server 10 comprises means for communicating the installation set 103 prepared by the preparation means 10 to the interface 11, the installation set 103 containing the installation script 101 divided into blocks. and the description table 102. FIG. 3 more precisely describes the interface 11 of the server SV. According to the aforementioned GSMA technical specification, the interface 11 is designated by the acronym SM_SR for "Subscription Manager Secure Routing". The interface provides the transmission of the installation script 101, divided into predetermined instruction blocks by the preparation means 10. The interface 11 ensures the transport of data via the wireless communication 12 to the secure module MS. In the case of the variant of the provisioning method comprising a step of creating the description table 102 of the blocks B1 to Bn, the interface 11 ensures the transmission of the description table 102 to the secure module MS. The installation script 101, and the description table 102 of the blocks of the installation script 101, if any, is transmitted from the preparation means 10 to the interface 11 for transmission to the secure module MS.

15 On notera que l'interface 11 est renseignée avec des informations spécifiques relatives au module sécurisé MS et on peut envisager que celle-ci soit additionnée par des informations supplémentaires non renseignée dans le moyen de préparation 10. L'interface 11 comprend également des moyens de mémorisation pour l'enregistrement temporaire du script d'installation 101 et la table de description 102 des blocs du script d'installation 20 101 le cas échéant, en attente de l'exécution du procédé de provisionnement. Par ailleurs, l'interface 11 comprend un moyen 111 pour autoriser la transmission d'un bloc en fonction d'une notification 112 de statut de traitement d'un bloc émise par le module sécurisé MS. Il s'agit d'une fonction logicielle de vérification du serveur SV visant à contrôler que le traitement du bloc d'instructions précédemment envoyé au module sécurisé MS a été exécuté avec 25 succès. Le moyen 111 permet au serveur SV d'identifier le dernier bloc d'instruction qui a été traité avec succès, d'une part pour autoriser la transmission du bloc suivant parmi la pluralité de blocs d'instruction B1 à Bn, et d'autre part pour déterminer l'avancement du procédé de provisionnement du script d'installation en cas de perte de connexion. Une fois la connexion 30 revenue, le serveur peut reprendre le procédé de provisionnement au bloc qui est positionné à la 3037167 12 suite du dernier bloc traité avec succès en réponse à une requête de transmission de blocs émise par le module sécurisé MS. Le moyen 111 de vérification du traitement d'un bloc d'instruction par le module sécurisé offre un autre avantage dans le cas particulier d'un script d'installation comprenant les 5 commandes APDU. On notera que le moyen de vérification 111 assure la chronologie de traitement des blocs d'instructions. De plus, le moyen 111 assure la synchronisation d'un compteur du processus de chiffrement des blocs d'instructions entre le serveur SV et le module sécurisé MS. En effet, le processus de chiffrement opère une rotation du compteur lors du provisionnement des blocs 10 d'instruction et le moyen 111 autorise également la rotation du compteur en fonction de la notification 112. En cas de succès du traitement d'un bloc d'instructions par le module sécurisé MS, le moyen 111 déclenche la rotation du compteur ou de la fonction de diversification. Le moyen de préparation 10 et l'interface 11 du serveur SV sont des fonctions logicielles 15 exécutées par la même architecture matérielle, ou dans une autre variante peuvent être opérées dans des entités matérielles distinctes. Des moyens de communications, filaires ou sans fil (HTTPS par exemple), permettent la communication de données de façon sécurisée. Le serveur est une entité électronique à processeur exécutant des fonctions logicielles. Il peut être envisagé dans une variante d'architecture que l'opérateur de téléphonie 20 cellulaire héberge l'ensemble serveur SV et le serveur 14 au sein d'une même entité électronique. La figure 4 représente le module sécurisé MS. Le module sécurisé MS communique avec le serveur SV via une communication sécurisée 12. Le module sécurisé MS est une entité électronique à processeur de calcul et mémoires électroniques, de type UICC, eUICC ou eSE. Le module sécurisé MS comprend une mémoire tampon volatile pour la mémorisation 25 temporaire des blocs d'instructions B1 à Bn du script d'installation 101 en attente de leur exécution et une mémoire non-volatile pour la mémorisation des données résultant de l'exécution du script d'installation, un profil opérateur MNO, ou plus généralement d'un applicatif tel que décrit précédemment.It will be noted that the interface 11 is filled with specific information relating to the secure module MS and it is conceivable that it is added by additional information not provided in the preparation means 10. The interface 11 also comprises means storing for the temporary recording of the installation script 101 and the description table 102 of the blocks of the installation script 101 101 if necessary, waiting for the execution of the provisioning method. Furthermore, the interface 11 comprises means 111 for authorizing the transmission of a block according to a notification 112 of processing status of a block issued by the secure module MS. This is an SV server verification software function to control that the processing of the instruction block previously sent to the secure module MS has been successfully executed. The means 111 allows the server SV to identify the last instruction block that has been successfully processed, firstly to allow the transmission of the next block among the plurality of instruction blocks B1 to Bn, and other part to determine the progress of the process of provisioning the installation script in case of loss of connection. Once the connection has returned, the server can resume the block provisioning process that is set up following the last block successfully processed in response to a block transmission request issued by the secure module MS. The means 111 for verifying the processing of an instruction block by the secure module offers another advantage in the particular case of an installation script comprising the 5 APDU commands. It will be noted that the verification means 111 provides the processing chronology of the instruction blocks. In addition, the means 111 ensures the synchronization of a counter of the instruction block encryption process between the server SV and the secure module MS. Indeed, the encryption process operates a rotation of the counter during the provisioning of the instruction blocks 10 and the means 111 also allows the rotation of the counter according to the notification 112. In case of successful processing of a block of instructions by the secure module MS, the means 111 triggers the rotation of the counter or the diversification function. The preparation means 10 and the interface 11 of the SV server are software functions executed by the same hardware architecture, or in another variant can be operated in separate hardware entities. Communications means, wired or wireless (HTTPS for example), allow the communication of data in a secure manner. The server is a processor-based electronic entity executing software functions. It can be envisioned in an architecture variant that the cellular operator hosts the SV server set and the server 14 within the same electronic entity. Figure 4 shows the secure module MS. The secure module MS communicates with the server SV via secure communication 12. The secure module MS is an electronic entity with a computing processor and electronic memories, of the UICC, eUICC or eSE type. The secure module MS comprises a volatile buffer for the temporary storage of the instruction blocks B1 to Bn of the installation script 101 waiting for their execution and a non-volatile memory for storing the data resulting from the execution of the installation script, an MNO operator profile, or more generally an application as described above.

3037167 13 La mémoire tampon permet en outre la mémorisation d'une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4 contenue dans un bloc d'instruction B1 à Bn. Le module sécurisé comprend également un calculateur pour l'exécution d'instructions 5 de commandes, par exemple les commandes APDU. En outre, il comprend une interface 121 pour la réception des blocs d'instructions parmi la pluralité de blocs B1 à Bn constituant le script d'installation 101 issu du serveur SV via la communication sans fil. L'interface 121 du module sécurisé MS est prévue pour collaborer avec l'interface 11 du serveur SV. L'interface 121 est appelée également par l'acronyme ISD-R 10 conformément à la spécification technique GSMA précitée. Le calculateur opère le traitement des blocs B1, Bj, à Bn, ainsi que la détermination de la notification 112 du statut du traitement des blocs à destination du serveur SV pour autoriser la transmission des blocs suivants et pour finaliser le provisionnement du script 101 lorsque le traitement de la pluralité des blocs a été exécuté avec succès.The buffer memory furthermore makes it possible to store a sequence of instructions for APDU commands conforming to the ISO / IEC 7816-4 standard contained in an instruction block B1 to Bn. The secure module also includes a computer for executing command instructions, for example APDU commands. In addition, it comprises an interface 121 for receiving the instruction blocks from the plurality of blocks B1 to Bn constituting the installation script 101 from the server SV via the wireless communication. The interface 121 of the secure module MS is intended to collaborate with the interface 11 of the server SV. The interface 121 is also referred to by the acronym ISD-R 10 according to the aforementioned GSMA technical specification. The computer performs the processing of the blocks B1, Bj, Bn, and the determination of the notification 112 of the block processing status to the server SV to allow the transmission of the following blocks and to finalize the provisioning of the script 101 when the processing of the plurality of blocks has been successfully executed.

15 Dans une variante, la fonction de détermination de la notification 112 est une fonction logicielle de contrôle de commande APDU exécutées par le module sécurisé par exemple. Le traitement d'un bloc d'instructions correspond à la mémorisation d'un bloc d'instructions, par exemple une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4 contenue dans le bloc.In a variant, the notification determination function 112 is an APDU control control software function executed by the secure module for example. The processing of a block of instructions corresponds to the storage of a block of instructions, for example a sequence of instructions APDU commands compliant with ISO / IEC 7816-4 contained in the block.

20 De préférence, le traitement d'un bloc comprend également, en plus de la mémorisation d'un bloc d'instruction, l'exécution des commandes du bloc, par exemple l'exécution de la séquence de commandes APDU pour l'écriture de données dans une mémoire non-volatile. Le module sécurisé comprend par exemple un espace sécurisé 122 pour l'hébergement d'un domaine privatif de l'opérateur, ISD-P selon la norme GSMA précitée. Le traitement comprend 25 l'exécution de commande de type STORE DATA dans le module sécurisé, par exemple, pour l'installation d'un profil opérateur MNO. Pour assurer la sécurisation de l'exécution d'un script d'installation, le moyen de calcul du module sécurisé comprend également un moyen de vérification de l'intégrité et/ou d'une signature d'un bloc d'instruction du script d'installation 101.Preferably, the processing of a block also comprises, in addition to the storage of an instruction block, the execution of the commands of the block, for example the execution of the APDU command sequence for writing the block. data in a non-volatile memory. The secure module includes, for example, a secure space 122 for hosting a private domain of the operator, ISD-P according to the aforementioned GSMA standard. The processing includes the execution of STORE DATA type control in the secure module, for example, for the installation of an MNO operator profile. To ensure the security of the execution of an installation script, the secure module calculation means also comprises a means for verifying the integrity and / or a signature of an instruction block of the script of the security module. 101 installation.

3037167 14 Il convient de charger dans le module sécurisé lors de sa fabrication les certificats permettant l'opération de vérification de signatures, et les clés de chiffrement pour l'opération de vérification des « digest » ou « hash », correspondant à la terminologie courante anglaise pour des cryptogrammes de sécurité intervenant dans la vérification d'intégrité de données.3037167 14 It is advisable to load in the secure module during its manufacture the certificates allowing the operation of verification of signatures, and the encryption keys for the verification operation of "digest" or "hash", corresponding to the current terminology English for security cryptograms involved in the verification of data integrity.

5 Par ailleurs, les moyens de chiffrement du module sécurisé sont aptes à déchiffrer les blocs d'instructions du script d'installation 101 si ceux-ci sont préalablement chiffrés par le serveur, notamment dans le cadre d'un processus de sécurisation de type SCP03. On notera que les vérifications sont réalisées avant le l'exécution des blocs d'instructions par le module sécurisé.Furthermore, the encryption means of the secure module are capable of decrypting the blocks of instructions of the installation script 101 if they are previously encrypted by the server, in particular as part of a security process of the SCP03 type. . It should be noted that the checks are carried out before the execution of the blocks of instructions by the secure module.

10 Lorsqu'une table de description 102 des blocs d'instructions B1 à Bn est transmise avant la transmission d'un script d'installation 101, celle-ci est mémorisée temporairement dans le module sécurisé. Elle est lue à des fins de vérification de signature et/ou d'intégrité des blocs d'instruction et pour la détermination de la notification 112 du statut du traitement d'un bloc et la notification de fin du provisionnement.When a description table 102 of the instruction blocks B1 to Bn is transmitted before the transmission of an installation script 101, the latter is temporarily stored in the secure module. It is read for signature verification and / or instruction block integrity purposes and for determining notification 112 of the status of block processing and the termination notification of provisioning.

15 La figure 5 représente un flux d'étape du procédé de provisionnement d'un script d'installation 101 d'un serveur SV, comprenant le moyen 10 de préparation du script et l'interface 11, à un module sécurisé MS. Le procédé peut comprendre une première étape de détermination 500 de la capacité de la mémoire volatile du module sécurisé MS de sorte que lors de la préparation du script 20 d'installation la taille des blocs B1 à Bn est dimensionnée pour correspondre à la capacité de la mémoire volatile. Par exemple, les blocs d'instruction ont une taille mémoire d'environ 1 à 2Ko. Le moyen de préparation 10 envoie une requête d'interrogation à l'interface 11 qui est renseignée avec les informations descriptives du module sécurisé (type de processeur/calculateur, quantité de mémoire, interface etc..). Par exemple une requête getElS d'une application d'API peut 25 opérer l'étape de détermination 500. Le procédé procède ensuite à une deuxième étape de préparation 501 par le serveur SV du script d'installation 101 de sorte qu'il soit divisé en une pluralité de blocs d'instructions B1 à Bn. Comme indiqué précédemment dans la description, la préparation peut être exécutée soit à la volée, soit en modifiant la structure d'un script d'installation 105 déjà existant.FIG. 5 shows a step flow of the provisioning process of an installation script 101 of an SV server, comprising the script preparation means 10 and the interface 11, to a secure module MS. The method may comprise a first step 500 of determining the volatile memory capacity of the secure module MS so that during the preparation of the installation script the size of the blocks B1 to Bn is sized to match the capacity of the volatile memory. For example, instruction blocks have a memory size of about 1 to 2Ko. The preparation means 10 sends an interrogation request to the interface 11 which is filled with the descriptive information of the secure module (type of processor / calculator, amount of memory, interface, etc.). For example, a getElS request from an API application may perform the determination step 500. The method then proceeds to a second preparation step 501 by the server SV of the installation script 101 so that it is divided in a plurality of instruction blocks B1 to Bn. As previously indicated in the description, the preparation can be executed either on the fly or by modifying the structure of an existing installation script 105.

3037167 15 Par exemple, les blocs B1 à Bn comprennent chacun une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4. Les blocs forment une séquence d'écriture de données pour l'installation ou la mise à jour d'un applicatif sécurisé dans le module sécurisé MS. L'ordre d'exécution des blocs peut être une contrainte.For example, blocks B1 to Bn each include a sequence of APDU command instructions in accordance with ISO / IEC 7816-4. The blocks form a data write sequence for installing or updating a secure application in the secure module MS. The order of execution of the blocks can be a constraint.

5 Lors de la préparation 501, il est préférable à des fins de sécurisation du provisionnement que le procédé comprenne en outre une étape de chiffrement de la pluralité des blocs B1 à Bn par le serveur SV pour une vérification d'intégrité et/ou d'une signature par le module sécurisé MS. Il est également préférable que le chiffrement comprenne un traitement 10 cryptographique pour cacher les données des blocs d'instructions lors de la transmission au module sécurisé. Par exemple, le chiffrement est conforme aux spécifications SCP03. On notera dans ce dernier cas que le chiffrement d'un premier bloc B1 est exécuté au moyen d'une clé de chiffrement et d'une première valeur d'un compteur et le chiffrement d'un deuxième bloc Bj est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du 15 compteur. La rotation du compteur est exécutée lors de la préparation de chacun des blocs B1 à Bn. Dans une variante, le procédé peut prévoir en outre une troisième étape de création 502 d'une table de description 102 de la pluralité des blocs de données par le serveur SV. La table de description 102 contient les informations mentionnées ci-avant dans la description du serveur. Elle peut comprendre une indication temporelle d'exécution des blocs pour respecter la chronologie.In the preparation 501, it is preferable for purposes of securing the provisioning that the method further comprises a step of encrypting the plurality of blocks B1 to Bn by the server SV for an integrity check and / or a signature by the secure module MS. It is also preferable that the encryption include cryptographic processing to hide the data of the instruction blocks during transmission to the secure module. For example, the encryption complies with SCP03 specifications. Note in the latter case that the encryption of a first block B1 is executed by means of an encryption key and a first value of a counter and the encryption of a second block Bj is executed by means of the encryption key and a second value of the counter. The rotation of the counter is executed during the preparation of each of the blocks B1 to Bn. In a variant, the method may furthermore provide a third creation step 502 of a description table 102 of the plurality of data blocks by the server SV. The description table 102 contains the information mentioned above in the description of the server. It can include a temporal indication of execution of the blocks to respect the chronology.

20 Le procédé de provisionnement comprend ensuite une quatrième étape de transmission 503 de la table de description 102 à l'interface 11 du serveur SV. On peut envisager que le procédé comprenne une étape d'ajout par l'interface 11 d'informations descriptives à la table 102, par exemple une adresse d'accès (URL par exemple) à un bloc de d'instruction.The provisioning method then comprises a fourth transmission step 503 of the description table 102 at the interface 11 of the SV server. It can be envisaged that the method comprises a step of adding, via the interface 11, descriptive information to the table 102, for example an access address (URL for example) to a block of instructions.

25 A une cinquième étape, le procédé de provisionnement comprend une étape de demande par l'interface 11 du serveur SV d'une ouverture 504 de session d'une communication sécurisée avec le module sécurisé MS. Le déclenchement est opéré via une communication SMS ou HTTPS par exemple.In a fifth step, the provisioning method comprises a step of requesting via the interface 11 of the SV server a session opening 504 of a secure communication with the secure module MS. The trigger is operated via an SMS or HTTPS communication for example.

3037167 16 Ensuite, le procédé comprend une étape de la sollicitation par le module sécurisé MS d'une session de communication sécurisée avec le serveur SV via son interface 11, par exemple via un protocole d'authentification mutuelle prévu dans le processus SCP03. La sollicitation par le module sécurisé comprend une requête d'envoi du premier bloc 5 d'instructions B1 du serveur SV vers le module sécurisé, par exemple à l'adresse URL renseignée dans la table de description 102. Le procédé de provisionnement comprend ensuite une sixième étape 505 opérant la transmission via la communication sans fil 12 du premier bloc B1 du serveur SV au module sécurisé MS. La transmission est par exemple par communication HTTPS, SMS, ou CAT-TP. Le premier bloc est 10 renseigné au niveau de l'interface 11 du serveur SV, ou le cas échéant défini dans la table de description 102. Ensuite, le procédé de provisionnement comprend une septième étape de traitement 506 du premier bloc B1 par le module sécurisé MS. Il est prévu dans le procédé une étape de lecture de la table 102 par le module sécurisé MS pour le traitement 506 du premier bloc si la table de 15 description des blocs a été reçue. Plus précisément, le traitement 506 du premier bloc B1 comprend comprend une étape d'écriture du premier bloc B1 dans une mémoire volatile du module sécurisé MS. La mémoire volatile est la mémoire tampon du module sécurisé MS. Le premier bloc est mémorisé temporairement en attente de l'exécution des instructions. L'exécution est réalisée uniquement lorsque toutes les 20 commandes du bloc sont mémorisées par le module sécurisé MS. Lors du traitement 506, le procédé comprend également une étape de vérification du premier bloc d'intégrité, de la signature le cas échéant au moyen d'un certificat hébergé dans le module sécurisé, et le déchiffrement des données du blocs d'instructions si celles-ci ont été transmises cachées.Next, the method comprises a step of the solicitation by the secure module MS of a secure communication session with the server SV via its interface 11, for example via a mutual authentication protocol provided in the process SCP03. The solicitation by the secure module includes a request to send the first block of instructions B1 from the server SV to the secure module, for example to the URL address entered in the description table 102. The provisioning method then comprises a sixth step 505 operating the transmission via the wireless communication 12 of the first block B1 of the server SV to the secure module MS. The transmission is for example by HTTPS communication, SMS, or CAT-TP. The first block is filled at the level of the interface 11 of the server SV, or if necessary defined in the description table 102. Next, the provisioning method comprises a seventh processing step 506 of the first block B1 by the secure module MS. There is provided in the method a step of reading the table 102 by the secure module MS for the processing 506 of the first block if the block description table has been received. More specifically, the processing 506 of the first block B1 comprises comprises a step of writing the first block B1 in a volatile memory of the secure module MS. The volatile memory is the buffer of the secure module MS. The first block is temporarily stored waiting for the execution of the instructions. The execution is carried out only when all the 20 commands of the block are memorized by the secure module MS. During the processing 506, the method also comprises a step of verifying the first integrity block, the signature where appropriate by means of a certificate hosted in the secure module, and the decryption of the data of the instruction blocks if those These were transmitted hidden.

25 Dans une variante préférée, le procédé comprend lors du traitement 506, l'étape d'exécution des instructions du premier bloc B1, par exemple l'exécution de la séquence de commandes APDU pour l'écriture de données dans une mémoire non-volatile du module sécurisé MS. Dans une variante, les commandes APDU opèrent l'installation du profil de l'opérateur 30 MNO dans le module MS. Par exemple, selon les spécifications GSMA précitées l'exécution de la 3037167 17 séquence de commande APDU crée un domaine sécurisé 122 dans l'espace mémoire non-volatile appelé ISD-P. Le processus d'installation correspond au chapitre 3.1.3 de la spécification technique GSMA précitée. On notera que si l'espace de la mémoire tampon du module sécurisé le permet, dans 5 une variante du procédé, la pluralité des blocs B1 à Bn est mémorisée dans le module sécurisé puis l'exécution des blocs d'instructions est opérée. La table de description 102 permet de coordonner l'exécution des blocs d'instruction. Dans cette variante, le signal de notification de statut 112 du traitement est élaboré pour vérifier la mémorisation, l'intégrité et la signature de chaque bloc d'instruction.In a preferred variant, the method comprises during the processing 506, the step of executing the instructions of the first block B1, for example the execution of the APDU command sequence for writing data in a non-volatile memory of the secure module MS. In a variant, the APDU commands operate the installation of the MNO operator profile in the MS module. For example, according to the aforementioned GSMA specifications the execution of the APDU command sequence creates a secure domain 122 in the non-volatile memory space called ISD-P. The installation process corresponds to chapter 3.1.3 of the above mentioned GSMA technical specification. Note that if the buffer memory space of the secure module allows it, in one variant of the method, the plurality of blocks B1 to Bn is stored in the secure module and the execution of the instruction blocks is performed. The description table 102 makes it possible to coordinate the execution of the instruction blocks. In this variant, the status notification signal 112 of the processing is developed to check the storage, integrity and signature of each instruction block.

10 Une fois que le le traitement du premier bloc B1 est opéré avec succès, le procédé de provisionnement comprend une huitième étape de notification 507 du statut du traitement du premier bloc B1 par le module sécurisé MS au serveur SV. Le traitement et la détermination de la notification de statut sont élaborés par le calculateur du module sécurisé MS. La notification 507 à destination du serveur SV permet d'autoriser l'envoi du bloc 15 d'instructions suivant. Le contrôle du provisionnement du script d'installation est ainsi contrôlé et suivi par le module sécurisé MS. On notera que dans la variante correspondant à des blocs d'instruction de commandes APDU, la notification 507 du statut du traitement du premier bloc B1 comprend au moins le statut de l'exécution de la séquence de commandes APDU, par exemple des commandes de type STORE DATA.Once the processing of the first block B1 is successfully performed, the provisioning method comprises an eighth notification step 507 of the processing status of the first block B1 by the secure module MS to the server SV. The processing and the determination of the status notification are elaborated by the calculator of the secure module MS. Notification 507 to the SV server allows the sending of the next instruction block 15. Provisioning control of the installation script is thus controlled and monitored by the secure module MS. Note that in the variant corresponding to APDU command instruction blocks, the notification 507 of the processing status of the first block B1 comprises at least the status of the execution of the APDU command sequence, for example commands of the type STORE DATA.

20 La notification 507 peut comprendre une adresse d'accès au deuxième bloc d'instruction renseignée dans la table de description, le bloc d'instruction lui même, par exemple une adresse URL ou un numéro d'index que le module sécurisé MS va concaténer à une adresse URL de référence. Ensuite, le procédé prévoit une nouvelle étape de transmission 508 d'un deuxième bloc du serveur SV au module sécurisé MS. L'étape de traitement 506 et l'étape de notification 507 est 25 ensuite répétée pour le deuxième bloc et les blocs suivant tant que le traitement des blocs est exécuté avec succès par le module sécurisé. Enfin, les étapes de transmission 508, de traitement 509 et de notification 510 de statut de traitement des blocs sont exécutées jusqu'au dernier bloc Bn.The notification 507 may comprise an access address to the second instruction block indicated in the description table, the instruction block itself, for example a URL address or an index number that the secure module MS will concatenate. to a reference URL. Then, the method provides a new transmission step 508 of a second block of the server SV to the secure module MS. The processing step 506 and the notification step 507 are then repeated for the second block and subsequent blocks as long as the block processing is successfully executed by the secure module. Finally, the transmission steps 508, processing 509 and block processing status notification 510 are executed until the last block Bn.

3037167 18 Pour terminer, le procédé de provisionnement comprend une étape de finalisation du provisionnement lorsque le module sécurisé MS a exécuté avec succès le traitement de la pluralité des blocs B1 à Bn. Le module sécurisé termine la communication sécurisée avec le serveur. Sur réception de la notification de traitement du dernier bloc, l'interface 11 du serveur 5 renseigne sa base de données avec les informations descriptives des applicatifs sécurisés hébergés dans le module sécurisé MS. Par ailleurs, dans une variante recommandée du procédé le serveur procède à une étape d'effacement du script d'installation de l'applicatif sécurisé une fois reçue la notification de traitement du dernier bloc.Finally, the provisioning method comprises a step of finalizing the provisioning when the secure module MS has successfully executed the processing of the plurality of blocks B1 to Bn. The secure module terminates secure communication with the server. On receipt of the processing notification of the last block, the interface 11 of the server 5 informs its database with the descriptive information of the secure applications hosted in the secure module MS. Moreover, in a recommended variant of the method the server proceeds to a step of erasing the installation script of the secure application after receiving the processing notification of the last block.

10 On notera également que le procédé comprend une étape de transmission 512, de l'interface 11 au moyen de préparation 10 du serveur SV, d'une notification du statut de l'exécution du provisionnement. La figure 6 représente le flux d'étapes du procédé de provisionnement lorsqu'une perte de communication intervient durant le provisionnement lors de la transmission d'un bloc 15 d'instructions intermédiaire Bj. Les étapes du procédé de provisionnement 500 à 507 sont identiques aux étapes décrites dans la figure 5. La notification 507 correspond à un statut de traitement du bloc d'instructions B1 réussi (mémorisation et exécution dans le module sécurisé MS). A l'étape 601, le procédé comprend une autre étape de transmission d'un bloc 20 d'instructions, le bloc Bj, puis une étape de traitement 602 du bloc Bj du script d'installation 101 par le module sécurisé MS. Dans ce scénario on prend l'hypothèse que durant le traitement 602 la communication entre le serveur SV et le module sécurisé MS est perdue (cas d'un passage de tunnel par exemple). Le bloc Bj n'a donc pas pu être reçu entièrement par l'interface 121 ou n'a pas pu être exécuté.It will also be noted that the method comprises a transmission step 512, from the interface 11 to the server preparation means SV, a notification of the status of the execution of the provisioning. FIG. 6 shows the flow of steps of the provisioning method when a communication loss occurs during the provisioning during the transmission of an intermediate instruction block Bj. The steps of the provisioning method 500 to 507 are identical to the The steps described in FIG. 5. The notification 507 corresponds to a processing status of the instruction block B1 (storage and execution in the secure module MS). In step 601, the method comprises another step of transmitting a block of instructions, the block Bj, then a processing step 602 of the block Bj of the installation script 101 by the secure module MS. In this scenario, it is assumed that during the process 602 the communication between the server SV and the secure module MS is lost (for example, a tunnel crossing). Block Bj could not be received entirely by interface 121 or could not be executed.

25 Dans ce cas-ci, lors du retour de la disponibilité de la communication avec le serveur SV (ou après une temporisation prédéterminée avec la perte de communication) le procédé de provisionnement comprend une nouvelle demande d'ouverture 603 de session d'une communication sécurisée par le module sécurisé MS à l'interface 11 du serveur SV.In this case, when the availability of the communication with the SV server is returned (or after a predetermined time delay with the loss of communication), the provisioning method comprises a new request to open a session 603 of a communication. secured by the secure module MS to the interface 11 of the server SV.

3037167 19 Il comprend une ensuite une dixième étape de répétition de la transmission 604 du bloc Bj. Le bloc Bj est entièrement retransmis après réception de la requête d'ouverture d'une session de communication avec le serveur SV issu du module sécurisé. Au niveau du serveur SV, en cas de perte de communication avec le module sécurisé 5 MS, une notification a été générée pour indiquer l'échec du traitement du bloc (incluant l'échec de la mémorisation du bloc). La notification d'échec peut avoir été déterminée en fonction d'une temporisation interne du serveur SV ou un statut de la connexion. A une étape 605, le procédé comprend le traitement du bloc Bj, pour lequel dans ce cas-ci le traitement est exécuté avec succès. Le traitement comprend la mémorisation, et le cas échéant 10 l'exécution des instructions du bloc. A une étape 606, le procédé comprend une étape de transmission de la notification de statut de traitement du bloc Bj de sorte à autoriser la transmission du boc suivant. Cette notification comprend également l'adresse d'accès du bloc suivant Les blocs suivants sont ensuite transmis du serveur au module sécurisé, puis traité par le 15 module sécurisé, les uns après les autres jusqu'au dernier bloc d'instruction, tant que la notification de statut du traitement indique un traitement exécuté avec succès. Les étapes finales 508, 509, 510, 511 et 512 sont identiques à la description du procédé de la figure 5. Les fonctions logicielles du procédé de provisionnement sont mises en oeuvre par un 20 produit programme informatique exécuté par un (ou des) calculateur du serveur SV et un calculateur du module sécurisé MS. On rappelle que l'invention s'adresse au provisionnement et l'exécution de scripts d'installation pour tout type d'applicatif sécurisé et destinés à être exécuté par l'environnement opératif du module sécurisé MS hébergé dans un terminal. Les fonctions logicielles de mises en 25 oeuvre du procédé de provisionnement entre le serveur et le module sécurisé opèrent aux moyens d'applicatifs logiciels API. L'invention s'applique aux UICC et eUICC de préférence embarquées dans un terminal. L'environnement opératif est de type JAVA CARD par exemple. L'invention s'applique à la mise à jour et l'installation d'applicatifs sécurisés (par exemple APPLET, fichier profil de souscripteur à un réseau 30 de communication cellulaire).It comprises then a tenth step of repetition of the transmission 604 of the block Bj.The block Bj is fully retransmitted after receiving the request to open a communication session with the server SV from the secure module. At the level of the server SV, in the event of a loss of communication with the secure module 5 MS, a notification has been generated to indicate the failure of the processing of the block (including the failure of the storage of the block). The failure notification may have been determined based on an internal SV server timer or a connection status. In a step 605, the method comprises processing the block Bj, for which in this case the processing is executed successfully. The processing includes storing, and optionally executing, the block instructions. At a step 606, the method comprises a step of transmitting the processing status notification of the block Bj so as to allow transmission of the next boc. This notification also includes the access address of the next block The following blocks are then transmitted from the server to the secure module, then processed by the secure module, one after the other until the last instruction block, as long as the Treatment status notification indicates a successful run. The final steps 508, 509, 510, 511 and 512 are identical to the description of the method of FIG. 5. The software functions of the provisioning method are implemented by a computer program product executed by one or more computers of the SV server and a calculator of the secure module MS. It is recalled that the invention is directed to the provisioning and execution of installation scripts for any type of secure application and intended to be executed by the operating environment of the secure module MS hosted in a terminal. The software functions for implementing the provisioning method between the server and the secure module operate on API software application means. The invention applies to UICC and eUICC preferably embedded in a terminal. The operating environment is of JAVA CARD type, for example. The invention applies to the updating and installation of secure applications (for example APPLET, subscriber profile file to a cellular communication network).

3037167 20 Le terminal peut être un téléphone cellulaire ou tout système électronique mobile, portable ou installation immobile, notamment dans le cadre d'un système M2M de communication entre machines électroniques (« Machine to Machine » en anglais). 5The terminal may be a cellular telephone or any mobile electronic system, portable or stationary installation, particularly in the context of an M2M system for communication between electronic machines ("Machine to Machine" in English). 5

Claims (19)

REVENDICATIONS1. Procédé de provisionnement d'un script d'installation (101) préparé par un serveur (SV) pour un module sécurisé (MS) à communication sans fil, caractérisé en ce qu'il comprend les étapes successives suivantes : - la préparation (501) par le serveur (SV) du script d'installation (101) de sorte qu'il soit divisé en une pluralité de blocs d'instructions (B1-Bn); - la transmission (505) d'au moins un premier bloc (B1) du serveur (SV) au module sécurisé (MS) via la communication sans fil; - le traitement (506) du premier bloc (B1) par le module sécurisé (MS) ; - la notification (507) d'un statut du traitement du premier bloc (B1) par le module sécurisé (MS) au serveur (SV) ; - la transmission (508) d'un deuxième bloc (Bj) du serveur (SV) au module sécurisé (MS) ou la répétition de la transmission du premier bloc en fonction du statut du traitement du premier bloc ; - la finalisation du provisionnement lorsque le module sécurisé (MS) a exécuté avec succès le traitement de la pluralité des blocs (B1-Bn).REVENDICATIONS1. Method for provisioning an installation script (101) prepared by a server (SV) for a wireless communication secure module (MS), characterized in that it comprises the following successive steps: - the preparation (501) by the server (SV) of the installation script (101) so that it is divided into a plurality of instruction blocks (B1-Bn); - transmitting (505) at least a first block (B1) of the server (SV) to the secure module (MS) via the wireless communication; the processing (506) of the first block (B1) by the secure module (MS); - the notification (507) of a processing status of the first block (B1) by the secure module (MS) to the server (SV); - the transmission (508) of a second block (Bj) of the server (SV) to the secure module (MS) or the repetition of the transmission of the first block according to the processing status of the first block; the finalization of the provisioning when the secure module (MS) has successfully executed the processing of the plurality of blocks (B1-Bn). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre une étape de création (502) d'une table de description (102) de la pluralité des blocs de données par le serveur (SV), la transmission de la table (102) du serveur (SV) au module sécurisé (MS) et la lecture de la table (102) par le module sécurisé (MS) pour le traitement (506) d'au moins le premier bloc.2. Method according to claim 1, characterized in that it further comprises a step of creating (502) a description table (102) of the plurality of data blocks by the server (SV), the transmission of the table (102) of the server (SV) to the secure module (MS) and the reading of the table (102) by the secure module (MS) for the processing (506) of at least the first block. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le traitement (506) du premier bloc (B1) comprend au moins l'écriture du premier bloc (B1) dans une mémoire volatile du module sécurisé (MS).3. Method according to claim 1 or 2, characterized in that the processing (506) of the first block (B1) comprises at least the writing of the first block (B1) in a volatile memory of the secure module (MS). 4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend en outre une étape préalable de détermination (500) de la capacité de la mémoire volatile du module sécurisé (MS) de 3037167 22 sorte que lors de la préparation (501) du script d'installation (101) la taille des blocs (B1-Bn) est dimensionnée pour correspondre à la capacité de la mémoire volatile.4. Method according to claim 3, characterized in that it further comprises a preliminary step of determining (500) the capacity of the volatile memory of the secure module (MS) of 3037167 22 so that during the preparation (501) of the installation script (101) the size of the blocks (B1-Bn) is sized to correspond to the capacity of the volatile memory. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les blocs (B1-Bn) comprennent chacun une séquence d'instructions de commandes APDU conformes à la 5 norme ISO/IEC 7816-4.5. Method according to any one of claims 1 to 4, characterized in that the blocks (B1-Bn) each comprise a sequence of APDU command instructions in accordance with the ISO / IEC 7816-4 standard. 6. Procédé selon la revendication 5, caractérisé en ce que le traitement (506) du premier bloc (B1) comprend également l'exécution de la séquence de commandes APDU pour l'écriture de données dans une mémoire non-volatile du module sécurisé (MS).6. Method according to claim 5, characterized in that the processing (506) of the first block (B1) also comprises the execution of the APDU command sequence for writing data in a non-volatile memory of the secure module ( MS). 7. Procédé selon la revendication 6, caractérisé en ce que la notification (507) du statut 10 du traitement du premier bloc (B1) comprend au moins le statut de l'exécution de la séquence de commandes APDU.7. Method according to claim 6, characterized in that the notification (507) of the status of the processing of the first block (B1) comprises at least the status of the execution of the APDU command sequence. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comprend en outre une étape de chiffrement de la pluralité des blocs (B1-Bn) par le serveur (SV) pour une vérification d'intégrité et/ou d'une signature par le module sécurisé (MS). 158. Method according to any one of claims 1 to 7, characterized in that it further comprises a step of encrypting the plurality of blocks (B1-Bn) by the server (SV) for an integrity check and / or a signature by the secure module (MS). 15 9. Procédé selon la revendication 8, caractérisé en ce que le chiffrement du premier bloc (B1) est exécuté au moyen d'une clé de chiffrement et d'une première valeur d'un compteur et le chiffrement du deuxième bloc (Bj) est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du compteur.9. Method according to claim 8, characterized in that the encryption of the first block (B1) is executed by means of an encryption key and a first value of a counter and the encryption of the second block (Bj) is executed using the encryption key and a second counter value. 10. Module sécurisé à communication sans fil pour l'exécution d'un script d'installation 20 (101) préparé par un serveur (SV), caractérisé en ce qu'il comprend : - une interface (121) pour la réception d'un premier bloc d'instructions parmi une pluralité de blocs (B1-Bn) constituant le script d'installation (101) issu du serveur (SV) via la communication sans fil; - un moyen de calcul : 25 a) pour le traitement d'au moins le premier bloc (B1) ; b) pour la détermination d'une notification d'un statut du traitement d'au moins le premier bloc (B1) à destination du serveur (SV) pour autoriser la transmission d'un deuxième bloc (Bj) et pour finaliser le provisionnement du script (101) lorsque le traitement de la pluralité des blocs (B1-Bn) par le module sécurisé (MS) a été exécuté avec succès. 3037167 2310. Wireless communication secure module for executing a server-prepared (SV) installation script (101), characterized in that it comprises: an interface (121) for the reception of a first block of instructions among a plurality of blocks (B1-Bn) constituting the installation script (101) from the server (SV) via the wireless communication; calculation means: a) for processing at least the first block (B1); b) for determining a notification of a processing status of at least the first block (B1) to the server (SV) to allow the transmission of a second block (Bj) and to finalize the provisioning of the script (101) when the processing of the plurality of blocks (B1-Bn) by the secure module (MS) has been executed successfully. 3037167 23 11. Module sécurisé selon la revendication 10, caractérisé en ce qu'il comprend un moyen de mémorisation d'une table (102) de description de la pluralité des blocs et en ce que le moyen de calcul comprend également un moyen de lecture de la table (102) pour le traitement (506) d'au moins le premier bloc. 511. Secure module according to claim 10, characterized in that it comprises means for storing a table (102) for describing the plurality of blocks and in that the calculating means also comprises means for reading the table (102) for processing (506) at least the first block. 5 12. Module sécurisé selon la revendication 10 ou 11, caractérisé en ce qu'il comprend en outre un moyen de mémorisation d'une séquence d'instructions de commandes APDU conformes à la norme ISO/IEC 7816-4 contenue dans au moins le premier bloc.12. Secure module according to claim 10 or 11, characterized in that it further comprises means for storing a sequence of instructions APDU commands in accordance with ISO / IEC 7816-4 contained in at least the first block. 13. Module sécurisé selon la revendication 12, caractérisé en ce que le moyen de calcul comprend au moins un moyen d'exécution de la séquence de commandes APDU pour l'écriture de 10 données dans une mémoire non-volatile.13. Secure module according to claim 12, characterized in that the calculating means comprises at least one means for executing the APDU command sequence for writing data in a non-volatile memory. 14. Module sécurisé selon la revendication 13, caractérisé en ce que la notification du statut du traitement d'au moins le premier bloc (B1) comprend au moins le statut de la mémorisation de la séquence d'instruction de commandes APDU et/ou le statut de l'exécution de la séquence de commandes APDU. 1514. Secure module according to claim 13, characterized in that the notification of the processing status of at least the first block (B1) comprises at least the status of the storage of the command sequence APDU command and / or the status of the execution of the APDU command sequence. 15 15. Module sécurisé selon l'une quelconque des revendications 10 à 14, caractérisé en ce que le moyen de calcul comprend également un moyen de vérification de l'intégrité et/ou d'une signature d'au moins le premier bloc (B1).15. Secure module according to any one of claims 10 to 14, characterized in that the calculation means also comprises a means for verifying the integrity and / or a signature of at least the first block (B1). . 16. Serveur (SV) de provisionnement d'un script d'installation (101) pour un module sécurisé (MS) à communication sans fil (12) comprenant un moyen de préparation (10) du script 20 d'installation (101) et une interface (11) pour la transmission du script (101) au module sécurisé (MS) via la communication sans fil (12), caractérisé en ce que le moyen de préparation (10) est apte à préparer le script d'installation (101) de sorte qu'il soit divisé en une pluralité de blocs d'instructions (B1-Bn) et en ce que l'interface (11) comprend un moyen pour autoriser la transmission d'un deuxième bloc (Bj) en fonction d'une notification (112) de statut de traitement d'un premier bloc 25 (B1) émise par le module sécurisé (MS).16. Server (SV) for provisioning an installation script (101) for a wireless communication secure module (MS) (12) comprising a preparation means (10) for the installation script (101) and an interface (11) for the transmission of the script (101) to the secure module (MS) via the wireless communication (12), characterized in that the preparation means (10) is able to prepare the installation script (101) ) so that it is divided into a plurality of instruction blocks (B1-Bn) and in that the interface (11) comprises means for allowing the transmission of a second block (Bj) as a function of a processing status notification (112) of a first block (B1) issued by the secure module (MS). 17. Serveur (SV) selon la revendication 16, caractérisé en ce que le moyen de préparation (10) est apte à créer (502) une table de description (102) de la pluralité des blocs de données par le serveur (SV) et en ce que l'interface (11) est apte à transmettre la table de description (102) au module sécurisé (MS). 3037167 2417. Server (SV) according to claim 16, characterized in that the preparation means (10) is able to create (502) a description table (102) of the plurality of data blocks by the server (SV) and in that the interface (11) is able to transmit the description table (102) to the secure module (MS). 3037167 24 18. Serveur (SV) selon la revendication 16 ou 17, caractérisé en ce qu'il comprend en outre un moyen de chiffrement de la pluralité des blocs (B1-Bn) pour une vérification d'intégrité et/ou d'une signature par le module sécurisé (MS).18. Server (SV) according to claim 16 or 17, characterized in that it further comprises means for encrypting the plurality of blocks (B1-Bn) for an integrity check and / or a signature by the secure module (MS). 19. Serveur (SV) selon la revendication 18, caractérisé en ce que le chiffrement du 5 premier bloc est exécuté au moyen d'une clé de chiffrement et d'une première valeur d'un compteur et le chiffrement du deuxième bloc Bj est exécuté au moyen de la clé de chiffrement et d'une deuxième valeur du compteur.19. The server (SV) according to claim 18, characterized in that the encryption of the first block is executed by means of an encryption key and a first value of a counter and the encryption of the second block Bj is executed. using the encryption key and a second counter value.
FR1555072A 2015-06-04 2015-06-04 METHOD FOR PROVISIONING AN INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER Active FR3037167B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1555072A FR3037167B1 (en) 2015-06-04 2015-06-04 METHOD FOR PROVISIONING AN INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1555072A FR3037167B1 (en) 2015-06-04 2015-06-04 METHOD FOR PROVISIONING AN INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER

Publications (2)

Publication Number Publication Date
FR3037167A1 true FR3037167A1 (en) 2016-12-09
FR3037167B1 FR3037167B1 (en) 2022-02-25

Family

ID=54366283

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1555072A Active FR3037167B1 (en) 2015-06-04 2015-06-04 METHOD FOR PROVISIONING AN INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER

Country Status (1)

Country Link
FR (1) FR3037167B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022066142A1 (en) * 2020-09-22 2022-03-31 Google Llc Secure provisioning with hardware verification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
WO2015052422A1 (en) * 2013-10-07 2015-04-16 Oberthur Technologies Method of personalizing a secure element

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
WO2015052422A1 (en) * 2013-10-07 2015-04-16 Oberthur Technologies Method of personalizing a secure element

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Smart Cards; Transport protocol for CAT applications; Stage 2 (Release 6); ETSI TS 102 127", ETSI STANDARD, EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI), SOPHIA ANTIPOLIS CEDEX, FRANCE, vol. SCP-T;SCP-WG1, no. V6.13.0, 1 April 2009 (2009-04-01), XP014043814 *
GSM ASSOCIATION: "Remote Provisioning Architecture for Embedded UICC Technical Specification Version 2.0", 13 October 2014 (2014-10-13), XP055262151, Retrieved from the Internet <URL:http://www.gsma.com/connectedliving/wp-content/uploads/2014/10/SGP02-Remote-Provisioning-Architecture-for-Embedded-UICC-Technical-Specification-v2.0.pdf> [retrieved on 20160401] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022066142A1 (en) * 2020-09-22 2022-03-31 Google Llc Secure provisioning with hardware verification

Also Published As

Publication number Publication date
FR3037167B1 (en) 2022-02-25

Similar Documents

Publication Publication Date Title
EP3221815B1 (en) Method for securing a payment token
EP3348085B1 (en) Method for loading a virtual key in a user terminal and associated user terminal
EP3010175B1 (en) Replay of a batch of secure commands in a secure channel
EP2741466B1 (en) Method and system for managing a built-in secured element eSE
FR3029728A1 (en) METHOD FOR PROVIDING A SUBSCRIBER PROFILE FOR A SECURE MODULE
CN108933838B (en) Application data processing method and device
FR3025377A1 (en) MANAGEMENT OF ELECTRONIC TICKETS
EP2449803B1 (en) Method for changing an authentication key
CN108881122B (en) APP information verification method and device
CN113835642A (en) Distributed storage network construction method based on IPFS and distributed storage network
FR3037167A1 (en) METHOD FOR PROVIDING A INSTALLATION SCRIPT TO A SECURE MODULE, SECURE MODULE AND PROVISIONING SERVER
US9723436B2 (en) Mobile device location
EP3607765B1 (en) Method for obtaining a command relating to a profile for accessing a network
EP4125240A1 (en) Pre-personalised secure element and integrated personalisation
EP3278542B1 (en) System and method for executing an application on a terminal provided with a chip card
WO2015092307A1 (en) Method for testing and updating the system of a terminal by means of a subscriber identity module and associated devices
CN112732676B (en) Block chain-based data migration method, device, equipment and storage medium
US7376845B2 (en) Method for calculating hashing of a message in a device communicating with a smart card
EP3667530A1 (en) Secure access to encrypted data from a user terminal
JP5468182B2 (en) Analysis method of operation of maintenance electronic token
FR3096161A1 (en) Method, device and system for securing data and encryption keys of a connected object.
CN111049808A (en) Real-name authentication method and device
EP4078922B1 (en) Method for obtaining a command relating to a network access profile of an euicc security module
FR3102322A1 (en) Communication technique between an application implementing a service and a server
CN113051539B (en) Method and device for calling digital certificate

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20161209

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20180910

CJ Change in legal form

Effective date: 20180910

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

CA Change of address

Effective date: 20200909

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10