加密程序的访问控制方法 【技术领域】
本发明涉及加密程序的访问控制方法,程序由操作者传送给多个用户组,每组用户都有一个组密钥KG,当加密程序传送时,每个用户从操作者处收到一个由组密钥KG编码的操作密钥KT,从而对传送的程序解密。
背景技术
采用DVB标准,使用控制字码CW对传送的程序加密,在传送结束时再改变控制字码CW。对于同一程序或对一个新程序所采用的新控制字码和ECM及EMM等访问控制信息一起传送给用户(ECM和EMM分别为“Entitlement Control Message”和“Entitlement ManagementMessage”)。
ECM有三个字段,第一字段包括对访问加密程序的条件加以界定的访问参数,例如,接收传送程序的来源控制或地理限制;第二字段包括由操作密钥KT加密的控制字码CW;第三字段包括传送数据的完整控制参数。
EMM一般有四个字段,第一字段是用于选择专用解码器的地址字段,第二字段包括使用者的访问授权,第三字段包括由组密钥KG编码的操作密钥KT,第四字段包括传送数据的完整控制参数。
ECM和加密的程序一起传送,而EMM通常在此类程序的数据传送之前传送。
对于一组用户g来说,由组密钥KG对操作密钥KT加密的结果,在加密的EMM中发出,EMMg=F(KT,KG),其中,F是加密算法。当解码器接收这一EMM时,要核对操作密钥KT是否已经储存,例如是否储存在智能卡中。如果没有,则采用储存在智能卡中的反函数F-1译解密钥。当加密程序传送时,密钥KT被加密算法用来为曾对传送程序的数据加密地控制字码CW进行解密。
图1为接收由操作者1传送的加密程序的系统的示例图解。为了接收这些程序,用户需要接收器2,解码器4,必须插入解码器4的智能卡6,而在智能卡上储存了由一组智能卡N所共有的组密钥KG,例如,N为256。连接到用户电话线的调制解调器8提供用户和操作者1之间的反馈通路。天线装置12接收由操作者1传送的信号,并将其传送给解码器4。
图2为图1的工作系统图。
采用各组的组密钥KG加密的操作密钥KT由操作者1发送给传送系统14(箭头15)。传送系统14将全部EMMi=F(KGi,KT)发送到各个解码器4(箭头17)。各个解码器4把各组的EMMg传输给g组中一个用户的智能卡6(箭头18)。智能卡6收到EMMg时,利用组密钥KG译解密钥KT,并将已解密的密钥储存起来。到了加密程序的传送日期,操作者以循环方式,将ECMis和加密程序一起传送给解码器4。当解码器4收到ECMis时,选择传送的密钥KT的ECMis,并将其发送到智能卡。
这种方法有一个缺点是由下列情况引起的:操作密钥KT为全体使用者所共有。这样一来,一个用户如果成功地找出了组密钥,就有可能对操作密钥KT进行欺诈性的计算并加以传递。
本发明的目的是,识别对操作密钥KT进行欺诈性传送的起始地址。
本发明的另一个目的是,使可能的欺诈者无法预测操作密钥KT的使用日期。
在本发明的第一个实施方案中,其方法包含以下步骤:
在传送加密程序之前,
a.将加密操作密钥KT连接到一个随机值R,产生一个保密代码;
b.将该保密代码传送给用户;
c.只是在传送加密程序后,才将随机值R传送给用户,用来计算操作密钥KT。
按照本发明,采用可逆的可逆的运算函数计算保密代码。
按照本发明,可逆的运算函数为逻辑操作XOR。
按照本发明,计算出的保密代码储存在智能卡中。
在本发明的第二实施方案中,各个用户可以从操作者处接收操作密钥KTi的完整号码m,用来对传送的程序进行解密。该方法包括以下步骤:
在加密程序传送之前,
a.将每个加密操作密钥KTi连接到一个随机值Ri,产生一整套确
切的保密代码的号码r;
b.将产生的保密代码传送给各个用户;
c.只是在传送加密程序时,并且在操作者选择的期间内,将随机值
Ri传送给用户,用于计算m个KTi密钥中的一个操作密钥KTi;
d.将一个新的随机值Ri传送给用户,改变操作密钥KTi。
按照本实施方案的一个特性,将随机值Ri陆续传送给用户的各次日期是无法预测的。
按照本发明,每个保密代码采用一种可逆运算函数进行计算。
按照本发明,计算出的每个保密代码储存在智能卡中。
由于有了本发明,如果诈骗者想在需要解密的程序传送之前公开传送密钥KT,他必须传送EMMg的数值,这就使操作者能够识别诈骗者所在的组。
【附图说明】
参照附图,以下描述可以作为没有限制的示例,从而明显地看出本发明的其他特性及优点:
- 图1表示用于接收加密程序的系统的已知示例;
- 图2表示图1所示系统的工作图;
- 图3表示本发明方法的第一实施方案;
- 图4表示本发明方法的第二实施方案。
【具体实施方式】
在下列描述中,采用相同的数字,标识现有技术和本发明方法所共有的部件及步骤。
参照图3,操作者1将随机值R连接到操作密钥KT,并将产生的保密代码发
送到传送系统14(箭头15)。最好是采用组密钥KG加密的操作密钥KT,用逻辑操作XOR与保密随机值R结合。只有在显示随机值R时,才能译解所产生的代码。然后传送系统14将根据下列公式计算的EMM发送给组i的每个解码器4(箭头17),i指n个不同组中的一组用户:
ECM=RF(EMMgR,KG)
组i的每个解码器4将EMMi传输给智能卡6(箭头18)。在加密程序的传送日期,操作者以循环方式,将ECMs和该程序一起传送给解码器4。这些ECMs包含用来对传送的程序中的数据进行加密的控制字码CW。解码器4为密钥KT选择ECMis,并将其发送到智能卡6,智能卡6储存所产生的保密代码。只要操作者还没有传送随机值R,智能卡就不会译解保密代码,而显示操作密钥KT。这使操作者可以尽量晚地传送随机值R,即只在需要用操作密钥KT译解控制字码CW时,才传送随机值R。一旦用过密钥KT,操作者就把下列数值传送给解码器4:
ECM=RF(EMMgR,KG).
然后智能卡储存的运算法则可以通过完成下述操作,计算操作密钥KT的数值:
KT=F-1(EMMgR,KG)
然后可以通过下列公式显示控制字码:
CW=F-1(ECM,KT)
如果诈骗者想在开始传送加密程序之前公开传送密钥KT,他必须传送连接到组密钥KG的数值EMMg,操作者就能识别诈骗者所在的组,并且撤销这个组的访问权力。
因此,这一实施方案可以劝阻诈骗者在收到EMMs时传送操作密钥KT。
然而,在由操作者显示数值R后,可以重新计算操作密钥KT的数值,并公开传送。
进一步,为了防止这种传送,或者至少使之复杂化,按照图4所示的本发明的第二实施方案,操作者1将操作密钥KT1,KT2...KTi,KTm等整套号码m发送到传送系统14(箭头15)。每个密钥KTi采用组i的组密钥KG进行加密,并采用只有操作者知道的逻辑操作XOR连接到保密随机值Ri,采用这种方法产生的保密代码,只有在显示数字Ri时才能被译解。
传送系统14将采用下式计算的全部EMMs传送给每个解码器4(箭头17):
EMMi=F(KGi,KT1)R1‖F(KGi,KT2)R2‖...F(KGi,KTi)
Ri‖.....F(KGi,KTm)Rm‖.
其中,符号‖代表串联操作。
组i的解码器4将该组的EMMi传输到智能卡6(箭头18)。在加密程序的传送日期,操作者以循环方式,将ECMs和加密程序一起,传送给解码器4。这些ECMs包含用来对传送程序中的数据进行加密的控制字码CW。解码器4选择与密钥KTi相匹配的ECMis,并将其发送到智能卡6,智能卡6储存所产生的保密代码。只要操作者还没有传送随机值R,智能卡就不会译解保密代码,而显示操作密钥KTi。每个密钥KTi继续储存在智能卡6中。
数值Ri经由ECMs传送,与用来对控制字码加密的密钥相一致。
一旦用过密钥KTi,操作者就把下列ECM传送给解码器4:
ECM=Ri‖F(CW,KTi)
这一实施方案将不同的操作密钥KTi分配到充分短的而且无法预测的有效时期中,从而在数字Ri一旦显示之后,使密钥KTi的欺诈性传送复杂化。
由于有了第二实施方案,操作者可以根据所传送的程序的意愿,以无法预测的方式改变密钥KTi。