FR2910202A1 - 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 - Google Patents

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 Download PDF

Info

Publication number
FR2910202A1
FR2910202A1 FR0655633A FR0655633A FR2910202A1 FR 2910202 A1 FR2910202 A1 FR 2910202A1 FR 0655633 A FR0655633 A FR 0655633A FR 0655633 A FR0655633 A FR 0655633A FR 2910202 A1 FR2910202 A1 FR 2910202A1
Authority
FR
France
Prior art keywords
data
key
application
identifier
terminal
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.)
Withdrawn
Application number
FR0655633A
Other languages
French (fr)
Inventor
Olivier Lobry
Florence Germain
Etienne Annic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0655633A priority Critical patent/FR2910202A1/en
Priority to PCT/FR2007/052481 priority patent/WO2008084155A2/en
Publication of FR2910202A1 publication Critical patent/FR2910202A1/en
Withdrawn legal-status Critical Current

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

Abstract

The method involves identifying an application (AP) at the origin of a memory access request (RA) using a memory manager (GM), after interception of the request for an operating system, where the request includes digital data (DAT). An identifier of a data network (RD) associated to the identified application is determined using a parameter server (SVP). A data protection key (KPD) e.g. encryption key, is generated according to the identifier of the determined network using a key generator (GC). The digital data is processed according to the generated key using an encryption module (MC). Independent claims are also included for the following: (1) a system for processing a digital data, comprising a determining unit (2) a computer program comprising a set of instructions to perform a method for processing a digital data (3) a recording medium comprising a set of instructions to perform a method for processing a digital data.

Description

1 Traitement de donnée relative à un réseau de données La présente1 Data processing relating to a data network This

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.  The invention relates to a processing of digital data which relates to a data network. 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 constitué 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 réseaux de données quelconques sont supposés 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 Telecommunications System" en anglais), est un espace d'adressage identifié par un nom de point d'accès APN ("Access Point Naine" 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 2910202 2 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 5 depuis un terminal bancaire avec un réseau d'accès sans contact, ou une carte mémoire amovible, telle qu'une carte à puce, insérable dans un terminal et contenant un logiciel informatique, ou bien encore 10 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é 15 plusieurs fois de manière à 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 20 appartenant au réseau Internet, et pour lire un fichier appartenant à un réseau de données proposant des services de musique à la demande. Une application est dite "dédiée à un réseau de données" lorsque son exécution est lancée dans le 25 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 30 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 "à 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 2910202 3 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 5 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 10 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 15 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 20 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 à 25 plusieurs réseaux de données, mais n'est pas capable de confiner les données à 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 30 dans un terminal mobile et de les copier dans un autre réseau 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 35 de la mémoire amovible du terminal.  In the context of the present invention, the term "data network" means a set of resources consisting of 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. 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 Naine" 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") or a banking network accessible from a banking terminal with a contactless access network, or a removable memory card, such as a smart card, insertable into a terminal and containing computer software, or else 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 run 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. An application is said to be "dedicated to a data network" when its execution is initiated in the context of the data network, i.e., on the data stored or transferred within the data network. A digital datum is said to relate to a data network if this digital datum is created, stored, used, or intended to be used by an application dedicated to that data network. In this case, the data network is said to be "the source of the digital data" in question. For example, data stored in a terminal may comprise, on the one hand, data of the terminal user interface with respect to a data network internal to the terminal, and on the other hand data of a bearer. electronic money included in the terminal relative to a data network providing a banking service. In the remainder of the description, a "service network" refers to a data network providing 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 pay-per-view video video download service network must be exploitable only within the framework of that network, and not as part of a network of free services. . Likewise, personal information such as banking information relating to a user must be accessible only within the context of the banking network which is at the origin thereof. 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 into a removable memory installed in a mobile terminal and to copy them to another data network after installing the removable memory on another terminal. Thus, confidential data from a banking network can be copied over the Internet using the removable memory of the terminal.

