CN104040939A - 内容的安全分发 - Google Patents

内容的安全分发 Download PDF

Info

Publication number
CN104040939A
CN104040939A CN201280052174.1A CN201280052174A CN104040939A CN 104040939 A CN104040939 A CN 104040939A CN 201280052174 A CN201280052174 A CN 201280052174A CN 104040939 A CN104040939 A CN 104040939A
Authority
CN
China
Prior art keywords
key
division
content
encryption
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280052174.1A
Other languages
English (en)
Inventor
P·维尤根
M·O·范德文特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Original Assignee
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO, Koninklijke KPN NV filed Critical Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Publication of CN104040939A publication Critical patent/CN104040939A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

描述了用于实现将内容项从内容源安全递送到内容接收设备的方法和***,所述内容接收设备与解密模块相关联,所述解密模块被配置用于与***密钥密码***一起使用,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e和/或d***为i个不同的***加密密钥e1,e2,...,ei和/或k个不同的***解密密钥d1,d2,...,dk的***密钥算法,以使得Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,其中所述方法包括:向所述解密模块提供包括至少第一***密钥的第一***密钥信息;基于所述第一***密钥信息、所述解密密钥d以及可选地所述秘密信息S而生成包括至少第二***密钥的第二***密钥信息;以及,向所述解密模块提供所述至少第二***密钥1信息,以用于基于所述解密模块中的所述第一和第二***密钥信息和解密算法D而对经加密的内容项Xe进行解密。

Description

