WO2000056006A1 - Secure method for loading data between security modules - Google Patents

Secure method for loading data between security modules Download PDF

Info

Publication number
WO2000056006A1
WO2000056006A1 PCT/FR2000/000680 FR0000680W WO0056006A1 WO 2000056006 A1 WO2000056006 A1 WO 2000056006A1 FR 0000680 W FR0000680 W FR 0000680W WO 0056006 A1 WO0056006 A1 WO 0056006A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
data
sam
memory
rand
Prior art date
Application number
PCT/FR2000/000680
Other languages
French (fr)
Inventor
Richard Dollet
Original Assignee
Schlumberger Systemes
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 Schlumberger Systemes filed Critical Schlumberger Systemes
Priority to EP00910997A priority Critical patent/EP1159798A1/en
Publication of WO2000056006A1 publication Critical patent/WO2000056006A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key

Definitions

  • the present invention relates to a method for securely loading secret data from a first security module to at least one second security module, said first module comprising at least one secret data file, said second module comprising a first non-memory volatile and a second volatile memory.
  • the invention finds an application, particularly advantageous in the field of telephony.
  • terminal administration systems which comprise a first security module embedded in an administration server and second security modules generally embedded in the aforementioned terminals.
  • the terminals are called payphones.
  • a second security module guarantees the validity of a user card inserted in a payphone, in particular through authentication of said card.
  • said second security module includes in its first memory secret data making it possible to guarantee said validity of the user cards.
  • the public phone administration systems as well as the secret data are managed by telephone operators. In order to reduce the risk of fraud consisting in spying on a communication network connecting the server and the payphones and thus in discovering said secret data, operators are required to regularly modify all or part of the secret data of a second security module of a payphone, from secret data contained in a file of the first security module.
  • a method known in the art comprises the steps according to which: the secret data of the first security module which must be transmitted to the second security module and which are located in the administration server are encrypted,
  • the public phone connects to the administration server when no conversation is in progress
  • the secret data are transmitted to the second security module located in the public phone.
  • pseudo-random data based on a value of a counter contained in the second security module is used.
  • the value of the counter is incremented, the first security module must know the value of said counter and increment a local counter dedicated to said second module.
  • a technical problem to be solved by the object of the present invention is to propose a method for secure loading of secret data from a first security module to at least a second security module, said first module comprising at least a secret data file, said second module comprising a first non-volatile memory and a second volatile memory, which would guarantee a perfectly diversified data exchange between a first and a second security module, in "off-line" mode, while avoiding too heavy management of databases.
  • a solution to the technical problem posed is characterized, according to the invention, in that said loading method comprises the steps according to which:
  • a secret datum of the file of said first module is encrypted, from the random data and an encryption algorithm, said encrypted secret datum is sent to the second module,
  • the information is transferred, comprising the random data from the first memory of the second module, from the said first memory to the second memory of the said module, - the encrypted secret secret data is decrypted, using a decryption algorithm and the random data , and, in the second module, said secret data decrypted is recorded.
  • the loading method of the invention makes it possible, by using random data for loading secret data, to improve the security of loading data by perfectly diversifying the transmitted data. .
  • a fraudster who spies on a communication network and recovers the transmitted data never obtains the same encryption value and therefore cannot discover a secret relating to the secret data transmitted.
  • the fact of recording the random data in a non-volatile memory of the second security module makes it possible to use it in "off-line" mode, since said random data is not lost when said second security module is turned off.
  • FIG. 1 is a diagram showing a first security module and several second security modules.
  • FIG. 2 is a diagram showing the first module and a second module in FIG. 1.
  • FIG. 3 is a diagram showing an exchange of data between the first module and the second module of FIG. 2.
  • FIG. 4 a diagram showing a second exchange of data between the first module and the second module of FIG. 2.
  • FIG. 5 a diagram showing a third exchange of data between the first module and the second module of FIG. 2.
  • FIG. 1 shows a first security module S and several second security SAM modules, each second SAM module comprising a first non-volatile memory M 1 and a second volatile memory M2 called working memory.
  • Figure 2 shows the first S module and a second SAM module.
  • the first module S comprises at least one file EF1 of secret data DATA and an encryption algorithm ALGO.
  • a secret data file is generally associated with a given telephone operator.
  • the second SAM module includes an ALGOP algorithm for reverse decryption of the ALGO encryption algorithm and secret DATA.
  • the loading phase includes several steps described below.
  • At least one random data item RAND is generated in the volatile memory M2 of the second SAM module.
  • information INFO is recorded comprising said random data
  • a memory location in said non-volatile memory M1 is reserved for this purpose and is initialized by default to an initialization value V.
  • the information INFO comprising said random data RAND, includes an index relating to a secret data DATA.
  • the index being for example a secret data number to be modified or a memory location index in which a secret data must be loaded in the second SAM module.
  • the first random data RAND is sent to the first module S. Note that the second and third steps can be swapped.
  • the generation and sending of the random RAND data as well as the recording of the INFO information in the second SAM module are done by means of a first ASKLOADING command.
  • This first command is sent by the administration server to the second SAM module via the public phone (not shown).
  • the secret data DATA of the file EF1 is encrypted which must be transmitted in the second module SAM.
  • Encryption includes an encryption step using the ALGO encryption algorithm and random RAND data.
  • the use of the random data RAND avoids having the same encryption value for a secret data DATA. Thus, a fraudster can hardly make a link between the different data transmitted over the communication network, these being different on each transmission.
  • the encryption can also comprise, on the one hand, a step of signing the secret data DATA based on the random data RAND, and, on the other hand, a step of certifying the transmitted data. The signature verifies the authenticity of the secret DATA loaded and the certificate verifies the integrity of the transmitted data.
  • said encrypted secret data DATAC is sent to the second SAM module.
  • the information INFO is transferred, comprising the random data RAND from the non-volatile memory M1 of the second SAM module, from said memory Ml to the working memory M2 of said SAM module.
  • the random data RAND which was used to encrypt the secret data DATA, as well as the associated information, is recovered in the working memory M2.
  • the duplication of the RAND random data and associated information in two different memories of the second SAM module can generate inconsistencies in said module and security problems. Also, only one set of INFO information is kept in the second SAM module.
  • the information INFO located in the second memory M2 of said second SAM module is deleted.
  • said information INFO is deleted in said first memory M 1.
  • said encrypted secret data DATAC is decrypted, from the algorithm ALGOP for decrypting the second SAM module and the random data RAND, and, said secret decrypted DATA is recorded in the second SAM module.
  • the transfer of information INFO, the decryption of the secret data DATA in the second SAM module and the recording are done by means of a second command ADMINRECOVER.
  • This second command is sent by the administration server to the second SAM module via the public phone (not shown).
  • the memory location, in the non-volatile memory Ml, where the information INFO including the random data RAND is located is reset to the initialization value V. If an incident has occurred, other random RAND data is generated and the various steps of the method described above are carried out again.
  • the second ADMINRECOVER command When the second ADMINRECOVER command is sent, it is checked that a random RAND datum has been generated and recorded. Thus, it is verified that the memory location of the first non-volatile memory Ml of the second SAM module, reserved for the random data RAND, does not include the initialization value V. If this is the case, the second command ADMINRECOVER is executed . Otherwise, it is not executed and the first step of the process is carried out.
  • a second SAM module manages different types of user card and consequently comprises several secret data DATA associated with each type of user card, a type of card commonly corresponding to a given operator, supplier of said cards. It is usual to want to modify all of the secret DATA associated with a type of card.
  • the first steps of the method of the invention are carried out as described above, but by applying them to all of the secret data DATA to be modified.
  • several random data RAND are successively generated in the second memory M2 of the second SAM module and the information INFO comprising the random data generated RAND is recorded in the first memory M1 of the second SAM module, following each generation of random data RAND. As shown in the example of FIG.
  • three random data RAND1, RAND2 and RAND3 are generated in the second module SAM and they are recorded in the non-volatile memory M1 of said module. Thereafter, the three random data generated are sent to the first module S of the administration server.
  • the invention is in no way limited to the field of telephony, it can extend to other fields in which a data exchange system is implemented between a centralized module having secret data and off-site modules capable of receiving said secret data.

