System and method for providing services

A system for providing secure services to a user via a communications network comprises an applications device including a data processor operable to provide a user service in accordance with an applications program requiring sensitive data. The system includes a smart card access device for accessing a smart card uniquely associated with the user, the smart card including an encryption key pre-stored in the smart card and a communications interface for communicating data securely via the communications network using the smart card encryption key. A trusted server is operable to communicate sensitive data to the smart card via the communications network by encrypting the sensitive data using the smart card encryption key. The sensitive data is decrypted and stored on the smart card. The applications program is operable to access the sensitive data on the smart card only following a successful mutual authentication between the smart card and the applications program. Secure communication of the sensitive data is thereby provided using an inherent security facility within smart cards such as Subscriber Identity Modules (SIM), which acts as a local server to the applications program.

FIELD OF THE INVENTION

The present invention relates to systems for providing secure services to users via a communications network.

In some embodiments the communications network is a mobile radio network.

BACKGROUND OF THE INVENTION

With the development of mobile services facilitated by an improvement in mobile infrastructure, as existing networks migrate from 2G to 3G type networks, there is an increasing demand for improved data security. Although services for mobile users can be envisaged to include services not requiring the communication of sensitive data, sensitive data may be required for many applications providing services to users. For example, the sensitive data may represent a monetary value, which can be used to purchase items electronically using a mobile communications device. Another example of sensitive data might be, for example, a user's personal data profile or a privacy policy including a list of contacts, which are confidential to the user.

There is therefore an increasing requirement for a facility for securely distributing sensitive data efficiently and cost effectively. In particular, but not exclusively, it is desirable to distribute such sensitive data to mobile communications devices for use in providing mobile services to users.

SUMMARY OF INVENTION

According to the present invention there is provided a system for providing secure services to a user via a communications network. The system comprises an applications device including a data processor operable to provide a user service in accordance with an applications program requiring sensitive data. The system includes a smart card access device for accessing a smart card uniquely associated with the user, the smart card including a pre-stored first encryption key, and a communications interface for communicating data via the communications network. A trusted server is operable to communicate the sensitive data to the smart card securely via the communications network by encrypting the sensitive data using the first encryption key. The sensitive data is decrypted and stored in the smart card. The applications program is operable to access the sensitive data on the smart card only following a successful mutual authentication between the smart card and the applications program.

The applications program may access the sensitive data to perform a particular function, or to process the data, for example to change the value of the data, such as reducing the value of the data following an action. For example, if the sensitive data represents a monetary value, the value may be reduced following a transaction.

The mutual authentication between the smart card and the applications program may include an exchange of messages between the applications program and the smart card, the messages being encrypted using a second local encryption key (KCP) shared between the smart card and the applications program. In some embodiments the key may be generated randomly. The second local encryption key is communicated to the smart card via the trusted server. The second key can be therefore used to authenticate the smart card, and the smart card can authenticate the applications program before the applications program can access the sensitive data.

According to embodiments of the present invention the smart card which may be, for example, a Subscriber Identity Module (SIM) or Universal Subscriber Identity Module (USIM) provides a facility for communicating data securely between a trusted server connected to the network and the smart card itself. As such the smart card provides a repository for the sensitive data for access by an applications program providing a service to the user which utilises the sensitive data. However, access to the sensitive data is only allowed following authentication by the applications program that the smart card is associated uniquely with a user and authentication by the smart card that the applications program is allowed access to the sensitive data.

The sensitive data may be stored securely and up-dated on the smart card whether communication via the network is available or not. For example, if the communications network is a mobile radio communications network then if the network device enters an area where there is no radio coverage then the trusted server may not be accessible. However, by utilising the security facilities of the smart card the sensitive data may be stored securely on the smart card. The applications program may wish to up-date the sensitive data following services provided to the user. The sensitive data can be accessed in the smart card as if the smart card were acting as a local trusted server providing a secure store for the sensitive data.

By associating an applications program, which is relatively easily copied or cloned, with a smart card which is unique and so cannot be cloned, a secure combination for providing user services is formed.

