The present invention relates to digital rights management technologies, and in particular, to a method and system for license interaction and interaction recovery after interruption.
Digital rights management (DRM) controls the use of a digital content through rights restriction and content protection schemes, and protects the legal rights of a content owner. After a content issuer (CI) encrypts a digital content, a user downloads the encrypted digital content package to a terminal device. A rights issuer (RI) is responsible for distributing a license corresponding to the digital content. The license includes a content key and the related rights, where the content key is adapted to decrypt the digital content. The terminal device can use the purchased digital content only when the terminal device includes the content package (including information necessary for decrypting the digital content) and the license. A DRM agent module in the terminal device decrypts a license key by using the public key of the terminal device, obtains the content key according to the license key to decrypt the digital content, and controls the use of the digital content according to the rights information in the license.
Multiple licenses including different rights may be prepared for a same digital content, e.g., for a document, BROWSE, PRINT and MOVE rights are set in some licenses, while only the BROWSE right is set in other licenses.
A device may consume independently its own license and uses the digital content corresponding to the license or consume a license in a secure removable media (SRM) and use the digital content of the license through interactions with the SRM. The SRM is a secure storage card or intelligent card and stores the license. Interaction with the SRM may facilitate the consumption of the license in multiple devices.
As shown in
Step 100: The terminal device sends a request for obtaining a license to the SRM. After receiving the request from the terminal device, the SRM returns the license and the current status information of the license to the terminal device.
Step 101: After receiving the license and the current status information of the license, the terminal device uses the digital content according to the rights information in the license.
Step 102: When the terminal device stops using the digital content, the terminal device returns the license and the remaining status information thereof to the SRM automatically.
In the process as shown in
As shown in
Step 200: The terminal device sends a request for obtaining a license to the SRM.
Step 201: After receiving the request from the terminal device, the SRM locks the local license.
Step 202: The SRM returns the license and the current status information of the license to the terminal device.
Step 203: The terminal device installs the received locked license.
Step 204: The terminal device returns a response message to the SRM, notifying the SRM of installing the license successfully, and requesting the SRM to delete the local license.
Step 205: After receiving the response message returned from the terminal device, the SRM deletes the local license.
Step 206: The SRM returns a response message to the terminal device, notifying the terminal device of deleting the license successfully.
Step 207: After receiving the response message indicating successful deletion of the license from the SRM, the terminal device activates the locked license locally.
Communication failures are not considered in the prior art. For example, when the terminal device is consuming the license, the communication channel between the terminal device and the SRM is interrupted (For example, the user unplugs a card from the device). In this case, the terminal device cannot return the license and the remaining status information of the license to the SRM automatically. Thus, the user may move a license without the MOVE right from the SRM to the terminal device in the case of communication failure. In addition, the license cannot be moved back to the SRM, thus losing the mobility.
Further, the communication channel between the terminal device and the SRM may be interrupted during the interaction. For example, as shown in
Embodiments of the present invention provide a method and system for license interaction and interaction recovery after interruption so as to overcome the problems of the mobility loss and waste of rights of the license due to interruption of communication during the license interaction in the prior art.
Embodiments of the present invention provide the following technical solution:
A method for license interaction and interaction recovery after interruption includes:
A communication device provided in an embodiment of the present invention includes:
A DRM system provided in an embodiment of the present invention includes:
Embodiments of the present invention may bring the following benefits:
In the present invention, a device records the interaction related information during the interaction of the license information, and after the interaction is interrupted and the connection is re-established, when determining that the interaction is uncompleted according to the recorded information, continues the uncompleted interaction. This enables the device to recover the interaction after the interaction is interrupted and the connection is re-established, thus overcoming the mobility loss of the license and waste of rights of the license.
In embodiments of the present invention, when license information is exchanged between a first device and a second device, at least one of the two devices records the information related to the interaction and after the interaction is interrupted and the connection between the two devices is re-established, continues the uncompleted interaction according to the recorded information.
The first device and the second device may be both terminal devices, or one of the two devices is a terminal device and the other is a secure removable media (SRM). Embodiments of the present invention are hereinafter described, supposing the first device is a terminal device and the second device is an SRM.
When the license information is exchanged between the terminal device and the SRM, at least one of them records the information related to the interaction. Preferably, both of them record the information related to the interaction. The related information includes information about the peer device. For example, when the terminal device obtains the license from the SRM, the terminal device records the related information of the SRM (for example, the SRM ID) and associates the related information of the SRM with the obtained license. This association operation includes the following: the terminal device adds one field inside or outside the license, wherein the field indicates the SRM to which the license belongs. Alternatively, the association operation includes: the terminal device maintains an association table locally, wherein the association table indicates the SRM and one or multiple licenses that are associated with the SRM. If a license is associated with an SRM, the license needs to be returned to the SRM. When a license is moved back to the SRM, the terminal device deletes the license in the association table. Optionally, the terminal device may attach a parameter to the field information or the association table to indicate that the license is used for online consumption. The preceding association operation may be performed before the terminal device consumes the license online through the SRM, that is, it is performed when the terminal device obtains the license and records the SRM related information. The association operation may also be performed locally after the terminal device detects that the communication between the terminal device and the SRM is interrupted. The terminal device may judge, according to the recorded SRM ID, whether the local license belongs to the SRM.
The related information also includes the type of current interaction (for example, transfer or replication of license) and current interaction status. The current interaction status refers to the current interaction step. What operations will be performed and which message will be sent may be determined according to the current interaction status. Further, the related information includes a session ID of the interaction. The session ID is negotiated at the beginning of interaction, and uniquely identifies an interaction. The related information also includes other information necessary for the interaction and interaction result of the previous step, for example, the ID of the license that is associated with the interaction and whether the operation in the previous step succeeds.
During the interaction, both parties need to maintain respective interaction related information and update the current interaction status in time. After the interaction is completed, the interaction related information may be deleted, or the interaction related information is periodically cleared or deleted after existing for a long time. When both parties re-establish the connection after the interaction is interrupted, one party may request the other party to continue the uncompleted interaction. One party notifies the other party of the interaction related information and the other party judges whether the interaction related information recorded by both parties can be matched. If so, both parties continue the interaction. Both parties may also continue the interaction according to the recorded information through negotiations.
During the interaction, the terminal device may detect the interaction with the SRM through a lower-layer driver. For example, the terminal device detects an event or interruption that occurs when the SRM card is unplugged. The terminal device may also detect the interaction through an application layer. For example, the terminal device sends a detection message to the SRM on a regular basis; if no response message from the SRM is received, the terminal device determines that the communication is interrupted.
When the terminal device detects that the communication with the SRM is interrupted, the terminal device may stop using the digital content immediately or may continue using the digital content according to the locally obtained license information within a specified grace period. If the communication between the terminal device and the SRM is recovered within the specified grace period, the terminal device consumes the license online in normal mode; if the communication between the terminal device and the SRM is not recovered within the specified grace period, the terminal device stops using the digital content.
When the terminal device stops using the digital content, the locally obtained license is set to be unavailable; for example, an unavailable mark is attached to the license so that the terminal device cannot continue using the digital content according to the local license information. In this case, the terminal device may prompt the user to re-insert the SRM card.
Alternatively, when the terminal device detects that the communication with the SRM is interrupted, the terminal device may continue using the digital content according to the local license information until the rights are used up or the user does not need this license to use the digital content.
As shown in
The communicating module 4000, storing module 4001, judging module 4002, and controlling module 4003 as shown in
As shown in
Step 500: The terminal device consumes the license online through the SRM. Before doing this, the terminal device needs to obtain the information that is necessary for consuming the license online from the SRM, such as the content key and the right of using the content.
Step 501: The terminal device detects that the communication with the SRM is interrupted.
Step 502: The terminal device stops consuming the license online after detecting that the communication with the SRM is interrupted.
Step 503: After a period of time, the terminal device detects that the connection with the SRM is available.
Step 504: The terminal device checks whether a local license needs to be returned to the SRM. The license is provided by the SRM to the terminal device for previous online consumption and fails to be returned to the SRM.
Step 505: The terminal device returns the license to the SRM after determining that the local license needs to be returned to the SRM.
In step 504, the terminal device may judge, according to the SRM ID, whether the local license belongs to the SRM. To return the license information to the right SRM, the terminal device records the SRM related information during the previous online consumption. Thus, the terminal device can check whether there are local licenses which fail to be returned belonging to the SRM when detecting that the connection with the SRM is available.
In step 505, the process of returning a license to the SRM by the terminal device includes the following steps, as shown in
Step 600: The terminal device and the SRM perform mutual authentication and establish a security channel. The mutual authentication means that the terminal device exchanges a certificate or a certificate chain with the SRM, and judges, according to the signature of the certificate authority (CA) on the certificate, whether the certificate is valid. The terminal device may also judge, by checking the certificate revocation list (CRL) or according to the Online Certificate Status Protocol (OCSP), whether the certificate is revoked. Establishing a security channel means that a channel key is negotiated between the terminal device and the SRM through negotiations. The channel key is adapted to encrypt some sensitive information in the communication so as to prevent this information from being obtained by a third party.
Step 601: After the terminal device and the SRM perform mutual authentication and establish the security channel, the terminal device sends the license and the status information of the license to the SRM. The sent information may be encrypted by using the channel key. The sent license may be one or more complete licenses or some information of the license. In addition, if the sent license is a stateless license, the terminal device does not need to send the status information of the license to the SRM.
Step 602: The SRM receives the license from the terminal device, and judges whether the received license belongs to the SRM. When the SRM provides the license to the terminal device for online consumption, the license related information, for example, the license ID, is stored locally. After receiving the license from the terminal device, the SRM checks whether the license related information is stored locally.
Step 603: After determining that the received license belongs to the SRM, the SRM re-installs the received license locally, and updates the current status information of the license according to the status information of the received license. If the SRM determines that there is no information related to the received license locally, the SRM refuses to install the received license.
Step 604: The SRM returns a response message of installation failure or success to the terminal device. The terminal device may delete the local license after receiving the response message of installation success.
In the process as shown in
In the process as shown in
As shown in
Step 700: The terminal device sends a request for obtaining a license to the SRM, and records the current interaction related information.
Step 701: The SRM searches for the license locally that is requested by the terminal device, locks the license, and records the current interaction related information.
Step 702: The SRM returns the locked license and the status information thereof to the terminal device.
Step 703: The terminal device receives the license and the status information thereof, installs the license, and updates the interaction related information.
Step 704: When the terminal device requests the SRM to delete the license, the terminal device detects that the communication with the SRM is interrupted. Then, the terminal device updates the interaction related information.
Step 705: The terminal device detects that the communication with the SRM is recovered. For example, it detects that an SRM card is inserted in the terminal device.
Step 706: The terminal device checks whether the interaction with the SRM is uncompleted according to the SRM ID in the recorded information; after determining that the interaction with the SRM is uncompleted when the terminal device requests the SRM to delete the license, the terminal device requests the SRM to recover the interaction, and provides the SRM with the recorded information.
Step 707: After receiving the request from the terminal device, the SRM checks whether there is interaction related information locally; after determining that there is interaction related information, the SRM recovers the interaction starting from the related step, and returns a response message to the terminal device.
Step 708: After receiving the response message from the SRM, the terminal device requests the SRM to delete the local license and update the interaction related information.
Step 709: The SRM deletes the local license and updates the interaction related information according to the request from the terminal device.
Step 710: After deleting the license, the SRM sends a response message to the terminal device.
Step 711: After receiving the response message from the SRM, the terminal device activates the locally locked license.
In the process as shown in
The process of recovering the communication between the terminal device and the SRM that is interrupted when the SRM sends the locked license to the terminal device or when the SRM deletes the locally locked license and returns a response message of successful deletion to the terminal device is similar to that shown in
According to the preceding embodiments of the present invention, a device records the interaction related information during exchanging the license information, and continues the uncompleted interaction when determining that the interaction is uncompleted according to the recorded interaction information after the interaction is interrupted and the connection is re-established. This enables the device to recover the interaction after the interaction is interrupted and the connection is re-established, thus overcoming the problems of the mobility loss and waste of rights of the license due to unrecoverable interruption of the interaction.
It is apparent that those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. The present invention is intended to cover these modifications and variations provided that they fall in the scope of protection defined by the following claims or their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
200610167115.5 | Dec 2006 | CN | national |
This application is a Continuation In-Part Application of PCT/CN2007/002586, filed on Aug. 28, 2007, which claims priority from Chinese patent application 200610167115.5, filed on Dec. 8, 2006. Both of those related patent application are incorporated herein by this reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2007/002586 | Aug 2007 | US |
Child | 12480075 | US |