2910202 4 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 5 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 10 jeu à 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 15 approches existent actuellement. Une première approche consiste à 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 20 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 25 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 30 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 oeuvre par le système d'exploitation d'un terminal qui peut chiffrer un fichier donné, avec une clé attribuée à l'utilisateur 35 du terminal pour le compte duquel le fichier est 2910202 5 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 5 applications dédiées respectivement à 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- 10 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 à 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 15 numérique ayant été émise par l'application à 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 20 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 25 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 30 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 2910202 6 l'exécution de l'application, éventuellement à l'insu de cette dernière. L'invention suppose par ailleurs que le système d'exploitation du terminal gère explicitement, c'est- 5 à-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é.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 download of the game with each use of the latter is a prohibitive constraint to the marketing of the game Another solution is to control the use of 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 executed on behalf of a given user has the write or read access rights to the file concerned before satisfying the request. Thus, each file can be associated with 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 which can encrypt a given file, with a key assigned to the user of the terminal on behalf of which the file is manipulated. 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 executing on the same operating system. To overcome the drawbacks mentioned above, a method according to the invention for processing a digital data item created, stored, used, or intended to be used by an application dedicated to a data network and executed in a terminal, a request for a Memory access including digital data that has been transmitted 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 20 for the operating system, identifying the application at the origin of said request, determining an identifier of the data network associated with the identified application, generating a key according to the identifier 25 of the determined data network, and process the digital data according to the key generated. 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 operating system of the terminal when launching the application, possibly without the knowledge of the latter. The invention further assumes that the operating system of the terminal explicitly manages, that is, stores, protects, and makes accessible, 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.

10 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 réseaux de données d'origine, y 15 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 20 l'invention qu'elle réalise un "confinement à l'exécution" des réseaux de données. Cela signifie en premier lieu que toute donnée résultant de l'exécution d'une application dédiée à un réseau de données est nécessairement "attribuée" à ce seul 25 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 30 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 à l'exécution de ce réseau de données. Par conséquent, l'accès à un réseau de 2910202 7 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 5 application relative au premier réseau de données ne peut accéder à 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 10 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 à la donnée lorsque la mémoire amovible est installée dans le deuxième 15 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 20 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, à chaque utilisation, des 25 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 30 être repris dès 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é.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 medium. Removable persistent memory type record. Therefore, we will say of the invention that it performs a "run-time confinement" of the data networks. This means in the first place that any data resulting from the execution of an application dedicated to a data network is necessarily "attributed" to this data network alone, and secondly that an application that is launched in the context The 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. Moreover, a terminal is said to be "compatible with a data network" when this terminal guarantees confinement to the execution of this data network. Therefore, access to a data network is reserved for the terminals compatible with this data network. Thus, in a terminal compatible with first and second data networks, a first application relating to the first data network can not access data generated by a second application relating to the second data network. Likewise, 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. to the data when the removable memory is installed in the second terminal. 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, with each use, 25 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 at the end of the incident, and the data already downloaded are stored in a persistent memory terminal so as not to lose the benefit of the download already made.

2910202 8 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 5 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 10 volatile du terminal assure un premier niveau de protection quant à la localisation du fichier mémorisé. L'invention concerne également un système pour 15 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 20 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 25 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 30 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, 35 le système peut comprendre un moyen interceptant la 2910202 9 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 5 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 à l'identificateur du réseau de données.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 respectively stored file according to the invention. first and 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 a digital data item 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 item. was issued by the application to the terminal operating system. The system is characterized in that it comprises: - means for identifying the application at the origin of the memory access request for the operating system, after interception of said request, - means for determining a identifier of the data network associated with the identified application; means for generating a key according to the identifier of the determined data network; and means for processing the digital data according to the generated key. According to another characteristic of the invention, the system may comprise a means for intercepting the memory access request intended for the operating system to introduce context parameter fields, notably associated with the launch and execution context. of the current application 5, in the intercepted request, and at least one means for filling the context parameter fields with values, one of which corresponds to the identifier of the data network.

10 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 15 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 in order to protect read 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.

20 Enfin, l'invention se rapporte à un programme d'ordinateur apte à être mis en oeuvre dans 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 25 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 terminal, said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention.