The applications device may be for example a Personal Digital Assistant (PDA) or a smart ‘phone or similar device, which is provided with a facility for communicating with the communications network. However, in some embodiments the applications device may provide the user service according to the application program running on the device, with a network device being provided to communicate with the network. Therefore the network device may include the smart card access device, as well as the communications interface for communicating data securely via the communications network using the first (smart card) encryption key. The network device may also include a local communication interface for communicating data with the applications device. The applications device may include a corresponding local communication interface for communicating with the network device. The network device and the applications device are operable to effect secure communication of the sensitive data via the local communication interfaces using the second encryption key (KCP). The second key therefore provides a facility for communicating data securely between the applications device and the network device using private key encryption. An advantage is provided by using the second key because private key encryption can be utilised requiring a relative low processing power in comparison to public key encryption. A cost for implementing secure communication and authentication can be therefore relatively low.

Various further aspects and features of the present invention made are defined in the appended claims.

DESCRIPTION OF THE EXAMPLE EMBODIMENTS

EXAMPLE NETWORK

FIG. 1provides an example arrangement in which data is distributed to an applications device via a network device. InFIG. 1a network1includes a facility for communicating with a network device ND using for example a mobile communications link2. The mobile communications link2is established between a node or base station3and the network device ND in accordance with an established interface standard. If the network includes a UMTS mobile radio network, then the communications interface may operate in accordance with the Universal Terrestrial Radio Access Network (UTRAN) standard. The network1provides a facility for communicating various types of data to equipment connected to the network. For example, a content server CS may be provided for distributing content4to an applications device AD. Also shown inFIG. 1is a trusted server TS which, as will be explained shortly, provides a facility for communicating sensitive data to the network device ND for use by the applications device AD.

Embodiments of the present invention will now be described with reference to the arrangement shown inFIG. 1where a network device ND is operatively associated with an applications device AD. The arrangement of the network device ND and the applications device AD provides a facility for communicating sensitive data for use with applications programs being executed on the applications device. In one example embodiment, the content4is reproduced by the applications device AD in accordance with access control data, which may form, in one embodiment, one example of sensitive data. The access control data may indicate conditions for the reproduction and copying of the content. The access control data may also provide a key for decrypting the content, if the content has been encrypted before being downloaded into the applications device AD. Although inFIG. 1the content may be downloaded from a content server CS, the content may be received by the applications device AD via any convenient form such as via a data carrier (for example DVD, CD ROM) or any other convenient medium and from any source. The network device ND and the applications device AD are shown in more detail inFIG. 2.

Network and Applications Devices

InFIG. 2the network device ND is shown to include a smart card20which is loaded into a smart card access device22forming part of the network device. An access bus24connects the smart card access device to a data processor26for providing access to the smart card20. The data processor is connected via a communications bus28to a communications interface30which is operable in accordance with a network communications standard to communicate with the network1as shown inFIG. 1. Thus the communications interface30, for example, may operate in accordance with the Universal Terrestrial Radio Access Network (UTRAN) interface utilising antenna32to communicate via the communications link2as shown inFIG. 1. The communications interface30thereby provides a facility for connecting the network device ND with the network1.

The network device ND also includes a second communications interface34connected via an internal bus36to the data processor26, for forming a local communications link with an applications device AD. A corresponding communications interface40is included in the applications device AD for communicating data between the network device ND and the applications device AD. A communications link represented by a double headed arrow42is formed by the communications interface34in the network device ND and the communications interface40in the applications device AD. The communications link provides a facility for locally communicating between the applications device AD and the network device ND. In some embodiments the communications link may be formed by the operation of the communications interfaces34,40using, for example, Bluetooth, RS232 or IEEE802.3 standards.

The applications device AD also includes a data processor44which is arranged to execute applications programs for providing services to a user.

Although the network device ND and the applications device AD are shown inFIGS. 1 and 2as separate devices, in other embodiments the applications device and the network device may be formed physically as the same device. An example of such an embodiments is shown inFIG. 3.

InFIG. 3an applications device AD.1is provided with a facility for communicating with the network1, using a communications interface30.1, which corresponds substantially to the communications interface of the network device ND shown inFIG. 2. For the applications device AD.1shown inFIG. 3the data processors26,44on the applications device and the network device shown inFIG. 2, are replaced by the same data processor26.1. The data processor26.1both executes applications programs and also controls communication with the network1and accesses the smart card20. The applications device AD.1could be a Personal Digital Assistant (PDA), a mobile telephone or similar device. The network device ND shown inFIG. 2could also be implemented as a mobile telephone or a PDA, whereas the applications device AD could be a personal computer (PC).

