Nova Patents
CA2482009C

Digital rights management system

Abstract

A public licensing infrastructure (PLI) for a digital rights management (DRM) system is described. In an implementation, a method includes generating a formal license for content. The formal license includes a decryption key for decrypting the content and access rules for accessing the content. A plurality of license authorities is configured to provide a plurality of partial licenses. The plurality of partial licenses is combinable to form the formal license. Each license authority provides a respective partial license.

CA2482009C, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Expired 13 September 2024, 2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

14 claims: 13 independent, 1 dependent

  1. 1
    CA 02482009 2009-09-14 51018-45 CLAIMS:1. A method comprising: generating, at a content publisher configured to provide digital rights management, a formal license for content that includes: a decryption key for decrypting the content;and access rules for accessing the content;and configuring a plurality of license authorities to provide a plurality of partial licenses, wherein: each said license authority provides a respective said partial license;and the plurality of partial licenses are combinable to form the formal license;wherein the configuring includes: generating, at the content publisher, a pre-license from the formal license by encrypting the formal license utilizing an asymmetric encryption algorithm having a public key and a private key, wherein the formal license, the pre-license and the public key are denoted, respectively, as “license”, “prel” and “PK” as follows: prel = (license)pk;dividing the private key SK into m partial secret shares according to a (k, m) threshold secret sharing scheme by generating a sharing polynomial f(x) being represented as follows: f(x) = ao + a1x + ...+ ak-1 xk-1, where ao = SK and transmitting the pre-license and a respective said partial secret share from the content publisher to a respective said license authority, wherein CA 02482009 2009-09-14 51018-45 each said license authority is configured to generate the respective said partial license from the respective said partial secret share and the pre-license, and wherein each said license authority is configured to verify the pre-license and the respective said partial secret share by utilizing a verifiable secret sharing (VSS) scheme in which k public witnesses of the sharing polynomial’s f(x) coefficients (denoted as {gao,---,ga“ '}, where g<=ZN) are communicated to each said license authority idj, to verify validity of a respective said partial secret share S, by determining if the following equation holds: A method as described in claim 1, wherein the plurality of partial licenses is provided according to a (k, m) threshold secret sharing scheme in which: a number k said partial licenses are combinable to form the formal license;and knowledge of any k -1 or fewer said partial licenses may not be utilized to form information included in the formal license. 3. A method as described in claim 1, further comprising packaging the content to include one or more network addresses that are suitable for locating each said license authority. 4. A method as described in claim 1, wherein each said license authority is communicatively coupled to a peer-to-peer network. 5. A method as described in claim 1, wherein the plurality of license authorities are configured based on a consideration such that at least one said license authority provides two or more said partial licenses, wherein the consideration is selected from the group consisting of: security of the at least one said license authority against unauthorized access;CA 02482009 2009-09-14 51018-45 load sharing of the plurality of license authorities;availability of each said license authority;network availability of each said license authority;hardware resources of each said license authority;
  2. 2
    5 software resources of each said license authority;and any combination thereof.
  3. 4
    7=1,7« lUi lUj
  4. 5
    8. A method as described in claim 7, wherein the obtaining includes:examining the content to find a plurality of network addresses of a plurality of license authorities;5 requesting the plurality of partial licenses from the plurality of license authorities;and receiving one or more communications having one or more said partial licenses that are provided by each said license authority.
  5. 6
    9. A method as described in claim 7, wherein the forming includes
  6. 7
    10 combining the plurality of partial licenses to form the formal license. 10. One or more computer-readable media comprising computerexecutable instructions that, when executed, perform the method as recited in claim 7.
  7. 8
    11. A method comprising:15 configuring, at a content publisher configured to provide digital rights management, a plurality of license authorities in a first arrangement to provide a plurality of partial licenses, wherein: each said license authority provides at least one said partial license;and 20 the plurality of partial licenses are combinable to form a formal license that includes access rules and a decryption key for content;and updating, at the content publisher, the first arrangement to form a second arrangement such that: CA 02482009 2009-09-14 51018-45 each said license authority in the second arrangement provides at least one of a plurality of updated partial licenses that are combinable to form the formal license;and the partial licenses provided in the first arrangement are not combinable with the updated partial licenses to form the formal license;wherein the updating is performed by: generating a random (k, m) sharing by each license authority i using a random update polynomial fi, update(x), wherein: and distributing a subshare Si,j by each said license authority i such that each said license authority i has a respective said subshare Si,j from another said license authority wherein: the subshare shJ = fi!Upda,U\j = l,-,w is calculated by each said license authority i;the subshare Si,j is added to the original share Si of each said license authority to form a new updated share a new secret sharing polynomial fnew(x) is formed which is a summation of an original polynomial f(x) utilized to generate the plurality of partial licenses in the first arrangement and each of the randomly generated polynomials fi.update(x).
  8. 9
    12. A method as described in claim 11, wherein the updating is performed periodically.
  9. 10
    13. A client device comprising:CA 02482009 2009-09-14 51018-45 a processor;and memory configured to maintain: packaged content that includes one or more network addresses that are suitable for locating a plurality of license authorities, wherein each said license authority stores one or more partial licenses;a content player that is executable on the processor to output content;and a digital rights management module that is executable on the processor to: obtain the partial licenses from the plurality of license authorities utilizing the one or more network addresses;and form a formal license from the obtained partial licenses, wherein the formal license provides access to the packaged content for output by the content player;obtain the partial licenses from the plurality of license authorities, wherein each said license authority provide a respective said partial license by: calculating the partial license preli by each said license authority idi from a partial secret share Si and a pre-license prel according to the following equation: pre( = {prePf mod N;generating a random number u to calculate A1 = gu, A2 = prelu, r = u — c * Si, and c = hash(gSi, preli> Λ, A2 ) ;and communicating the partial license preli, A1, A2, and r by each said license authority;and CA 02482009 2009-09-14 51018-45 the formal license is formed from the plurality of partial licenses by: determining if k correct partial licenses have been received by validating each said partial license preli by: calculating 5 ^=ga^(ga')l'd':..-(g^)^modN from public witnesses of a sharing polynomial’s coefficients, which are denoted as { g a°,...,g °k-'}, that was utilized to generate the partial secret share Si, where ge Zn, applying c = hash(gS:,prelto calculate c;and 10 checking if gr (gSi )c =Ai and prelr (preltf = A2 hold for each said partial license preli, and if so, each said partial license preli is valid;and combining the plurality of partial licenses to form the formal license, denoted as license, when k valid said partial licenses are obtained, in which: j (0) Σ5'Ζ,</,(0) license = TïÇprel/ ld‘ = (p^el) ‘ 15 = (prei)SK = ((license)™ )SK mod?/, * x - id where l‘di = Γ1 id _id j=l,j*ilui luj
  10. 11
    14. A client device as described in claim 13, wherein the one or more network addresses include a proxy address for locating a network address of each said license authority. 20
  11. 12
    15. A client device as described in claim 13, wherein the one or more network addresses include a network address of each said license authority.
  12. 13
    16. A method comprising:CA 02482009 2009-09-14 51018-45 receiving, at a license authority executing a license module, a formal license from a content publisher, the formal license including a decryption key and access rules relating to particular content, wherein the access rules specify a plurality of time durations to access particular content based on respective payment amounts;receiving a request at the license authority from a client device for a number of partial licenses related to the particular content;sending a request from the license authority to the client device for additional information specifying an output duration to access the particular content;generating the number of partial licenses at the license authority based on the formal license and a response received from the client device specifying the output duration, wherein the number of partial licenses generated at the license authority is based on security safeguards of the license authority relative to security safeguards of a plurality of additional license authorities;and sending the number of partial licenses to the client device.
  13. 14
    17. A method comprising:receiving content at a client device from a content publisher, wherein the client device is configured to execute a digital rights management module;receiving a request to output the content at the client device;determining, at the client device, if a valid formal license is available for the content at the client device, wherein the valid formal license is read to output the content;obtaining, at the client device, a plurality of partial licenses from a plurality of license authorities when the valid formal license is not available at the client device, wherein the client device receives one partial license from a first number of the plurality of license authorities and the client device receives more than one license from a second number of the plurality of license authorities;and CA 02482009 2009-09-14 51018-45 combining the plurality of partial licenses at the client device to form the valid formal license. SMART & BIGGAR OTTAWA, CANADA PATENT AGENTS