条件接收系统中基于产品和用户分别分组的密钥分配方法

文档序号:7647265阅读:189来源:国知局
专利名称:条件接收系统中基于产品和用户分别分组的密钥分配方法
技术领域
本发明提供一种基于双重分组的密钥分配方法,用于数字电视版权管理中的条件接收系统,便于在系统前端的服务器上实现密钥的计算和生产;该结构能够有效的控制密钥的计算量和对传输带宽的占用,而且可以通过对分组大小的调节来实现带宽占用和计算复杂度之间的均衡调节,从而提高系统灵活性。
背景技术
数字版权管理是数字电视系统中的重要一环,目前主要是通过条件接收系统来对收视用户进行有效的授权和管理。其中,条件接收系统的加密算法和加密结构至关重要。一个算法的安全性高低程度,可以从两个方面来评价①破解难度很显然,一个加密算法的破解难度越大,其安全性越高。当然,也可能会因此而使得算法本身在加解密时的计算复杂度和数据存储空间增加。
②变化频度即密钥的变换频率。假设在相同的攻击能力和计算速度前提下,破解两个不同的加密算法A、B所需要花费的最大可能时间分别是ta=1年、tb=1月;显然,算法A的破解难度远大于算法B,但是如果算法A、B的密钥变化周期分别是τa=1年、τb=1天,(ta/τa=1、tb/τb=30),即对破解难度低的算法采取相对更快的密钥变化频率时,则很难说二者到底哪个安全度更高。
因此,条件接收系统一般由多级加密结构组成,不同的加密算法之间,破解难度由低至高递增,而密钥变化频率则由高至低递减,从而实现安全性和灵活性的协调与搭配。
典型的条件接收系统结构描述如下a)通过控制字(Control Word,CW)对明文传输流(TS,Transport Stream)进行加扰,得到密文传输流并发送给终端用户;该算法一般比较简单、快速,而CW变化周期则比较短,如5~30秒;b)通过密钥K1对控制字CW进行加密,得到授权控制ECM(Entitle Control Message)信息并发送给终端用户;该算法的难度居中,K1的变化周期居中,如1天或1周;c)通过密钥K2对密钥K1进行加密,得到授权管理EMM(Entitle Manage Message)信息并发送给终端用户;该算法难度相对较高,K2的变化周期则较长,如1年;而在用户端,解密顺序则正好相反先根据EMM解密出K2,再根据K2解密出K1,然后再根据K1解密出CW,最后则通过CW将密文传输流进行解扰,得到可以收看的明文传输流。
对于加密算法,主要分为对称加密和非对称加密两类。对称加密算法是指加密和解密使用的是同一个密钥,密钥本身的传输安全和保密性就非常重要; 而非对称加密算法则不同,加密时使用的是一个可以对外公开的密钥--公钥,而解密时则必须使用另外一个密钥--私钥,不需要直接传输密钥,这样就避免了密钥在传输时被破解的可能。
比较典型的一种非对称算法是RSA算法(以三位算法发明人的姓名首字母命名),对RSA算法的原理描述如下a)随意选择两个大的质数p和q,p≠q,计算N=pq,并公开N。
b)选择一个自然数e∈[2,N-1],且e与Φ(N)互素。这里,Φ(N)为欧拉函数,Φ(N)=(p-1)(q-1)。
c)利用同余公式计算d的值d×e≡1modΦ(N);例如,8和3在模5的情况下同余,即8≡3mod5;同理,9≡1mod4;d)将p和q的记录销毁;(e,N)作为公钥,d作为私钥。
假设甲想给乙送一个消息m,他可以先按照与乙约定好的规则将m转换为一个小于N的整数n,然后根据乙发布的公钥(e,N),用如下公式将n加密为cc≡nemodN于是,甲可以很容易的计算得到c,并将c作为密文发送出去。
乙得到甲发来的密文c之后,就可以根据自己手里的私钥d,按如下公式来解码n≡cdmodN,同样,乙可以很容易的计算得到n,并根据约定规则从n恢复出原始消息m。通信完毕!此外,可以利用中国剩余定理、根据多个授权用户的公钥来联合对明文进行加密,加密后的密文可以通过任意一个授权用户的私钥进行解密而得到正确的明文,但是非授权用户的私钥则无法正确解密。
在实际的数字电视授权系统中,由于用户数量庞大,加上密钥的定期更新以及数据的实时处理等等特点,在保证系统安全的前提下,确保合理的数据计算量和传输带宽消耗成为比较关键的考虑因素,也是比较突出的设计难点。目前,在已知的授权系统当中,一般采用的是比较单一的分组方案、或者比较单一的加密算法,导致实际的数据计算量比较大,或者对数据的传输带宽的消耗比较大,从而不利于系统的灵活更新和动态变化。

