Claims
- 1. A method in combination with a Digital Rights Management (DRM) system having a plurality of DRM servers performing DRM functionality, the method for an entering DRM-E server to be enrolled into the system by an enrolling DRM-R server such that the entering DRM-E server is to be trusted within the system and comprising:
the DRM-E server procuring a public/private key pair (PU-E, PR-E) for identifying such DRM-E server within the DRM system; the DRM-E server procuring a proffering identification thereof; the DRM-E server sending an enrollment request to the DRM-R server, the request including the proffering identification and (PU-E); the DRM-R server validating the proffering identification; the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on (PU-E); the DRM-R server returning the generated enrollment certificate to the requesting DRM-E server; and the now-enrolled DRM-E server storing the returned enrollment certificate in an appropriate location for future use, the DRM-E server with the enrollment certificate able to employ same to issue DRM documents within the DRM system.
- 2. The method of claim 1 wherein the DRM-R server has no existing basis for trusting the DRM-E server, the method comprising:
the DRM-E server procuring a proffering identification thereof comprising a vouching certificate from a party willing to vouch for such DRM-E server, the vouching certificate incorporating therein a public key (PU-V) and a corresponding private key (PR-V); the DRM-E server employing (PU-E) and (PR-V) to formulate ownership indicia to show that the DRM-E server owns the vouching certificate; the DRM-E server sending an enrollment request to the DRM-R server, the request including the vouching certificate, (PU-E), and the ownership indicia; the DRM-R server validating the vouching certificate; the DRM-R server verifying the ownership indicia; and the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the vouching certificate and (PU-E).
- 3. The method of claim 2 comprising the DRM-E server procuring the vouching certificate from an independent certificate-issuing agent that is trusted by and relied upon by the DRM-R server to perform such vouching.
- 4. The method of claim 2 comprising the DRM-E server procuring an X.509 vouching certificate.
- 5. The method of claim 2 comprising:
the DRM-E server procuring the vouching certificate signed by the vouching party and accompanied by a chain of certificates leading to a known root for purposes of validation; and the DRM-R server validating the vouching certificate based on the signature thereof by the vouching party and the chain of certificates to establish that the DRM-E server has been vouched for.
- 6. The method of claim 2 comprising:
the DRM-E server performing one of employing (PR-V) to encrypt (PU-E) to result in (PR-V(PU-E)) as the ownership indicia, or signing (PU-E) with (PR-V) to result in (PU-E) S (PR-V) as the ownership indicia; and the DRM-R server verifying the ownership indicia by applying (PU-V) from the request to decrypt (PU-E) or verify the signature to establish that the DRM-E server owns (PR-V) and therefore the vouching certificate.
- 7. The method of claim 2 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the vouching certificate, and a signature based on a private key of the DRM-R server, whereby the identifying indicia for the vouching certificate in the enrollment certificate acts as a bridge to the vouching certificate and shows that the DRM-R server is trusting and relying on the vouching party to vouch for the DRM-E server.
- 8. The method of claim 7 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 9. The method of claim 7 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 10. The method of claim 1 wherein the DRM-R server has an existing basis for trusting the DRM-E server, the method comprising:
the DRM-E server procuring a proffering identification thereof comprising credentials recognizable to and expected to be honored by the DRM-R server; the DRM-E server sending an enrollment request to the DRM-R server, the request including the credentials and (PU-E); the DRM-R server validating the credentials; and the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the credentials and (PU-E).
- 11. The method of claim 10 comprising the DRM-E server procuring credentials selected from a group consisting of a network ID or a domain ID, and credentials issued by a third party.
- 12. The method of claim 10 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the credentials, and a signature based on a private key of the DRM-R server.
- 13. The method of claim 12 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 14. The method of claim 12 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 15. The method of claim 1 further comprising the DRM-R server performing custom logic to decide whether to honor the request.
- 16. The method of claim 15 comprising the DRM-R server performing custom logic selected from a group consisting of performing a background check on the DRM-E server and/or its operator, determining whether the DRM-E server and/or a portion thereof is current, determining whether the DRM-E server is on a revocation list or watch list, and combinations thereof.
- 17. The method of claim 1 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, and a signature based on a private key of the DRM-R server.
- 18. The method of claim 17 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 19. The method of claim 17 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 20. The method of claim 17 comprising the DRM-R server generating the enrollment certificate to further include identifying indicia to identify the proffering identification.
- 21. The method of claim 1 comprising the DRM-R server generating the enrollment certificate by employing custom logic to generate at least a portion of the information in the enrollment certificate.
- 22. The method of claim 1 further comprising the DRM-R server attaching to the generated enrollment certificate a chain of certificates that leads back to a trusted root authority so that the generated enrollment certificate may be validated based on such chain of certificates.
- 23. The method of claim 1 further comprising the DRM-E server identifying in a revoking authority list at least one entity with authority to revoke enrollment of such DRM-E server within the DRM system, comprising the DRM-E server sending an enrollment request to the DRM-R server, the request including the proffering identification, (PU-E), and the revocation authority list, and comprising the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on (PU-E) and the revocation authority list.
- 24. The method of claim 23 comprising the DRM-E server identifying each entity in the revocation authority list by way of a public key thereof.
- 25. The method of claim 23 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, the revocation authority list from the request, and a signature based on a private key of the DRM-R server.
- 26. The method of claim 1 comprising the DRM-R server generating an XrML enrollment certificate.
- 27. A method in combination with a Digital Rights Management (DRM) system having a plurality of DRM servers performing DRM functionality, the method for an entering DRM-E server to be enrolled into the system by an enrolling DRM-R server such that the entering DRM-E server is to be trusted within the system and comprising:
the DRM-E server procuring a public/private key pair (PU-E, PR-E) for identifying such DRM-E server within the DRM system; the DRM-E server procuring a proffering identification thereof; the DRM-E server sending an enrollment request to the DRM-R server, the request including the proffering identification and (PU-E), the DRM-R server validating the proffering identification, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on (PU-E), and returning the generated enrollment certificate to the requesting DRM-E server; and the now-enrolled DRM-E server storing the returned enrollment certificate in an appropriate location for future use, the DRM-E server with the enrollment certificate able to employ same to issue DRM documents within the DRM system.
- 28. The method of claim 27 wherein the DRM-R server has no existing basis for trusting the DRM-E server, the method comprising:
the DRM-E server procuring a proffering identification thereof comprising a vouching certificate from a party willing to vouch for such DRM-E server, the vouching certificate incorporating therein a public key (PU-V) and a corresponding private key (PR-V); the DRM-E server employing (PU-E) and (PR-V) to formulate ownership indicia to show that the DRM-E server owns the vouching certificate; the DRM-E server sending an enrollment request to the DRM-R server, the request including the vouching certificate, (PU-E), and the ownership indicia, the DRM-R server validating the vouching certificate, verifying the ownership indicia; and, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the vouching certificate and (PU-E).
- 29. The method of claim 28 comprising the DRM-E server procuring the vouching certificate from an independent certificate-issuing agent that is trusted by and relied upon by the DRM-R server to perform such vouching.
- 30. The method of claim 28 comprising the DRM-E server procuring an X.509 vouching certificate.
- 31. The method of claim 28 comprising the DRM-E server procuring the vouching certificate signed by the vouching party and accompanied by a chain of certificates leading to a known root for purposes of validation, the DRM-R server validating the vouching certificate based on the signature thereof by the vouching party and the chain of certificates to establish that the DRM-E server has been vouched for.
- 32. The method of claim 28 comprising the DRM-E server performing one of employing (PR-V) to encrypt (PU-E) to result in (PR-V(PU-E)) as the ownership indicia, or signing (PU-E) with (PR-V) to result in (PU-E) S (PR-V) as the ownership indicia, the DRM-R server verifying the ownership indicia by applying (PU-V) from the request to decrypt (PU-E) or verify the signature to establish that the DRM-E server owns (PR-V) and therefore the vouching certificate.
- 33. The method of claim 28 comprising the now-enrolled DRM-E server storing the returned enrollment certificate including (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the vouching certificate, and a signature based on a private key of the DRM-R server, whereby the identifying indicia for the vouching certificate in the enrollment certificate acts as a bridge to the vouching certificate and shows that the DRM-R server is trusting and relying on the vouching party to vouch for the DRM-E server.
- 34. The method of claim 33 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including a public key of the DRM-R server as an identifier thereof.
- 35. The method of claim 33 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including validity range information specifying a range during which the enrollment certificate is valid.
- 36. The method of claim 27 wherein the DRM-R server has an existing basis for trusting the DRM-E server, the method comprising:
the DRM-E server procuring a proffering identification thereof comprising credentials recognizable to and expected to be honored by the DRM-R server; the DRM-E server sending an enrollment request to the DRM-R server, the request including the credentials and (PU-E), the DRM-R server validating the credentials, and, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the credentials and (PU-E).
- 37. The method of claim 36 comprising the DRM-E server procuring credentials selected from a group consisting of a network ID or a domain ID, and credentials issued by a third party.
- 38. The method of claim 36 comprising the now-enrolled DRM-E server storing the returned enrollment certificate including (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the credentials, and a signature based on a private key of the DRM-R server.
- 39. The method of claim 38 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including a public key of the DRM-R server as an identifier thereof.
- 40. The method of claim 38 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including validity range information specifying a range during which the enrollment certificate is valid.
- 41. The method of claim 27 comprising the now-enrolled DRM-E server storing the returned enrollment certificate including (PU-E) as an identifier of the DRM-E server, and a signature based on a private key of the DRM-R server.
- 42. The method of claim 41 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including a public key of the DRM-R server as an identifier thereof.
- 43. The method of claim 41 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including validity range information specifying a range during which the enrollment certificate is valid.
- 44. The method of claim 41 comprising the now-enrolled DRM-E server storing the returned enrollment certificate further including identifying indicia to identify the proffering identification.
- 45. The method of claim 27 comprising the now-enrolled DRM-E server storing the returned enrollment certificate including a chain of certificates that leads back to a trusted root authority so that the generated enrollment certificate may be validated based on such chain of certificates.
- 46. The method of claim 27 further comprising the DRM-E server identifying in a revoking authority list at least one entity with authority to revoke enrollment of such DRM-E server within the DRM system, comprising the DRM-E server sending an enrollment request to the DRM-R server, the request including the proffering identification, (PU-E), and the revocation authority list, the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on (PU-E) and the revocation authority list.
- 47. The method of claim 46 comprising the DRM-E server identifying each entity in the revocation authority list by way of a public key thereof.
- 48. The method of claim 46 comprising the now-enrolled DRM-E server storing the returned enrollment certificate including (PU-E) as an identifier of the DRM-E server, the revocation authority list from the request, and a signature based on a private key of the DRM-R server.
- 49. The method of claim 27 comprising the now-enrolled DRM-E server storing the returned enrollment certificate storing an XrML enrollment certificate.
- 50. A method in combination with a Digital Rights Management (DRM) system having a plurality of DRM servers performing DRM functionality, the method for an entering DRM-E server to be enrolled into the system by an enrolling DRM-R server such that the entering DRM-E server is to be trusted within the system and comprising:
the DRM-R server receiving an enrollment request from the DRM-E server including a proffering identification and a public key of the DRM-E server (PU-E) for identifying such DRM-E server within the DRM system; the DRM-R server validating the proffering identification; the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on (PU-E); and the DRM-R server returning the generated enrollment certificate to the requesting DRM-E server, the now-enrolled DRM-E server storing the returned enrollment certificate in an appropriate location for future use, the DRM-E server with the enrollment certificate able to employ same to issue DRM documents within the DRM system.
- 51. The method of claim 50 wherein the DRM-R server has no existing basis for trusting the DRM-E server, the method comprising:
the DRM-R server receiving an enrollment request from the DRM-E server including (PU-E) and a proffering identification comprising a vouching certificate from a party willing to vouch for such DRM-E server, the vouching certificate incorporating therein a public key (PU-V) and a corresponding private key (PR-V), the DRM-E server having employed (PU-E) and (PR-V) to formulate ownership indicia to show that the DRM-E server owns the vouching certificate, the enrollment request further including the ownership indicia; the DRM-R server validating the vouching certificate; the DRM-R server verifying the ownership indicia; and the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the vouching certificate and (PU-E).
- 52. The method of claim 51 comprising the DRM-R server receiving an enrollment request from the DRM-E server including a vouching certificate from an independent certificate-issuing agent that is trusted by and relied upon by the DRM-R server to perform such vouching.
- 53. The method of claim 51 comprising the DRM-R server receiving an enrollment request from the DRM-E server including an X.509 vouching certificate.
- 54. The method of claim 51 comprising:
the DRM-R server receiving an enrollment request from the DRM-E server including a vouching certificate signed by the vouching party and accompanied by a chain of certificates leading to a known root for purposes of validation; and the DRM-R server validating the vouching certificate based on the signature thereof by the vouching party and the chain of certificates to establish that the DRM-E server has been vouched for.
- 55. The method of claim 51 wherein the DRM-E server performs one of employing (PR-V) to encrypt (PU-E) to result in (PR-V(PU-E)) as the ownership indicia, or signing (PU-E) with (PR-V) to result in (PU-E) S (PR-V) as the ownership indicia, the method comprising the DRM-R server verifying the ownership indicia by applying (PU-V) from the request to decrypt (PU-E) or verify the signature to establish that the DRM-E server owns (PR-V) and therefore the vouching certificate.
- 56. The method of claim 51 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the vouching certificate, and a signature based on a private key of the DRM-R server, whereby the identifying indicia for the vouching certificate in the enrollment certificate acts as a bridge to the vouching certificate and shows that the DRM-R server is trusting and relying on the vouching party to vouch for the DRM-E server.
- 57. The method of claim 56 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 58. The method of claim 56 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 59. The method of claim 50 wherein the DRM-R server has an existing basis for trusting the DRM-E server, the method comprising:
the DRM-R server receiving an enrollment request from the DRM-E server including (PU-E) and a proffering identification comprising credentials recognizable to and expected to be honored by the DRM-R server; the DRM-R server validating the credentials; and the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the credentials and (PU-E).
- 60. The method of claim 59 comprising the DRM-R server receiving an enrollment request from the DRM-E server including credentials selected from a group consisting of a network ID or a domain ID, and credentials issued by a third party.
- 61. The method of claim 59 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, identifying indicia to identify the credentials, and a signature based on a private key of the DRM-R server.
- 62. The method of claim 61 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 63. The method of claim 61 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 64. The method of claim 50 further comprising the DRM-R server performing custom logic to decide whether to honor the request.
- 65. The method of claim 64 comprising the DRM-R server performing custom logic selected from a group consisting of performing a background check on the DRM-E server and/or its operator, determining whether the DRM-E server and/or a portion thereof is current, determining whether the DRM-E server is on a revocation list or watch list, and combinations thereof.
- 66. The method of claim 50 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, and a signature based on a private key of the DRM-R server.
- 67. The method of claim 66 comprising the DRM-R server generating the enrollment certificate to further include a public key of the DRM-R server as an identifier thereof.
- 68. The method of claim 66 comprising the DRM-R server generating the enrollment certificate to further include validity range information specifying a range during which the enrollment certificate is valid.
- 69. The method of claim 66 comprising the DRM-R server generating the enrollment certificate to further include identifying indicia to identify the proffering identification.
- 70. The method of claim 50 comprising the DRM-R server generating the enrollment certificate by employing custom logic to generate at least a portion of the information in the enrollment certificate.
- 71. The method of claim 50 further comprising the DRM-R server attaching to the generated enrollment certificate a chain of certificates that leads back to a trusted root authority so that the generated enrollment certificate may be validated based on such chain of certificates.
- 72. The method of claim 50 further comprising the DRM-R server receiving an enrollment request from the DRM-E server further including a revocation authority list identifying at least one entity with authority to revoke enrollment of such DRM-E server within the DRM system, and comprising the DRM-R server, if the request is to be honored, generating a digital enrollment certificate for the DRM-E server to enroll such DRM-E server into the DRM system, the generated enrollment certificate being based at least in part on the revocation authority list.
- 73. The method of claim 72 comprising the DRM-R server generating the enrollment certificate to include (PU-E) as an identifier of the DRM-E server, the revocation authority list from the request, and a signature based on a private key of the DRM-R server.
- 74. The method of claim 50 comprising the DRM-R server generating an XrML enrollment certificate.
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. ______, filed ______ under attorney docket number MSFT-1498 and entitled “Publishing Digital Content Within an Organization in Accordance with a Digital Rights Management (DRM) System;
[0006] U.S. patent application Ser. No. ______, filed ______ under attorney docket number MSFT-1569 and entitled “Publishing Digital Content Within an Organization in Accordance with a Digital Rights Management (DRM) System; and
[0007] U.S. patent application Ser. No. ______, filed ______ concurrently with the present application under attorney docket number MSFT-1537 and entitled “Issuing a Publisher Use License Off-Line in a Digital Rights Management (DRM) System”.