More will be explained about the operation of the applications device and the network device in the following sections. However, for ease of explanation, the system illustrated inFIG. 1, which includes separate network, and applications devices will be adopted.

Smart Card

FIG. 4provides a simplified block diagram illustrating the form of a typical smart card. The smart card20is generally defined as having some data processing facility in combination with a memory and an interface. As shown inFIG. 4the smart card20includes a memory50, connected to a data processor52via an interface channel54. The communications interface54is accessed via the smart card access device22(shown inFIG. 2) in order to read and to write data to/from the memory50. However, one of the characteristics of smart cards is that the interface54does not have direct access to the memory50. Thus only the processor52can access the memory50and then not everything is accessible via the interface54. Typically a smart card may include data such as an encryption key KC which is pre-stored in a memory50. The encryption key KC cannot be accessed from the interface54but can be used to encrypt data fed to the smart card which can then be encrypted by the data processor52using the pre-stored key KC. Therefore, generally the smart card can be characterised as having hardware limitations, which restrict access to the memory50thereby provided some security to data stored in the smart card. As will be explained shortly, the smart card provides a facility for storing sensitive data and decrypting and encrypting data to be communicated to and from the network and an applications program.

A Subscriber Identity Module (SIM) is an example of a smart card, another example being or a Universal Subscriber Identity Module (USIM) which are provided by network service providers and are uniquely associated with users of a telecommunications network such as GSM or UMTS. Thus when issued by a network service provider to a user, the smart card is uniquely associated with that user and includes the pre-stored encryption key KC for use with that smart card only.

Secure Communication Between the Network Device and the Applications Device

FIG. 5provides an illustration of parts of the system ofFIG. 1, which include the network device ND and the applications device AD and illustrates an arrangement for establishing secure communications between the smart card in the network device and the applications program in the applications device and for performing mutual authentication.FIG. 5also shows the trusted server TS fromFIG. 1although the other network elements which appear inFIG. 1are not represented inFIG. 5for clarity.

Embodiments of the present invention provide a facility for distributing sensitive data to be used by an applications device AD by utilising security features inherent in smart cards which may be issued to users by network service providers for use with network devices. An advantage provided by embodiments of the present invention is that a facility for effecting secure communications between an applications device and a network device is achieved at a comparatively low cost, because private key encryption can be used rather than public key encryption which requires an increased processing capability.

FIG. 5provides an illustration of an arrangement for effecting secure communication by securely generating a unique local key (KCP). The local key is generated in the applications device AD by an applications program to be communicated to the network device. A shared secret key KCP is thereby provided for communicating and authenticating actions by the applications device AD and the network device ND. Using the local shared key KCP, private key encryption can be utilised for communicating between the applications program and the smart card. Accordingly, the processing power of the smart card can be kept relatively low thereby maintaining reduced costs for the smart card with respect to that which would be required if public key encryption was used. The distribution of the private key and its generation will now be explained with reference toFIG. 4in combination with a flow diagram shown inFIG. 5.

InFIG. 5an applications program60being executed by the data processor44in the applications device AD includes a private key KP which is unique to that applications program but is also known by the trusted server TS. The applications program60is arranged to generate randomly a local shared key KCP to be shared for use between the applications device AD and the network device ND. The data processor44is arranged to encrypt the local key KCP with the program encryption key KP. The encrypted local key KP(KCP) is then communicated to the trusted server. The communication may be effected by any convenient means such as copying the encrypted local key KCP onto a storage medium and physically transporting the storage medium to the trusted server, or communication may be effected via the network device by communicating the encrypted key KCP via the local link42which may then be communicated via the network link4to the trusted server TS. However, as a generalisation communication between the applications device AD and the trusted server TS is represented by a double headed arrow62.

The encrypted local key KC(KCP) is then received at the trusted server TS and decrypted using the private key KP. The trusted server can then communicate the local key KCP to the network device ND, by encrypting the local key KCP using the smart card key KC. Since the smart card has pre-stored the smart card key KC then communication of the local key KCP can be effected via the network communications link2to the communications interface30. The local key KCP can then be decrypted in the smart card using the smart card key KC and stored in the smart card memory50. Therefore, as a result the local key KCP is known to both the smart card in the network device ND and the applications program in the applications device AD and furthermore is unique to the pairing between the applications program and the smart card in the network device ND. As a result, whenever any communication is required between the network device ND and the applications device AD then encryption can be effected using the key KCP which can also be used to authenticate the smart card as well as the applications program60itself.