Abstract

The invention concerns a secure method for loading secret data from a first security module towards a second security module, said first module comprising secret data, said second module comprising a first non-volatile memory and a second volatile memory. The invention is characterised in that said method comprises steps which consist in: recording data comprising random data in the first memory of the second module; sending to the second module secret data from the first module encrypted from the random data; transferring the data comprising the random data from the first memory to the second memory of the second module; decrypting said encrypted secret data, from the random data; and recording, in the second memory, said decrypted secret data. The invention is particularly applicable to telephone systems.

Description

PROCEDE DE CHARGEMENT SECURISE DE DONNEES ENTRE DES METHOD FOR SECURE LOADING OF DATA BETWEEN
MODULES DE SECURITESECURITY MODULES
La présente invention concerne un procédé de chargement sécurisé de données secrètes à partir d'un premier module de sécurité vers au moins un deuxième module de sécurité, ledit premier module comportant au moins un fichier de données secrètes, ledit deuxième module comportant une première mémoire non volatile et une deuxième mémoire volatile.The present invention relates to a method for securely loading secret data from a first security module to at least one second security module, said first module comprising at least one secret data file, said second module comprising a first non-memory volatile and a second volatile memory.
L'invention trouve une application, particulièrement avantageuse dans le domaine de la téléphonie.The invention finds an application, particularly advantageous in the field of telephony.
Dans le domaine de la téléphonie, il existe des systèmes d'administration de terminaux qui comportent un premier module de sécurité embarqué dans un serveur d'administration et des deuxièmes modules de sécurité généralement embarqués dans les terminaux précités. Les terminaux sont appelés publiphones.In the field of telephony, there are terminal administration systems which comprise a first security module embedded in an administration server and second security modules generally embedded in the aforementioned terminals. The terminals are called payphones.
Un deuxième module de sécurité garantit la validité d'une carte utilisateur introduite dans un publiphone, notamment grâce à une authentification de ladite carte. A cet effet, ledit deuxième module de sécurité comprend dans sa première mémoire des données secrètes permettant de garantir ladite validité des cartes utilisateurs. Les systèmes d'administration de publiphones ainsi que les données secrètes sont gérés par des opérateurs de téléphonie. Afin de diminuer les risques de fraude consistant à espionner un réseau de communication reliant le serveur et les publiphones et ainsi à découvrir lesdites données secrètes, les opérateurs sont amenés à modifier régulièrement tout ou partie des données secrètes d'un deuxième module de sécurité d'un publiphone, à partir de données secrètes contenues dans un fichier du premier module de sécurité.A second security module guarantees the validity of a user card inserted in a payphone, in particular through authentication of said card. To this end, said second security module includes in its first memory secret data making it possible to guarantee said validity of the user cards. The public phone administration systems as well as the secret data are managed by telephone operators. In order to reduce the risk of fraud consisting in spying on a communication network connecting the server and the payphones and thus in discovering said secret data, operators are required to regularly modify all or part of the secret data of a second security module of a payphone, from secret data contained in a file of the first security module.
Un procédé connu de la technique comprend les étapes selon lesquelles : - on chiffre les données secrètes du premier module de sécurité qui doivent être transmises au deuxième module de sécurité et qui se trouvent dans le serveur d'administration,A method known in the art comprises the steps according to which: the secret data of the first security module which must be transmitted to the second security module and which are located in the administration server are encrypted,
- le publiphone se connecte au serveur d'administration lorsqu'aucune conversation n'est en cours,- the public phone connects to the administration server when no conversation is in progress,
- les données secrètes sont transmises au deuxième module de sécurité se trouvant dans le publiphone.- the secret data are transmitted to the second security module located in the public phone.
Lorsque le publiphone se connecte au serveur d'administration, il est indisponible à tout utilisateur, ainsi la connexion se fait généralement la nuit. L'échange de données se fait en mode déconnecté appelé dans le langage anglo-saxon mode "off-line".When the public phone connects to the administration server, it is unavailable to any user, so the connection is generally made at night. The data exchange is done in disconnected mode called in the English language "off-line" mode.
Afin de diversifier les transmissions de données secrètes, on fait intervenir une donnée pseudo-aléatoire basée sur une valeur d'un compteur contenu dans le deuxième module de sécurité. A chaque échange de données secrètes, la valeur du compteur est incrémentée, le premier module de sécurité doit connaître la valeur dudit compteur et incrémenter un compteur local dédié audit deuxième module.In order to diversify the transmissions of secret data, pseudo-random data based on a value of a counter contained in the second security module is used. At each exchange of secret data, the value of the counter is incremented, the first security module must know the value of said counter and increment a local counter dedicated to said second module.
Bien que ce procédé permette un chargement de données secrètes entre un premier et deuxième modules de sécurité, il nécessite une administration lourde de bases de données permettant de garantir la synchronisation des différents compteurs. En effet, une trace de l'ensemble des échanges effectués avec un deuxième module de sécurité doit être conservée. De plus, ce procédé ne garantit pas un échange de données parfaitement diversifié. Aussi, un problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de chargement sécurisé de données secrètes à partir d'un premier module de sécurité vers au moins un deuxième module de sécurité, ledit premier module comportant au moins un fichier de données secrètes, ledit deuxième module comportant une première mémoire non volatile et une deuxième mémoire volatile, qui permettrait de garantir un échange de données parfaitement diversifié entre un premier et deuxième modules de sécurité, en mode "off-line", tout en évitant une gestion trop lourde de bases de données. Une solution au problème technique posé se caractérise, selon l'invention, en ce que ledit procédé de chargement comporte les étapes selon lesquelles :Although this method allows loading of secret data between a first and second security module, it requires heavy administration of databases making it possible to guarantee the synchronization of the various counters. Indeed, a trace of all the exchanges carried out with a second security module must be kept. In addition, this process does not guarantee a perfectly diversified data exchange. Also, a technical problem to be solved by the object of the present invention is to propose a method for secure loading of secret data from a first security module to at least a second security module, said first module comprising at least a secret data file, said second module comprising a first non-volatile memory and a second volatile memory, which would guarantee a perfectly diversified data exchange between a first and a second security module, in "off-line" mode, while avoiding too heavy management of databases. A solution to the technical problem posed is characterized, according to the invention, in that said loading method comprises the steps according to which:
- on génère au moins une donnée aléatoire dans la deuxième mémoire du deuxième module, - on enregistre des informations comprenant ladite donnée aléatoire dans la première mémoire du deuxième module,- at least one random datum is generated in the second memory of the second module, - information including said random datum is recorded in the first memory of the second module,
- on envoie au premier module la donnée aléatoire,- the random data is sent to the first module,
- dans le premier module, on chiffre une donnée secrète du fichier dudit premier module, à partir de la donnée aléatoire et d'un algorithme de cryptage, on envoie au deuxième module ladite donnée secrète chiffrée,in the first module, a secret datum of the file of said first module is encrypted, from the random data and an encryption algorithm, said encrypted secret datum is sent to the second module,
- on transfère les informations, comprenant la donnée aléatoire de la première mémoire du deuxième module, de ladite première mémoire vers la deuxième mémoire dudit module, - on déchiffre ladite donnée secrète chiffrée, à partir d'un algorithme de décryptage et de la donnée aléatoire, et, on enregistre dans le deuxième module, ladite donnée secrète déchiffrée.- the information is transferred, comprising the random data from the first memory of the second module, from the said first memory to the second memory of the said module, - the encrypted secret secret data is decrypted, using a decryption algorithm and the random data , and, in the second module, said secret data decrypted is recorded.
Ainsi, comme on le verra en détail plus loin, le procédé de chargement de l'invention permet, en utilisant une donnée aléatoire pour le chargement des données secrètes, d'améliorer la sécurité du chargement des données en diversifiant de façon parfaite les données transmises. Ainsi, un fraudeur qui espionne un réseau de communication et récupère les données transmises n'obtient jamais une même valeur de chiffrement et ne peut par conséquent découvrir un secret relatif aux données secrètes transmises. De plus, le fait d'enregistrer la donnée aléatoire dans une mémoire non volatile du deuxième module de sécurité permet de l'utiliser en mode "off-line", puisque ladite donnée aléatoire n'est pas perdue lorsque ledit deuxième module de sécurité est mis hors tension.Thus, as will be seen in detail below, the loading method of the invention makes it possible, by using random data for loading secret data, to improve the security of loading data by perfectly diversifying the transmitted data. . Thus, a fraudster who spies on a communication network and recovers the transmitted data never obtains the same encryption value and therefore cannot discover a secret relating to the secret data transmitted. In addition, the fact of recording the random data in a non-volatile memory of the second security module makes it possible to use it in "off-line" mode, since said random data is not lost when said second security module is turned off.
La description qui va suivre au regard des dessins annexés, donnée à titre d'exemple non limitatif, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée.The description which follows with reference to the appended drawings, given by way of nonlimiting example, will make it clear what the invention consists of and how it can be implemented.
La figure 1 est un schéma montrant un premier module de sécurité et plusieurs deuxièmes modules de sécurité.FIG. 1 is a diagram showing a first security module and several second security modules.
La figure 2 est un schéma montrant le premier module et un deuxième module de la figure 1.FIG. 2 is a diagram showing the first module and a second module in FIG. 1.
La figure 3 est un schéma montrant un échange de données entre le premier module et le deuxième module de la figure 2. La figure 4 un schéma montrant un deuxième échange de données entre le premier module et le deuxième module de la figure 2.FIG. 3 is a diagram showing an exchange of data between the first module and the second module of FIG. 2. FIG. 4 a diagram showing a second exchange of data between the first module and the second module of FIG. 2.
La figure 5 un schéma montrant un troisième échange de données entre le premier module et le deuxième module de la figure 2.FIG. 5 a diagram showing a third exchange of data between the first module and the second module of FIG. 2.
Sur la figure 1 est représenté un premier module S de sécurité et plusieurs deuxièmes modules SAM de sécurité, chaque deuxième module SAM comprenant une première mémoire M 1 non volatile et une deuxième mémoire M2 volatile appelée mémoire de travail. La figure 2 montre le premier module S et un deuxième module SAM. Le premier module S comporte au moins un fichier EFl de données secrètes DATA et un algorithme ALGO de cryptage. Un fichier de données secrètes est généralement associé à un opérateur de téléphonie donné. Le deuxième module SAM comporte un algorithme ALGOP de décryptage inverse de l'algorithme ALGO de cryptage et des données secrètes DATA.FIG. 1 shows a first security module S and several second security SAM modules, each second SAM module comprising a first non-volatile memory M 1 and a second volatile memory M2 called working memory. Figure 2 shows the first S module and a second SAM module. The first module S comprises at least one file EF1 of secret data DATA and an encryption algorithm ALGO. A secret data file is generally associated with a given telephone operator. The second SAM module includes an ALGOP algorithm for reverse decryption of the ALGO encryption algorithm and secret DATA.
Afin de modifier une donnée secrète du deuxième module SAM, il faut charger une donnée secrète à partir du fichier EFl du premier module S de sécurité. Le chargement doit se faire de façon sécurisée. La donnée secrète est ainsi transmise de manière chiffrée. La phase de chargement comprend plusieurs étapes décrites ci-après.In order to modify a secret data of the second SAM module, you must load a secret data from the EFl file of the first security module S. Charging must be done in a secure manner. The secret data is thus transmitted in an encrypted manner. The loading phase includes several steps described below.
Dans une première étape, on génère au moins une donnée aléatoire RAND dans la mémoire M2 volatile du deuxième module SAM.In a first step, at least one random data item RAND is generated in the volatile memory M2 of the second SAM module.
Dans une deuxième étape, comme le montre la figure 3, on enregistre des informations INFO comprenant ladite donnée aléatoireIn a second step, as shown in FIG. 3, information INFO is recorded comprising said random data
RAND dans la mémoire Ml non volatile du deuxième module SAM. Un emplacement mémoire dans ladite mémoire Ml non volatile est réservé à cet effet et est initialisé par défaut à une valeur d'initialisation V.RAND in the non-volatile Ml memory of the second SAM module. A memory location in said non-volatile memory M1 is reserved for this purpose and is initialized by default to an initialization value V.
Dans un premier mode de réalisation, les informations INFO, comprenant ladite donnée aléatoire RAND, comportent un indice relatif à une donnée secrète DATA. L'indice étant par exemple un numéro de donnée secrète à modifier ou un indice d'emplacement mémoire dans lequel une donnée secrète doit être chargée dans le deuxième module SAM. Ainsi, dans le cas où le deuxième module SAM est mis hors tension pour des raisons d'économie d'énergie, la donnée aléatoire RAND et les informations associées ne sont pas perdues.In a first embodiment, the information INFO, comprising said random data RAND, includes an index relating to a secret data DATA. The index being for example a secret data number to be modified or a memory location index in which a secret data must be loaded in the second SAM module. Thus, in the case where the second SAM module is switched off for reasons of energy saving, the random data RAND and the associated information are not lost.
Dans une troisième étape, on envoie au premier module S la donnée aléatoire RAND. On notera que la deuxième et la troisième étape peuvent être permutées.In a third step, the first random data RAND is sent to the first module S. Note that the second and third steps can be swapped.
Afin de réduire le nombre d'accès au deuxième module SAM, la génération et l'envoi de la donnée aléatoire RAND ainsi que l'enregistrement des informations INFO dans le deuxième module SAM, se font au moyen d'une première commande ASKLOADING. Cette première commande est envoyée par le serveur d'administration au deuxième module SAM via le publiphone (non représenté).In order to reduce the number of accesses to the second SAM module, the generation and sending of the random RAND data as well as the recording of the INFO information in the second SAM module are done by means of a first ASKLOADING command. This first command is sent by the administration server to the second SAM module via the public phone (not shown).
Dans une quatrième étape, dans le premier module S, on chiffre la donnée secrète DATA du fichier EFl qui doit être transmise dans le deuxième module SAM. Le chiffrement comprend une étape de cryptage utilisant l'algorithme ALGO de cryptage et la donnée aléatoire RAND. L'utilisation de la donnée aléatoire RAND évite d'avoir une même valeur de chiffrement pour une donnée secrète DATA. Ainsi, un fraudeur pourra difficilement faire un lien entre les différentes données transmises sur le réseau de communication, celles-ci étant différentes à chaque transmission. Le chiffrement peut également comprendre, d'une part, une étape de signature de la donnée secrète DATA basée sur la donnée aléatoire RAND, et, d'autre part, une étape de certification des données transmises. La signature permet de vérifier l'authenticité de la donnée secrète DATA chargée et le certificat permet de vérifier l'intégrité des données transmises.In a fourth step, in the first module S, the secret data DATA of the file EF1 is encrypted which must be transmitted in the second module SAM. Encryption includes an encryption step using the ALGO encryption algorithm and random RAND data. The use of the random data RAND avoids having the same encryption value for a secret data DATA. Thus, a fraudster can hardly make a link between the different data transmitted over the communication network, these being different on each transmission. The encryption can also comprise, on the one hand, a step of signing the secret data DATA based on the random data RAND, and, on the other hand, a step of certifying the transmitted data. The signature verifies the authenticity of the secret DATA loaded and the certificate verifies the integrity of the transmitted data.
Dans une cinquième étape, comme le montre la figure 4, on envoie au deuxième module SAM ladite donnée secrète chiffrée DATAC. Dans une sixième étape, on transfère les informations INFO, comprenant la donnée aléatoire RAND de la mémoire Ml non volatile du deuxième module SAM, de ladite mémoire Ml vers la mémoire M2 de travail dudit module SAM. Ainsi, on récupère dans la mémoire M2 de travail, la donnée aléatoire RAND, qui a été utilisée pour chiffrer la donnée secrète DATA, ainsi que les informations associées. La duplication de la donnée aléatoire RAND et des informations associées dans deux mémoires différentes du deuxième module SAM peut générer des incohérences dans ledit module et des problèmes de sécurité. Aussi, on ne garde qu'un seul jeu d'informations INFO dans le deuxième module SAM. A cet effet, postérieurement à l'enregistrement des informations INFO comprenant ladite donnée aléatoire RAND dans la première mémoire Ml du deuxième module SAM (figure 3), on efface les informations INFO se trouvant dans la deuxième mémoire M2 dudit deuxième module SAM. De la même manière, postérieurement au transfert des informations INFO comprenant la donnée aléatoire RAND, de la première mémoire M 1 du deuxième module SAM dans la deuxième mémoire M2 dudit module (figure 4), on efface lesdites informations INFO dans ladite première mémoire M 1.In a fifth step, as shown in FIG. 4, said encrypted secret data DATAC is sent to the second SAM module. In a sixth step, the information INFO is transferred, comprising the random data RAND from the non-volatile memory M1 of the second SAM module, from said memory Ml to the working memory M2 of said SAM module. Thus, the random data RAND, which was used to encrypt the secret data DATA, as well as the associated information, is recovered in the working memory M2. The duplication of the RAND random data and associated information in two different memories of the second SAM module can generate inconsistencies in said module and security problems. Also, only one set of INFO information is kept in the second SAM module. To this end, after recording the information INFO comprising said random data RAND in the first memory M1 of the second SAM module (FIG. 3), the information INFO located in the second memory M2 of said second SAM module is deleted. In the same way, after the transfer of the information INFO comprising the random data RAND, from the first memory M 1 of the second module SAM in the second memory M2 of said module (FIG. 4), said information INFO is deleted in said first memory M 1.
Enfin, dans une dernière étape, on déchiffre ladite donnée secrète chiffrée DATAC, à partir de l'algorithme ALGOP de décryptage du deuxième module SAM et de la donnée aléatoire RAND, et, on enregistre dans le deuxième module SAM ladite donnée secrète DATA déchiffrée.Finally, in a last step, said encrypted secret data DATAC is decrypted, from the algorithm ALGOP for decrypting the second SAM module and the random data RAND, and, said secret decrypted DATA is recorded in the second SAM module.
Afin de réduire le nombre d'accès au deuxième module SAM, le transfert des informations INFO, le déchiffrement de la donnée secrète DATA dans le deuxième module SAM et l'enregistrement, se font au moyen d'une deuxième commande ADMINRECOVER. Cette deuxième commande est envoyée par le serveur d'administration au deuxième module SAM via le publiphone (non représenté). Dans le cas où un incident survient lors du chargement, ou à la fin dudit chargement, l'emplacement mémoire, dans la mémoire Ml non volatile, où se trouvent les informations INFO comprenant la donnée aléatoire RAND, est réinitialisé à la valeur d'initialisation V . Si un incident est survenu, une autre donnée aléatoire RAND est générée et les différentes étapes du procédé décrites ci-dessus sont effectuées de nouveau. Lorsque la deuxième commande ADMINRECOVER est envoyée, on vérifie qu'une donnée aléatoire RAND a été générée et enregistrée. Ainsi, on vérifie que l'emplacement mémoire de la première mémoire Ml non volatile du deuxième module SAM, réservé à la donnée aléatoire RAND, ne comporte pas la valeur d'initialisation V. Si tel est le cas, la deuxième commande ADMINRECOVER est exécutée. Dans le cas contraire, elle n'est pas exécutée et on effectue la première étape du procédé.In order to reduce the number of accesses to the second SAM module, the transfer of information INFO, the decryption of the secret data DATA in the second SAM module and the recording, are done by means of a second command ADMINRECOVER. This second command is sent by the administration server to the second SAM module via the public phone (not shown). In the event that an incident occurs during loading, or at the end of said loading, the memory location, in the non-volatile memory Ml, where the information INFO including the random data RAND is located, is reset to the initialization value V. If an incident has occurred, other random RAND data is generated and the various steps of the method described above are carried out again. When the second ADMINRECOVER command is sent, it is checked that a random RAND datum has been generated and recorded. Thus, it is verified that the memory location of the first non-volatile memory Ml of the second SAM module, reserved for the random data RAND, does not include the initialization value V. If this is the case, the second command ADMINRECOVER is executed . Otherwise, it is not executed and the first step of the process is carried out.
Généralement, un deuxième module SAM gère différents types de carte utilisateur et comporte par suite plusieurs données secrètes DATA associées à chaque type de carte utilisateur, un type de carte correspondant communément à un opérateur donné, fournisseur desdites cartes. Il est habituel de vouloir modifier l'ensemble des données secrètes DATA associées à un type de cartes. Dans ce cas, on effectue les premières étapes du procédé de l'invention comme décrit précédemment, mais en les appliquant à l'ensemble des données secrètes DATA à modifier. Ainsi, on génère successivement plusieurs données aléatoires RAND dans la deuxième mémoire M2 du deuxième module SAM et on enregistre dans la première mémoire Ml du deuxième module SAM, consécutivement à chaque génération de donnée aléatoire RAND, les informations INFO comprenant la donnée aléatoire RAND générée. Comme le montre l'exemple de la figure 5, on génère trois données aléatoires RANDl, RAND2 et RAND3 dans le deuxième module SAM et on les enregistre dans la mémoire Ml non volatile dudit module. Par la suite, on envoie les trois données aléatoires générées au premier module S du serveur d'administration. On chiffre trois données secrètes DATAI , DATA2 et DATA3 se trouvant dans le fichier EFl du premier module S et correspondant aux trois données secrètes à modifier dans le deuxième module SAM. La correspondance est effectuée grâce par exemple à trois indices (1 ,2 et 3) de donnée secrète envoyés en même temps que les trois données aléatoires RAND. Enfin, pour transmettre les trois données secrètes DATAI, DATA2 et DATA3 dans ledit deuxième module SAM, on effectue toutes les étapes du procédé de l'invention comme décrit précédemment, à partir de la cinquième étape pour chaque donnée secrète DATA à charger ou pour l'ensemble des données secrètes DATA comme avec les précédentes étapes. Ainsi, suivant un premier mode de réalisation du chargement de plusieurs données décrit ci-dessus, lors de chaque chargement, on utilise une donnée aléatoire RAND pour charger une donnée secrète DATA. Suivant un second mode de réalisation, afin de diminuer le temps de chargement des données secrètes, lors de chaque chargement, on utilise une unique donnée aléatoire RAND pour charger plusieurs données secrètes DATA.Generally, a second SAM module manages different types of user card and consequently comprises several secret data DATA associated with each type of user card, a type of card commonly corresponding to a given operator, supplier of said cards. It is usual to want to modify all of the secret DATA associated with a type of card. In this case, the first steps of the method of the invention are carried out as described above, but by applying them to all of the secret data DATA to be modified. Thus, several random data RAND are successively generated in the second memory M2 of the second SAM module and the information INFO comprising the random data generated RAND is recorded in the first memory M1 of the second SAM module, following each generation of random data RAND. As shown in the example of FIG. 5, three random data RAND1, RAND2 and RAND3 are generated in the second module SAM and they are recorded in the non-volatile memory M1 of said module. Thereafter, the three random data generated are sent to the first module S of the administration server. We encrypt three secret data DATAI, DATA2 and DATA3 found in the file EF1 of the first module S and corresponding to the three secret data to be modified in the second module SAM. The correspondence is carried out for example using three indices (1, 2 and 3) of secret data sent at the same time as the three random data RAND. Finally, to transmit the three secret data DATAI, DATA2 and DATA3 in said second SAM module, all the steps of the method of the invention are carried out as described above, from the fifth step for each secret DATA data to be loaded or for the the secret DATA as in the previous steps. Thus, according to a first embodiment of the loading of several data described above, during each loading, a random data RAND is used to load a secret data DATA. According to a second embodiment, in order to reduce the loading time of the secret data, during each loading, a single random data RAND is used to load several secret data DATA.
Bien entendu, l'invention n'est nullement limitée au domaine de la téléphonie, elle peut s'étendre à d'autres domaines dans lesquels est mis en oeuvre un système d'échange de données entre un module centralisé disposant de données secrètes et des modules délocalisés aptes à recevoir lesdites données secrètes. Of course, the invention is in no way limited to the field of telephony, it can extend to other fields in which a data exchange system is implemented between a centralized module having secret data and off-site modules capable of receiving said secret data.