发明内容
本发明提出了一种基于双重分组的密钥分配方法,用以克服一般授权管理结构中计算量过于庞大,或者对传输带宽消耗过高等缺点。
本发明所采用的双重分组结构,主要包括以下两个方面1、对节目进行分组--每个分组对应于一个产品。为不同的节目选择不同的密钥以及相互正交的节目向量,根据产品所包含的节目以及产品密钥而计算出产品向量。节目分组可以实现对前端数据的分类和简化,有利于降低数据的计算量和传输量,同时也可以降低用户端的硬件工作负担。
2、对用户进行分组。系统为每一个用户分配唯一的用户地址(UID),通过使用掩码(mask)方式来实现对用户地址进行分组,并且可以通过调节掩码的值来改变分组的大小。通过从节目到用户组的授权对应关系,利用中国剩余定理,计算每一个节目在每一个用户组内的授权密钥--节目组密钥。
本发明的特征在于,该方法是在数字电视版权管理中的条件接收系统内前端服务器上的下述方法实现的步骤(1),节目分组把所有节目ch1、ch2、…、chm的集合记为P0,即P0={ch1、ch2、…、chm};同时,将所有节目进行分组,每一个节目分组称为一个产品,允许同一个节目同时归属于不同的产品,把不同的产品记为Pj,j>0,Pj是的P0的子集;步骤(2),用户分组把所有用户u1、u2、…、un的集合记为G0,即G0={u1、u2、…、un};同时,将所有用户进行分组,把不同的用户分组分别记为Gk,k>0,Gk是G0的子集;在条件接收系统已定义的用户地址范围内,通过改变掩码值来改变用户分组的大小和范围,以便于对设定范围、设定数量、用户进行密钥分发和管理。
步骤(3),条件接收系统利用设定的控制字CW加扰明文传输流TS;步骤(4),条件接收系统按以下步骤选择节目向量Vi和节目密钥αi,用于加密控制字CW,形成授权控制ECM数据,向终端用户发送;步骤(4.1),在m维向量空间a1、a2、…、am内,m≥节目数量,系统为每个节目chi选择一个向量vi,并使得不同的vi之间相互正交,例如(1,0,0,…,0)、(0,1,0,…,0)、(0,0,1,…,0)、…、(0,0,0,…,1);同时,系统还为每个节目chi任意选择一个相应的数字αi,αi即为节目密钥,并由此形成一个节目向量chi=αi·vi;
步骤(4.2),该系统公开vi,并用αi对节目chi的加扰控制字CWi进行加密,得到授权控制ECM数据并发送到终端用户;步骤(5),按以下步骤,根据产品Pj的密钥βj以及产品所包含的节目,计算产品向量Pj;步骤(5.1),该系统为一个包含有多个节目的产品Pj任意选择一个密钥βj,该系统通过密钥βj对该产品Pj内的每个节目的密钥αi按下式进行变化αi’=F(αi,βj),其中,αi’为节目chi变换后的密钥,F(αi,βj)是一种设定的加密算法;步骤(5.2),该系统按下式得到产品Pj的向量Pj=Σchi∈Pjαi′·vi=Σchi∈PjF(αi,βj)·vi;]]>步骤(5.3),该系统把向量Pj的值发送到终端用户,同时把所选βj的值加密之后得到产品组密钥,以授权管理EMM数据的形式发送到用户端;步骤(6),该系统按以下步骤生成产品组密钥步骤(6.1),该系统按RSA算法得到每个用户um的公钥em、Nm,以及私钥dm,并且使得Nm在不同用户之间互素;步骤(6.2),该系统按下式对n进行加密,得到密文cc≡nemodN,记为c=En(e,N),其中,n是一个事先按照该系统与各用户约定好的规则把明文传输流转换成一个小于N的整数,“≡”符号表示“同余”,上式表示c与ne在模N的情况下同余,即在被N除时余数相同;步骤(6.3),该系统利用某个用户组Gk内的多个用户uk1、uk2、…、ukm的公钥按下式建立同余组PGKjk=Eβj(Ek1,Nk1)modNk1PGKjk=Eβj(Ek2,Nk2)modNk2...PGKjk=Eβj(Ekm,Nkm)modNkm]]>其中,PGKjk为产品Pj对用户组Gk的产品组密钥;步骤(6.4),该系统利用中国剩余定理,从步骤(6.3)的同余组中得出产品Pj对用户组Gk的产品组密钥PGKjkPKGjk=[Σs=1mλs·MkNks·Eβj(eks,Nks)]modMk]]>其中,Mk=∏s=1mNks,]]>λs要满足以下条件λs·Eβj(eks,Nks)≡1modNks,]]>s=1,2,…,k
本发明的主要优点在于,通过对节目和用户的双重分组来降低系统计算量和对传输带宽的消耗,从而便于提高系统灵活性和反应速度;并且,还可以通过分组大小可变(由掩码来控制)的特定,根据不同产品的特点(灵活性要求)来确定不同的分组大小,从而在计算量和传输带宽之间进行取舍和均衡,实现最优化的匹配效果。


