Nova Patents
EP1524580A2

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.

EP1524580A2, drawing sheet 1
Sheet 1 of 43

Term

Term ended

Projected expiry passed 12 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

48 claims: 46 independent, 2 dependent

  1. 1
    A method comprising:generating a formal license for content that includes: a decryption key for decrypting the content;andaccess rules for accessing the content;andconfiguring a plurality of license authorities to provide a plurality of partial licenses, wherein: each said license authority provides a respective said partial license;andthe plurality of partial licenses are combinable to form the formal license.
  2. 2
    A method as described in claim 1, wherein the plurality of partial licenses are 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;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  3. 3
    A method as described in claim 1, wherein the configuring includes:generating a pre-license from the formal license by encrypting the formal license;dividing an encryption key into a plurality of partial secret shares, wherein the encryption key is for decrypting the pre-license;andtransmitting the pre-license and a respective said partial secret share to each said license authority such that each said license authority is configured to generate the respective said partial license from the respective said partial secret share and the pre-license.
  4. 4
    A method as described in claim 3, wherein each said license authority verifies the pre-license and the respective said partial secret share by utilizing a verifiable secret sharing (VSS) scheme.
  5. 5
    A method as described in claim 1, wherein the configuring includes:generating 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-1xk-1, where αo = SK;andcalculating each said partial secret share, denoted as Si, for a respective said license authority, denoted by idi, in which i = 1, ..., m, as follows:Si = f(idi) mod φ(N), where N is a RSA modulus and φ(N) is aEuler totient function;andtransmitting the pre-license and a respective said partial secret share to a respective said license authority, wherein each said license authority is configured to generate the respective said partial license from the respective said partial secret share and the pre-license.
  6. 6
    A method as described in claim 5, wherein each said license authority verifies 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{ga0,···;gak-1}, where g ∈ Z*N) are communicated to each said license authority idi to verify validity of a respective said partial secret share Si by determining if the following equation holds:g​Si = g​a0 ·(g​a1)​idi ·...·(g​ak-1)​idik-1 mod N
  7. 7
    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.
  8. 8
    A method as described in claim 1, wherein each said license authority is communicatively coupled to a peer-to-peer network.
  9. 9
    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;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;software resources of each said license authority;andany combination thereof.
  10. 10
    A method as described in claim 1, wherein the configuring includes transmitting the plurality of partial licenses to the plurality of license authorities such that each said license authority stores the respective said partial license.
  11. 12
    A computer-readable medium comprising computer executable instructions that, when executed by a computer, direct the computer to:configure a plurality of license authorities to provide a plurality of partial licenses, wherein: each said license authority provides a respective said partial license;each said license authority has a network address;the plurality of partial license are combinable to form a formal license;andthe formal license provides access to content;andpackage the content to include one or more network addresses that are suitable for locating each said license authority.
  12. 13
    A computer-readable medium as described in claim 12, wherein the one or more network addresses include one or more proxy addresses for locating a network address of each said license authority.
  13. 14
    A computer-readable medium as described in claim 12, wherein the one or more network addresses include a network address of each said license authority.
  14. 15
    A computer-readable medium as described in claim 12, wherein the plurality of license authorities are configured to provide the plurality of partial licenses according to a (k, m) threshold secret sharing scheme in which:a number k said partial licenses are combinable to form the formal license;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  15. 16
    A computer-readable medium as described in claim 12, wherein the computer executable instructions when executed by the computer direct the computer to configure a plurality of license authorities by:generating a pre-license from the formal license by encrypting the formal license;dividing an encryption key into a plurality of partial secret shares, wherein the encryption key is for decrypting the pre-license;andtransmitting the pre-license and a respective said partial secret share to each said license authority such that each said license authority is configured to generate the respective said partial license from the respective said partial secret share and the pre-license.
  16. 17
    A computer-readable medium as described in claim 16, wherein each said license authority verifies the pre-license and the respective said partial secret share by utilizing a verifiable secret sharing (VSS) scheme.
  17. 18
    A computer-readable medium as described in claim 12, wherein the computer executable instructions, when executed by the computer, direct the computer to configure the plurality of license authorities by transmitting the plurality of partial licenses to the plurality of license authorities such that each said license authority stores the respective said partial license.
  18. 19
    A computer-readable medium comprising computer executable instructions that, when executed by a computer, direct the computer to:encrypt content;generate a formal license for the encrypted content that includes access rules and a decryption key for decrypting the encrypted content;encrypt the formal license to generate a pre-license;divide an encryption key suitable for decrypting the pre-license into a plurality of partial secret shares;upload the pre-license and the plurality of partial secret shares to a plurality of license authorities such that each said license authority receives a respective said partial secret share and the pre-license;package the encrypted content to include one or more network addresses that are suitable for locating each said license authority;anddistribute the packaged content.
  19. 20
    A computer-readable medium as described in claim 19, wherein the plurality of license authorities are configured to provide the plurality of partial licenses according to a (k, m) threshold secret sharing scheme in which:a number k said partial licenses are combinable to form the formal license;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  20. 21
    A computer-readable medium as described in claim 19, wherein each said license authority verifies the pre-license and the respective said partial secret share by utilizing a verifiable secret sharing (VSS) scheme.
  21. 22
    A method comprising:obtaining a plurality of partial licenses over a network from a plurality of license authorities, wherein each said partial license is provided, respectively, by a different said license authority;andforming a formal license from the plurality of partial licenses, wherein the formal license includes access rules and a decryption key for accessing content.
  22. 23
    A method as described in claim 22, wherein the obtaining includes:examining the content to find a plurality of network addresses of a plurality of license authorities;requesting the plurality of partial licenses from the plurality of license authorities;andreceiving one or more communications having one or more said partial licenses that are provided by each said license authority.
  23. 24
    A method as described in claim 22, wherein the forming includes combining the plurality of partial licenses to form the formal license.
  24. 25
    A method as described in claim 22, wherein the plurality of partial licenses are 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;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  25. 26
    A method as described in claim 25, further comprising determining if k correct partial licenses have been received.
  26. 27
    A method as described in claim 22, wherein:the plurality of partial licenses are obtained from the plurality of license authorities 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:preli = (prel)​Si mod N;generating a random number u to calculate A1 = gu,A2= prelu,r = u - c * Si, andc = hash (g ​Si, preli , A1,A2);andcommunicating the partial license preli, A1, A2, and r by each said license authority;and 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: calculatingg​Si =g​a0·(g​a1)​idi ·...·(g​ak-1)​idik-1 mod N from public witnesses of a sharing polynomial's coefficients, which are denoted as {ga0, ··;gak-1}, that was utilized to generate the partial secret share Si, where g ∈ Z*N,applying c = hash (gSi, preli,A1,A2) to calculate c;andchecking if gr·(gSi)c = A1 and prelr ·(preli)c = A2 hold for each said partial license preli, and if so, each said partial license preli is valid;andcombining the plurality of partial licenses to form the formal license, denoted as license, when k valid said partial licenses are obtained, in which: where
  27. 29
    A computer-readable medium comprising computer executable instructions that, when executed by a computer, direct the computer to:examine packaged content to find a plurality of network addresses of a plurality of license authorities;request a plurality of partial licenses from the plurality of license authorities;receive the plurality of partial licenses from the plurality of license authorities, wherein each said license authority provides at least one said partial license;combine the plurality of partial licenses to form a formal license, wherein the formal license includes access rules and a decryption key for decrypting the packaged content;andoutput the content by decrypting the packaged content utilizing the encryption key and checking the access rules of the formal license.
  28. 30
    A computer-readable medium as described in claim 29, wherein the plurality of partial licenses are 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;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  29. 31
    A method comprising:configuring 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;andthe plurality of partial licenses are combinable to form a formal license that includes access rules and a decryption key for content;and updating the first arrangement to form a second arrangement such that: 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;andthe partial licenses provided in the first arrangement are not combinable with the updated partial licenses to form the formal license.
  30. 32
    A method as described in claim 31, wherein the updating is performed periodically.
  31. 33
    A method as described in claim 31, 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:fi​,​update(x) = bi​,1x + ...+ bi​,​k-​1xk-​1;anddistributing 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 Si,j = fi,update (j), j = 1,···, m 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 anda 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 arrange and each of the randomly generated polynomials fi,update(x).
  32. 34
    A content publisher comprising:a processor;andmemory configured to maintain: a formal license that includes access rules and a decryption key for content;anda license module that is executable on the processor to form one or more transmissions that include data for configuring a plurality of license authorities such that: each said license authority provides one of a plurality of partial licenses;andthe plurality of partial licenses are combinable to form the formal license.
  33. 35
    A content publisher as described in claim 34, wherein the plurality of license authorities are configured to provide the plurality of partial licenses according to a (k, m) threshold secret sharing scheme in which:a number k said partial licenses are combinable to form the formal license;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  34. 36
    A content publisher as described in claim 34, wherein:the configuring includes: generating a pre-license from the formal license by encrypting the formal license;anddividing an encryption key into a plurality of partial secret shares, wherein the encryption key is for decrypting the pre-license;andthe one or more transmissions include the pre-license and the plurality of partial secret shares such that each said license authority is configured to generate a respective said partial license from a respective said partial secret share and the pre-license.
  35. 37
    A content publisher as described in claim 34, wherein the configuring includes transmitting the plurality of partial licenses to the plurality of license authorities such that each said license authority stores the respective said partial license.
  36. 38
    A digital rights management system comprising a peer-to-peer network having a plurality of nodes, wherein:one said node includes a license module that is executable to form one or more transmissions, wherein each said transmission includes a pre-license and a partial secret share of an encryption key utilized to encrypt the pre-license;at least two said nodes are each configured to generate a respective one of a plurality of partial licenses from a respective said partial secret share and the pre-license that is received from a respective said transmission;anda number k of the partial licenses are combinable to form a formal license that includes an encryption key and access rules for accessing content.
  37. 39
    A digital rights management system as described in claim 38, wherein one or more said nodes provide the content.
  38. 40
    A digital rights management system as described in claim 38, wherein knowledge of any k - 1 or fewer of the partial licenses may not be utilized to form information included in the formal license.
  39. 41
    A digital rights management system comprising a peer-to-peer network having a plurality of nodes, wherein:at least two said nodes are each configured to provide at least one of a plurality of partial licenses;andone said node includes: a digital rights management module for forming a formal license from the plurality of partial licenses, wherein the formal license includes access rules and a decryption key for decrypting encrypted content;anda content player for outputting content that is accessed utilizing the formal license.
  40. 42
    A digital rights management system as described in claim 41, wherein the plurality of partial licenses are 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;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  41. 43
    A client device comprising:a processor;andmemory 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;anda 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;andform a formal license from the obtained partial licenses, wherein the formal license provides access to the packaged content for output by the content player.
  42. 44
    A client device as described in claim 43, wherein the digital rights management module that is executable on the processor to obtain the partial licenses by:examining the packaged content to find the one or more network addresses of the plurality of license authorities;requesting one or more said partial licenses from each said license authority;andreceiving one or more communications having the one or more partial licenses that are provided by each said license authority.
  43. 45
    A client device as described in claim 43, wherein the plurality of partial licenses are 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;andknowledge of any k - 1 or fewer said partial licenses may not be utilized to form information included in the formal license.
  44. 46
    A client device as described in claim 43, wherein the one or more network addresses include a proxy address for locating a network address of each said license authority.
  45. 47
    A client device as described in claim 43, wherein the one or more network addresses include a network address of each said license authority.
  46. 48
    A client device as described in claim 43, wherein the digital rights management module that is executable on the processor to: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:preli = (prel)​Si mod N;generating a random number u to calculate A1 = gu, A2= prelu, r = u - c * Si, andc = hash (gSi, preli, A1, A2);andcommunicating the partial license preli, A1, A2, and r by each said license authority;and 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: calculatingg​Si = g​a0·(g​a1)​idi ·...·(g​ak-1)​idik-1 mod Nfrom public witnesses of a sharing polynomial's coefficients, which are denoted as {ga0,··;gak-1}, that was utilized to generate the partial secret share Si, where g ∈ Z*N,applying c = hash (gSi, preli, A1, A2) to calculate c;andchecking if gr· (gSi)c = A1 and prelr·(preli)c = A2 hold for each said partial license preli, and if so, each said partial license preli is valid;andcombining the plurality of partial licenses to form the formal license, denoted as license, when k valid said partial licenses are obtained, in which:    where
Independent claims46