Claims
- 1. A digital rights management (DRM) system to allow a user to render digital content on a plurality of computing devices according to a corresponding digital license, the license being tied to the content and to the user, the system comprising:
a first trusted component on a first one of the computing devices for performing cryptography and DRM evaluation and enforcement for the first one of the computing devices, the first trusted component being tied to the first one of the computing devices; a first user-machine certificate associated with the first one of the computing devices, the first user-machine certificate being tied to the user, whereby the first trusted component can obtain the content for rendering on the first one of the computing devices by way of the first user-machine certificate and the license; a second trusted component on a second one of the computing devices for performing cryptography and DRM evaluation and enforcement for the second one of the computing devices, the second trusted component being tied to the second one of the computing devices; and a second user-machine certificate associated with the second one of the computing devices, the second user-machine certificate being tied to the user, whereby the second trusted component can obtain the content for rendering on the second one of the computing devices by way of the second user-machine certificate and the license.
- 2. The DRM system of claim 1 wherein the user has a public key/private key pair (PU-USER, PR-USER) associated therewith, the content is encrypted according to a content key (KD) to result in (KD(content)), and the license includes (KD) encrypted according to (PU-USER) to result in (PU-SER(KD)), and wherein:
the first trusted component has a first public key/private key pair (PU-1, PR-1) associated therewith; the first user-machine certificate includes (PU-USER) and also includes (PR-USER) encrypted according to (PU-1) to result in (PU-1 (PR-USER)), whereby the first trusted component can apply (PR-1) to (PU-1(PR-USER)) from the first user-machine certificate to obtain (PR-USER), can apply (PR-USER) to (PU-USER(KD)) from the license to obtain (KD), and can apply (KD) to (KD(content)) to obtain the content for rendering on the first one of the computing devices; the second trusted component has a second public key/private key pair (PU-2, PR-2) associated therewith; and the second user-machine certificate includes (PU-USER) and also includes (PR-USER) encrypted according to (PU-2) to result in (PU-2(PR-USER)), whereby the second trusted component can apply (PR-2) to (PU-2(PR-USER)) from the second user-machine certificate to obtain (PR-USER), can apply (PR-USER) to (PU-USER(KD)) from the license to obtain (KD), and can apply (KD) to (KD(content)) to obtain the content for rendering on the second one of the computing devices.
- 3. The DRM system of claim 2 wherein:
the first trusted component on the first one of the computing devices includes a first black box with (PR-1) and a first black box certificate with (PU-1); and the second trusted component on the second one of the computing devices includes a second black box with (PR-2) and a second black box certificate with (PU-2).
- 4. The DRM system of claim 3 wherein:
the first one of the computing devices has a first hardware ID (HWID) associated therewith and the first black box certificate includes (PU-1) and the first HWID; and the second one of the computing devices has a second HWID associated therewith and the second black box certificate includes (PU-2) and the second HWID.
- 5. A method to allow a user to render digital content on a plurality of computing devices according to a corresponding digital license, the license being tied to the content and to the user, the method comprising:
providing a first trusted component on a first one of the computing devices to perform cryptography and DRM evaluation and enforcement for the first one of the computing devices, the first trusted component being tied to the first one of the computing devices; providing a first user-machine certificate associated with the first one of the computing devices, the first user-machine certificate being tied to the user, whereby the first trusted component can obtain the content for rendering on the first one of the computing devices by way of the first user-machine certificate and the license; providing a second trusted component on a second one of the computing devices for performing cryptography and DRM evaluation and enforcement for the second one of the computing devices, the second trusted component being tied to the second one of the computing devices; and providing a second user-machine certificate associated with the second one of the computing devices, the second user-machine certificate being tied to the user, whereby the second trusted component can obtain the content for rendering on the second one of the computing devices by way of the second user-machine certificate and the license.
- 6. The method of claim 5 wherein the user has a public key/private key pair (PU-USER, PR-USER) associated therewith, the content is encrypted according to a content key (KD) to result in (KD(content)), and the license includes (KD) encrypted according to (PU-USER) to result in (PU-USER(KD)), the method comprising:
providing the first trusted component having a first public key/private key pair (PU-1, PR-1) associated therewith; providing the first user-machine certificate including (PU-USER) and also including (PR-USER) encrypted according to (PU-1) to result in (PU-1(PR-USER)), whereby the first trusted component can apply (PR-1) to (PU-1(PR-USER)) from the first user-machine certificate to obtain (PR-USER), can apply (PR-USER) to (PU-USER(KD)) from the license to obtain (KD), and can apply (KD) to (KD(content)) to obtain the content for rendering on the first one of the computing devices; providing the second trusted component having a second public key/private key pair (PU-2, PR-2) associated therewith; and providing the second user-machine certificate including (PU-SER) and also including (PR-USER) encrypted according to (PU-2) to result in (PU-2(PR-USER)), whereby the second trusted component can apply (PR-2) to (PU-2(PR-USER)) from the second user-machine certificate to obtain (PR-USER), can apply (PR-USER) to (PU-USER(KD)) from the license to obtain (KD), and can apply (KD) to (KD(content)) to obtain the content for rendering on the second one of the computing devices.
- 7. The method of claim 6 comprising:
providing the first trusted component on the first one of the computing devices including a first black box with (PR-1) and a first black box certificate with (PU-1); and providing the second trusted component on the second one of the computing devices including a second black box with (PR-2) and a second black box certificate with (PU-2).
- 8. The method of claim 7 comprising:
providing the first one of the computing devices having a first hardware ID (HWID) associated therewith and the first black box certificate includes (PU-1) and the first HWID; and providing the second one of the computing devices having a second HWID associated therewith and the second black box certificate includes (PU-2) and the second HWID.
- 9. A method for a user to render digital content on a plurality of computing devices, the content being encrypted according to a content key (KD) to result in (KD(content)), the user having a public key/private key pair (PU-USER, PR-USER) associated therewith, the method comprising:
obtaining a license including (KD) encrypted according to a (PU-USER) to result in (PU-USER(KD)); obtaining a first trusted component on a first one of the computing devices for performing cryptography and DRM evaluation and enforcement for the first one of the computing devices, the first trusted component having a first public key/private key pair (PU-1, PR-1) associated therewith; obtaining a first user-machine certificate associated with the first one of the computing devices, the first user-machine certificate including (PU-SER) and also including (PR-USER) encrypted according to (PU-1) to result in (PU-1(PR-USER)); applying (PR-1) to (PU-1(PR-USER)) from the first user-machine certificate to obtain (PR-USER); applying (PR-USER) to (PU-USER(KD)) from the license to obtain (KD) at the first one of the computing devices; applying (KD) to (KD(content)) to obtain the content for rendering on the first one of the computing devices; obtaining a second trusted component on a second one of the computing devices for performing cryptography and DRM evaluation and enforcement for the second one of the computing devices, the second trusted component having a second public key/private key pair (PU-2, PR-2) associated therewith; obtaining a second user-machine certificate associated with the second one of the computing devices, the second user-machine certificate including (PU-USER) and also including (PR-USER) encrypted according to (PU-2) to result in (PU-2(PR-USER)); applying (PR-2) to (PU-2(PR-USER)) from the second user-machine certificate to obtain (PR-USER); applying (PR-USER) to (PU-USER(KD)) from the license to obtain (KD) at the second one of the computing devices; applying (KD) to (KD(content)) to obtain the content for rendering on the second one of the computing devices;
- 10. A method in combination with a digital rights management (DRM) system to allow a particular user to render digital content on a particular computing device according to a corresponding digital license, the license being tied to the content and to the user, the method for providing a user-machine certificate associated with the particular computing device and tied to the particular user, the method comprising:
receiving a request from the user for the user-machine certificate with regard to the computing device, the request including an identification (ID) of the user and a computing device certificate associated with the computing device, the computing device certificate including a public key (PU-x) associated with the computing device; determining based on the ID of the user whether the user has a record in a user-machine database;
if not, creating the record for the user in the database, the record including the ID of the user and a public key/private key pair for the user (PU-USER, PR-USER); if so, locating the record for the user in the database; obtaining (PU-x) from the computing device certificate; encrypting (PR-USER) according to (PU-x) to result in (PU-x(PR-USER)); forming (PU-USER) and (PU-x(PR-USER)) into the to-be-provided user-machine certificate; and returning the formed user-machine certificate to the user, whereby the content is encrypted according to a content key (KD) to result in (KD(content)), the license includes (KD) encrypted according to (PU-USER) to result in (PU-USER(KD)), and a trusted component of the computing device having a private key (PR-x) corresponding to (PU-x) can decrypt the content for rendering on the computing device by applying (PR-x) to (PU-x(PR-USER)) from the user-machine certificate to obtain (PR-USER), applying (PR-USER) to (PU-SER(KD)) from the license to obtain (KD), and applying (KD) to (KD(content)) to obtain the content.
- 11. The method of claim 10 comprising further forming into the to-be-provided user-machine certificate a time at which the user-machine certificate is created, and a time during which the user-machine certificate is intended to be valid.
- 12. The method of claim 10 comprising further forming into the to-be-provided user-machine certificate a flag indicating whether the user-machine certificate is permanent or temporary.
- 13. The method of claim 10 further comprising signing the formed user-machine certificate prior to returning same to the user.
- 14. The method of claim 10 to allow a particular user to render the digital content on each of a plurality of computing devices according to the corresponding digital license, the method comprising:
receiving a plurality of requests from the user, each request for a user-machine certificate with regard to a particular one of the computing devices, the request including an identification (ID) of the user and a computing device certificate associated with the particular one of the computing devices, the computing device certificate including a public key (PU-x) associated with the particular one of the computing devices; for each request:
determining based on the ID of the user the public key/private key pair for the user (PU-USER, PR-USER); obtaining (PU-x) from the computing device certificate associated with the request; encrypting (PR-USER) according to the obtained (PU-x) to result in (PU-x(PR-USER)); forming (PU-USER) and (PU-x(PR-USER)) into the to-be-provided user-machine certificate corresponding to the request; and returning the formed user-machine certificate to the user, whereby a trusted component of any of the computing devices can decrypt the content for rendering on the computing device by applying (PR-x) to (PU-x(PR-USER)) from the corresponding user-machine certificate to obtain (PR-USER), applying (PR-USER) to (PU-USER(KD)) from the license to obtain (KD), and applying (KD) to (KD(content)) to obtain the content.
- 15. The method of claim 10 comprising determining based on pre-defined policy whether the user-machine certificate is to be provided to the user and providing such user-machine certificate only if the pre-defined policy allows.
- 16. The method of claim 15 comprising enforcing a maximum number of computing devices for which the user is to be provided with a corresponding user-machine certificate.
- 17. The method of claim 15 comprising enforcing how often a user-machine certificate can be provided to the user.
- 18. A method of providing a digital license to a requestor requesting such license on behalf of a user to allow the user to render corresponding digital content according to the digital license, the content being encrypted according to a content key (KD) to result in (KD(content)), the method comprising:
receiving an identification (ID) of the user from the requestor; determining from a database based on the ID of the user whether a record with a public key for the user (PU-USER) exists for such user;
if not, creating the record for the user in the database, the record including the ID of the user and a public key/private key pair for the user (PU-USER, PR-USER); if so, locating the record for the user in the database; employing (PU-USER) to encrypt the content key (KD) for the content to result in (PU-USER(KD)); forming (PU-USER(KD)) into the to-be-provided license; and returning the formed license to the requester, whereby the requestor forwards the license to the user, and the user having (PR-USER) can decrypt the content by applying (PR-USER) to (PU-USER to (PU-USER(KD)) from the license to obtain (KD), and applying (KD) to (KD(content)) to obtain the content.
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 are hereby incorporated herein by reference in their entirety:
[0002] U.S. patent application Ser. No. 10/185,527, filed Jun. 28, 2002 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”;
[0003] U.S. patent application Ser. No. 10/185,278, filed Jun. 28, 2002 under attorney docket number MSFT-1333 and entitled “Using a Rights Template to Obtain a Signed Rights Label (SRL) for Digital Content in a Digital Rights Management System”;
[0004] U.S. patent application Ser. No. 10/185,511, filed Jun. 28, 2002 under attorney docket number MSFT-1343 and entitled “Systems And Methods For Issuing Usage Licenses For Digital Content And Services”;
[0005] U.S. patent application Ser. No. 09/290,363 filed Apr. 12, 1999 and entitled “ENFORCEMENT ARCHITECTURE AND METHOD FOR DIGITAL RIGHTS MANAGEMENT”; and
[0006] U.S. Provisional Application No. 60/126,614, filed Mar. 27,1999 and entitled “ENFORCEMENT ARCHITECTURE AND METHOD FOR DIGITAL RIGHTS MANAGEMENT”