图1节目分组结构;图2用户分组结构;图3用户的加入与退出;图4双重分组的密钥分配方法示意图;图5密钥分发流程图;具体实施方式
本发明的实施方式可以分为以下几部分1、节目分组在实际的节目安排当中,为了简化计算、方便管理,可以根据节目的各种不同性质(比如少儿节目、成人节目、新闻节目、娱乐节目等等),以套餐的形式将节目(Channel)进行分组,每一个分组称为一个产品(Product)。条件接收系统面向终端用户的最小授权单元是产品而不是节目;同一个节目可以同时归属于不同的产品;不同的产品之间可以存在包含关系。
将所有节目ch1、ch2、......chm的集合记为P0,即P0={ch1,ch2,...chm};同时,根据实际的节目分组,将不同的产品记为Pj(j>0),Pj是P0的子集;节目分组结构如图1所示。
2、密钥和向量生成对节目进行分组而形成产品时,也需要有相应的产品密钥和向量,这时利用正交向量来构造一种新的算法。
在m维(m≥节目数量)向量空间(a1,a2,...am)内,系统为每个节目chi选择一个相互正交的向量vi以及一个相应的数值αi,并以此定义一个节目向量chi=αi·vi公开vi,并取αi的值作为节目密钥,用来对该节目的加扰控制字CWi(Control Word)进行加密,进而得到ECM数据并发送到终端。
假定某产品Pj中包含有多个节目chi,系统为产品Pj选择一个密钥βj,通过βj对每个节目的密钥进行变换,记为αi=F(αi,βj)
其中,F(αi,βj)是一种加密算法,可以根据实际情况进行选择(如3DES、AES或IDEA等加密算法),并将该算法的逆变换记为F-1(αi,βj)。
于是,可以定义该产品的向量如下Pj=Σchi∈Pjαi′·vi=Σchi∈PjF(αi,βj)·vi]]>将Pj的值发送到用户端,同时将βj的值进行加密得到产品组密钥,并以EMM的形式发送到用户端。
在用户端,如果已经从EMM中解密出产品密钥βj,则节目密钥αi可根据βj→αi→αi的顺序解出,得到αi=F-1(αi,βj)=F-1(Pj·vi,βj)3、用户寻址与分组该系统为每一个终端用户分配一个用户地址UID,并通过寻址以及掩码控制来实现动态分组管理--类似于电脑的IP地址。这样,该系统可以通过改变掩码值来实现对终端用户的选择性控制,从而提高密钥管理的灵活性和传输效率。将所有用户u1、u2......un的集合记为G0,将不同的用户分组记为Gk(k>0),如图2所示。
例如,系统定义用户地址为32bit(即一个服务器下面最多可以管理和容纳232个用户);如果选择掩码值为32’hff_ff_ff_00(低8bit为0),则表示每个小组内含有28=256个用户,并以此作为基本分组,来确定密钥分发时的有效传输范围。可以通过改变掩码值来改变分组的大小和范围,实现对特定范围、特定数量的用户进行密钥分发和管理。
4、产品组密钥生成根据RSA算法,系统为每个用户ui选择两个大的质数pi和qi(pi≠qi),令Ni=pi·qi,并选择一个自然数ei∈[2,Ni-1],且ei与Φ(Ni)=(pi-1)(qi-1)互素,根据di×ei≡1modΦ(Ni)计算di,于是,可以得到用户ui的公钥(ei,Ni)和私钥di;并保证不同的Ni之间互素。
假设在某个用户小组Gk内有uk1、uk2、...ukm共m个用户定制了产品Pj的收视权,根据RSA加密原理,在公钥为(e,N)、私钥为d的情况下,对n进行加密的算法是c≡nemodN,记为c=En(e,N);根据上式,系统利用用户组Gk内的用户uk1、uk2、…、ukm的公钥对产品Pj的密钥βj进行加密,建立如下同余组
PGKjk=Eβj(Ek1,Nk1)modNk1PGKjk=Eβj(Ek2,Nk2)modNk2...PGKjk=Eβj(Ekm,Nkm)modNkm]]>利用中国剩余定理,可以解出产品Pj针对用户组Gk的产品组密钥PGKjk如下PKGjk=[Σs=1mλs·MkNks·Eβj(eks,Nks)]modMk]]>其中Mk=∏s=1mNks,]]>λs是使得下式成立的整数值λs·Eβj(eks,Nks)≡1modNks,]]>s=1,2,…,k例如当需要让某个小组内的某个用户ux加入或退出对某一产品的授权时,将使得该小组对应的同余组中增加或减少一个同余式,于是可以根据新的同余组解出新的产品组密钥,但此时并不需要更新其他组的产品组密钥;如图3所示。
5、动态分组调节由于分组大小通过掩码(mask)控制,而mask可以灵活控制,于是可以实现分组大小的动态变化;对具有不同的授权周期(密钥变化周期)和灵活性要求的产品,给予不同的分组方案;最大分组可以是全部用户作为一个组,此时用户组密钥PGK的计算量最大、灵活性最低,但是分组数量最少(只有一个组)、密钥发送的带宽占用最小;最小分组可以是一个用户作为一个组,此时每一个用户组密钥PGK的计算量最小、灵活性最高,但是分组数量最大(等于用户数量)、密钥发送的总带宽占用最大。
双重分组算法的整体结构如图4所示;整个加解密过程的流程框图如图5所示,其总体步骤可以描述如下发送端1)利用控制字CWi加扰TS数据并发送;2)系统选择节目向量和密钥αi--用于加密控制字CWi,生成ECM数据;3)根据产品Pj所包含的节目以及产品密钥βj,计算产品向量Pj;4)对某个用户组,根据该组内的授权用户,计算该产品Pj在该组Gk的产品组密钥PGKjk,并以EMM信息的形式发送;接收端1)用户收到产品组密钥之后,用自己掌握的私钥di进行解密,得到产品Pj的密钥βj;
2)根据βj以及产品向量、节目向量,计算出节目密钥αi;3)利用节目密钥,解密出节目控制字CWi;4)利用控制字CWi解扰对应的TS流,收看节目。
6、性能分析为了对不同情况下的系统消耗有比较直观的分析和对比,假定节目总数为100;节目被分组成25个产品;用户数量为100万(220);节目密钥长度为1024bit;加密算法RSA;分配给产品组密钥的传输带宽为2Mbps。由于αi加密之后以ECM形式广播给所有用户,而节目向量vi和产品向量Pj也都以广播形式发送,带宽占用可以忽略;主要考虑βj被加密后发送到用户端的EMM数据量、发送周期以及计算复杂度;对比结果如下

