1. Field of the Invention
The present invention generally relates to the control of the access to resources exploited by a microprocessor. More specifically, the present invention relates to the control of the access to peripherals exploited by at least one main processor according to the applications (software) executed by this microprocessor and to the rights of access which are respectively granted thereto.
2. Discussion of the Related Art
“Microprocessor peripheral” is used to designate a physical device communicating with a microprocessor over a bus and used, most often, as an interface with another device (for example, a network connection, a graphics board, a keyboard, a memory, etc.).
The development of communicating computer systems and of program downloads over communication networks which are not necessarily secure has caused problems in the execution of programs by processor systems. Among these problems, the present invention more specifically relates to those linked to the access given to peripherals of the system in unauthorized fashion by programs. Indeed, despite all authentication, cryptography, and systems which currently control authenticity or the validity of a program loaded in the memory of a processor system, there remains a risk of fraudulent or incidental attempt of access by the program to resources of the system in which it has been validly installed.
An example of an application of the present invention relates to mobile systems of a GSM type. In such an application, the user authentication is performed via its smart card (SIM card) which contains information such as an access key to the GSM network. With the development of telephone devices that are becoming more and more open in terms of executable applications (communicating computers, PDA, etc.), an application is likely to have access to telephone resources which are not intended for it. Such an access may result, for instance, in an incidental or voluntary blocking of the SIM card without this to have been desired by the user or the operator, or yet during an access to another parallel network (wireless local area network—WLAN—or the like) with no control by the GSM operator. Further, this makes systems more vulnerable to viruses or pirate access.
Another example application of the present invention relates to broadcast signal receivers/decoders (set top boxes) which allow viewing by a television set of certain signals received according to a key contained in a smart card, and defining the channels accessible by the user. The smart card is used to decipher the data or to provide the access key to the data formed by the diffused programs. The decoder also enables downloading applications, such applications being likely to come from sources uncontrolled by the operator (for example, the Internet). However, all the internal resources of the decoder are then potentially accessible to these applications, which is a weakness in terms of system security.
The present invention aims at providing a novel architecture for controlling the access to peripherals used by a main processor from a secondary processor of smart card type.
The present invention also aims at providing a novel architecture for managing the access to at least two different communication networks by the same device.
To achieve these and other objects, the present invention provides a method of access control between a main processor and peripherals connected by a communication bus, comprising: assigning, to all or part of the programs to be executed by the main processor, at least one token selectively authorizing access to one or several of said peripherals, said token being provided at least initially by an auxiliary processor exploiting a memory distinct from that of the main processor; and checking, for each request of access of one of said programs to one of said peripherals, the presence of said authorization token for the access to the concerned peripheral.
According to an embodiment of the present invention, said token is provided by said auxiliary processor on each access request.
According to an embodiment of the present invention, said token is provided by said auxiliary processor upon installation or new use of a program, to define the peripherals to which it will further have access.
According to an embodiment of the present invention, said auxiliary processor configures a unit for managing the access to the main processor memory by provision of said token.
According to an embodiment of the present invention, at least two of said peripherals are formed of an access card for a mobile telephone network and an access card for a wireless local area network, said auxiliary processor authorizing or not authorizing access to one of the networks on each call request completed by the main processor.
According to an embodiment of the present invention, said auxiliary processor is contained in a smart card.
According to an embodiment of the present invention, said auxiliary processor forms one of said peripherals.
The present invention also provides a system for controlling the access to peripherals communicating with a main processor via a bus, comprising a means for exploiting information provided by an auxiliary processor authorizing or not the access to a given peripheral by a program executed by the main processor.
According to an embodiment of the present invention, a peripheral is at least formed of an interface of access to a communication network of local area network or mobile telephone type.
The present invention also provides an electronic assembly (for example, a mobile phone, a “set top box”, or a computer) comprising a processor (main processor in the meaning of the present invention), the access to the peripherals of which is desired to be controlled.
The present invention also provides an electronic component (for example, a smart card) comprising a processor (auxiliary processor in the meaning of the present invention) managing the rights of access to the peripherals of a distinct electronic assembly.
The foregoing objects, features, and advantages of the present invention will be discussed in detail in the following non-limiting description of specific embodiments in connection with the accompanying drawings.
The same elements have been designated with the same references in the different drawings. For clarity, only those steps and elements which are necessary to the understanding of the present invention are shown in the drawings and will be described hereafter. In particular, the resources or peripherals exploited by the main processor under control of the present invention have not been described in detail, the present invention applying to known systems.
A feature of the present invention is to use a smart card, or more generally an auxiliary processor provided with its own memory, to manage the access of the programs executed by a main processor of a system separate from the card to the different peripherals of the main processor.
A significant difference between the present invention and existing systems is that, in existing systems, the security policy generally consists of charging the main processor and its exploitation system, to check the authorization of execution of a given application. Further, in the case where this checking is performed based on a key contained in a distant smart card, it is limited to an integrity and authenticity control, followed by an authorization of installation and execution, the peripheral access control being managed by the main processor.
Conversely, according to the present invention, the decision to authorize or not authorize access to given peripherals for a given application is, at least partially, taken by the auxiliary processor (of the smart card). The main processor does not have the function to modify access controls defined by the smart card, only the function of applying it. This enables protection of the smart card against attacks aiming at locking the system, and controlling the access to different resources.
Several application programs 1 (APP1, APP2) are likely to require access to peripherals 2 of a main microprocessor 3 (CPU). The peripherals are, for example, a keyboard KEYB, a graphic interface GRAPH, and access to the Internet network NET, etc. Microprocessor 3 is capable of communicating with a smart card and more specifically with its processor 4 (SIM) Subscriber Identity Module.
When an application 1 needs accessing to one of peripherals 2, its request is intercepted by a resource access controller or driver (block 5, RSC). This manager is, for example, contained in the kernel of the operating system of a conventional architecture. Such an interception amounts to dividing into several steps a usually direct access between the application and the resource. A first step {circle around (1)} concerns the request for access to a peripheral directed to the controller 5, the access controller relays this request towards smart card 4 via the CPU (steps {circle around (2)} and {circle around (3)}).
According to the present invention, card 4 decides to authorize access according (step {circle around (4)}) to criteria or to a security policy that it contains (block 6, SEC). This security policy is, for example, embodied by a double-entry table as will be described hereafter in relation with
Of course, the different exchanges between the processor and the smart card may use ciphering or cryptography processes, independently from the operation of the present invention.
The acceptation of the access by the smart card may be compared to the provision of an access authorization token to main processor 3 according to a request thereof for a request of access to a given peripheral by a given application. Conversely to conventional authentication systems, this token is however not a key validating the actual program, nor authenticating it. Conventional key authentication systems can actually be combined with the present invention, and so can systems for ciphering communications (for example, with public and private keys) between the card and the main systems and/or between this system and its peripherals.
According to a first implementation mode, the process discussed in
According to another implementation mode, the access authorizations are given or generated by the smart card upon first use or upon installation of the application in the system comprising the main processor. For example, these authorizations are then interpreted in software fashion or as a configuration of a unit (not shown) for managing the access to the memory of processor 3 (for example, a unit known as a “memory management unit”). In this last case, only the smart card has the possibility of writing or modifying the configuration of the memory management unit, so that the main processor can take no decision as to the access control, but only applies the rules written by the smart card into the memory management unit.
Smart card 4 is symbolized by an auxiliary process 4′ (SIM) and a memory 4″ (MEM) containing the security rules assigned to the system.
The implementation of the access control method of the present invention to the an architecture such as illustrated in
An advantage of the present invention is that the system peripheral access control policy or criteria are set by the distant smart card and managed by the card. Thus, the same device can be integrally controlled by the smart card without enabling a pirate application to have access, even after possible authentication by the card, to unauthorized peripherals, as is the case in conventional architectures.
Another advantage of the present invention is that, in the case where the auxiliary processor updates the configuration of the memory access management unit of the main processor, it guarantees the absence of piracy, even via the downloading of pirate applications via a connection of an external network, for example, of Internet type, to the main processor.
Another advantage of the present invention is that its implementation applied to a mobile phone system allows differentiation and management of the rights of access to different networks by the smart card only, and thus by the network operator.
Of course, the present invention is likely to have various alterations, modifications and improvements which will readily occur to those skilled in that art. In particular, the practical implementation of the present invention based on the functional indications given hereabove and using known tools is within the abilities of those skilled in the art.
Further, although the present invention has been described in relation with control of access to several peripherals, the same peripheral may perform several functions and then be considered as several different resources in the meaning of the present invention. For example, the access control system may be used to control the access to specific registers equipping a same peripheral of a microprocessor, which are particularly critical in terms of security (for example, masking registers for interrupt controllers, data registers, etc.).
Moreover, although the present invention has been described in relation with an auxiliary processor contained in a smart card which is a preferred embodiment, it is not excluded for this auxiliary processor would be contained in another element other than a smart card.
Finally, the access control managed by the auxiliary processor may be combined with conventional management by the main processor, the final decision of authorizing or not authorizing the access being provided by the result of this combination.
Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and the scope of the present invention. Accordingly, the foregoing description is by way of example only and is not intended to be limiting. The present invention is limited only as defined in the following claims and the equivalents thereto.
Number | Date | Country | Kind |
---|---|---|---|
03 50501 | Sep 2003 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
5434562 | Reardon | Jul 1995 | A |
6003135 | Bialick et al. | Dec 1999 | A |
6212635 | Reardon | Apr 2001 | B1 |
7131139 | Meier | Oct 2006 | B1 |
20020019941 | Chan et al. | Feb 2002 | A1 |
20020026578 | Hamann et al. | Feb 2002 | A1 |
20020040438 | Fisher, Jr. | Apr 2002 | A1 |
20020087877 | Grawrock | Jul 2002 | A1 |
20020174353 | Lee | Nov 2002 | A1 |
20020188869 | Patrick | Dec 2002 | A1 |
20030009687 | Ferchau et al. | Jan 2003 | A1 |
20030065982 | Grimaud et al. | Apr 2003 | A1 |
20040098591 | Fahrny | May 2004 | A1 |
20040243824 | Jones | Dec 2004 | A1 |
20050136964 | Le Saint et al. | Jun 2005 | A1 |
20070276969 | Bressy et al. | Nov 2007 | A1 |
Number | Date | Country |
---|---|---|
2 802 319 | Jun 2001 | FR |
Number | Date | Country | |
---|---|---|---|
20050055477 A1 | Mar 2005 | US |