The process steps involved with generating the local key KCP shared between the applications device AD and the network device ND is illustrated inFIG. 6and summarised as follows:

S1: The trusted program in the applications device AD generates a unique random key KCP and encrypts the random key using a program key KP which has been pre-stored in the trusted program.

S2: The encrypted local key KP(KCP) is communicated to the trusted server TS.

S3: The trusted server knows the encryption key KP used by the trusted applications program and so can decrypt the local key KCP.

S4: The trusted server encrypts the local key KCP with the smart card key KC which is stored in the smart card and uniquely associated with the user. The trusted server TS sends the encrypted local key KC(KCP) to the network device ND via the network communications link2.

S5: The smart card decrypts the local key KCP using the pre-stored smart card key KC within the smart card20and stores the local key KCP within the smart card memory.

S6: The smart card and the applications program can then exchange data securely using the unique local key KCP.

Since the local key KCP has been randomly generated by the applications program60, the key KCP is unique for the applications/network device pair. The local key KCP can also be used for authentication of both the smart card by the applications program and the applications program by the smart card. The applications program, which is an entity, which can be relatively easily copied, can be thereby uniquely operatively associated with a smart card, which is an entity, which cannot be easily copied.

Distribution and Update of Sensitive Data

The parts of the system shown inFIG. 5can provide a facility for communicating sensitive data securely between the applications program and the smart card in order to provide a service to a user. Examples of sensitive data might be, for example, a license purchased for the reproduction of content, privacy information, private contact details or an electronic data representation of a monetary value. For the example of a monetary value, currency values may be provided in order to allow a user to purchase a product or service or conduct some electronic transaction whereby a monetary value is provided in exchange for the service or the product. Other examples of sensitive data are private information or policy information associated with, for example, contact details which are confidential to a user. These are examples of sensitive data, which may be changed by an applications program after some processing of the sensitive data.

Referring again toFIG. 5the trusted server for example may store or generate the sensitive data which is to be utilised by the applications program running on the applications device AD. Since the smart card includes the unique smart card key KC associated with the user then the trusted server TS can encrypt the sensitive data SD and communicate the encrypted data KC(SD) to the smart card in the network device ND using the network communications link2, as previously described. The encrypted sensitive data KC(SD) is received via the smart card using the smart card access device22and decrypted to recover the sensitive data which can then be stored on the smart card20.

If the applications program on the applications device requires access to the sensitive data then a request for access can be communicated via the local link42which can be authenticated using the local key KCP which can be verified by the smart card20in network device. The sensitive data can then be encrypted using the local key KCP in the smart card20and communicated to the applications device AD where the applications program can decrypt the sensitive data using the local key KCP.

The applications program can also confirm the presence of the smart card providing the service to the user in accordance with the application program. Authentication and the presence of the smart card can be confirmed by exchanging messages using the shared local key KCP as already described.

If the applications program changes the sensitive data in some way then the sensitive data can be stored on the smart card20before being up-dated by the trusted server. However, in order to up-date the sensitive data on the trusted server TS the sensitive data must be communicated via the network link to the trusted server. For the example illustration shown inFIGS. 1 and 5, the network forms a mobile radio network and so the communications link2may not always be available. Therefore the network device ND may not always be in contact with the network1. In a situation in which the network device cannot communicate with the network, the smart card acts as a local store for the sensitive data. Since the smart card itself includes security provisions (explained above), the sensitive data can be stored securely on the smart card, in a way, which uniquely associates that sensitive data with the user. Therefore, for example, if the sensitive data represents a monetary value, which changes as a result of a transaction, then the sensitive data can be up-dated to the smart card to reflect the change in value. The sensitive data is then up-datable via the network link2when the network link exists thereby providing a substantially coherent operation of the user service as determined by the applications program whether or not the network device is in communication with the network. This is because when the mobile network is not available, for example due to a lack of radio coverage, then the smart card acts as a local store for the up-dated monetary value.