Claims

REVENDICATIONS
1 - Procédé de chargement sécurisé de données secrètes à partir d'un premier module (S) de sécurité vers au moins un deuxième module (SAM) de sécurité, ledit premier module (S) comportant au moins un fichier (EFl) de données secrètes (DATA), ledit deuxième module (SAM) comportant une première mémoire (Ml) non volatile et une deuxième mémoire (M2) volatile, caractérisé en ce qu'il comporte les étapes selon lesquelles : - on génère au moins une donnée aléatoire (RAND) dans la deuxième mémoire (M2) du deuxième module (SAM),1 - Method for secure loading of secret data from a first security module (S) to at least a second security module (SAM), said first module (S) comprising at least one file (EFl) of secret data (DATA), said second module (SAM) comprising a first non-volatile memory (Ml) and a second volatile memory (M2), characterized in that it comprises the steps according to which: - at least one random datum is generated (RAND ) in the second memory (M2) of the second module (SAM),
- on enregistre des informations (INFO) comprenant ladite donnée aléatoire (RAND) dans la première mémoire (Ml) du deuxième module (SAM), - on envoie au premier module (S) la donnée aléatoire (RAND),- information (INFO) comprising said random data (RAND) is recorded in the first memory (MI) of the second module (SAM), - the random data (RAND) is sent to the first module (S),
- dans le premier module (S), on chiffre une donnée secrète (DATA) du fichier (EFl) dudit premier module (S), à partir de la donnée aléatoire (RAND) et d'un algorithme (ALGO) de cryptage, - on envoie au deuxième module (SAM) ladite donnée secrète chiffrée (DATAC),- in the first module (S), a secret datum (DATA) of the file (EFl) of said first module (S) is encrypted, based on the random datum (RAND) and an encryption algorithm (ALGO), - said encrypted secret data item (DATAC) is sent to the second module (SAM),
- on transfère les informations (INFO), comprenant la donnée aléatoire (RAND) de la première mémoire (Ml) du deuxième module (SAM), de ladite première mémoire (Ml) vers la deuxième mémoire (M2) dudit module (SAM),the information (INFO), comprising the random data (RAND) of the first memory (MI) of the second module (SAM), is transferred from said first memory (MI) to the second memory (M2) of said module (SAM),
- on déchiffre ladite donnée secrète chiffrée (DATAC), à partir d'un algorithme (ALGOP) de décryptage et de la donnée aléatoire (RAND), et, on enregistre dans le deuxième module (SAM), ladite donnée secrète (DATA) déchiffrée. 2 - Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une étape supplémentaire selon laquelle :- we decrypt said encrypted secret data (DATAC), from an algorithm (ALGOP) decryption and random data (RAND), and, we record in the second module (SAM), said secret data (DATA) decrypted . 2 - Method according to one of the preceding claims, characterized in that it comprises an additional step according to which:
- postérieurement à l'enregistrement des informations (INFO) comprenant ladite donnée aléatoire (RAND) dans la première mémoire (Ml) du deuxième module (SAM), on efface les informations (INFO) se trouvant dans la deuxième mémoire (M2) dudit deuxième module (SAM).- after recording information (INFO) comprising said random data (RAND) in the first memory (Ml) of the second module (SAM), the information (INFO) located in the second memory (M2) of said second is deleted module (SAM).
3 - Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une étape supplémentaire selon laquelle :3 - Method according to one of the preceding claims, characterized in that it comprises an additional step according to which:
- postérieurement au transfert des informations (INFO) comprenant la donnée aléatoire (RAND), de la première mémoire (Ml) du deuxième module (SAM) dans la deuxième mémoire (M2) dudit module, on efface lesdites informations- after the transfer of information (INFO) comprising the random data (RAND), from the first memory (Ml) of the second module (SAM) in the second memory (M2) of said module, said information is erased
(INFO) dans ladite première mémoire (Ml).(INFO) in said first memory (Ml).
4 - Procédé selon l'une des revendications précédentes, caractérisé en ce que la génération et l'envoi de la donnée aléatoire (RAND) ainsi que l'enregistrement des informations (INFO) dans le deuxième module (SAM), se font au moyen d'une première commande (ASKLOADING).4 - Method according to one of the preceding claims, characterized in that the generation and sending of the random data (RAND) as well as the recording of information (INFO) in the second module (SAM), are done by means of a first order (ASKLOADING).
5 - Procédé selon l'une des revendications précédentes, caractérisé en ce que le transfert des informations (INFO), le déchiffrement de la donnée secrète (DATA) dans le deuxième module (SAM) et l'enregistrement, se font au moyen d'une deuxième commande (ADMINRECOVER).5 - Method according to one of the preceding claims, characterized in that the transfer of information (INFO), the decryption of the secret data (DATA) in the second module (SAM) and the recording, are done by means of a second order (ADMINRECOVER).
6 - Procédé selon l'une des revendications précédentes, caractérisé en ce que les informations (INFO), comprenant ladite donnée aléatoire (RAND), comportent un indice relatif à une donnée secrète (DATA). 7 - Procédé selon l'une des revendications précédentes, caractérisé en ce que l'on génère successivement plusieurs données aléatoires (RAND) dans la deuxième mémoire (M2) du deuxième module (SAM) et on enregistre dans la première mémoire (Ml) du deuxième module (SAM), consécutivement à chaque génération de donnée aléatoire (RAND), les informations (INFO) comprenant la donnée aléatoire (RAND) générée.6 - Method according to one of the preceding claims, characterized in that the information (INFO), comprising said random data (RAND), includes an index relating to a secret data (DATA). 7 - Method according to one of the preceding claims, characterized in that successively generates several random data (RAND) in the second memory (M2) of the second module (SAM) and is recorded in the first memory (Ml) of the second module (SAM), following each generation of random data (RAND), the information (INFO) comprising the random data (RAND) generated.
8 - Procédé selon l'une des revendications précédentes, caractérisé en ce que, lors de chaque chargement, on utilise une donnée aléatoire RAND pour charger une donnée secrète DATA.8 - Method according to one of the preceding claims, characterized in that, during each loading, a random data RAND is used to load a secret data DATA.
9 - Procédé selon l'une des revendications 1 à 7, caractérisé en ce que, lors de chaque chargement, on utilise une unique donnée aléatoire RAND pour charger plusieurs données secrètes DATA. 9 - Method according to one of claims 1 to 7, characterized in that, during each loading, a single random data RAND is used to load several secret data DATA.
PCT/FR2000/000680 1999-03-17 2000-03-17 Secure method for loading data between security modules WO2000056006A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP00910997A EP1159798A1 (en) 1999-03-17 2000-03-17 Secure method for loading data between security modules

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9903329A FR2791202B1 (en) 1999-03-17 1999-03-17 METHOD FOR THE SECURE LOADING OF DATA BETWEEN SECURITY MODULES
FR99/03329 1999-03-17

