WO2008135692A1 - Access management to resources of an exploitation system - Google Patents
Access management to resources of an exploitation system Download PDFInfo
- Publication number
- WO2008135692A1 WO2008135692A1 PCT/FR2008/050538 FR2008050538W WO2008135692A1 WO 2008135692 A1 WO2008135692 A1 WO 2008135692A1 FR 2008050538 W FR2008050538 W FR 2008050538W WO 2008135692 A1 WO2008135692 A1 WO 2008135692A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- resource
- request
- terminal
- execution unit
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 23
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 19
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 19
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 19
- 238000002490 spark plasma sintering Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 230000007257 malfunction Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000036210 malignancy Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000505 pernicious effect Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
Definitions
- the present invention relates to managing access to resources of an operating system of a terminal by an application dedicated to a digital service.
- a digital service is provided by a service provider to a user to access a data set in strict compliance with the rules of an economic model.
- An economic data-model pair defining a service is associated with a list of rights holders, that is to say natural or legal persons who have acquired a license to use and who are therefore authorized to consume the said license. service and associated data as part of the service's economic model.
- An economic model defines a commercial contract for the consumption of a digital service, characterized for example by a tariff of the service and rules of use of the service. Following the non-fulfillment of a rule stipulated by the contract, the use of the service is deemed unlawful.
- DRM digital rights management
- An "application” is conventionally defined as a unit of execution of a program executable by a terminal.
- the same program can be run multiple times so that different applications required by the program execution are respectively dedicated to different digital services. For example, a media player may be first run to read a video file once on an on-demand view, and a second time to play another video file with a license granting a predetermined number of views. from this other video file.
- An application is said to be "dedicated to a digital service" associated with an economic data-model pair when its execution is intended to be launched on the data of said digital service.
- a system resource is a hardware or software element of a terminal that is accessible by the operating system.
- a system resource may be a device such as a keyboard, a screen, a speaker, or a battery, a memory, a processor, a network interface, or even software, a file manager.
- system resources are represented in different ways and each has its own mode of access.
- the operating system contains descriptive elements for each system resource, the latter providing instructions or interpretable information by an application to access the system resource.
- Descriptive elements often have the form of a data file, such as a "pseudo-file" in Unix operating systems for accessing certain system resources such as the keyboard.
- a descriptive element may simply be a pointer to a memory, for example to designate a range of addresses of a memory to be dedicated to a certain resource such as a graphics memory.
- An operating system offers in particular basic functions of a computer terminal, such as memory management, access to different peripherals or the management of the execution of processes on the processor.
- Current operating systems implement a "user-centric" policy for managing access rights to system resources: to a given user are granted rights giving access to more or less operating system resources.
- Some operating systems are single-user, that is, only one user can use a computer terminal at a given time.
- Other operating systems are multiuser, that is to say that several users can use the same computer terminal simultaneously. In the latter case, a user profile grants each user access rights to certain system resources.
- a single user often referred to as an "administrator" has access to all system resources while other users have access to only a limited number of resources.
- profile-based operating systems implement a "user-centric" policy for managing access rights to system resources.
- a service that is run on behalf of a user inherits the user's rights.
- a service running on behalf of an administrator-type user has all rights, even the right to destroy the operating system itself.
- a "user centric" operating system treats all services executed by the same user with the same rights. For example, an internet browsing service and a secure credit card payment service can both be executed on behalf of a given user on a terminal having "contactless" access to a banking network and wireless internet access.
- the use of the card payment service requires the exclusive use of the banking network, and excludes access to the Internet a priori.
- the "user-centric" operating system does not control the type of access used by the payment service. It is then possible to use the internet access for the payment service and thus to divulge confidential data without prohibition by the operating system.
- any service on the internet may interfere with the payment service to make confidential banking data available on the Internet or to engage in illegal banking. Indeed, for the operating system, this practice is normal since it is consistent with the rights of the user. But for the supplier of payment service, this practice can lead to economic disasters.
- a malicious service is downloaded into a computer terminal from a network.
- the service inherits the rights of the user, and therefore in particular rights of access to the data of the user.
- this practice appears quite normal since it is in accordance with the rights of the user.
- E-commerce services using online payment and / or account consultation are implemented on a terminal at the risk of the user.
- HTTPS HyperText Transfer Protocol Secured
- the invention proposes a method for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated. to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal.
- Said method is remarkable in that it comprises the steps of: after interception of said request, identifying the execution unit at the origin of said request, determine at least one context parameter relating to said identified execution unit, and associate the query with said context parameter, identify said service according to the context parameter, determine resource identifiers associated with said identified service, and if said identifier resource included in the request is one of said resource identifiers associated with the identified service, determining processing parameters associated with that resource identifier, and processing, according to said determined processing parameters, descriptive elements of the resource, in order to make the resource accessible to the thread.
- the invention authorizes each service executed on a computer terminal "tailored" access to all or part of the resources of the operating system. Services therefore do not have access to system resources that are forbidden to them. By controlling access to the descriptive elements of a system resource, the invention provides access control to the system resource itself.
- each service has a "profile" of its own and includes all the system resources to which it has the right to access.
- a "service profile" of an operating system behaves like an autonomous operating system. Seen from the service, the operating system is perceived to provide exactly and only access to the system resources to which the service is entitled to access.
- the rights management policy according to the invention is therefore "service centric" in order to protect access to system resources according to the service and no longer according to the user.
- such a "service-centric" operating system is capable of managing the execution of several services simultaneously, each service individually having its own access rights to the system resources.
- the invention has the advantage of offering a containment solution for services by protecting each service against its own malfunctions or the malignancies of other services.
- a payment service has an exclusive right of access to a "contactless network” resource.
- the operating system protects the service from interactions with pernicious services that attempt to use access to the "contactless network” resource to intercept banking data, while they do not have access rights to this resource.
- the operating system protects the service against the consequences of a possible malfunction of the service by prohibiting the latter access to the Internet and therefore any transmission of banking data through the Internet.
- resources can be granted exclusively to a service according to the invention.
- the service is run on a terminal independently and independent of other services that can run on the same terminal. This service is completely confined to other services and is totally protected from their behavior.
- the invention makes it possible to control the access of the services to the resources system, it is possible to prevent piracy of sensitive system resources, for example by systematically refusing any duplication of a key sequence composed on a keyboard on behalf of an "official" service, ie a service legitimately recorded on the terminal, such as a banking service.
- Controlled access to system resources according to the invention also ensures the proper functioning of the terminal, for example by simply prohibiting the services access to sensitive system resources such as the "battery" resource.
- each service is installed on a terminal being restricted with respect to the use of sensitive system resources, it is for example impossible for a malicious service that does not have access rights to these system resources. to divert confidential banking information from a payment service even in the event of a malfunction of the payment service.
- the invention also provides a great deal of rights management flexibility by providing for dynamic updating of the authorized system resources for each service.
- the modification of the rights of a service on the operating system leads immediately to the taking into account of the new rights of access to the system resources allocated or withdrawn to the service. In particular, it is not necessary to restart the operating system for this consideration to be effective.
- the same flexibility is given to resource protection modalities and modalities. identification and authentication services, providing for their dynamic update.
- the context of use of the invention is that of a computer terminal capable of performing at least one service.
- the prohibition of services to install on the terminal without authorization, or at least by controlling access to resources considerably reduces the risk of hacking the terminal following the automatic installation of a service, for example when a navigation on a website.
- the invention allows terminals to access networks without risk of hacking, consisting for example to install a service without the knowledge of the user. Therefore, if malicious services no longer have the ability to hijack data associated with an economic model, then business models can no longer be diverted from their business objectives.
- the descriptive elements of the resource may not be encrypted and thus be interpretable by the execution unit without resorting to the processing parameters, or the descriptive elements of the resource may be encrypted and interpretable by the execution unit after decrypting the encrypted descriptive elements according to the processing parameters.
- the processing parameters are specific to a system resource and make it possible to decrypt the descriptive elements of the resource when they are encrypted. In all cases, the processing parameters make clear the descriptive elements to the execution unit so that the latter accesses the resource.
- service parameters may be associated with the service, and the service is identified if all the service parameters associated with the service and only said service are included in a set of context parameters relating to the service. identified execution unit and associated with the request.
- Service settings allow the service to be uniquely and unambiguously distinguished from other digital services. This exact identification further ensures that the thread requesting a resource from the terminal is "official".
- the invention also relates to a system for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal.
- Said system is remarkable in that it comprises: means for intercepting said request and for identifying the execution unit at the origin of said request, means for determining at least one context parameter relating to said unit of identified execution, means for associating said context parameter with the query, means for identifying said service according to the context parameter, means for determining resource identifiers associated with said identified service, means for determining processing parameters associated with that resource identifier if said resource identifier included in the request is one of said resource identifiers associated with the identified service, and means for processing, according to said determined processing parameters, descriptive elements of the resource, in order to make the resource accessible to the execution unit.
- the protection system systematically intercepts any call to a resource of the terminal by an execution unit to ensure protection of access to the resource.
- the protection system ensures that access to a resource is obtained in the context of the business model associated with the service, and by a trustee using a thread authorized to access the resource.
- the operating system is made more reliable by the invention since, even if a user of administrator type having all the rights runs a service, this service has only its own access rights to the resources. Such a service can not therefore damage the operation of the operating system and make the terminal unavailable.
- An unavailability of the terminal implies a loss of turnover for the service provider since the customer can no longer consume services while the terminal no longer works. For example, if a service run by an administrator user is only allowed to use the memory, the screen and the keyboard of the administrator terminal, the service will not be able to access the system resource "battery" in order to turn off the terminal for example.
- the increased reliability of the terminal enhances the service provider's brand and seriousness, thereby enhancing the customer's trust in the supplier, and thus indirectly consolidating the vendor's business capability.
- the means for identifying the service may contain a first table mapping service identifiers to service parameter lists, a second table mapping the same service identifiers to the service identifiers. resource identifiers, and a third table mapping resource identifiers and processing parameter lists, these correspondence tables being updated by at least one server means according to the digital services to which the user of the terminal is subscribed.
- the look-up tables allow an exact identification of the digital service relating to the application executed in the terminal, and are updated by a server means external to the terminal to take into account any change relating to the digital services to which the user of the terminal is subscribed .
- the correspondence tables overcome the drawback that no official entity in the state of the art manages all existing digital services, services having no specific characteristics to be distinguished from each other .
- the invention also relates to a computer program adapted to be implemented in a system for managing access to a resource of a terminal required by a thread of an application program executed in the terminal, said an execution unit being dedicated to a digital service and having issued a system access request including a resource identifier to an operating system of the terminal, said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention.
- the invention relates to a system-readable recording medium for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal, said medium containing a computer program including instructions for executing the steps according to the process of the invention.
- FIG. 1 is a schematic block diagram of a protection system according to the invention for managing access to the resources of a terminal;
- FIG. 2 is the algorithm of a resource access management method of a terminal 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 terminal has at least one system resource and can manage at least one service.
- the protection system SP comprises a CA access controller, an encryption system SC and at least one parameter server SVP.
- the encryption system SC comprises a DC encryption controller, a GC key generator, an encryption module MC and a service controller CS.
- the SVP parameter server communicates directly with the CA access controller and / or the DC encryption controller.
- the communications between the different entities included in the protection system are secure, so that no exchange of information can be intercepted during a communication between two of these entities.
- the CA access controller controls access to system resources that are managed through the terminal operating system by a GR resource manager.
- the system resources are represented in different ways and each have their own access mode.
- the resource manager GR contains ED descriptive elements for each system resource that can be interpreted by an application to access the system resource. For example, descriptive elements are gathered in a data file in a file manager accessible only by the resource manager GR.
- the parameter server SVP notably manages information necessary for the protection system according to the invention, such as values for the parameters required by the service controller CS and the key generator GC.
- the service controller CS is able to communicate with at least one SPS service protection server, which is for example located in the network of the service provider providing a service to which the user of the terminal is subscribed.
- SPS service protection server is managed for example by the service provider itself or by a trusted third party.
- Communications between the CS service controller and the SPS service protection server are also secure, for example using the SOAP remote object access protocol.
- SOAP remote object access protocol "Simple Object Access Protocol" in English) encapsulated in the HTTPS secure transfer protocol.
- the SPS service protection server maintains lists of LPS service parameters associated with digital services so that service identifiers IS are each associated with one and only one list of LPS service parameters.
- a list of LPS service parameters characterizes and uniquely and unambiguously identifies the corresponding digital service among other services.
- Each service identifier IS is further associated with one or more IR resource identifiers.
- Each IR resource identifier is associated with a list of encryption / decryption parameters, called the LPT processing parameter list.
- user identifiers UI can be individually associated with at least one IS service identifier.
- An UI user identifier is defined from user parameters that unambiguously characterize the digital service user.
- the user parameters for example include an identifier of a user group and / or a terminal identifier.
- User settings are tailored to each business need. For example, a subscriber will not have the same services using a TV or a mobile terminal. Thus, depending on the context of use, different system resources will be available for the same service depending on the use of the television or the mobile terminal, since they are two different user identifiers although the latter refer to a single subscriber user.
- the notion of user is therefore very general and includes, for example, individuals, companies, machines or individuals using a specific machine at a given location.
- the service controller CS contains in particular first, second and third correspondence tables TC1, TC2 and TC3.
- the first table TC1 maps IS service identifiers to LPS service parameter lists, and the second TC2 table matches the same IS service identifiers and respective LIR resource identifier lists.
- the third table TC3 maps the IR resource identifiers and LPT processing parameter lists.
- a list of LPS service parameters contains one or more parameters, while a list of LPT processing parameters may contain no parameters.
- These correspondence tables TC1, TC2 and TC3 are provided or updated by the SPS service protection server according to the UI of the terminal user.
- the computer terminal further comprises memories that include one or more volatile memories and one or more persistent memories whose access through the operating system from the resource manager GR is guaranteed by the access controller CA of the system. protection.
- the terminal operating system executes AP applications and manages the sharing of terminal resources between applications via the GR resource manager.
- An AP application that is executed by the terminal operating system and associated with a digital service may request access to any of the terminal operating system resources.
- 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 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 contains critical applications such as, for example, a certified operating system implementing the access controller, or a certified browser.
- the service When a service is to be executed on the terminal, the service is then executed by means of the operating system using the protection system SP. Requests for access to resources system from the services are processed by the protection system which verifies the access rights of the services to the system resources. If the service does not have the right to access the requested system resource, the request fails. If the service has the right of access to the system resource, the protection system loads in the memory of the electronic component, deciphering if they are encrypted, the descriptive elements of the requested system resource. In this way, the descriptive elements of a system resource are not disclosed in the terminal memory, in which a malicious service could have copied them.
- the encryption system SC can be realized partly in hardwired logic rather than in the form of software. Only the CS service controller must be realized in whole or in part as software since it stores and manages tables that can be updated. In fact, wired logic optimizes operation by considerably increasing performance. Since the processing time performed by the encryption system SC is the main delay for accessing system resources, 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 maintenance system SM modifies descriptive elements of a resource with processing parameters, for example as follows. For each system resource, the maintenance system SM transmits to the encryption controller CC a request for access to the resource containing the identifier of the system resource.
- the encryption controller CC via the service controller CS and the encryption module MC, identifies encrypted descriptive elements associated with the identifier of the system resource and decrypts the encrypted descriptive elements using a list of parameters. processing contained in the CS service controller.
- the encryption controller CC thus gives access to the descriptive elements of the resource to the maintenance system SM.
- the latter transmits to the encryption controller CC a request for encryption of the descriptive elements of the resource with another list of processing parameters included in the request.
- the encryption controller CC via the encryption module MC, encrypts the descriptive elements and provides them to the resource manager before informing the maintenance system SM of the result of the operation.
- the maintenance system SM informs the service protection server SPS of the result of the maintenance operation and the server SPS updates the third table TC3 of the service controller CS in correspondence the IR resource identifiers and the LPT processing parameter lists.
- the method according to the invention comprises steps El to ElO automatically executed under the control of the protection system SP included in the terminal and implemented by instructions of a computer program recorded on a terminal. recording medium readable by the SP protection system.
- a user of the terminal has subscribed to one or more service providers offering digital services and thus becomes a subscriber to at least one service.
- the service controller CS stores or updates correspondence tables TC1, TC2 and TC3 according to the digital service or services to which the user is subscribed with the assistance of the SPS service protection server.
- the service controller CS interrogates the SPS service protection server by providing the SPS service protection server with an UI user identifier.
- the controller CS in return obtains at least one service identifier or, more generally, service identifiers IS associated with the user identifier, as well as lists of LPS service parameters and lists of LIR resource identifiers associated with service identifiers, and lists of LPT processing parameters associated with IR resource identifiers, in order to update or store correspondence tables TCl , TC2 and TC3.
- This interrogation can be carried out each time the terminal is powered on, to check for a possible modification in the correspondence tables.
- the SPS service protection server interrogates a database to know at least the service or more generally the services accessible by the user, this database being for example a home location register HLR ("Home Location Register "in English) in a cellular network GSM / GPRS (" Global System for Mobile Communications "/" General Packet Radio System “in English) or a nominal service server HSS (" Home Service Server "in English) in a network UMTS cellular (“Universal Mobile Telecommunications System").
- HLR Home Location Register
- GSM / GPRS Global System for Mobile Communications
- General Packet Radio System in English
- a nominal service server HSS Home Service Server "in English) in a network UMTS cellular
- the SPS server associates the UI identifier of the user with the IS identifiers of the service or services to which the user is subscribed.
- the SPS server transmits to the service controller CS the service identifiers and the associated service parameter lists, as well as the resource identifiers associated with the services and the processing parameter lists associated with the resource identifiers, for a total update of the service identifiers.
- correspondence tables TC1, TC2 and TC3 stored in the service controller CS.
- the SPS service protection server performs a partial update of the TCl, TC2 and TC3 correspondence tables only when a change takes place. This change can be of several types, such as the creation, modification or deletion of a service, and can be initiated by an HLR recorder in a GSM / GPRS cellular network or an HSS server in a network.
- UMTS cellular network can be of several types, such as the creation, modification or deletion of a service, and can be initiated by an HLR recorder in a GSM / GPRS cellular network or an HSS server in a network.
- UMTS cellular network can be initiated by an HLR record
- the service protection server SPS then transmits to the service controller CS a file taking into account these changes to update only the correspondence tables concerned by these changes.
- the service controller CS then contains updated correspondence tables which relate to the IS identifiers of the services to which the user is subscribed and to the exploitation resources that are accessible by these services.
- each service identifier IS is associated with a list of LPS service parameters that uniquely and unambiguously characterizes and identifies the corresponding digital service among other services.
- Each service parameter list contains fields that are specific to the digital service and are populated by service parameter values by the digital service provider.
- the service parameters are, for example, an identifier of an AP application and / or a service provider identifier.
- each service identifier IS is associated with a list of LIR resource identifiers.
- Each service identifier IS can be individually associated with one or more IR resource identifiers.
- a service identifier is associated either with at least one accessible system resource or with at least one prohibition of use of at least one resource.
- the second table TC2 associates with each service rights of access to system resources.
- each IR resource identifier is further associated with a list of LPT processing parameters.
- Each list of processing parameters contains fields that are specific to the digital service and are optionally populated by values of processing parameters by the digital service provider.
- the processing parameters are for example an identifier of an AP application and / or an identifier of the user, and can therefore be partly of the same type as the service parameters.
- a list of processing parameters may, however, be empty.
- an application AP for a service is executed in the terminal in the context of the service.
- the terminal user has selected the launch of the application via a human-machine interface of the terminal indicating to the user the services to which the latter is subscribed and the applications available for these services.
- the application is a media player that is run for an on-demand music listening service.
- the executed application AP transmits a system access request RA to the system operating the terminal to access one of the terminal system resources.
- the system access request RA includes an IR resource identifier indicating the system resource to which the application requires access. For example, the system access request RA requires access to a loudspeaker for listening to music.
- step E2 the request RA for the operating system is intercepted by the access controller CA of the protection system SP which is listening to any request from any application to the operating system of the operating system. terminal.
- the CA access controller then identifies the AP application that originated the RA request, for example by means of a correspondence between a system process and an identifier of the application.
- the access controller CA modifies the intercepted request RA into a modified request RM by supplementing it with one or more context parameter fields CP, and thus associates one or more context parameters that are not informed with the request.
- the fields are intended to be filled by the context parameter values that can be associated directly or indirectly with the application.
- a context parameter directly associated with the application is for example an identifier of the application AP, or an identifier of the user.
- a context parameter indirectly associated with the application is for example an identifier of a finite set of data associated with the service, or a service provider identifier.
- the AC access controller temporarily stores the modified query RM.
- the access controller CA 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 resource identifier IR 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 and provides the parameter values relating to the application AP in order to fill in the fields of the query modified by these values. For example, 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 application AP.
- the parameter server SVP transmits the context parameter fields filled CPR to the encryption controller CC which stores them. The context parameters entered are then associated with the request and exploitable by the encryption system SC.
- steps E3 and E4 are replaced by steps E31 and E41, respectively.
- step E31 the access controller CA 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 parameter fields populated CPR to the access controller CA.
- step E41 the access controller CA fills the fields of the modified request RM by means of the context parameter fields CPR filled in by the server SVP and transmits the modified request RM to the encryption controller CC of the encryption system. SC that memorizes it.
- step E5 the encryption controller CC transmits the context parameter fields CPR filled to the service controller CS.
- the service controller searches the first correspondence table TC1 for the identifier IS of the digital service at the origin of the request.
- controller CS matches one by one the context parameter fields CPR filled with the fields of the various lists of LPS service parameters stored.
- the service controller CS determines in step E6 said list of LPS service parameters and derives from the TCl table the service identifier IS associated with this list of service parameters. Consequently, the service controller CS identifies the digital service relating to the service identifier IS thus deduced.
- the service controller CS transmits an error message to the DC encryption controller, as shown in FIG. at a step ER, and the process ends. If no list of LPS service parameters has fields identical to at least a portion of the context parameter fields filled with CPR, the service controller CS transmits an error message to the CC controller as indicated in step ER, and the process ends.
- Step E51 If some fields of one or more lists of LPS service parameters are included in the set of context parameter fields CPR filled, these lists are selected at a step E51 by the service controller CS which identifies all the fields. of the selected service parameter list (s) for which context parameter fields that were filled in could not be mapped. The fields identified are considered as context parameter fields to be filled in.
- the service controller CS then transmits to the encryption controller CC the identified fields so that they are filled in using the parameter server SVP and then retransmitted to the service controller CS.
- Step E5 is then repeated once to one-to-one correspondence of the CPR filled context parameter fields completed by the identified fields filled in with the fields of the various LPS service parameter lists stored. Step E51 can not be repeated then since all the fields of context parameters necessary for said mapping have been filled.
- the service identifier IS is already entered in the context parameter fields CPR.
- the service identifier IS is for example already provided by the service to which the application AP is dedicated and therefore included in the RA system access request.
- the controller CS directly matches the service identifier of the request with each of the service identifiers of the first correspondence table TC1.
- the service controller CS then identifies the digital service relating to the service identifier IS of the request when the latter is present in the first table TCl. If the service identifier IS of the request is absent from the first table TC1, the service controller CS transmits an error message to the encryption controller CC, as indicated in a step ER, and the process terminates.
- step E7 after identification of the service at the origin of the request, the service controller CS searches in the second correspondence table TC2 the resource identifiers associated with the service identifier IS deduced in step E6.
- the service controller CS thus determines the list LIR of the resource identifiers associated with the identified service.
- the service controller CS then checks whether the resource identifier IR included in the request RA is one of the identifiers of the resources associated with the identified service, that is to say if the resource identifier IR belongs to the list LIR resource identifiers associated with the service identifier IS.
- the service controller CS validates the IR resource identifier included in the request. If not, the process terminates, and an error message is sent to the terminal user.
- step E8 the service controller CS determines the list of LPT processing parameters associated with the validated resource identifier IR in the third correspondence table TC3 and transmits the LPT list to the encryption controller CC.
- the list of LPT processing parameters determines how to handle the descriptive elements ED of the system resource accessible by the resource manager GR in order to interpret them.
- the LPT list may have contents of three different types that are processed by the protection system SP in step E9 constituted by one of the steps E91, E92 and E93 described below according to the contents of the LPT list.
- the list of LPT processing parameters contains no elements, which means that the descriptive elements ED are not encrypted and are directly interpretable by the application AP without resorting to the processing parameters.
- the LPT list is processed in step E91 by the protection system SP.
- the LPT processing parameter list contains an encryption key KC and a decryption key KD.
- the LPT list is processed in step E92 by the protection system SP.
- the list of LPT processing parameters contains encryption / decryption parameters necessary for the generation an encryption key and a decryption key.
- the LPT list is processed in step E93 by the protection system SP.
- the descriptive elements ED are encrypted into EDC-encoded descriptive elements and are interpretable after having been decrypted into descriptive elements decoded EDD.
- the IR resource identifier must then also be encrypted to access the associated encrypted descriptive elements.
- step E91 the encryption controller CC analyzes a list of empty processing parameters and requests the access controller CA to load the descriptive elements ED associated with the identifier of the resource via the resource manager GR.
- the descriptive elements can be stored in a volatile memory whose address is transmitted to the application AP for the latter to interpret the stored descriptive elements.
- the encryption controller CC transmits the resource identifier IR and the encryption key KC to the encryption module MC.
- the latter encrypts the IR resource identifier according to the encryption key KC and transmits the encrypted resource identifier IRC to the encryption controller CC.
- the DC controller requests the access controller CA to provide the EDC encrypted descriptive elements associated with the identifier of the IRC encrypted resource, for example in a volatile memory, through the resource manager GR.
- the DC encryption controller then loads the EDC encrypted descriptive elements to transmit them with the decryption key KD to the module MC encryption.
- the latter decrypts the descriptive elements encrypted according to the decryption key and retransmits the descripted elements EDD to the encryption controller CC.
- the decrypted descriptive elements can be stored in a volatile memory whose address is transmitted to the application AP so that the latter interprets the stored descriptive elements.
- the encryption controller CC transmits the list of LPT processing parameters to the key generator GC so that it generates an encryption key KC and a decryption key KD according to the values of the processing parameters read in the LPT list and retransmits the generated keys to the DC encryption controller.
- the encryption controller CC then proceeds as in step E92, in order to make clear the descriptive elements to the application AP.
- 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 is applicable is applicable. any decryption key. Therefore, the encryption algorithm used by the encryption module MC is dual of the algorithm for generating the encryption keys used by the key generator GC, and the decryption algorithm used by the module MC encryption is dual of the decryption key generation algorithm used by the GC key generator.
- the encryption controller CC has optionally decrypted the descriptive elements ED as a function of the list of LPT processing parameters and then makes available to the step ElO the resource to the application AP which can interpret descriptive elements in the clear.
- the encryption controller CC stores the descriptive elements in clear in a volatile memory whose address is transmitted to the access controller CA. The latter then transmits to the operating system the identifier of the AP application corresponding to a system process and the descriptive elements ED associated with the resource identifier IR and the memory address of the descriptive elements.
- the operating system that executes the AP application and manages the terminal resources then makes the resource accessible to the application.
- the encryption controller CC receives an encryption key generated by the key generator GC and associates the generated key with the data to be processed previously loaded, such as a resource identifier, 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 Queries 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 CA access controller and / or the GC key generator and / or the encryption module MC and / or the service controller CS.
- the access controller CA communicates directly with the key generator GC, the encryption module MC and the service controller CS, and the latter three also communicate directly with each other.
- the invention described herein relates to a method and a system for managing access to a resource of a terminal required by an application dedicated to a digital service and executed in the 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 comprises program instructions which, when said program is executed in the system whose operation is then controlled by the execution of the program, carry out 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 recording 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 code intermediate between source code and object code such as in a partially compiled form, or in any other form desirable for implementing the method according to the invention.
- the invention also relates to a recording medium, which can be any entity or device capable of storing the program.
- the medium may comprise storage means on which the computer program according to the invention is recorded, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or magnetic recording means, for example a diskette ("floppy disk") or a hard disk.
- the recording 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 to an Internet type network.
- the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method according to the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
According to the invention, in order to manage the access to a terminal resource required by an execution unit (AP) of an application software run on said terminal, the execution unit (AP) being dedicated to a digital service and having outputted a system access (RA) including a resource identifier (IR) to a terminal exploitation system: said request (RA) is intercepted; the execution unit (AP) at the origin of the request is identified; at least one context parameter (CPR) concerning said identified execution unit (AP) is determined; the context parameter (CPR) is associated with the request (RA); the service is identified based on the context parameter (CPR); and identifiers of the resources associated with said identified service are determined. If the resource identifier (IR) contained in the request (RA) is one of the identifiers of the resources associated with the identified service, processing parameters (LPT) associated with this resource identifier (IR) are determined, and descriptive elements (ED) of the resource are processed based on said determined processing parameters (LPT) in order to make the resource accessible for the execution unit (AP).
Description
Gestion d'accès à des ressources d'un système d'exploitation Management of access to resources of an operating system
La présente invention concerne une gestion d'accès à des ressources d'un système d'exploitation d'un terminal par une application dédiée à un service numérique .The present invention relates to managing access to resources of an operating system of a terminal by an application dedicated to a digital service.
Un service numérique est offert par un fournisseur de service à un utilisateur pour que ce dernier accède à un ensemble de données dans le strict respect des règles d'un modèle économique. A un couple données-modèle économique définissant un service est associée une liste d'ayants-droit, c'est- à-dire de personnes physiques ou morales qui ont acquis une licence d'usage et qui sont autorisées de ce fait à consommer ledit service et les données associées dans le cadre du modèle économique du service . Un modèle économique définit un contrat commercial pour la consommation d'un service numérique, caractérisé par exemple par une tarification du service et des règles d'usage du service. Suite à l'inexécution d'une règle stipulée par le contrat, l'usage du service est réputé illicite .A digital service is provided by a service provider to a user to access a data set in strict compliance with the rules of an economic model. An economic data-model pair defining a service is associated with a list of rights holders, that is to say natural or legal persons who have acquired a license to use and who are therefore authorized to consume the said license. service and associated data as part of the service's economic model. An economic model defines a commercial contract for the consumption of a digital service, characterized for example by a tariff of the service and rules of use of the service. Following the non-fulfillment of a rule stipulated by the contract, the use of the service is deemed unlawful.
Les règles d'usage imposées par un modèle économique sur des données sont typiquement mises en œuvre sous la forme d'une séquence d'instructions, appelée processus de gestion de droits numériques DRM ("Digital Rights Management" en anglais), exécutée à la demande d'un utilisateur ayant acquis une licence d'utilisation des données dans le cadre du modèle économique prévu pour ces données.
L'accès aux données d'un service numérique est réservé à des applications spécifiques, prévues au titre du modèle économique dudit service numérique.The rules of use imposed by an economic model on data are typically implemented in the form of a sequence of instructions, called digital rights management (DRM) process, executed at request from a user who has acquired a license to use the data as part of the business model for that data. The access to the data of a digital service is reserved for specific applications, provided for under the economic model of said digital service.
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 à ce que différentes applications requises par l'exécution du programme soient respectivement dédiées à des services numériques différents. Par exemple, un lecteur de média peut être exécuté une première fois pour lire une seule fois un fichier vidéo selon une visualisation à la demande, et une deuxième fois pour lire un autre fichier vidéo au moyen d'une licence accordant un nombre prédéterminé de visualisations de cet autre fichier vidéo.An "application" is conventionally defined as a unit of execution of a program executable by a terminal. The same program can be run multiple times so that different applications required by the program execution are respectively dedicated to different digital services. For example, a media player may be first run to read a video file once on an on-demand view, and a second time to play another video file with a license granting a predetermined number of views. from this other video file.
Une application est dite "dédiée à un service numérique" associé à un couple données-modèle économique lorsque son exécution est destinée à être lancée sur les données dudit service numérique.An application is said to be "dedicated to a digital service" associated with an economic data-model pair when its execution is intended to be launched on the data of said digital service.
L'exécution d'une application dans un terminal requiert l'accès à des ressources du système d'exploitation du terminal, appelées plus simplement ressources système. Une ressource système désigne un élément matériel ou logiciel d'un terminal, accessible par le système d'exploitation. A titre d'exemples non limitatifs, une ressource système peut être un périphérique tel qu'un clavier, un écran, un haut-parleur, ou bien une batterie, une mémoire, un processeur, une interface réseau, ou bien encore un logiciel, un gestionnaire de fichier.Running an application in a terminal requires access to terminal operating system resources, more simply called system resources. A system resource is a hardware or software element of a terminal that is accessible by the operating system. As non-limiting examples, a system resource may be a device such as a keyboard, a screen, a speaker, or a battery, a memory, a processor, a network interface, or even software, a file manager.
Dans un système d'exploitation, les ressources système sont représentées de différentes manières et ont chacune leur propre mode d'accès. De manière générale, on considère que le système d'exploitation
contient des éléments descriptifs pour chaque ressource système, ces derniers fournissant des instructions ou des indications interprétables par une application pour accéder à la ressource système. Des éléments descriptifs ont souvent la forme d'un fichier de données, tel qu'un "pseudo-fichier" dans les systèmes d'exploitation Unix pour l'accès à certaines ressources système telles que le clavier. Un élément descriptif peut être tout simplement un pointeur vers une mémoire, par exemple pour désigner une plage d'adresses d'une mémoire à dédier à une certaine ressource telle qu'une mémoire graphique.In an operating system, system resources are represented in different ways and each has its own mode of access. In general, we consider that the operating system contains descriptive elements for each system resource, the latter providing instructions or interpretable information by an application to access the system resource. Descriptive elements often have the form of a data file, such as a "pseudo-file" in Unix operating systems for accessing certain system resources such as the keyboard. A descriptive element may simply be a pointer to a memory, for example to designate a range of addresses of a memory to be dedicated to a certain resource such as a graphics memory.
Un système d'exploitation offre en particulier des fonctions de base d'un terminal informatique, comme la gestion de la mémoire, l'accès aux différents périphériques ou la gestion de l'exécution des processus sur le processeur. Les systèmes d'exploitation actuels mettent en œuvre une politique "centrée utilisateur" pour la gestion des droits d'accès aux ressources système : à un utilisateur donné sont attribués des droits lui donnant accès à plus ou moins de ressources du système d'exploitation. Certains systèmes d'exploitation sont monoutilisateur, c'est-à-dire qu'un seul utilisateur peut utiliser un terminal informatique à un moment donné. D'autres systèmes d'exploitation sont multi- utilisateur, c'est-à-dire que plusieurs utilisateurs peuvent utiliser un même terminal informatique simultanément. Dans ce dernier cas, un profil d'utilisateur confère à chaque utilisateur des droits d'accès à certaines ressources système. Un seul utilisateur, souvent appelé "administrateur", a accès à la totalité des ressources système tandis que les
autres utilisateurs n'ont accès qu'à un nombre limité de ressources.An operating system offers in particular basic functions of a computer terminal, such as memory management, access to different peripherals or the management of the execution of processes on the processor. Current operating systems implement a "user-centric" policy for managing access rights to system resources: to a given user are granted rights giving access to more or less operating system resources. Some operating systems are single-user, that is, only one user can use a computer terminal at a given time. Other operating systems are multiuser, that is to say that several users can use the same computer terminal simultaneously. In the latter case, a user profile grants each user access rights to certain system resources. A single user, often referred to as an "administrator", has access to all system resources while other users have access to only a limited number of resources.
Ces systèmes d'exploitation à profils permettent de mutualiser sur un même terminal informatique le travail de plusieurs utilisateurs tout en contrôlant les risques d'éventuelles ingérences pouvant être provoquées, intentionnellement ou non, par l'un des utilisateurs sur les données des autres utilisateurs.These profile operating systems make it possible to share the work of several users on the same computer terminal while controlling the risks of any interference that may be caused, intentionally or not, by one of the users on the data of the other users.
Comme pour les systèmes mono-utilisateur, les systèmes d'exploitation à profils mettent en œuvre une politique "centrée utilisateur" pour la gestion des droits d'accès aux ressources système.As with single-user systems, profile-based operating systems implement a "user-centric" policy for managing access rights to system resources.
Jusqu'à présent, les systèmes d'exploitation ont été conçus pour sécuriser les données et les accès à des ressources système en fonction de l'utilisateur. Cette approche a trouvé sa limite avec l'avènement d ' internet qui a mis en évidence l'incapacité des systèmes d'exploitation à garantir la sécurité des échanges avec d'autres terminaux accessibles via un réseau. Ainsi, avec le développement des échanges de données par réseau, un système d'exploitation "centré utilisateur" ne peut pas gérer à la fois un utilisateur attitré et des utilisateurs de terminaux du réseau. Une telle gestion nécessiterait un redéveloppement complet des systèmes d'exploitation existants. Mais pour des raisons économiques, les développeurs de systèmes d'exploitation se sont limités à des adaptations légères. En conséquence, il est très courant sur internet qu'un terminal soit "infecté" par un logiciel téléchargé à l'initiative d'un autre équipement du réseau et exécuté sur ledit terminal pour le compte et à 1 ' insu de l'utilisateur. La politique de gestion des droits "centrée utilisateur" ne convient donc pas
aux usages présents et futurs d'un terminal informatique accédant à au moins un réseau de communication .So far, operating systems have been designed to secure data and access to system resources based on the user. This approach has found its limit with the advent of the internet which has highlighted the inability of operating systems to ensure the security of exchanges with other terminals accessible via a network. Thus, with the development of network data exchanges, a "user-centric" operating system can not handle both a dedicated user and network terminal users. Such management would require a complete redevelopment of existing operating systems. But for economic reasons, operating system developers have limited themselves to slight adaptations. Consequently, it is very common on the internet for a terminal to be "infected" by software downloaded on the initiative of another device of the network and executed on said terminal for the account and without the knowledge of the user. The "user centric" rights management policy is therefore inappropriate current and future uses of a computer terminal accessing at least one communication network.
Par ailleurs, dans les systèmes d'exploitation "centrés utilisateur", un service exécuté pour le compte d'un utilisateur hérite des droits de l'utilisateur. Par exemple, un service exécuté pour le compte d'un utilisateur de type administrateur a tous les droits, même le droit de détruire le système d'exploitation lui-même.On the other hand, in "user-centric" operating systems, a service that is run on behalf of a user inherits the user's rights. For example, a service running on behalf of an administrator-type user has all rights, even the right to destroy the operating system itself.
Un système d'exploitation "centré utilisateur" traite tous les services exécutés par un même utilisateur avec les mêmes droits. Par exemple, un service de navigation sur internet et un service sécurisé de paiement par carte bancaire peuvent être exécutés tous deux pour le compte d'un utilisateur donné sur un terminal disposant d'un accès "sans contact" à un réseau bancaire et d'un accès sans fil à internet. L'usage du service de paiement par carte impose le recours exclusif au réseau bancaire, et exclut a priori l'accès à internet. Le système d'exploitation "centré utilisateur" ne contrôle pas le type d'accès utilisé par le service de paiement. Il est alors possible d'utiliser l'accès à internet pour le service de paiement et ainsi de divulguer des données confidentielles sans interdiction par le système d'exploitation. De même, un quelconque service sur internet peut interférer avec le service de paiement pour mettre des données bancaires confidentielles à disposition sur le réseau internet ou bien pratiquer des opérations bancaires illégales. En effet, pour le système d'exploitation, cette pratique est normale puisqu'elle est conforme aux droits de l'utilisateur. Or pour le fournisseur du
service de paiement, cette pratique peut engendrer des catastrophes économiques.A "user centric" operating system treats all services executed by the same user with the same rights. For example, an internet browsing service and a secure credit card payment service can both be executed on behalf of a given user on a terminal having "contactless" access to a banking network and wireless internet access. The use of the card payment service requires the exclusive use of the banking network, and excludes access to the Internet a priori. The "user-centric" operating system does not control the type of access used by the payment service. It is then possible to use the internet access for the payment service and thus to divulge confidential data without prohibition by the operating system. Similarly, any service on the internet may interfere with the payment service to make confidential banking data available on the Internet or to engage in illegal banking. Indeed, for the operating system, this practice is normal since it is consistent with the rights of the user. But for the supplier of payment service, this practice can lead to economic disasters.
Dans un autre exemple, un service malveillant est téléchargé dans un terminal informatique depuis un réseau. Lors de l'exécution du service sur le terminal, le service hérite des droits de l'utilisateur, et donc notamment des droits d'accès aux données de l'utilisateur. Rien n'empêche alors le service de collecter les données de l'utilisateur et de les transmettre sur le réseau à 1 ' insu de l'utilisateur. De même, pour le système d'exploitation, cette pratique apparaît comme tout à fait normale puisqu'elle est conforme aux droits de 1 ' utilisateur . Des services de commerce électronique recourant au paiement en ligne et/ou à la consultation de comptes, sont mis en œuvre sur un terminal aux risques et périls de l'utilisateur. Bien que certains services utilisent des outils performants, tels que le protocole de transfert hypertexte sécurisé HTTPS ("HyperText Transfer Protocol Secured" en anglais), pour protéger leurs échanges, il suffit à un service malveillant exécuté sur le terminal de copier des informations provenant de l'écran, du clavier ou voire directement de la mémoire du terminal pour détourner ces services de commerce et rendre ainsi possible des malversations, sans que l'utilisateur n'ait conscience du piratage.In another example, a malicious service is downloaded into a computer terminal from a network. During the execution of the service on the terminal, the service inherits the rights of the user, and therefore in particular rights of access to the data of the user. Nothing prevents the service from collecting the data of the user and transmitting them on the network without the knowledge of the user. Similarly, for the operating system, this practice appears quite normal since it is in accordance with the rights of the user. E-commerce services using online payment and / or account consultation are implemented on a terminal at the risk of the user. Although some services use powerful tools, such as the HyperText Transfer Protocol Secured (HTTPS) hypertext transfer protocol, to protect their exchanges, it is sufficient for a malicious service running on the terminal to copy information from the screen, the keyboard or even directly from the terminal memory to divert these commercial services and thus make possible malpractices, without the user being aware of the piracy.
On remarque d'après les exemples précédents que les systèmes d'exploitation "centrés utilisateur" délèguent la responsabilité du bon fonctionnement du terminal aux services eux-mêmes. Si le service est correctement conçu, aucune action malveillante n'aura lieu et le terminal fonctionnera correctement. Par contre, si le service est mal conçu ou malveillant,
le service endommagera les données du terminal et/ou créera des dysfonctionnements à hauteur de ce qu'autorisent les droits de l'utilisateur. Or pour le système d'exploitation, toutes ces actions ont eu lieu conformément aux droits de l'utilisateur.It can be seen from the previous examples that "user-centric" operating systems delegate responsibility for the proper operation of the terminal to the services themselves. If the service is properly designed, no malicious action will take place and the terminal will work properly. On the other hand, if the service is poorly designed or malicious, the service will damage the data on the terminal and / or cause malfunctions to the extent that the rights of the user permit. But for the operating system, all these actions took place in accordance with the rights of the user.
De ce qui précède, il résulte que les systèmes d'exploitation "centrés utilisateur" s'appuient, pour leur politique de sécurité, sur l'utilisateur. Si ce dernier utilise deux services, par exemple la navigation sur internet et un service de carte bancaire, les services ont accès aux droits de l'utilisateur et peuvent interférer de façon maligne sans que le système d'exploitation ne décèle un dysfonctionnement. Aucun mécanisme au niveau du système d'exploitation ne contrôle l'accès individuel d'un service aux ressources système.From the foregoing, it follows that operating systems "user centered" rely, for their security policy, on the user. If the latter uses two services, for example browsing the internet and a credit card service, the services have access to the rights of the user and can interfere maliciously without the operating system detects a malfunction. There is no mechanism at the operating system level that controls individual access of a service to system resources.
Il existe donc un besoin de définir et garantir une restriction d'accès aux ressources système pour chaque service exécuté sur un système d'exploitation, et plus particulièrement d'autoriser chaque service à accéder aux seules ressources système auxquelles le service a droit.There is therefore a need to define and guarantee a restriction of access to system resources for each service running on an operating system, and more particularly to allow each service to access the only system resources to which the service is entitled.
Pour remédier aux inconvénients évoqués ci- dessus, l'invention propose un procédé pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution étant dédiée à un service numérique et ayant émis une requête d'accès système incluant un identificateur de ressource à destination d'un système d'exploitation du terminal. Ledit procédé est remarquable en ce qu'il comprend les étapes de : après interception de ladite requête, identifier l'unité d'exécution à l'origine de ladite requête,
déterminer au moins un paramètre de contexte relatif à ladite unité d'exécution identifiée, et associer à la requête ledit paramètre de contexte, identifier ledit service en fonction du paramètre de contexte, déterminer des identificateurs des ressources associées audit service identifié, et si ledit identificateur de ressource inclus dans la requête est l'un desdits identificateurs des ressources associées au service identifié, déterminer des paramètres de traitement associés à cet identificateur de ressource, et traiter, en fonction desdits paramètres de traitement déterminés, des éléments descriptifs de la ressource, afin de rendre la ressource accessible à l'unité d'exécution.To overcome the drawbacks mentioned above, the invention proposes a method for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated. to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal. Said method is remarkable in that it comprises the steps of: after interception of said request, identifying the execution unit at the origin of said request, determine at least one context parameter relating to said identified execution unit, and associate the query with said context parameter, identify said service according to the context parameter, determine resource identifiers associated with said identified service, and if said identifier resource included in the request is one of said resource identifiers associated with the identified service, determining processing parameters associated with that resource identifier, and processing, according to said determined processing parameters, descriptive elements of the resource, in order to make the resource accessible to the thread.
L'invention autorise à chaque service exécuté sur un terminal informatique un accès "sur mesure" à tout ou partie des ressources du système d'exploitation. Les services n'ont donc pas accès aux ressources système qui leur sont interdites. En contrôlant l'accès aux éléments descriptifs d'une ressource système, l'invention assure un contrôle d'accès à la ressource système elle-même. Avantageusement, chaque service dispose d'un "profil" qui lui est propre et qui comprend l'ensemble des ressources système auquel il a le droit d'accéder. Un "profil service" d'un système d'exploitation se comporte comme un système d'exploitation autonome. Vu du service, le système d'exploitation est perçu comme offrant exactement et uniquement les accès aux ressources système auxquelles le service a le droit d'accéder. La politique de gestion des droits selon l'invention est donc "centrée service" afin de protéger l'accès aux
ressources système en fonction du service et non plus en fonction de l'utilisateur.The invention authorizes each service executed on a computer terminal "tailored" access to all or part of the resources of the operating system. Services therefore do not have access to system resources that are forbidden to them. By controlling access to the descriptive elements of a system resource, the invention provides access control to the system resource itself. Advantageously, each service has a "profile" of its own and includes all the system resources to which it has the right to access. A "service profile" of an operating system behaves like an autonomous operating system. Seen from the service, the operating system is perceived to provide exactly and only access to the system resources to which the service is entitled to access. The rights management policy according to the invention is therefore "service centric" in order to protect access to system resources according to the service and no longer according to the user.
Sur un même terminal informatique, un tel système d'exploitation "centré service" est capable de gérer l'exécution de plusieurs services simultanément, chaque service disposant individuellement de ses propres droits d'accès aux ressources système.On the same computer terminal, such a "service-centric" operating system is capable of managing the execution of several services simultaneously, each service individually having its own access rights to the system resources.
L'invention a l'avantage d'offrir une solution de confinement pour les services en protégeant chaque service contre ses propres dysfonctionnements ou les malveillances d'autres services. Par exemple selon l'invention, un service de paiement a un droit d'accès exclusif à une ressource "réseau sans contact". Le système d'exploitation protège le service d'interactions avec des services pernicieux qui tenteraient d'utiliser l'accès à la ressource "réseau sans contact" pour intercepter des données bancaires, alors qu'ils ne possèdent pas les droits d'accès à cette ressource. De la même façon, le système d'exploitation prémunit le service contre les conséquences d'un éventuel dysfonctionnement du service en interdisant à ce dernier l'accès au réseau internet et donc toute transmission des données bancaires à travers le réseau internet.The invention has the advantage of offering a containment solution for services by protecting each service against its own malfunctions or the malignancies of other services. For example according to the invention, a payment service has an exclusive right of access to a "contactless network" resource. The operating system protects the service from interactions with pernicious services that attempt to use access to the "contactless network" resource to intercept banking data, while they do not have access rights to this resource. In the same way, the operating system protects the service against the consequences of a possible malfunction of the service by prohibiting the latter access to the Internet and therefore any transmission of banking data through the Internet.
Avantageusement, des ressources peuvent être octroyées exclusivement à un service selon l'invention. Le service est exécuté sur un terminal de manière autonome et indépendante des autres services pouvant être exécutés sur le même terminal. Ce service est entièrement confiné par rapport aux autres services et il est totalement protégé de leurs comportements .Advantageously, resources can be granted exclusively to a service according to the invention. The service is run on a terminal independently and independent of other services that can run on the same terminal. This service is completely confined to other services and is totally protected from their behavior.
En corollaire, du fait que l'invention permet de contrôler l'accès des services aux ressources
système, on peut empêcher le piratage de ressources système sensibles, par exemple en refusant systématiquement toute recopie d'une séquence de touches composée sur un clavier pour le compte d'un service "officiel", c'est à dire un service légitimement enregistré sur le terminal, tel qu'un service bancaire. L'accès contrôlé à des ressources système selon l'invention garantit également le bon fonctionnement du terminal, par exemple en interdisant tout simplement aux services l'accès à des ressources système sensibles comme la ressource "batterie" .As a corollary, since the invention makes it possible to control the access of the services to the resources system, it is possible to prevent piracy of sensitive system resources, for example by systematically refusing any duplication of a key sequence composed on a keyboard on behalf of an "official" service, ie a service legitimately recorded on the terminal, such as a banking service. Controlled access to system resources according to the invention also ensures the proper functioning of the terminal, for example by simply prohibiting the services access to sensitive system resources such as the "battery" resource.
Par ailleurs, puisque chaque service est installé sur un terminal en étant restreint vis-à-vis de l'utilisation de ressources système sensibles, il est par exemple impossible à un service malveillant qui ne dispose pas des droits d'accès à ces ressources système de détourner les informations bancaires confidentielles d'un service de paiement même en cas de dysfonctionnement de ce dernier.Moreover, since each service is installed on a terminal being restricted with respect to the use of sensitive system resources, it is for example impossible for a malicious service that does not have access rights to these system resources. to divert confidential banking information from a payment service even in the event of a malfunction of the payment service.
L'invention offre en outre une grande souplesse de gestion des droits en prévoyant la mise à jour dynamique des ressources système autorisées pour chaque service. La modification des droits d'un service sur le système d'exploitation conduit immédiatement à la prise en compte des nouveaux droits d'accès aux ressources système allouées ou retirées au service. En particulier, il n'est pas nécessaire de relancer le système d'exploitation pour que cette prise en compte soit effective. Comme expliqué en détail ci-dessous en relation avec les paramètres de traitement et des identificateurs de service, la même souplesse est conférée aux modalités de protection des ressources et aux modalités
d'identification et d ' authentification des services, en prévoyant leur mise à jour dynamique.The invention also provides a great deal of rights management flexibility by providing for dynamic updating of the authorized system resources for each service. The modification of the rights of a service on the operating system leads immediately to the taking into account of the new rights of access to the system resources allocated or withdrawn to the service. In particular, it is not necessary to restart the operating system for this consideration to be effective. As explained in detail below in relation to processing parameters and service identifiers, the same flexibility is given to resource protection modalities and modalities. identification and authentication services, providing for their dynamic update.
Le contexte d'usage de l'invention est celui d'un terminal informatique susceptible d'exécuter au moins un service. L'interdiction à des services de s'installer sur le terminal sans autorisation, ou du moins en contrôlant l'accès aux ressources, réduit considérablement les risques de piratage du terminal suite à l'installation automatique d'un service, par exemple lors d'une navigation sur un site internet. Ainsi, l'invention permet aux terminaux d'accéder à des réseaux sans risque de piratage, consistant par exemple à installer un service à 1 ' insu de l'utilisateur. Par conséquent, si des services malveillants n'ont plus la possibilité de détourner des données associées à un modèle économique, alors les modèles économiques ne peuvent plus être détournés de leurs objectifs commerciaux.The context of use of the invention is that of a computer terminal capable of performing at least one service. The prohibition of services to install on the terminal without authorization, or at least by controlling access to resources, considerably reduces the risk of hacking the terminal following the automatic installation of a service, for example when a navigation on a website. Thus, the invention allows terminals to access networks without risk of hacking, consisting for example to install a service without the knowledge of the user. Therefore, if malicious services no longer have the ability to hijack data associated with an economic model, then business models can no longer be diverted from their business objectives.
Selon d'autres caractéristiques de l'invention, les éléments descriptifs de la ressource peuvent ne pas être chiffrés et donc être interprétables par l'unité d'exécution sans recourir aux paramètres de traitement, ou bien les éléments descriptifs de la ressource peuvent être chiffrés et interprétables par l'unité d'exécution après un déchiffrement des éléments descriptifs chiffrés en fonction des paramètres de traitement.According to other features of the invention, the descriptive elements of the resource may not be encrypted and thus be interpretable by the execution unit without resorting to the processing parameters, or the descriptive elements of the resource may be encrypted and interpretable by the execution unit after decrypting the encrypted descriptive elements according to the processing parameters.
Les paramètres de traitement sont spécifiques à une ressource système et permettent de déchiffrer les éléments descriptifs de la ressource lorsque ces derniers sont chiffrés. Dans tous les cas, les paramètres de traitement rendent accessibles en clair les éléments descriptifs à l'unité d'exécution pour que cette dernière accède à la ressource.
Selon une autre caractéristique de l'invention, des paramètres de service peuvent être associés au service, et le service est identifié si tous les paramètres de service associés au service et seulement audit service sont inclus dans un ensemble de paramètres de contexte relatifs à l'unité d'exécution identifiée et associés à la requête.The processing parameters are specific to a system resource and make it possible to decrypt the descriptive elements of the resource when they are encrypted. In all cases, the processing parameters make clear the descriptive elements to the execution unit so that the latter accesses the resource. According to another characteristic of the invention, service parameters may be associated with the service, and the service is identified if all the service parameters associated with the service and only said service are included in a set of context parameters relating to the service. identified execution unit and associated with the request.
Les paramètres de service permettent d'identifier le service de manière unique et non ambiguë par rapport à d'autres services numériques. Cette identification exacte garantit en outre que l'unité d'exécution requérant une ressource du terminal est "officielle".Service settings allow the service to be uniquely and unambiguously distinguished from other digital services. This exact identification further ensures that the thread requesting a resource from the terminal is "official".
L'invention concerne également un système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution étant dédiée à un service numérique et ayant émis une requête d'accès système incluant un identificateur de ressource à destination d'un système d'exploitation du terminal. Ledit système est remarquable en ce qu'il comprend : un moyen pour intercepter ladite requête et pour identifier l'unité d'exécution à l'origine de ladite requête, un moyen pour déterminer au moins un paramètre de contexte relatif à ladite unité d'exécution identifiée, un moyen pour associer à la requête ledit paramètre de contexte, un moyen pour identifier ledit service en fonction du paramètre de contexte,
un moyen pour déterminer des identificateurs des ressources associées audit service identifié, un moyen pour déterminer des paramètres de traitement associés à cet identificateur de ressource si ledit identificateur de ressource inclus dans la requête est l'un desdits identificateurs des ressources associées au service identifié, et un moyen pour traiter, en fonction desdits paramètres de traitement déterminés, des éléments descriptifs de la ressource, afin de rendre la ressource accessible à l'unité d'exécution.The invention also relates to a system for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal. Said system is remarkable in that it comprises: means for intercepting said request and for identifying the execution unit at the origin of said request, means for determining at least one context parameter relating to said unit of identified execution, means for associating said context parameter with the query, means for identifying said service according to the context parameter, means for determining resource identifiers associated with said identified service, means for determining processing parameters associated with that resource identifier if said resource identifier included in the request is one of said resource identifiers associated with the identified service, and means for processing, according to said determined processing parameters, descriptive elements of the resource, in order to make the resource accessible to the execution unit.
Avantageusement, le système de protection selon l'invention intercepte systématiquement tout appel à une ressource du terminal par une unité d'exécution afin d'assurer une protection des accès à la ressource. Le système de protection garantit que l'accès à une ressource est obtenu dans le contexte du modèle économique associé au service, et par un ayant-droit utilisant une unité d'exécution autorisée à accéder à la ressource.Advantageously, the protection system according to the invention systematically intercepts any call to a resource of the terminal by an execution unit to ensure protection of access to the resource. The protection system ensures that access to a resource is obtained in the context of the business model associated with the service, and by a trustee using a thread authorized to access the resource.
Par ailleurs, le système d'exploitation est rendu plus fiable par l'invention puisque, même si un utilisateur de type administrateur possédant tous les droits exécute un service, ce service ne possède que ses propres droits d'accès aux ressources. Un tel service ne peut donc pas endommager le fonctionnement du système d'exploitation et rendre indisponible le terminal. Une indisponibilité du terminal implique une perte de chiffre d'affaires pour le fournisseur du service puisque le client ne peut plus consommer de services pendant que le terminal ne fonctionne plus. Par exemple, si un service exécuté par un utilisateur de type administrateur a uniquement le droit d'utiliser la mémoire, l'écran et le clavier du
terminal, le service ne pourra pas accéder à la ressource système "batterie" afin d'éteindre le terminal par exemple.Moreover, the operating system is made more reliable by the invention since, even if a user of administrator type having all the rights runs a service, this service has only its own access rights to the resources. Such a service can not therefore damage the operation of the operating system and make the terminal unavailable. An unavailability of the terminal implies a loss of turnover for the service provider since the customer can no longer consume services while the terminal no longer works. For example, if a service run by an administrator user is only allowed to use the memory, the screen and the keyboard of the administrator terminal, the service will not be able to access the system resource "battery" in order to turn off the terminal for example.
La fiabilité accrue du terminal renforce l'image de marque et de sérieux du fournisseur de service, par conséquent renforce la confiance du client par rapport au fournisseur, et consolide donc indirectement la capacité commerciale du fournisseur.The increased reliability of the terminal enhances the service provider's brand and seriousness, thereby enhancing the customer's trust in the supplier, and thus indirectly consolidating the vendor's business capability.
Selon une autre caractéristique de l'invention, le moyen pour identifier le service peut contenir une première table mettant en correspondance des identificateurs de service et des listes de paramètres de service, une deuxième table mettant en correspondance les mêmes identificateurs de service et des listes d'identificateurs de ressource, et une troisième table mettant en correspondance des identificateurs de ressource et des listes de paramètres de traitement, ces tables de correspondance étant actualisées par au moins un moyen serveur en fonction des services numériques auxquels l'utilisateur du terminal est abonné.According to another feature of the invention, the means for identifying the service may contain a first table mapping service identifiers to service parameter lists, a second table mapping the same service identifiers to the service identifiers. resource identifiers, and a third table mapping resource identifiers and processing parameter lists, these correspondence tables being updated by at least one server means according to the digital services to which the user of the terminal is subscribed.
Les tables de correspondance permettent une identification exacte du service numérique relatif à l'application exécutée dans le terminal, et sont actualisées par un moyen serveur externe au terminal pour prendre en compte tout changement éventuel relatif aux services numériques auxquels l'utilisateur du terminal est abonné. En particulier, les tables de correspondance remédient à l'inconvénient qu'aucune entité officielle dans l'état de la technique ne gère l'ensemble des services numériques existants, les services n'ayant pas de caractéristiques propres pour être distingués les uns des autres.
L'invention se rapporte également à un programme d'ordinateur apte à être mis en œuvre dans un système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution étant dédiée à un service numérique et ayant émis une requête d'accès système incluant un identificateur de ressource à destination d'un système d'exploitation du 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.The look-up tables allow an exact identification of the digital service relating to the application executed in the terminal, and are updated by a server means external to the terminal to take into account any change relating to the digital services to which the user of the terminal is subscribed . In particular, the correspondence tables overcome the drawback that no official entity in the state of the art manages all existing digital services, services having no specific characteristics to be distinguished from each other . The invention also relates to a computer program adapted to be implemented in a system for managing access to a resource of a terminal required by a thread of an application program executed in the terminal, said an execution unit being dedicated to a digital service and having issued a system access request including a resource identifier to an operating system of the terminal, said program comprising instructions which, when the program is executed in said system, perform the steps according to the method of the invention.
L'invention se rapporte enfin à un support d'enregistrement lisible par un système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution étant dédiée à un service numérique et ayant émis une requête d'accès système incluant un identificateur de ressource à destination d'un système d'exploitation du terminal, ledit support contenant un programme d'ordinateur comportant des instructions pour l'exécution des étapes selon le procédé de 1 ' invention .Finally, the invention relates to a system-readable recording medium for managing access to a resource of a terminal required by an execution unit of an application program executed in the terminal, said execution unit being dedicated to a digital service and having issued a system access request including a resource identifier for an operating system of the terminal, said medium containing a computer program including instructions for executing the steps according to the process of the invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations de l'invention données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels :
- la figure 1 est un bloc-diagramme schématique d'un système de protection selon l'invention pour gérer un accès aux ressources d'un terminal ; etOther characteristics and advantages of the present invention will emerge more clearly on reading the following description of several embodiments of the invention given by way of non-limiting examples, with reference to the corresponding appended drawings in which: FIG. 1 is a schematic block diagram of a protection system according to the invention for managing access to the resources of a terminal; and
- la figure 2 est l'algorithme d'un procédé de gestion d'accès aux ressources d'un terminal selon l'invention mis en œuvre dans le système de protection .FIG. 2 is the algorithm of a resource access management method of a terminal according to the invention implemented in the protection system.
En référence à la figure 1, le système de protection SP selon l'invention est inclus dans un terminal informatique capable de gérer des données numériques .With reference to FIG. 1, the protection system SP according to the invention is included in a computer terminal capable of managing digital data.
Le terminal informatique peut être de tout type et peut gérer tout type de données. Par exemple, le terminal est un ordinateur personnel, un terminal radio mobile, un terminal bancaire, un serveur applicatif ou encore une caméra de surveillance. Le terminal dispose d'au moins une ressource système et peut gérer au moins un service. Le système de protection SP comprend un contrôleur d'accès CA, 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, un module de chiffrement MC et un contrôleur de service CS. Le serveur de paramètres SVP communique directement avec le contrôleur d'accès CA et/ou le contrôleur de chiffrement CC. Les communications entre les différentes entités comprises dans le système de protection sont sécurisées, de manière à ce qu'aucun échange d'information ne puisse être intercepté pendant une communication entre deux de ces entités.The 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 terminal has at least one system resource and can manage at least one service. The protection system SP comprises a CA access controller, an encryption system SC and at least one parameter server SVP. The encryption system SC comprises a DC encryption controller, a GC key generator, an encryption module MC and a service controller CS. The SVP parameter server communicates directly with the CA access controller and / or the DC encryption controller. The communications between the different entities included in the protection system are secure, so that no exchange of information can be intercepted during a communication between two of these entities.
Le contrôleur d'accès CA contrôle l'accès à des ressources système qui sont gérées à travers le système d'exploitation du terminal par un
gestionnaire de ressources GR. Comme décrit précédemment, les ressources système sont représentées de différentes manières et ont chacune leur propre mode d'accès. Le gestionnaire de ressources GR contient des éléments descriptifs ED pour chaque ressource système qui sont interprétables par une application pour accéder à la ressource système. Par exemple, des éléments descriptifs sont réunis dans un fichier de données dans un gestionnaire de fichiers accessible seulement par le gestionnaire de ressources GR.The CA access controller controls access to system resources that are managed through the terminal operating system by a GR resource manager. As previously described, the system resources are represented in different ways and each have their own access mode. The resource manager GR contains ED descriptive elements for each system resource that can be interpreted by an application to access the system resource. For example, descriptive elements are gathered in a data file in a file manager accessible only by the resource manager GR.
Le serveur de paramètres SVP gère notamment des informations nécessaires au système de protection selon l'invention, telles que des valeurs pour les paramètres requis par le contrôleur de service CS et le générateur de clé GC.The parameter server SVP notably manages information necessary for the protection system according to the invention, such as values for the parameters required by the service controller CS and the key generator GC.
Le contrôleur de service CS est apte à communiquer avec au moins un serveur de protection de service SPS, qui est par exemple localisé dans le réseau du fournisseur de service dispensant un service auquel est abonné l'utilisateur du terminal. Par souci de simplicité, on ne fera référence ci- dessous qu'à un seul serveur SPS, mais il est tout à fait possible dans le cadre de l'invention de prévoir plusieurs SPS ayant chacun les fonctionnalités décrites ci-dessous, de façon à ce que chaque fournisseur de service héberge au plus un serveur SPS. Le serveur de protection de service SPS est géré par exemple par le fournisseur de service lui-même ou par un tiers de confiance.The service controller CS is able to communicate with at least one SPS service protection server, which is for example located in the network of the service provider providing a service to which the user of the terminal is subscribed. For the sake of simplicity, reference will be made below to only one SPS server, but it is quite possible within the scope of the invention to provide several SPSs each having the functionalities described below, so as to what each service provider hosts at most one SPS server. The SPS service protection server is managed for example by the service provider itself or by a trusted third party.
Les communications entre le contrôleur de service CS et le serveur de protection de service SPS sont également sécurisées, en utilisant par exemple le protocole d'accès entre objets distants SOAP
("Simple Object Access Protocol" en anglais) encapsulé dans le protocole de transfert sécurisé HTTPS.Communications between the CS service controller and the SPS service protection server are also secure, for example using the SOAP remote object access protocol. ("Simple Object Access Protocol" in English) encapsulated in the HTTPS secure transfer protocol.
Le serveur de protection de service SPS gère des listes de paramètres de service LPS associées à des services numériques de manière à ce que des identificateurs de service IS soient associés chacun à une et une seule liste de paramètres de service LPS. Une liste de paramètres de service LPS caractérise et identifie de manière unique et non ambiguë le service numérique correspondant parmi d'autres services. Chaque identificateur de service IS est en outre associé à un ou plusieurs identificateurs de ressource IR. Chaque identificateur de ressource IR est associé à une liste de paramètres de chiffrement/déchiffrement, appelée liste de paramètres de traitement LPT.The SPS service protection server maintains lists of LPS service parameters associated with digital services so that service identifiers IS are each associated with one and only one list of LPS service parameters. A list of LPS service parameters characterizes and uniquely and unambiguously identifies the corresponding digital service among other services. Each service identifier IS is further associated with one or more IR resource identifiers. Each IR resource identifier is associated with a list of encryption / decryption parameters, called the LPT processing parameter list.
Par ailleurs, des identificateurs d'utilisateur IU peuvent être associés individuellement à au moins un identificateur de service IS. Un identificateur d'utilisateur IU est défini à partir de paramètres d'utilisateur qui caractérisent de manière non ambiguë l'utilisateur du service numérique. Les paramètres d'utilisateur incluent par exemple un identificateur d'un groupe d'utilisateurs et/ou un identificateur du terminal. Les paramètres d'utilisateur sont adaptés à chaque besoin commercial. Par exemple, un abonné n'aura pas les mêmes services en utilisant un téléviseur ou un terminal mobile. Ainsi, selon le contexte d'utilisation, des ressources système différentes seront accessibles pour un même service selon l'utilisation du téléviseur ou du terminal mobile, puisqu'il s'agit de deux identificateurs d'utilisateur différents bien que ces derniers
fassent référence à un seul et même utilisateur abonné. La notion d'utilisateur est donc très générale et englobe par exemple des individus, des sociétés, des machines ou bien des individus utilisant une machine déterminée à un endroit donné.In addition, user identifiers UI can be individually associated with at least one IS service identifier. An UI user identifier is defined from user parameters that unambiguously characterize the digital service user. The user parameters for example include an identifier of a user group and / or a terminal identifier. User settings are tailored to each business need. For example, a subscriber will not have the same services using a TV or a mobile terminal. Thus, depending on the context of use, different system resources will be available for the same service depending on the use of the television or the mobile terminal, since they are two different user identifiers although the latter refer to a single subscriber user. The notion of user is therefore very general and includes, for example, individuals, companies, machines or individuals using a specific machine at a given location.
Le contrôleur de service CS contient en particulier des première, deuxième et troisième tables de correspondance TCl, TC2 et TC3. La première table TCl met en correspondance des identificateurs de service IS et des listes de paramètres de service LPS, et la deuxième table TC2 met en correspondance les mêmes identificateurs de service IS et des listes d'identificateurs de ressource LIR respectives. La troisième table TC3 met en correspondance les identificateurs de ressource IR et des listes de paramètres de traitement LPT.The service controller CS contains in particular first, second and third correspondence tables TC1, TC2 and TC3. The first table TC1 maps IS service identifiers to LPS service parameter lists, and the second TC2 table matches the same IS service identifiers and respective LIR resource identifier lists. The third table TC3 maps the IR resource identifiers and LPT processing parameter lists.
Une liste de paramètres de service LPS contient un ou plusieurs paramètres, tandis qu'une liste de paramètres de traitement LPT peut ne contenir aucun paramètre. Ces tables de correspondance TCl, TC2 et TC3 sont fournies ou actualisées par le serveur de protection de service SPS en fonction de l'identificateur IU de l'utilisateur du terminal.A list of LPS service parameters contains one or more parameters, while a list of LPT processing parameters may contain no parameters. These correspondence tables TC1, TC2 and TC3 are provided or updated by the SPS service protection server according to the UI of the terminal user.
Le terminal informatique comprend en outre des mémoires qui regroupent une ou plusieurs mémoires volatiles et une ou plusieurs mémoires persistantes dont l'accès à travers le système d'exploitation depuis le gestionnaire de ressource GR est garanti par le contrôleur d'accès CA du système de protection .The computer terminal further comprises memories that include one or more volatile memories and one or more persistent memories whose access through the operating system from the resource manager GR is guaranteed by the access controller CA of the system. protection.
Le système d'exploitation du terminal exécute des applications AP et gère le partage des ressources du terminal entre les applications via le gestionnaire de ressources GR.
Une application AP qui est exécutée par le système d'exploitation du terminal et associée à un service numérique peut demander l'accès à l'une quelconque des ressources du système d'exploitation du terminal .The terminal operating system executes AP applications and manages the sharing of terminal resources between applications via the GR resource manager. An AP application that is executed by the terminal operating system and associated with a digital service may request access to any of the terminal operating system resources.
En particulier, le système de protection SP peut être mis en œuvre dans un composant électronique de type microcontrôleur, circuit à microprocesseur ou carte à puce, afin que le système ne soit pas piraté, espionné ou modifié. Ce mode de réalisation est particulièrement intéressant lorsque le composant électronique inclut, en plus du système de protection SP, une mémoire volatile, une mémoire persistante, stockant par exemple les codes applicatifs permettant au système d'exploitation de s'exécuter, et un processeur dans lequel s'exécute le code source du système de protection. En effet, une faiblesse du système de protection est que son exécution réclame que son code source soit écrit en "clair". Si le code source est écrit en mémoire volatile, il est possible de copier le code source de la mémoire, d'en comprendre le fonctionnement et de le détourner de ce fonctionnement. En revanche, si le code source du système de protection est exécuté au sein du composant électronique, il est beaucoup plus difficile de le pirater.In particular, the protection system SP can be implemented in an electronic component of the microcontroller type, microprocessor circuit or smart card, so that the system is not pirated, spied on or modified. This embodiment is particularly advantageous when the electronic component includes, in addition to the protection system SP, a volatile memory, a persistent memory, storing for example the application codes allowing the operating system to execute, and a processor in which executes the source code of the protection system. Indeed, a weakness of the protection system is that its execution 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.
La mémoire persistante du composant électronique contient des applications critiques comme, par exemple, un système d'exploitation certifié mettant en œuvre le contrôleur d'accès, ou un navigateur certifié .The persistent memory of the electronic component contains critical applications such as, for example, a certified operating system implementing the access controller, or a certified browser.
Quand un service doit être exécuté sur le terminal, le service est alors exécuté au moyen du système d'exploitation en utilisant le système de protection SP. Les demandes d'accès à des ressources
système émanant des services sont traitées par le système de protection qui vérifie les droits d'accès des services aux ressources système. Si le service n'a pas le droit d'accès à la ressource système demandée, la demande échoue. Si le service a le droit d'accès à la ressource système, le système de protection charge dans la mémoire du composant électronique, en les déchiffrant s'ils sont chiffrés, les éléments descriptifs de la ressource système demandée. De cette manière, les éléments descriptifs d'une ressource système ne sont pas divulgués dans la mémoire du terminal, dans laquelle un service malveillant aurait pu les copier.When a service is to be executed on the terminal, the service is then executed by means of the operating system using the protection system SP. Requests for access to resources system from the services are processed by the protection system which verifies the access rights of the services to the system resources. If the service does not have the right to access the requested system resource, the request fails. If the service has the right of access to the system resource, the protection system loads in the memory of the electronic component, deciphering if they are encrypted, the descriptive elements of the requested system resource. In this way, the descriptive elements of a system resource are not disclosed in the terminal memory, in which a malicious service could have copied them.
Ainsi, même si un service malveillant possède des moyens matériels d'espionner la mémoire du terminal pour en extraire des données, le service ne peut pas accéder aux éléments descriptifs d'une ressource système préalablement déchiffrés par le système de protection. Par conséquent, il n'est pas possible d'extraire des éléments descriptifs d'une ressource système, de les pirater et de les utiliser pour accéder illégalement à une ressource système.Thus, even if a malicious service has hardware means to spy on the memory of the terminal to extract data, the service can not access the descriptive elements of a system resource previously deciphered by the protection system. As a result, it is not possible to extract descriptive elements from a system resource, to hack them, and to use them to illegally access a system resource.
Par ailleurs, le système de chiffrement SC peut être réalisé en partie en logique câblée plutôt que sous forme de logiciel. Seul le contrôleur de service CS doit être réalisé en tout ou partie sous forme de logiciel puisqu'il stocke et gère des tables qui peuvent être actualisées. En effet, la logique câblée optimise le fonctionnement en augmentant considérablement les performances. Puisque le temps de traitement effectué par le système de chiffrement SC constitue le principal délai pour l'accès aux ressources système, 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, ce dernier doit être de préférence optimisé, par exemple en ayant recours à une réalisation en logique câblée.Moreover, the encryption system SC can be realized partly in hardwired logic rather than in the form of software. Only the CS service controller must be realized in whole or in part as software since it stores and manages tables that can be updated. In fact, wired logic optimizes operation by considerably increasing performance. Since the processing time performed by the encryption system SC is the main delay for accessing system resources, 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.
Lorsque les éléments descriptifs sont contenus sous forme chiffrée dans le gestionnaire de ressource GR, leur maintenance est gérée par un système de maintenance SM, qui est par exemple localisé sur le terminal de l'utilisateur et mis à jour par le serveur de protection de service SPS. Le système de maintenance SM modifie des éléments descriptifs d'une ressource avec des paramètres de traitement par exemple de la manière suivante. Pour chaque ressource système, le système de maintenance SM transmet au contrôleur de chiffrement CC une demande d'accès à la ressource contenant l'identifiant de la ressource système. Le contrôleur de chiffrement CC, via le contrôleur de service CS et le module de chiffrement MC, identifie des éléments descriptifs chiffrés associés à l'identifiant de la ressource système et déchiffre les éléments descriptifs chiffrés à l'aide d'une liste de paramètres de traitement contenue dans le contrôleur de service CS. Le contrôleur de chiffrement CC donne ainsi accès aux éléments descriptifs de la ressource au système de maintenance SM. Ce dernier transmet au contrôleur de chiffrement CC une demande de chiffrement des éléments descriptifs de la ressource avec une autre liste de paramètres de traitement inclus dans la demande. Le contrôleur de chiffrement CC, via le module de chiffrement MC, chiffre les éléments descriptifs et fournit ces derniers au gestionnaire de ressource avant d'informer le système de maintenance SM du résultat de l'opération.
Dès que toutes les ressources système à modifier ont été traitées, le système de maintenance SM informe le serveur de protection de service SPS du résultat de l'opération de maintenance et le serveur SPS met à jour la troisième table TC3 du contrôleur de service CS mettant en correspondance les identificateurs de ressource IR et les listes de paramètres de traitement LPT.When the descriptive elements are contained in encrypted form in the resource manager GR, their maintenance is managed by a maintenance system SM, which is for example located on the user's terminal and updated by the service protection server. SPS. The maintenance system SM modifies descriptive elements of a resource with processing parameters, for example as follows. For each system resource, the maintenance system SM transmits to the encryption controller CC a request for access to the resource containing the identifier of the system resource. The encryption controller CC, via the service controller CS and the encryption module MC, identifies encrypted descriptive elements associated with the identifier of the system resource and decrypts the encrypted descriptive elements using a list of parameters. processing contained in the CS service controller. The encryption controller CC thus gives access to the descriptive elements of the resource to the maintenance system SM. The latter transmits to the encryption controller CC a request for encryption of the descriptive elements of the resource with another list of processing parameters included in the request. The encryption controller CC, via the encryption module MC, encrypts the descriptive elements and provides them to the resource manager before informing the maintenance system SM of the result of the operation. As soon as all the system resources to be modified have been processed, the maintenance system SM informs the service protection server SPS of the result of the maintenance operation and the server SPS updates the third table TC3 of the service controller CS in correspondence the IR resource identifiers and the LPT processing parameter lists.
En référence à la figure 2, le procédé selon l'invention comprend des étapes El à ElO exécutées automatiquement sous le contrôle du système de protection SP inclus dans le terminal et mises en œuvre par des instructions d'un programme d'ordinateur enregistré sur un support d'enregistrement lisible par le système de protection SP.With reference to FIG. 2, the method according to the invention comprises steps El to ElO automatically executed under the control of the protection system SP included in the terminal and implemented by instructions of a computer program recorded on a terminal. recording medium readable by the SP protection system.
Au préalable, un utilisateur du terminal a souscrit un abonnement auprès d'un ou plusieurs fournisseurs de service offrant des services numériques et devient ainsi un abonné à au moins un service .In advance, a user of the terminal has subscribed to one or more service providers offering digital services and thus becomes a subscriber to at least one service.
A une étape initiale EO, le contrôleur de service CS mémorise ou actualise des tables de correspondance TCl, TC2 et TC3 en fonction du ou des services numériques auxquels l'utilisateur est abonné avec le concours du serveur de protection de service SPS.At an initial step EO, the service controller CS stores or updates correspondence tables TC1, TC2 and TC3 according to the digital service or services to which the user is subscribed with the assistance of the SPS service protection server.
Dans un premier exemple, le contrôleur de service CS interroge le serveur de protection de service SPS en fournissant à ce dernier un identificateur d'utilisateur IU. Le contrôleur CS obtient en retour au moins un identificateur de service ou plus généralement des identificateurs de service IS associés à l'identificateur d'utilisateur,
ainsi que les listes de paramètres de service LPS et les listes d'identificateurs de ressource LIR associées aux identificateurs de service, et les listes de paramètres de traitement LPT associées aux identificateurs de ressource IR, afin d'actualiser ou mémoriser les tables de correspondance TCl, TC2 et TC3. Cette interrogation peut être effectuée à chaque fois que le terminal est mis sous tension, pour vérifier une éventuelle modification dans les tables de correspondance.In a first example, the service controller CS interrogates the SPS service protection server by providing the SPS service protection server with an UI user identifier. The controller CS in return obtains at least one service identifier or, more generally, service identifiers IS associated with the user identifier, as well as lists of LPS service parameters and lists of LIR resource identifiers associated with service identifiers, and lists of LPT processing parameters associated with IR resource identifiers, in order to update or store correspondence tables TCl , TC2 and TC3. This interrogation can be carried out each time the terminal is powered on, to check for a possible modification in the correspondence tables.
Dans un deuxième exemple, le serveur de protection de service SPS interroge une base de données pour connaître au moins le service ou plus généralement les services accessibles par l'utilisateur, cette base de données étant par exemple un enregistreur de localisation nominal HLR ("Home Location Register" en anglais) dans un réseau cellulaire GSM/GPRS ("Global System for Mobile communications" / "General Packet Radio System" en anglais) ou un serveur de service nominal HSS ("Home Service Server" en anglais) dans un réseau cellulaire UMTS ("Universal Mobile Télécommunications System" en anglais). Le serveur SPS associe l'identificateur IU de l'utilisateur et les identificateurs IS du ou des services auxquels l'utilisateur est abonné. Puis le serveur SPS transmet au contrôleur de service CS les identificateurs de service et les listes de paramètres de service associées, ainsi que les identificateurs de ressources associés aux services et les listes de paramètres de traitement associées aux identificateurs de ressource, pour une actualisation totale des tables de correspondance TCl, TC2 et TC3 mémorisées dans le contrôleur de service CS.
Dans un troisième exemple, le serveur de protection de service SPS procède à une actualisation partielle des tables de correspondance TCl, TC2 et TC3, uniquement lorsqu'un changement a lieu. Ce changement peut être de plusieurs natures comme par exemple la création, la modification ou la suppression d'un service, et peut être à l'initiative d'un enregistreur HLR dans un réseau cellulaire GSM/GPRS ou d'un serveur HSS dans un réseau cellulaire UMTS. Le serveur de protection de service SPS transmet alors au contrôleur de service CS un fichier tenant compte de ces changements pour actualiser seulement les tables de correspondance concernées par ces changements. Le contrôleur de service CS contient alors des tables de correspondance actualisées qui sont relatives à des identificateurs IS des services auxquels l'utilisateur est abonné et à des ressources d'exploitation qui sont accessibles par ces services. Dans la première table de correspondance TCl, chaque identificateur de service IS est associé à une liste de paramètres de service LPS qui caractérise et identifie de manière unique et non ambiguë le service numérique correspondant parmi d'autres services. Chaque liste de paramètres de service contient des champs qui sont spécifiques au service numérique et qui sont renseignés par des valeurs de paramètres de service par le fournisseur du service numérique. Les paramètres de service sont par exemple un identificateur d'une application AP et/ou un identificateur de fournisseur de service.In a second example, the SPS service protection server interrogates a database to know at least the service or more generally the services accessible by the user, this database being for example a home location register HLR ("Home Location Register "in English) in a cellular network GSM / GPRS (" Global System for Mobile Communications "/" General Packet Radio System "in English) or a nominal service server HSS (" Home Service Server "in English) in a network UMTS cellular ("Universal Mobile Telecommunications System"). The SPS server associates the UI identifier of the user with the IS identifiers of the service or services to which the user is subscribed. Then the SPS server transmits to the service controller CS the service identifiers and the associated service parameter lists, as well as the resource identifiers associated with the services and the processing parameter lists associated with the resource identifiers, for a total update of the service identifiers. correspondence tables TC1, TC2 and TC3 stored in the service controller CS. In a third example, the SPS service protection server performs a partial update of the TCl, TC2 and TC3 correspondence tables only when a change takes place. This change can be of several types, such as the creation, modification or deletion of a service, and can be initiated by an HLR recorder in a GSM / GPRS cellular network or an HSS server in a network. UMTS cellular network. The service protection server SPS then transmits to the service controller CS a file taking into account these changes to update only the correspondence tables concerned by these changes. The service controller CS then contains updated correspondence tables which relate to the IS identifiers of the services to which the user is subscribed and to the exploitation resources that are accessible by these services. In the first correspondence table TC1, each service identifier IS is associated with a list of LPS service parameters that uniquely and unambiguously characterizes and identifies the corresponding digital service among other services. Each service parameter list contains fields that are specific to the digital service and are populated by service parameter values by the digital service provider. The service parameters are, for example, an identifier of an AP application and / or a service provider identifier.
Dans la deuxième table de correspondance TC2, chaque identificateur de service IS est associé à une liste d'identificateurs de ressource LIR. Chaque identificateur de service IS peut être
individuellement associé à un ou plusieurs identificateurs de ressource IR. Dans un exemple de mise en œuvre particulièrement simple, un identificateur de service est associé soit à au moins une ressource système accessible, soit à au moins une interdiction d'usage d'au moins une ressource. En d'autres termes, la deuxième table TC2 associe à chaque service des droits d'accès aux ressources système . Dans la troisième table de correspondance TC3, chaque identificateur de ressource IR est en outre associé à une liste de paramètres de traitement LPT. Chaque liste de paramètres de traitement contient des champs qui sont spécifiques au service numérique et qui sont optionnellement renseignés par des valeurs de paramètres de traitement par le fournisseur du service numérique. Les paramètres de traitement sont par exemple un identificateur d'une application AP et/ou un identificateur de l'utilisateur, et peuvent donc être en partie du même type que les paramètres de service. Une liste de paramètres de traitement peut cependant être vide.In the second correspondence table TC2, each service identifier IS is associated with a list of LIR resource identifiers. Each service identifier IS can be individually associated with one or more IR resource identifiers. In a particularly simple implementation example, a service identifier is associated either with at least one accessible system resource or with at least one prohibition of use of at least one resource. In other words, the second table TC2 associates with each service rights of access to system resources. In the third correspondence table TC3, each IR resource identifier is further associated with a list of LPT processing parameters. Each list of processing parameters contains fields that are specific to the digital service and are optionally populated by values of processing parameters by the digital service provider. The processing parameters are for example an identifier of an AP application and / or an identifier of the user, and can therefore be partly of the same type as the service parameters. A list of processing parameters may, however, be empty.
A l'étape El, une application AP relative à un service est exécutée dans le terminal dans le contexte du service. 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 services auxquels ce dernier est abonné et les applications disponibles pour ces services. A titre d'exemple, l'application est un lecteur de média qui est exécuté pour un service d'écoute de musique à la demande.In step El, an application AP for a service is executed in the terminal in the context of the service. For example, the terminal user has selected the launch of the application via a human-machine interface of the terminal indicating to the user the services to which the latter is subscribed and the applications available for these services. For example, the application is a media player that is run for an on-demand music listening service.
L'application exécutée AP transmet une requête d'accès système RA à destination du système
d'exploitation du terminal afin d'accéder à l'une des ressources système du terminal. La requête d'accès système RA inclut un identificateur de ressource IR indiquant la ressource système à laquelle l'application requiert l'accès. A titre d'exemple, la requête d'accès système RA requiert l'accès à un haut-parleur pour l'écoute d'une musique.The executed application AP transmits a system access request RA to the system operating the terminal to access one of the terminal system resources. The system access request RA includes an IR resource identifier indicating the system resource to which the application requires access. For example, the system access request RA requires access to a loudspeaker for listening to music.
A l'étape E2, la requête RA destinée au système d'exploitation est interceptée par le contrôleur d'accès CA 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 contrôleur d'accès CA identifie alors l'application AP qui est à l'origine de la requête RA, par exemple au moyen d'une correspondance entre un processus système et un identificateur de 1 ' application .In step E2, the request RA for the operating system is intercepted by the access controller CA of the protection system SP which is listening to any request from any application to the operating system of the operating system. terminal. The CA access controller then identifies the AP application that originated the RA request, for example by means of a correspondence between a system process and an identifier of the application.
Le contrôleur d'accès CA 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, et associe ainsi un ou des paramètres de contexte non renseignés à la requête.The access controller CA modifies the intercepted request RA into a modified request RM by supplementing it with one or more context parameter fields CP, and thus associates one or more context parameters that are not informed with the request.
Les champs sont destinés à être renseignés par les valeurs de paramètres de contexte qui peuvent être associés directement ou indirectement à l'application. Un paramètre de contexte associé directement à l'application est par exemple un identificateur de l'application AP, ou un identificateur de l'utilisateur. Un paramètre de contexte associé indirectement à l'application est par exemple un identificateur d'un ensemble fini de données associé au service, ou bien un identificateur de fournisseur de service. Optionnellement , le contrôleur d'accès CA mémorise temporairement la requête modifiée RM.
A l'étape E3, le contrôleur d'accès CA 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 l'identificateur de ressource IR inclus dans la requête RM.The fields are intended to be filled by the context parameter values that can be associated directly or indirectly with the application. A context parameter directly associated with the application is for example an identifier of the application AP, or an identifier of the user. A context parameter indirectly associated with the application is for example an identifier of a finite set of data associated with the service, or a service provider identifier. Optionally, the AC access controller temporarily stores the modified query RM. In step E3, the access controller CA 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 resource identifier IR included in the request 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.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.
Le serveur de paramètres SVP détermine et fournit les valeurs de paramètres relatifs à l'application AP afin de renseigner les champs de la requête modifiée par ces valeurs. Par exemple, le système d'exploitation du terminal gère une correspondance entre l'application AP, dont l'exécution est à l'origine de la requête RA dans le terminal, et un identificateur de l'application AP. 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. Les paramètres de contexte renseignés sont alors associés à la requête et exploitables par le système de chiffrement SC.The parameter server SVP determines and provides the parameter values relating to the application AP in order to fill in the fields of the query modified by these values. For example, 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 application AP. The parameter server SVP transmits the context parameter fields filled CPR to the encryption controller CC which stores them. The context parameters entered are then associated with the request and exploitable by the encryption system SC.
En variante, les étapes E3 et E4 sont remplacées respectivement par des étapes E31 et E41.In a variant, steps E3 and E4 are replaced by steps E31 and E41, respectively.
A l'étape E31, le contrôleur d'accès CA 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 champs de paramètres de contexte renseignés CPR au contrôleur d'accès CA.
A l'étape E41, le contrôleur d'accès CA renseigne les champs de la requête modifiée RM au moyen des champs de paramètres de contexte renseignés CPR transmis par le serveur SVP et transmet la requête modifiée RM au contrôleur de chiffrement CC du système de chiffrement SC qui la mémorise.In step E31, the access controller CA 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 parameter fields populated CPR to the access controller CA. In step E41, the access controller CA fills the fields of the modified request RM by means of the context parameter fields CPR filled in by the server SVP and transmits the modified request RM to the encryption controller CC of the encryption system. SC that memorizes it.
A l'étape E5, le contrôleur de chiffrement CC transmet les champs de paramètres de contexte renseignés CPR au contrôleur de service CS.In step E5, the encryption controller CC transmits the context parameter fields CPR filled to the service controller CS.
Le contrôleur de service recherche dans la première table de correspondance TCl l'identificateur IS du service numérique à l'origine de la requête.The service controller searches the first correspondence table TC1 for the identifier IS of the digital service at the origin of the request.
Par exemple, le contrôleur CS met en correspondance un à un les champs de paramètres de contexte renseignés CPR avec les champs des différentes listes de paramètres de service LPS mémorisées .For example, the controller CS matches one by one the context parameter fields CPR filled with the fields of the various lists of LPS service parameters stored.
Si tous les champs d'une et une seule liste de paramètres de service LPS sont inclus dans l'ensemble des champs de paramètres de contexte renseignés CPR, le contrôleur de service CS détermine à l'étape E6 ladite liste de paramètres de service LPS et déduit de la table TCl l'identificateur de service IS associé à cette liste de paramètres de service. Par conséquent le contrôleur de service CS identifie le service numérique relatif à l'identificateur de service IS ainsi déduit.If all the fields of one and only one list of LPS service parameters are included in the set of context parameter fields filled with CPR, the service controller CS determines in step E6 said list of LPS service parameters and derives from the TCl table the service identifier IS associated with this list of service parameters. Consequently, the service controller CS identifies the digital service relating to the service identifier IS thus deduced.
Si tous les champs de plusieurs listes de paramètres de service LPS sont inclus dans l'ensemble des champs de paramètres de contexte renseignés CPR, le contrôleur de service CS transmet un message d'erreur au contrôleur de chiffrement CC, comme indiqué sur la figure 2 à une étape ER, et le procédé se termine.
Si aucune liste de paramètres de service LPS n'a des champs identiques à au moins une partie des champs de paramètres de contexte renseignés CPR, le contrôleur de service CS transmet un message d'erreur au contrôleur de chiffrement CC comme indiqué à l'étape ER, et le procédé se termine.If all the fields of several LPS service parameter lists are included in the set of context parameter fields filled with CPR, the service controller CS transmits an error message to the DC encryption controller, as shown in FIG. at a step ER, and the process ends. If no list of LPS service parameters has fields identical to at least a portion of the context parameter fields filled with CPR, the service controller CS transmits an error message to the CC controller as indicated in step ER, and the process ends.
Si quelques champs d'une ou plusieurs listes de paramètres de service LPS sont inclus dans l'ensemble des champs de paramètres de contexte renseignés CPR, ces listes sont sélectionnées à une étape E51 par le contrôleur de service CS qui identifie l'ensemble des champs de la ou des listes de paramètres de service sélectionnées pour lesquels des champs de paramètres de contexte renseignés n'ont pu être mis en correspondance. Les champs identifiés sont considérés comme des champs de paramètres de contexte à renseigner. Le contrôleur de service CS transmet ensuite au contrôleur de chiffrement CC les champs identifiés pour que ces derniers soient renseignés au moyen du serveur de paramètres SVP puis retransmis au contrôleur de service CS. L'étape E5 est alors répétée une fois pour mettre en correspondance un à un les champs de paramètres de contexte renseignés CPR complétés par les champs identifiés renseignés avec les champs des différentes listes de paramètres de service LPS mémorisées. L'étape E51 ne peut plus être alors répétée puisque tous les champs de paramètres de contexte nécessaires à ladite mise en correspondance ont été renseignés.If some fields of one or more lists of LPS service parameters are included in the set of context parameter fields CPR filled, these lists are selected at a step E51 by the service controller CS which identifies all the fields. of the selected service parameter list (s) for which context parameter fields that were filled in could not be mapped. The fields identified are considered as context parameter fields to be filled in. The service controller CS then transmits to the encryption controller CC the identified fields so that they are filled in using the parameter server SVP and then retransmitted to the service controller CS. Step E5 is then repeated once to one-to-one correspondence of the CPR filled context parameter fields completed by the identified fields filled in with the fields of the various LPS service parameter lists stored. Step E51 can not be repeated then since all the fields of context parameters necessary for said mapping have been filled.
En variante, l'identificateur de service IS est déjà renseigné dans les champs de paramètres de contexte renseignés CPR. L'identificateur de service IS est par exemple déjà fourni par le service auquel est dédiée l'application AP et donc inclus dans la
requête d'accès système RA. Dans cette variante, lors de l'identification du service numérique à l'origine de la requête, le contrôleur CS met en correspondance directement l'identificateur de service de la requête avec chacun des identificateurs de service de la première table de correspondance TCl .As a variant, the service identifier IS is already entered in the context parameter fields CPR. The service identifier IS is for example already provided by the service to which the application AP is dedicated and therefore included in the RA system access request. In this variant, during the identification of the digital service at the origin of the request, the controller CS directly matches the service identifier of the request with each of the service identifiers of the first correspondence table TC1.
Le contrôleur de service CS identifie alors le service numérique relatif à l'identificateur de service IS de la requête lorsque ce dernier est présent dans la première table TCl. Si l'identificateur de service IS de la requête est absent de la première table TCl, le contrôleur de service CS transmet un message d'erreur au contrôleur de chiffrement CC, comme indiqué à une étape ER, et le procédé se termine.The service controller CS then identifies the digital service relating to the service identifier IS of the request when the latter is present in the first table TCl. If the service identifier IS of the request is absent from the first table TC1, the service controller CS transmits an error message to the encryption controller CC, as indicated in a step ER, and the process terminates.
A l'étape E7, après identification du service à l'origine de la requête, le contrôleur de service CS recherche dans la deuxième table de correspondance TC2 les identificateurs de ressource associés à l'identificateur de service IS déduit à l'étape E6. Le contrôleur de service CS détermine ainsi la liste LIR des identificateurs des ressources associées au service identifié. Le contrôleur de service CS vérifie alors si l'identificateur de ressource IR inclus dans la requête RA est l'un des identificateurs des ressources associées au service identifié, c'est-à- dire si l'identificateur de ressource IR appartient à la liste d'identificateurs de ressource LIR associée à l'identificateur de service IS. Si l'identificateur de ressource IR inclus dans la requête est bien associé à l'identificateur de service IS, le service est considéré comme autorisé à accéder à la ressource système correspondant audit identificateur de
ressource, et le contrôleur de service CS valide l'identificateur de ressource IR inclus dans la requête. Dans le cas contraire, le procédé se termine, et un message d'erreur est émis à l'intention de l'utilisateur du terminal.In step E7, after identification of the service at the origin of the request, the service controller CS searches in the second correspondence table TC2 the resource identifiers associated with the service identifier IS deduced in step E6. The service controller CS thus determines the list LIR of the resource identifiers associated with the identified service. The service controller CS then checks whether the resource identifier IR included in the request RA is one of the identifiers of the resources associated with the identified service, that is to say if the resource identifier IR belongs to the list LIR resource identifiers associated with the service identifier IS. If the IR resource identifier included in the request is associated with the service identifier IS, the service is considered to be authorized to access the system resource corresponding to the identifier of the service identifier. resource, and the service controller CS validates the IR resource identifier included in the request. If not, the process terminates, and an error message is sent to the terminal user.
A l'étape E8, le contrôleur de service CS détermine la liste de paramètres de traitement LPT associée à l'identificateur de ressource validé IR dans la troisième table de correspondance TC3 et transmet la liste LPT au contrôleur de chiffrement CC.In step E8, the service controller CS determines the list of LPT processing parameters associated with the validated resource identifier IR in the third correspondence table TC3 and transmits the LPT list to the encryption controller CC.
La liste de paramètres de traitement LPT détermine la manière de traiter les éléments descriptifs ED de la ressource système accessibles par le gestionnaire de ressources GR afin d'interpréter ces derniers. La liste LPT peut avoir des contenus de trois types différents qui sont traités par le système de protection SP à l'étape E9 constituée par l'une des étapes E91, E92 et E93 décrites ci-après selon le contenu de la liste LPT.The list of LPT processing parameters determines how to handle the descriptive elements ED of the system resource accessible by the resource manager GR in order to interpret them. The LPT list may have contents of three different types that are processed by the protection system SP in step E9 constituted by one of the steps E91, E92 and E93 described below according to the contents of the LPT list.
Dans un premier cas, la liste de paramètres de traitement LPT ne contient aucun élément, ce qui signifie que les éléments descriptifs ED ne sont pas chiffrés et sont directement interprétables par l'application AP sans recourir aux paramètres de traitement. La liste LPT est traitée à l'étape E91 par le système de protection SP.In a first case, the list of LPT processing parameters contains no elements, which means that the descriptive elements ED are not encrypted and are directly interpretable by the application AP without resorting to the processing parameters. The LPT list is processed in step E91 by the protection system SP.
Dans un deuxième cas, la liste de paramètres de traitement LPT contient une clé de chiffrement KC et une clé de déchiffrement KD. La liste LPT est traitée à l'étape E92 par le système de protection SP.In a second case, the LPT processing parameter list contains an encryption key KC and a decryption key KD. The LPT list is processed in step E92 by the protection system SP.
Dans un troisième cas, la liste de paramètres de traitement LPT contient des paramètres de chiffrement/déchiffrement nécessaires à la génération
d'une clé de chiffrement et d'une clé de déchiffrement. La liste LPT est traitée à l'étape E93 par le système de protection SP.In a third case, the list of LPT processing parameters contains encryption / decryption parameters necessary for the generation an encryption key and a decryption key. The LPT list is processed in step E93 by the protection system SP.
Dans les deuxième et troisième cas, les éléments descriptifs ED sont chiffrés en des éléments descriptifs chiffrés EDC et sont interprétables après avoir été déchiffrés en éléments descriptifs déchiffrés EDD. L'identificateur de ressource IR doit alors être également chiffré pour accéder aux éléments descriptifs chiffrés associés.In the second and third cases, the descriptive elements ED are encrypted into EDC-encoded descriptive elements and are interpretable after having been decrypted into descriptive elements decoded EDD. The IR resource identifier must then also be encrypted to access the associated encrypted descriptive elements.
A l'étape E91, le contrôleur de chiffrement CC analyse une liste de paramètres de traitement vide et demande au contrôleur d'accès CA de charger les éléments descriptifs ED associés à l'identificateur de la ressource par l'intermédiaire du gestionnaire de ressource GR. Par exemple, les éléments descriptifs peuvent être mémorisés dans une mémoire volatile dont l'adresse est transmise à l'application AP pour que cette dernière interprète les éléments descriptifs mémorisés.In step E91, the encryption controller CC analyzes a list of empty processing parameters and requests the access controller CA to load the descriptive elements ED associated with the identifier of the resource via the resource manager GR. . For example, the descriptive elements can be stored in a volatile memory whose address is transmitted to the application AP for the latter to interpret the stored descriptive elements.
A l'étape E92, le contrôleur de chiffrement CC transmet l'identificateur de ressource IR et la clé de chiffrement KC au module de chiffrement MC. Ce dernier chiffre l'identificateur de ressource IR en fonction de la clé de chiffrement KC et transmet l'identificateur de ressource chiffré IRC au contrôleur de chiffrement CC. Le contrôleur CC demande au contrôleur d'accès CA de fournir les éléments descriptifs chiffrés EDC associés à l'identificateur de la ressource chiffré IRC, par exemple dans une mémoire volatile, par l'intermédiaire du gestionnaire de ressource GR. Le contrôleur de chiffrement CC charge alors les éléments descriptifs chiffrés EDC pour les transmettre avec la clé de déchiffrement KD au module
de chiffrement MC. Ce dernier déchiffre les éléments descriptifs chiffrés en fonction de la clé de déchiffrement et retransmet les éléments descriptifs déchiffrés EDD au contrôleur de chiffrement CC. Comme à l'étape E91, les éléments descriptifs déchiffrés peuvent être mémorisés dans une mémoire volatile dont l'adresse est transmise à l'application AP pour que cette dernière interprète les éléments descriptifs mémorisés . A l'étape E93, le contrôleur de chiffrement CC transmet la liste de paramètres de traitement LPT au générateur de clé GC afin que ce dernier génère une clé de chiffrement KC et une clé de déchiffrement KD en fonction des valeurs des paramètres de traitement lus dans la liste LPT et retransmette les clés générées au contrôleur de chiffrement CC. En variante, si des champs de la liste de paramètres de traitement LPT transmise par le contrôleur de service CS ne sont pas renseignés dans la table de correspondance TC3, ces derniers sont renseignés au moyen du serveur de paramètres SVP. Le contrôleur de chiffrement CC procède ensuite comme à l'étape E92, afin de rendre accessibles en clair les éléments descriptifs à l'application AP. A titre de remarque concernant l'étape E93, 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 utilisé par le module de chiffrement MC est dual de l'algorithme de génération des clés de chiffrement utilisé par le générateur de clé GC, et l'algorithme de déchiffrement utilisé par le module
de chiffrement MC est dual de l'algorithme de génération des clés de déchiffrement utilisé par le générateur de clé GC.In step E92, the encryption controller CC transmits the resource identifier IR and the encryption key KC to the encryption module MC. The latter encrypts the IR resource identifier according to the encryption key KC and transmits the encrypted resource identifier IRC to the encryption controller CC. The DC controller requests the access controller CA to provide the EDC encrypted descriptive elements associated with the identifier of the IRC encrypted resource, for example in a volatile memory, through the resource manager GR. The DC encryption controller then loads the EDC encrypted descriptive elements to transmit them with the decryption key KD to the module MC encryption. The latter decrypts the descriptive elements encrypted according to the decryption key and retransmits the descripted elements EDD to the encryption controller CC. As in step E91, the decrypted descriptive elements can be stored in a volatile memory whose address is transmitted to the application AP so that the latter interprets the stored descriptive elements. In step E93, the encryption controller CC transmits the list of LPT processing parameters to the key generator GC so that it generates an encryption key KC and a decryption key KD according to the values of the processing parameters read in the LPT list and retransmits the generated keys to the DC encryption controller. As a variant, if fields of the list of LPT processing parameters transmitted by the service controller CS are not entered in the correspondence table TC3, the latter are filled in using the parameter server SVP. The encryption controller CC then proceeds as in step E92, in order to make clear the descriptive elements to the application AP. As a remark concerning step E93, 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 is applicable is applicable. any decryption key. Therefore, the encryption algorithm used by the encryption module MC is dual of the algorithm for generating the encryption keys used by the key generator GC, and the decryption algorithm used by the module MC encryption is dual of the decryption key generation algorithm used by the GC key generator.
A l'issue de l'étape E9, le contrôleur de chiffrement CC a éventuellement déchiffré les éléments descriptifs ED en fonction de la liste de paramètres de traitement LPT et rend alors accessible à l'étape ElO la ressource à l'application AP qui peut interpréter les éléments descriptifs en clair.At the end of step E9, the encryption controller CC has optionally decrypted the descriptive elements ED as a function of the list of LPT processing parameters and then makes available to the step ElO the resource to the application AP which can interpret descriptive elements in the clear.
A titre d'exemple, le contrôleur de chiffrement CC mémorise les éléments descriptifs en clair dans une mémoire volatile dont l'adresse est transmise au contrôleur d'accès CA. Ce dernier transmet alors au système d'exploitation l'identificateur de l'application AP correspondant à un processus système et les éléments descriptifs ED associés à l'identificateur de ressource IR ainsi que l'adresse mémoire des éléments descriptifs. Le système d'exploitation qui exécute l'application AP et gère les ressources du terminal rend alors accessible la ressource à l'application.For example, the encryption controller CC stores the descriptive elements in clear in a volatile memory whose address is transmitted to the access controller CA. The latter then transmits to the operating system the identifier of the AP application corresponding to a system process and the descriptive elements ED associated with the resource identifier IR and the memory address of the descriptive elements. The operating system that executes the AP application and manages the terminal resources then makes the resource accessible to the application.
Dans un souci de synchronisation entre les opérations exécutées dans le système de protectionFor the sake of synchronization between the operations performed in the protection system
SP, par exemple 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 chiffrement générée par le générateur de clé GC et associe la clé générée à la donnée à traiter préalablement chargée, telle qu'un identificateur de ressource, 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 traitées simultanément et indépendamment les unes des autres par le contrôleur de chiffrement CC.SP, for example executed by the key generator GC and the encryption module MC, the encryption controller CC receives an encryption key generated by the key generator GC and associates the generated key with the data to be processed previously loaded, such as a resource identifier, 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 Queries can be processed simultaneously and independently of each other by the CC encryption controller.
En variante, les fonctionnalités du contrôleur de chiffrement CC sont intégrées partiellement ou totalement dans le contrôleur d'accès CA et/ou le générateur de clé GC et/ou le module de chiffrement MC et/ou le contrôleur de service CS. Dans ce cas, le contrôleur d'accès CA communique directement avec le générateur de clé GC, le module de chiffrement MC et le contrôleur de service CS et ces trois derniers communiquent également directement entre eux.Alternatively, the functionality of the DC encryption controller is partially or fully integrated in the CA access controller and / or the GC key generator and / or the encryption module MC and / or the service controller CS. In this case, the access controller CA communicates directly with the key generator GC, the encryption module MC and the service controller CS, and the latter three also communicate directly with each other.
L'invention décrite ici concerne un procédé et un système pour gérer un accès à une ressource d'un terminal requise par une application dédiée à un service numérique et exécutée dans le terminal. Selon une mise en œuvre, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme 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 programme, réalisent les étapes du procédé selon 1 ' invention .The invention described herein relates to a method and a system for managing access to a resource of a terminal required by an application dedicated to a digital service and executed in the 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 comprises program instructions which, when said program is executed in the system whose operation is then controlled by the execution of the program, carry out the steps of the method according to the invention.
En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur enregistré sur ou dans un support d'enregistrement 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 mettre en œuvre le procédé selon l'invention. L'invention concerne également un support d'enregistrement, qui peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage 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 microélectronique, ou encore une clé USB, ou un moyen d'enregistrement magnétique, par exemple une disquette ("floppy dise") ou un disque dur. D'autre part, le support d'enregistrement 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échargé sur un réseau de type internet .Accordingly, the invention also applies to a computer program, in particular a computer program recorded on or in a computer readable recording medium and any data processing device, adapted to implement the computer program. 'invention. This program can use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code such as in a partially compiled form, or in any other form desirable for implementing the method according to the invention. The invention also relates to a recording medium, which can be any entity or device capable of storing the program. For example, the medium may comprise storage means on which the computer program according to the invention is recorded, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or magnetic recording means, for example a diskette ("floppy disk") or a hard disk. On the other hand, the recording 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 to an Internet type network.
Alternativement, le support d'enregistrement 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 l'invention.
Alternatively, the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method according to the invention.
Claims
REVENDICATIONS
1 - Procédé pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution (AP) d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution (AP) étant dédiée à un service numérique et ayant émis une requête d'accès système (RA) incluant un identificateur de ressource (IR) à destination d'un système d'exploitation du terminal, ledit procédé étant caractérisé en ce qu'il comprend les étapes de : après interception (E2) de ladite requête (RA), identifier l'unité d'exécution (AP) à l'origine de ladite requête, déterminer (E4) au moins un paramètre de contexte (CPR) relatif à ladite unité d'exécution identifiée (AP) , et associer à la requête (RA) ledit paramètre de contexte (CPR) , identifier (E6) ledit service en fonction du paramètre de contexte (CPR) , déterminer (E7) des identificateurs des ressources associées audit service identifié, et si ledit identificateur de ressource (IR) inclus dans la requête (RA) est l'un desdits identificateurs des ressources associées au service identifié, déterminer (E8) des paramètres de traitement (LPT) associés à cet identificateur de ressource (IR), et traiter (E9), en fonction desdits paramètres de traitement déterminés (LPT), des éléments descriptifs (ED) de la ressource, afin de rendre la ressource accessible à l'unité d'exécution (AP).1 - A method for managing access to a resource of a terminal required by an execution unit (AP) of an application program executed in the terminal, said execution unit (AP) being dedicated to a digital service and having issued a system access request (RA) including a resource identifier (IR) to an operating system of the terminal, said method being characterized in that it comprises the steps of: after interception (E2) of said request (RA), identifying the execution unit (AP) at the origin of said request, determining (E4) at least one context parameter (CPR) relating to said identified execution unit (AP), and associating with the request (RA) said context parameter (CPR), identifying (E6) said service as a function of the context parameter (CPR), determining (E7) identifiers of the resources associated with said identified service, and if said resource identifier (IR) included in the request e (RA) is one of said resource identifiers associated with the identified service, determining (E8) processing parameters (LPT) associated with this resource identifier (IR), and processing (E9), according to said processing parameters determined (LPT), descriptive elements (ED) of the resource, in order to make the resource accessible to the execution unit (AP).
2 - Procédé conforme à la revendication 1, selon lequel les éléments descriptifs (ED) de la ressource ne sont pas chiffrés.
3 - Procédé conforme à la revendication 1, selon lequel les éléments descriptifs (ED) de la ressource sont chiffrés et sont interprétables par l'unité d'exécution après un déchiffrement des éléments descriptifs chiffrés (EDC) en fonction des paramètres de traitement .2 - Process according to claim 1, wherein the descriptive elements (ED) of the resource are not encrypted. 3 - Process according to claim 1, wherein the descriptive elements (ED) of the resource are encrypted and can be interpreted by the execution unit after a decryption of the encrypted descriptive elements (EDC) according to the processing parameters.
4 - Procédé conforme à l'une quelconque des revendications 1 à 3, selon lequel des paramètres de service sont associés au service, et le service est identifié (E6) si tous les paramètres de service associés au service et seulement audit service sont inclus dans un ensemble de paramètres de contexte (CPR) relatifs à l'unité d'exécution identifiée et associés à la requête.4 - Method according to any one of claims 1 to 3, wherein service parameters are associated with the service, and the service is identified (E6) if all the service parameters associated with the service and only said service are included in a set of context parameters (CPR) relative to the identified execution unit associated with the request.
5 - Système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution (AP) d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution (AP) étant dédiée à un service numérique et ayant émis une requête d'accès système (RA) incluant un identificateur de ressource (IR) à destination d'un système d'exploitation du terminal, ledit système étant caractérisé en ce qu'il comprend : un moyen (CA) pour intercepter ladite requête (RA) et pour identifier l'unité d'exécution (AP) à l'origine de ladite requête, un moyen (SVP) pour déterminer au moins un paramètre de contexte (CPR) relatif à ladite unité d'exécution identifiée (AP), un moyen (CA ; CC) pour associer à la requête (RA) ledit paramètre de contexte (CPR) ,
un moyen (CS) pour identifier ledit service en fonction du paramètre de contexte (CPR) , un moyen (CS) pour déterminer des identificateurs des ressources associées audit service identifié, un moyen (CS) pour déterminer des paramètres de traitement (LPT) associés à cet identificateur de ressource (IR) si ledit identificateur de ressource (IR) inclus dans la requête (RA) est l'un desdits identificateurs des ressources associées au service identifié, et un moyen (CC) pour traiter, en fonction desdits paramètres de traitement déterminés (LPT) , des éléments descriptifs (ED) de la ressource, afin de rendre la ressource accessible à l'unité d'exécution5 - System for managing access to a resource of a terminal required by an execution unit (AP) of an application program executed in the terminal, said execution unit (AP) being dedicated to a digital service and having issued a system access request (RA) including a resource identifier (IR) to an operating system of the terminal, said system characterized by comprising: means (CA) for intercepting said request (RA) and to identify the execution unit (AP) at the origin of said request, means (SVP) for determining at least one context parameter (CPR) relating to said identified execution unit (AP) means (CA; CC) for associating with the request (RA) said context parameter (CPR), means (CS) for identifying said service based on the context parameter (CPR), means (CS) for determining resource identifiers associated with said identified service, means (CS) for determining associated processing parameters (LPT) to this resource identifier (IR) if said resource identifier (IR) included in the request (RA) is one of said resource identifiers associated with the identified service, and means (CC) for processing, according to said parameters of determined (LPT), descriptive elements (EDs) of the resource, in order to make the resource accessible to the execution unit
(AP) .(AP).
6 - Système conforme à la revendication 5, dans lequel le moyen (CS) pour identifier le service contient une première table (TCl) mettant en correspondance des identificateurs de service (IS) et des listes de paramètres de service (LPS), une deuxième table (TC2) mettant en correspondance les identificateurs de service (IS) et des listes d'identificateurs de ressource (LIR), et une troisième table (TC3) mettant en correspondance les identificateurs de ressource (IR) et des listes de paramètres de traitement (LPT) , lesdites tables de correspondance étant actualisées par au moins un moyen serveur (SPS) en fonction des services numériques auxquels l'utilisateur du terminal est abonné .The system according to claim 5, wherein the means (CS) for identifying the service contains a first table (TC1) mapping service identifiers (IS) and service parameter lists (LPS), a second table (TC2) mapping service identifiers (IS) and resource identifier lists (LIR), and a third table (TC3) mapping resource identifiers (IRs) and processing parameter lists (LPT), said correspondence tables being updated by at least one server means (SPS) according to the digital services to which the user of the terminal is subscribed.
7 - Système conforme à la revendication 5 ou 6, inclus dans un composant électronique.
8 - Programme d'ordinateur apte à être mis en œuvre dans un système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution (AP) d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution (AP) étant dédiée à un service numérique et ayant émis une requête d'accès système (RA) incluant un identificateur de ressource (IR) à destination d'un 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 : après interception (E2) de ladite requête (RA), identifier l'unité d'exécution (AP) à l'origine de ladite requête, déterminer (E4) au moins un paramètre de contexte (CPR) relatif à ladite unité d'exécution identifiée (AP) , et associer à la requête (RA) ledit paramètre de contexte (CPR) , identifier (E6) ledit service en fonction du paramètre de contexte (CPR) , déterminer (E7) des identificateurs des ressources associées audit service identifié, et si ledit identificateur de ressource (IR) inclus dans la requête (RA) est l'un desdits identificateurs des ressources associées au service identifié, déterminer (E8) des paramètres de traitement (LPT) associés à cet identificateur de ressource (IR), et traiter (E9), en fonction desdits paramètres de traitement déterminés (LPT), des éléments descriptifs (ED) de la ressource, afin de rendre la ressource accessible à l'unité d'exécution (AP).
9 - Support d'enregistrement lisible par un système pour gérer un accès à une ressource d'un terminal requise par une unité d'exécution (AP) d'un programme applicatif exécuté dans le terminal, ladite unité d'exécution (AP) étant dédiée à un service numérique et ayant émis une requête d'accès système (RA) incluant un identificateur de ressource (IR) à 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 ladite requête (RA), identifier l'unité d'exécution (AP) à l'origine de ladite requête, déterminer (E4) au moins un paramètre de contexte (CPR) relatif à ladite unité d'exécution identifiée (AP) , et associer à la requête (RA) ledit paramètre de contexte (CPR) , identifier (E6) ledit service en fonction du paramètre de contexte (CPR) , déterminer (E7) des identificateurs des ressources associées audit service identifié, et si ledit identificateur de ressource (IR) inclus dans la requête (RA) est l'un desdits identificateurs des ressources associées au service identifié, déterminer (E8) des paramètres de traitement (LPT) associés à cet identificateur de ressource (IR), et traiter (E9), en fonction desdits paramètres de traitement déterminés (LPT), des éléments descriptifs (ED) de la ressource, afin de rendre la ressource accessible à l'unité d'exécution (AP).
7 - System according to claim 5 or 6, included in an electronic component. 8 - computer program adapted to be implemented in a system for managing access to a resource of a terminal required by an execution unit (AP) of an application program executed in the terminal, said unit of execution (AP) being dedicated to a digital service and having issued a system access request (RA) including a resource identifier (IR) to an 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 said request (RA), identifying the execution unit (AP) at the origin of said request, determine (E4) at least one context parameter (CPR) relative to said identified execution unit (AP), and associate with the request (RA) said context parameter (CPR), identify (E6) said service as a function of the context parameter (CPR), determined er (E7) identifiers of resources associated with said identified service, and if said resource identifier (IR) included in the request (RA) is one of said resource identifiers associated with the identified service, determining (E8) processing parameters (LPT) associated with this resource identifier (IR), and treat (E9), based on said determined processing parameters (LPT), the descriptive elements (ED) of the resource, in order to make the resource accessible to the unit execution (AP). 9 - System-readable recording medium for managing access to a resource of a terminal required by an execution unit (AP) of an application program executed in the terminal, said execution unit (AP) being dedicated to a digital service and having issued a system access request (RA) including a resource identifier (IR) to an operating system of the terminal, characterized in that it has recorded a computer program comprising instructions for performing the following steps: after interception (E2) of said request (RA), identifying the execution unit (AP) at the origin of said request, determining (E4) at least one parameter of context (CPR) relating to said identified execution unit (AP), and associating with the request (RA) said context parameter (CPR), identifying (E6) said service as a function of the context parameter (CPR), determining ( E7) associative resource identifiers identified in said request, and if said resource identifier (IR) included in the request (RA) is one of said resource identifiers associated with the identified service, determining (E8) processing parameters (LPT) associated with said identifier of resource (IR), and processing (E9), based on said determined processing parameters (LPT), the descriptive elements (ED) of the resource, in order to make the resource accessible to the execution unit (AP).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0754184 | 2007-03-30 | ||
FR0754184 | 2007-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2008135692A1 true WO2008135692A1 (en) | 2008-11-13 |
Family
ID=38461170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2008/050538 WO2008135692A1 (en) | 2007-03-30 | 2008-03-27 | Access management to resources of an exploitation system |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2008135692A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0813132A2 (en) * | 1996-06-11 | 1997-12-17 | International Business Machines Corporation | Support for trusted software distribution |
WO2003021467A1 (en) * | 2001-08-13 | 2003-03-13 | Qualcomm, Incorporated | Using permissions to allocate device resources to an application |
EP1526429A2 (en) * | 2003-10-24 | 2005-04-27 | Microsoft Corporation | Operating system resource protection |
US20060075381A1 (en) * | 2004-09-30 | 2006-04-06 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
-
2008
- 2008-03-27 WO PCT/FR2008/050538 patent/WO2008135692A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0813132A2 (en) * | 1996-06-11 | 1997-12-17 | International Business Machines Corporation | Support for trusted software distribution |
WO2003021467A1 (en) * | 2001-08-13 | 2003-03-13 | Qualcomm, Incorporated | Using permissions to allocate device resources to an application |
EP1526429A2 (en) * | 2003-10-24 | 2005-04-27 | Microsoft Corporation | Operating system resource protection |
US20060075381A1 (en) * | 2004-09-30 | 2006-04-06 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11888989B2 (en) | Methods and systems for key generation | |
US10776513B2 (en) | Device using secure storage and retrieval of data | |
JP6556840B2 (en) | Methods, storage subsystems, cloud storage systems, data processing programs, and computer program products (automated management of sensitive data in a cloud environment) for storing data in a shared networked environment | |
US6173402B1 (en) | Technique for localizing keyphrase-based data encryption and decryption | |
US8533860B1 (en) | Personalized digital media access system—PDMAS part II | |
US7406593B2 (en) | Method and apparatus for protecting information and privacy | |
CN100576148C (en) | Systems and methods for providing secure server key operations | |
CN109923548A (en) | Method, system and the computer program product that encryption data realizes data protection are accessed by supervisory process | |
US20080295174A1 (en) | Method and System for Preventing Unauthorized Access and Distribution of Digital Data | |
US20070233601A1 (en) | Systems and methods for protecting digital content | |
EP2382574A1 (en) | Method for user privacy protection | |
JP2010533405A (en) | System and communication from a closed network to a dedicated device securely ON-for editing content usage data for demand content and in a closed network that communicates content securely to a dedicated device Method | |
KR100440037B1 (en) | Document security system | |
US20240362344A1 (en) | Encrypted file control | |
JP2002041347A (en) | Information presentation system and device | |
FR3103990A1 (en) | Distributed access control methods and applications to a telecommunications network | |
WO2008084154A2 (en) | Processing of data associated with a digital service | |
WO2008135692A1 (en) | Access management to resources of an exploitation system | |
Chau et al. | Why Johnny Can't Make Money With His Contents: Pitfalls of Designing and Implementing Content Delivery Apps | |
KR20070114124A (en) | How to protect your digital rights file | |
Awojobi et al. | Data Security and Privacy | |
WO2003065181A1 (en) | Method for controlling the use of digital contents by means of a security module or a chipcard comprising said module | |
Pramateftakis et al. | Open Standards—a Cure for Digital Rights Management? | |
WO2007107658A1 (en) | Method for access control, method for using a database, installation, computer program and database | |
WO2008074890A1 (en) | Superdistribution model for digital right management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08788064 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08788064 Country of ref document: EP Kind code of ref document: A1 |