WO2008084155A2 - Traitement de donnee relative a un reseau de donnees - Google Patents
Traitement de donnee relative a un reseau de donnees Download PDFInfo
- 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
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Pour traiter, par exemple chiffrer ou déchiffrer, une donnée numérique (DAT) crée, stocké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, un système de protection (SP) intercepte la requête d'accès mémoire (RA) destinée au système d'exploitation. Ce dernier identifie l'application (AP) à l'origine de ladite requête, un serveur de paramètres (SVP) détermine un identificateur (IRD) du réseau de données associé à l'application (AP), et un générateur de clé (GC) génère une clé (KPD) en fonction du réseau de données identifié par cet identificateur (IRD) afin de traiter la donnée numérique en fonction de la clé (KPD) générée.
Description
Traitement de donnée relative à un réseau de données
La présente invention concerne un traitement d'une donnée numérique qui est relative à un réseau de données.
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.
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 .
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) .
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.
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.
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 .
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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é.
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.
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é .
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 :
- 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,
- un moyen pour déterminer un identificateur du réseau de données associé à l'application identifiée,
- un moyen pour générer une clé en fonction de l'identificateur du réseau de données déterminé, et
- un moyen pour traiter la donnée numérique en fonction de la clé générée.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 .
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) .
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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.
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.
Le module de chiffrement MC transmet alors la donnée traitée DT au contrôleur de chiffrement 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.
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.
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.
Dans une variante, les étapes E6 et E7 sont complétées comme expliqué ci-apres.
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.
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.
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.
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.
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.
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.
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.
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.
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 .
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 .
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 .
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 .
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) .
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) .
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) .
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) .
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.
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 :
- 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),
- un moyen (GC) pour générer une clé (KPD) en fonction de l'identificateur du réseau de données détermine, et
- un moyen (MC) pour traiter la donnée numérique (DAT) en fonction de la clé générée (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.
8 - Système conforme à la revendication 6 ou a la revendication 7, inclus dans un composant électronique .
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) .
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0655633A FR2910202A1 (fr) | 2006-12-19 | 2006-12-19 | Traitement de donnee relative a un reseau de donnees |
| FR0655633 | 2006-12-19 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2008084155A2 true WO2008084155A2 (fr) | 2008-07-17 |
| WO2008084155A3 WO2008084155A3 (fr) | 2009-05-22 |
Family
ID=38323954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2007/052481 Ceased WO2008084155A2 (fr) | 2006-12-19 | 2007-12-11 | Traitement de donnee relative a un reseau de donnees |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR2910202A1 (fr) |
| WO (1) | WO2008084155A2 (fr) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010044901A1 (en) * | 1998-03-24 | 2001-11-22 | Symantec Corporation | Bubble-protected system for automatic decryption of file data on a per-use basis and automatic re-encryption |
| GB2425439B (en) * | 2005-04-19 | 2007-05-09 | Motorola Inc | Determination of a network identity for a network access point |
-
2006
- 2006-12-19 FR FR0655633A patent/FR2910202A1/fr not_active Withdrawn
-
2007
- 2007-12-11 WO PCT/FR2007/052481 patent/WO2008084155A2/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| FR2910202A1 (fr) | 2008-06-20 |
| WO2008084155A3 (fr) | 2009-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2764462B1 (fr) | Procede de generation, a partir d'un fichier initial de paquetage comportant une application a securiser et un fichier initial de configuration, d'un fichier de paquetage pour la securisation de l'application, produit programme d'ordinateur et dispositif informatique associes | |
| US10204235B2 (en) | Content item encryption on mobile devices | |
| FR3017725A1 (fr) | Procede de deploiement d'un ensemble d'application (s) logicielle (s) | |
| TW201337620A (zh) | 用於部分保全記憶體處理的軟體修改技術 | |
| CN113568643A (zh) | 一种资源获取方法、装置、电子设备及计算机可读介质 | |
| JP5112924B2 (ja) | アプリケーション移動システム、アプリケーションの移動方法、プログラムおよび携帯端末 | |
| WO2005098570A1 (fr) | Dispositif d’exécution | |
| CN116383870A (zh) | 管理云盘的方法以及系统 | |
| US8607226B2 (en) | Solution for locally staged electronic software distribution using secure removable media | |
| CN115859339A (zh) | 一种云存储数据的加密和解密的方法、装置、介质及设备 | |
| WO2005008509A2 (fr) | Procede de gestion des composants logiciels integres dans un systeme embarque | |
| WO2008084154A2 (fr) | Traitement de donnee relative a un service numerique | |
| WO2025082483A1 (fr) | Procédé de chiffrement de données, procédé de déchiffrement de données, système de chiffrement et de déchiffrement de données, dispositif électronique et support | |
| CN111143879A (zh) | 一种Android平台SD卡文件保护方法、终端设备及存储介质 | |
| CN115130141B (zh) | 一种文档处理方法、装置、移动终端及存储介质 | |
| CN118606969A (zh) | 数据卷加解密方法、装置、设备、存储介质、计算机程序产品及系统 | |
| WO2008084155A2 (fr) | Traitement de donnee relative a un reseau de donnees | |
| EP2912598B1 (fr) | Procédé de téléchargement d'au moins un composant logiciel dans un appareil informatique, produit programme d'ordinateur, appareil informatique et système informatique associés | |
| CN101112040B (zh) | 用于保护数字权限文件描述的方法和装置 | |
| WO2025083055A1 (fr) | Procédé de communication avec un ordinateur distant depuis un ordinateur local | |
| EP4005260A1 (fr) | Adaptation dynamique d'un environnement d'exécution d'élément sécurisé à des profils | |
| WO2023062095A1 (fr) | Procédé et dispositif de transfert d'une communication d'une station de base à une autre | |
| WO2008087332A2 (fr) | Procede permettant d'imposer une politique de securite a une application telechargeable accedant a des ressources du reseau | |
| FR3094515A1 (fr) | procédé d’exécution de code sécurisé, dispositifs, système et programmes correspondants | |
| KR20030000554A (ko) | 디지털 권리 운영이 현실화된 피어-투-피어 네트워크의운영 방법 |
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 |