限制接入传送的节目内容的密码方法及装置的制作方法

文档序号:2389231阅读:261来源:国知局
专利名称:限制接入传送的节目内容的密码方法及装置的制作方法
技术领域
本发明一般涉及一种限制接入传送的节目内容的系统,尤其是涉及一种传送与机顶终端所使用的节目识别符一起的加密节目的系统,前述节目识别符与存储的授权信息一起来得到解密节目所必需的解密密钥。
随着电视收看者可利用频道数目的增加,以及这些频道上可利用的节目内容的分集的增加,对于诸如有线电视运营商以及数字卫星业务运营商的服务提供商来说,提供满足大多数电视收看人群的频道和节目的节目包已经日益变得复杂。可以提供给用户的节目包的开发一般具有销售的功能。一般来说,服务提供商需要提供各种规模的节目包,从单个节目到所有节目以及它们之间的各种组合。
服务提供商一般从通常被称为“前端设备”的发射机向大量的用户广播电视节目。每个用户一般仅被授权一个与购买的节目包相关的接收节目子集。例如在无线广播环境中,所传送的节目可以被具有适当接收机的任何人所接收,前述接收机诸如天线或卫星抛物面天线。因而,为了把传送的节目局限于已经购买所需要节目包的特许用户,服务提供商一般将所传送的节目加密,并且向用户提供包含一个或多个解密密钥的机顶终端(STT),前述解密密钥可以用来解密用户被授权的节目。在这种方式中,机顶终端接收加密的传输,并且解密用户被授权的节目,但不能解密别的节目。
为了使存储于机顶终端的包括存储的解密密钥的高度机密信息的非法接入降到最低,机顶终端一般包括安全处理器以及安全存储器来存储解密密钥,前述安全存储器一般具有相当于若干千比特的容量。安全存储器一般为非易失性的,并且抗窜改。此外,安全存储器优选是可写的,以便可以根据需要任意重新编程密钥,例如对于每个计费周期。常规机顶终端的受限制的安全存储器容量限制可以被存储的密钥的数量,并且由此限制可以由服务提供商提供的节目包的数量。值得注意的是,在按月计费周期期间一般由服务提供商广播的节目的数量可以大约为200000个。
在一种变化中,常规的机顶终端包括一个具有位入口的位矢量,该位入口对应于由服务提供商所提供的节目的每个节目包。如果一个特定用户被授权给一个节目包,存储在机顶终端的位矢量中的对应位入口被设置为1。此后,所有由服务提供商传送的节目被用单个密钥加密。在接收给定的节目时,机顶终端接入该位矢量以确定是否已经设置了对应的位入口。如果已经设置该位入口,则该机顶终端利用单个存储的解密密钥来解密该节目。尽管理论上在该位矢量方案中通过提供每个节目包的位入口来实现灵活性,但位矢量的长度在单个计费周期传送许多节目的系统中将会不实用。此外,这种系统中的接入控制由该位矢量中的入口唯一地提供,并且不是加密的。因而,如果一个用户能够修改位入口,并且将所有位设置为1,那么该用户可以接入所有的节目。
在进一步的变化中,节目被分成节目包,并且给定节目包中的所有节目利用相同的密钥来加密。而且,每个节目包一般对应于一个电视频道。机顶终端存储一个用于每个用户被授权的节目包的解密密钥。因而,如果一个节目被包括在多个节目包中,则该节目必须与用对应于特定节目包的加密密钥加密的每个传输一起,向每个相关的节目包重新传送。尽管该接入控制是加密的,但与重新传送给定节目若干次相关的额外开销阻止了服务提供商在多个节目包中设置相同的节目,从而限制了设计节目的节目包时的灵活性。
尽管前面用于加密及传送节目内容的系统在将接入局限在特许用户上已经相对地成功,但这些系统不允许诸如电视网络的服务提供商向用户提供包括各种节目数量的多个不同的节目包,而不会超出机顶终端安全存储器容量的限制或者明显地增加额外开销。在1997年8月15日申请,并且转让给本发明受让人的顺序号为08/912186的美国专利申请在下文被称作“V形空间系统该申请公开了一种用于限制接入传送的节目内容的密码方法和装置。
V形空间系统的每个节目在传输之前被前端设备服务器利用节目密钥Kp来加密。每个节目密钥是定义的一组主密钥M的线性组合。识别节目的节目识别符用加密的节目内容来传送。用户的机顶终端可以仅从接收的节目识别符p以及以前存储的授权信息中得到解密密钥。当允许灵活的节目包(因为该节目不必向每个相关的节目包重新传送)而不会明显地扩充该节目的首标时,该V形空间系统提供密码接入控制机构。
一般来说,加密的节目内容由服务提供商利用发射机或者前端服务器传送到一个或多个用户。根据本发明的一个方面,用来识别节目的节目识别符p与节目内容一起传送给用户。每个用户具有一个机顶终端或者另一个机构,并且利用解密密钥来限制接入传送的多媒体信息。机顶终端从前端设备接收对应于节目的一个或多个节目包的授权信息,前述节目的一个或多个节目包在给定的时间内授权给用户。
每个节目在传输之前由前端服务器利用节目密钥Kp来加密,前述节目密钥唯一地对应于节目。除了传送加密的节目,前端服务器向机顶设备传送节目识别符p。机顶终端利用接收的节目识别符以及存储的授权信息来得到解密节目所需要的解密密钥。在这种方式中,如果用户被授权了一个特定的节目,则机顶终端利用存储及接收的信息将能够得到加密的节目密钥Kp,并且随后利用该节目密钥Kp来解密该加密的节目。在各种实施例中,节目识别符p可以用节目部分间插或者在分开的专门控制频道上传送。
根据本发明的一个方面,用来加密传送的节目的k位节目密钥Kp中的每一个通过施加一个或多个伪随机散列函数H到主密钥m而得到。在一个实施例中,利用了长度加倍的散列函数H。因而,散列函数H利用k位二进制值并且产生具有2k长度的二进制值。散列函数H的输出可以表示为一对K位的二进制值H0和H1,其中H0称为散列函数的左半输出,H1称为散列函数的右半输出。
在示例性实现方式中,节目密钥Kp通过递归施加散列函数H0和H1到主密钥m来得到,该主密钥依赖于节目识别符p每比特位置的对应二进制值。因而,如果节目识别符p包括n位,则散列函数H0和H1中的一个向节目识别符p的n比特位置中的每一个施加,前述节目识别符p的n比特位置依赖于节目识别符p的对应比特值。首先,散列函数H0和H1中的一个施加到依赖于节目识别符p最高有效位的二进制值的主密钥m。此后,对于剩余(n-1)比特位置中的每一个来说,散列函数H0和H1中的一个施加到依赖于对应位的二进制值的前一个散列操作结果。节目密钥Kp的计算可以表示为如下公式Kp=Hpn(…Hp2(Hp1(m))…)散列操作可以利用一个被称为密钥树的n层二进制树T以及位于该树的根上的主密钥m来表示。该树通过施加散列函数H0和H1到每个节点,直到已经建立所需要的树层(n)数而产生。节目密钥Kp对应于树底层的叶节点。与每个节目密钥Kp相关的二进制索引(以及节目标识符p)对应于通过该密钥树从根到所需要的叶节点的路径。因而,给定节点u的索引或标号是从根到节点u路径的边沿缘上的标号的链接。T(u)表示扎根在节点u的子树或者对应于节点u子树上的叶的节目识别符组p。对于在密钥树深度r上的内部节点u,利用部分节目识别符p(u1,…,ur),子树T(u)中任何节目的密钥可以通过激活该散列函数n-r次来计算。
对本发明更加完整的理解以及本发明的其他特征和优点将通过参照下面更详细的描述和附图而得到。