In summary, the operation of the embodiment of the invention illustrated inFIG. 5is described by the flow diagrams shown inFIG. 7andFIG. 8. The flow diagram inFIG. 7illustrates the operation of the distribution of the sensitive data to the smart card, and access of the sensitive data on the smart card by the applications program.FIG. 8illustrates the operation of the applications program on the applications device when using the smart card as a local server.

The flow diagram shown inFIG. 7is summarised as follows:

S10: The trusted server encrypts the sensitive data SD using the smart card key KC. The trusted server knows the smart card key KC. The smart card key KC is also pre-stored in the smart card.

S11: The trusted server sends the encrypted sensitive data KC(SD) to the network device.

S12: The network device stores the encrypted sensitive data KC(SD) in the smart card where the data is decrypted using the smart card key KC.

S:13 The smart card then decrypts the sensitive data, using the smart card key KC, to recover the sensitive data. The decryption is performed on the smart card and the sensitive data is stored on the smart card.

S:14 When the applications program running on the applications device requires access to the sensitive data in order to provide a service to the user, the applications program encrypts a request for the sensitive data using the local shared key KCP, which has been established on the smart card.

S.15: Within the smart card, the smart card determines whether the request from the applications program is authentic. Authentication is performed by decrypting the request using the shared local key KCP. If a valid request is correctly recovered (according to a predetermined form) then the request is considered to be authentic. If the request is authentic then processing proceeds to step S.19. Otherwise processing proceeds to step S.16.

S.16: If authentication fails, processing terminates and the trusted server is alerted to the fact that an illegal attempt has been made to access the sensitive data.

S.17: The applications program determines whether the smart card is authentic. This can be determined for example, by arranging for the smart card to respond to the request message sent to it, by generating a response message according to a predetermined format and encrypting the message using the shared local key KCP. If after decrypting the response, a response message having the correct format is recovered by the applications program then the smart card is determined to be authentic and processing proceeds to step S.19. Otherwise processing proceeds to step S.18.

S.18: If authentication fails, processing terminates and the trusted server is alerted to the fact that an attempt has been made to use an incorrect smart card.

S.19: If the smart card and the applications program have performed a mutual authentication successfully, which can be indicated by a further mutual message exchange, then the smart card encrypts the sensitive data using the shared local key.

S.20: The network device then sends the encrypted sensitive data to the applications program via the local communications interface.

One of the advantages provided by embodiments of the invention is that the smart card can act as a local server when the network is unavailable to the applications program. Any change to the sensitive data can be stored on the smart card and updated to the network, when the network is available. The operation of the applications program and the smart card when using the smart card as a local server as illustrated inFIG. 8is summarised as follows:

S30: The smart card on the network device communicates the sensitive data to the applications program when this is required by the applications program running on the applications device. The network device encrypts the sensitive data using the local shared key KCP before being communicated via the local link42.

S32: After the applications program has processed the sensitive data providing a service to the user and possibly changing the sensitive data, the sensitive data is communicated back to the network device by the applications device. The applications device again encrypts the sensitive data using the local key KCP, which is decrypted within the smart card20again using the shared local key KCP. The up-dated sensitive data can then be held on the smart card in a secure way and in unique association with the user. Thus, in this form the smart card acts as a repository for the sensitive data. It is only when the network device is in contact with the network that the sensitive data can be up-dated. Therefore, storing the sensitive data in up-dated form on the smart card maintains a coherent representation of the sensitive data, which can be secured on the smart card.

S34: If the network device is connectable to the network, then:

S36: The sensitive data SD is up-dated by communicating the currently stored sensitive data from the smart card to the trusted server. The sensitive data is encrypted using the smart card key KC within the smart card and correspondingly decrypted within the trusted server.

S38: If the network device is not connectable to the network then the sensitive data is maintained on the smart card only.

Distribution of Content and Rights Management Data

Another example embodiment of the present invention will now be described in association with providing a facility for distributing content to a user. As illustrated inFIG. 1the content can be downloaded to an applications device from a content server where the content is stored. As mentioned above, the form by which the content can be distributed is not limited to being downloaded from a server but can be, for example, distributed on an appropriate medium such as a CD ROM or DVD or the like.