Publications (1)

Publication Number Publication Date
WO2000056006A1 true WO2000056006A1 (en) 2000-09-21

Family

ID=9543323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/000680 WO2000056006A1 (en) 1999-03-17 2000-03-17 Secure method for loading data between security modules

Country Status (4)

Country Link
EP (1) EP1159798A1 (en)
CN (1) CN1353897A (en)
FR (1) FR2791202B1 (en)
WO (1) WO2000056006A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4379031B2 (en) * 2003-07-17 2009-12-09 日本ビクター株式会社 Information transmission method and information transmitting apparatus and information receiving apparatus used therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731840A (en) * 1985-05-06 1988-03-15 The United States Of America As Represented By The United States Department Of Energy Method for encryption and transmission of digital keying data
FR2681165A1 (en) * 1991-09-05 1993-03-12 Gemplus Card Int Process for transmitting confidential information between two chip cards
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731840A (en) * 1985-05-06 1988-03-15 The United States Of America As Represented By The United States Department Of Energy Method for encryption and transmission of digital keying data
FR2681165A1 (en) * 1991-09-05 1993-03-12 Gemplus Card Int Process for transmitting confidential information between two chip cards
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system

Also Published As

Publication number Publication date
FR2791202B1 (en) 2001-04-27
CN1353897A (en) 2002-06-12
FR2791202A1 (en) 2000-09-22
EP1159798A1 (en) 2001-12-05