权利要求
1.条件接收系统中基于产品和用户分别分组的密钥分配方法其特征在于,该方法是在数字电视版权管理中的条件接收系统内前端服务器上的下述方法实现的步骤(1),节目分组把所有节目ch1、ch2、…、chm的集合记为P0,即P0={ch1、ch2、…、chm};同时,将所有节目进行分组,每一个节目分组称为一个产品,允许同一个节目同时归属于不同的产品,把不同的产品记为Pj,j>0,Pj是的P0的子集;步骤(2),用户分组把所有用户u1、u2、…、un的集合记为G0,即G0={u1、u2、…、un};同时,将所有用户进行分组,把不同的用户分组分别记为Gk,k>0,在条件接收系统已定义的用户地址范围内,通过改变掩码值来改变用户分组的大小和范围,以便于对设定范围、设定数量、用户进行密钥分发和管理;步骤(3),条件接收系统利用设定的控制字CW加扰明文传输流TS;步骤(4),条件接收系统按以下步骤选择节目向量Vi和节目密钥αi,用于加密控制字CW,形成授权控制ECM数据,向终端用户发送;步骤(4.1),在m维向量空间a1、a2、…、am内,m≥节目数量,系统为每个节目chi选择一个向量vi,使得不同的vi之间相互正交,例如(1,0,0,0,…)、(0,1,0,0,…)、(0,0,1,0,…)、(0,0,0,1,…)、…;同时,系统还为每个节目chi任意选择一个相应的数字αi,αi即为节目密钥,形成一个节目向量chi=αi·vi;步骤(4.2),该系统公开vi,并用αi对节目chi的加扰控制字CW进行加密,得到授权控制ECM数据并发送到终端用户;步骤(5),按以下步骤,根据产品Pj的密钥βj以及产品所包含的节目,计算产品向量Pj;步骤(5.1),该系统为一个包含有多个节目的产品Pj任意选择一个密钥βj,该系统通过密钥βj对该产品Pj内的每个节目的密钥αi按下式进行变化αi’=F(αi,βj),其中,αi’为节目chi变换后的密钥,F(αi,βj)是一种设定的加密算法;步骤(5.2),该系统按下式得到产品Pj的向量Pj=Σchi∈Pjαi′·vi=Σchi∈PjF(αi,βj)·vi;]]>步骤(5.3),该系统把向量Pj的值发送到终端用户,同时把所选βi的值加密之后以授权管理EMM数据的形式发送到用户端;步骤(6),该系统按以下步骤生成产品组密钥步骤(6.1),该系统按RSA算法得到每个用户um的公钥em、Nm,以及私钥dm,并且使得Nm在不同用户之间互素;步骤(6.2),该系统按下式对n进行加密,得到密文cc≡nemodN,记为c=En(e,N),其中,n是一个事先按照该系统与各用户约定好的规则把明文传输流转换成一个小于N的整数,“≡”符号表示“同余”,上式表示c与ne在模N的情况下同余,即在被N除时余数相同;步骤(6.3),该系统利用某个用户组Gk内的多个用户uk1、uk2、…、ukm的公钥按下式建立同余组PGKjk=Eβj(Ek1,Nk1)modNk1PGKjk=Eβj(Ek2,Nk2)modNk2···PGKjk=Eβj(Ekm,Nkm)modNkm]]>其中,PGKjk为产品Pj对用户组Gk的产品组密钥;步骤(6.4),该系统利用中国剩余定理,从步骤(6.3)的同余组中得出产品Pj对用户组Gk的产品组密钥POKjkPGKjk=[Σs=1mλs·MkNk·Eβj(eks,Nks)]modMk]]>其中,Mk=Πs=1mNks]]>,λs要满足以下条件λs·Eβj(eks,Nks)≡1modNks,s=1,2,···,k·]]>
全文摘要
本发明涉及基于节目与用户分别分组的密钥分配方法,用以降低计算量和对传输带宽的消耗,提高系统灵活性,其特征在于,首先,在系统前端对节目进行分组而成为产品,并利用正交方法来生成节目和产品的向量与密钥;其次,该系统对用户进行地址分配和分组,并通过掩码(mask)来控制分组大小,并利用RSA算法和中国剩余定理来生成产品组密钥;同时,利用分组大小可变(由掩码来控制)的特定,根据不同产品的特点(灵活性要求不同)来确定不同的分组大小,从而在计算量和传输带宽之间进行取舍和均衡,实现最优化的匹配效果。
文档编号H04L12/56GK101026451SQ20071006349
公开日2007年8月29日 申请日期2007年2月2日 优先权日2007年2月2日
发明者王兴军, 秦军波 申请人:清华大学, 北京数字太和科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1