FIG. 9provides an illustration of an embodiment of the present invention, which is arranged to distribute content securely and to manage the rights of that content. InFIG. 8a CD ROM70is distributed to an applications device72. The applications device72includes a visual display74for viewing the content, which in the present example application includes video material. Therefore, as illustrated by an arrow76the content is distributed from the CD ROM to the applications device for reproduction on the applications device. However, in order to control distribution and copying, the content is encrypted using an encryption key KS referred to in the following description as the content encryption key.

As already explained above, a local shared key KCP has already been set up between the applications device72and a network device80. The network device and the applications device shown inFIG. 9corresponds substantially to the network device and applications device shown inFIGS. 1,2and4and so only the differences between these alternative implementations will be explained.

According to an embodiment of the invention, if the user wishes to view the content received from the CD ROM70then a licence for the reproduction and/or permission to copy the content must be obtained either by purchase or in exchange for appropriate conditions. To this end, a trusted player94, sends a request for the content key from the trusted server TS. The trusted player94represents an example of an applications program and so corresponds substantially to the applications program of the illustrated embodiment shown inFIG. 5. The request for the content key could be sent from the network device80, which again could be encrypted using the smart card key KC. In response to the request to reproduce the content, the trusted server generates content access data, which is encrypted using the smart card key KC which is known to the trusted server. The encrypted content access data is then communicated via the network link2to the network device ND.2and decrypted within the smart card92using the pre-stored smart card encryption key KC.

In order to reproduce the content, the trusted player94requires the content key KS. The content access data includes the content key KS which may be provided under conditions for reproducing and/or copying the content.

In response to a play command initiated by a user to request reproduction of the content by the trusted player, the trusted player retrieves the content access data from the smart card92by accessing the network device ND.2via the communications link42. The request is authenticated using the local key KCP so that in response to the request, the network device ND.2reproduces the content access data after this has been encrypted within the smart card using the shared key KCP. The encrypted content access data can then be communicated to the trusted player94and decrypted to recover the content access data. As mentioned above, the content access data may include not only the content encryption key KS allowing the content to be decrypted but also the conditions for reproducing the content and/or copying the content in the form referred to generally as rights management data.

Once the content has been decrypted and reproduced, the content access data may be up-dated and sent back to the network device and stored in the smart card. Therefore, the smart card can be used as a repository for secure content access data which may be up-dated over the network to the trusted server when the network device is connected to the network, as explained with reference to the previous embodiment.

In accordance with the embodiment of the present invention illustrated inFIG. 9, a license for the reproduction of particular content item can be purchased securely using the secure nature of the smart card. The applications device AD.2confirms the presence of the smart card and authenticates the smart card before the content can be reproduced. As a result, an improved content distribution arrangement is provided which reduces the likelihood that the content may be illegally reproduced and/or copied in a way which is outside the control of the distributor.

The operation of the applications device and network device for reproducing encrypted content is provided inFIG. 10, which will be summarised as follows:

S40: Digital content, which has been encrypted, is loaded into the applications device. The content has been encrypted using a content encryption key KS.

S41: Content access data which includes rights management data providing reproduction rights and conditions for copying and includes the key KS are encrypted by the trusted server using the smart card encryption key KC. The content access data may include other types of data and information.

S42: The trusted server communicates the encrypted content access data the network device ND.2.

S43: The network device feeds the encrypted content access data to the smart card where it is decrypted using the smart card key KC.

S44: The content access data is stored in the smart card.

S45: The smart card encrypts the content access data which includes the rights management data and the decryption key KS using the local shared key KCP.

S46: The network device sends the encrypted content access data to the applications device.

S47: The trusted player in the applications device decrypts the content access data to recover the rights management data and the content key KS.

S48: The trusted player can then decrypt the content using the content key KS, which is reproduced by the reproduction display74.

After the content has been reproduced by the applications device the rights management data may be required to be up-dated to reflect the fact that the data has been reproduced. Accordingly, the operation of the applications device and network device is summarised inFIG. 11which continues from a node “A” which appears inFIG. 10:

S50: After reproducing the content the trusted player determines whether the digital rights data needs to be up-dated.

S51: If the rights management data does need to be up-dated then using the local key KCP the up-dated rights management data is encrypted.

S52: The encrypted rights management data is communicated to the smart card in the network device ND.2.

S53: The smart card device decrypts the rights management data and stores the rights management data on the smart card.