Similar Documents

Publication Publication Date Title
EP1805965B1 (en) Method and system for communication between a secure information storage device and at least one third party, and corresponding entity, device and third party
FR2689264A1 (en) Authentication method performed between an integrated circuit card and a terminal unit and system provided for this purpose.
EP1402746A2 (en) Method for remote loading of an encryption key in a telecommunication network station
CA2258221A1 (en) Process to transfer information between a subscriber identity module and a mobile radiocommunication terminal, plus the corresponding subscriber identity module and mobile terminal
FR3006082A1 (en) METHOD FOR IMPLEMENTING A RIGHT TO CONTENT
FR2930391A1 (en) AUTHENTICATION TERMINAL OF A USER.
CN111357023A (en) Method and system for transferring data in a blockchain system
EP1794926A1 (en) Public key cryptographic method and system, certification server and memories adapted for said system
FR2697929A1 (en) Security protocol for information exchange with portable object - using exchange and updating of signatures, achieved through algorithm, certificate and random number
WO2020260136A1 (en) Method and system for generating encryption keys for transaction or connection data
WO2007006771A1 (en) Transaction authorization method and device
EP1142193A1 (en) Method for secure data loading between two security modules
WO2000056006A1 (en) Secure method for loading data between security modules
FR2965431A1 (en) SYSTEM FOR EXCHANGING DATA BETWEEN AT LEAST ONE TRANSMITTER AND ONE RECEIVER
CN109410049A (en) Block chain bookkeeping methods, device, computer equipment and storage medium
WO2007085726A1 (en) Certification with distributed certification authority
EP3095223B1 (en) Method of transmitting encrypted data, method of reception, devices and computer programs corresponding thereto
EP4012972A1 (en) Method for selective disclosure of data via a blockchain
EP0172047B1 (en) Method and system for enciphering and deciphering data transmitted between a transmitting apparatus and a receiving apparatus
CN111049808A (en) Real-name authentication method and device
WO2019145620A1 (en) Secure system for transactions between terminals
EP3842970B1 (en) Method for checking the password of a dongle, associated computer program, dongle and user terminal
EP1502382B1 (en) Network access control method
FR2792479A1 (en) Secret digital word telephone loading technique having digital data cyphered/second module sent with second module decyphering/digital key producing/special memory area storing
WO2003105096A2 (en) Method for updating data on a chip, in particular of a smart card

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00806630.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN MX US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000910997

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000910997

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09936685

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 2000910997

Country of ref document: EP