Patent Publication Number: US-2009240983-A1

Title: Method and system for license interaction and interaction recovery after interruption

Description:
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. 
    
    
     FIELD OF THE INVENTION 
     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. 
     BACKGROUND OF THE INVENTION 
     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  FIG. 1 , the process of consuming a license online by a terminal device through an SRM includes the following steps: 
     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  FIG. 1 , there are steps of selecting a license and establishing a security channel before step  100 . The license may be a complete license or part of the license that carries necessary information for the consumption, such as the content key and rights. The status information refers to the consumption detail of the current license. For example, if the license initially allows the device to use the digital content ten times, eight times remain after the digital content is used twice. 
     As shown in  FIG. 2 , the process of obtaining a license by a terminal device from an SRM in the prior art includes the following steps: 
     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  FIG. 2 , if the communication between the terminal device and the SRM is interrupted after the terminal device installs a locked license, both parties cannot use the locked license, thus wasting the rights. 
     SUMMARY OF THE INVENTION 
     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:
         recording interaction related information when license information is exchanged between a first device and a second device; and   after the interaction is interrupted and the connection is re-established, when determining that the interaction is uncompleted according to the recorded information, the first device and the second device continue the uncompleted interaction.       

     A communication device provided in an embodiment of the present invention includes:
         a communicating module, adapted to exchange license information with other devices;   a storing module, adapted to record information related to the interaction with other devices;   a judging module, adapted to judge, according to the related information, whether the interaction is uncompleted, after the interaction with other devices is interrupted and the connection is re-established; and   a controlling module, adapted to instruct, when determining that the interaction is uncompleted, the communicating module to continue the uncompleted interaction.       

     A DRM system provided in an embodiment of the present invention includes:
         multiple devices, adapted to exchange license information with each other and record related information during the interaction. After the interaction between a first device and a second device is interrupted and the connection is re-established, when determining that the interaction is uncompleted according to the recorded information, the first device and the second device continue the uncompleted interaction.       

     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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a process of consuming a license online by a terminal device through an SRM in the prior art; 
         FIG. 2  shows a process of obtaining a license online by a terminal device through an SRM in the prior art; 
         FIG. 3  shows a structure of a DRM system according to an embodiment of the present invention; 
         FIG. 4  shows a structure of a terminal device according to an embodiment of the present invention; 
         FIG. 5  shows a process of recovering the communication that is interrupted when a terminal device consumes a license online through an SRM according to an embodiment of the present invention; 
         FIG. 6  shows a process of returning a license to an SRM by a terminal device according to an embodiment of the present invention; and 
         FIG. 7  shows a process of recovering the communication between a terminal device and an SRM that is interrupted when the terminal device requests the SRM to delete a license during the license transfer according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     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. 
       FIG. 3  shows a DRM system provided in an embodiment of the present invention. The DRM system includes an RI  300  and one or multiple devices  301  connected to the RI  300 . The RI  300  is adapted to distribute a license that corresponds to a digital content. The license includes a content key and the related rights, wherein the content key is adapted to decrypt the digital content. The multiple devices may exchange the license information with each other; when the interaction between a first device and a second device is interrupted, after the connection is re-established and it is determined that the interaction is uncompleted, the uncompleted interaction may be continued. The license information may be a complete license or some information of the license, such as the content key and partial rights. 
     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  FIG. 4 , a terminal device includes a DRM agent module  400 , where the DRM agent module  400  is adapted to manage and control digital rights. The DRM agent module  400  includes a communicating module  4000 , a storing module  4001 , a judging module  4002 , and a controlling module  4003 . The communicating module  4000  is adapted to exchange the license information with the SRM. The storing module  4001  is adapted to store the information related to the interaction with the SRM. The judging module  4002  is adapted to judge, according to the related information, whether the interaction with the SRM is uncompleted, after the interaction with the SRM is interrupted and the connection is re-established. The controlling module  4003  is adapted to instruct the communicating module  4000  to continue the uncompleted interaction when determining that the interaction with the SRM is uncompleted. 
     The communicating module  4000 , storing module  4001 , judging module  4002 , and controlling module  4003  as shown in  FIG. 4  are preferably contained in the DRM agent module  400 . These modules may also be independent of the DRM agent module  400 . 
     As shown in  FIG. 5 , the process of recovering the communication that is interrupted when the terminal device consumes the license online through the SRM includes the following steps: 
     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  FIG. 6 . 
     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  FIG. 6 , there is another possible implementation mode. That is, when the SRM transfers the license to the terminal device, the SRM stores the original license locally, and sets the license to be unavailable. In this case, when the terminal device returns the license information to the SRM, it needs to return the ID of one or more licenses and the status information of the license only. After receiving the license information returned by the terminal device, the SRM finds the original license locally according to the license ID, resets the license status to available, and updates the status information. After the operation succeeds, the SRM returns a response message of installation success to the terminal device. If the SRM cannot find the license ID locally, the SRM returns a response message of installation failure to the terminal device. 
     In the process as shown in  FIG. 5 , when the terminal device detects that the connection with the SRM is available, the terminal device returns the license information that belongs to the SRM to the SRM automatically. Another possible implementation mode is as follows: When the terminal device detects that the connection with the SRM is available, the terminal device judges whether there is a license that belongs to the SRM and is used for online consumption. If so, the terminal device changes the license status from unavailable to available. For example, the terminal device removes the unavailable mark, so that the terminal device may use the digital content by continuing to consume the license. 
     As shown in  FIG. 7 , the process of recovering the communication that is interrupted when the terminal device requests the SRM to delete the license during the license transfer includes the following steps: 
     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  FIG. 7 , the terminal device and the SRM start with performing normal interaction, but need to update the interaction related information and record the current step after each interaction step is completed. Before the interaction, a channel key for encrypting the interaction information may be negotiated between the terminal device and the SRM. In step  707 , after receiving the request for recovering the interaction from the terminal device, the SRM checks whether the interaction related information is stored locally. If not, the SRM rejects the request for recovering the interaction; otherwise, the SRM further judges which step the recovery starts from. In the process as shown in  FIG. 7 , the SRM finds that the terminal device has performed the third step of the interaction, but the SRM has performed the second step of the interaction only. Thus, the SRM notifies the terminal device of re-performing the interaction from the third step. Another possible implementation mode is as follows: The SRM returns the recorded interaction information to the terminal device for confirmation. Afterwards, the terminal device resends a request for deleting the license to the SRM, and performs the subsequent interaction. 
     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  FIG. 7 . In addition, the process of exchanging the license information between the terminal devices is similar to the preceding process of exchanging the license information between the terminal device and the SRM. 
     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.