30 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 35 annexés correspondants dans lesquels : 2910202 10 - 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 5 - la figure 2 est l'algorithme d'un procédé de traitement de donnée selon l'invention mis en oeuvre dans le système de protection. En référence à la figure 1, le système de 10 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 15 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 20 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 25 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 30 communication entre deux de ces entités. Le gestionnaire de mémoire GM gère à 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 35 mémoire volatile.Other features and advantages of the present invention will become more apparent upon reading the following description of several embodiments of the invention given by way of non-limiting examples, with reference to the corresponding accompanying 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 FIG. invention implemented in the protection system. With reference to FIG. 1, the protection system SP according to the invention 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. For example, 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 parameter server SVP 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, read and write access to MEM memories of the terminal, such as a persistent memory or a volatile memory.

2910202 11 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 5 générateur de clé 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 10 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.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. Still with reference to FIG. 1, the terminal includes MEM memories that include 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.

15 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 20 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 oeuvre dans un composant électronique de 25 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 30 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 35 système de protection est que son exécution réclame 2910202 12 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 5 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 10 contient des applications critiques comme, par exemple, un système d'exploitation certifié mettant en oeuvre le gestionnaire de mémoire GM, ou un navigateur certifié. Quand un service nécessitant un haut niveau de 15 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, 20 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 25 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 30 volatile du terminal pour extraire des données confidentielles provenant d'un service, l'application ne pourra pas accéder à 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 35 d'extraire des données provenant d'un réseau de 2910202 13 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 5 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 10 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énalisé par le temps de traitement du système de chiffrement SC, 15 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 à des applications certifiées qui seront stockées et 20 exécutées dans le composant électronique de manière à 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 25 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).The terminal operating system runs AP applications and manages the sharing of terminal resources between the applications. An AP application that is executed by the terminal operating system in the context of an RD data network may request storage of data in one of the terminal's MEMs. In particular, the protection system SP can be implemented in an electronic component of microcontroller type, microprocessor circuit or smart card, so that the system is not pirated, spied or modified. This embodiment is particularly advantageous when the electronic component includes, in addition to the protection system SP 30, a volatile memory, a persistent memory, storing for example the application codes allowing the operating system to execute, and a processor in which the source code of the protection system is executed. Indeed, a weakness of the protection system is that its execution requires that its source code be 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 10 contains critical applications such as, for example, a certified operating system implementing the GM memory manager, or a certified browser. When a service requiring a high level of security is to be executed on the terminal, it is then executed by means of the processor and the 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 may 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 SP protection system of the electronic component before being stored on said volatile or persistent memories of the terminal. Thus, even if an application called "hacker" has hardware means to spy the volatile memory of the terminal to extract confidential data from a service, the application will not be able to access these data because they will have been previously encrypted by the encryption system SC. Therefore, it is not possible to extract data from a data network, access it, and copy it to another data network illegitimately. In addition, the encryption system SC can be implemented in hardwired logic rather than in software form. 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 storage of 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, the latter must preferably be optimized, for example by using a realization in hardwired logic. Finally, this realization makes it possible to use certified applications which 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 25 required by most services requiring a high degree of security such as a banking service, the control of access to a site, or the management of digital rights. DRM ("Digital Rights Management").

30 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 35 oeuvre par des instructions d'un programme 2910202 14 d'ordinateur enregistré sur un support d'enregistrement lisible par le système de protection SP. Au préalable, un utilisateur du terminal a 5 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 10 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 à l'utilisateur les réseaux de données auquel ce dernier est abonné et les applications disponibles 15 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 20 d'accès mémoire RA à 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.With reference to FIG. 2, the method according to the invention comprises steps E1 to E7 automatically executed under the control of the protection system SP included in the terminal and implemented by instructions of a program 2910202. computer recorded on a recording medium readable by the SP protection system. In advance, a user of the terminal 5 subscribes to an operator managing a data network and thus becomes a subscriber to at least one data network. 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. The executed application AP transmits an RA memory access request 20 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.