图1用方框图的形式描述了根据本发明一个实施例的用于传送加密节目内容的系统;图2概念表示了根据本发明的一个示例性密钥树;图3是图1的示例性前端服务器的示意性方框图;图4是图1的示例性机顶终端的示意性方框图;图5描述了来自图3的节目数据库的抽样表;图6描述了来自图4的授权数据库的抽样表;图7是描述如图3前端服务器所实现的示例性授权信息分配处理的流程图;图8是描述如图3前端服务器所实现的示例性节目分配处理的流程图;图9是描述如图4机顶终端所实现的示例性解码处理的流程图。
图1描述了一个利用发射机将来自服务提供商的加密多媒体信息经过一个或多个分配网络110传送到一个或多个具有机顶终端400-401的用户的示意性网络环境,该多媒体信息诸如视频、声频和数据,该发射机诸如前端服务器300,该前端服务器300将在下文结合图3做进一步的讨论,该机顶终端400将在下文结合图4作进一步的讨论。如这里所使用的,机顶终端包括任何利用解密密钥来限制接入传送的多媒体信息的机构,该机构诸如计算机结构或电信设备。机顶终端执行的软件可以由服务提供商所装入。分配网络110可以是用于分配节目内容的无线广播网络,该无线广播网络诸如数字卫星设备(“DSSTM”),或者诸如是有线电视网络(“CATV”)、公众交换电话网络(“PSTN”)、光纤网络、宽带综合业务数字网络(“ISDN”)或互联网的常规有线网络。
根据本发明的一个特征,机顶终端400从前端服务器300间歇地接收授权信息,该授权信息允许用户接入用户被授权的节目一个给定时间间隔,该给定时间间隔诸如一个计费周期。如这里所使用的,节目包是一个预先定义的节目组,并且给定的节目可以属于一个或多个节目组。节目是诸如电视片断或电影的特定长度的任何连续多媒体传输。授权信息可以利用对本领域的技术人员显而易见的任何适当的安全单向或双向协议,从前端服务器300装入到机顶终端400。
如下文进一步讨论的,每个传送的节目由前端服务器300利用节目密钥Kp来加密,该节目密钥唯一地对应于节目。对于适当加密和安全技术的详细讨论,参见在此作为参考的B.Schneier的《应用密码术》(1997年第二版)。除了传送加密的节目之外,前端服务器300也传送n位的节目识别符p到机顶终端400,该节目识别符可以与存储的授权信息一起被机顶终端400所利用,以得到解密该节目所必需的解密密钥,所用的方法在下文进一步描述。如下面在题目为“ASSIGINGPROGRAM IDENTIFIERS TO PROGRAMS”的章节中所描述的,节目识别符p并不是任意选择的。在一个优选实施例中,节目识别符p包括一个例如可以在MPEG-2标准所定义的ECM场中传送的32位数值。在这种方式中,如果用户被授权给一个特定的节目,则机顶终端400将能够从存储的和接收的信息中得到该节目的密钥Kp,并且随后利用该节目密钥来解密该加密的节目。
根据本发明的其他特征,用来加密传送节目的k位节目密钥Kp中的每一个通过施加一个或多个伪随机散列函数到主密钥m而得到。例如,对于适当伪随机散列函数的详细讨论参见在此作为参考的O.Goldreich等的”How to Construct Random Function”,J.ACM,33792-807(1986)。
在一种实施方式中,利用如下的密码-安全、长度加倍的散列函数H{0,1}k→{0,1}2k其中,k是节目密钥Kp的长度。因而,散列函数H利用k位的二进制数值,并且产生具有2k长度的二进制数值。散列函数H的输出可以用一对k位二进制数值H0和H1来表示,其中H0被称为散列函数H的左半输出(最高有效位),H1是散列函数H的右半输出(最高有效位)。H0和H1可以被说成是分离的散列函数。在一个示意性实现方式中,当k等于160时,H可以利用保密散列标准SHA-1来定义,前述散列标准SHA-1定义在在此作为参考的“Secure Hash Standard”,国家标准和技术研究所,NISTFIPS出版社180-1,美国商业部(1995年4月)中。换句话说,H0等于SHA-1(x‖0)且H1等于SHA-1(x‖1),其中0和1分别是全0和全1的位串。
根据本发明的其他特征,节目密钥Kp通过递归地施加一个或多个散列函数到依赖于节目识别符p的二进制值的主密钥m而得到。在一种实现方式中,节目密钥Kp通过递归地施加散列函数H0和H1中的一个到依赖于节目识别符p每个比特位置的二进制值的主密钥m而得到。一般地说,如果节目识别符p包括n位,则散列函数H0和H1中的一个向节目识别符p的n比特位置中的每一个施加,前述节目识别符p的n比特位置中的每一个(用最高有效位开始)依赖于节目识别符p的对应比特值。开始时,散列函数H0和H1中的一个施加到依赖于最高有效位的二进制值的主密钥m。随后,对于剩余(n-1)个比特位置中的每一个,散列函数H0和H1中的一个施加到依赖于对应比特的二进制值的前一个散列操作。如下文在题目是“THE KEY TREE”的章节中所讨论的,散列操作可以用下式表示Kp=Hpn(…Hp2(Hp1(m))…)如前所示,前端服务器300将传送加密的节目以及节目识别符p。因而,给定节目识别符p,机顶终端400必须得到用来解密接收节目的节目密钥Kp。如前所述,节目识别符p通过递归地施加一个或多个散列函数到依赖于节目识别符p的二进制值的主密钥m而得到。节目密钥Kp必须通过用户的机顶终端直接使用下面讨论的存储的授权信息以及接收的节目识别符p来得到。
密钥树如前所述,节目密钥Kp通过递归地施加一个或多个散列函数到依赖于节目识别符p二进制值的主密钥m来得到。单个的n比特主密钥m被利用。节目识别符p的比特被表示为p=(p1,…,pn),其中p1是最高有效位,pn是最低有效位。根据本发明的一个特征,对于与节目识别符p一起的节目,加密密钥Kp被定义为下式Kp=Hpn(…Hp2(Hp1(m))…)散列操作也可以利用被称为密钥树200的全部n层二进制树T来表示,如图2所示。示于图2的示意性密钥树200对应于一种具有节目识别符p的实现方式,该节目识别符p包括3比特。如图2所示,主密钥m设置在树200的根210上。节目密钥Kp对应于诸如叶节点240-247的叶节点。与示于图2的每个节目密钥Kp相关的索引,诸如与叶节点243的节目密钥Kp相关的索引011指示穿过密钥树200从根210到叶节点243的路径。例如,叶节点243的节目密钥Kp通过跟随来自根210的左边沿(H0),来自节点220的右边沿(H1)以及来自节点232的右边沿(H1)而得到。换句话说,H0首先施加到主密钥m,接着H1施加到第一散列结果,并且H1再施加到第二散列结果。产生的数值是节目密钥Kp011。
因而,诸如节点243的给定节点u的标号是从根200到节点u的路径的边沿上的标号。每个节点的标号可以用节目识别符p来识别。T(u)被用来表示扎根在节点u的子树,或者等效地表示对应于节点u的子树中叶的节目识别符组p。对于内部节点u,在密钥树200的深度r上,利用部分节目识别符p(u1,…,ur)可以计算子树T(u)中任何节目的密钥。节点u子树中的任何节目的密钥可以通过激活散列函数n-r次来计算。具体地说,根据节目识别符p的n-r个低数位中的每一个的数值的指示,利用适当的散列函数H0和H1。因而,对应于节点u的节目密钥Kp可以作为对在节点u子树中的所有节目的授权。
如果散列函数H是一个伪随机生成程序,那么由主密钥m所参数化的节目密钥的映射Kp{0,1}n→{0,1}k是一个伪随机函数。例如,参见在此作为参考的O.Goldreich等的“How to Construct RandomFunction”,J.ACM,33792-807(1986)。
系统构成图3是描述示意性的前端服务器300的结构的方框图。该前端服务器可以与传送加密的节目内容的电视网络、有线运营商、数字卫星业务运营商或者任何服务提供商相连。例如,前端服务器300可以由IBM公司生产的RS6000服务器具体地表示,前述服务器RS6000在此被修改以执行本发明的功能和操作。前端服务器300包括一个处理器310以及诸如数据存储装置320的相关存储器。该处理器310可以具体是单一的处理器,或者多个并行工作的处理器。该数据存储装置320和/或只读存储器(ROM)可以存储一个或多个指令,处理器310可以取回、中断以及执行这些指令。
如上所讨论的,数据存储装置320包括一个存储主密钥m的主密钥数据库350。例如,一旦在每个计费周期,该主密钥m可以被更新。此外,如下面结合图5所讨论的,该数据存储装置320包括一个节目数据库500。该节目数据库500指示节目识别符p以及对应于每个节目的相关节目包。此外,如下面结合图7和图8所进一步讨论的,该数据存储装置320包括授权信息分配处理700以及节目分配处理800。一般地说,该授权信息分配处理700产生并且分配每个用户接入授权的节目所需要的授权信息。此外,节目分配处理800根据节目识别符p得到指定给该节目的节目密钥Kp,以便加密及传送节目与节目识别符p。
通信口330将前端服务器300连接到分配网络110,从而将前端服务器300链接到诸如图1中所示的机顶终端400的每个连接的接收机。
图4是描述示意性机顶终端400的结构的方框图。例如,机顶终端400可以具体是诸如从通用设备公司商业上得到的与电视相连的机顶终端(STT),前述机顶终端在此被修改以执行本发明的功能和操作。机顶终端400包括处理器410,诸如数据存储装置420的相关存储器以及通信口430,该通信口的工作方式类似于上面结合图3所讨论的硬件的工作方式。
如下文将在6所讨论的,数据存储装置420包括一个可以存储在数据存储装置420的安全部分的授权数据库600。该授权数据库600包括得到用户被授权的节目的节目密钥Kp所必需的密钥树200的某些部分。此外,该数据存储装置420包括散列函数H0和H1。此外,如下文将结合图9所讨论的,该数据存储装置420包括一个解码处理900。一般来说,该解码处理900解密用户被授权的节目,通过利用接收的节目识别符p以及存储的授权信息600以得到节目密钥Kp,并且接着利用该节目密钥Kp以解密该节目。
图5描述了一个示例性的节目数据库600,例如,该数据库600存储将由前端服务器300在给定的计费周期所传送的每个节目上的信息p,该信息包括该节目所属于的节目包以及对应的节目识别符p。节目数据库500保持诸如记录505-520的多个记录,每个记录与不同的节目相关。对于每个由在字段525中的节目名称所识别的节目来说,节目数据库500包括字段530中的该节目所属于的对应节目包以及字段535中的对应节目识别符p的指示。
图6描述了示例性数据库600,该数据库600包括得到用户被授权节目的节目密钥Kp所必需的密钥树200的某些部分。如前面所示,利用T(u)来表示扎根在节点u的子树,或者等效地表示对应于节点u子树上的叶节点240-247的一组节目识别符p。例如,如果用户被授权接收对应于叶节点240-243的四个节目,则授权信息将包括与节点220相关的中间密钥。在这种方式中,对于节点220的子树中的每个节点230、232、240-243,如果需要的话,合适的散列函数H0和H1440将被用于得到节目密钥Kp。
示于图6的示意性授权数据库600对应于被授权接收对应于叶节点240-243的四个节目,以及对应于叶节点246-247的两个节目的用户。因而,记录在授权数据库500种的授权信息包括与节点220和节点236相关的中间密钥。对于每个节点220和236来说,记录在授权数据库600中的授权信息分别包括中间密钥值KI0和KI11,以及对应的部分节目识别符p的指示。根据由用户所选择的节目的节目包,通过授权信息分配处理700产生授权信息600的方式将在下文结合图7进行描述。
节目分包小的授权可以利用本发明的树状设计,为多组变化长度的节目而建立。利用被分包的节目的集合建立一个目标组S。一个最小组的树节点被得到,该树节点的子树准确地覆盖该目标组S,其公式如下
节目包S的授权信息是保持在T(S)的节点中间密钥组KI。如上所述,这组密钥允许给定终端400正好解密S中的节目,而不是别的节目包中的节目。值得注意的是,本发明的树状设计原则上可以为任何任意的目标组S建立授权信息。然而,应进一步注意的是,如果节目识别符p被任意地分配,那么对于机顶终端400的有限的安全存储器来说,该授权信息可能变得过大。
处理如上所述,前端服务器300执行一个图7示出的授权信息分配处理700,以产生并分配每个用户接入授权的节目所要求的授权信息600。如前面所述,对于得到用户被授权节目的节目密钥Kp所必需的密钥树200的每个节点来说,该授权信息600包括中间密钥值KI以及对应的部分节目识别符p的指示。
因而,授权信息分配处理700首先在步骤710期间识别由用户所选择的节目。随后,该授权信息分配处理700发现一个最小的树节点组T(s),它的子树准确地覆盖该目标组S。该目标组在步骤720期间被分解成连续的节目识别符p的最大不相交间隔。值得注意的是,如果对应于二进制表示的的整数是连续的,则两个节目识别符p被认为是连续的。接着,在步骤730发现对于每个间隔的覆盖组S。对于每个间隔的中间密钥组KI以及在覆盖T(s)上保持的对应部分节目识别符p在步骤740期间被产生。最后,在步骤760期间的节目控制终止之前,产生的授权信息在步骤750期间由前端服务器装入到机顶终端400。
目标组S中间隔的数目被称为I(S)。为了计算覆盖T(s),对于节目识别符p的单个间隔来说,在深度为N的密钥树200中必须访问大约n个树节点。因而,授权信息分配处理700的时间组成为大约I(s)·n。而且,最小覆盖T(s)的大小大约为I(s)·n。带有相关内容的节目必须被分配节目识别符p,该节目识别符使得它们被有效地分包。在一种实现方式中,基本的节目包是带有位前缀μ的所有节目识别符p的形式。在密钥树200中,这种单主题节目包的授权信息是单个密钥。而且,可以没有边界效应地组装多主题节目包。对于构成多主题节目包的各个主题来说,授权信息仅仅是密钥组。根据本发明,由前缀μ定义的节目包不允许机顶终端400用相同长度的0前缀来解密节目。
如上所述,前端服务器300执行一个示于图8的节目分配处理800,根据节目识别符,以得到节目密钥Kp,该节目识别符指定给节目和主密钥m,以便解密和传送与节目识别符一起的节目。值得注意的是,节目分配处理800,而不是实际的传送步骤,可以被脱机或实时执行。如图8所示,节目分配处理800在步骤810期间通过识别被传送的节目来开始体现本发明原理的处理。
随后,节目识别处理800在步骤820期间,取回对应于来自节目数据库500的节目的节目识别符p,并且随后在步骤830期间计算对应于该节目的节目识别符p。接着,在步骤840期间将利用在前一个步骤计算出来的节目密钥Kp来加密该节目,最后,在步骤860期间的节目控制终止之前,节目分配处理800在步骤850期间,将传送与节目识别符p一起的加密节目。值得注意的是,节目识别符p在整个节目传送处理中,可以被周期性间插地传送,以便于用户在节目期间可以改变频道,并且能够得到解密该节目所需要的节目密钥Kp。在一个替代的实施例中,节目识别符p可以在诸如Barker频道的分开的控制频道上被连续地传送。
如上所讨论的,机顶终端400执行一个示于图9的解码处理900以解密用户被授权的节目,通过利用接收的节目识别符p,以及存储的授权信息600来得到节目密钥Kp,并且随后利用该节目密钥Kp来解密该节目。如图9中所述,当接收到调谐特定频道的用户指令时,解码处理900在步骤910开始体现本发明原理的处理。
随后,机顶终端400在步骤920期间将接收包括加密的节目以及传送的节目识别符p的适当信号。接着,解码处理900在步骤930期间从授权数据库600取回存储的授权信息。在步骤940期间执行一个测试以确定在授权数据库600中是否存在具有匹配接收的节目识别符p最高有效位的部分节目识别符p的入口。如果在步骤940期间确定,在授权数据库600中不存在具有匹配接收的节目识别符p最高有效位的部分节目识别符p的入口,那么所选择的节目没有被授权给该用户,节目控制在步骤980期间终止。
然而,如果在授权数据库600中存在具有匹配接收的节目识别符p最高有效位的部分节目识别符p的入口,那么所选择的节目被授权给该用户。因而,在步骤960期间利用从授权数据库600的入口取回的中间密钥KI来计算节目密钥Kp。具体地说,如节目识别符p的n-r个低数位中的每一个的值所指示的,通过激活适当的散列函数H0和H1来该节目密钥Kp,计算公式如下Kp=Hpn(…Hr+1(Hpr(KI))…)最后,在步骤980期间的节目控制终止之前,在步骤970利用得到的节目密钥Kp来解密该节目。值得注意的是,如果接收的节目不是用户的授权部分,那么在授权数据库600中不具有匹配与传送的节目一起接收的节目识别符p低数位的部分节目识别符p的授权信息。
值得进一步注意的是,在试图得到解密密钥并且确定用户是否被授权给请求的频道之前,解码处理900可以等待用户请求一个特定的频道,如上所述,或者解码处理900可以交替周期性地扫描所有的频道来得到传送的节目识别符p,以便得到存储在数据存储装置420中的解密密钥并且预先确定用户的授权。
适当的散列函数如前所书,如果散列函数H是一个伪随机位发生节目,那么p→KP的映射可证明是一个伪随机函数。因而,如果实际的散列函数被强加密,那么解秘密钥将不可预见。因此,如果非法接入仅可以利用加密的节目广播,利用本发明的树状方案可以产生密钥的知识似乎不会有助于加密的破解。所以,实质上唯一的关心是保证视频加密算法可以经受住已知的明文的攻击。
散列函数应该拥有两个特性。第一个,它必须难以计算对于散列函数H的映象H0(x)或H1(x)的输入x给定部分。这肯定适用于任何加密的散列函数H,即使当已经知道映象的两部分时,它也难以反向。此外,即使当已经知道H1(x)时也必须难以计算H0(x),反之亦然。原理上,即使散列函数难以反向,当已经知道一半时它必须较易于计算遗漏的另一半。如果情况是这样,那么知道节点u的节目密钥Kp的非法接入可能能够计算对于兄弟节点v,并且随后能够计算节点v的子树中的所有节目。
根据本发明,树状方案的一个优点在于,它使得伪造的非法授权无法使用。假定有一对兄弟节目P1和P2,以及它们的母节点v。假设非法接入者知道对应于节目P1和P2的节目密钥Kp,前述密钥Kp是H(Kp(u))的两等分。非法接入者仍然不能反向H及计算Kp(u),因为H是一个加密的散列函数。因而,伪造的非法授权将必须包括Kp(p1)和Kp(p2),而不是更紧凑的Kp(u)。所以,闯入带有便宜的(但不相同的)授权的多个机顶终端400对于非法接入者来说不是一个好的对策,因为组合的授权将会非常大。
如上所述,适当的伪随机散列函数例如在作为参考的O.Goldreich等的“How to Construct Random Function”,J.ACM,33792-807(1986)中被讨论。
应该理解的是,这里所描述和讨论的实施例和变化仅作为本发明原理的例证,本领域的技术人员在不背离本发明的范围和精神的前提下可以作出各种修改。
权利要求
1.一种传送具有限制的接入终端用户的节目的方法,该方法包括以下步骤向所述节目指定一个节目指示符,所述节目指示符具有一个二进制值;定义至少一个主密钥;利用节目密钥加密所述节目,根据节目识别符的二进制值,通过施加至少一个散列函数到所述主密钥来得到所述节目密钥;将所述加密的节目与所述节目识别符一起传送到终端用户。
2.根据权利要求1的方法,其中所述节目识别符包括n比特,并且向节目识别符的n个比特位置中的每一个施加所述散列函数中的一个,前述节目识别符的n个比特位置依赖于节目识别符的对应比特值。
3.根据权利要求1的方法,还包括根据由所述终端用户所得到的节目组,向所述终端用户提供授权信息的步骤。
4.根据权利要求3的方法,其中所述授权信息包括以所述终端用户所得到的节目组为基础的密钥树部分。
5.根据权利要求3的方法,其中所述终端用户利用接收的节目识别符,从所述存储的授权信息得到所述节目密钥。
6.根据权利要求1的方法,其中所述节目识别符被用所述加密节目的传输来间插。
7.根据权利要求1的方法,其中所述节目识别符在控制频道上被传送。
8.一种将节目传送到多个终端用户的方法,所述方法包括以下步骤利用节目密钥加密所述节目,所述节目具有一个节目识别符,根据所述节目识别符每比特位置的二进制值,通过递归地施加一个散列函数到主密钥来得到所述节目密钥;将所述加密的节目与所述节目识别符一起传送到所述终端用户。
9.根据权利要求8的方法,其中所述节目识别符包括n比特,并且向节目识别符的n比特位置中的每一个施加散列函数,前述节目识别符的n比特位置依赖于节目识别符的对应比特值。
10.根据权利要求8的方法,还包括根据所述用户所得到的节目组,向所述终端用户提供授权信息的步骤。
11.根据权利要求10的方法,其中所述授权信息包括以所述用户所得到的节目组为基础的密钥树部分。
12.根据权利要求10的方法,其中所述终端用户利用所述接收的节目识别符,从存储的授权信息中得到所述节目密钥。
13.根据权利要求8的方法,其中所述节目识别符用所述加密节目的传输间插。
14.根据权利要求8的方法,其中所述节目识别符在控制频道上传送。
15.一种将与至少一个节目的节目包相关的节目传送到多个终端用户的方法,所述方法包括以下步骤根据所述终端用户所得到的节目组,向用户提供授权信息;利用节目密钥加密所述节目,所述节目具有一个节目识别符,根据所述节目识别符的每比特位置的二进制值,通过递归地施加一个散列函数到主密钥来得到所述节目密钥,并且将所述节目识别符与所述加密节目一起传送到所述终端用户,如果所述终端用户被授权给该节目,则所述终端用户从所述存储的授权信息中得到所述节目密钥。
16.根据权利要求15的方法,其中所述节目识别符包括n比特,并且向节目识别符的n比特位置中的每一个施加所述散列函数中的一个,前述节目识别符的n比特位置依赖于节目识别符的对应比特值。
17.根据权利要求15的方法,其中所述授权信息包括以所述终端用户所得到的节目组为基础的密钥树部分。
18.根据权利要求15的方法,其中所述终端用户利用所述接收的节目识别符从所述存储的授权信息中得到所述节目密钥。
19.根据权利要求15的方法,其中所述节目识别符用所述加密节目的传输来间插。
20.根据权利要求15的方法,其中所述节目识别符在控制频道上传送。
21.一种解码加密节目的方法,所述方法包括以下步骤从所述节目的提供商接收授权信息,所述授权信息包括以所述用户所得到的节目组为基础的密钥树部分;接收所述加密节目和节目识别符,所述加密节目用节目密钥加密;从所述节目识别符和所述存储的密钥树部分得到所述节目密钥;利用所述节目密钥解密所述加密的节目。
22.根据权利要求21的方法,其中所述节目识别符包括n比特,所述主密钥设置在所述密钥树的根上,并且所述主密钥通过施加一个散列函数到每个节点直到已经建立n个树层而产生。
23.一种解码加密节目的方法,所述方法包括以下的步骤从所述节目的提供商接收授权信息,所述授权信息包括至少一个来自密钥树的中间密钥,前述密钥树以由所述用户所得到的节目组为基础;接收所述加密节目和节目识别符,所述加密节目被用节目密钥加密;根据所述节目识别符的二进制值,通过递归地施加一个散列函数到所述中间密钥,从所述节目识别符和所述存储的中间密钥得到所述节目密钥;并且利用所述节目密钥解密所述加密的节目。
24.根据权利要求23的方法,其中所述节目识别符包括n比特,并且所述中间密钥对应于所述密钥树第r层上的中间节点,其中所述散列函数施加到所述中间密钥n-r次。
25.一种传送具有限制的接入用户终端的节目的系统,所述系统包括一个用于存储主密钥和计算机可读代码的存储器;以及一个可操作地连接到所述存储器的处理器,所述处理器被配置成向所述节目指定一个节目识别符,所述节目识别符具有一个二进制值;定义至少一个主密钥利用节目密钥加密所述节目,根据所述节目识别符的二进制值,通过施加至少一个散列函数到所述主密钥而得到所述节目密钥;并且将所述节目识别符与所述加密节目一起传送到所述终端用户。
26.一种传送具有限制的接入终端用户的节目的系统,所述系统包括一个用于存储主密钥和计算机可读代码的存储器;一个可操作地连接到所述存储器的处理器,所述处理器被配置成利用节目密钥加密所述节目,所述节目具有一个节目识别符,根据所述节目识别符的每个比特位置,通过递归地施加一个散列函数到主密钥而得到所述节目密钥;并且将所述加密的节目和所述节目识别符传送到所述终端用户。
27.一种解码加密节目的系统,所述系统包括一个用于存储主密钥和计算机可读代码的存储器;一个可操作地连接到所述存储器的处理器,所述处理器被配置成从所述节目的提供商接收授权信息,所述授权信息包括以由所述用户所得到的节目组为基础的密钥树部分;接收所述加密节目和节目识别符,所述加密节目用节目密钥加密;并且从所述节目识别符和所述存储的密钥树部分得到所述节目密钥;并且利用所述节目密钥解密所述加密节目。
28.一种制造设备,它包括一个计算机可读介质,在该计算机可读介质中具体包括计算机可读代码装置,所述计算机可读的节目代码装置包括向节目指定一个节目识别符的步骤,所述节目识别符具有一个二进制值定义至少一个主密钥的步骤;利用节目密钥加密所述节目的步骤,根据所述节目识别符的二进制值,通过施加至少一个散列函数到所述主密钥而得到所述节目密钥;并且将加密节目与所述节目识别符一起传送到所述终端用户的步骤。
29.一种制造设备,它包括一个计算机可读介质,在该计算机可读介质中具体包括计算机可读代码装置,所述计算机可读的节目代码装置包括从节目提供商接收授权信息的步骤,所述授权信息包括以所述用户所得到的节目组为基础的密钥树部分;接收所述加密节目和节目识别符的步骤,所述加密节目用节目密钥来加密;从所述节目识别符和所述存储的密钥树部分得到所述节目密钥的步骤;以及利用所述节目密钥解密所述加密节目的步骤。
全文摘要
本发明公开了一利用于限制接入传送的节目内容的系统,该系统传送节目识别符和加密的节目内容。机顶终端或类似的装置利用存储的解密密钥限制接入传送的多媒体信息。该机顶终端从前段设备周期性地接收授权信息,该授权信息对应于用户被授权一个给定周期长的节目的一个或多个节目包。每个节目在传送之前由前端服务器利用可以唯一地对应于该节目的节目密钥K
文档编号G09C1/00GK1273490SQ0010822
公开日2000年11月15日 申请日期2000年4月30日 优先权日1999年5月7日
发明者丹尼尔·布雷彻贝克, 阿维莎·沃尔 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1