Claims
- 1. A method of publishing digital content to enable a license server to issue a digital license corresponding to the content to one or more users desiring to render the content, the method comprising:
encrypting the content according to a content key (CK) to result in (CK(content)); protecting the content key (CK) according to a public key for the license server (PU-DRM); retrieving a rights template and retrieving rights data to be associated with the content from the rights template; protecting the retrieved rights data according to (PU-DRM); submitting the protected rights data and the protected content key (CK)) as a rights label to the license server for signing thereby, the license server validating the rights label and, if valid, creating a digital signature based on a private key (PR-DRM) corresponding to (PU-DRM) and based at least in part on the protected rights data to result in a signed rights label (SRL) and returning the SRL; receiving the returned SRL and concatenating such received SRL with (CK(content)) to form a content package; and distributing the content package to the one or more users, whereby a user desiring to render the content retrieves the SRL from the content package and submits the retrieved SRL to the license server as part of a request for the license corresponding to the content, whereby the license server verifies the signature of the SRL based on (PU-DRM) and based at least in part on the protected rights data, accesses the protected rights data in the SRL and reviews same to determine whether the user is entitled to the license, and if so issues the license to the user, the license including (CK) in a protected form accessible to the user.
- 2. The method of claim 1 wherein protecting the content key (CK) according to a public key for the license server (PU-DRM) comprises:
generating a symmetric key (DES1); encrypting (CK) according to (DES1) to result in (DES1(CK)); and encrypting (DES1) according to (PU-DRM) to result in (PU-DRM(DES1)), whereby the license server can access (CK) with (PR-DRM).
- 3. The method of claim 3 further comprising discarding (CK) after encrypting (CK) according to (DES1) to result in (DES1(CK)), whereby (CK) can only be obtained by decrypting (DES1(CK)).
- 4. The method of claim 1 wherein protecting the rights data according to (PU-DRM) comprises:
generating a symmetric key (DES1); encrypting the rights data according to (DES1) to result in (DES1(rightsdata)); encrypting (DES1) according to (PU-DRM) to result in (PU-DRM(DES1)), whereby the license server can access the rights data with (PR-DRM).
- 5. The method of claim 1 comprising encrypting the content according to a symmetric content key (CK) to result in (CK(content)).
- 6. The method of claim 1 comprising retrieving from the rights template rights data including each entity entitled to render the content and for each entity each right the entity possesses with respect to rendering the content, each entity comprising one of a user and a class of users.
- 7. The method of claim 6 comprising retrieving from the rights template rights data including for each of at least some of the rights the entity possesses with respect to rendering the content a precondition for exercising the right.
- 8. The method of claim 1 comprising submitting the protected rights data, the protected content key (CK)), and information on the content including an identifier thereof as the rights label to the license server for signing thereby.
- 9. The method of claim 1 wherein the license server adds to the rights label information on the license server including address information for locating the license server and returns the SRL including the information on the server, and wherein the method comprises receiving the returned SRL including the information on the server.
- 10. The method of claim 1 further comprising retrieving (PU-DRM) from the rights template.
- 11. The method of claim 1 further comprising retrieving from the rights template information on the license server including address information for locating the license server and returns the SRL including the information on the server, and comprising submitting the protected rights data, the protected content key (CK)), and the information on the license server as the rights label to the license server for signing thereby.
- 12. The method of claim 1 wherein the rights template having the rights data is an official rights template (ORT) from an administrator and includes a digital signature from the license server based on (PR-DRM) and based at least in part on the rights data (S (PR-DRM-T)), the method comprising submitting S (PR-DRM-T), the protected rights data, and the protected content key (CK)) as the rights label to the license server for signing thereby, the license server verifying S (PR-DRM-T) and, if verified, validating the rights label and, if valid, creating a digital signature based on a private key (PR-DRM) corresponding to (PU-DRM) and based at least in part on the protected rights data (S (PR-DRM-L) to result in a signed rights label (SRL) and returning the SRL.
- 13. The method of claim 12 wherein the rights data in the SRL can modified as compared to the rights data in the ORT according to non-modifiable prescribed rules included with the ORT, and wherein the ORT includes a digital signature from the license server based on (PR-DRM) and based at least in part on the rules (S (PR-DRM-T)), the method comprising:
retrieving the rights template and retrieving the rights data and rules from the rights template; modifying the retrieved rights data; protecting the rules according to (PU-DRM); submitting S (PR-DRM-T), the protected rules, the protected content key (CK)), and the modified rights data as a rights label to the license server for signing thereby, the license server verifying S (PR-DRM-T) and, if verified, validating the rights label and, if valid, creating a digital signature based on a private key (PR-DRM) corresponding to (PU-DRM) and based at least in part on the protected rights data to result in a signed rights label (SRL) and returning the SRL.
- 14. A method for a license server to provide a signed rights label (SRL) to a user, the SRL to be submitted to the license server to obtain therefrom a digital license for allowing rendering of corresponding published digital content, the content being encrypted according to a content key (CK) to result in (CK(content)), the method comprising:
receiving from the user a rights label including (CK) protected according to a public key for the license server (PU-DRM), rights data retrieved from an official rights template (ORT) and protected according to (PU-DRM), and a digital signature from the ORT, the signature being based on a private key (PR-DRM) corresponding to (PU-DRM) and based at least in part on the rights data in the ORT (S (PR-DRM-T)); verifying S (PR-DRM-T) based at least in part on the protected rights data in the rights label; validating the rights label; and if S (PR-DRM-T) verifies and the rights label validates:
creating a digital signature based on (PR-DRM) and based at least in part on the protected rights data (S (PR-DRM-L); attaching S (PR-DRM-L) to the received rights label to result in the signed rights label (SRL); and returning the SRL to the user, the user receiving the returned SRL, concatenating such received SRL with (CK(content)) to form a content package, and distributing the content package to the one or more users, whereby a user desiring to render the content retrieves the SRL from the content package and submits the retrieved SRL to the license server as part of a request for the license corresponding to the content, whereby the license server verifies S (PR-DRM-L) based on (PU-DRM) and based at least in part on the protected rights data, accesses the protected rights data in the SRL and reviews same to determine whether the user is entitled to the license, and if so issues the license to the user, the license including (CK) in a protected form accessible to the user.
- 15. The method of claim 14 wherein the rights data protected according to (PU-DRM) comprises the rights data encrypted according to a symmetric key (DES1) to result in (DES1(rightsdata)) and (DES1) encrypted according to (PU-DRM) to result in (PU-DRM(DES1)), the method comprising verifying S (PR-DRM-T) based at least in part on the protected rights data in the rights label by:
applying (PR-DRM) to (PU-DRM(DES1)) to result in (DES1); applying (DES1) to (DES1(rightsdata)) to result in the rights data; and applying (PU-DRM) to S (PR-DRM-T) to verify same based on the resulting rights data.
- 16. The method of claim 14 comprising receiving from the user a rights label including rights data including each entity entitled to render the content and for each entity each right the entity possesses with respect to rendering the content, each entity comprising one of a user and a class of users.
- 17. The method of claim 16 comprising receiving from the user a rights label including rights data including for each of at least some of the rights the entity possesses with respect to rendering the content a precondition for exercising the right.
- 18. The method of claim 14 wherein the rights data in the SRL can be modified as compared to the rights data in the ORT according to non-modifiable prescribed rules included with the ORT, and wherein the ORT includes a digital signature from the license server based on (PR-DRM) and based at least in part on the rules (S (PR-DRM-T)), the method comprising:
receiving from the user a rights label including (CK) protected according to a public key for the license server (PU-DRM), modified rights data, the rules from the ORT protected according to (PU-DRM), and a digital signature from the ORT, the signature being based on a private key (PR-DRM) corresponding to (PU-DRM) and based at least in part on the rules in the ORT (S (PR-DRM-T); verifying S (PR-DRM-T) based at least in part on the protected rules in the rights label; validating the rights label; and if S (PR-DRM-T) verifies and the rights label validates:
creating a digital signature based on (PR-DRM) and based at least in part on the rights data (S (PR-DRM-L); attaching S (PR-DRM-L) to the received rights label to result in the signed rights label (SRL); and returning the SRL to the user.
- 19. The method of claim 14 wherein the license server has an up-to-date copy of the ORT, the method comprising, if S (PR-DRM-T) verifies and the rights label validates:
retrieving the up-to-date copy of the ORT; retrieving the rights data from the retrieved ORT; protecting the rights data from the retrieved ORT according to (PU-DRM); removing from the received rights label the protected rights data therein; inserting into the received rights label the protected rights data from the retrieved ORT; creating a digital signature based on (PR-DRM) and based at least in part on the inserted protected rights data (S (PR-DRM-L); attaching S (PR-DRM-L) to the received rights label to result in the signed rights label (SRL); and returning the SRL to the user.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The following U.S. Patent Applications disclose subject matter that is related to the subject matter of the present application, and each is hereby incorporated herein by reference:
[0002] U.S. patent application Ser. No. ______, filed concurrently with the present application under attorney docket number MSFT-1330 and entitled “Obtaining a Signed Rights Label (SRL) for Digital Content and Obtaining a Digital License Corresponding to the Content Based on the SRL in a Digital Rights Management System”; and
[0003] U.S. patent application Ser. No. ______,filed concurrently with the present application under attorney docket number MSFT-1343 and entitled “Systems And Methods For Issuing Usage Licenses For Digital Content And Services”.