25 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 30 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é 2910202 15 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 5 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 10 mémoire GM du système de protection SP qui est à 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 à l'origine de la 15 requête RA, par exemple au moyen d'une correspondance entre un processus système et un identificateur de l'application. Le gestionnaire de mémoire GM modifie la requête interceptée RA en une requête modifiée RM en la 20 complétant par un ou plusieurs champs de paramètres de contexte CP, l'un d'eux étant nécessairement destiné à être renseigné par un identificateur IRD du réseau de données dans le contexte duquel l'application a été lançée. Les champs peuvent être 25 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.For example, the access type is a read or a write of data. The memory access request RA also includes digital data DAT to be processed, that is to say encrypted or decrypted. DAT digital data can be used to identify "simple" or "structured" digital content. Simple digital content can be a variable or string such as a name or a date. Structured digital content may be a heterogeneous set of simple data, such as a file already stored in one of the memories MEM and referenced by an identifier included in the data item to be processed. 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. 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 destined for the operating system of the operating system. terminal. The memory manager GM then identifies the AP application that is the source of the RA request, 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 context parameter fields CP, one of them necessarily being intended to be filled by an identifier IRD of the data network. in the context of which the application was launched. The fields may be populated by the values of other parameters such as a user identifier or a terminal identifier. Optionally, the memory manager GM temporarily stores the modified query RM.

30 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 35 donnée à traiter DAT inclus dans la requête 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.

2910202 16 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.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.

5 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 à l'application AP, afin de renseigner les champs de la requête modifiée par ces valeurs. Avantageusement, si le serveur SVP 10 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é 15 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 à 20 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 25 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 30 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.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 fill in the fields of the query modified by these values. Advantageously, if the server SVP 10 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 method finish, thus ensuring the security of the data. 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 table of matches between application identifiers and IRD data network identifiers. 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. The parameter server SVP transmits the context parameter fields filled CPR to the encryption controller CC which stores them.

2910202 17 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 5 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 10 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.Alternatively, the steps E3 and E4 are replaced by steps E31 and E41, respectively. 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. In step E41, the memory manager GM 10 informs the fields of the modified request by 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.

15 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.In step E5, the encryption controller CC transmits the context parameter fields filled with CPR and the type of request TR to the key generator GC.

20 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 25 données à traiter DAT incluses dans la requête RA. Par exemple, dans le cas où la donnée à 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 30 une clé de chiffrement si le type de requête TR est relatif à une écriture, ou est une clé de déchiffrement si le type de requête TR est relatif à une lecture. Dans un autre exemple, si la donnée à traiter 35 DAT est un identificateur référençant un contenu 2910202 18 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é lagénération d'une première clé 5 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é 10 la génération d'une seule clé pour chiffrer l'identificateur de fichier et le contenu du fichier référencé 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.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 request TR and the nature of the DAT data to be included in the RA request. For example, in the case where the data to be processed DAT represents "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 request type TR is relative to a write, or is a decryption key if the request type TR is relative to a read. In another example, if the data to be processed DAT is an identifier referencing a "structured" digital content such as a file, and if the type of request is relative to a read, the encryption controller requires from the user. key generator generation of a first key 5 for encrypting the file identifier and a second key for decrypting 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 10 to generate a single key to encrypt the file identifier and the contents of the file referenced by the identifier. The key generator GC then transmits the generated key KPD to the encryption controller CC.

15 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 20 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 25 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 30 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.The generated key 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, encrypted data 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. In a variant, the key generator GC extracts a data protection key KPD from a list of 30 pre-calculated keys according to the list of context parameters and the type of request TR, the key KPD being either an encryption key KC, a KD decryption key.

