WO2008084155A2 - Processing of data relating to a data network - Google Patents

Processing of data relating to a data network Download PDF

Info

Publication number
WO2008084155A2
WO2008084155A2 PCT/FR2007/052481 FR2007052481W WO2008084155A2 WO 2008084155 A2 WO2008084155 A2 WO 2008084155A2 FR 2007052481 W FR2007052481 W FR 2007052481W WO 2008084155 A2 WO2008084155 A2 WO 2008084155A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
application
key
terminal
data network
Prior art date
Application number
PCT/FR2007/052481
Other languages
French (fr)
Other versions
WO2008084155A3 (en
Inventor
Olivier Lobry
Florence Germain
Etienne Annic
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2008084155A2 publication Critical patent/WO2008084155A2/en
Publication of WO2008084155A3 publication Critical patent/WO2008084155A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Definitions

  • the present invention relates to a processing of a digital data item which relates to a data network.
  • data network means a set of resources constituted by all or part of a computer equipment and / or a communication network that can be a plurality of interconnected communication networks, and designated in a manner unique by an identifier called "data network identifier".
  • data network will subsequently denote a set of resources and all the data stored or transferred within this set of resources.
  • any two data networks are assumed to be disjoint.
  • the communication networks concerned are of any known type.
  • An example of a communication network borrowed from the GPRS / UMTS standard ("General Packet Radio System” / "Universal Mobile Telecommunications System” in English), is an address space identified by an APN access point name. ("Access Point Name" in English).
  • a data network can be, for example: a communication network accessible via a digital cellular access network of the UMTS type, or the Internet network made accessible from a wireless access network ("Wireless Fidelity" in English), or a banking network accessible from a banking terminal with a contactless access network, or a removable memory card, such as a smart card, msable in a terminal and containing computer software, or all or part of a terminal.
  • a communication network accessible via a digital cellular access network of the UMTS type, or the Internet network made accessible from a wireless access network ("Wireless Fidelity" in English), or a banking network accessible from a banking terminal with a contactless access network, or a removable memory card, such as a smart card, msable in a terminal and containing computer software, or all or part of a terminal.
  • An "application” is conventionally defined as a unit of execution of a program executable by a terminal.
  • the same program can be executed several times so that different applications required by the execution of the program are respectively dedicated to different data networks.
  • a media player may be run at a time to read a file belonging to the Internet, and to play a file belonging to a data network providing on-demand music services.
  • An application is called “dedicated to a data network” when its execution is launched in the context of the data network, that is to say on the data stored or transferred within the data network.
  • a digital datum is said to be "relative to a data network” if this digital datum is created, stored, used or intended to be used by an application dedicated to this data network.
  • the data network is said to be "at the origin of the digital data” in question.
  • data stored in a terminal may comprise, on the one hand, data from the user interface of the terminal relative to a data network internal to the terminal, and secondly data of an electronic purse included in the terminal relative to a data network providing a banking service.
  • a "service network” designates a data network offering one or more services, the services being considered as data from the point of view of the data network.
  • some service networks offer various types of services for which data security must be guaranteed. For example, digital data provided by a service from a network of paid video record download services should be exploitable only within the framework of that network, and not as part of a free service network.
  • personal information such as banking information relating to a user must be accessible only within the framework of the banking network which is at the origin.
  • a current mobile terminal can consecutively access multiple data networks, but is not able to confine the data to their original data networks.
  • a terminal it is for example possible to download data from a data network in a removable memory installed in a mobile terminal and copy them into another data network after installing the removable memory on another terminal .
  • confidential data from a banking network can be copied to the Internet using the removable memory of the terminal.
  • one solution is to prohibit the storage of data on a terminal.
  • services requiring the storage of a large number of data on the terminal are penalized commercially.
  • a network game service requires the download of a game that may require more than one hour. In this case, the systematic downloading of the game to each use of the latter is a prohibitive constraint to the marketing of the game.
  • a first approach is to control the right of access to different memory resources of a terminal by the operating system managing these resources, including file systems.
  • the operating system verifies that an application running on behalf of a given user has write or read access to the affected file before satisfying the request.
  • a second approach is to directly protect the data to be stored, depending on the user of this data. More precisely, this consists in rendering the data unintelligible in the absence of an appropriate decoder that can be activated by a right-holder, and this, via an encryption mechanism.
  • a method according to the invention for processing a digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a terminal, a request of memory access including the digital data that has been sent by the application to an operating system of the terminal is characterized in that it comprises the following steps: after interception of the memory access request for the system of exploitation, identify the application at the origin of said request, determine an identifier of the data network associated with the identified application, generate a key according to the identifier of the determined data network, and process the digital data in function of the key generated.
  • an application is always launched in the context of one and only one data network, usually on the initiative of the user.
  • the link between an application and the data network can for example be performed by the terminal operating system when launching execution of the application, possibly without the knowledge of the latter.
  • the invention furthermore assumes that the operating system of the terminal explicitly manages, that is to say, stores, protects and makes available, on the one hand, the correspondence between a system process and an application, and on the other hand the correspondence between an application and an associated data network identifier.
  • the invention ensures the complete absence of data exchange between any two separate data networks via a memory medium, including via a removable memory medium.
  • the invention confines the data in their original data networks, including when this data results from the execution of applications, by extending this confinement to storage in memory, including for storage on a storage medium. Removable persistent memory type record. Therefore, we will say of the invention that it performs a "confinement run" data networks.
  • a terminal is said to be "compatible with a data network" when this terminal guarantees a confinement to the execution of this data network. Therefore, access to a network of data is reserved for terminals compatible with this data network.
  • a first application relating to the first data network can not access data developed by a second application relating to the second data network.
  • a second application dedicated to a second data network and executed in a second terminal can not access the data when the removable memory is installed in the second terminal.
  • the invention offers the user of a terminal a saving of time and money resulting from a saving of loads.
  • the invention provides an expansion of service opportunities, and a gain in operation by avoiding congesting the network by reloading, at each use, services to which the user is already subscribed.
  • the invention further optimizes the downloading of data into a terminal by facilitating the management of incident recovery, such as an extinction of the terminal. Indeed, an interrupted download can be resumed from the end of the incident, and the data already downloaded are stored in a persistent memory of the terminal not to lose the benefit of the download already made.
  • the digital data may be an identifier of a file stored in the terminal and first and second keys are generated in order to process the file identifier and the stored file respectively according to the first and second keys. second keys generated.
  • the processing of an identifier of a file for example downloaded and stored in a volatile memory of the terminal provides a first level of protection as to the location of the stored file.
  • the invention also relates to a system for processing digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a terminal, a memory access request including the digital data having been issued by the application to the terminal operating system.
  • the system is characterized in that it comprises:
  • the system may comprise a means of intercepting the memory access request for the operating system for introducing context parameter fields, associated in particular with the context of launching and execution of the current application, in the intercepted request, and at least one means for filling in the fields context parameters by values one of which corresponds to the identifier of the data network.
  • the protection system systematically intercepts any call to a memory of the terminal by an application to ensure protection of read access or write access to the memory.
  • context parameter fields are filled in such a way as to parameterize the call to a memory by at least one identifier of the data network in the context of which the application executes.
  • the invention relates to a computer program adapted to be implemented in a system for processing digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a system.
  • a terminal said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention.
  • FIG. 1 is a schematic block diagram of a protection system according to the invention for processing data relating to a data network
  • FIG. 2 is the algorithm of a data processing method according to the invention implemented in the protection system.
  • the protection system SP is included in a computer terminal capable of managing digital data.
  • the computer terminal can be of any type and can handle any type of data.
  • the terminal is a personal computer, a mobile radio terminal, a banking terminal, an application server or a surveillance camera.
  • the protection system SP comprises a memory manager GM, an encryption system SC and at least one parameter server SVP.
  • the encryption system SC comprises a DC encryption controller, a GC key generator and an encryption module MC.
  • the SVP parameter server communicates directly with the GM memory manager and / or the DC encryption controller. The communications between the different entities included in the protection system SP are secure, so that no exchange of information can be intercepted during a communication between two of these entities.
  • the memory manager GM manages, through the operating system of the terminal, write and read access to MEM memories of the terminal, such as a persistent memory or a volatile memory.
  • the parameter server SVP manages a database which notably includes information necessary for the protection system according to the invention such as parameters required by the key generator GC.
  • the terminal comprises MEM memories that group one or more volatile memories and one or more persistent memories accessible through the operating system from the memory manager GM of the protection system.
  • persistent memories can be implanted on a removable medium of the terminal.
  • the terminal operating system runs AP applications and manages the sharing of terminal resources between applications.
  • An AP application that is executed by the terminal operating system in the context of a data network RD may request storage of data in one of the MEM memories of the terminal.
  • the protection system SP can be implemented in an electronic component of the microcontroller type, microprocessor circuit or smart card, so that the system is not pirated, spied on or modified.
  • the electronic component includes, in addition to the protection system SP, a volatile memory, a persistent memory, storing for example the application codes allowing the operating system to execute, and a processor in which executes the source code of the protection system.
  • a weakness of the protection system is that its execution claims that its source code is written in "clear". If the source code is written in volatile memory, it is possible to copy the source code of the memory, to understand its operation and to divert it from this operation. On the other hand, if the source code of the protection system is executed within the electronic component, it is much more difficult to hack it.
  • the persistent memory of the electronic component contains critical applications such as, for example, a certified operating system implementing the GM memory manager, or a certified browser.
  • a service requiring a high level of security When a service requiring a high level of security must be executed on the terminal, it is then executed by means of the processor and volatile and persistent memories of the electronic component. Since the volatile and persistent memory capabilities of the electronic component are inherently limited, the electronic component can store service-related data on the volatile or persistent memories of the terminal. All data relating to the service requiring to be secured is previously processed by the protection system SP of the electronic component before being stored on said volatile or persistent memories of the terminal.
  • the encryption system SC can be realized in hardwired logic rather than in the form of software.
  • wired logic optimizes operation by considerably increasing performance. Since the data processing time of the encryption system SC is the main delay for storing data in memory, if this processing is too long, the execution of the services may also be perceived as too long by the user of the terminal. So that the operation of the terminal is not penalized by the processing time of the encryption system SC, it should preferably be optimized, for example by using a realization in hardwired logic.
  • the method according to the invention comprises steps E1 to E7 executed automatically under the control of the protection system SP included in the terminal and implemented by instructions of a program computer recorded on a recording medium readable by the protection system SP.
  • a user of the terminal has subscribed to an operator managing a data network and thus becomes a subscriber to at least one data network.
  • an AP application is executed in the terminal in the context of an RD data network.
  • the user of the terminal has selected the launch of the application via a human-machine interface of the terminal indicating to the user the data networks to which the latter is subscribed and the applications available for these data networks.
  • the application is a media player that is launched in the context of a data network providing on-demand music services.
  • the application executed AP transmits an RA memory access request to the operating system of the terminal in order to access the MEM memories of the terminal.
  • the memory access request RA includes a type of request TR indicating the type of access to the memory MEM required by the application. For example, the access type is a read or write data.
  • the memory access request RA also includes digital data DAT to be processed, that is to say encrypted or decrypted. Digital data DAT can be used to identify digital content said to be "simple" or "structured". Simple digital content can be a variable or string such as a name or a date. Structured digital content can be a heterogeneous set of simple data, such as an already stored file in one of the memories MEM and referenced by an identifier included in the data to be processed.
  • the request for memory access RA requires the writing of a file in a persistent memory of the MEM memories of the terminal, and includes an identifier of this file which is stored in a volatile memory of the memories MEM.
  • step E2 the request RA for the operating system is intercepted by the memory manager GM of the protection system SP which is listening to any request from any application to the operating system of the terminal .
  • the memory manager GM then identifies the application AP which is at the origin of the request RA, for example by means of a correspondence between a system process and an identifier of the application.
  • the memory manager GM modifies the intercepted request RA into a modified request RM by supplementing it with one or more fields of context parameters CP, one of them being necessarily destined to be filled by an identifier IRD of the data network in the context in which the application was launched.
  • the fields can be populated by the values of other parameters such as a user identifier or an identifier of the terminal.
  • the memory manager GM temporarily stores the modified query RM.
  • the memory manager GM transmits the modified request RM to the encryption controller CC of the encryption system SC.
  • the encryption controller CC stores the modified request RM, including the type of request TR and the data to be processed DAT included in the request RM.
  • step E4 the encryption controller CC interrogates the parameter server SVP in order to inform the context parameter fields CP in the modified request RM.
  • the parameter server SVP determines the values of the parameters, in particular the identifier of the IRD data network, associated with the application AP, in order to inform the fields of the query modified by these values.
  • the SVP server can not enter the value of the context parameter "identifier of the data network"
  • the encryption procedure fails, thus causing the read / write operation to fail in memory and the process terminates. , thus ensuring data security.
  • the operating system of the terminal manages a correspondence between the application AP, the execution of which is at the origin of the request RA in the terminal, and an identifier of the data network to which the application is dedicated.
  • the parameter server SVP then consults a mapping table between application identifiers and IRD data network identifiers.
  • the AP application is specific to a smart card that is connected to the terminal and considered to constitute a data network RD.
  • the data network identifier is then the serial number of the smart card.
  • the parameter server SVP transmits the context parameter fields filled CPR to the encryption controller CC which stores them.
  • steps E3 and E4 are replaced by steps E31 and E41, respectively.
  • step E31 the memory manager GM interrogates the parameter server SVP in order to inform the context parameter fields CP in the modified request RM.
  • the parameter server SVP determines and transmits the context parameters CPR filled to the memory manager GM.
  • step E41 the memory manager GM fills the fields of the modified request with the context parameters associated in the modified query RM and transmits the latter to the encryption controller CC of the encryption system SC which stores it.
  • step E5 the encryption controller CC transmits the context parameter fields CPR filled and the request type TR to the key generator GC.
  • the key generator GC generates at least one KPD data protection key according to the values of the context parameter fields, and in particular the identifier of the data network IRD, and according to the type of query TR and the nature of data to be processed DAT included in the RA request.
  • the encryption controller requires the key generator to generate a single key KPD.
  • the key KPD is an encryption key if the type of request TR is relative to a write, or is a decryption key if the type of request TR is relative to a reading.
  • the encryption controller requires the key generator to generate a first key to encrypt the file identifier and a second key to decrypt the contents of the file referenced by the identifier. If the request type is relative to a write, the encryption controller requires the key generator to generate a single key to encrypt the file identifier and the contents of the reference file by the identifier.
  • the key generator GC then transmits the generated key KPD to the encryption controller CC.
  • the key generated KPD is unique and irrevocable. For a list of context parameters, a unique KPD key is generated.
  • An encrypted data by means of a list of context parameters can only be decrypted by means of a key generated according to this same list of context parameters. Since the context parameter list contains at least one IRD data network identifier, data encrypted at the request of an application from a data network can only be decrypted at the request of an application which is executed in the context of the same data network.
  • the key generator GC extracts a data protection key KPD from a list of pre-calculated keys according to the list of context parameters and of the type of request TR, the key KPD being either an encryption key KC , or a decryption key KD.
  • the encryption controller CC transmits the data to be processed DAT, the generated key KPD and the request type TR to the encryption module MC.
  • the encryption module MC processes the received data DAT according to the type of request TR and the generated key KPD.
  • the encryption module MC has at least two types of algorithm for processing the data, for example an encryption algorithm to which any encryption key and a decryption algorithm to which any decryption key is applicable. Therefore, the encryption or decryption algorithm used by the encryption module MC is dual of the algorithm for generating the encryption or decryption keys used by the key generator GC.
  • the encryption module MC encrypts the received data DAT with the key KPD if the type of request TR is relative to a write, or decrypts the received data DAT with the key KPD if the type of request TR is relative to a reading.
  • the encrypted or decrypted data is then a processed data DT.
  • the encryption module MC then transmits the processed data DT to the encryption controller CC.
  • the data to be processed DAT is transmitted by the encryption controller CC to the encryption module MC before the step E5, that is to say before the generation of a key KPD.
  • step E7 the encryption controller CC transmits the processed data DT to the memory manager GM so that the latter stores the processed data DT in one of the MEM memories of the terminal according to the type of request TR.
  • the processed data DT may be stored in a persistent memory, and if the type of request TR is relative to a read, the processed data DT may be stored in a volatile memory whose address is transmitted to the application AP so that the latter reads the treated data stored.
  • steps E6 and E7 are completed as explained below.
  • the data to be processed DAT included in the request is for example an identifier of a file stored in a volatile memory of the terminal and the type of request TR is relative to a write.
  • step E5 the encryption controller CC requires the generation of an encryption key from the key generator GC, and loads the file stored in the volatile memory via the memory manager GM, by example by means of a reference of the memory address of the file, such as a pointer initially included in the memory access request RA.
  • the encryption controller CC transmits the data to be processed DAT, that is to say the file identifier, as well as the loaded file, the generated key and the type of request TR to the module.
  • MC encryption The encryption module MC encrypts the file identifier and the file with the key and transmits the encrypted identifier and the encrypted file to the encryption controller CC.
  • step E7 the encryption controller CC commands the memory manager GM to store the digit identifier and the encrypted file in a memory of the terminal.
  • step E6 is completed as explained below.
  • the data to be processed DAT is for example an identifier of a file stored in a persistent memory of the terminal and the type of request TR is relative to a reading.
  • the encryption controller CC requires the generation of an encryption key and a decryption key that can be identical from the key generator GC.
  • the encryption controller CC transmits the data to be processed DAT, that is to say the file identifier, the encryption key and the type of request TR to the encryption module MC.
  • the encryption module MC encrypts the file identifier with the encryption key and transmits the encrypted identifier to the encryption controller CC.
  • the DC encryption controller loads the encrypted file stored in the volatile memory via the memory manager GM by means of the encrypted identifier.
  • the encryption controller CC then transmits the encrypted file loaded, the decryption key and the type of request TR to the encryption module MC.
  • the encryption module MC decrypts the encrypted file with the decryption key and transmits the decrypted file to the encryption controller CC.
  • step E7 the encryption controller CC commands the memory manager GM to store the decrypted file in a volatile memory of the terminal to be readable by the application AP.
  • the encryption controller CC receives a data protection key KPD generated by the key generator GC and associates the key KPD with the previously treated data to be processed before transmitting them to the encryption module MC. This association ensures that the key and the data to be processed transmitted to the encryption module MC correspond to the same request. Thus, several requests can be processed simultaneously and independently of each other by the CC encryption controller.
  • the functionality of the DC encryption controller is partially or fully integrated in the memory manager GM and / or the key generator GC and / or the encryption module MC.
  • the memory manager GM communicates directly with the key generator GC and the encryption module MC and the latter two also communicate directly with each other.
  • the invention described herein relates to a method and a system for processing digital data created, stored, used, or intended to be used by an application AP dedicated to a data network RD and executed in a terminal.
  • the steps of the method of the invention are determined by the instructions of a computer program incorporated in the protection system according to the invention.
  • the program includes program instructions which, when said program is executed in the system whose operation is then controlled by the execution of the program. program, perform the steps of the method according to the invention.
  • the invention also applies to a computer program, in particular a computer program recorded on or in a computer readable information medium and any data processing device, adapted to implement the computer program.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code such as in a partially compiled form, or in any other form desirable to implement the method according to the invention.
  • the information carrier may be any entity or device capable of storing the program.
  • the medium may comprise storage means or recording medium on which is recorded the computer program according to the invention, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or a magnetic recording means, for example a diskette ("floppy disk") or a hard disk.
  • the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded on an internet-type network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or for use in carrying out the process according to the invention.

Abstract

According to the invention and in order to process, e.g. cipher or decipher, digital data (DAT) created, stored, used or to intended to be used by an application (AP) dedicated to a data network (RD) and executed in a terminal, with a memory access request (RA) including the digital data (DAT) being emitted by the application to a terminal exploitation system, a protection system (SP) intercepts the memory access request (RA) to the exploitation system. The latter identifies the application (AP) at the origin of said request, a parameter server (SVP) determines an identifier (IRD) of the data network associated with the application (AP), and a key generator (GC) generates a key (KPD) according to the data network identified by said identifier (IRD) in order to process the digital data according to the generated key (KPD).

Description

Traitement de donnée relative à un réseau de données Data processing relating to a data network
La présente invention concerne un traitement d'une donnée numérique qui est relative à un réseau de données.The present invention relates to a processing of a digital data item which relates to a data network.
Plus particulièrement, elle a trait à la protection par chiffrement/déchiffrement d'une donnée numérique relative à un réseau de données.More particularly, it relates to the protection by encryption / decryption of a digital data relating to a data network.
Dans le cadre de la présente invention, on appellera "réseau de données" un ensemble de ressources constitue par tout ou partie d'un équipement informatique et/ou un réseau de communication pouvant être une pluralité de réseaux de communication interconnectés, et désigné de manière unique par un identificateur appelé "identificateur de réseau de données". Le terme de réseau de données désignera par la suite indifféremment un ensemble de ressources et l'ensemble des données stockées ou transférées au sein de cet ensemble de ressources. Par ailleurs, deux reseaux de données quelconques sont supposes disjoints .In the context of the present invention, the term "data network" means a set of resources constituted by all or part of a computer equipment and / or a communication network that can be a plurality of interconnected communication networks, and designated in a manner unique by an identifier called "data network identifier". The term data network will subsequently denote a set of resources and all the data stored or transferred within this set of resources. In addition, any two data networks are assumed to be disjoint.
Les réseaux de communication concernés sont de tout type connu. Un exemple d'un réseau de communication, emprunté à la norme GPRS/UMTS ("General Packet Radio System"/ "Universal Mobile Télécommunications System" en anglais), est un espace d'adressage identifié par un nom de point d'accès APN ("Access Point Name" en anglais) .The communication networks concerned are of any known type. An example of a communication network, borrowed from the GPRS / UMTS standard ("General Packet Radio System" / "Universal Mobile Telecommunications System" in English), is an address space identified by an APN access point name. ("Access Point Name" in English).
Un réseau de données peut être, par exemple : un réseau de communication accessible via un réseau d'accès cellulaire numérique du type UMTS, ou le réseau Internet rendu accessible depuis un réseau d'accès WiFi ("Wireless Fidelity" en anglais), ou un réseau de services bancaires accessible depuis un terminal bancaire avec un réseau d'accès sans contact, ou une carte mémoire amovible, telle qu'une carte a puce, msérable dans un terminal et contenant un logiciel informatique, ou bien encore tout ou partie d'un terminal.A data network can be, for example: a communication network accessible via a digital cellular access network of the UMTS type, or the Internet network made accessible from a wireless access network ("Wireless Fidelity" in English), or a banking network accessible from a banking terminal with a contactless access network, or a removable memory card, such as a smart card, msable in a terminal and containing computer software, or all or part of a terminal.
Une "application" est classiquement définie comme une unité d'exécution d'un programme exécutable par un terminal. Un même programme peut être exécuté plusieurs fois de manière a ce que différentes applications requises par l'exécution du programme soient respectivement dédiées à des réseaux de données différents. Par exemple, un lecteur de média peut être exécuté à la fois pour lire un fichier appartenant au réseau Internet, et pour lire un fichier appartenant à un reseau de données proposant des services de musique à la demande.An "application" is conventionally defined as a unit of execution of a program executable by a terminal. The same program can be executed several times so that different applications required by the execution of the program are respectively dedicated to different data networks. For example, a media player may be run at a time to read a file belonging to the Internet, and to play a file belonging to a data network providing on-demand music services.
Une application est dite "dédiée a un réseau de données" lorsque son exécution est lancée dans le contexte du réseau de données, c'est-à-dire sur les données stockées ou transférées au sein du réseau de données .An application is called "dedicated to a data network" when its execution is launched in the context of the data network, that is to say on the data stored or transferred within the data network.
Une donnée numérique est dite "relative à un réseau de données" si cette donnée numérique est créée, mémorisée, utilisée, ou destinée à être utilisée, par une application dédiée à ce réseau de données. Dans ce cas, le réseau de données est dit "a l'origine de la donnée numérique" en question. Par exemple, des données mémorisées dans un terminal peuvent comprendre, d'une part, des données de l'interface utilisateur du terminal relativement à un réseau de données interne au terminal, et d'autre part des données d'un porte-monnaie électronique inclus dans le terminal relativement à un réseau de données fournissant un service bancaire.A digital datum is said to be "relative to a data network" if this digital datum is created, stored, used or intended to be used by an application dedicated to this data network. In this case, the data network is said to be "at the origin of the digital data" in question. For example, data stored in a terminal may comprise, on the one hand, data from the user interface of the terminal relative to a data network internal to the terminal, and secondly data of an electronic purse included in the terminal relative to a data network providing a banking service.
Dans la suite de la description, un "réseau de services" désigne un réseau de données offrant un ou plusieurs services, les services étant considérés comme des données du point de vue du réseau de données. Actuellement, certains réseaux de services offrent divers types de services dont la sécurité des données doit être garantie. Par exemple, des données numériques fournies par un service issu d'un réseau de services payants de téléchargement d'enregistrements vidéo ne doivent être exploitables que dans le cadre de ce réseau, et non pas dans le cadre d'un réseau de services gratuits. De même, des informations personnelles telles que des informations de nature bancaire relatives à un utilisateur doivent être accessibles seulement dans le cadre du réseau bancaire qui en est à l'origine.In the rest of the description, a "service network" designates a data network offering one or more services, the services being considered as data from the point of view of the data network. Currently, some service networks offer various types of services for which data security must be guaranteed. For example, digital data provided by a service from a network of paid video record download services should be exploitable only within the framework of that network, and not as part of a free service network. Likewise, personal information such as banking information relating to a user must be accessible only within the framework of the banking network which is at the origin.
Au travers d'un réseau d'accès cellulaire, un terminal mobile actuel peut accéder consécutivement a plusieurs réseaux de données, mais n'est pas capable de confiner les données a leurs réseaux de données d'origine. Avec un tel terminal, il est par exemple possible de télécharger des données issues d'un réseau de données dans une mémoire amovible installée dans un terminal mobile et de les copier dans un autre reseau de données après avoir installé la mémoire amovible sur un autre terminal. Ainsi, des données confidentielles issues d'un réseau bancaire peuvent être copiées sur le réseau Internet au moyen de la mémoire amovible du terminal. Pour pallier ce problème, une solution consiste à interdire la mémorisation de données sur un terminal. De ce fait, des services nécessitant la mémorisation d'un nombre élevé de données sur le terminal sont pénalisés commercialement. Par exemple, un service de jeu en réseau nécessite le téléchargement d'un jeu qui peut requérir plus d'une heure. Dans ce cas, le téléchargement systématique du jeu a chaque utilisation de ce dernier est une contrainte rédhibitoire à la commercialisation du jeu .Through a cellular access network, a current mobile terminal can consecutively access multiple data networks, but is not able to confine the data to their original data networks. With such a terminal, it is for example possible to download data from a data network in a removable memory installed in a mobile terminal and copy them into another data network after installing the removable memory on another terminal . Thus, confidential data from a banking network can be copied to the Internet using the removable memory of the terminal. To overcome this problem, one solution is to prohibit the storage of data on a terminal. As a result, services requiring the storage of a large number of data on the terminal are penalized commercially. For example, a network game service requires the download of a game that may require more than one hour. In this case, the systematic downloading of the game to each use of the latter is a prohibitive constraint to the marketing of the game.
Une autre solution consiste à contrôler l'usage des ressources mémoire d'un terminal. Plusieurs approches existent actuellement. Une première approche consiste a contrôler le droit d'accès aux différentes ressources mémoire d'un terminal par le système d'exploitation gérant ces ressources, notamment les systèmes de fichiers. Le système d'exploitation vérifie qu'une application exécutée pour le compte d'un utilisateur donné possède bien les droits d'accès en écriture ou en lecture au fichier concerné avant de satisfaire la requête. Ainsi, à chaque fichier peuvent être associés des droits différents en fonction de l'utilisateur. Une seconde approche consiste à protéger directement les données destinées à être mémorisées, en fonction de l'utilisateur de ces données. Plus précisément, cela consiste à rendre les données inintelligibles en l'absence d'un décodeur approprié activable par un ayant-droit, et ce, via un mécanisme de chiffrement. Ce dernier est mis en œuvre par le système d'exploitation d'un terminal qui peut chiffrer un fichier donné, avec une clé attribuée à l'utilisateur du terminal pour le compte duquel le fichier est manipulé. Ces deux dernières approches ont pour inconvénient majeur d'être "orientées utilisateur". Ainsi, aucune d'elle n'interdit à un utilisateur quelconque d'échanger des données entre deux applications dédiées respectivement a deux réseaux de données distincts et s 'exécutant sur un même système d'exploitation.Another solution is to control the use of the memory resources of a terminal. Several approaches currently exist. A first approach is to control the right of access to different memory resources of a terminal by the operating system managing these resources, including file systems. The operating system verifies that an application running on behalf of a given user has write or read access to the affected file before satisfying the request. Thus, to each file can be associated different rights depending on the user. A second approach is to directly protect the data to be stored, depending on the user of this data. More precisely, this consists in rendering the data unintelligible in the absence of an appropriate decoder that can be activated by a right-holder, and this, via an encryption mechanism. The latter is implemented by the operating system of a terminal that can encrypt a given file, with a key assigned to the user of the terminal on behalf of which the file is handled. These last two approaches have the major disadvantage of being "user-oriented". Thus, none of them prohibits any user from exchanging data between two applications respectively dedicated to two different data networks and running on the same operating system.
Pour remédier aux inconvénients évoqués ci- dessus, un procédé selon l'invention pour traiter une donnée numérique créée, mémorisée, utilisée, ou destinée à être utilisée par une application dédiée a un réseau de données et exécutée dans un terminal, une requête d'accès mémoire incluant la donnée numérique ayant été émise par l'application a destination d'un système d'exploitation du terminal, est caractérisé en ce qu'il comprend les étapes suivantes : après interception de la requête d'accès mémoire destinée au système d'exploitation, identifier l'application à l'origine de ladite requête, déterminer un identificateur du réseau de données associé à l'application identifiée, générer une clé en fonction de l'identificateur du réseau de données déterminé, et traiter la donnée numérique en fonction de la clé générée.To overcome the disadvantages mentioned above, a method according to the invention for processing a digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a terminal, a request of memory access including the digital data that has been sent by the application to an operating system of the terminal, is characterized in that it comprises the following steps: after interception of the memory access request for the system of exploitation, identify the application at the origin of said request, determine an identifier of the data network associated with the identified application, generate a key according to the identifier of the determined data network, and process the digital data in function of the key generated.
Dans le cadre de la présente invention, il est supposé qu'une application est toujours lancée dans le contexte d'un et un seul réseau de données, généralement à l'initiative de l'utilisateur. Le lien entre une application et le réseau de données peut par exemple être effectué par le système d'exploitation du terminal lors du lancement de l'exécution de l'application, éventuellement à 1 ' insu de cette dernière.In the context of the present invention, it is assumed that an application is always launched in the context of one and only one data network, usually on the initiative of the user. The link between an application and the data network can for example be performed by the terminal operating system when launching execution of the application, possibly without the knowledge of the latter.
L'invention suppose par ailleurs que le système d'exploitation du terminal gère explicitement, c'est- à-dire mémorise, protège et rend accessible, d'une part la correspondance entre un processus système et une application, et d'autre part la correspondance entre une application et un identificateur de réseau de données associé. L'invention garantit l'absence totale d'échange de données entre deux réseaux de données distincts quelconques via un support mémoire, y compris via un support mémoire amovible. L'invention confine les données dans leurs reseaux de données d'origine, y compris lorsque ces données résultent de l'exécution d'applications, en prolongeant ce confinement jusqu'à leur stockage en mémoire, y compris pour un stockage sur un support d'enregistrement du type mémoire persistante amovible. De ce fait, nous dirons de l'invention qu'elle réalise un "confinement a l'exécution" des reseaux de données. Cela signifie en premier lieu que toute donnée résultant de l'exécution d'une application dédiée a un réseau de données est nécessairement "attribuée" à ce seul réseau de données, et en second lieu qu'une application qui est lancée dans le contexte du réseau de données n'a accès à aucune donnée appartenant à un autre réseau de données ou résultant de l'exécution d'une application lancée dans le contexte d'un autre réseau de données.The invention furthermore assumes that the operating system of the terminal explicitly manages, that is to say, stores, protects and makes available, on the one hand, the correspondence between a system process and an application, and on the other hand the correspondence between an application and an associated data network identifier. The invention ensures the complete absence of data exchange between any two separate data networks via a memory medium, including via a removable memory medium. The invention confines the data in their original data networks, including when this data results from the execution of applications, by extending this confinement to storage in memory, including for storage on a storage medium. Removable persistent memory type record. Therefore, we will say of the invention that it performs a "confinement run" data networks. This means in the first place that any data resulting from the execution of a dedicated application to a data network is necessarily "attributed" to this data network alone, and secondly that an application that is launched in the context of data network does not have access to any data belonging to another data network or resulting from the execution of an application launched in the context of another data network.
Par ailleurs, un terminal est dit "compatible avec un réseau de données" lorsque ce terminal garantit un confinement a l'exécution de ce réseau de données. Par conséquent, l'accès à un réseau de données est réservé aux terminaux compatibles avec ce réseau de données.Moreover, a terminal is said to be "compatible with a data network" when this terminal guarantees a confinement to the execution of this data network. Therefore, access to a network of data is reserved for terminals compatible with this data network.
Ainsi, dans un terminal compatible avec des premier et deuxième réseaux de données, une première application relative au premier réseau de données ne peut accéder a une donnée élaborée par une deuxième application relative au deuxième réseau de données. De même, si une donnée est stockée dans une mémoire amovible par une première application dédiée à un premier réseau de données et exécutée dans un premier terminal, une deuxième application dédiée à un deuxième réseau de données et exécutée dans un deuxième terminal ne peut accéder a la donnée lorsque la mémoire amovible est installée dans le deuxième terminal.Thus, in a terminal compatible with first and second data networks, a first application relating to the first data network can not access data developed by a second application relating to the second data network. Similarly, if data is stored in a removable memory by a first application dedicated to a first data network and executed in a first terminal, a second application dedicated to a second data network and executed in a second terminal can not access the data when the removable memory is installed in the second terminal.
En proposant une solution au problème de sécurisation du stockage des données issues de réseaux de données, l'invention offre à l'utilisateur d'un terminal un gain de temps et d'argent résultant d'une économie de chargements. Pour un opérateur de réseau de télécommunications, l'invention apporte un élargissement des opportunités de services, et un gain en exploitation en évitant de congestionner le réseau par le rechargement, a chaque utilisation, des services auxquels l'utilisateur est déjà abonné.By proposing a solution to the problem of securing the storage of data from data networks, the invention offers the user of a terminal a saving of time and money resulting from a saving of loads. For a telecommunications network operator, the invention provides an expansion of service opportunities, and a gain in operation by avoiding congesting the network by reloading, at each use, services to which the user is already subscribed.
L'invention optimise de plus le téléchargement de données dans un terminal en facilitant la gestion des reprises sur incident, telle qu'une extinction du terminal. En effet, un téléchargement interrompu peut être repris des la fin de l'incident, et les données déjà téléchargées sont mémorisées dans une mémoire persistante du terminal pour ne pas perdre le bénéfice du téléchargement déjà réalisé. Selon une autre caractéristique de l'invention, la donnée numérique peut être un identificateur d'un fichier mémorisé dans le terminal et des première et deuxième clés sont générées afin de traiter l'identificateur de fichier et le fichier mémorisé respectivement en fonction des première et deuxième clés générées.The invention further optimizes the downloading of data into a terminal by facilitating the management of incident recovery, such as an extinction of the terminal. Indeed, an interrupted download can be resumed from the end of the incident, and the data already downloaded are stored in a persistent memory of the terminal not to lose the benefit of the download already made. According to another characteristic of the invention, the digital data may be an identifier of a file stored in the terminal and first and second keys are generated in order to process the file identifier and the stored file respectively according to the first and second keys. second keys generated.
Le traitement d'un identificateur d'un fichier par exemple téléchargé et mémorisé dans une mémoire volatile du terminal assure un premier niveau de protection quant à la localisation du fichier mémorisé .The processing of an identifier of a file for example downloaded and stored in a volatile memory of the terminal provides a first level of protection as to the location of the stored file.
L'invention concerne également un système pour traiter une donnée numérique créée, mémorisée, utilisée, ou destinée à être utilisée par une application dédiée à un réseau de données et exécutée dans un terminal, une requête d'accès mémoire incluant la donnée numérique ayant été émise par l'application à destination du système d'exploitation du terminal. Le système est caractérisé en ce qu'il comprend :The invention also relates to a system for processing digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a terminal, a memory access request including the digital data having been issued by the application to the terminal operating system. The system is characterized in that it comprises:
- un moyen pour identifier l'application à l'origine de la requête d'accès mémoire destinée au système d'exploitation, après interception de ladite requête,means for identifying the application at the origin of the memory access request intended for the operating system, after interception of said request,
- un moyen pour déterminer un identificateur du réseau de données associé à l'application identifiée,means for determining an identifier of the data network associated with the identified application,
- un moyen pour générer une clé en fonction de l'identificateur du réseau de données déterminé, etmeans for generating a key according to the identifier of the determined data network, and
- un moyen pour traiter la donnée numérique en fonction de la clé générée.means for processing the digital data according to the key generated.
Selon une autre caractéristique de l'invention, le système peut comprendre un moyen interceptant la requête d'accès mémoire destinée au système d'exploitation pour introduire des champs de paramètres de contexte, associés notamment au contexte de lancement et d'exécution de l'application courante, dans la requête interceptée, et au moins un moyen pour renseigner les champs de paramètres de contexte par des valeurs dont une correspond a l'identificateur du réseau de données.According to another characteristic of the invention, the system may comprise a means of intercepting the memory access request for the operating system for introducing context parameter fields, associated in particular with the context of launching and execution of the current application, in the intercepted request, and at least one means for filling in the fields context parameters by values one of which corresponds to the identifier of the data network.
Le système de protection selon l'invention intercepte systématiquement tout appel à une mémoire du terminal par une application afin d'assurer une protection des accès en lecture ou en écriture à la mémoire. En particulier, des champs de paramètres de contexte sont renseignés de manière à paramétrer l'appel à une mémoire par au moins un identificateur du réseau de données dans le contexte duquel s'exécute l'application.The protection system according to the invention systematically intercepts any call to a memory of the terminal by an application to ensure protection of read access or write access to the memory. In particular, context parameter fields are filled in such a way as to parameterize the call to a memory by at least one identifier of the data network in the context of which the application executes.
Enfin, l'invention se rapporte à un programme d'ordinateur apte a être mis en œuvre dans un système pour traiter une donnée numérique créée, mémorisée, utilisée, ou destinée a être utilisée par une application dédiée à un réseau de données et exécutée dans un terminal, ledit programme comprenant des instructions qui, lorsque le programme est exécuté dans ledit système, réalisent les étapes selon le procédé de l'invention.Finally, the invention relates to a computer program adapted to be implemented in a system for processing digital data created, stored, used, or intended to be used by an application dedicated to a data network and executed in a system. a terminal, said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations de l'invention données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels : - la figure 1 est un bloc-diagramme schématique d'un système de protection selon l'invention pour traiter une donnée relative à un réseau de données ; et - la figure 2 est l'algorithme d'un procédé de traitement de donnée selon l'invention mis en œuvre dans le système de protection.Other characteristics and advantages of the present invention will emerge more clearly on reading the following description of several embodiments of the invention given by way of non-limiting examples, with reference to the corresponding appended drawings in which: FIG. 1 is a schematic block diagram of a protection system according to the invention for processing data relating to a data network; and FIG. 2 is the algorithm of a data processing method according to the invention implemented in the protection system.
En référence à la figure 1, le système de protection SP selon l'invention est inclus dans un terminal informatique capable de gérer des données numériques .With reference to FIG. 1, the protection system SP according to the invention is included in a computer terminal capable of managing digital data.
Le terminal informatique peut être de tout type et peut gérer tout type de données. Par exemple, le terminal est un ordinateur personnel, un terminal radio mobile, un terminal bancaire, un serveur applicatif ou encore une caméra de surveillance.The computer terminal can be of any type and can handle any type of data. For example, the terminal is a personal computer, a mobile radio terminal, a banking terminal, an application server or a surveillance camera.
Le système de protection SP comprend un gestionnaire de mémoire GM, un système de chiffrement SC et au moins un serveur de paramètres SVP. Le système de chiffrement SC comprend un contrôleur de chiffrement CC, un générateur de clé GC et un module de chiffrement MC. Le serveur de paramètres SVP communique directement avec le gestionnaire de mémoire GM et/ou le contrôleur de chiffrement CC. Les communications entre les différentes entités comprises dans le système de protection SP sont sécurisées, de manière à ce qu'aucun échange d'information ne puisse être intercepté pendant une communication entre deux de ces entités.The protection system SP comprises a memory manager GM, an encryption system SC and at least one parameter server SVP. The encryption system SC comprises a DC encryption controller, a GC key generator and an encryption module MC. The SVP parameter server communicates directly with the GM memory manager and / or the DC encryption controller. The communications between the different entities included in the protection system SP are secure, so that no exchange of information can be intercepted during a communication between two of these entities.
Le gestionnaire de mémoire GM gère a travers le système d'exploitation du terminal l'accès en écriture et en lecture à des mémoires MEM du terminal, telles qu'une mémoire persistante ou une mémoire volatile. Le serveur de paramètres SVP gère une base de données qui comprend notamment des informations nécessaires au système de protection selon l'invention telles que des paramètres requis par le générateur de cle GC.The memory manager GM manages, through the operating system of the terminal, write and read access to MEM memories of the terminal, such as a persistent memory or a volatile memory. The parameter server SVP manages a database which notably includes information necessary for the protection system according to the invention such as parameters required by the key generator GC.
Toujours en référence à la figure 1, le terminal comprend des mémoires MEM qui regroupent une ou plusieurs mémoires volatiles et une ou plusieurs mémoires persistantes accessibles à travers le système d'exploitation depuis le gestionnaire de mémoire GM du système de protection. En outre, des mémoires persistantes peuvent être implantées sur un support amovible du terminal. Le système d'exploitation du terminal exécute des applications AP et gère le partage des ressources du terminal entre les applications.Still with reference to FIG. 1, the terminal comprises MEM memories that group one or more volatile memories and one or more persistent memories accessible through the operating system from the memory manager GM of the protection system. In addition, persistent memories can be implanted on a removable medium of the terminal. The terminal operating system runs AP applications and manages the sharing of terminal resources between applications.
Une application AP qui est exécutée par le système d'exploitation du terminal dans le contexte d'un réseau de données RD peut demander la mémorisation d'une donnée dans l'une des mémoires MEM du terminal.An AP application that is executed by the terminal operating system in the context of a data network RD may request storage of data in one of the MEM memories of the terminal.
En particulier, le système de protection SP peut être mis en œuvre dans un composant électronique de type microcontrôleur, circuit à microprocesseur ou carte à puce, afin que le système ne soit pas piraté, espionné ou modifié. Ce mode de réalisation est particulièrement intéressant lorsque le composant électronique inclut, en plus du système de protection SP, une mémoire volatile, une mémoire persistante, stockant par exemple les codes applicatifs permettant au système d'exploitation de s'exécuter, et un processeur dans lequel s'exécute le code source du système de protection. En effet, une faiblesse du système de protection est que son exécution réclame que son code source soit écrit en "clair". Si le code source est écrit en mémoire volatile, il est possible de copier le code source de la mémoire, d'en comprendre le fonctionnement et de le détourner de ce fonctionnement. En revanche, si le code source du système de protection est exécuté au sein du composant électronique, il est beaucoup plus difficile de le pirater.In particular, the protection system SP can be implemented in an electronic component of the microcontroller type, microprocessor circuit or smart card, so that the system is not pirated, spied on or modified. This embodiment is particularly advantageous when the electronic component includes, in addition to the protection system SP, a volatile memory, a persistent memory, storing for example the application codes allowing the operating system to execute, and a processor in which executes the source code of the protection system. Indeed, a weakness of the protection system is that its execution claims that its source code is written in "clear". If the source code is written in volatile memory, it is possible to copy the source code of the memory, to understand its operation and to divert it from this operation. On the other hand, if the source code of the protection system is executed within the electronic component, it is much more difficult to hack it.
La mémoire persistante du composant électronique contient des applications critiques comme, par exemple, un système d'exploitation certifié mettant en œuvre le gestionnaire de mémoire GM, ou un navigateur certifie.The persistent memory of the electronic component contains critical applications such as, for example, a certified operating system implementing the GM memory manager, or a certified browser.
Quand un service nécessitant un haut niveau de sécurité doit être exécuté sur le terminal, il est alors exécuté au moyen du processeur et des mémoires volatiles et persistantes du composant électronique. Les capacités en mémoire volatile et persistante du composant électronique étant, par essence, limitées, le composant électronique peut stocker des données relatives au service sur les mémoires volatiles ou persistantes du terminal. Toutes les données relatives au service nécessitant d'être sécurisées sont préalablement traitées par le système de protection SP du composant électronique avant d'être stockées sur lesdites mémoires volatiles ou persistantes du terminal.When a service requiring a high level of security must be executed on the terminal, it is then executed by means of the processor and volatile and persistent memories of the electronic component. Since the volatile and persistent memory capabilities of the electronic component are inherently limited, the electronic component can store service-related data on the volatile or persistent memories of the terminal. All data relating to the service requiring to be secured is previously processed by the protection system SP of the electronic component before being stored on said volatile or persistent memories of the terminal.
Ainsi, même si une application dite "pirate" possède des moyens matériels d'espionner la mémoire volatile du terminal pour extraire des données confidentielles provenant d'un service, l'application ne pourra pas accéder a ces données car ces dernières auront été préalablement chiffrées par le système de chiffrement SC. Par conséquent, il n'est pas possible d'extraire des données provenant d'un réseau de données, d'y accéder et de les copier dans un autre réseau de données de manière illégitime.Thus, even if an application called "hacker" has hardware means to spy on the volatile memory of the terminal to extract confidential data from a service, the application will not be able to access this data because the latter will have been previously encrypted by the encryption system SC. Therefore, it is not possible to extract data from a network of data, to access it and to copy it to another data network illegitimately.
Par ailleurs, le système de chiffrement SC peut être réalisé en logique câblée plutôt que sous forme de logiciel. En effet, la logique câblée optimise le fonctionnement en augmentant considérablement les performances. Puisque le temps de traitement de données du système de chiffrement SC constitue le principal délai pour le stockage de données en mémoire, si ce traitement est trop long, l'exécution des services peut être aussi perçue comme trop longue par l'utilisateur du terminal. Pour que le fonctionnement du terminal ne soit pas pénalise par le temps de traitement du système de chiffrement SC, ce dernier doit être de préférence optimisé, par exemple en ayant recours à une réalisation en logique câblée .Moreover, the encryption system SC can be realized in hardwired logic rather than in the form of software. In fact, wired logic optimizes operation by considerably increasing performance. Since the data processing time of the encryption system SC is the main delay for storing data in memory, if this processing is too long, the execution of the services may also be perceived as too long by the user of the terminal. So that the operation of the terminal is not penalized by the processing time of the encryption system SC, it should preferably be optimized, for example by using a realization in hardwired logic.
Enfin, cette réalisation permet de faire appel a des applications certifiées qui seront stockées et exécutées dans le composant électronique de manière a garantir que ces applications ne seront pas modifiées ou piratées, ce qui permet de prolonger leur certification jusqu'à l'exécution. On notera que l'usage d'applications certifiées est un pré-requis exigé par la plupart des services nécessitant un haut degré de sécurité tels qu'un service bancaire, le contrôle d'accès à un site, ou la gestion des droits numériques DRM ("Digital Rights Management" en anglais) .Finally, this realization makes it possible to use certified applications that will be stored and executed in the electronic component so as to guarantee that these applications will not be modified or hacked, which makes it possible to extend their certification until the execution. It should be noted that the use of certified applications is a prerequisite required by most services requiring a high degree of security such as a banking service, the control of access to a site, or DRM digital rights management. ("Digital Rights Management" in English).
En référence à la figure 2, le procédé selon l'invention comprend des étapes El à E7 exécutées automatiquement sous le contrôle du système de protection SP inclus dans le terminal et mises en œuvre par des instructions d'un programme d'ordinateur enregistré sur un support d'enregistrement lisible par le système de protection SP.With reference to FIG. 2, the method according to the invention comprises steps E1 to E7 executed automatically under the control of the protection system SP included in the terminal and implemented by instructions of a program computer recorded on a recording medium readable by the protection system SP.
Au préalable, un utilisateur du terminal a souscrit un abonnement auprès d'un opérateur gérant un réseau de données et devient ainsi un abonné à au moins un réseau de données.In advance, a user of the terminal has subscribed to an operator managing a data network and thus becomes a subscriber to at least one data network.
A l'étape El, une application AP est exécutée dans le terminal dans le contexte d'un réseau de données RD. Par exemple, l'utilisateur du terminal a sélectionné le lancement de l'application via une interface homme-machine du terminal indiquant a l'utilisateur les reseaux de données auquel ce dernier est abonne et les applications disponibles pour ces réseaux de données. A titre d'exemple, l'application est un lecteur de média qui est lancé dans le contexte d'un réseau de données proposant des services de musique à la demande.In step E1, an AP application is executed in the terminal in the context of an RD data network. For example, the user of the terminal has selected the launch of the application via a human-machine interface of the terminal indicating to the user the data networks to which the latter is subscribed and the applications available for these data networks. For example, the application is a media player that is launched in the context of a data network providing on-demand music services.
L'application exécutée AP transmet une requête d'accès mémoire RA a destination du système d'exploitation du terminal afin d'accéder aux mémoires MEM du terminal. La requête d'accès mémoire RA inclut un type de requête TR indiquant le type d'accès à la mémoire MEM requis par l'application. Par exemple, le type d'accès est une lecture ou une écriture de données. La requête d'accès mémoire RA inclut en outre une donnée numérique DAT à traiter, c'est-à-dire à chiffrer ou à déchiffrer. La donnée numérique DAT peut servir à identifier un contenu numérique dit "simple" ou "structuré". Un contenu numérique simple peut être une variable ou une chaîne de caractères telle qu'un nom ou une date. Un contenu numérique structuré peut être un ensemble hétérogène de données simples, comme un fichier déjà mémorisé dans l'une des mémoires MEM et référencé par un identificateur inclus dans la donnée à traiter.The application executed AP transmits an RA memory access request to the operating system of the terminal in order to access the MEM memories of the terminal. The memory access request RA includes a type of request TR indicating the type of access to the memory MEM required by the application. For example, the access type is a read or write data. The memory access request RA also includes digital data DAT to be processed, that is to say encrypted or decrypted. Digital data DAT can be used to identify digital content said to be "simple" or "structured". Simple digital content can be a variable or string such as a name or a date. Structured digital content can be a heterogeneous set of simple data, such as an already stored file in one of the memories MEM and referenced by an identifier included in the data to be processed.
A titre d'exemple, la requête d'accès mémoire RA requiert l'écriture d'un fichier dans une mémoire persistante des mémoires MEM du terminal, et inclut un identificateur de ce fichier qui est mémorisé dans une mémoire volatile des mémoires MEM.By way of example, the request for memory access RA requires the writing of a file in a persistent memory of the MEM memories of the terminal, and includes an identifier of this file which is stored in a volatile memory of the memories MEM.
A l'étape E2, la requête RA destinée au système d'exploitation est interceptée par le gestionnaire de mémoire GM du système de protection SP qui est a l'écoute de toute requête provenant de toute application à destination du système d'exploitation du terminal. Le gestionnaire de mémoire GM identifie alors l'application AP qui est a l'origine de la requête RA, par exemple au moyen d'une correspondance entre un processus système et un identificateur de 1 ' application.In step E2, the request RA for the operating system is intercepted by the memory manager GM of the protection system SP which is listening to any request from any application to the operating system of the terminal . The memory manager GM then identifies the application AP which is at the origin of the request RA, for example by means of a correspondence between a system process and an identifier of the application.
Le gestionnaire de mémoire GM modifie la requête interceptée RA en une requête modifiée RM en la complétant par un ou plusieurs champs de paramètres de contexte CP, l'un d'eux étant nécessairement destine a être renseigné par un identificateur IRD du réseau de données dans le contexte duquel l'application a été lancée. Les champs peuvent être renseignés par les valeurs d'autres paramètres tels qu'un identificateur de l'utilisateur ou un identificateur du terminal. Optionnellement, le gestionnaire de mémoire GM mémorise temporairement la requête modifiée RM. A l'étape E3, le gestionnaire de mémoire GM transmet la requête modifiée RM au contrôleur de chiffrement CC du système de chiffrement SC. Le contrôleur de chiffrement CC mémorise la requête modifiée RM, notamment le type de requête TR et la donnée à traiter DAT inclus dans la requête RM. A l'étape E4, le contrôleur de chiffrement CC interroge le serveur de paramètres SVP afin de renseigner les champs de paramètres de contexte CP dans la requête modifiée RM. Le serveur de paramètres SVP détermine les valeurs des paramètres, notamment l'identificateur du réseau de données IRD, associés a l'application AP, afin de renseigner les champs de la requête modifiée par ces valeurs. Avantageusement, si le serveur SVP ne peut pas renseigner la valeur du paramètre de contexte "identificateur du réseau de données", la procédure de cryptage échoue, entraînant ainsi l'échec de l'opération de lecture/écriture en mémoire et le procédé se termine, assurant ainsi la sécurité des données.The memory manager GM modifies the intercepted request RA into a modified request RM by supplementing it with one or more fields of context parameters CP, one of them being necessarily destined to be filled by an identifier IRD of the data network in the context in which the application was launched. The fields can be populated by the values of other parameters such as a user identifier or an identifier of the terminal. Optionally, the memory manager GM temporarily stores the modified query RM. In step E3, the memory manager GM transmits the modified request RM to the encryption controller CC of the encryption system SC. The encryption controller CC stores the modified request RM, including the type of request TR and the data to be processed DAT included in the request RM. In step E4, the encryption controller CC interrogates the parameter server SVP in order to inform the context parameter fields CP in the modified request RM. The parameter server SVP determines the values of the parameters, in particular the identifier of the IRD data network, associated with the application AP, in order to inform the fields of the query modified by these values. Advantageously, if the SVP server can not enter the value of the context parameter "identifier of the data network", the encryption procedure fails, thus causing the read / write operation to fail in memory and the process terminates. , thus ensuring data security.
Par exemple, dans le cas d'un terminal compatible avec un réseau de données, le système d'exploitation du terminal gère une correspondance entre l'application AP, dont l'exécution est a l'origine de la requête RA dans le terminal, et un identificateur du réseau de données auquel est dédiée l'application. Le serveur de paramètres SVP consulte alors une table de correspondances entre des identificateurs d'application et des identificateurs de réseau de données IRD.For example, in the case of a terminal compatible with a data network, the operating system of the terminal manages a correspondence between the application AP, the execution of which is at the origin of the request RA in the terminal, and an identifier of the data network to which the application is dedicated. The parameter server SVP then consults a mapping table between application identifiers and IRD data network identifiers.
Selon un autre exemple, l'application AP est spécifique à une carte à puce qui est reliée au terminal et considérée comme constituant un réseau de données RD. L'identificateur de réseau de données est alors le numéro de série de la carte à puce.In another example, the AP application is specific to a smart card that is connected to the terminal and considered to constitute a data network RD. The data network identifier is then the serial number of the smart card.
Le serveur de paramètres SVP transmet les champs de paramètres de contexte renseignés CPR au contrôleur de chiffrement CC qui les mémorise. En variante, les étapes E3 et E4 sont remplacées respectivement par des étapes E31 et E41.The parameter server SVP transmits the context parameter fields filled CPR to the encryption controller CC which stores them. In a variant, steps E3 and E4 are replaced by steps E31 and E41, respectively.
A l'étape E31, le gestionnaire de mémoire GM interroge le serveur de paramètres SVP afin de renseigner les champs de paramètres de contexte CP dans la requête modifiée RM. Le serveur de paramètres SVP détermine et transmet les paramètres de contexte renseignés CPR au gestionnaire de mémoire GM.In step E31, the memory manager GM interrogates the parameter server SVP in order to inform the context parameter fields CP in the modified request RM. The parameter server SVP determines and transmits the context parameters CPR filled to the memory manager GM.
A l'étape E41, le gestionnaire de mémoire GM renseigne les champs de la requête modifiée par les paramètres de contexte associés dans la requête modifiée RM et transmet cette dernière au contrôleur de chiffrement CC du système de chiffrement SC qui la mémorise .In step E41, the memory manager GM fills the fields of the modified request with the context parameters associated in the modified query RM and transmits the latter to the encryption controller CC of the encryption system SC which stores it.
A l'étape E5, le contrôleur de chiffrement CC transmet les champs de paramètres de contexte renseignés CPR et le type de requête TR au générateur de clé GC. Le générateur de clé GC génère au moins une clé de protection de données KPD en fonction des valeurs des champs de paramètres de contexte, et notamment de l'identificateur du réseau de données IRD, et en fonction du type de requête TR et de la nature des données à traiter DAT incluses dans la requête RA.In step E5, the encryption controller CC transmits the context parameter fields CPR filled and the request type TR to the key generator GC. The key generator GC generates at least one KPD data protection key according to the values of the context parameter fields, and in particular the identifier of the data network IRD, and according to the type of query TR and the nature of data to be processed DAT included in the RA request.
Par exemple, dans le cas où la donnée a traiter DAT représente un contenu numérique "simple", le contrôleur de chiffrement requiert au générateur de clé la génération d'une seule clé KPD. La clé KPD est une clé de chiffrement si le type de requête TR est relatif a une écriture, ou est une clé de déchiffrement si le type de requête TR est relatif a une lecture.For example, in the case where the data to be processed DAT represents a "simple" digital content, the encryption controller requires the key generator to generate a single key KPD. The key KPD is an encryption key if the type of request TR is relative to a write, or is a decryption key if the type of request TR is relative to a reading.
Dans un autre exemple, si la donnée à traiter DAT est un identificateur référençant un contenu numérique "structuré" tel qu'un fichier, et si le type de requête est relatif à une lecture, le contrôleur de chiffrement requiert de la part du générateur de clé la génération d'une première clé pour chiffrer l'identificateur de fichier et d'une deuxième clé pour déchiffrer le contenu du fichier référencé par l'identificateur. Si le type de requête est relatif à une écriture, le contrôleur de chiffrement requiert de la part du générateur de clé la génération d'une seule clé pour chiffrer l'identificateur de fichier et le contenu du fichier référence par l'identificateur.In another example, if the data to be processed DAT is an identifier referencing a content "structured" digital file such as a file, and if the type of request is relative to a read, the encryption controller requires the key generator to generate a first key to encrypt the file identifier and a second key to decrypt the contents of the file referenced by the identifier. If the request type is relative to a write, the encryption controller requires the key generator to generate a single key to encrypt the file identifier and the contents of the reference file by the identifier.
Le générateur de clé GC transmet alors la clé générée KPD au contrôleur de chiffrement CC. La clé générée KPD est unique et irrévocable. Pour une liste de paramètres de contexte donnée est générée une unique clé KPD.The key generator GC then transmits the generated key KPD to the encryption controller CC. The key generated KPD is unique and irrevocable. For a list of context parameters, a unique KPD key is generated.
Une donnée chiffrée au moyen d'une liste de paramètres de contexte ne pourra être déchiffrée qu'au moyen d'une clé générée en fonction de cette même liste de paramètres de contexte. Puisque la liste de paramètres de contexte contient au moins un identificateur de réseau de données IRD, une donnée chiffrée à la demande d'une application issue d'un réseau de données ne pourra être déchiffrée qu'à la demande d'une application qui est exécutée dans le contexte du même réseau de données.An encrypted data by means of a list of context parameters can only be decrypted by means of a key generated according to this same list of context parameters. Since the context parameter list contains at least one IRD data network identifier, data encrypted at the request of an application from a data network can only be decrypted at the request of an application which is executed in the context of the same data network.
En variante, le générateur de clé GC extrait une clé de protection de données KPD parmi une liste de clés pré-calculées en fonction de la liste de paramètres de contexte et du type de requête TR, la clé KPD étant soit une clé de chiffrement KC, soit une clé de déchiffrement KD. A l'étape E6, le contrôleur de chiffrement CC transmet la donnée a traiter DAT, la clé générée KPD et le type de requête TR au module de chiffrement MC.In a variant, the key generator GC extracts a data protection key KPD from a list of pre-calculated keys according to the list of context parameters and of the type of request TR, the key KPD being either an encryption key KC , or a decryption key KD. In step E6, the encryption controller CC transmits the data to be processed DAT, the generated key KPD and the request type TR to the encryption module MC.
Le module de chiffrement MC traite la donnée reçue DAT en fonction du type de requête TR et de la clé générée KPD. Le module de chiffrement MC possède au moins deux types d'algorithme pour le traitement des données, par exemple un algorithme de chiffrement auquel est applicable toute clé de chiffrement et un algorithme de déchiffrement auquel est applicable toute clé de déchiffrement. Par conséquent, l'algorithme de chiffrement ou de déchiffrement utilise par le module de chiffrement MC est dual de l'algorithme de génération des clés de chiffrement ou de déchiffrement utilisé par le générateur de clé GC.The encryption module MC processes the received data DAT according to the type of request TR and the generated key KPD. The encryption module MC has at least two types of algorithm for processing the data, for example an encryption algorithm to which any encryption key and a decryption algorithm to which any decryption key is applicable. Therefore, the encryption or decryption algorithm used by the encryption module MC is dual of the algorithm for generating the encryption or decryption keys used by the key generator GC.
Le module de chiffrement MC chiffre la donnée reçue DAT avec la clé KPD si le type de requête TR est relatif à une écriture, ou déchiffre la donnée reçue DAT avec la clé KPD si le type de requête TR est relatif à une lecture. La donnée chiffrée ou déchiffrée est alors une donnée traitée DT.The encryption module MC encrypts the received data DAT with the key KPD if the type of request TR is relative to a write, or decrypts the received data DAT with the key KPD if the type of request TR is relative to a reading. The encrypted or decrypted data is then a processed data DT.
Le module de chiffrement MC transmet alors la donnée traitée DT au contrôleur de chiffrement CC.The encryption module MC then transmits the processed data DT to the encryption controller CC.
En variante, la donnée à traiter DAT est transmise par le contrôleur de chiffrement CC au module de chiffrement MC avant l'étape E5, c'est-à- dire avant la génération d'une clé KPD.In a variant, the data to be processed DAT is transmitted by the encryption controller CC to the encryption module MC before the step E5, that is to say before the generation of a key KPD.
A l'étape E7, le contrôleur de chiffrement CC transmet la donnée traitée DT au gestionnaire de mémoire GM afin que ce dernier mémorise la donnée traitée DT dans l'une des mémoires MEM du terminal selon le type de requête TR.In step E7, the encryption controller CC transmits the processed data DT to the memory manager GM so that the latter stores the processed data DT in one of the MEM memories of the terminal according to the type of request TR.
Par exemple, si le type de requête TR est relatif à une écriture, la donnée traitée DT pourra être mémorisée dans une mémoire persistante, et si le type de requête TR est relatif à une lecture, la donnée traitée DT pourra être mémorisée dans une mémoire volatile dont l'adresse est transmise a l'application AP pour que cette dernière lise la donnée traitée mémorisée.For example, if the type of request TR is relative to a write, the processed data DT may be stored in a persistent memory, and if the type of request TR is relative to a read, the processed data DT may be stored in a volatile memory whose address is transmitted to the application AP so that the latter reads the treated data stored.
Dans une variante, les étapes E6 et E7 sont complétées comme expliqué ci-apres.In a variant, steps E6 and E7 are completed as explained below.
La donnée à traiter DAT incluse dans la requête est par exemple un identificateur d'un fichier mémorisé dans une mémoire volatile du terminal et le type de requête TR est relatif à une écriture.The data to be processed DAT included in the request is for example an identifier of a file stored in a volatile memory of the terminal and the type of request TR is relative to a write.
Dans cette variante, a l'étape E5, le contrôleur de chiffrement CC requiert de la part du générateur de clé GC la génération d'une clé de chiffrement, et charge le fichier mémorisé dans la mémoire volatile via le gestionnaire de mémoire GM, par exemple au moyen d'une référence de l'adresse mémoire du fichier, telle qu'un pointeur initialement inclus dans la requête d'accès mémoire RA.In this variant, in step E5, the encryption controller CC requires the generation of an encryption key from the key generator GC, and loads the file stored in the volatile memory via the memory manager GM, by example by means of a reference of the memory address of the file, such as a pointer initially included in the memory access request RA.
Puis a l'étape E6, le contrôleur de chiffrement CC transmet la donnée à traiter DAT, c'est-à-dire l'identificateur de fichier, ainsi que le fichier chargé, la clé générée et le type de requête TR au module de chiffrement MC. Le module de chiffrement MC chiffre l'identificateur de fichier et le fichier avec la clé et transmet l'identificateur chiffré et le fichier chiffré au contrôleur de chiffrement CC.Then at step E6, the encryption controller CC transmits the data to be processed DAT, that is to say the file identifier, as well as the loaded file, the generated key and the type of request TR to the module. MC encryption. The encryption module MC encrypts the file identifier and the file with the key and transmits the encrypted identifier and the encrypted file to the encryption controller CC.
A l'étape E7, le contrôleur de chiffrement CC commande au gestionnaire de mémoire GM la mémorisation de l'identificateur chiffre et du fichier chiffré dans une mémoire du terminal.In step E7, the encryption controller CC commands the memory manager GM to store the digit identifier and the encrypted file in a memory of the terminal.
Dans une autre variante, l'étape E6 est complétée comme expliqué ci-après. La donnée à traiter DAT est par exemple un identificateur d'un fichier mémorisé dans une mémoire persistante du terminal et le type de requête TR est relatif à une lecture. Dans cette variante, a l'étape E5, le contrôleur de chiffrement CC requiert de la part du générateur de clé GC la génération d'une clé de chiffrement et d'une clé de déchiffrement qui peuvent être identiques . Puis a l'étape E6, le contrôleur de chiffrement CC transmet la donnée à traiter DAT, c'est-à-dire l'identificateur de fichier, la clé de chiffrement et le type de requête TR au module de chiffrement MC. Le module de chiffrement MC chiffre l'identificateur de fichier avec la clé de chiffrement et transmet l'identificateur chiffré au contrôleur de chiffrement CC.In another variant, step E6 is completed as explained below. The data to be processed DAT is for example an identifier of a file stored in a persistent memory of the terminal and the type of request TR is relative to a reading. In this variant, in step E5, the encryption controller CC requires the generation of an encryption key and a decryption key that can be identical from the key generator GC. Then at step E6, the encryption controller CC transmits the data to be processed DAT, that is to say the file identifier, the encryption key and the type of request TR to the encryption module MC. The encryption module MC encrypts the file identifier with the encryption key and transmits the encrypted identifier to the encryption controller CC.
Le contrôleur de chiffrement CC charge le fichier chiffré mémorisé dans la mémoire volatile via le gestionnaire de mémoire GM au moyen de l'identificateur chiffré. Le contrôleur de chiffrement CC transmet alors le fichier chiffré chargé, la clé de déchiffrement et le type de requête TR au module de chiffrement MC. Le module de chiffrement MC déchiffre le fichier chiffré avec la clé de déchiffrement et transmet le fichier déchiffré au contrôleur de chiffrement CC.The DC encryption controller loads the encrypted file stored in the volatile memory via the memory manager GM by means of the encrypted identifier. The encryption controller CC then transmits the encrypted file loaded, the decryption key and the type of request TR to the encryption module MC. The encryption module MC decrypts the encrypted file with the decryption key and transmits the decrypted file to the encryption controller CC.
A l'étape E7, le contrôleur de chiffrement CC commande au gestionnaire de mémoire GM la mémorisation du fichier déchiffré dans une mémoire volatile du terminal pour être lisible par l'application AP.In step E7, the encryption controller CC commands the memory manager GM to store the decrypted file in a volatile memory of the terminal to be readable by the application AP.
Dans un souci de synchronisation entre les opérations exécutées par le générateur de clé GC et le module de chiffrement MC, le contrôleur de chiffrement CC reçoit une clé de protection de données KPD générée par le générateur de clé GC et associe la clé KPD a la donnée à traiter préalablement chargée avant de les transmettre au module de chiffrement MC. Cette association garantit que la clé et la donnée a traiter transmises au module de chiffrement MC correspondent à une même requête. Ainsi, plusieurs requêtes peuvent être traitées simultanément et indépendamment les unes des autres par le contrôleur de chiffrement CC.For the sake of synchronization between the operations performed by the key generator GC and the encryption module MC, the encryption controller CC receives a data protection key KPD generated by the key generator GC and associates the key KPD with the previously treated data to be processed before transmitting them to the encryption module MC. This association ensures that the key and the data to be processed transmitted to the encryption module MC correspond to the same request. Thus, several requests can be processed simultaneously and independently of each other by the CC encryption controller.
En variante, les fonctionnalités du contrôleur de chiffrement CC sont intégrées partiellement ou totalement dans le gestionnaire de mémoire GM et/ou le générateur de clé GC et/ou le module de chiffrement MC. Dans ce cas, le gestionnaire de mémoire GM communique directement avec le générateur de clé GC et le module de chiffrement MC et ces deux derniers communiquent également directement entre eux .Alternatively, the functionality of the DC encryption controller is partially or fully integrated in the memory manager GM and / or the key generator GC and / or the encryption module MC. In this case, the memory manager GM communicates directly with the key generator GC and the encryption module MC and the latter two also communicate directly with each other.
L'invention décrite ici concerne un procédé et un système pour traiter une donnée numérique créée, mémorisée, utilisée, ou destinée à être utilisée par une application AP dédiée à un réseau de données RD et exécutée dans un terminal . Selon une implémentation, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme d'ordinateur incorpore dans le système de protection selon l'invention. Le programme comporte des instructions de programme qui, lorsque ledit programme est exécuté dans le système dont le fonctionnement est alors commandé par l'exécution du programme, réalisent les étapes du procédé selon 1 ' invention .The invention described herein relates to a method and a system for processing digital data created, stored, used, or intended to be used by an application AP dedicated to a data network RD and executed in a terminal. According to one implementation, the steps of the method of the invention are determined by the instructions of a computer program incorporated in the protection system according to the invention. The program includes program instructions which, when said program is executed in the system whose operation is then controlled by the execution of the program. program, perform the steps of the method according to the invention.
En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur enregistré sur ou dans un support d'informations lisible par un ordinateur et tout dispositif de traitements de données, adapté à mettre en œuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implementer le procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage ou support d'enregistrement sur lequel est enregistré le programme d'ordinateur selon l'invention, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microelectronique, ou encore une cle USB, ou un moyen d'enregistrement magnétique, par exemple une disquette ("floppy dise") ou un disque dur . D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier télécharge sur un reseau de type internet .Accordingly, the invention also applies to a computer program, in particular a computer program recorded on or in a computer readable information medium and any data processing device, adapted to implement the computer program. 'invention. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code such as in a partially compiled form, or in any other form desirable to implement the method according to the invention. The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means or recording medium on which is recorded the computer program according to the invention, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or a magnetic recording means, for example a diskette ("floppy disk") or a hard disk. On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded on an internet-type network.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé selon 1 ' invention . Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or for use in carrying out the process according to the invention.

Claims

REVENDICATIONS
1 - Procédé pour traiter une donnée numérique (DAT) créée, mémorisée, utilisée, ou destinée à être utilisée par une application (AP) dédiée à un réseau de données (RD) et exécutée dans un terminal, une requête d'accès mémoire (RA) incluant la donnée numérique (DAT) ayant été émise par l'application (AP) à destination d'un système d'exploitation du terminal, caractérisé en ce qu'il comprend les étapes suivantes : après interception (E2) de la requête d'accès mémoire (RA) destinée au système d'exploitation, identifier l'application (AP) à l'origine de ladite requête, déterminer (E4) un identificateur (IRD) du réseau de données associé a l'application identifiée (AP), générer (E5) une clé (KPD) en fonction de l'identificateur du réseau de données déterminé, et traiter (E6) la donnée numérique en fonction de la clé générée (KPD) .1 - Process for processing a digital datum (DAT) created, stored, used, or intended to be used by an application (AP) dedicated to a data network (RD) and executed in a terminal, a memory access request ( RA) including the digital datum (DAT) that has been transmitted by the application (AP) to an operating system of the terminal, characterized in that it comprises the following steps: after interception (E2) of the request access memory (RA) for the operating system, identifying the application (AP) at the origin of said request, determining (E4) an identifier (IRD) of the data network associated with the identified application (AP ), generating (E5) a key (KPD) according to the identifier of the determined data network, and processing (E6) the digital data according to the generated key (KPD).
2 - Procédé conforme à la revendication 1, selon lequel la clé (KPD) est générée en outre en fonction d'un type de requête (TR) inclus dans la requête d'accès mémoire (RA) .2 - Process according to claim 1, wherein the key (KPD) is further generated according to a type of request (TR) included in the memory access request (RA).
3 - Procédé conforme à la revendication 1 ou 2, selon lequel la clé générée (KPD) est une cle de chiffrement et la donnée numérique (DAT) est chiffrée en fonction de la clé de chiffrement générée (KPD) .3 - Process according to claim 1 or 2, wherein the generated key (KPD) is an encryption key and the digital data (DAT) is encrypted according to the generated encryption key (KPD).
4 - Procédé conforme à la revendication 1 ou 2, selon lequel la clé générée (KPD) est une clé de déchiffrement et la donnée numérique (DAT) est déchiffrée en fonction de la clé de déchiffrement générée (KPD) .4 - Process according to claim 1 or 2, wherein the generated key (KPD) is a key of decryption and the digital data (DAT) is decrypted according to the generated decryption key (KPD).
5 - Procédé conforme à l'une des revendications 1 à 4, selon lequel la donnée numérique (DAT) est un identificateur d'un fichier mémorisé dans le terminal et des première et deuxième clés (KPD) sont générées afin de traiter la donnée numérique et le fichier mémorisé respectivement en fonction des première et deuxième clés générées.5 - Process according to one of claims 1 to 4, wherein the digital data (DAT) is an identifier of a file stored in the terminal and first and second keys (KPD) are generated to process the digital data and the stored file respectively according to the first and second keys generated.
6 - Système pour traiter une donnée numérique (DAT) créée, mémorisée, utilisée, ou destinée à être utilisée par une application (AP) dédiée à un réseau de données (RD) et exécutée dans un terminal, une requête d'accès mémoire (RA) incluant la donnée numérique (DAT) ayant été émise par l'application (AP) à destination du système d'exploitation du terminal, caractérisé en ce qu'il comprend :6 - System for processing digital data (DAT) created, stored, used, or intended to be used by an application (AP) dedicated to a data network (RD) and executed in a terminal, a memory access request ( RA) including the digital data (DAT) that has been transmitted by the application (AP) to the operating system of the terminal, characterized in that it comprises:
- un moyen (GM) pour identifier l'application (AP) à l'origine la requête d'accès mémoire (RA) destinée au système d'exploitation, après interception de ladite requête, - un moyen (SVP) pour déterminer un identificateur (IRD) du réseau de données associé a l'application identifiée (AP),means (GM) for identifying the application (AP) at the origin of the memory access request (RA) intended for the operating system, after interception of said request, - means (SVP) for determining an identifier (IRD) of the data network associated with the identified application (AP),
- un moyen (GC) pour générer une clé (KPD) en fonction de l'identificateur du réseau de données détermine, etmeans (GC) for generating a key (KPD) according to the identifier of the data network determines, and
- un moyen (MC) pour traiter la donnée numérique (DAT) en fonction de la clé générée (KPD) .means (MC) for processing the digital data item (DAT) according to the generated key (KPD).
7 - Système conforme à la revendication 6, comprenant un moyen (GM) interceptant la requête d'accès mémoire (RA) destinée au système d'exploitation pour introduire des champs de paramètres de contexte (CP) dans la requête interceptée (RA), et au moins un moyen (SVP) pour renseigner les champs de paramètres de contexte par des valeurs dont une correspond à l'identificateur (IRD) du réseau de données.7 - System according to claim 6, comprising means (GM) intercepting the request memory access memory (RA) for introducing the context parameter (CP) fields into the intercepted request (AR), and at least one means (SVP) for filling the context parameter fields with values one of which corresponds to the identifier (IRD) of the data network.
8 - Système conforme à la revendication 6 ou a la revendication 7, inclus dans un composant électronique .8 - System according to claim 6 or claim 7, included in an electronic component.
9 - Programme d'ordinateur apte à être mis en œuvre dans un système pour traiter une donnée numérique (DAT) créée, mémorisée, utilisée, ou destinée à être utilisée par une application (AP) dédiée à un réseau de données (RD) et exécutée dans un terminal, une requête d'accès mémoire (RA) incluant la donnée numérique (DAT) ayant été émise par l'application (AP) a destination du système d'exploitation du terminal, ledit programme étant caractérise en ce qu'il comprend des instructions qui, lorsque le programme est exécuté dans ledit système, réalisent les étapes de : après interception (E2) de la requête d'accès mémoire (RA) destinée au système d'exploitation, identifier l'application (AP) à l'origine de ladite requête, déterminer (E4) un identificateur (IRD) du réseau de données associe a l'application identifiée (AP), générer (E5) une clé (KPD) en fonction de l'identificateur du réseau de données déterminé, et traiter (E6) la donnée numérique (DAT) en fonction de la clé générée (KPD) . 10 - Support d'enregistrement lisible par un système pour traiter une donnée numérique (DAT) créée, mémorisée, utilisée, ou destinée à être utilisée par une application (AP) dédiée à un réseau de données (RD) et exécutée dans un terminal, une requête d'accès mémoire (RA) incluant la donnée numérique (DAT) ayant été émise par l'application (AP) à destination d'un système d'exploitation du terminal, caractérisé en ce qu'il a enregistré un programme d'ordinateur comportant des instructions pour l'exécution des étapes suivantes : après interception (E2) de la requête d'accès mémoire (RA) destinée au système d'exploitation, identifier l'application (AP) à l'origine de ladite requête, déterminer (E4) un identificateur (IRD) du réseau de données associé a l'application identifiée (AP), générer (E5) une clé (KPD) en fonction de l'identificateur du réseau de données détermine, et traiter (E6) la donnée numérique (DAT) en fonction de la clé générée (KPD) . 9 - Computer program adapted to be implemented in a system for processing a digital data item (DAT) created, stored, used, or intended to be used by an application (AP) dedicated to a data network (RD) and executed in a terminal, a memory access request (RA) including the digital datum (DAT) that has been transmitted by the application (AP) to the operating system of the terminal, said program being characterized in that it comprises instructions which, when the program is executed in said system, perform the steps of: after interception (E2) of the memory access request (RA) intended for the operating system, identifying the application (AP) to the origin of said request, determining (E4) an identifier (IRD) of the data network associated with the identified application (AP), generating (E5) a key (KPD) according to the identifier of the determined data network, and treat (E6) the data e digital (DAT) according to the generated key (KPD). A system-readable recording medium for processing digital data (DAT) created, stored, used, or intended to be used by an application (AP) dedicated to a data network (RD) and executed in a terminal, a memory access request (RA) including the digital datum (DAT) that has been transmitted by the application (AP) to an operating system of the terminal, characterized in that it has recorded a program of computer having instructions for performing the following steps: after interception (E2) of the memory access request (RA) for the operating system, identifying the application (AP) at the origin of said request, determining (E4) an identifier (IRD) of the data network associated with the identified application (AP), generating (E5) a key (KPD) according to the identifier of the data network determines, and processing (E6) the data digital (DAT) depending on the key generated (KPD).
PCT/FR2007/052481 2006-12-19 2007-12-11 Processing of data relating to a data network WO2008084155A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0655633 2006-12-19
FR0655633A FR2910202A1 (en) 2006-12-19 2006-12-19 Digital data processing method for e.g. personal computer, involves generating data protection key according to identifier of determined data network, and processing digital data according to generated key

Publications (2)

Publication Number Publication Date
WO2008084155A2 true WO2008084155A2 (en) 2008-07-17
WO2008084155A3 WO2008084155A3 (en) 2009-05-22

Family

ID=38323954

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/052481 WO2008084155A2 (en) 2006-12-19 2007-12-11 Processing of data relating to a data network

Country Status (2)

Country Link
FR (1) FR2910202A1 (en)
WO (1) WO2008084155A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049380A1 (en) * 1998-03-24 1999-09-30 Symantec Corporation System for intercepting file accesses and for automatic decryption and re-encryption of file data on a per-use basis
GB2425439A (en) * 2005-04-19 2006-10-25 Motorola Inc Determination of a network identity for a WLAN access point

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049380A1 (en) * 1998-03-24 1999-09-30 Symantec Corporation System for intercepting file accesses and for automatic decryption and re-encryption of file data on a per-use basis
GB2425439A (en) * 2005-04-19 2006-10-25 Motorola Inc Determination of a network identity for a WLAN access point

Also Published As

Publication number Publication date
FR2910202A1 (en) 2008-06-20
WO2008084155A3 (en) 2009-05-22

Similar Documents

Publication Publication Date Title
CN108369622B (en) Software container registry service
EP2764462B1 (en) Method of generating, from an initial package file comprising an application to be secured and an initial configuration file, a package file for securing the application, and associated computer program product and computing device
US10204235B2 (en) Content item encryption on mobile devices
WO2005098570A1 (en) Execution device
CN103731395A (en) Processing method and system for files
EP3108361A2 (en) Method of deploying a set of software application(s)
JP5112924B2 (en) Application moving system, application moving method, program, and portable terminal
US8607226B2 (en) Solution for locally staged electronic software distribution using secure removable media
WO2005008509A2 (en) Method of managing software components that are integrated into an embedded system
CN113661491A (en) Method for encrypting and updating virtual disk
WO2008084154A2 (en) Processing of data associated with a digital service
CN111143879A (en) Android platform SD card file protection method, terminal device and storage medium
WO2008084155A2 (en) Processing of data relating to a data network
EP2912598B1 (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system
WO2006085029A2 (en) Method for protection of a digital rights file
EP1185914B1 (en) Method for securing application software from a processing unit and secret storage unit and system therefor
WO2023062095A1 (en) Method and device for transferring a communication from one base station to another
CN115859339A (en) Method, device, medium and equipment for encrypting and decrypting cloud storage data
EP4005260A1 (en) Dynamic adaption of a secure element execution environment to profiles
CN116383870A (en) Cloud disk management method and system
FR3094515A1 (en) secure code execution process, corresponding devices, system and programs
WO2008087332A2 (en) Method enabling a security policy to be applied to a downloadable application accessing resources of the network
KR20030000554A (en) Method for managing peer-to-peer network where digital right management is realized
WO2008135692A1 (en) Access management to resources of an exploitation system
FR2950172A1 (en) METHOD AND DEVICE FOR INSTALLING A MIFARE APPLICATION IN A MIFARE MEMORY

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07871911

Country of ref document: EP

Kind code of ref document: A2