(VOD)和按次付费(PPV)。在许多实施例中,资产ID、内容类型、许可证密钥和到期时间由重放设备作为获得流式传输内容的权限的分离的过程的一部分获得。然后,重放设备可以与标识内容内的重放位置的信息结合地提供此信息。
[0066]根据本发明的实施例,在生成推导的密钥中可以被输入到推导算法中的其他信息可包括密钥标识符和/或推导算法标识符。密钥标识符唯一地标识内容密钥。如上文进一步地讨论的,一段内容可以与用来生成用于加密内容的推导的密钥的多个内容密钥相关联。每个内容密钥都可以与该段内容的特定部分相关联,其中该部分包括重放位置的范围。内容密钥的检索可以利用重放位置的相关联的范围中的重放位置。如上文进一步地讨论的,特定内容密钥也可以与该段内容内的内容密钥起始位置相关联,以便内容密钥起始位置可以被用来检索内容密钥。检索还可以可替代地利用内容密钥的密钥标识符。当资产ID标识一段内容时,可以使用密钥标识符将与一段内容相关联的一个内容密钥与和该段内容相关联的另一个内容密钥区分开。在一些实施例中,一段内容的资产ID与该段内容内的重放位置或内容密钥起始位置一起组合形成与该重放位置处的该段内容相关联的内容密钥的密钥标识符。如下面将进一步讨论的,根据本发明的实施例,可以有任意数量的使用这里所讨论的多段信息中的任意一段信息来生成推导的密钥的不同的推导算法。进一步可以使用适当的推导算法的标识,以通过通知那些经授权的设备要使用哪个推导算法,来强加关于可以使哪些具体的流式传输服务器、CA服务器和/或重放设备能够生成有效的推导的密钥的权限。本领域技术人员将认识到,可以根据适合于具体应用的要求,在生成推导的密钥中组合上文所讨论的多段信息的任意子集或所有多段信息。
[0067]CA服务器可以利用资产ID和可选地利用重放位置(和/或内容密钥起始位置)来标识适当的内容密钥。单段内容的加密可以涉及使用多个内容密钥(每个内容密钥都与内容的可以对应于内容密钥区间的不同部分相关联)来播种用于生成推导的密钥的过程。图5概念地示出了根据本发明的实施例的正在进行的使用内容密钥的序列来生成推导的密钥以允许内容重放,其中每个内容密钥对于预定的重放区间有效。在多个实施例中,重放区间是应用于不同段内容的预定的时间段。在一些实施例中,重放区间可以特定于特定段内容,诸如具有相当于该段内容的运行时间或长度的区间。在进一步的实施例中,流式传输和/或实时地实况播放一段内容,并且在它开始流式传输时确定与内容相关联的内容密钥的重放区间。
[0068]当标识正确的内容密钥时,内容密钥随后可以与由重放设备所提供的信息结合地被利用,作为向所示出的过程的输入以生成推导的密钥。过程本身可以利用各种密码过程中的任意一种,包括(但不限于)使用密码哈希函数来生成推导的密钥。用于代表输入数据和/或代表推导的密钥的比特的数量越大,对用来从内容密钥生成推导的密钥的确定性过程进行反向工程在密码上就越不可行。本领域技术人员将认识到,根据本发明的实施例,根据适合于具体应用的要求,在确定性过程中可以按任意顺序使用各种函数或算法来组合作为输入选择的多段信息中的任意一段。例如,可以利用哈希函数将两个输入结合,利用哈希函数将其结果与第三输入组合,依此类推。
[0069]在本发明的一些实施例中,对确定性过程生成推导的密钥的额外的输入参数是所使用的推导算法的标识符(即,定义确定性过程的算法)。密钥管理CA服务器和相关联的CA服务器可以能够使用各种推导算法来生成推导的密钥(虽然它们可以一次只利用一个或可以不一次只利用一个)。如下面将进一步讨论的,特定CA服务器可以相对于一些内容或所有内容撤销其权限。排除被撤销的CA服务器访问未来的内容的过程可包括向剩余的经过授权的CA服务器提供新的推导算法和/或标识要在生成推导的密钥中使用的不同的推导算法。
[0070]在本发明的一些实施例中,存储推导的密钥以用于未来参考。在其他实施例中,一旦推导的密钥被发送到请求设备或服务器,就将它从存储器中删除。由于在给出相同输入的情况下,确定性过程可以被用来生成完全相同的推导的密钥,因此在必要时可以简单地重新生成推导的密钥而非保存推导的密钥。
[0071]虽然上文参考图4描述了包括具体输入的用于生成推导的密钥的过程,但是根据本发明的实施例,可以利用适合于具体应用的要求的接收输入的组合的各种过程中的任意一种。
[0072]重放设备内的包括同步的密钥生成的CA系统
[0073]虽然上述讨论的大部分涉及CA服务器之间的同步的密钥生成,但是也可以使用同步的密钥推导来减少重放设备和CA服务器之间的密钥请求的数量。图6中示出了根据本发明的实施例的条件访问(CA)系统,包括跨多个CA服务器和重放设备的同步的密钥生成。CA系统70类似于图1中所示出的CA系统10,不同之处在于重放设备12包括可以被用来使用由CA服务器18提供的一个或多个内容密钥来生成推导的密钥的安全硬件或安全软件或组合。重放设备12可以利用与上文所概述的那些过程类似的过程来生成推导的密钥。重放设备12生成推导的密钥的能力可以减少重放设备12和CA系统之间的密钥请求的数量。在各种实施例中,重放设备可以直接从密钥管理CA服务器16请求内容密钥,并消除对分层的CA服务器18的需求。在多个实施例中,根据本发明的实施例,能够生成推导的密钥的重放设备可以被实现为如图2中所示的并在上文关于图2进一步地讨论的计算设备。
[0074]虽然上文参考图6描述了其中重放设备可以生成推导的密钥的具体的CA系统,但是可以构建其中重放设备能够根据本发明的实施例生成推导的密钥的各种CA系统中的任意一种。
[0075]CA服务器的认证和违反恢复
[0076]上面的讨论的大部分,如在许多数字权限管理系统中那样,假定在参与的机器之间有一定程度的信任。在本发明的许多实施例中,在给CA服务器提供任何内容密钥之前,CA服务器可能被要求向密钥管理CA服务器注册。注册可能要求认证(例如,经由SSL证书或其他受信任的标识)和对于CA服务器可以访问用于进一步的分发的多段内容和/或内容的类型的赋权检查。可以授权CA服务器只接收针对它被赋权的内容的内容密钥。在本发明的许多实施例中,用于CA服务器的注册的过程可包括密钥管理CA服务器给CA服务器提供许可证密钥和/或用于从内容密钥生成推导的密钥的推导算法。
[0077]如果CA服务器被损害,则密钥管理CA服务器系统可以向CA服务器发送警告或其他消息(并可能排除损害的服务器),密钥推导算法将被改变。然后,CA服务器可能被要求向密钥管理CA服务器重新认证以接收新的密钥推导算法。类似地,可以将新的许可证密钥分发给排除了损害的CA服务器的CA服务器的子集。如上文进一步地讨论的,可以分发许可证密钥,并将许可证密钥作为向密钥推导算法的输入在保护内容中使用。
[0078]用于给流式传输服务器提供用于加密内容的推导的密钥的过程
[0079]在本发明的许多实施例中,流式传输服务器使用推导算法(诸如上文进一步地讨论的那些算法)从内容密钥生成至少一个推导的密钥,并将推导的密钥用于内容加密。图7中示出了根据本发明的实施例的用于由流式传输服务器生成推导的密钥并利用推导的密钥来加密内容的过程。
[0080]在所示出的过程中,流式传输服务器从密钥管理CA服务器请求(702)内容密钥。在进一步的实施例中,流式传输服务器按照每个内容密钥区间一次地请求内容密钥。流式传输服务器可以将内容密钥存储在存储器中,以便它可以使用内容密钥在内容密钥区间内生成推导的密钥,而不需要发送进一步的请求。对内容密钥的请求可至少包括指定一段内容的资产标识符(ID),并且可选地包括重放位置和/或内容密钥起始位置(或其他密钥标识符)。在一些实施例中,可以利用使用不同的内容密钥生成的推导的密钥来加密一段内容的不同的部分。流式传输服务器可以在执行加密之前或之后通知密钥管理CA服务器哪个内容密钥打算加密内容的哪个部分,或者可替代地,密钥管理CA服务器可以通知流式传输服务器使用哪个内容密钥来加密内容的哪个部分。在多个实施例中,密钥管理CA服务器最初没有内容密钥,并由流式传输服务器向其提供内容密钥。
[0081]在多个实施例中,流式传输服务器按照每个内容密钥区间一次地从密钥管理CA服务器请求新的内容密钥。利用请求的内容密钥,流式传输服务器可以生成利用其来加密内容的一个或多个推导的密钥,而无需发送对内容密钥的额外的请求。如上文进一步地讨论的,可以在适合于具体应用的各种准则中的任意一种下确定内容密钥区间,诸如但不限于,内容密钥有效和/或内容密钥由流式传输服务器或密钥管理CA服务器在生成用于加密内容的推导的密钥中使用的时间段。在一些实施例中,可以在一段内容的重放持续时间的环境内定义内容密钥区间(例如,从该段内容的开始到内容的呈现达300秒,从该段内容开始300秒到从该段内容开始600秒)ο在其他实施例中,可以实时地定义内容密钥区间(例如,2014年10月31日12AM到2014年11月I日12AM,UTC)。在许多实施例中,一段内容内的每个内容密钥区间的开始可被称为内容密钥起始位置。类似于重放位置,可以按各种方式(包括但不限于,从内容文件的开始的字节偏移、自从该段内容的开始的秒数、或绝对时间(例如,对于实况实时内容))来定义内容密钥起始位置。本领域技术人员将认识到,用于定义一段内容或包含一段内容的文件(或文件组)内的位置的替代的度量可以用于本发明的实施例,包括本领域中已知的其它度量。
[0082]密钥管理CA服务器接收(704)请求,并从存储器中检索与资产标识符(如果接收至IJ,还有重放位置或内容密钥起始位置)相关联的内容密钥。如果适当的内容密钥未存储在存储器中,则密钥管理CA服务器可以生成新的内容密钥,并将它存储在存储器中。密钥管理CA服务器向流式传输服务器发送(706)内容密钥。流式传输服务器使用内容密钥,并且可选地使用其他信息(诸如上文进一步描述的推导算法中的输入)生成(708)至少一个推导的密钥。流式传输服务器使用推导的密钥来加密(710) —段内容的至少一部分。可以生成额外的推导的密钥,并使用额外的推导的密钥来加密内容的额外的部分。然后,流式传输服务器可以将加密的内容发送(712)给重放设备或存储经加密的内容用于未来使用。
[0083]在多个实施例中,每个推导的密钥都在被称为推导的密钥区间的内容的重放时间的持续时间和/或一段时间内用来加密内容。可以通过适合于具体应用的各种准则中的任意一种确定推导的密钥区间,诸如但不限于,推导的密钥有效和/或推导的密钥由流式传输服务器或密钥管理CA服务器在加密内容或使用特定推导的密钥加密的该段内容的一部分的时间段(例如,以时间或字节度量)。在