2910202 19 A l'étape E6, le contrôleur de chiffrement CC transmet la donnée à 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 5 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 10 algorithme de déchiffrement auquel est applicable toute clé de déchiffrement. Par conséquent, l'algorithme de chiffrement ou de déchiffrement utilisé par le module de chiffrement MC est dual de l'algorithme de génération des clés de chiffrement ou 15 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 20 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 25 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 30 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 35 être mémorisée dans une mémoire persistante, et si le 2910202 20 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 à l'application AP pour que cette dernière lise la 5 donnée traitée mémorisée. Dans une variante, les étapes E6 et E7 sont complétées comme expliqué ci-après. La donnée à traiter DAT incluse dans la requête 10 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, à l'étape E5, le contrôleur de chiffrement CC requiert de la part du générateur 15 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 20 dans la requête d'accès mémoire RA. Puis à 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 25 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 30 commande au gestionnaire de mémoire GM la mémorisation de l'identificateur chiffré et du fichier chiffré dans une mémoire du terminal. Dans une autre variante, l'étape E6 est 35 complétée comme expliqué ci-après.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. 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 data processing, for example an encryption algorithm to which any encryption key and a decryption algorithm to which any decryption key is applicable are applicable. Therefore, the encryption or decryption algorithm used by the encryption module MC is dual of the encryption or decryption key generation algorithm used by the key generator GC. The encryption module MC encrypts the received data DAT with the key KPD if the request type TR is relative to a write, or decrypts the received data DAT with the key KPD if the request type TR 20 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. As 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. 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 memory MEM of the terminal according to the type of request TR. For example, if the request type TR is relative to a write, the processed data DT may be stored in a persistent memory, and if the request type 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 processed data stored. In a variant, steps E6 and E7 are completed as explained below. The data to be processed DAT included in the request 10 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. 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. for 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. Then in step E6, the ciphering controller CC transmits the data to be processed DAT, i.e. the file identifier, as well as the loaded file, the generated key and the request type 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. In step E7, the DC encryption controller 30 commands the memory manager GM to store the encrypted identifier and the encrypted file in a memory of the terminal. In another variant, step E6 is completed as explained below.

2910202 21 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.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.

5 Dans cette variante, à 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.In this variant, in step E5, the encryption controller CC requires the generation of an encryption key and a decryption key, which may be identical, from the key generator GC.

10 Puis à 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 15 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 20 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 25 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 30 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 35 opérations exécutées par le générateur de clé GC et 2910202 22 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 à la donnée à traiter 5 préalablement chargée avant de les transmettre au module de chiffrement MC. Cette association garantit que la clé et la donnée à traiter transmises au module de chiffrement MC correspondent à une même requête. Ainsi, plusieurs requêtes peuvent être 10 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 15 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 20 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, 25 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 30 d'ordinateur incorporé 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 2910202 23 programme, réalisent les étapes du procédé selon l'invention. En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme 5 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 oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous 10 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 implémenter le procédé selon l'invention.Then in step E6, the encryption controller CC transmits the data to be processed DAT, i.e. 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 GM memory manager using 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. In step E7, the encryption controller CC commands the memory manager GM to store the decrypted file in a volatile memory of the terminal so as to be readable by the application AP. For the sake of synchronization between the operations performed by the GC key generator and the encryption module MC, the encryption controller CC receives a KPD data protection key generated by the key generator GC and associates the key KPD to the data to be processed 5 previously loaded 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 DC encryption controller. Alternatively, the functionality of the DC encryption controller is partially or fully integrated in the GM memory manager and / or the GC key generator 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 these two latter also communicate directly with each other. The invention described herein relates to a method and system for processing digital data created, stored, used, or intended to be used by an AP application dedicated to an RD data network 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, perform the steps of the method according to the invention. Accordingly, the invention also applies to a computer program, in particular a computer program recorded on or in a computer-readable information carrier and any data processing device, adapted to implement the 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 form for implementing the method according to the invention.

15 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 20 l'invention, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore une clé USB, ou un moyen d'enregistrement magnétique, par exemple une disquette ("floppy disc") ou un disque dur.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 again a USB key, or a magnetic recording means, for example a diskette ("floppy disc") or a hard disk.

25 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 30 être en particulier téléchargé sur un réseau 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 2910202 24 pour être utilisé dans l'exécution du procédé selon l'invention.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 may in particular be downloaded to an internet type network. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to perform or to be used in carrying out the method according to the invention.

