条件存取与终端和订户设备相关联的数字内容的方法及系统与流程

文档序号:12671096阅读:184来源:国知局
条件存取与终端和订户设备相关联的数字内容的方法及系统与流程
条件存取与终端和订户设备相关联的数字内容的方法及系统本发明涉及一种在服务器和多个实体之间传输密文的安全系统及方法,该密文的解密由这些实体操作。本发明是用于条件存取数字内容以防止一个或多个解密秘钥的冒用的系统和方法领域中的优选应用。在多个不良用户联合起来生成解密数据的情况(这种情况下难于分辨哪个解密密钥是用于产生所述解密数据的)下,本发明可供操作者有效防止盗版且易于控制。因此,本发明提供对受保护的多媒体内容的欺诈性供应的有效保护,且同时保留实施其以及受保护的内容分发网络所需要的计算能力。本发明还涉及一种触发用户可用的电子设备的暂时或永久撤销或触发该电子设备的可能恢复的方法。因此,本发明涉及所述内容的适用性(例如选择性地连接至各安全电子设备的终端),且涉及受保护内容的分发服务器,以允许稳健且高效的条件存取方法的实施。数字内容的广播运营商通常运行一种条件存取系统(CAS)以使得受保护的内容可供一个或多个订户访问。这样的系统通常依赖于安全电子设备,例如,智能卡,以作为各订户的身份和/或权利的宿主并用于执行加密、解密或数字生成的操作。在已知的条件存取系统中,为了分发受保护的多媒体内容,通过广播网络以规则的间隔或加密周期至少传输该广播运营商已知或受其控制的加密控制字c和编码内容C。通常通过加密函数E获取加密控制字以使得c=E(k),k为所述控制字的值。加密内容C本身通过编码函数enc以及所述控制字k获得,使得C=enc(k,M),M为该多媒体内容。作为示例,该编码函数可符合DVB-CSA(数字视频广播-通用加扰算法)标准。为了获准收看或收听受保护的内容,人们必须购买订阅。订户接收安全和专用设备,该设备通常为与终端相结合的智能卡的形式,该终端通常被称为解码器或“机顶盒”,这表示订户处理实体允许所述订户解码受保护的内容。通常由该安全设备解密该加密控制字c,该安全设备将各控制字k提供给该终端。后者负责执行对编码内容C的解码并通过适用于例如客厅电视的人机交互而允许存取该内容M。尽管各订户设备的鲁棒性是尤其众所周知的,加密硬件、算法或秘密的知识已允许黑客“破坏”提供给各订户的各安全电子设备的安全。然后,黑客能够“克隆”或模仿这样的设备并向不良订户提供可用的“复制品”而不需要运行盗版网络提供控制字或内容。为了反黑客,运营商开始意识到这样的盗版网络或数据解密复制品市场的存在。通过征求黑客的服务,运营商甚至可以获得“克隆的”或模仿的设备并对它进行研究。运营商,或更通常地,试图揭露其安全已受到威胁的订户安全设备的任意“追踪”实体,在追踪盗版源的过程中遭遇到了真正的困难。当若干个不同的解密秘钥相结合就能够获得其所具有的欺诈性解密数据时尤其如此。事实上,根据已知的技术,很难或根本不可能通过分析这样的解密数据而追踪或检测解密秘钥。当这种结合被扩展时,调查将更为微秒。为了尝试并规避这个问题,一些运营商或追踪者已显著增加了各控制字的解密秘钥的长度,也增加了后者密文的长度。在已知的解决方案中,所述长度直接与订户的总数相关并相对于该订户的总数而线性增加,或受限于该总数。例如在文件US2008/0075287A1中描述的那些技术那样的一些已知的技术至多以订户的数量的平方根的数量级来管理以减小这种长度。例如在文件WO2007/138204中公开的那些技术那样的其它技术需要与符合条件的结合的长度一样数量级的密文长度。追踪者检测欺诈性解密秘钥的能力已以广播网络的带宽以及安全订户设备在加密期生成控制字的计算能力为代价有所改善,该控制字的密文的长度较大。此外,当订户的数量非常大时,这些解决方案仍然处于不利地位且几乎无法使用。因此,已知方法不允许在利用解密数据追踪并识别一个或多个依法分配的、由结合而生成的解密秘钥的同时保留运行受保护的内容分发服务的现有的带宽和计算能力。在本发明所提供的许多优点之间,可提及的是本发明有助于防止向非法用户分发信息,该非法用户能够对向例如签约付费订阅的用户广播的受保护内容进行欺诈性解密。事实上,本发明允许有效地追踪并区分用于显露这样的信息的秘密的且专用的解密秘钥。根据各种实施例,本发明允许分离各控制字或其密文的秘密解密秘钥的长度、订户和/或符合条件的结合的数量。其向运营商提供高效以及潜在的动态补偿,用于标记所述长度以保留该分发网络的带宽以及各订户处理实体的计算能力,并且同时容忍大量可能的结合。本发明还允许远程撤销安全性已经被破坏的订户处理实体(称为“不可信实体”),且同时继续通过该广播网络广播内容。因此,本发明向任意内容广播运营商提供对抗盗版的特别简单和有效的工具。为此,在服务器和多个处理实体之间传输控制字的安全方法被特别地规划以分别生成并运行所述控制字。这样的方法包括由服务器生成加密控制字c的第一步,该控制字c的明文k旨在由该处理实体使用。该方法还包括传输各处理实体所生成的该加密控制字c的步骤,还包括由那些实体接收该加密控制字c以及从接收到的该加密控制字c产生控制字k的步骤。为了提供对不可信秘钥结合的“效力比阻力”的补偿,本发明提供:-该服务器从以下各项生成该加密控制字:-ds个元素的矢量s,ds个元素中的每个元素属于非零整数模p的集合p为素数,ds为严格大于1且小于处理实体的数量的整数;-该服务器已知的且属于非零整数模p的集合的秘密值γ;-分别属于阶数p的两个循环群和的两个发生器,阶数p的双线性群的参数,其中,e(.,.)为耦合,使得为阶数p的第三线性群;-每个处理实体从以下各项生成控制字k:-加密控制字c;-第i个实体已知的且先前从以下各项生成的解密秘钥DKi:i.dx个元素的矢量x(i),dx个元素中的每个元素属于非零整数模p的集合dx为严格大于1且小于处理实体的数量的整数,该矢量x(i)专用于有关的实体;ii.秘密值γ;iii.属于该双线性群β的各循环群中的一个循环群的发生器。根据一种优选的实施例,在这样的方法之前可包括:-显露主秘钥MK的步骤,该主秘钥MK包括与公共参数相关联的秘密要素γ,该双线性群β在各公共参数之中;-将所述秘钥MK和各公共参数存储在该服务器中的步骤;-将所述公共参数存储在每个处理实体中的步骤;-生成、传输以及在各处理实体中存储各解密秘钥DKi的步骤,各解密秘钥DKi为各自专用且互不相同的。本发明提供:所生成的每个解密秘钥DKi能够有利地包括形式的要素,z为属于该线性群β的各循环群中的一个循环群的发生器,且P为γ的多项式。根据一种优选的实施例,本发明还涉及一种用于条件存取数字内容的方法,包括:-使用由受保护的数字内容的广播服务器实施的编码函数来编码数字内容M并生成编码内容C的步骤;-由所述受保护的数字内容的广播服务器生成加密控制字c的步骤,该控制字c的明文k旨在由多个订户处理实体使用,以解码所述编码内容C;-通过分发网络向各订户处理实体传输所述加密内容C和加密控制字c的步骤;-由每个订户处理实体接收所述加密内容C和加密控制字c的步骤;-由每个订户处理实体从该密文c生成控制字k的明文的步骤;-由每个订户处理实体通过解码函数和k解码该编码内容C并生成内容M的步骤;-通过适用于所述内容的界面重新获取所述内容M的步骤。由受保护的数字内容的广播服务器生成并传输加密控制字的步骤以及由各订户处理实体接收并生成该控制字的明文的步骤遵守根据本发明的用于在服务器和多个处理实体之间传输控制字的安全方法。本发明进一步涉及一种用于条件存取数字内容的系统,其包括连接至多个订户处理实体的服务器以用于实施根据本发明的条件存取方法。通过阅读以下描述并查看附图,其它特征和优点将变得更清楚,其中:-图1显示了根据现有技术的条件存取系统;-图2描述了根据本发明的条件存取系统;-图3描绘了根据本发明的条件存取系统的实施例。图1显示了一种根据现有技术的数字内容条件存取系统。其包含由受保护的内容的广播运营商实施的广播网络4。因此,分别被加密并编码的各控制字c和内容C一起由内容服务器3发布。为此,服务器3利用编码函数enc和控制字k编码内容M,控制字k由所述服务器3生成。其生成编码内容C,使得C=enc(k,M)。控制字k的加密版本c也与该加密内容C一同被发布或“广播”。为此,该服务器利用加密函数E加密所述控制字k以获得c=E(k)。经由该广播网络4向终端2a至2m传输各加密控制字c和加密内容C。这些终端分别负责实时解码由服务器3发布的各编码内容C。因此,(像例如解码器2a这样的)终端实施解码函数dec并将其应用到该编码内容C上,以获得该内容M。可利用客厅电视5或适用于重新获取该内容的任意其它界面查看该内容M。为了应用该解码函数dec,终端必须知道由服务器3用于编码内容M的控制字k的值。根据现有技术且如图1中所示,终端2a至2m接收加密控制字c=E(k),并向安全电子设备1a至1m(通常专用于订户)发送该控制字c。终端2a定期通过网络4接收耦合(C,c),并向设备1a传输各加密的控制字c。设备1a可利用解密函数D解密该加密控制字c,以获得用于编码该内容M的控制字k。因此,k=D(c)。上述内容同样应用于任意其它设备,例如2b至2m,2b至2m中的每个分别与设备1b至1m合作。根据一种变型实施例,服务器3可使用例如秘钥Kc形式的秘密来加密控制字k。因此,c=E(Kc,k)。这种情况下,例如设备1a至1m这样的设备实施互解密函数D,使得k=D(Kd,c),其中,Kd为该设备已知的解密秘钥。根据该加密函数E和解密函数D,秘钥Kc和Kd可以是相同的。这是对称加密/解密的情况。可选择地,根据被称为“广播加密”的模式,Kc为专用于该运营商的公共的或秘密的秘钥,而Kd为专用于该设备(或可选择地,一组设备)且对该运营商而言是已知的秘钥。因此,根据此变型,存在若干个个人解密秘钥,由每个设备合法发布并向具有这种个人解密秘钥的运营商订户发送。为了破坏这样的条件存取系统,黑客们已拓展了自己关于加密硬件、算法或尤其由各订户设备实施的秘密的知识。有人知道-或可能-“破坏”这样的订户电子设备的安全性,并能够读取用于生成有效的控制字的一个或多个解密秘钥的值并最终解码被加密的消息。然后,只需要欺诈性地将这些秘钥-我们称为“不可信秘钥”-投放到平行市场以供不良用户在被入侵的终端中整合不可信秘钥并因此通过未授权地存取受保护的内容而受益。当广播运营商运行条件存取系统时,这种类型的犯罪行为会得到大大的促进,其中,对于该条件存取系统,由订户可用的单独且同一个处理实体来执行各加密控制字的内容解码函数和解密函数。因此,这样的实体不必包括多个安全性特征以保护用于存储各解密秘钥和/或算法的装置以及用于生成各控制字的方法。这种算法的不够安全的实施所造成的漏洞会受控泄密解密秘钥等。因此,黑客能够向不良客户提供解密秘钥的某些“复制品”而不需要运行盗版网络以分发各控制字或内容。为了打击这样的行为,能够追踪或检测该“不可信”或被盗用的解密秘钥是有用的,该“不可信”或被盗用的解密秘钥是该复制品的源头。因此,这样的秘钥必须是可追踪的,也就是说,必须具有标记或专用于订户的要素。因此,当终端被入侵或软件被黑客实施时,追踪者能够使用一定的分析方法来检测受控的秘密数据。当黑客或黑客的联合组合了若干个不可信秘钥时,该追踪者的任务变得复杂。本发明使得可能战胜这些不同的入侵场景。图2有助于说明一种作为本发明的优选实施例的示例的条件存取系统。与已知的系统一样,本发明提供由受保护内容的广播运营商实施的,或更普遍地,由任意装置实施的广播网络4,以从内容服务器3向作为目的地的多个订户处理实体传输编码内容C,该多个订户处理实体为例如Ea,Eb,…Em实体。本发明进一步提供:各编码内容C与加密控制字c一起被发送,各加密控制字c的明文允许由每个订户实体来解码所述编码内容。为此,服务器3利用编码函数enc编码内容M。其生成编码内容C,且C=enc(M)。这样的系统的安全性基本上依赖于能够生成、交换并由该服务器和该多个客户处理实体安全使用控制字的事实。这样的控制字可用在条件存取受保护的数字内容的系统的不同应用环境中。本发明基于一阶群耦合的数学概念,该数学概念应用在许多出版物中,包括上面提到的文件US2008/0075287A1或WO2007/138204。这种耦合为一般用于密码学、尤其用于椭圆曲线领域中的双线性应用。令β为第一阶数p的双线性群且|p|=λ,λ将各元素的长度定义为安全参数。和为阶数p的三个循环群且是一个耦合。循环群是使得gp+1等于g的代数集,p定义该循环群的阶数,且g为被称为“发生器”的群的一个元素。在本发明的意图中,不要求群和群之间存在特定的关系。这两个群可以是相同的,或更普遍地,可定义和之间的同构Ψ。本发明中,优选的是任何可能的、可有效计算出的同构和耦合。根据一种优选的实施例,处理实体Ei包含连接至例如智能卡的安全设备1i的终端2i,以分别执行对编码内容的解码以及所述解码所需要的控制字的生成。图2显示了实体Ea、Eb以及Em,其分别由连接至安全订户设备1a、1b、1m的终端2a、2b、2m构成。在本发明的意图中,这样的实体可与之前描述的包含两个主要函数的设备为同一设备。秘密且专用的解密秘钥对于每个订户设备(或订户实体)而言是已知的。因此,根据图2,与订户a相关联的实体Ea的设备1a已知该解密秘钥DKa。此秘钥与秘钥DKb不同,其本身与秘钥DKm不同。这些秘钥仅分别对实体Eb和Em(或,更准确地,对个别的安全订户设备1b和1m)而言是已知的。尽管根据本发明的各解密秘钥是各自专用且互不不同的,但其是可追踪的(也就是说,如下面所讨论的,可通过辨别或追踪而识别)。它们全部由服务器3已知的主秘钥MK生成,可能与公共参数PP(包括双线性群β)相关联的所述秘钥是对于所述服务器而言已知的参数,其对于不同的处理实体而言也是已知的,特别地,根据与图2联合描述的优选示例,所述秘钥对设备1a至1m而言也是已知的。各解密秘钥允许处理实体Ea至Em生成控制字k,该控制字k允许解码各编码内容。此控制字k由加密控制字c生成,该加密控制字c与该编码内容C一起由服务器3发布。根据与图2联合描述的该优选示例,各安全设备1a至1m负责在每个处理实体Ea至Em中生成该控制字k。为此,各终端2a至2m能够接收各加密控制字c且还能够向各自的安全设备发送该加密字c。将由设备1a至Am生成的各控制字传回各终端,使得它们可以解码各编码内容C并由此生成内容M,该内容M由适用于订户的人机界面5返回。图3用于描述条件存取受保护的内容的方法形式的、本发明的应用的一种示例,该方法由例如与图2联合描述的那样的系统实施。为了简化的目的,该多个处理实体由作为与安全订户设备1i相关联的终端2i的实体Ei表示。经由网络4从服务器3向实体Ei传输编码内容C。任意其它广播手段也可用于此目的。各编码内容与各加密控制字c相关联,各加密控制字c的明文允许解码各编码内容。终端2i能够接收各编码内容以及各加密控制字。后者由终端传输给订户设备,该订户设备利用秘密的解密秘钥DKi以及公共参数PP生成控制字,并将其传回该终端2i。此终端能够利用该控制字k解码各编码内容C,并向界面5发送内容M。为了实现这一点,根据本发明的条件存取方法主要包含步骤310、110以及210,分别对应于:-310:生成并向各处理实体发布与各加密控制字c相关联的编码内容C;-110:从各加密控制字c以及该解密秘钥DKi生成控制字k;-210:从各控制字k解码各编码内容。可选择地,这些步骤可在步骤300和100之前执行,步骤300和100包括生成公共参数PP并将其保存在各处理实体Ei(特别地,各安全设备)中。图3还描述了生成各解密秘钥DKi并将其存储在各处理实体Ei(特别地,设备1i)中的准备步骤301和101。除了应用于该条件存取方法及系统的该优选示例之外,本发明主要涉及一种在服务器和多个处理实体之间传输控制字以分别生成并利用所述控制字的安全方法。让我们通过两个实施例了解如何实施这种应用于结合图3描述的应用示例中的方法。令β为第一阶数p的双线性群且|p|=λ,λ将各元素的长度定义为安全参数。和为阶数p的三个循环群且为耦合。一种根据本发明的方法包括:-由服务器生成加密控制字c的步骤310,该加密控制字c的明文k旨在由该处理实体使用210;-向各处理实体传输所生成的加密控制字c的步骤;-由所述实体接收该加密控制字c的步骤;-由每个处理实体从接收到的该加密控制字c生成110控制字k的步骤。为了在维持各解密秘钥DKi的可跟踪性的同时允许(在带宽和处理功率方面)很高的效率,由服务器3从以下各项生成控制字的加密版本的步骤310:-ds个元素的矢量s,该ds个元素中的每个元素属于非零整数模p的集合p为素数,ds为严格大于1且小于处理实体的数量的整数;-服务器3已知的且属于非零整数模p的集合的秘密值γ;-分别属于循环群和的两个发生器,双线性群的参数。每个处理实体Ei从以下各项生成110控制字k:-该加密控制字c;-实体Ei已知的且为之前从以下各项生成的解密秘钥DKi:-dx个元素的矢量x(i),该dx个元素中的每个元素属于非零整数模p的集合dx为严格大于1且小于处理实体的数量的整数,该矢量x(i)专用于相关的实体;-该秘密值γ;-属于该双线性群β的各循环群中的一个循环群的发生器。本发明中,dx和ds的整数值小于实体的数量且因此最终小于订户或黑客的数量。这两个整数为安全参数,用于根据不正当的结合来确定并调整被盗用的“效力Vs阻力”。根据本发明,参数dx用于度量解密秘钥的长度。参数ds直接用于度量各加密控制字的长度。因此,ds直接影响各加密控制字的广播网络的带宽。如ds一样,dx本身直接影响必须存储并处理各解密秘钥以从各控制字的密文产生其明文的实体(或安全设备)的处理能力。已知解决方案中,秘钥和加密版本的长度随结合或随订户或订户群的数量的平方根的大小而线性增长,与此不同,本发明允许特别保持有利的长度且不需要与已知的解决方案作比较。因此,如果认为存在结合的风险t,那么,根据本发明的方法将有助于定义dx和ds,使得通过示例的方式,(根据该实施例)本发明允许获得以下折中方案:-对于t=120:dx=3和ds=7;-对于t=126:dx=4和ds=5;-迪欧斯t=105:dx=2和ds=13;这些结果显示出本发明与现有技术相比所具有的特别显著的贡献。如图3中所示,根据本发明,在服务器和多个处理实体之间安全传输控制字的方法可包括步骤300,用于显露并存储包括与各公共参数(例如,该双线性群β)相关联的秘密要素γ的主秘钥MK。其还可包括步骤100,用于将所述公共参数存储在每个处理实体中,更特别且优选地,存储在所述实体的安全订户设备中。在购买订阅后,为了例如能够向知道该秘密且专用的解密秘钥DKi的订户发送内容,这样的方法还可包括以下步骤:生成301、传输并在该处理实体中、更特别且优选地在所述实体的订户安全设备中记录101该解密秘钥DKi。我们将先后描述这样的方法的两个实施例。相同的是,这两个实施例中生成的解密秘钥DKi都具有形式的要素,z为属于该双线性群β的各循环群中的一个循环群的发生器且P为γ中的多项式。根据第一实施例,对于双线性群以及所选的安全参数dx和ds,该主秘钥MK包含使得MK=(γ,g)的γ和g。γ为属于非零整数第一模p的集合的秘密值。g为群的发生器。可方便且随机地选择g的值。同样地,可随机地选择群的发生器h。有利地,可计算v=e(g,h)且值v可与秘钥MK的要素γ和g相关联。为了构成各公共参数,计算gγ、、…、、hγ、、…、除了β和h之外,所有这些值都代表公共参数。可由该服务器3执行全部这些计算或随机选择,或,可由用于此目的的单独的或专用的服务器执行或获得全部这些计算或随机选择。根据此第一实施例,生成解密密钥的步骤包括:生成作为两个要素的结果的所述秘钥,例如,DKi=(x(i),Ai),其中,且因此,随着新用户或订户i的订阅,生成唯一的且专用的秘钥DKi,然后在该处理实体Ei中,优选安全地传输并记录该秘钥DKi,该处理实体Ei将利用所述秘钥生成各控制字。更特别地,这样的秘钥被存储在由该实体Ei构成的安全设备1i中。为了生成加密控制字,该服务器3生成作为两个要素的结果的所述字,例如且,s为的各元素ds的矢量。矢量s可写作。在接收到加密控制字c后,处理实体Ei实施生成该控制字的明文的步骤。此步骤的目标在于重新获取控制字k,该控制字k的值应为此步骤包括:生成k,使得各计算元素α、ξ和θ使得:且为指代多项式P模和多项式Q的倒数的符号,指代该多项式的0阶项。我们能够看到,θ为可从P和Q的系数计算得到的常数,且在用于生成该控制字的明文的计算中并不需要值ξ和α(为γ的多项式)。事实上,(包含在公共参数中的)gγ和hγ的连续求幂的结合用于重建g和h的指数中的期望的多项式并因此获得gα和hξ,gα和hξ允许生成该控制字的明文。元素α、ξ和θ可以如下形式描述:以及且有:和m=1,...,dx。在此第一实施例中,该解密秘钥DKi的长度对dx是线性的。至于该密文的长度,其对ds是线性的。在此第一实施例的一种变型中,有可能减少该密文c以及各秘密的解密秘钥DKi的长度。事实上,首先,可在由服务器3从种子μi生成秘钥DKi的过程中生成矢量然后,此种子为秘钥的一个要素,使得DKi=(μi,Ai)。相对地,可由该处理实体利用所述种子在该控制字的解密过程中恢复该矢量x(i)。此外,可在由服务器3从种子η生成密文的过程中生成该矢量然后,此种子为该密文的一个要素,使得相对地,可由该处理实体利用所述种子η在该控制字的解密过程中恢复该矢量s。在此变型中,该解密秘钥DKi和该密文的长度为常数。在第二实施例中,对于所选的双线性群和各安全参数dx和ds,该主秘钥MK包含γ和g,使得MK=(γ,g)。γ为属于非零整数第一模p的集合的秘密值。g为群的发生器。有利地,g的值可随机选择。同样地,我们能够随机地选择群的发生器h。有利地,我们能够计算v=e(g,h)并将值v与秘钥MK的要素γ和g相关联。公共参数为β。可由服务器3执行全部这些计算或随机选择,或,可由专用于此目的的单独的服务器执行或获取全部这些计算或随机选择。根据此第二实施例,生成解密秘钥的步骤包括:生成作为两个要素的结果的所述秘钥,使得其中,并且元素dx的矢量B(i)使得:因此,随着新用户或订户i的订阅,生成唯一的且专用的秘钥DKi,然后,传输该秘钥DKi并将其优选安全地存储在该处理实体Ei中,该处理实体Ei将使用所述秘钥生成各控制字。更特别地,这样的秘钥被存储在由该实体Ei构成的安全设备1i中。为了生成加密控制字,服务器3生成作为四个要素的结果的加密控制字,例如c=(W1,W2,s,U)以及ds个值的矢量。该矢量U使得,...,。要素W1=(gγ)m和为整数。在接收到加密控制字c后,处理实体Ei实施生成所述控制字的明文的步骤。此步骤的目的是重新获取控制字k,该控制字k的值应为m为之前选择的整数。此步骤包括:计算k,使得其中根据此第二实施例,该解密秘钥DKi的长度对dx是线性的。该密文本身的长度对ds是线性的。一种特别有利的选择中,可确定ds和dx,使得结合t的数量为(dx+ds)中的指数。不论是在第一还是第二实施例中,特别有利的优点都在于通过安全的存储方式在每个处理单元中存储秘钥DKi的要素Ai。当处理单元包括安全设备时,这尤其重要。在此情况下,为了保证该系统的鲁棒性,需要满足的是,至少将所述要素Ai存储在其中或可选择地,将整个秘钥DKi存储在其中。仅存储该要素Ai能够减少该系统的鲁棒性所需的安全存储容量。作为示例且为了说明追踪者检测解密秘钥的能力,我们现在展示一种追踪方法。为了描述此方法,我们将使用例如<U,V>这样的记号来描述耦合(或配对),这相当于之前使用的记号e(U,V)。让我们假设该追踪者能够恢复盗版解码器。后者的分析允许其获得盗版软件并实施白盒式的追踪方法。在第一步中,将该盗版解码器看作是一系列正式指令。每个指令包含参考操作、一个或多个输入变量以及一个输出变量。通常,被称为参考操作的操作列在词典(指令集)中且可具有多种类型:算法或逻辑操作、条件跳转或不跳转、子程序调用,等等。因此,在这种经典的抽象解释阶段中,以一系列指令的形式重写该解码器,在这一系列指令之中,将突出与由根据本发明的加密方法实施的该双线性系统相关联的指令:中的乘法操作T=U·U';中的乘法操作S=V·V';中的求幂操作U=Ta;中的求幂操作V=Sb;的双线性耦合(称为配对)操作α=<U,V>;中的乘法操作γ=α·β;中的求幂操作β=αc。这些操作被称为代数,而全部其它的将被分类为相关操作。在同一解释阶段中,以被称为SSA(静态单赋值)的方式重写每个指令的该输入和输出变量,以能够在其正式执行期间容易地从此盗版解码器的表示中扣除其所操控的任意变量的计算图。各指令的输入变量仅能够为以下四种类型:1.属于启动程序的常量变量;2.中间变量;3.表示一部分密文的程序的输入变量,或4.由调用该解码器程序外部的随机源而产生的随机变量。该程序的输出变量表示数据k且该输出变量来自中的输出值的计算图。在被称为专门化的第二步中,修改已重写的程序以使其适用于随后的叛徒识别。通过重写该程序,可从其移除不参与该输出变量k的计算图的全部指令(与该图不相干的指令)。然后,有必要尝试将该程序的全部输入变量(类型3和4的那些变量)设置为能由该程序正确解密的常量值。可随机并严格实施此常量值的搜索,且如果最初给定的该解码器足够发挥其功能(也就是说,在各种情况下平均解密重要部分),此搜索步骤将在几次尝试之后得以迅速完成。当各值都合适的时候,它们被该程序中对应的变量所取代,以使所述程序总以同样的方式运行。因此,成功实施的示例是由新的程序实例化的,该新的程序仅由在各常量上执行的指令构成。此时,该追踪方法包括通过获取一系列指令来简化该程序而不跳转的步骤:-执行常量的扩展,以移除全部二级指令,各二级指令的输入变量全部为常量;此转换因此不包含代数运算;-去除反复执行的指令:-条件跳转被去除或由非条件跳转取代;-由被调用的函数的主体的复制来取代函数调用;-去除不必要的指令或无用代码。在此步骤的最后,通过按执行的时间顺序首尾相连来并置一系列线性指令,从而删除非条件跳转。然后,此程序变为连续代数指令而不需要控制流。此时,将若干转换以归纳和并发的方式应用到所获得的程序中。为了这个目的,引入以下各项:-正式指令expoi(u,a),其表示中的ua的计算,且i∈{1,2,T};-扩展“配对”<U,V;a>的正式指令,其表示<U,V>a的计算。然后以归纳和并发的方式执行以下代数简化,直至该程序稳定:-对于适当的i∈{1,2,T},用expoi(u,a)取代每个求幂运算指令ua;-对于适当的i∈{1,2,T},用expoi(u,1)取代每个变量u;-用expoi(u,a)·expoi(v,a)取代expoi(u·v,a)类型的指令的每个组合;-用expoi(u,a+bmodp)取代expoi(expoi(u,a),b)类型的指令的每个组合;-用expoi(u,abmodp)取代expoi(expoi(u,a),b)类型的指令的每个组合;-用<U,V;1>取代每个“配对”指令<U,V>;-用<U,V;a>·<U',V;a>取代<U·U',V;a>类型的指令的每个组合;-用<U,V;a>·<U,V';a>取代<U,V·V';a>类型的指令的每个组合;-用<U,V;abmodp>取代<expo1(U,a),V;b>类型的指令的每个组合;-用<U,V;abmodp>取代<U,expo2(V,a);b>类型的指令的每个组合;-用<U,V;a+bmodp>取代<U,V;a>·<U,V;b>类型的指令的每个组合;-用<U,V;abmodp>取代expoT(<U,V;a>,b)类型的指令的每个组合;-用1取代expoi(u,0),用1取代<U,V;0>,并用u取代1·u。在此简化步骤的最后,的计算因此可由乘积k=k1·k2的结果表示,其中:-k1为n个扩展“配对”的乘积,该个n扩展“配对”的输入(Ui,Vi,ai)(其中i=1,...,n,)包含两个点Ui和Vi以及整数ai模p,例如,(Ui,Vi)≠(Uj,Vj),i≠j。由于该简化步骤,各变量Ui、Vi和ai为常数值。每个变量Ui、Vi必定为存储在该程序中的常量,或为输入变量,即开始时给定的密文的一部分;-k2为的m个元素的乘积,即,k2=expoT(α1,b1)····expoT(αm,bm),其中,αi≠αj,1≤i≠j≤m。每个变量αi必定为该程序中存储的常量,或为该密文的一部分。在第三步中,定义与开始时给定的密文c的每个代数元素相对应的系数。更具体地,如果在开始时给定的该密文包含和-对于任意vi,j∈[1,r2],收集全部值ai(例如,vj=Vi)且不是该密文的元素;由此形成矢量-对于任意vi,j∈[1,r2],收集全部值ai(例如,vj=Vi)且不是该密文的元素;由此形成矢量-对于任意wi,j∈[1,rT],收集coef(wj)=bi(例如,wj=αi);-对于每个配对(ul,vl)(其中(l,j)∈[1,r1]×[1,r2]),收集coef(ul,vj)=ai,其中,(ul,vl)=(Ui,Vi)。在这些识别步骤中的每个步骤中,当找不到对应的指数i时,该系数被缺省设置为0。我们现在关注{coef(ui),coef(vj),coef(wε),coef(ui,vj)}的值。本发明的数学特性确保这些值为预先已知的函数,涉及元素其包括被盗用的秘钥以及固定的参数包括在开始时给定的该密文c。这形成一种多元方程组的系统:coef(u1)=f1(x1,...,xε,s1,...,sl)coef(u2)=f2(x1,...,xε,s1,...,sl)coef(v1)=g1(x1,...,xε,s1,...,sl)coef(v2)=g2(x1,...,xε,s1,...,sl)coef(w1)=h1(x1,...,xε,s1,...,sl)coef(w2)=h2(x1,...,xε,s1,...,sl)coef(u1,v1)=q1,1(x1,...,xε,s1,...,sl)如果知道这些系数、各固定参数sj和函数fi、gj、hε、qa,b的数字值,该系统可反向重新获取包括其中一个被盗用的秘钥的元素x1,...,xε中的至少一个元素且因此完整识别此秘钥。此步骤要求ε≤B(r1,r2,rT)(其中,B(r1,r2,rT)),这取决于本发明的实施例的终端。函数fi、gj、hk、qa,b也取决于本发明的实施例。作为一个示例,如果追踪者在上面描述的第二实施例的环境中运行任意解密程序以屏蔽或非屏蔽的形式显示一个(或多个)用户i的矢量x(i),则该追踪者已读取x(i)并将其分发给一个或多个用户,该一个或多个用户因此被识别为叛徒。如果处理实体已被识别为叛徒,或为了任意其它原因,本发明还包括撤销该处理实体,以防止所述实体生成能够例如解码编码内容的有效的控制字。本发明中可实施两种类型的撤销:暂时撤销或永久撤销。暂时撤销会使一个或多个不可信实体暂时能生成更多的有效控制字。永久撤销会抑制这种生成。为了说明此变型且作为一个示例,我们将描述为了符合本发明而基于该第二实施例的安全方法所做的调整。还可对符合本发明的其它方法做出类似的调整。为了实施永久撤销,本发明提供上面描述的各方法的两个额外步骤。第一步骤是生成撤销数据,该撤销数据被传输至全部处理实体。这些数据用于定义对一个或多个不可信实体的集合的排除。该第二额外步骤是更新不属于的各实体的解密秘钥,因此,它们能够继续生成有效的控制字。让我们假设不可信实体为实体E1至Er(或安全订户设备11至1r)。让我们将这些实体计为1至r。定义撤销数据的第一步骤包括:根据此示例,计算其中获得j∈[1,dx]的值,例如,j=1.。然后修改发生器h的值,以取Rr的值:的值。然后,将撤销数据分发给全部实体。此时,第二额外步骤包括:改变不属于的各实体的解密秘钥DKi,使得它们能够继续生成有效的控制字。由生成的、对应于第i个用户或订户的秘钥对于w∈[1,dx]的值,例如w=1,dx个元素的矢量使得根据本发明,可由每个处理实体实施新值的计算。由第三实体可选择地执行此计算。还可使用任意其它程序更新所述秘钥。作为一种选择,本发明可将该撤销数据与各加密控制字一起传输给各处理实体。因此,不必须以专用模式传输所述数据。例如,根据由本发明提供的用于传输控制字的方法的第二实施例,这些可为该密文的整数部分,使得此外,可由该处理实体在生成控制字的步骤之前执行对该解密秘钥的修改可以看到,为了实施永久撤销,并没有改变由该服务器执行的生成该秘钥DKi的步骤或由各实体执行的生成该控制字k的明文的步骤。反过来,为生成密文,该发生器h不再是固定的。事实上,h依赖于被撤销的全部实体。该解密秘钥在生成该明文k时也不再是固定的。本发明进一步使符合本发明的方法适用于实施暂时撤销。如之前所述的,让我们使用根据本发明的方法的第二实施例作为示例以说明此特征。类似地,让我们假设不可信实体为标号从1至r的实体E1至Er(或安全订户设备11至1r)。与永久撤销一样,第一额外步骤包括:对于j∈[1,dx]的值,例如j=1.,计算撤销数据使得,且然后,修改该发生器h的值,以取Rr的值:该服务器生成作为各要素的结果的加密控制字,使得一般首先生成四个要素W1、W2、s和U(区别在于,预先修改h,使得h←Rr),为ds个值的矢量,使得,...,,W1=(gγ)m,m为整数。对于选定的j值,该密文还包括和在接收到加密控制字c之后,处理实体Ei实施生成所述控制字的明文的步骤。此步骤适用于计算k,使得其中可以看到,为了实施暂时撤销,不改变生成秘钥DKi的步骤。由于发生器h依赖于被撤销的全部实体,该发生器h不再是固定的。在生成密文之前,由所述发生器的分配而简单地继续进行生成密文的步骤。该控制字k的明文的生成适于实施该暂时撤销。已结合条件存取受保护的内容的领域并将其作为优选的应用示例而描述了本发明。本发明可应用于其它必须向多个处理实体传输密文且这些实体使用该密文的明文的领域。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1