内容的安全分发
技术领域
本发明涉及内容的安全分发,特别地不过不是排他地,涉及用于内容的安全分发的方法和***、用于在此类***中使用的密钥生成器、解密模块、记录介质以及使用此类方法的计算机程序产品。
背景技术
基于文件的和流内容(例如,电影和TV节目)具有与其创作和销售关联的高成本和价值。出于这个原因,内容提供者可以使用内容保护***(如数字版权管理(DRM)和条件访问(conditional access,CA)***)以便保护内容免于被未授权分发并且其仅允许授权用户和***访问所述内容。
在传统DRM***中,通过内容提供者将经加密的内容(通常是以电子文件的形式)分发给购买者来实现内容分发。提供给购买者的解密密钥将允许访问所述内容,其中内容的使用可通过电子许可来限制。因此,在这种方案中,每次交易需要生成加密密钥和关联的解密密钥,由此每一个购买者获得其自己的内容的个人加密副本。解密密钥的未授权公布只引起有限的损害,因为其他副本被不同地加密。然而这样的DRM***不太适合于真正的大规模分发***,诸如广播、多播流***或内容分发网络(CDN)***。实现用在诸如CDN的大规模分发***中的此类已知的DRM***或方法,需要附加的处理能力以用于支持CDN边缘节点上的密集内容加密功能,和/或需要具有足够传送容量的CDN以用于允许通过分发网络传输相同内容项的多个不同的经加密的副本(以防加密是在某个中央节点执行的)。因此,这样的传统DRM解决方案将需要对现有的CDN设备进行复杂的修改,尤其是在边缘节点上,或者其在CDN中引入了大量带宽需求。
相比之下,传统的广播条件访问(CA)***(例如DVB CA***)被配置用于内容的大规模分发。在此类CA***中,使用对称加密密钥(控制字)对内容进行加密(加扰),并将其传送到一大组订户。为了允许订户访问内容,所述控制字被加密,并作为所谓的授权控制消息(ECM)被发送到订户的条件访问接收器。该接收器包括安全模块(例如智能卡等),其包括秘密密钥以便解密ECM和将该经加扰的内容解扰为明文内容。在此类方案中,源自受损安全模块的秘密密钥的未经授权的公布招致损害,因为它使其他人能够访问所广播的经加密的内容。
此外,如果在此类安全模块的制造或分发期间安全模块需要用安全密钥预配置,则密钥信息需要被提供给第三方,例如安全硬件模块的制造商,其将密钥信息嵌入在此类安全硬件模块中。因此,需要在内容提供者和第三方之间的可信关系以便将密钥信息委托给第三方。提供这样大量密钥信息给第三方是不合希望的,因为如果在该过程期间密钥信息被拦截或破坏,则使得大量的硬件模块是无价值的。
当内容分发被内容提供者外包(outsource)给中间方、内容分发器时,将可能出现另外的问题。在这样的情况下,源自内容提供者的经加密的内容可能在递送给消费者之前必须被内容分发器解密以及重新加密。因此,当将内容的递送外包时,需要在内容提供者和内容分发器(诸如内容递送网络(CDN))之间的某种可信关系,以使得内容提供者可以依赖于内容分发器,使得该内容根据某些预定条件而被递送,例如安全递送,并且每次消费者向内容分发器请求特定内容项时,内容提供者被正确地付费。
如果内容分发器可以或者在某些情况下必须把经由一个或多个另外的内容分发器(例如经由互联的CDN的网络)给消费者的内容项递送外包,则内容提供者和内容分发器之间的可信关系的重要性变得更加突出。在此类情形下,去往一大组消费者的内容项的递送和记账过程可以容易地变成很复杂且非透明的过程。此外,在内容提供者和消费者之间的分发者越多,则安全可能被未授权方损坏的机会越大。内容分发器可以使用内容保护***以用于保护内容免于未经授权的访问。然而,如果内容分发器的安全***被损坏,那么所有存储的和处理的内容可能被潜在地损害。
因此,期望用于内容的安全递送的方法和***,其允许经加密的内容的简单的大规模分发,而同时允许基于密钥信息来解密所述内容,所述密钥信息可以是每单独用户或用户组唯一的。此外,期望在不使得第三方(内容分发器)能够访问所述内容的情况下允许经由一个或多个第三方的内容的安全递送的方法和***。此外,期望允许内容分发器控制或至少监视源自内容提供者经由内容分发器或内容分发器的网络而到一大群消费者的内容的安全递送并在所述内容安全递送到所述消费者期间检测安全违背的方法和***。
发明内容
本发明的目的是减少或消除现有技术中已知的缺陷中的至少一个,并在本发明的第一方面提供用于实现将内容项从内容源安全递送到内容接收设备的方法。所述内容接收设备与被配置用于与***密钥(split-key)密码***一起使用的解密模块相关联。所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及使用秘密信息S以用于分别将e***为i个不同***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法。所述***密钥密码***还被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2。因此描述的上述条件定义了根据本发明的方面的***密钥密码***的固有属性。在描述由始至终公开了***密钥密码***和使用的算法的不同示例。根据本发明的方面的方法有利地利用此类***密钥密码***的特定的属性。
根据本发明的方面的方法包括以下步骤:向所述解密模块提供包括至少第一***密钥的第一***密钥信息;基于所述第一***密钥信息、所述解密密钥d以及可选地所述秘密信息S而生成包括至少第二***密钥的第二***密钥信息;以及,向所述解密模块提供所述至少第二***密钥信息,以用于基于所述解密模块中的所述第一和第二***密钥信息和解密算法D而对经加密的内容项Xe进行解密。
在安全内容分发中使用***密钥密码***提供了众多的技术优势。其允许内容源(也称为内容提供者;CP或CS)完全控制内容的分发。在本发明的方面,所述***密钥密码***仅需要使用例如加密算法E和使用加密密钥e对内容项加密一次。每个安全(解密)模块可被(预)提供有不同的第一***密钥(例如不同的第一***解密密钥d1),并且与安全(解密)模块或一组安全模块相关联的每次交易可以包括生成(并随后提供给安全(解密)模块)至少第二***密钥(例如不同的第二***解密密钥d2),其对于内容以及安全模块是唯一的。安全(解密)模块随后可以使用解密算法D和分别使用***解密密钥d1和d2来执行两个连续的解密操作。通过这种方式,内容项不需要被解密和/或对于不同的用户被分别地(重新)加密,从而允许到大量安全模块的真正的大规模递送(例如广播)。此外,如果提供给安全模块的***密钥被损坏,它也不会影响内容项递送给与另一个安全模块相关联(包含有或可通信地连接到)的另一个内容消费单元(也被称为CCU)的安全性。它也不影响作为整体的***密钥密码***的安全性。类似地,截获在交易时所生成的单个***密钥不影响作为整体的其他CCU或***的安全性,因为该密钥只可被特定的CCU和内容项使用。
在一个实施例中,所述内容源可以与以下各项相关联,包括至少一个加密算法E的加密模块;以及秘密密钥生成器,所述秘密密钥生成器包括所述密码算法和***密钥算法,以用于分别生成用于解密内容项的加密密钥信息以及所述至少第一和第二***密钥信息。
换句话说,加密模块可以是所述内容源的一部分,或者能够通过网络连接(有线或无线)与内容源进行通信。
在实施例中,***密钥可以指的是***解密密钥d1-dk.。
在另外的实施例中,***密钥可以指的是***加密密钥e1-ei.。
在实施例中,所述方法可以包括:所述加密模块从所述秘密密钥生成器接收加密信息;所述加密模块基于所述加密密钥信息而生成至少一个经加密的内容项Xe
在实施例中,可以使用不同的***密钥信息提供方法向所述解密模块提供所述第一和第二***密钥信息,或者其中可以分别在第一时间点和第二时间点处向所述解密模块提供所述第一和第二***密钥信息,优选地,所述第一时间点是其中所述解密模块被制造、销售或分发给用户或注册的时间,并且优选地,所述第二时间点是所述内容接收设备将内容请求传送到所述内容源的时间。
在实施例中,提供所述第一***密钥信息包括在所述解密模块的制造、分发、激活或注册期间,在所述解密模块中(优选地在所述(安全)解密模块中的安全硬件模块中)提供所述第一***密钥信息。
在实施例中,提供所述第一***密钥信息可以包括:在所述内容源和所述解密模块之间建立安全信道;以及,经由所述安全信道向所述解密模块发送所述至少第一***密钥信息,优选地,所述安全信道在所述内容接收设备向所述内容源的认证或注册过程期间被建立。
在实施例中,提供所述第一***密钥信息可以包括:将所述至少第一***密钥信息嵌入到安全硬件模块中,优选地,是包括所述解密模块的智能卡;在实施例中,提供所述第一***密钥信息可以包括:指示所述解密模块中的第一***密钥生成器以用于生成第一***密钥信息,优选地,所述第一***密钥生成器被源自所述内容源的信令消息或者被所述内容源和所述解密模块共有的公共信令消息所指示,优选地,所述公共信令消息包括与在所述内容源和所述解密模块之间共享的时钟相关联的时间。
在实施例中,提供所述第二***密钥信息包括向所述解密模块(优选地,通过安全信道)传送所述第二***密钥信息,或者将所述至少第二***密钥信息记录到记录介质上。
在实施例中,所述内容源可以是内容传送***或用于将经加密的内容记录到记录介质中的内容记录装置。
在实施例中,所述方法可以包括:所述解密模块接收所述经加密的内容项;基于所述至少所述第一***密钥信息,将所述经加密的内容项的至少部分解密成部分经解密的内容项;并且,基于所述至少第二***密钥信息,将所述部分经解密的内容项解密成明文内容项。在实施例中,可以响应于内容请求而接收所述经加密的内容项。
在实施例中,所述方法可以包括:向至少一个内容递送网络(CDN)或CDN的网络提供至少一个经加密的内容项;基于所述第一和第二***密钥信息、所述解密密钥d以及可选地所述秘密信息S而生成第三***密钥信息;向与所述CDN或CDN的网络关联的至少一个解密模块提供所述第三***密钥信息;基于所述经加密的内容项、所述CDN中的解密算法D以及所述第三***密钥信息而生成部分经解密的内容项;并且,将所述部分经解密的内容项传送到所述内容接收设备。因此,在本实施例中,安全性被改进,因为对于CDN的网络中的每一个CDN,每个内容项被唯一地加密。
在实施例中,所述至少第一***密钥信息可以包括多个第一***密钥(例如,第一***解密密钥)和第一***密钥标识符,优选地,所述多个第一***密钥包括:一个或多个地理特定的***密钥,其对特定的地理区域有效;硬件特定的***密钥,其对特定的硬件设备或硬件设备组有效;内容特定的***密钥,其对预定内容项或内容项组有效;和/或用户特定的***密钥,其对特定的用户或用户组有效。
在实施例中,所述方法可以包括:向所述解密模块提供用于选择一个多个***密钥的信息,优选地,所述信息包括一个或多个第一密钥标识符;优选地,基于所述一个或多个第一密钥标识符而从所述多个第一***密钥中选择一个或多个第一***密钥。
在实施例中,所述方法可以包括:将两个或更多所述第一***密钥组合成第一组合***密钥;以及,使用所述第一组合***密钥作为第一***密钥信息。
在实施例中,所述***密钥算法可以包括随机***密钥生成算法,用于生成第一***密钥信息;和另外的***密钥生成算法,用于基于所述第一***密钥信息而生成第二***密钥信息。
在实施例中,所述内容接收设备中的所述第一***密钥生成器可以包括伪随机生成器,所述方法包括:所述***密钥生成器接收用于生成用于所述伪随机生成器的种子的信息;生成伪随机值;检查所述伪随机值是否依从由所述***密钥密码***所施加的一个或多个条件。
在实施例中,所述内容源可以与秘密密钥生成器相关联,所述秘密密钥生成器包括第二***密钥生成器,其与所述解密模块中的所述第一***密钥生成器大体上相同,其中,所述方法可以包括:提供用于生成种子的信息给所述第一和第二***密钥生成器;所述第一和第二***密钥生成器生成第二***密钥信息;所述秘密密钥生成器基于所述秘密信息S和所述第二***密钥信息而确定第一***密钥信息;以及,提供所述第一***密钥信息给与所述内容接收设备相关联的所述解密模块。
在实施例中,所述密码算法(也通常被称为密钥生成算法)是基于一次路径(one-time path)、LFSR流密码、RSA、EIGamal和/或Damgard-Jurik密码***(也称为密码方案)中的至少一个。密码算法(密钥生成算法)对于所使用的(***密钥)密码***是特定的。除此之外,***密钥算法对于所使用的密码***也是特定的,并且与密码***一起形成了***密钥密码***。术语“特定”指示此类算法不能被随机地与任何密码***或加密解密算法对组合使用。只有特定的组合将形成具有如在本申请中所定义的属性的***密钥密码***。某些***密钥密码***可能具有比其他的附加的属性(优势)。
例如,***密钥RSA密码***具有附加的优势,即RSA密钥不能在没有秘密信息的情况下被***。通过这种方式,可以保证未授权方不能***由SKG提供的密钥。这将防止所谓的中间人攻击,其中中间人拦截由SKG提供的密钥,并将其与自己的秘密密钥相组合。此外,这也允许在不使用安全信道的情况下将第二***密钥信息提供给CCU。
因此,在一个实施例中,当使用根据本发明的***密钥RSA密码***时,第二***密钥信息可以经由非安全的信道(例如广播或多播)提供给CCU。可替换地,第二***密钥信息可以连同经加密的内容一起被存储在光学或磁性存储介质上,其中所述***密钥被存储在DVD的未受保护的存储区域。
在实施例中,所述内容接收设备是以下各项中的部分:媒体播放器、机顶盒、内容记录器、用于读取存储介质(优选地,光学、磁性和/或半导体存储介质)的装置。
在另外的方面,本发明可以涉及用于实现使用***密钥密码***将密钥信息从与内容源设备相关联的至少第一安全模块(优选地内容传送设备或用于将经加密的内容记录到记录介质上的内容记录设备)安全递送到内容接收设备中的至少第二安全模块的方法,所述***密钥密码***包含加密和解密算法E和D、基于秘密信息S而生成加密和解密密钥e、d的密码算法以及使用秘密信息S分别用于将e***为i个不同***加密密钥e1,e2,...,ei和/或将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***还被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合:Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,其中,所述方法可以包括:提供至少第一***密钥信息给所述第二安全模块;所述第一安全模块基于加密算法E和至少一个加密密钥e而生成经加密的密钥Ee(K),其中,K是用于对要被所述内容传送设备所传送的内容进行加密的密钥;密钥生成器包括所述密码算法和***密钥算法,所述***密钥算法基于所述第一***密钥信息、所述解密密钥d和所述秘密信息S而生成第二***密钥信息,并且将所述第二***密钥信息传送到所述第二安全模块;所述第二安全模块基于所述第二***密钥信息和所述解密算法而在所述经加密的密钥Dd1(Ee(k))上应用解密操作。
该实施例允许使用***密钥密码***的内容项X的高效对称加密和对称加密密钥kx的安全非对称加密相组合的混合加密。在流媒体的情况下,所述对称加密密钥(或秘密种子)kx可以规律地在时间上改变(密钥翻转(roll-over))。
在另外的方面,本发明可以涉及用于使用***密钥密码***经由至少第一和第二内容分发网络(CDN1、CDN2)将内容项从内容源安全递送到与解密模块相关联的至少一个内容接收设备的方法,所述***密钥密码***包括加密和解密算法E和D、基于秘密信息S而生成加密和解密密钥e、d的密码算法以及使用秘密信息S用于分别将e***为i个不同***加密密钥e1,e2,...,ei和/或将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk而在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,其中所述方法可以包括:提供至少第一***密钥信息给所述解密模块;提供至少一个经加密的内容项Xe或者部分经解密的内容项给所述第一CDN1;所述第一CDN1将所述至少一个经加密的内容项或部分经解密的内容项传送到所述第二CDN2;密钥生成器包括所述密码和***密钥算法,其基于所述第一***密钥信息、所述加密密钥d和可选地所述秘密信息S来生成与所述至少一个经加密的内容项Xe或者部分经解密的内容相关联的第二和第三***密钥信息;将包括所述第二***密钥信息的第一***解密控制消息传送给所述第一CDN1,并且将包括第三***密钥信息的第二***解密控制消息传送给所述加密模块;所述第一CDN1将所述第一***解密控制消息中继给所述第二CDN2;通过使用所述解密算法D和所述第二***密钥信息而在所述经加密的内容项或所述部分经解密的内容项上应用解密操作而生成部分经解密的内容项或另外的部分经解密的内容项;以及,将所述部分经解密的内容项或另外的部分经解密的内容项传送至所述解密模块,以用于基于所述解密模块中的所述第一和第三***密钥信息和解密算法D将所述部分经解密的内容项或另外的部分经解密的内容项解密成明文内容项。
因此,在本实施例中,CDN1从内容源屏蔽所有下游CDN(CDN2)。通过这种方式,CS,并且特别是与CPS相关联的秘密密钥生成器,只需要具有与CDN1和CCU的接口。CS仅与CDN1交互并且CDN1通过将经加密的内容和包括***密钥信息的请求路由消息透明转发到CDN2而将内容项的递送外包。此外,该***允许通过CDN网络的内容项的透明递送。在递送过程的不同阶段中,CS被告知并被要求采取某种动作,例如:生成和/或递送某些(***)密钥。
在另一个方面,本发明可以涉及用于实现将内容项X从内容源安全递送到内容接收设备的***,所述***被配置用于与***密钥密码***一起使用,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk而在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,其中,所述***可以包括:与内容源相关联的加密模块,所述加密模块包括用于生成经加密的内容项Xe的所述加密算法E;与所述加密模块相关联的密钥生成器,其包括所述密码算法和所述***密钥算法;以及,与所述内容接收设备相关联的解密模块,其被配置成基于至少第一和第二***密钥信息和所述解密算法D而对经加密的内容项进行解密。
在又另一个方面,本发明可以涉及一种在如上所述的***中使用的密钥生成器。所述密钥生成***可以包括:密码生成器,用于基于秘密信息S而生成解密密钥d和加密密钥e;***密钥生成器,包括用于基于所述秘密信息S分别生成至少i-1个不同的随机***加密密钥e1,e2,...,ei-1和/或至少k-1个不同***解密密钥d1,d2,...,dk-1的随机生成器和用于确定另外的***加密密钥ei或另外的***解密密钥dk;的另外的***密钥算法,所述***密钥在包括加密和解密算法E和D的***密钥密码***中使用;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2。
在实施例中,所述加密和解密算法E、D和所述密码算法都是基于EIGamal算法(方案),并且其中用于生成k个***密钥的所述***密钥算法可以被定义为:
-所述随机生成器被配置成选择小于p的k-1个随机整数d1...dk-1
-将最终整数计算为dk=d-(d1+...+dk-1)(mod p).。
或者,其中所述加密和解密算法都是基于Damgard-Jurik方案E、D,并且其中用于生成k个***密钥的所述***密钥算法可以被定义为:
-确定小于n的n-1个随机整数d1,...,dn-1,计算
dk=d-(d1+...+dn-1)(mod n).。
或者,其中所述加密和解密算法E、D都是基于一次填充(one-time pad)方案,并且其中用于生成k个***密钥的所述***密钥算法可以被定义为:
-确定k-1个随机二进制流d1...dk-1
-计算 d k = d 1 ⊕ . . . ⊕ d k - 1 ⊕ e . .
或者,其中所述加密和解密算法E、D都是基于RSA方案,并且其中用于生成k个***密钥的所述***密钥算法可以被定义为:
-确定与互质的k-1个随机整数d1,...,dk-1
-计算
在又另一个方面,本发明可以涉及在内容接收设备(优选地内容消费单元)中使用的解密模块,所述解密模块被配置用于在***密钥密码***中使用,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及使用秘密信息S用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,其中所述解密模块可以包括:用于接收经加密的内容的输入,使用至少一个加密密钥和加密算法E而加密所述内容;安全储存(storage),用于存储所提供的第一***密钥信息;用于被提供有第二***密钥信息的输入;以及至少一个处理器,用于使用所述第二***密钥信息和解密算法D执行至少第一解密操作,以及用于使用所提供的第一***密钥信息和解密算法D执行至少第二解密操作。
在一个方面,本发明可以涉及一种记录介质,其包括包含与使用加密算法E和至少加密密钥或***加密密钥对其进行加密的内容项相关联的数据的记录区域,以及包含与至少一个***解密密钥相关联的数据的记录区域,所述***解密密钥用于使用解密算法D部分解密所述经加密的内容项,所述加密和解密算法E、D和所述至少一个***密钥是***密钥密码***的部分,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及使用秘密信息S用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2。取决于所使用的***密钥算法,包括与至少一个***解密密钥相关联的数据的记录区域可以是安全记录区域或不安全记录区域。
在另一个方面,本发明可以涉及一种内容复制设备,其包括如上所述的解密模块,其中,所述内容复制设备可被配置成复制内容项和记录在如上所述的记录介质上的***密钥的至少部分。本发明还可以涉及一种包括软件代码部分的计算机程序产品,所述软件代码部分被配置用于当在计算机的存储器中运行时其执行如上所述的方法步骤中的至少一个。
将参照附图进一步地说明本发明,其将示意性地示出根据本发明的实施例。应当理解,不以任何方式将本发明限制为这些特定实施例。
附图说明
图1(A)和(B)示出了根据本发明的实施例的用于内容的安全分发的***密钥密码***。
图2示出了根据本发明的一个实施例的秘密密钥生成器的示意图。
图3(A)和(B)示出了根据本发明的各种实施例的***密钥密码***中使用的流密码。
图4示出了根据本发明的各种实施例的图示生成加密/解密对e、d和关联的***密钥的流程图。
图5(A)和(B)示出了根据本发明的另一个实施例的用于内容的安全分发的***密钥密码***。
图6(A)和(B)示出了根据本发明的又另一个实施例的用于内容的安全分发的***密钥密码***。
图7示出了根据本发明的实施例的用于将内容递送到内容消费单元的安全内容递送***的示意图。
图8示出了根据本发明的一个实施例的使用***密钥密码***的内容递送***的协议流的示意图。
图9示出了根据本发明的另一个实施例的使用***密钥密码***的内容递送***的协议流的示意图。
图10示出了传统的多层加密方案。
图11(A)-(C)示出了多层加密方案中***密钥密码***的各种实现方式。
图12示出了根据本发明的实施例的混合***密钥密码***。
图13示出了根据本发明的另外的实施例的用于内容的安全分发的***密钥密码***。
图14示出了根据本发明的又另一个实施例的使用***密钥密码***的内容递送***的协议流的示意图。
图15示出了根据本发明的又另一个实施例的用于内容的安全分发的***密钥密码***。
图16示出了根据本发明的实施例的用于内容的安全分发的***密钥密码***。
图17示出了根据本发明的另一个实施例的用于内容的安全分发的***密钥密码***。
图18示出了根据本发明的实施例的与安全内容分发***相关联的协议流。
图19示出了根据本发明的实施例的与安全内容分发***相关联的协议流。
图20(A)和(B)示出了根据本发明的另一个实施例的安全内容分发***的示意图。
图21示出了根据本发明的实施例的使用***密钥密码***的内容递送***的协议流的示意图。
具体实施方式
图1(A)示出了内容分发***的高级示意图。该***通常可以包括去往一个或多个内容消费单元(CCU)104的内容源(CS)102,例如内容提供者***(CPS)或被配置成从内容提供者***接收(明文)内容的内容处理***。
所述内容提供者***可以使用内容分发器或一系列的不同内容分发器103,其被配置成将来自内容源的内容分发到内容消费单元。内容分发平台可使用用于递送内容的电子装置。例如,在一个实施例中,一个或多个内容递送网络(CDN)。可替换地,其可以使用用于递送记录介质(例如磁性记录介质、使用如DVD和蓝光技术的光学记录介质、光磁记录介质和/或固态记录介质)上的内容的物理装置。
所述CS可被配置成向客户或其他内容分发器提供和/或递送内容项,例如视频、图片、软件、数据和/或以文件和/或流的形式的文本,包括分段文件和/或流(例如HAS类型的文件和/或流)。消费者可以使用包括用于与CDN及CPS对接的软件客户端的内容消费单元(CCU)来购买和接收内容项。
CUU通常可以涉及被配置成处理基于文件的和/或(实时)流的内容的设备。此类设备可以包括诸如电子平板、智能电话、笔记本、媒体播放器之类的(移动)内容播出设备和用于播出诸如蓝光播放器的DVD之类的记录介质的播放器。在一些实施例中,CCU可能是机顶盒或内容记录和存储设备,其被配置用于处理和临时存储内容以供另外的内容消费单元的未来消费。
在参照图1(A)描述的内容递送***中,期望的是内容被安全递送到大量的CCU,并且帐单和支付被高效地处理。
因此,所述内容需要通过内容保护***的保护,其可以被实施以使得当内容递送例如由消费者购买内容项而发起时,经加密的内容被递送到消费者的CCU。对经加密的内容的访问由允许在CCU处对经加密的内容进行解密的信息授权。
如将在下文更详细地描述,根据本发明的内容保护***允许内容源(有时也被称为内容源发者)完全控制内容的安全递送,即使内容的实际递送被外包给一个或多个内容分发器。为了达到这个目的,内容保护***使用所谓的***密钥密码***。将在下文参考附图更详细地描述该密码***的细节和优势。
图1(B)示出了根据本发明的实施例用于将源自CS102的内容分发给一个或多个内容消费单元CCU104的***密钥密码***。所述CS可以与包括加密算法E的加密模块112以及用于基于秘密信息S而生成密钥的秘密密钥生成器114相关联。CCU可以包括解密模块DM105,即用于执行解密算法D的处理器。在一个实施例中,所述解密模块可以被配置成使用解密算法D和包括至少第一***(解密)密钥d2的第一***密钥信息来执行至少第一***解密操作108,以及使用解密算法D和包括至少第二***(解密)密钥d1的第二***密钥信息来执行第二***密钥操作110。优选地,解密模块被实现为安全模块,例如智能卡、(U)SIM或其它合适的硬件安全处理器。可以被实现为CPS的一部分或作为单独的密钥服务器的秘密密钥生成器(SKG)114可以生成加密密钥和所谓的***密钥。
***密钥密码***可以被配置成基于加密和解密算法E和D以及由秘密密钥生成器所生成的密钥信息而提供内容项X到CCU的安全递送。为实现此目的,加密算法E可以使用加密密钥e以将内容项X加密成经加密的内容项Xe=Ee(X),其中加密密钥e是由秘密密钥生成器114生成的(这里的Xe是Ee(X)的简化符号,即使用加密密钥e而将加密算法E应用于内容项X)。
经加密的内容可以作为经加密的文件或流被电子地发送至CCU。用于电子传输的合适协议包括流协议,例如DVB-T、DVB-H、RTP、HTTP(HAS)或通过IP多播的UDP/RTP。在实施例中,可以使用自适应流协议,诸如HTTP自适应流(HAS)、DVB自适应流、DTG自适应流、MPEG DASH、ATIS自适应流、IETF HTTP实时流和相关协议。所述内容可在特定的格式的合适传输容器中被传输,例如AVI或MPEG。
可替换地,经加密的内容可以被记录在存储介质上,例如诸如蓝光光盘之类的光存储介质、固态存储介质或磁存储介质,其可被递送到CCU的用户。
从图1(B)中可以看出,秘密密钥生成器可以生成***密钥信息1181,2,其包括***解密密钥d1和d2。在一个实施例中,可以使用不同提供过程将不同的***密钥提供给解密模块。此外,在另一个实施例中,不同的***密钥的提供可以在不同的时间点处发起。
例如,在第一实施例中,第一***密钥d2可被预配置在解密模块中。这里的预配置可包括在可以是解密模块的部分的安全硬件单元106中存储或嵌入***密钥d2。所述安全硬件单元可以被设计为无篡改(tamper-free)硬件模块,其不可或至少很难以进行反向工程。为了实施物理上安全的密钥存储模块,安全硬件单元可包括闪速存储器,其包括了OTP(一次性可编程)存储技术。
在一个实施例中,安全硬件单元可能是可信计算组指定的可信平台模块(TPM)的部分。参考如在国际标准ISO/IEC 11889中记载的TPM规范。在这种情况下,在CCU的启动或初始化时,所述安全硬件单元可被提供有至少***密钥。在启动期间,TPM可以与秘密密钥生成器建立安全连接,所述秘密密钥生成器被配置成发送***密钥信息到解密模块。
在另一个实施例中,所述解密模块可以在离线过程中被提供有***密钥。例如,包括解密模块的(U)SIM或智能卡的部分可以在安全硬件模块的制造期间、分发期间、激活或者注册期间被预配置有一个或多个***密钥。例如,在安全硬件模块的购买期间,该模块可被配置有一个或多个***密钥。
在又另一个实施例中,,可以使用关联于注册和/或认证过程的安全信道与网络一起向所述解密模块提供一个或多个***密钥。例如,***密钥可以在与CCU关联的认证和/或注册过程期间被获取并随后被存储在解密模块的安全存储器中。例如当使用移动CCU时,可以在执行与移动标准关联的认证和密钥协商(AKA)过程期间提供***密钥。
所述安全硬件模块可以进一步被提供有第二另外的***密钥信息。优选地,与第二***密钥信息相关联的提供过程不同于与第一***密钥信息相关联的提供过程。可替换地,在不同的时刻使用相同或类似的提供方法向安全硬件模块提供第一和第二***密钥信息。
例如,在一个实施例中,第二***密钥信息可以经由安全信道(例如,在购买内容项时的SSL或SHTTP连接)而被递送到CCU中的解密模块。更详细地,所述CCU可以包括客户端,其被配置成电子地经由安全信道接收至少一个经加密的内容项以及所述至少第二***密钥信息。在另一个实施例中,所述CPS可以将记录介质上的经加密的内容以及至少一个***密钥分发到CCU。例如,所述经加密的内容可以被记录到光或磁存储介质上,其中所述***密钥被存储在DVD的秘密存储区域。
值得注意的是,CCU中的解密模块还可以包括***密钥功能,例如,可以从中选择***密钥的包含***密钥信息的(索引)表或者预定的***密钥生成器。在这种情况下,所述CPS可以发送***密钥识别信息(例如表索引、种子和/或一个或多个一些其它标识符)而不是***密钥给所述***密钥功能以便CCU选择或者在(伪随机生成器)的情况下生成对CPS也已知的一个或多个***密钥。参照图13-15和图20-21更详细地描述此类***密钥密码***的示例。
***密钥对于完全解密经加密的内容项Xe是必要的。因此,如上所述,***解密密钥d21182可以由密钥生成器生成并被提供给CCU。然后,如果CCU的用户请求递送内容项X,则CPS可以向CCU提供另外的***解密密钥d11181给CCU中的安全模块。当递送经加密的内容项给用户(电子地或使用物理存储介质)时,第一解密模块110可以使用***解密密钥d1和解密算法D将经加密的内容项“部分”地解密成Xe,d1 116。
因此,所述“部分”经解密的内容项Xe,d1可以由第二解密模块基于***解密密钥d2和解密算法D而对内容项X完全解密,使得Dd2(Dd1(Ee(X))=Dd2(Dd1(Xe))=Dd2(Xe,d1)=X.这里,Xe,d1是经加密的内容项Xe上使用解密算法D和***解密密钥d1的解密操作的简化符号。注意,本文档中的词语“部分”(或“不完全地”)指的是加密/解密的过程,而不是内容。此外,部分经解密的内容Xe,d1是密文,因此对未授权访问来说与完全加密的内容Xe一样安全。
如本文档中所描述的***密钥密码***要求Ee(X)和d1的组合的知识***露关于X的信息。此外,在一些实施例中,也可以要求Ee(X)和d2的组合的知识***露关于X的信息。而且,特别是在CDN的环境下,***密钥密码***将被配置,使得其允许基于一个加密密钥e而生成许多不同的***密钥对d1、d2(这样每个内容消费者可得到用于完全解密所述经加密的内容的不同的(个人化)密钥集),并且Ee(X)和许多不同的***解密密钥d1的组合的知识***露关于X的信息并且(在某些实施例中)Ee(X)和许多不同的***解密密钥d2的组合的知识***露关于X的信息(在某些实施例中)。
因此,使用如参考图1(B)所描述的***密钥密码***的安全内容分发***提供以下技术优势:CS完全控制内容的分发。所述CS知道内容项可以仅在包含所述预配置***密钥d2的CCU处播放,而不在未授权的设备上播放,从而提供保护而避免经解密的内容进一步扩散到其他CCU。此外,内容项可以仅由具有提供有***密钥d1的CCU的消费者播放。这允许针对想要观看比付费的更多的内容的消费者的保护。
所述***密钥密码***仅需要使用加密密钥将内容项加密一次。每一个安全模块可以被提供有不同的第一***密钥,并且与安全模块或安全模块组相关联的每一次交易可以包括生成至少第二***密钥,其对内容和所述安全模块是唯一的。通过这种方式,内容项不需要针对不同的用户分别地(重新)加密,从而允许到大量安全模块的真正的大规模递送,例如广播。此外,如果***密钥提供的安全模块被损坏,这不影响作为整体的其它CCU或密码***的其他安全性。类似地,拦截在交易时所生成的单个***密钥,不影响作为整体的其它CCU或***的安全性,因为这个密钥可以仅被特定的CCU和内容项所使用。
将在下文更详细地描述,***密钥密码***允许以下生成:加密密钥e和另外的***密钥d1的实际生成的可被推迟到后一阶段,例如当消费者实际请求内容项时。
在图1(B)中所示的***密码***仅仅是若干组***密钥密码***的一个非限制性的示例,其中每个***密钥密码***是由至少一对加密和解密算法E、D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e和/或d***为多个***加密和/或***解密密钥的***密钥算法所定义。
一组***密钥密码***可以由密码算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及将解密密钥d多重***为任意数目的k个***解密密钥d1,d2,...,dk,(k≥2)的***密钥算法所定义,使得Ddk(Ddk-1(...(Dd2(Dd1(Ee(X))...))=Ddk(Ddk-1(...(Dd2(Xe,d1)...))=X.。此处,Xe,d1,d2,...,dk是分别使用***解密密钥d1,d2,...,dk,和解密算法D在经加密的内容项Xe上的解密操作的预定序列的简化符号。
另一组***密钥密码***可以由密码算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于将e多重***为任意数目的i个***加密密钥e1,e2,...,ei(i≥2)的***密钥算法所定义,使得Dd(Eei(Eei-1...(Ee2(Ee1(X))...))=Dd(Xe1,e2,...,ei))=X.。此处,Xe1,e2,...,ei是分别使用***加密密钥e1,e2,...,ei和加密算法E在(明文)内容项X上执行的加密操作的预定序列的简化符号。又另一组***密钥密码***可以由密码算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于将e和d二者多重***为任意数目的i个***加密密钥e1,e2,...,ei和k个***解密密钥d1,d2,...,dk,(i,k≥1且i+k≥2)的***密钥算法所定义,使得,Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X.。
在一些实施例中,E和D可以是不同的算法。在其它实施例中,加密和解密算法E和D可以是相同的,即E=D,其允许将e和d二者多重***为任意数目的i个***加密密钥e1,e2,...,ei和k个***解密密钥dk,dk-1,...,d1.,使得Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Edk(Edk-1(...(Ed2(Ed1(Eei(Eei- 1(...(Ee2(Ee1(X))...))=Xe1,e2,...,ei,d1,d2,...dk=X.
在此类***密钥加密***中,加密密钥e和解密密钥d之间没有功能上的区别。在一些实施例中,所述加密和/或解密算法可以是通信的,即它们可以以任何次序来应用而始终给出相同的结果。当***密钥以与其生成不同的次序而使用时,或当它们以所述***密钥生成时还未知的次序使用时,此类可交换的属性可能是有用的。但是应当理解的是,无论何时所述术语“使得”被用于上述所参考的***密钥密码***(组)的实施例,该术语用来定义一个或多个此类***密钥密码***(组)的属性(行为或特性)。
将在下文更详细地描述上面提及的***密钥密码***的示例。
图2示出了根据本发明的一个实施例的秘密密钥生成器200的示意图。所述秘密密钥生成器可包括用于生成与密码算法相关联的加密/解密密钥对e、d的密码生成器202。在一个实施例中,此类密码算法可以包括预定的(伪)随机密码算法215、预定的密码算法216和用于基于加密或解密密钥e、d中的至少一个而生成***密钥的***密钥生成器204、以及预定的随机***密钥算法220和另外的***密钥算法220。在一个实施例中,所述另外的***密钥算法可以是确定的***密钥算法。在其它实施例中,所述另外的***密钥算法可以包括伪随机分量。所述密码生成器和***密钥生成器可以被配置成生成预定的***密钥密码***所需的密钥,这将在下面更详细地描述。
在图2的示例中,所述密码生成器可以包括伪随机生成器208,其被配置成基于一些配置参数212(例如一个或多个加密密钥的长度、解密密钥的长度、将要生成的随机数的长度)而生成秘密信息S210。秘密信息S可以被用于基于伪随机密钥生成器215而生成(随机)加密密钥e214。密码算法216可使用随机加密密钥e以生成解密密钥d218。
秘密信息S可以依赖于所使用的特定密码算法。在一个实施例中,秘密信息S可以是基于密码算法计算d或e所需的信息和/或是计算***密钥所需的信息。例如,如下文中更详细地描述,当使用RSA方案时,解密密钥和***解密密钥需要知道素数p和q以便确定Eurler的欧拉函数
在其它实施例中,人们可以选择保留对于生成d、e和***密钥秘密所需的某些信息。例如,如下文中更详细地描述,在RSA方案中,如下文所述的EIGamal方案和/或Damgard-Jurik(DJ)方案,人们可以决定不将参数n和p视作公共的,而是作为私人(秘密)的信息。例如,人们可能决定将n或p作为经加密的信息而传送到CCU。
在又其它实施例中,例如当在RSA方案、EIGamal方案和/或Damgard-Jurik(DJ)方案中的参数n和p被用作为公共信息时,秘密密钥信息S可以是“空”的。在那种情况下,除了d之外不需要另外的秘密信息以确定e(或反之亦然)。
秘密信息S和解密密钥d可以被***密钥生成器202使用以生成***密钥,例如,***加密密钥和/或***解密密钥。为此目的,秘密信息S可以被输入到伪随机***密钥生成器220以生成随机***解密密钥d2222。另外的***密钥密码算法224可以基于d和d2而生成另外的***解密密钥d1226。
在另一个实施例中,所述***密钥生成器可以被配置成基于秘密信息S和d而生成k个***解密密钥d1,d2,...,dk,(k≥2)。在另外的实施例中,***密钥生成器可以被配置成接收秘密信息S和加密密钥e以便生成i个***加密密钥e1,e2,...,ei(i≥2)。在又另外的实施例中,***密钥生成器可以被配置成基于密钥信息S和加密/解密密钥对e、d而生成i个***加密密钥e1,e2,...,ei和k个***解密密钥d1,d2,...,dk,(i,k≥1且i+k≥2)。
如上所述,加密/解密算法对E、D可与用于生成***加密和/或***解密密钥的***密钥算法相关联。下面描述了多个此类***密钥密码***。
在第一实施例中,***密钥密码***可基于已知为“一次填充”的对称加密算法。在本实施例中,加密密钥e可以以使用随机生成器而生成的长的随机二进制数的形式来生成。加密算法E可以是二元函数,用于通过使用e对X应用异或操作而将内容项X加密成经加密的内容项Xe
e=RAN_1
X e = E PT ( X ) = X ⊕ e
第一***解密密钥d1和第二***解密密钥d2可基于e而形成。例如,第二***解密密钥d2可以是具有与e相同的长度的随机二进制数,并且第一***解密密钥d1可以通过在d1和e之间执行按位异或操作而生成:
d2=RAN_2
d 1 = d 2 ⊕ e
第一解密操作可通过在Xe和d1上执行按位异或操作而将所述经加密的内容项Xe“部分地”解密为Xe,d1。第二解密操作可通过基于Xe,d1和d2执行异或操作而将部分经解密的内容项Xe,d1完全解密为内容项X:
X e , d 1 = D d 1 ( X e ) = E e ( X ) ⊕ d 1
X e , d 1 , d 2 = D d 2 ( X e , d 1 ) = D d 1 ( X e ) ⊕ d 2 = X
如果二进制值e、d1和d2比内容项X短,则它们中的每一个可以与其本身连结数次,然后截短为内容项X的长度。但是,这样的连结会降低***的安全性。
上述的双***密钥“一次填充”密码***可以很容易地推广到具有k个***解密密钥和/或i个***加密密钥的***密钥密码***。例如,在一个实施例中,代替选择长的二进制流d1和d2使得可以生成k-1个随机二进制流d1...dk-1以及可以使用确定的关系来确定最终的随机二进制流。
可以以类似的方式生成具有i个***加密密钥和k个***解密密钥的***密钥密码***。在该实施例中,加密和解密算法D、E是相同的,即两者都被执行为异或操作。此外,因为加密和解密算法是可交换的,所以***密钥可以以任何期望的次序来生成,并且所述加密和解密操作可以以任何期望的次序来执行。
在第二实施例中,***密钥密码***可基于对称流密码。图3(A)和(B)示出了根据本发明的各种实施例的用于在***密钥密码***中使用的流密码。
特别地,图3(A)示出了作为加密算法E的线性流密码,其提供了基于加密密钥e而将内容项X按位加密成Xe。所述线性流密码可以使用一个或多个多线性反馈移位寄存器(LFSR)3021-3023,其可以通过一个或多个XOR功能3041、3042相组合。LFSR可包括一个或多个预配置的抽头3061、3062。密钥k可能形成(在本例中为三个)LFSR的起始状态{k1,k2,k3,...,km},并且线性流密码对于所使用的密钥k是线性。
在该***密钥密码***中,加密密钥e和第一***解密密钥可以被分别生成为一组随机位{e1,e2,e3,...,em}和{d11,d12,d13,...,d1m},并且***解密密钥d2可以如将e和d1进行按位异或来计算,即
图3(B)示出了使用一个或多个多个线性反馈移位寄存器(LFSR)3081、3082(可选择地包含一个或多个预配置的抽头3101、3102)的非线性流密码,它可以通过使用部分非线性“组合生成器”来组合。两个或更多的LFSR3081、3082可以被配置成生成伪随机位流,其中密钥k可形成LFSR的起始状态{k1,k2,k3,...,km}.。一个或多个另外的LFSR312可以被配置作为非线性“组合生成器”314(选择器)。
在该特定的实施例中,另外的LFSR的输出被用来选择其他两个LFSR的哪个位被当做选择器的输出316。定义另外的LFSR的起始状态的所述位p{p1,P2,P3,...,pn}可被预配置。由于流密码在k中是线性的,因此所述解密密钥可以被计算为e和d1的按位XOR,即其它部分非线性函数也可以被用作组合生成器。
流密码形成了可简单实现的对称密码,当与一次路径算法相比时,其需要短得多的长度的密钥。部分非线性组合生成器的非线性部分可以使密码对某些类型的攻击更加安全。
在第三实施例中,***密钥密码***可基于已知为RSA加密方案的非对称加密算法。在那种情况下,加密/解密密钥对e、d使用以下密码算法:
-随机选择类似位长度的两个不同的素数p和q;
-计算n=p*q;
-计算其中是Euler的所谓的欧拉函数;
-随机选择整数e,使得并且(即,e和互质);
-通过计算的乘法逆而确定d,即
参数p、q、e、d和n可被存储作为秘密信息以用于进一步使用。特别地,n的值需要与内容分发器(如果在CDN中执行基于***密钥信息的解密的话)和CCU共享,因为这些实体需要n以执行其加密和解密操作。值n可以在与内容交易关联的协议消息中被传递到内容分发器以及CCU。在一个实施例中,当多个交易使用相同的秘密信息时,n仅需要被传送一次。
内容项X可以基于已知为填充方案的商定(agreed-upon)的可逆协议来处理,其将X变成整数x,其中0<x<n。如果所述处理确定X太长,它可以将X划分为块,每个块满足长度要求。每个块此后根据填充方案而被分别处理。
用于将X加密成Xe的RSA加密算法E可如下计算:
Xe=Ee(X)=xe(mod n).
用于确定***解密密钥对d1、d2的***密钥算法可包括以下步骤:
-随机选择整数d1,使得并且其中d1互质;
-确定
基于解密算法D和***加密密钥d1的第一解密操作可以通过计算Xe,d1=Dd1(Xe)=(Xe d1)(mod n)(读作:Xe的d1次幂随后为模n的操作)而生成“部分”经解密的内容项。基于解密算法D和***加密密钥d2的第二解密操作可以生成Xe,d1,d2=Dd2(Xe,d1)=(Xe,d1 d2)(mod n).。原始的明文内容项X可以通过相反地应用填充规则而从Xe,d1,d2导出。
由于RSA加密和解密算法E和D是相同的,因此用于确定***加密密钥对e1、e2的***密钥算法可以基于用于确定***解密密钥的相同的算法而确定。
上述双***密钥RSA密码***可以推广到具有k个密钥的多***密钥密码***。为此,代替选择d1和d2使得确定与互质的k-1个随机(优选不同的)整数d1,d2,...,dk-1,并且最终整数***密钥dk是根据以下确定的关系而计算的:因为RSA加密和解密算法E、D是可交换的,所以所述密钥可以以任何期望的次序来生成,并且所述加密和解密操作可以以任何期望的次序执行。
所述***密钥RSA密码***具有附加的优势:在没有秘密信息的情况下所述RSA密钥不能被***。通过这种方式,保证了未授权方无法***由SKG所提供的密钥。这将防止所谓的中间人攻击,其中中间人拦截由SKG所提供的密钥并且与自己的秘密密钥相组合。此外,这也允许在不使用安全信道的情况下将第二***密钥信息提供给CCU(如参照图1所述)。
因此,在一个实施例中,当使用根据本发明的***密钥RSA密码***时,第二***密钥信息可以经由非安全信道(例如广播或多播)被提供给所述CCU。可替换地,第二***密钥信息可以连同经加密的内容一起被存储在光或磁存储介质上,其中所述***密钥被存储在DVD的未受保护的存储区域中。
在第四实施例中,***密钥密码***可基于已知为EIGamal(EG)加密方案的非对称加密算法而形成。所述EG方案是基于离散对数问题,而不是RSA的因式分解问题。在这种情况下,加密/解密密钥对e、d可以基于以下密码算法来确定:
-选择较大的素数p和用于生成所述多个乘法群{0,1,...,p-1}mod p的生成器g;
-通过选择随机数而确定d:d∈{1,...,p-2};
-计算h=(gd)(mod p);;
-确定公共密钥e=(p,g,h)。
需要注意的是e被称为“公共的”,是因为它可以被公布而***露秘密信息。在一个实施例中,e可被公开以使得第三方(例如生成并上传用户所生成的内容的用户)能够对所述***的内容进行加密,而内容源或内容提供者(CS、CPS)保持对(部分)解密步骤的完全控制。然而,当不需要公布e时,它被保持私有。
解密密钥d和(公共)加密密钥e=(p,g,h)可以存储作为秘密信息以供将来使用,其中p、g、h都是整数。特别地,p值需要与内容分发器(如果在CDN中执行基于***密钥信息的解密的话)和CCU共享,因为这些实体需要p来执行其加密和解密操作。在内容提供者和CCU之间的内容交易期间所交换的协议消息中可包含p值。在一个实施例中,多个交易可能使用相同的秘密信息。在那种情况下,p仅需要被传送到内容分发器和CCU一次。
内容项X可以基于已知为填充方案的商定的可逆协议来处理,其将X变成整数x,其中0<x<p。如果所述处理确定X太长,则它可以将X划分为块,每个块满足长度要求。每个块此后根据填充方案而被分别处理。
用于将内容项X加密为Xe的加密算法Ee(X)可包括以下步骤:
-选择随机数s∈{1,...,p-2};
-确定Xe=Ee(X,s)=(Y1,Y2)=((gs)(mod p),(X*hs)(mod p))
类似地,用于解密经加密的内容项Xe的解密操作Dd(Y1,Y2)可以如下计算:
-Dd(Y1,Y2)=(Y1 -d*Y2)(mod p)(实际等于(g-ds*hs*X)(mod p)=X))
用于确定***解密密钥对d1、d2的***密钥EG算法可以包括以下步骤:
-确定d1是随机数d1∈{1,...,p-2}
-计算d2=(d-d1)mod p.。
上述双***密钥EG密码***可以推广到使用k个***加密密钥的多***密钥密码***。为此,代替选择d1和d2使得d1+d2=d mod p,可以选择小于p的k-1个随机整数d1...dk-1,并且最终整数根据下述关系来计算:dk=d-(d1+...+dk-1)(mod p).。
用于将所述随机加密参数s***为l个部分的所述***密钥EG算法可以被定义如下:
-所述第一方选择随机数s∈{1,...,p-2};
-所述第一方选择l个随机数si∈{1,...,p-2}:,1≤i≤l,使得S=(s1+s2+...+sl)mod p,并且发送Si给i方;
-令 Y 1 = ( h s 1 * X ) mod p . ;
-对i=1到l-1,执行
i方发送(gsmod p,Yi)给第i+1方;
i+1方执行其加密步骤:
Y i + 1 : = ( h s i * Y i ) mod p .
可以很容易地验证(gsmod p,Yl)=Ee(X,s):,因为s=(s1+s2+...+sl)mod p.。不同的加密步骤是可交换的。
通过计算Dd1(Xe)=Dd1(Y1,Y2)=(Y1,Y1 -d1*Y2(mod p)).,基于解密算法D和d1的第一解密操作可用于将经加密的内容Xe“部分”地解密为Xe,d1。部分经解密的内容Xe,d1由具有相同的第一元素Y1的对来表示。由于Y1是加密的部分,所以它可以被包括在协议消息中。
通过计算Xe,d1,d2=Dd2(Xe,d1),基于解密算法D和d2的第二解密操作可以被用来确定完全经解密的内容,其中,所述Xe,d1,d2的第二元素等于x:Xe,d1,d2=Dd2(Xe,d1)=Dd2(Dd1(Y1,Y2))=(Y1,Y1 -d2*Y1 -d1*Y2)(mod p))=(Y1,(Y1 -d*Y2)(mod p))=(Y1,X).。通过反向地应用填充方案,原始内容项X可以从所计算出的Xe,d1,d2中确定。
因为所述EG解密算法D是可交换的,所以解密密钥可以以任何期望的次序来生成,并且所述解密操作可以以任何期望的次序来执行。类似地,因为所述加密算法也是可交换的,所以加密密钥可以以任何期望的次序来生成,并且所述加密操作可以以任何特定的次序来执行。
应该注意的是,上述的RSA和EG***密钥密码***是乘法同态的,表现出属性D(E(Z1)·E(Z2))=(Z1·Z2)(mod p).。在信号处理方面,加法同态方案可能具有有利的属性,例如允许添加水印至已加密的信号。加法同态密码***表现出属性D(E(Z1)·E(Z2))=(Z1+Z2)(mod p).。
在第五实施例中,***密钥密码***可基于已知为Damgard-Jurik(DJ)密码***的加法同态密码***。用于所述DJ密码***的所述加密/解密对e、d可以使用以下密码算法生成:
-选择两个大素数p′和q′,使得p=2p′+1并且q=2q′+1也是素数,并且其中n=p*q被定义为***的模数;
-选择生成元g,其生成乘法群{1,...,n-1}mod n的所有平方。所有的平方的群将具有大小T=p’*q’;
-选择d作为随机值d∈{1,...,T-1}和计算h=gd mod n
-确定所述(公共)加密密钥e=(n,g,h)。
应该注意的是e被称为“公共的”,是因为它可以被公布而***露秘密信息。在一个实施例中,e会被公开以使得第三方(例如生成并上传用户生成的内容的用户)能够对该***的内容进行加密,而内容提供者(CS、CPS)保持对(部分)解密步骤的完全控制。然而,当不需要公布e时,它被保持为私有的(即秘密)。
值p、q和d可以作为秘密信息S连同e=(n,g,h)一起被存储。n的值需要与内容分发器和CCU共享,因为这些实体需要n以执行其加密和解密操作。n的值可以被包括在内容提供者和CCU之间的内容交易期间所交换的协议消息中。在一个实施例中,多个交易可能使用相同的秘密信息。在那种情况下,n仅需要被传送到内容分发器和CCU一次。
内容项X可以基于已知为填充方案的商定的可逆协议来处理,其将X变成整数x,其中0<x<n。如果所述处理确定X太长,则它可以将X划分为块,每个块满足长度要求。每个块此后根据填充方案来分别处理。
用于将内容X加密为Xe的所述加密算法Ee(X)可包括以下步骤:
-选择随机数r∈{0,...,n-1};
-计算g’=grmod n并且h’=hrmod n,使得Xe=Ee(X,r)=(Y1,Y2)=(g’,h’n*(n+1)Xmod n2).。
用于解密经加密的内容项Xe的解密算法Dd(Y1,Y2)可以包括如下步骤:
-计算H’=(Y2*g’(-d*n))(mod n2);
-确定X=Xe,d=(H’-1)*n-1mod n2
这实际给出了所期望的结果Xe,d=Dd(Y1,Y2)=X。因为在等式a)中H′=((n+1)x)(mod n2)=(n*X+1)(mod n2)。用于确定对***解密密钥对d1和d2的***密钥算法可以包括以下步骤:
-确定d2为随机数d2∈{0,...,n-1};
-计算d1=(d-d2)mod n.。
用于将随机加密参数r***成l个部分的***密钥EG算法可以被定义如下:
-第一方选择随机数r∈{1,...,p-1};;
-第一方选择l个随机数ri∈{1,...,p-1},,
其中1≤i≤l,使得r=(r1+r2+...+rl)mod n,并且发送ri到i方;
-令 Y 1 = ( h n * r 1 * ( n + 1 ) X ) mod n 2 . .
-对于i=1到l-1,执行
i方发送(grmod n,Yi)给i+1方;
i+1方执行其加密步骤:
Y i + 1 : = ( h n * r i * Y i ) mod n 2 . .
可以容易地验证(grmod n,Yl)=Ee(X,r):,因为r=(r1+r2+...+rl)mod n。不同的加密步骤是可交换的。
通过计算 D d 1 ( X e ) = D d 1 ( Y 1 , Y 2 ) = ( Y 1 , Y , 2 ) = ( Y 1 , ( Y 1 ( - d 1 * n ) * Y 2 ) ( mod n 2 ) ) . , 基于解密算法D和d1的第一解密操作可以被用来将经加密的内容Xe“部分”“解密”为Xe,d1。因此,“部分”经解密的内容Xe,d1由(Y1,Y′2)对所表示,其中,Y1可以典型地包括在协议消息中。在一个实施例中,如果多个交易都基于相同的秘密信息和相同的随机数r,则Y1不改变,并可只需要被传送到内容分发器和CCU一次。
通过计算H’=(Y1 (-d2*n)*Y’2)(mod n2)和x=((H’-1)*n-1)mod n2.,基于算法D和d2的第二解密操作可用于确定完全经解密的内容。事实上,H’=(Y1 -(d2+d1)n*Y2)mod n2=(Y2*g’(-d*n))(mod n2)从而示出***密钥密码的正确性。
上述的***密钥DJ密码***可以容易地被推广到具有k个***解密密钥的多***密钥密码***。为此,代替选择d1和d2使得d1+d2=d mod n,,选择小于n的k-1个随机整数d1...dk-1,并且最终整数可以如下计算:dk=d-(d1+...+dk-1)(mod n).。
所述DJ解密算法D是可交换的,所以所述解密密钥可以以任何期望的次序来生成,并且所述解密操作可以以任何期望的次序来执行。这同样适用于加密算法。
图4示出了根据本发明的各种实施例的图示生成加密/解密对e、d以及关联的***密钥的流程图。特别地,所述流程图对应于如参考图2所描述的秘密密钥生成器中所执行的过程。图4(A)示出了秘密信息S的生成。在第一步骤402,确定参数,例如将要被生成的密钥长度或素数长度。这些参数被用作为随机过程功能404的输入。所述随机过程功能可以是伪随机生成器或基于物理过程(例如热噪声)的物理随机生成器以用于产生秘密信息S。基于种子和特定的密码***,所述随机生成器可以生成秘密信息S406。
图4(B)示出了加密密钥e和解密密钥d的生成。所述秘密信息S408被用在与用于生成随机加密密钥e412的特定密码***相关联的特定随机过程410中。例如,当使用RSA密码***(如上所述)时,可以基于以下过程来确定所述加密密钥e,所述过程包括随机选择两个不同的素数p和q,并随后随机选择整数e,使得并且其中n=p*q.。
类似地,当使用EG密码***(如上所述)时,可以基于以下过程来确定所述加密密钥e,所述过程包括选择较大的素数p和生成元g,所述生成元g生成乘法群{0,1,...,p-1}mod p,并且随后通过从该群中随机选择而确定d,d∈{1,...,p-2}。
然后,基于所述随机加密密钥e以及与密码***相关联的预定的确定性密码算法414,可以确定关联的解密密钥d416。例如,当使用RSA密码***时,计算解密密钥为在一些实施例中,秘密信息S可被用在d的计算中。例如,在上述提到的RSA的情况下,通过使用计算解密密钥,所述是秘密信息S的部分。
在其它实施例中,基于某个随机过程可以确定解密密钥d,并且可以使用预定的密码算法(诸如EG或DJ密码***)来计算加密密钥e。
图4(C)示出了基于秘密信息S的***密钥d1的生成。秘密信息S418可以被与特定的密码***相关联的特定随机***密钥生成过程420所使用,从而生成第一***密钥d2422。例如,当使用RSA密码***(如上所述)时,可以基于随机选择的整数d1而确定***密钥d2,使得并且(即类似于e的确定)。
此后,基于d2422和d426(并且在一些实施例中,基于秘密信息S),可以使用确定性***密钥算法424来确定关联的***密钥d1428。例如,在RSA情况下,可以计算所述关联的***密钥为
因此,从上文中,其遵循各种对称和非对称密码***可以与***密钥算法相关联,其允许解密和/或加密密钥d和e的分别地多重***。这些***密钥密码***可以实施在如参考图1描述的内容递送***中。表1提供了需要被分发给所述CS、CD和CCU以用于不同密码***的信息的部分和密钥信息的全面概述。从该表中,其遵循了对于***密钥RSA、EG和DJ密码***,不仅***密钥d1和d2还有n(RSA和DJ)以及p(EG)也分别发送给所述CD和CCU。
该信息可以在合适的“加密容器”中被发送到内容分发***中的实体。特别地,可以使用所谓的***加密控制消息(SECM)来发送加密信息到被配置用于(部分)加密内容项的特定实体(例如与CS关联的加密模块),以及可以使用***解密控制消息(SDCM)来发送解密信息到如被配置用于(部分)解密内容项的特定实体(例如CCU解密模块的CDN)。
表1:由秘密密钥生成器(SKG)生成的并发送至内容源(CS)中的加密模块以及CCU中的解密模块的信息的概述。
图5(A)示出了内容分发***的高级示意图。该***通常可以包括内容源(CS)502和用于将内容分发至一个或多个内容消费单元(CCU)506的内容分发器(CD)504。在这里,CD涉及第三方内容分发器,即不是CPS的部分的一个或多个内容分发***。因此,在图5(A)的内容分发***中,内容提供者将内容到消费者的内容递送外包给中间方,即内容分发器。
当外包内容递送时,内容提供者和诸如内容递送网络(CDN)之类的内容分发器之间需要某种可信关系,使得内容提供者可以依赖于该内容分发器,所述内容按照某些预定条件(例如安全递送)而被递送,并且每次消费者向内容分发器请求特定内容项时,内容提供者被正确地付款。因此,由于CS已经将内容的递送委派到一个或多个内容分发器,未授权访问的风险增加。因此,内容需要通过内容保护***的保护。
如将在下文更详细地描述的,如本公开中所描述的***密钥密码***允许内容源发者完全控制内容的安全递送,即使内容的实际递送被外包给一个或多个内容分发器。这里,内容分发器可以涉及内容分发平台或不同的内容分发平台链,其配置成将来自内容源的内容分发到内容消费单元。内容分发平台可使用用于递送内容的电子装置,例如一个或多个内容递送网络(CDN),或者可以使用用于递送内容的物理装置,例如记录介质,诸如磁性记录介质、使用例如DVD和蓝光技术的光学记录介质或光磁记录介质。
图5(B)示出了根据本发明的一个实施例的在图5(A)的内容递送***中的***密钥密码***的使用。特别是,图5(B)示出了包括密钥生成器S520和加密模块E518的CPS502以及包括安全(解密)模块508的CCU506,所述安全模块508被配置用于基于解密算法D解密经加密的内容项,其类似于参考图1(B)所描述的内容分发***。图5(B)中的***进一步包括CDN,CDN包括了包含解密算法D的解密模块516。所述解密模块被配置成接收包括***密钥d1的***密钥信息。因此,在本实施例中,秘密密钥生成器SKG520可生成***密钥信息,包括***密钥d35221并且以与参考图1(B)中描述的类似的方式将该***密钥信息(预)提供给所述在CCU中的解密模块。还在这种情况下,(预)配置可包括将包括***密钥d2的***密钥信息存储或嵌入到安全硬件单元510中,所述安全硬件单元510可以是解密模块的部分。
另外,加密模块可以被配置成接收可包括加密密钥e的加密信息以生成经加密的内容项,所述经加密的内容项随后被摄取并存储在CDN504中。当CCU的用户请求内容项X时,所述CCU可发送内容请求到CPS,CPS随后可以调用密钥生成器来生成***密钥信息,例如***密钥d15222和d25223。***密钥d1被发送到CDN,CDN可使用d1以生成部分经解密的内容项Xe,d1,Xe,d1被发送到在CCU中的解密模块。部分经解密的内容项Xe,d1可以进一步被解密为另外的部分经解密的内容项Xe,d1,d2,Xe,d1,d2随后基于d3而被完全解密。因此,本实施例结合了图1所示的安全内容递送***的优点与附加的安全性,即,使每个内容项针对每个CCU而被唯一地加密。
图6示出了根据本发明的实施例的在包括网络CDN的内容递送***中***密钥密码***的使用。特别是,图6(A)示出了连接到CDN网络CDN1-8的CS602,其中某些CDN(例如“上游”CDN2)可以将内容项X的递送外包给“下游”CDN5。如将在下文示出的,根据本发明的***密钥密码***尤其适合用于提供从CS经由CDN网络到CUU的安全内容分发。
在该非限制性示例中,***密钥密码***可使用,例如3个***加密密钥e1,e2,e3以用于加密内容。这样,CS可以分别发送例如内容项X的三个经加密的版本到CDN1、CDN2和CDN3,其中,这些版本的每一个都已经以其子集的加密密钥加密,使得CDN1接收Xe1,CDN2接收Xe2并且CDN3接收Xe3.。然后,基于关联的解密密钥d,秘密密钥生成器可以生成多个***解密密钥,在该示例中,当内容项X的递送被外包CDN4-CDN8时,可以使用5个(随机)***解密密钥d4,...,d8。此外,另外的(随机)***密钥可以用于将CCU的安全硬件模块中的解密模块620(预)配置有如参考图1描述的***密钥dCL2.。
特别地,在由CDN4摄取的内容项Xe1时,CDN1可以在将内容项Xe1发送到CDN4之前将其“部分”解密成Xe1,d4,CDN4随后存储Xe1,d4以供未来递送到CCU。以类似的方式,CDN5可以接收“部分”经解密的项Xe2,d5:(从CDN2接收),CDN6可以接收并存储“部分”经解密的项Xe2,d6(从CDN2接收),CDN7可以接收并存储“部分”经解密的项Xe2,d7(从CDN3接收),CDN8可以接收并存储“部分”经解密的项Xe3,d8(从CDN3接收)。
当内容项被CCU所请求时,所选的CDN(例如CDN4-CDN8之一)将基于CS所发送的***密钥而对部分经解密的内容应用另外的部分解密步骤。这个过程被描述在图6(B)中,其图示与CPS602相关联的秘密密钥生成器610,所述CPS602生成用于***密钥密码***的***密钥,以保证内容项X从CPS经由CDN2604和CDN5606到请求CCU608的安全递送。在这种情况下,CCU可以包括安全模块622,其具有第一(***密钥)解密模块618和第二(***密钥)解密模块620,其中第二解密模块可以(预)配置有***密钥,在本情况下为dCL2.。在一个实施例中,第二解密模块610可以被实现为安全硬件模块624,其包括***密钥dCL2.。如上所述,内容项X的递送被CDN2外包给CDN5,使得经加密的内容Xe2在被发送到CDN5之前首先基于***解密密钥d5被“部分”解密为Xe2,d5
然后,如果消费者决定购买内容项X,则内容递送***可以将消费者的内容重定向到CDN5,其在接收到请求时可以发信号通知秘密密钥生成器使用以下***密钥算法生成两个另外的***解密密钥dCDN5和dCL1,例如EG***密钥算法:dCDN5+dCL1=(d2-d5-dCL2)(mod p)。这里d2是与***加密密钥e2相关联的***解密密钥,所述***加密密钥e2可以被加密模块612用来生成Xe2,例如对于RSA,其被分发给CDN2。另外,d5是被CDN2的解密模块614使用以生成CDN2分发给CDN5的Xe2,d5:的解密密钥,并且dCL2.是提供给CCU的***密钥。所述CS可以发送***密钥dCDN5到CDN5的解密模块616。另外,***密钥dCL1可被发送给CCU的安全硬件模块中的解密模块622。此处,解密模块可以被配置成,至少执行使用解密算法D和包含至少第一***密钥dCL1的第一***密钥信息的第一***解密操作618以及使用解密算法D和包含至少第二***密钥dCL2.的第二***密钥信息的第二***密钥操作620。所述解密模块被实现为安全模块,例如智能卡、(U)SIM或其它合适的硬件安全处理器。CDN5可以利用dCDN5将Xe2,d5部分解密为Xe2,d5,dCDN5,并将其发送到CCU,CCU可以调用解密操作618、620以通过计算Xe2,d5,dCDN5,CL1和Xe2,d5,dCDN5,CL1,CL2.来执行最终的解密步骤。由此完全经解密的内容X=Xe2,d5,dCDN5,dCL1,dCL2可以通过与CCU相关联的显示模块显示给消费者。
本实施例说明***密钥密码***特别适合于经由CDN网络到大量CCU的安全内容递送。无论何时CDN外包内容项或者CUU请求内容项时,CS被联系以生成***密钥。这样,通过CDN网络的内容项的递送是完全透明的。此外,在任何时刻,没有CDN具有完全解密所述内容必须的所有密钥,以使得因此内容项的安全传输和递送是可能的。因此,本实施例将图1所示的安全内容递送***的优势与使每个内容项针对CDN网络中的每个CDN而唯一地加密的附加的安全性相组合。
图7示出了根据本发明的实施例的用于将内容递送到内容消费单元的安全内容递送***的示意图。在这个特定的实施例中,内容分发器702被实现为内容递送网络(CDN)或CDN的网络,例如与第一解密模块708相关联的第一CDN704和与第二解密模块710相关联的第二CDN706。
内容源712可包括连接到网络门户(web portal)716的内容提供者***(CPS)714。所述CPS可与加密模块718和秘密密钥生成器1120相关联。包括解密模块1126的一个或多个CCU724可以经由传输网络1122与内容源和内容分发器通信。
所述CPS可被配置成提供内容项(例如以文件和/或流形式的视频、图片、软件、数据和/或文本)给客户。客户可以通过访问其CCU上的网络门户716而购买这些内容项。CCU可使用客户端与CDN及CPS通信。
所述CDN被配置成高效地递送内容项到CCU。递送内容项可以是实时流、延迟流或内容文件的形式。这里,内容文件可以一般地涉及用于处理属于彼此的内容数据的数据结构。文件可以是文件结构的部分,其中包括内容文件的文件在目录中存储并订购,并且其中每个文件由文件名和文件扩展名所标识。
插图730更详细地示出了CDN。CDN可以包括递送节点732、734和至少一个中央CDN节点736。递送节点可地理分布在整个CDN。每个递送节点可以包括(或与之关联)控制器738、740和用于存储和缓冲内容的高速缓存742、744。所述控制器可以被配置成与一个或多个CCU建立通信会话756、758。
中央CDN节点可以包括(或可与之关联)摄取节点(或内容源功能,COF)748,其用于控制内容从外部源754(例如,内容提供者或另一个CDN)的摄取。另外,所述中央CDN可与用于存储关于内容项被存储在CDN内的位置的信息的内容位置数据库750以及CDN控制功能(CDNCF)746相关联,所述CDN控制功能(CDNCF)746用于控制内容项的一个或多个副本分发到所述递送节点以及用于将客户端重定向到适当的递送节点(后一个过程也被称为请求路由)。所述CDNCF可以进一步被配置成从CPS、另一个CDN和/或内容消费单元752接收信令消息以及将信令消息发送至CPS、另一个CDN和/或内容消费单元752。可以控制内容的副本到所述递送节点的分发,使得在整个CDN中保证足够的带宽以用于到内容消费单元的内容递送。在一个实施例中,CDN可以涉及在ETSI TS182 019中描述的CDN。
消费者可以使用客户端、内容消费单元上的软件程序通过发送内容请求到网络门户(WP)而从CPS购买内容(例如视频标题),所述网络门户被配置成提供识别可购买内容的标题参考。响应于所述内容请求,客户端可以从WP接收标题参考的至少部分以及CDN的CDNCF的位置信息(例如URL),其能够将所选的内容递送到内容消费单元。
所述CDNCF可以发送与一个或多个递送节点相关联的客户端位置信息,所述递送节点被配置成将所选择的内容递送到客户端。通常,所述CDNCF可以在CDN中选择最适合用于递送所选择的内容到客户端的一个或多个递送节点。用于选择递送节点的准则可以包括客户端的地理位置和递送节点的处理负载。
客户端可以使用各种已知的技术(包括HTTP和/或DNS***)来联系CDN中的递送节点。此外,各种流协议可以被用于递送内容至客户端。此类协议可以包括HTTP和RTP类型的流协议。在一个实施例中,可以使用自适应流协议,诸如HTTP自适应流(HAS)、DVB自适应流、DTG自适应流、MPEGDASH、ATIS自适应流、IETF HTTP实时流及相关协议。
在参照图7所述的内容递送***中,可以建立CPS和内容消费单元的客户端之间的交易,并且内容的递送可能被委托给一个或多个CDN。将内容递送委托给第三方增加了未经授权的访问的风险。因此,内容被基于***密钥密码***的内容保护***所保护。
图8示出根据本发明的实施例的使用***密钥密码***的内容分发***的协议流的示意图。特别是,图8示出了在图1中所示的安全内容分发***中使用的协议流。
该过程可以开始于CS触发(步骤801)加密模块(EM)(特别是与EM相关联的秘密密钥生成器SKG)以生成秘密信息S。所述秘密信息S可以与特定内容项X(例如与特定内容标识符IDX相关联的特定的视频标题或者流)相关联并且被存储在加密模块的安全密钥数据库中(步骤802)。
此后,SKG可基于秘密信息S而生成至少一个(伪)随机***密钥d2(步骤804)。可使用如参照图1描述的在线、离线或空中(over-the-air)提供过程将d2提供给所述DM(步骤806)。例如,在图8中,***解密密钥d2可以在***解密控制消息(SDCM)中经由安全信道被发送到CCU。***解密密钥d2随后被存储在CCU中DM的安全存储器中(步骤807)。
然后,SKG可以基于秘密信息S而生成加密和解密密钥对e和d,其与S一起被存储在与CS相关联的安全密钥数据库中(步骤808)。可以使用加密密钥e将明文内容项X加密成经加密的内容项Xe(步骤809)。
在消费者已经购买内容项IDX之后,消费者的CCU中的客户端可以发送内容请求到CS(步骤810)。所述内容请求可以包括与视频标题和关联于客户端的位置信息(IP地址)相关联的内容标识符IDX。所述CS可以将所述内容请求中继到加密模块,加密模块可以基于内容IDX而识别安全密钥数据库中的秘密信息S和解密密钥d。
然后,基于秘密信息S、d和d2,SKG可生成***解密密钥d1(步骤812)。CS可以经由安全信道(例如,经由提供终端认证和消息加密的密钥分发网络)将包括***解密密钥d1和内容标识符IDX的第一响应消息(例如,***解密控制消息SDCM)发送到CCU中的DM(步骤814),其中其可以被临时存储在安全存储器中(步骤816)。
经加密的内容项Xe可以被发送到CCU的DM(步骤820)。CCU中的解密模块使用***解密密钥d1将Xe部分解密为Xe,d1,并随后使用***解密密钥d2将Xe,d1部分解密为完全经解密的内容项X(步骤822、824)。
图9示出了根据本发明的另一个实施例的使用***密钥密码***的内容递送***的协议流的示意图。特别地,图9示出了在图5中所示的安全内容分发***中使用的协议流。
该过程开始于CS触发(步骤901)加密模块(EM)(特别是与EM相关联的SKG)以基于秘密信息S生成加密密钥e和解密密钥d。所述秘密信息S、e和d可以与特定内容项X(例如与特定内容标识符IDX相关联的特定的视频标题或者流)相关联并且被存储在加密模块的安全密钥数据库中(步骤902)。
SKG可基于秘密信息S而生成包括至少一个***密钥d3的***密钥信息(步骤904)。此后,可使用参照图1所述的在线、离线或空中提供过程,将***密钥信息d3提供给所述DM(步骤906)。例如,在图9中,***解密密钥d3可以在***解密控制消息(SDCM)中通过安全信道被发送到CCU。***解密密钥d3随后被存储在CCU中的DM的安全存储器中(步骤908)。
然后,通过使用加密密钥e,EM中的加密算法E可被用于将明文内容项X加密成经加密的内容项Xe(步骤910)。所述经加密的内容项可以由CDN摄取(步骤912),CDN将已摄取的经加密的内容存储在特定的储存中(步骤914)。注意,摄取过程实际上由几个子步骤组成,例如从CPS到CDN的触发、从CDN到所述CPS的内容摄取请求以及再次从CPS到CDN的实际内容摄取步骤。
在一个实施例中,CDN控制功能(CDNCF)可以将经加密的内容项的一个或多个副本分发给一个或多个地理上分布的递送节点。以这种方式保证了整个CDN有足够的带宽用于到CCU的内容递送。存储经加密的内容的递送节点的位置可以被存储在位置数据库。
然后,在消费者已经购买内容项IDX之后,消费者的CCU中的客户端可以发送内容请求到CPS(步骤916)。所述内容请求可以包括与视频标题和关联于客户端的位置信息(例如,IP地址)相关联的内容标识符IDX。所述CS可以将所述内容请求中继到加密模块,其可以基于内容IDX而识别安全密钥数据库中的秘密信息S和解密密钥d。
然后,基于秘密信息S和d3,所述SKG可生成包括***解密密钥对d1和d2的另外的***密钥信息(步骤918)。在一个实施例中,生成***密钥对可以包括基于秘密信息S而生成随机***解密密钥d2以及基于秘密信息S、d2和d3而生成***解密密钥d1
这里,可以使用会话令牌将***密钥唯一地与内容请求相关联,即用于识别与CCU关联的内容请求会话的唯一标识符。令牌可涉及消费者标识符、内容消费单元的IP地址、专用令牌或其组合。
所述CS可以经由安全信道(例如,经由提供终端认证和消息加密的密钥分发网络)将包括包含***解密密钥d1的第一***密钥信息、内容标识符IDX以及内容会话令牌的第一响应发送到CDN(步骤920)。
所述CDN可经由安全接口调用其解密模块DM而使用***解密密钥d1将所识别出的经加密的内容Xe部分解密为部分经解密的内容项Xe,d1(步骤922)。Xe,d1可以临时存储在CDN内容储存中,或者在流内容的情况下,可替换地使其可用于经由CDN内容流功能的中继。
所述加密模块可以经由安全信道将包括包含第二***解密密钥d2的第二***密钥信息、内容标识符IDX以及会话令牌的第二响应发送到CCU中的客户端(步骤924)。所述响应还可包括客户端请求被重定向到的CDN的标识(DNS名称、IP地址等)。客户端可以用***解密密钥d2来配置CCU的解密模块(DM)并且临时存储内容标识符IDX以及内容会话令牌(步骤926)。
所述客户端可以发送包括会话令牌和内容标识符的内容请求到所标识的CDN(步骤928)。作为响应,CDN可以将令牌与Xe,d1相关(步骤930),并且使递送节点将其发送给客户端(步骤932)。在一个实施例中,CDN可以将客户端重定向到所选择的递送节点。然后CCU中的解密模块使用***解密密钥d2将Xe,d1部分解密为Xe,d1,d2,并随后使用***解密密钥d3将Xe,d1,d2部分解密为完全经解密的内容项X(步骤928)。可选地,经解密的内容可被显示给消费者。
因此,在该特定实施例中,两个***密钥可以被并行处理,在这个意义上当所述内容请求被进一步处理的同时,在递送节点处所存储的经加密的内容Xe的部分解密可能已经开始。此外,尤其在流内容的情况下,部分解密通常可以当加密仍在进行中的同时开始。与特定媒体购买相关联的令牌被用于该过程中,以便允许可扩展的安全内容递送***,它允许多个活动内容递送会话。
图10示出了多层加密方案的示意图。图10示出如通常在条件访问(CA)***中使用的传统的多层(在本例中为4层)的加密***。
所述第一层可以涉及CA发射机1002,其将内容流X1003划分为部分,均使用对称短期密钥(STK)1004(也被称为控制字)将所述部分加密(加扰)成经加扰的内容流1005。因而经加扰的数据流被传送到CA接收器1006,其被配置成对经加扰的流进行解扰。
所述第二层可以涉及经加密的控制字(也被称为授权控制消息或ECM)的传输,其可以由CA发射机在ECM流1008(其与经加密的内容流同步)中发送给CA接收器。在CA接收器中使用长期密钥1010(LTK)对ECM进行解密,并且经解密的ECM中的控制字被用于对经加密的内容流进行解密(解扰)。所述长期密钥可以每个月左右改变一次。
第三层可以通过经加密的LTK1012形成,其可经由单独的信道被发送到CA接收器。经加密的LTK通常称作授权管理消息(EMM)。
第四层可以通过公共密钥基础设施(PKI)密钥形成,其被用于对EMM进行加密和解密并且其是经由被***在CCU中的安全模块(例如智能卡或SIM卡)被分发。根据本发明的***密钥密码***可应用于这些层中的任何层。
图11(A)-(C)示出了多层加密方案中的***密钥密码***的各种实现方式,其中CCU包括安全模块,其包括被提供有至少两个***密钥的解密模块。在一个实施例中,通过将至少一个***密钥嵌入到安全硬件模块中可以预配置所述安全模块。***密钥被解密模块使用以将经加密的内容项解密成明文。可以以如参考图1描述的方式来提供***密钥。
例如,图11(A)示出示例,其中在CA***的发射机侧的秘密密钥生成器SKG可生成短期加密密钥(控制字)以用于对内容流进行加扰,所述内容流被发送到CCU的第一解扰单元D1,CCU基于由秘密密钥生成器生成的第一短期***加密密钥{d1}而生成部分经解扰的内容流。由此,所述部分经解扰的内容流随后被转发到第二解扰单元D2,以用于基于第二预配置***加密密钥d2而完全解扰所述部分经解扰的内容流。
类似地,图11(B)图示在控制字加密级别的***密钥密码***的应用。在这个特定的实施例中,秘密密钥生成器SKG可以生成加密密钥以将控制字(其被用于对内容进行加扰)加密成ECM。这些ECM被发送到第一解密单元D1,所述D1基于由SKG传送到第一解密单元D1的第一***解密密钥{d1}而部分地解密ECM流。这样生成的部分经解密的ECM流随后被转发给第二解密单元D2,其基于第二预配置***解密密钥d2而完全解密所述部分经解密的ECM。从经解密的ECM中提取的控制字随后被用于对经加扰的内容流进行解扰。
最后,图11(C)图示所述将LTK加密到EMM的级别的***密钥密码***的应用。在发射机侧,LTK可以被加密成EMM并发送到CCU中的第一解密单元D1。第一解密单元基于部分解密密钥d1将EMM部分解密成部分经解密的EMM,并从而将部分经加密的EMM转发给第二解密单元D2,D2基于预配置的第二***解密密钥d2而完全解密EMM。
图12示出了根据本发明的实施例的用于将内容从CS递送到CCU的混合***密钥密码***1200。特别地,图12示出了包括加密模块EM1208的内容源CS1202,所述加密模块EM1208包括了与对称加密算法ES相关联的对称加密模块1212、与非对称加密算法Ea相关联的非对称加密模块1214、用于生成对称密钥的密钥生成器KG1216和秘密密钥生成器SKG1218。
类似地,CCU可以包括解密模块DM1210,其包括与非对称解密算法Da相关联的非对称解密模块1220、1222以及与对称解密算法DS相关联的对称解密模块1224。这里,非对称加密和解密模块Ea、Da和秘密密钥生成器SKG是非对称***密钥密码***的部分。所述解密模块可以以与参考图1所述的类似的方式提供有***密钥d1和d2。特别地,解密模块可以被预配置有***密钥d2。合适的非对称***密钥密码***包括如上所述的RSA、EG或DJ***解密***。
由于与对称加密密码相比非对称加密密码不太适合于内容的快速加密,因此在本实施例中,使用诸如AES之类的对称加密算法ES或诸如RC4之类的流密码对内容流X进行加密。可以由密钥生成器1216生成对称加密密钥kx,其被用于基于ES1212而对内容X进行加密。可以使用非对称加密算法Ea1214以及由秘密密钥生成器SKG生成的加密密钥e来对加密密钥kx进行加密。
经加密的内容Es kx(X)=Es(X,kX)和经加密的对称加密密钥Ee(kX)可随后被传送到CCU中的解密模块1210。经加密的对称加密密钥可以被发送到CCU中的第一非对称加密模块Da1220,在其被转发到第二非对称加密模块1222之前,其基于第一***密钥d1而对经加密的加密密钥进行部分解密,第二非对称加密模块1222被配置成基于预配置的***密钥d2而将部分经解密的加密密钥kx完全解密。因而可以由对称加密模块1224使用经解密的对称密钥kx以对经加扰的内容流进行解扰。
混合加密从而允许使用***密钥密码***的内容项X的高效对称加密与对称加密密钥kx的安全非对称加密的组合。在流媒体的情况下,对称加密密钥(或秘密种子)kx可以在时间上规律地改变(密钥翻转)。
图13A和13B示出了根据本发明的各种实施例的用于将内容分发到内容消费单元(CCU)1306的***密钥密码***。特别地,在这些实施例中,CCU可以被提供有多个***密钥。图13A示出了包括内容源CS1302的***密钥密码***,CS1302至少包括与加密算法E相关联的加密模块1308和用于基于秘密信息S而生成密钥的秘密密钥生成器SKG1310。在一个实施例中,SKG可以根据如参考图2所描述的SKG来实现。通过秘密密钥生成器生成的密钥信息可以包括至少包括加密密钥e的密钥信息和包括多个***解密密钥的***密钥信息。
CCU1306包括解密模块1311,其可被实现为安全模块,例如智能卡、(U)SIM或其它合适的硬件安全的处理器。解密模块可以被配置成至少执行使用解密算法D和第一***密钥信息的第一***解密操作1312,所述第一***密钥信息至少包括由秘密密钥生成器1310发送到解密模块的第一***密钥d1
解密模块还可包括被配置成使用解密算法D和***密钥信息来执行多个***密钥操作1322、1324的***密钥处理器1314,所述***密钥信息包括多个***密钥,在该示例中,例如***密钥d2-geo和d2-person。***密钥处理器可以在接收到密钥标识符消息1318的情况下选择***密钥。
在一个实施例中,***密钥处理器可以包括安全存储器1316,安全存储器1316包括包含多个***密钥的***密钥表。可使用参照图1所述的离线、在线或无线提供过程,将***密钥表提供给所述安全存储器(所述提供由虚线1315示意地表示)。***密钥表中的***密钥也被秘密密钥生成器所知。在一个实施例中,基于预配置的硬件模块(例如(U)SIM或智能卡)可以离线提供***密钥表。
在安全存储器中的***密钥信息可以与不同类别相关联。例如,在一个实施例中,一个特定***密钥集合可以涉及地理特定***密钥。在一个特定的地理区域内的CCU可被提供有这样的地理特定***密钥d2-geo。在另一个实施例中,特定***密钥集合可以涉及内容特定的***密钥。被授权接收特定类型的内容(例如,高清电视或3D)的CCU被提供有这样的内容特定***密钥d2-cont。在另外的实施例中,特定的***密钥集合可以涉及用户特定***密钥。例如,与一个用户相关联的所有的CCU可被提供有个人特定***密钥d2-person。在另一个实施例中,特定***密钥集合可以涉及硬件特定的***密钥d2-device。在又一个实施例中,***密钥d2-categ可以涉及特定类别的内容,例如运动、视频点播等)。这样的硬件特定密钥可被提供给特定的设备组。
因此,在如图13A所示的实施例中,***密钥处理器中的安全存储器可以被提供有包括多个***密钥的***密钥表,所述多个***密钥也被与CS相关联的秘密密钥生成器所知。所述CS可基于密钥标识符消息1318将所述***密钥处理器配置成使用从一大组可能的***密钥解密操作中所选择的***密钥解密操作的特定序列,如由插图1320示意性图示的。***密钥解密操作的数目可以依赖于特定期望的实现方式。
秘密密钥生成器1310可以生成密钥标识符消息以用于发信号通知CCU,可以由DM选择哪些***密钥来对经加密的内容项X进行解密。例如,图13A中的非限制性示例描述了秘密密钥生成器可以发送源自秘密密钥服务器的密钥标识符消息,所述秘密密钥服务器将***密钥处理器配置成执行基于地理特定的***密钥d2-geo和用户特定的***密钥d2-person的***密钥操作的预定序列。基于这些***密钥d和S,所述秘密密钥生成器可确定随后被发送到CCU以用于解密模块来配置第一***密钥操作1312的d1
这样,可以首先基于使用第一***密钥d1的第一***密钥操作对源自加密模块1308的经加密的内容项的Xe进行部分解密。此后,基于分别使用地理特定***密钥d2-geo和用户特定***密钥d2-person的第二***密钥操作和第三***密钥操作而对部分经加密的内容项Xe,d1进行进一步解密。在其它实施例中,可以配置两个以上的***密钥操作的序列。
图13B示出了如在图13A中所描绘的***密钥密码***的变形。在这个变形中,该***还包括与解密模块1313相关联的CDN1304,所述解密模块1313包括解密算法D用于基于***密钥d1而部分解密被CS所生成的经加密的内容,***密钥d1可以由秘密密钥生成器发送到CDN。因此,与如图13A中所示的实施例相对比,经加密的内容Xe在被发送到CCN之前,首先由CDN部分解密,所述CCN随后使用在***密钥处理器1314中所配置的至少两个***密钥解密操作1322、1324解密部分经解密的内容Xe,d1
图14示出了与如参照图13B所描述的***密钥密码***相关联的流程图1400。所述过程可开始于提供包括多个***密钥的***密钥信息给由客户端标识符IDCL所标识的CCU(步骤1402)。可以由SKG基于与标识符(例如d2-person,ID(d2-person);d2-geo,ID(d2-geo);d2-device,ID(d2-device);d2-content,ID(d2-content),等等)相关联的秘密信息S而生成***密钥,并且将其提供至CCU中的解密模块。CS可以将与特定CCU或特定的CCU集合相关联的提供信息(即秘密信息S、***密钥和密钥标识符、以及客户端标识符)存储在安全密钥数据库中(未示出)。
在一个实施例中,所述CCU可以在离线过程中提供有多个***密钥。例如,安全硬件模块可以在安全硬件模块的制造期间、分发期间、或者激活或注册期间预配置有***密钥和关联的标识符。例如,在安全硬件模块的购买期间,该模块可配置有一些***密钥,这些***密钥对于购买者来说是特定的。还预见到如例如参考图1所描述的包括在线和无线提供过程的其他***密钥提供过程。
CS可将经加密的内容Xe摄取到CDN中(步骤1404)。然后,用户可以发起到CPS的第一内容请求的传输(步骤1406)。第一内容请求可以包括用于识别所请求的内容项X的内容标识符IDX和IDCL.。
基于所述内容请求,CS可以决定CCU中的解密模块应该使用特定的***密钥集合以用于解密,例如,d2-person和d2-geo,其指示只有具有预定个人***密钥和地理***密钥二者的设备可以访问特定内容项X(步骤1408)。此后,作为响应,CS可以发送响应消息,其包括对CDN的参考和与某些***密钥相关联的标识符(在该情况下为ID(d2-person和d2-geo))(步骤1410)。
CCU可以使用响应消息中的信息以发送第二内容请求到CDN,其包括***密钥标识符(步骤1412)。在响应中,CDN可以发送包括IDX和***密钥标识符的密钥请求到CS(步骤1414)。CS可以基于所述请求中的信息以及在安全密钥数据库中的先前提供的信息来授权所述密钥请求,并基于CCU中的秘密密钥信息S和预配置的***密钥(在这种情况下是d2-person和d2-geo)来计算***密钥d1,(步骤1416)。
***密钥d1然后被提供给CDN(步骤1118),CDN使用该***密钥将经加密的内容项Xe部分解密成Xe,d1(步骤1420)。由此,部分经解密的内容Xe,d1被发送到CCU的解密模块(步骤1422),其可以应用两个后续的***密钥解密操作,即,用于将Xe,d1部分解密为Xe,d1,d2-person的第一操作,以及将Xe,d1,d2-person部分解密为Xe,d1,d2-person,d2-geo的第二操作,所述Xe,d1,d2-person,d2-geo等于内容项X的明文版本(步骤1424)。
因此,在本实施例中,CS只需要发信号通知在解密期间应该使用表中的哪些***密钥。没有敏感秘密信息需要被发送到CCU,从而提高了安全性。此外,当使用大***密钥集合时,CCU可以经常被重配置,以进一步提高安全性。
图15示出了根据本发明的另一个实施例的用于经由至少一个CDN1504将内容分发至内容消费单元1506的***密钥密码***1500。特别地,在该变形中,CCU可以以与参考图13和14所描述的类似方法而被提供有多个***密钥。然而在这个特定的实施例中,CCU中的***密钥处理器1514还包括组合器1526。所述组合器可以包括处理器,该处理器包含组合算法C,用于响应于源自秘密密钥生成器1510的密钥标识消息1518而将由***密钥处理器所选择的***密钥组合成组合***密钥。例如,在图15的示例中,所述秘密密钥生成器可以已经指示所述***密钥处理器使用来自存储在***密钥处理器的安全存储器中的预配置的***密钥集合的特定的***密钥集合。使用这样的组合器将提供的优点是,其需要在CCU的解密模块中执行更少的解密步骤。
在组合器中的组合算法可以依赖于***密钥密码***中所实施的密码算法的类型。例如对于一次路径和流密码来说,组合函数可以被定义为:对于EG和DJ加密方案来说,组合函数可以被定义为简单的加法:对于EG,d2-combine=(d2-combi+d2-person)(mod p);并且对于DJ,d2-combi=(d2-geo+d2-person)(mod n)。对于RSA加密方案来说,这样的组合是不可能的,因为***或组合RSA密钥需要秘密信息
提出的是在图13-15中的实施例都是非限制性的并且预见到另外的实施例。例如,使用如参考图13-15描述的***密钥的预配置集合也可以被用于没有图1中所述的CDN的情形。
因此,在一个实施例中,图1中的CCU可以被提供有预配置的安全硬件模块,包括参考图13和14所描述的多个***密钥。在来自CCU的内容请求的情况下,所述CPS发信号通知解密模块使用哪个预配置的***密钥。然后,基于这些***密钥,d1被计算并直接发送到CCU。随后可以基于d1和预配置的密钥d2-person和d2-geo对经加密的内容项进行解密。在另外的实施例中,这些***密钥中的一个或多个可以被组合为如参考图15所述的d2-combi***密钥。
图16示出了根据本发明的另一个实施例的安全内容分发***1600。所述内容分发***可以包括CS1802、一个或多个内容分发器1604(例如CDN)、包括秘密密钥生成器的秘密密钥服务器1608(如,例如参照图2所描述)和CCU1610。
在这种特定情况下,密钥服务器的网络地址不同于CS的网络地址,所述CS被用于摄取内容到CDN1中。使用可以作为第三方密钥服务器的单独的密钥服务器是有利的,因为通过这种方式摄取过程不阻碍密钥分发过程。此外,单独的密钥服务器还提供了可扩展的解决方案,因为密钥生成和分发过程比摄取过程出现得更加频繁。因此,在需要时,两个或更多的密钥服务器可以被分配到一个CS,以便处理密钥生成和分发过程,或相对地,一个密钥服务器可以服务于多个CS。
图17示出了根据本发明的实施例的在包括网络CDN的内容分发***中***密钥密码***的使用。特别地,在本实施例中,源自CS1702的内容可以安全地经由多个内容分发器(即至少第一CDN11704和第二CDN21706)被递送到CUU1708。在本实施例中,CS可以将经加密的内容Xe和包括***密钥d1的***密钥信息传送到CDN1,CDN1可以决定将内容的递送外包给CDN2。另外,CCU可以被预配置有包括至少一个***密钥d31710的***密钥信息。CCU还可以被配置成从与CS相关联的密钥生成器1714接收包含至少另外的***密钥d21712的另外的***密钥信息。可以由解密模块1715使用***密钥d2和d3用于部分解密源自CDN2的内容。
与参照图6所描述的***相对,CDN1不将部分经解密的内容Xe,d1递送给CDN2。相反,CDN1的内容分发功能(未示出)可以将Xe“透明”地中继到CDN2。类似的,它可以将所有的***密钥信息中继到CDN2,以进一步解密在适当的加密容器中(在这种情况下,***解密控制消息(SDCM)1720)的经加密的内容项X。例如,当使用EG***密钥密码***时,SDCM可包括d1=(Y1,Y2)和p(见表1,对于不同的***密钥密码***的概述)。
当消费者向CPS请求内容项时,包括***密钥d2的***密钥信息被发送到CCU,并且包括***密钥d1的***密钥信息被发送到CDN2的解密模块1722,以用于将经加密的内容Xe部分解密为部分经加密的内容Xe,d1。所述解密模块可以包括处理器,其被配置成基于解密算法D和***密钥d2执行至少第二解密操作1716,以及基于解密算法D和***密钥d1执行至少第三解密操作1718。
部分经解密的内容Xe,d1可被发送到CCU的解密模块,CCU的解密模块使用***密钥d2和d3以用于将源自CDN网络的部分经解密的内容Xe,d1完全解密。因此,在本实施例中,CDN1屏蔽从CPS的所有下游CDN。这样,所述CPS,并尤其是与CPS相关联的秘密密钥生成器,只需要具有与CDN1和CCU的接口。
各种另外的实施例包括其中可以基于如参考图13-15所描述的实施例来实现CCU的***。
图18示出了根据本发明的一个实施例的在参考图17所描述的安全内容递送***中使用的协议流的示意图。在这个协议流中,内容首先被发送到CDN1,随后CDN1将内容转发到CDN2,其中内容被存储以用于进一步递送。
所述过程可开始于CS发送触发到EM(步骤1802),特别是与EM相关联的秘密密钥生成器,作为响应,EM可以基于秘密信息S而生成加密/解密对e、d(步骤1804)。SKG可以基于秘密信息S而生成包括随机***密钥d3的***密钥信息(步骤1806)。使用参考图1所描述的在线、离线或无线提供过程,CCU中的解密模块随后被提供有包括至少***密钥d3的***密钥信息(步骤1808)。在图18的示例中,***密钥d3可以在合适的加密容器中(例如,包括d3的***密钥解密消息(SDCM(d3)))以及特定实施的***密钥密码***所需的所有其他(秘密)信息(详细见表1)中经由安全信道发送给所述CCU。在提供过程之后,***密钥d3可以被存储在CCU中的DM的安全存储器中(步骤1810)。
然后在某点处,所述CS可触发加密模块EM使用加密密钥e将由内容标识符IDX所标识的内容项X加密为经加密的内容项Xe(步骤1812)。然后,所述CPS发送摄取触发至CDN1(步骤1814)以便开始由内容标识符IDX所标识的内容项X从CPS到CDN1的摄取过程。内容摄取过程可以包括发送包括内容标识符IDX的内容请求消息到CPS(步骤1816),并发送包括经加密的内容项Xe的响应消息到CDN1(步骤1818),其随后被存储在储存中(步骤1820)。
然后,在某一时刻,CDN1的CDNCF可以决定将经加密的内容Xe的分发外包给第二内容递送网络CDN2(下游CDN)(步骤1822)。为此,CDN1可以发送摄取触发至CDN2以便开始将经加密的内容Xe摄取到CDN2的过程(步骤1824)。摄取过程可以包括包含内容标识符IDX的内容请求消息(步骤1826)。在接收到所述请求的情况下,从CDN1的储存获取经加密的内容,并在响应消息中将其发送到CDN2(步骤1828),其中它被存储在储存中(步骤1830)。
图19示出了根据本发明的实施例的用于如参考图17所述的内容递送***的另外的协议流的示意图。该过程可以开始于消费者决定获取内容项IDX。为此,所述CCU可发送包括IDX和用于识别IDCCU的标识符的第一内容请求到CS(步骤1901),CS可将所述请求转发到与CS相关联的加密模块。
SKG可基于秘密信息S和d3而生成包括***密钥d1和d2的***密钥信息。此外,所述SKG可生成令牌并且将d1和d2与令牌一起存储在安全密钥数据库中(步骤1902)。包括***密钥d2的***密钥信息可以经由安全信道在***解密控制消息SDCM(d3)中被发送到CCU,其中它被存储在解密模块的安全存储器中(步骤1904)。
响应于该请求,CS还可以发送包括所述令牌和识别CDN的标识符IDCDN1的响应消息,其中所述内容项可以被存储回CUU(步骤1906)。CCU可以随后发送包含所述令牌和IDX的第二内容请求到CDN1(步骤1908),作为响应CDN1可经由CPS发送包括令牌和IDX的密钥请求消息到加密模块(步骤1910)。可以使用所述令牌获取***密钥d1(步骤1912)。
在***解密控制消息SDCM(d1)中将该***密钥发送回CDN1(步骤1914),其中,CDN1可确定所请求的内容项应该经由CDN2被递送(步骤1916)。为此,CDN2的路由请求功能可以生成包括IDX、令牌和被发送到CDN2的SDCM(d1)的请求路由消息(步骤1918)。CDN2随后选择CDN2的解密模块(CDN2DM)以用于准备将内容递送到CCU(步骤1920)。作为响应,CDN2DM可以发送其标识符IDN2-DM到CDN1(步骤1922),所述CDN1随后转发IDN2-DM和令牌到CCU(步骤2224),使得CCU能够发送包括IDX和令牌的第三内容请求到CDN2DM(步骤1926)以便触发CDN2DM将经加密的内容Xe部分解密为Xe,d1(步骤1928),并发送Xe,d1到CCU(步骤1930)。CCU中的DM然后可基于d2和d3将Xe,d1完全解密为X(步骤1932)。
因此,在参考图17-19所述的实施例中,所述CPS仅与CDN1交互,并且CDN1通过将经加密的内容和包括所述***密钥信息的请求路由消息透明转发到CDN2而将内容项的递送外包。此外,所述***允许内容项通过CDN网络的透明递送。在递送过程的各个阶段中,通知并要求所述CS采取某种动作,例如:生成和/或递送某些(***)密钥。
图20(A)和(B)示出了根据本发明的另一个实施例的安全内容分发***的示意图。特别是,图20(A)示出了CS2002,其包括与加密算法E相关联的加密模块2012和用于生成密钥信息的秘密密钥生成器2014。秘密密钥生成器2014可包括***密钥生成器2026。相同的***密钥生成器2026可被实现在CCU中的解密模块2014中,或与CCU中的解密模块2014相关联。所述解密模块可以被配置成基于解密算法D和至少第一和第二***密钥信息2020和2022来分别执行两个或更多解密操作2016和2018。在该特定实施例中,所述第一解密操作可至少基于由秘密密钥生成器2014发送到CCU的第一***密钥d12020。所述第二解密操作可至少基于由解密模块中的***密钥生成器G2024所生成的第二***密钥d22022。
CCU中的***密钥生成器G可以被配置成经由CPS中的秘密密钥生成器所生成的***密钥信令消息2028来接收外部参数。在一个实施例中,***密钥信令消息可以包括用于查找表的索引、密钥标识符和/或所生成的随机种子。可替换地和/或附加地,CCU中的***密钥生成器G可以被配置成接收一个或多个内部参数2030,诸如时间(假设CPS和CCU中的同步时钟)和/或至少秘密密钥。
因此,在该特定实施例中,分别基于与CPS相关联的密钥生成器中的和CCU中的两个***密钥生成器而生成***密钥信息的至少部分。在一个实施例中,密钥生成器可以包括(伪)随机密钥表,每一个被索引所识别。源自所述秘密密钥生成器的包括一个或多个索引的***密钥信令消息可用于生成***密钥d2
图20(B)示出了根据本发明的一个实施例的***密钥生成器G。特别是,图20(B)示出了其中在秘密密钥生成器和CCU中使用的所述***密钥生成器是基于伪随机生成器的实施例。***密钥生成器G可以包括用于生成种子N2034的种子生成器2030,所述种子N2034被输入伪随机生成器2032以用于生成特定格式的随机数N′2036。***密钥生成器还可包括算法2038,其检查所生成的随机数N′是否依从在***密钥密码***中使用的特定密码算法的所施加的条件。例如,当使用RSA***密钥密码***时,由***密钥生成器所生成的***密钥d2应当与随机整数有关,使得并且其中d2为互质。
因此,种子生成器可以基于一个或多个参数而生成种子N,所述参数包括协议参数,诸如由CS所生成的随机数、序列号、CS和CCU共有的时间基础和/或存储在CCU(并被CS已知的)中的一个或多个秘密密钥。基于种子N,可以生成随机数N,这由算法2038检查。如果所生成的随机数N′2040不依从密码算法条件,则它可以被用作新的“种子”以用于生成新的随机数N′。这个过程可继续进行,直到生成与密码算法匹配的随机数为止。然后该值被分配作为***密钥d22042。
图21示出了根据本发明的实施例的使用***密钥密码***的内容递送***的协议流的示意图。特别是,图21示出了在如图20所示的安全内容分发***中使用的协议流。在这个特定实施例中,所述过程可开始于CS发送触发(步骤2101)到SKG以便生成秘密密钥sk,并且相关联的已识别的IDsk被存储在安全密钥数据库与SKG中。另外,然后CCU的解密模块可以被提供有秘密密钥和标识符(步骤2104),并且其被存储在解密模块的安全存储器中(步骤2105)。合适的提供过程包括参照图1所描述的那些。
然后,当消费者已经购买了内容项IDX时,消费者的CCU中的客户端可发送内容请求到CPS(步骤2112),CCU可以发送包含内容项目标识符IDX的内容请求到CS(步骤2106)。所述内容请求可以包括与视频标题和关联于客户端的位置信息(例如IP地址)相关联的内容标识符IDX。作为响应,所述CS可以调用SKG以生成并存储与所请求的由标识符IDX所识别的内容项X相关联的秘密密钥信息S以及加密和解密密钥e、d(步骤2108)。
此外,SKG可以随后基于IDsk选择秘密密钥sk,并且使用所述sk以及可选地如参考图20所描述的其它参数作为***密钥生成器的输入,所述***密钥生成器随后生成包括***密钥d2的***密钥信息,其随后与其他的密钥信息一起被存储在安全密钥数据库中(步骤2110)。基于秘密信息S、***密钥d2以及d而生成包括***密钥d1的另外的***密钥信息(步骤2112),并经由安全信道(例如,经由提供端点认证和消息加密的密钥分发网络)在***解密控制消息中将其发送到CCU的解密模块,其中,所述消息还包括秘密密钥标识符IDsk(步骤2114)。所述解密模块可以基于标识符IDsk而获取所述秘密密钥sk,并且使用秘密密钥以及可选地其他参数作为***密钥生成器的种子,以便生成包括d2的***密钥信息(步骤2116),其随后连同d1一起存储在解密模块的安全存储器中(步骤2118)。
此后,或者与步骤2110-2118之一并行,可以使用加密密钥e将明文内容项X加密为经加密的内容项Xe(步骤2120)。随后将经加密的内容项发送到CCU的DM(步骤2122),其使用***解密密钥d1将Xe部分解密为Xe,d1,并随后使用***解密密钥d2将Xe,d1部分地解密为完全经解密的内容项X(步骤2124、2126)。
应当理解的是,关于任何一个实施例描述的任何特征可以单独使用,或与所描述的其他特征组合,并且还可以与任何其他的实施例或任何其它实施例的任何组合的一个或多个特征组合地使用。本发明的一个实施例可以被实现为用于与计算机***一起使用的程序产品。该程序产品的一个或多个程序定义实施例的功能(包括本文所描述的方法),并且可以包含在各种计算机可读存储介质上。说明性的计算机可读存储介质包括但不限于:(i)信息在其上永久存储的不可写存储介质(例如,计算机内的只读存储器设备,诸如CD-ROM驱动器可读的CD-ROM盘、闪速存储器、ROM芯片或任何类型的固态非易失性半导体存储器);及(ii)其上存储有可变信息的可写存储介质(例如,在软盘驱动器内的软盘或硬盘驱动器或任何类型的固态随机存取半导体存储器)。本发明并不限于上述实施例,其可以在所附权利要求的范围内变化。

Claims (17)

1.用于实现将内容项从内容源安全递送到内容接收设备的方法,所述内容接收设备与解密模块相关联,所述解密模块被配置用于与***密钥密码***一起使用,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;
所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2,所述方法包括:
向所述解密模块提供包括至少第一***密钥的第一***密钥信息;
基于所述第一***密钥信息、所述解密密钥d以及可选地所述秘密信息S而生成包括至少第二***密钥的第二***密钥信息;以及,
向所述解密模块提供所述至少第二***密钥信息,以用于基于所述解密模块中的所述第一和第二***密钥信息和解密算法D而对经加密的内容项Xe进行解密。
2.根据权利要求1所述的方法,其中,所述内容源与以下各项相关联,包括至少一个加密算法E的加密模块;以及秘密密钥生成器,所述秘密密钥生成器包括所述密码算法和***密钥算法,以用于分别生成用于解密内容项的加密密钥信息以及所述至少第一和第二***密钥信息。
3.根据权利要求2所述的方法,包括:
所述加密模块从所述秘密密钥生成器接收加密信息;
所述加密模块基于所述加密密钥信息而生成至少一个经加密的内容项Xe
4.根据权利要求1-3中任一项所述的方法,其中,使用不同的***密钥信息提供方法向所述解密模块提供所述第一和第二***密钥信息,或者其中分别在第一时间点和第二时间点处向所述解密模块提供所述第一和第二***密钥信息,优选地,所述第一时间点是其中所述解密模块被制造、销售或分发给用户或注册的时间,并且优选地,所述第二时间点是所述内容接收设备将内容请求传送到所述内容源的时间。
5.根据权利要求1-4中任一项所述的方法,其中,提供所述第一***密钥信息包括:
在所述解密模块的制造或分发期间,在所述解密模块中提供所述第一***密钥信息;
或者,其中提供所述第一***密钥信息包括:
在所述内容源,优选地与所述内容源相关联的秘密密钥生成器,以及所述解密模块之间建立安全信道;以及,
经由所述安全信道,向所述解密模块发送所述至少第一***密钥信息,优选地,所述安全信道在所述内容接收设备向所述内容源的认证或注册过程期间被建立;
或者,其中提供所述第一***密钥信息包括:
将所述至少第一***密钥信息嵌入到安全硬件模块中,优选地,包括所述解密模块的智能卡;
或者,其中提供所述第一***密钥信息包括:
指示所述解密模块中的第一***密钥生成器以用于生成第一***密钥信息,优选地,所述第一***密钥生成器被源自所述内容源的信令消息或者被所述内容源和所述解密模块共有的公共信令消息所指示,优选地,所述公共信令消息包括与在所述内容源和所述解密模块之间共享的时钟相关联的时间。
6.根据权利要求1-5中任一项所述的方法,其中,提供所述第二***密钥信息包括优选地通过安全信道,向所述解密模块传送所述第二***密钥信息,或者将所述至少第二***密钥信息记录到记录介质上。
7.根据权利要求3-6中任一项所述的方法,包括:
所述解密模块接收所述经加密的内容项Xe;以及
基于所述第一***密钥信息而将所述经加密的内容项的至少部分解密为部分经解密的内容项;以及,
基于所述至少第二***密钥信息而将所述部分经解密的内容项解密为明文内容项。
8.根据权利要求1-7中任一项所述的方法,包括:
向至少一个内容递送网络(CDN)或CDN的网络提供至少一个经加密的内容项;
基于所述第一和第二***密钥信息、所述解密密钥d以及可选地所述秘密信息S而生成第三***密钥信息;
向与所述CDN或CDN的网络相关联的至少一个解密模块提供所述第三***密钥信息;
基于所述经加密的内容项、所述CDN中的解密算法D以及所述第三***密钥信息而生成部分经解密的内容项;以及
将所述部分经解密的内容项传送到所述内容接收设备。
9.根据权利要求1-8中任一项所述的方法,其中,所述至少第一***密钥信息包括多个第一***密钥和相关联的第一***密钥标识符,优选地,所述多个第一***密钥包括一个或多个地理特定***密钥,其对特定的地理区域有效;硬件特定***密钥,其对特定的硬件设备或硬件设备组有效;内容特定***密钥,其对预定内容项或内容项组有效;和/或用户特定***密钥,其对特定的用户或用户组有效。
10.根据权利要求9所述的方法,包括:
向所述解密模块提供用于选择一个多个***密钥的信息,优选地,所述信息包括一个或多个第一密钥标识符;
优选地,基于所述一个或多个第一密钥标识符而从所述多个第一***密钥中选择一个或多个第一***密钥。
11.根据权利要求5所述的方法,其中,
在指示所述解密模块中的第一***密钥生成器的情况下,所述内容接收设备中的所述第一***密钥生成器包括伪随机生成器,所述方法包括:
所述***密钥生成器接收用于生成用于所述伪随机生成器的种子的信息;
生成伪随机值;
检查所述伪随机值是否依从由所述***密钥密码***所施加的一个或多个条件,以用于***密钥信息。
12.用于实现将内容项X从内容源安全递送到内容接收设备的***,所述***被配置用于与***密钥密码***一起使用,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;
所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk而在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2;
所述***包括:
与内容源相关联的加密模块,所述加密模块包括用于生成经加密的内容项Xe的所述加密算法E;
与所述加密模块相关联的密钥生成器,其包括所述密码算法和所述***密钥算法;以及,
包括所述解密算法D的解密模块,所述解密模块与所述内容接收设备相关联,并被配置用于基于至少第一和第二***密钥信息和所述解密算法D而对经加密的内容项进行解密。
13.用在根据权利要求12所述的***中的密钥生成器,包括:
密码生成器,用于基于秘密信息S而生成解密密钥d和/或加密密钥e;
***密钥生成器,其包括用于分别生成一个或多个随机***加密密钥和/或一个或多个随机***解密密钥的伪随机生成器;和另外的***密钥算法,用于基于所述随机***加密密钥和所述加密密钥e而确定另外的***加密密钥,或基于所述随机***解密密钥和所述解密密钥d而确定另外的***解密密钥。
14.根据权利要求13所述的密钥生成器,其中,所述加密和解密算法E、D和所述密码算法都是基于EIGamal算法,并且其中用于生成k个***密钥的所述***密钥算法被定义为:
-所述随机生成器被配置成选择小于p的k-1个随机整数d1...dk-1
-将最终整数计算为dk=d-(d1+...+dk-1)(mod p).。
或者,其中所述加密和解密算法都是基于Damgard-Jurik方案E、D,并且其中用于生成k个***密钥的所述***密钥算法被定义为:
-确定小于n的n-1个随机整数d1,...,dn-1
-计算dk=d-(d1+...+dn-1)(mod n).。
或者,其中所述加密和解密算法E、D都是基于一次填充方案,并且其中用于生成k个***密钥的所述***密钥算法被定义为:
-确定k-1个随机二进制流d1...dk-1
-计算 d k = d 1 ⊕ . . . ⊕ d k - 1 ⊕ e . .
或者,其中所述加密和解密算法E、D都是基于RSA方案,并且其中用于生成k个***密钥的所述***密钥算法被定义为:
-确定与互质的k-1个随机整数d1,...,dk-1
-计算
15.一种在内容接收设备中使用或与内容接收设备相关联的解密模块,所述解密模块被进一步配置用于与***密钥密码***一起使用,所述***密钥密码***包括加密算法E和解密算法D、用于基于秘密信息S而生成加密密钥和解密密钥e、d的密码算法以及用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2;
所述解密模块包括:
用于接收经加密的内容的输入,使用至少一个加密密钥和加密算法E而加密所述内容;
安全储存,用于存储所提供的第一***密钥信息;
用于被提供有第二***密钥信息的输入;
至少一个处理器,用于使用所述第二***密钥信息和解密算法D执行至少第一解密操作,以及用于使用所述所提供的第一***密钥信息和解密算法D执行至少第二解密操作。
16.一种记录介质,其包括包含与使用加密算法E和至少加密密钥或***加密密钥对其进行加密的内容项相关联的数据的记录区域,以及包含与至少一个***解密密钥相关联的数据的记录区域,所述***解密密钥用于使用解密算法D部分解密所述经加密的内容项,所述加密和解密算法E、D是***密钥密码***的部分,所述***密钥密码***包括加密和解密算法E和D、用于基于秘密信息S而生成加密和解密密钥e、d的密码算法以及用于分别将e***为i个不同的***加密密钥e1,e2,...,ei和/或用于将d***为k个不同的***解密密钥d1,d2,...,dk的***密钥算法;所述***密钥密码***进一步被定义在于分别应用E和***加密密钥e1,e2,...,ei以及应用D和***解密密钥d1,d2,...,dk在内容项X上执行多个连续的加密和解密操作,符合Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X,其中i,k≥1且i+k>2。
17.一种包括软件代码部分的计算机程序产品,所述软件代码部分被配置用于,当在计算机的存储器上运行时,执行根据权利要求1-11中的任一项所述的方法步骤。
CN201280052174.1A 2011-10-24 2012-10-24 内容的安全分发 Pending CN104040939A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11186388 2011-10-24
EP11186388.2 2011-10-24
PCT/EP2012/070995 WO2013060695A1 (en) 2011-10-24 2012-10-24 Secure distribution of content

Publications (1)

Publication Number Publication Date
CN104040939A true CN104040939A (zh) 2014-09-10

Family

ID=47049180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280052174.1A Pending CN104040939A (zh) 2011-10-24 2012-10-24 内容的安全分发

Country Status (7)

Country Link
US (1) US20140310527A1 (zh)
EP (1) EP2772004A1 (zh)
JP (1) JP2014535199A (zh)
KR (1) KR101620246B1 (zh)
CN (1) CN104040939A (zh)
HK (1) HK1201658A1 (zh)
WO (1) WO2013060695A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603243A (zh) * 2016-04-08 2017-04-26 数安时代科技股份有限公司 数字签名的私钥处理方法和***
CN106797309A (zh) * 2014-10-15 2017-05-31 美国唯美安视国际有限公司 使用密钥贡献保护回放设备中与控制模块的通信
CN108600276A (zh) * 2018-05-30 2018-09-28 常熟理工学院 一种安全高效的物联网实现方法
CN111587557A (zh) * 2017-12-11 2020-08-25 空客防务和空间简易股份有限公司 安全通信方法
CN114785778A (zh) * 2022-03-10 2022-07-22 聚好看科技股份有限公司 网关设备和内容分发方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350539B2 (en) * 2011-09-23 2016-05-24 Koninklijke Kpn N.V. Secure distribution of content
US9749384B2 (en) * 2012-10-24 2017-08-29 Panasonic Intellectual Property Management Co., Ltd. Communication system, reception terminal, transmission terminal, and flow rate control method
WO2014113193A1 (en) * 2013-01-17 2014-07-24 Intel IP Corporation Dash-aware network application function (d-naf)
US9197422B2 (en) * 2013-01-24 2015-11-24 Raytheon Company System and method for differential encryption
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US11282139B1 (en) 2013-06-28 2022-03-22 Gemini Ip, Llc Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet
US10068228B1 (en) * 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US10269009B1 (en) 2013-06-28 2019-04-23 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US9773117B2 (en) 2014-06-04 2017-09-26 Microsoft Technology Licensing, Llc Dissolvable protection of candidate sensitive data items
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10013363B2 (en) * 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
SG10201907538SA (en) * 2015-02-17 2019-09-27 Visa Int Service Ass Cloud encryption key broker apparatuses, methods and systems
US10158480B1 (en) 2015-03-16 2018-12-18 Winklevoss Ip, Llc Autonomous devices
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US10341381B2 (en) * 2015-04-29 2019-07-02 Entit Software Llc Inhibiting electromagnetic field-based eavesdropping
US9906505B2 (en) * 2015-05-08 2018-02-27 Nxp B.V. RSA decryption using multiplicative secret sharing
US10558996B2 (en) * 2015-06-09 2020-02-11 Fidelity National Information Services, Llc Methods and systems for regulating operation of units using encryption techniques associated with a blockchain
US9660803B2 (en) * 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
US10411900B2 (en) * 2016-07-12 2019-09-10 Electronics And Telecommunications Research Institute Control word protection method for conditional access system
JP2018029268A (ja) * 2016-08-18 2018-02-22 三菱電機株式会社 暗号システム、暗号装置、暗号プログラム及び暗号方法
US10078493B2 (en) * 2016-10-10 2018-09-18 International Business Machines Corporation Secured pseudo-random number generator
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
CN108092761B (zh) * 2016-11-22 2021-06-11 广东亿迅科技有限公司 一种基于rsa和3des的密钥管理方法及***
CN107707514B (zh) 2017-02-08 2018-08-21 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及***及装置
EP3379769A1 (en) * 2017-03-21 2018-09-26 Gemalto Sa Method of rsa signature or decryption protected using multiplicative splitting of an asymmetric exponent
WO2019099456A1 (en) * 2017-11-14 2019-05-23 Icrypto, Inc. System and method for securely activating a mobile device and storing an encryption key
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US11522700B1 (en) 2018-02-12 2022-12-06 Gemini Ip, Llc Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US11139955B1 (en) 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10929842B1 (en) 2018-03-05 2021-02-23 Winklevoss Ip, Llc System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11334883B1 (en) 2018-03-05 2022-05-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US10826694B2 (en) * 2018-04-23 2020-11-03 International Business Machines Corporation Method for leakage-resilient distributed function evaluation with CPU-enclaves
WO2020076720A1 (en) * 2018-10-12 2020-04-16 Medici Ventures, Inc. Doubly-encrypted secret parts allowing for assembly of a secret using a subset of the doubly-encrypted secret parts
WO2020166879A1 (en) 2019-02-15 2020-08-20 Crypto Lab Inc. Apparatus for performing threshold design on secret key and method thereof
KR102289667B1 (ko) * 2019-04-08 2021-08-17 주식회사 포멀웍스 디지털 제품 유통 방법 및 디지털 제품 유통 시스템
US11509459B2 (en) * 2019-05-10 2022-11-22 Conduent Business Services, Llc Secure and robust decentralized ledger based data management
US11501370B1 (en) 2019-06-17 2022-11-15 Gemini Ip, Llc Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange
CN110365490B (zh) * 2019-07-25 2022-06-21 中国工程物理研究院电子工程研究所 一种基于令牌加密认证的信息***集成安全策略方法
US11704390B2 (en) * 2019-10-10 2023-07-18 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a query
US10873852B1 (en) 2020-04-10 2020-12-22 Avila Technology, LLC POOFster: a secure mobile text message and object sharing application, system, and method for same
US11151229B1 (en) 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
US11314876B2 (en) 2020-05-28 2022-04-26 Bank Of America Corporation System and method for managing built-in security for content distribution
KR102428601B1 (ko) * 2020-08-27 2022-08-02 에스케이 주식회사 블록체인 플랫폼 기반의 콘텐츠 암호키를 이용한 디지털 콘텐츠 거래 방법
US11875039B2 (en) * 2021-11-30 2024-01-16 Micron Technology, Inc. Temperature-based scrambling for error control in memory systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0898396B1 (en) * 1997-08-20 2006-11-22 Canon Kabushiki Kaisha Electronic watermark system, electronic information distribution system, and image filing apparatus
US7079653B2 (en) * 1998-02-13 2006-07-18 Tecsec, Inc. Cryptographic key split binding process and apparatus
AU2002241514A1 (en) * 2000-11-27 2002-06-18 Certia, Inc. Systems and methods for communicating in a business environment
US7257844B2 (en) * 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
EP1574960A4 (en) * 2002-12-06 2008-11-19 Sony Corp RECORDING / REPRODUCING DEVICE, DATA PROCESSING DEVICE, AND RECORDING / REPLAYING SYSTEM
JP2004363955A (ja) * 2003-06-04 2004-12-24 Nippon Hoso Kyokai <Nhk> コンテンツ配信方法、コンテンツ配信システム及びそのプログラム並びにコンテンツ復号方法、コンテンツ復号装置及びそのプログラム
US7690026B2 (en) * 2005-08-22 2010-03-30 Microsoft Corporation Distributed single sign-on service
US8656175B2 (en) * 2005-10-31 2014-02-18 Panasonic Corporation Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
US8050407B2 (en) * 2006-04-12 2011-11-01 Oracle America, Inc. Method and system for protecting keys
US7734045B2 (en) * 2006-05-05 2010-06-08 Tricipher, Inc. Multifactor split asymmetric crypto-key with persistent key security
US20090204656A1 (en) * 2008-02-13 2009-08-13 Infineon Technologies Ag Pseudo random number generator and method for generating a pseudo random number bit sequence
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word
US8892881B2 (en) * 2009-03-03 2014-11-18 The Governing Council Of The University Of Toronto Split key secure access system
CA2767368C (en) * 2009-08-14 2013-10-08 Azuki Systems, Inc. Method and system for unified mobile content protection

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797309A (zh) * 2014-10-15 2017-05-31 美国唯美安视国际有限公司 使用密钥贡献保护回放设备中与控制模块的通信
CN106797309B (zh) * 2014-10-15 2021-01-29 美国唯美安视国际有限公司 保护回放设备中与控制模块的通信的方法和***
CN106603243A (zh) * 2016-04-08 2017-04-26 数安时代科技股份有限公司 数字签名的私钥处理方法和***
CN106789080A (zh) * 2016-04-08 2017-05-31 数安时代科技股份有限公司 数字签名生成方法和***
CN106789080B (zh) * 2016-04-08 2020-05-15 数安时代科技股份有限公司 数字签名生成方法和装置
CN106603243B (zh) * 2016-04-08 2020-06-16 数安时代科技股份有限公司 数字签名的私钥处理方法和装置
CN111587557A (zh) * 2017-12-11 2020-08-25 空客防务和空间简易股份有限公司 安全通信方法
CN111587557B (zh) * 2017-12-11 2024-05-28 空客防务和空间简易股份有限公司 安全通信方法
CN108600276A (zh) * 2018-05-30 2018-09-28 常熟理工学院 一种安全高效的物联网实现方法
CN108600276B (zh) * 2018-05-30 2020-08-25 常熟理工学院 一种安全高效的物联网实现方法
CN114785778A (zh) * 2022-03-10 2022-07-22 聚好看科技股份有限公司 网关设备和内容分发方法
CN114785778B (zh) * 2022-03-10 2023-09-01 聚好看科技股份有限公司 网关设备和内容分发方法

Also Published As

Publication number Publication date
KR101620246B1 (ko) 2016-05-23
KR20140072188A (ko) 2014-06-12
EP2772004A1 (en) 2014-09-03
WO2013060695A1 (en) 2013-05-02
HK1201658A1 (zh) 2015-09-04
JP2014535199A (ja) 2014-12-25
US20140310527A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
CN104040939A (zh) 内容的安全分发
US9350539B2 (en) Secure distribution of content
CA2808369C (en) System for protecting an encrypted information unit
CN104221023B (zh) 用于数字权利管理的方法、装置和***
US20060165233A1 (en) Methods and apparatuses for distributing system secret parameter group and encrypted intermediate key group for generating content encryption and decryption deys
CN109729041B (zh) 一种加密内容的发布以及获取方法及装置
US20200404392A1 (en) Secure provisioning, by a client device, cryptographic keys for exploiting services provided by an operator
CN111371790B (zh) 基于联盟链的数据加密发送方法、相关方法、装置和***
Swathy et al. Providing advanced security mechanism for scalable data sharing in cloud storage
US8879739B2 (en) Method, system and device for securely transferring digital content between electronic devices within a communication network managed by a management center
US20150326395A1 (en) Method for setting up a secure connection between clients
CN107370595A (zh) 一种基于细粒度的密文访问控制方法
CN104365127B (zh) 用于在远程显示单元上追踪移动设备的方法
EP2647213B1 (en) System and method to record encrypted content with access conditions
CN102316378A (zh) 基于机顶盒的数字版权保护方法及***
CN107070856A (zh) 复合地应用了加密的加密/解密速度改善方法
CN109151507A (zh) 视频播放***及方法
CN101160965B (zh) 实现网络电视节目预览的方法、加密装置、版权中心***和用户终端设备
KR102298266B1 (ko) 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템
CN109819323A (zh) 一种混合云***中的视频内容访问方法
US20090238368A1 (en) Key distribution system
US20220171832A1 (en) Scalable key management for encrypting digital rights management authorization tokens
CN102917252B (zh) Iptv节目流内容保护***及方法
CN101204037A (zh) 用于有效加密与解密drm权利对象的***和方法
CN1981477A (zh) 用于提供数字证书功能的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1201658

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140910

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1201658

Country of ref document: HK