S54: The network device then communicates the up-dated rights management data to the trusted server securely by encrypting the up-dated rights data with the smart card key KC.

In summary, the distribution of the content and the management of the rights in that content is made by the trusted server in combination with the smart card which is uniquely associated with a user. Using the security features inherent in the smart card the content access data can be securely communicated to the user on the smart card. Furthermore, by arranging for a local key (KCP) to be generated and shared between the trusted player (applications program) in the applications device and the smart card in the network device then the content access data can be communicated to the trusted player and then up-dated to the network device for secure storage on the smart card.

Enhanced Reproduction Security

In order to enhance the security of the reproduction of the content and the management and execution of the rights in the content enhanced security provisions are provided. The enhanced security provisions are provided by arranging for the trusted player in the applications device to identify whether the smart card is present within the network device before the content is decrypted and reproduced. In addition, the trusted player may also authenticate the smart card before either reproducing the content or, copying the content, or indeed performing any other action. A flow diagram representing a process for reproducing the content as executed by the applications device shown inFIG. 9is illustrated inFIG. 12and summarised as follows:

S60: The user activates a reproduction mode with the effect that the trusted player (applications program) is arranged to reproduce the content, which has been loaded into the applications device.

S61: The trusted player (applications program) then generates a request message, indicating that the trusted player wishes to reproduce the content. The trusted player encrypts the request message using the shared local key KCP.

S.62: The trusted player then communicates the encrypted request to the smart card in the network device.

S.63: The smart card then determines whether the request received from the applications program is authentic. Authenticity can be determined by decrypting the encrypted request message using the shared local key KCP. If a message according to a correct format is recovered (according to a pre-arranged standard) then the message is authenticated. If the request is authentic then processing passes to step S.64, otherwise processing passes via node A to step S.80.

S.64: The smart card then examines the rights management data forming part of the content access data to determine whether the applications program has the right to reproduce or copy the content. If the applications program does have the right to reproduce the content then processing passes to step S.66, otherwise processing passes via node A to step S.80.

S.68: In parallel as part of a mutual authentication, the applications program determines whether the smart card is present in the network device. If the smart card is present then processing passes to step S.70, otherwise processing passes via node A to step S.80.

S.70: The applications program then determines whether the smart if present is the correct smart card. This can be determined in several ways. For example the smart card may send a message in response to the request message to reproduce the content message. For some embodiments, the response message may be the content access data encrypted as explained in step S.66.

The response message from the smart card is encrypted using the shared local key KCP. If upon decrypting the response received from the smart card using the shared local key KCP a correct response message is recovered, then the smart card is determined as authentic. If the applications program determines that the smart card is authentic, then processing proceeds to step S.66, otherwise processing passes via node A to step S.80.

S.66: The smart card then encrypts the content access data using the shared local key KCP and communicates the encrypted content access data to the applications program.

S.72: The applications program decrypts the content access data and recovers the rights management data.

S.76: The applications program then determines whether the rights management data allows reproduction and/or copying which ever has been requested. If the rights management data does allow reproduction then processing passes to step S.78 and the content is reproduced, otherwise processing passes to step S.80.

S.78: The content is reproduced and/or copied in accordance with the request.

S.80: At step S.80 the content is not reproduced and the trusted server is alerted to the attempt to reproduce the content in a way which may be contrary to the wishes of the distributor.

In some embodiments the applications device may request the sensitive data from the trusted server in accordance with the operation of the applications program. In order to authenticate the request for the sensitive data, the applications program may include the program key KP, which is known to the trusted server. Furthermore if the request is communicated to the trusted server via the network device, then a subscriber line identity number which is pre-stored in the smart card (SIM) may be communicated with the request in order to verify that the request for the sensitive data is authentic.

Various further aspects and features of the present invention are defined in the appended claims.

Various modifications may be made to the embodiments herein before described without departing from the scope of the present invention. For example, although the described embodiments envisage a separate applications device to the separate network device connected via a local communications link, it will be appreciated that in other embodiments the network and applications devices may be combined into a single device. For such an embodiment there will be no requirement for a local communications link or alternatively the local communications link would represent a hardware wire communications channel between different devices. Correspondingly the applications program and the data processor of the network device may be the same data processor executing software. In this case the communication link between the applications device and the network device would be an internal link within the structure of an applications program.