Claims (10)

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é à 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 data (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 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 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 clé 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 2910202 26 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  4 - Process according to claim 1 or 2, wherein the generated key (KPD) is a decryption key and the digital data (DAT) is decrypted according to the generated decryption key (KPD). 5 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 10 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 file 10 stored 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 15 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 20 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, 25 - un moyen (SVP) pour déterminer un identificateur (IRD) du réseau de données associé à 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 30 déterminé, et - un moyen (MC) pour traiter la donnée numérique (DAT) en fonction de la clé générée (KPD).  6 - System 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 data (DAT) that has been transmitted by the application (AP) to the terminal operating system, characterized in that it comprises: - means (GM) for identifying the application (AP) at the origin the memory access request (RA) 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), - means (GC) for generating a key (KPD) according to the identifier of the determined data network 30, and - means (MC) for processing the digital data (DAT) according to of the generated key (KPD). 7 - Système conforme à la revendication 6, 35 comprenant un moyen (GM) interceptant la requête 2910202 27 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 5 renseigner les champs de paramètres de contexte par des valeurs dont une correspond à l'identificateur (IRD) du réseau de données.  A system according to claim 6, including means (GM) intercepting the memory access (RA) request 2910202 for the operating system for introducing context parameter (CP) fields into the intercepted request ( RA), and at least one means (SVP) for entering 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 à 10 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 oeuvre dans un système pour traiter une donnée 15 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 20 par l'application (AP) à destination du système d'exploitation du terminal, ledit programme étant caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est exécuté dans ledit système, réalisent les étapes de : 25 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 30 réseau de données associé à 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 35 fonction de la clé générée (KPD). 2910202 28  9 - Computer program adapted to be implemented in a 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) having 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 ) 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 network determined data, and er (E6) the digital datum (DAT) according to the generated key (KPD). 2910202 28 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 5 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 10 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, 15 identifier l'application (AP) à l'origine de ladite requête, déterminer (E4) un identificateur (IRD) du réseau de données associé à l'application identifiée (AP), 20 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).  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 data (DAT) having been transmitted by the application (AP) to an operating system of the terminal, characterized in that it has recorded a program computer system comprising 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 query, 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 numerical data (DAT) in function one of the generated key (KPD).
FR0655633A 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 Withdrawn FR2910202A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
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
PCT/FR2007/052481 WO2008084155A2 (en) 2006-12-19 2007-12-11 Processing of data relating to a data network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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 (1)

Publication Number Publication Date
FR2910202A1 true FR2910202A1 (en) 2008-06-20

Family

ID=38323954

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0655633A Withdrawn 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

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
WO2008084155A2 (en) 2008-07-17
WO2008084155A3 (en) 2009-05-22

Similar Documents

Publication Publication Date Title
US10255443B2 (en) Method, apparatus, system and non-transitory computer readable medium for code protection
US10204235B2 (en) Content item encryption on mobile devices
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
WO2005098570A1 (en) Execution device
KR20190018869A (en) System and method for providing storage service based on block chain
CN111143869A (en) Application package processing method and device, electronic equipment and storage medium
FR3017725A1 (en) METHOD OF DEPLOYING A SOFTWARE APPLICATION SET (S)
CN106951799B (en) A kind of Android Double Data subregion construction method
US8607226B2 (en) Solution for locally staged electronic software distribution using secure removable media
US20100153667A1 (en) Method, computer program and electronic device
JP2009237930A (en) Application transfer system, and application transfer method and program
EP1649363A2 (en) Method of managing software components that are integrated into an embedded system
CN113661491A (en) Method for encrypting and updating virtual disk
CN111143879A (en) Android platform SD card file protection method, terminal device and storage medium
WO2008084154A2 (en) Processing of data associated with a digital service
US20200117772A1 (en) Presenting content protected by multiple drms
KR20170006960A (en) Application Providing System using Cloud Virtual File, Cloud Server and Application Providing Method, Service Server and Service Method, Mobile and Application Practicing Method
FR2910202A1 (en) 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
CN117094016B (en) Encryption method and device based on Guomai Linux kernel file system data
EP3411821B1 (en) Method for storing content, method for consulting content, method for managing content and content readers
CN115859339A (en) Method, device, medium and equipment for encrypting and decrypting cloud storage data
EP1376349A1 (en) Graphical user interface for installing software programs from a startup bundle
CN116383870A (en) Cloud disk management method and system
FR3099258A1 (en) Dynamic adaptation of a secure element execution environment to profiles
FR2762111A1 (en) Protection of computer file against illicit copying and use

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20081020