条件接收系统按层次可分别采用两种加密体制,对于控制字加密采用对称加密体制,形成用户授权控制(ECM)信息;用户授权管理(EMM)信息的加密则采用非对称加密体制。控制字和产品密钥需要经常变换,因此,对控制字和产品密钥的加密,加密算法的运行速度要求相对较高,而DES加密算法运行速度比RSA加密算法快100倍以上,从实现速度角度来考虑,DES加密算法更能满足系统的要求。
分组密钥的变化周期较长,对于加密算法的运行速度要求不是那么严格,但对于安全性的要求要高的多,同时,个人密钥生成后就不再改变,因此采用RSA加密算法,在发送端对于密钥使用公开密钥加密,在接收端用户利用自己有效的私有密钥进行解密,其运行速度和安全性都可以得到保证。
一、DES和RSA加密算法
1、DES加密算法
DES加密算法是一种典型的对称密钥加密算法,把输入的数据按64比特分组,称为明文,然后经16轮反复加密运算后输出密文,密钥长56比特,加密解密密钥相同,算法所有的保密性只依赖于密钥。DES加密技术是目前最为成熟的加密技术,然而56比特的密钥很容易被破解,使用64比特(即56比特)的DES已经远远达不到现在加密的要求,于是128位的3DES技术便取而代之。3DES加密算法是为了改进DES加密算法密钥长度不够而设计的改良算法,因而在实际中有着更广泛的应用。
2、RSA加密算法
RSA加密算法是一种非对称密钥加密算法。其安全性依赖于大数分解,如果要分解一个200位的十进制数,即使用每秒10亿次运算的超高速计算机,也要1万年。虽然从理论上没有证明RSA的破译难度与大数分解难度是等价的,但是RSA算法从提出到现在己近30年,经历了各种攻击的考验,普遍认为是目前最优秀的公钥方案之一。RSA算法的安全性与密钥长度有关,增加密钥的长度,可以增加破解难度。一般要求公开密钥与私有密钥的长度相同,现在密钥长度一般都在1024位以上。
对RSA加密算法的攻击通常不是针对算法本身进行,而是迂回攻击其中一些漏洞,如选择密文攻击、公共模数攻击、小指数攻击等。RSA的缺点是:产生密钥复杂,受素数生成技术的限制,难以做到一次一密,且分组长度太大。为保证安全性,分组长度至少要在600比特以上,使运算速度较对称密钥密码算法慢几个数量级。
二、数字电视条件接收系统中密钥的生成
数字电视条件接收系统中为了防止信息被窃,要求加密算法不能轻易被破译。同时,为了满足用户接收端的需要,加密算法的时间不应太长。针对上面介绍的两种算法
的特点,结合条件接收系统中多层加密体系,利用上述两种算法的优点,互相补充共同提高整个系统的安全性。
数字电视条件接收系统按层次分别采用两种加密体制,对于控制字加密采用对称加密体制,形成ECM信息;EMM信息的加密则采用非对称加密体制。
控制字和产品密钥需要经常变换,因此,对控制字和产品密钥的加密,加密算法的运行速度要求相对较高,而DES算法运行速度比RSA算法快100倍以上,从实现速度角度来考虑,DES算法更能满足系统的要求。
分组密钥的变化周期较长,对于加密算法的运行速度要求不太严格,但对安全性的要求较高。同时,个人密钥生成后就不再改变,因此采用RSA算法,在发送端对于密钥使用公开密钥加密,在接收端用户利用自己有效的私有密钥进行解密,使得其运行速度和安全性都可以得到保证。
1、产品密钥的生成
产品密钥(PK)是加密控制字(CW)采用的密钥,密钥取决于该节目所在的产品号Product_id。产品号经过变换后生成产品密钥,生成办法为将Prod-uct_id经过单向Hash变换成具有一定散列性质的数列,然后再与加密系统的根密钥进行XOR运算,即:
式中的BaseKey是加密系统的根密钥,出于安全性,产品密钥通常数小时更换一次。
2、超组密钥的生成
超组密钥(SGK)是加密PK采用的密钥,取决于该超组的ID号SuperGroup_id,超组号经过变换后生成超组密钥,生成办法为将SuperGroup_id经过单向Hash变换成具有一定散列性质的数列,然后再与加密系统的根密钥进行XOR运算,即:
式中的BaseKey是加密系统的根密钥,超组密钥通常6个月更换一次。
3、分组密钥的生成
分组密钥(GK)是用于加密授权EMM的指纹验证所采用的密钥,组密钥可采用通过SGK推导出多个GK的方式来得到所属超组所有的组密钥,或者SGK推导出一个GK作为该超组所有组的密钥。GK不用传输,当SGK更改时,GK也要相应更换。
4、个人密钥的生成
为了防止密钥在传送过程中被非法截获,个人密钥的分配采用双密钥法,对每一用户分配一对密钥,其中一个是使用者本人掌握的密钥称为私有密钥,它只用于解密,这个密钥存储在用户智能卡中。另一个是公开密钥,它只用于加密。两个密钥通过算法形成一一对应关系,只有通过对应的私有密钥才能解开用公开密钥所加密的数据。一般私有密钥(在条件接收系统中指个人分配密钥PDK)都存储于用户的智能卡中,所以在接收端,SGK的解密是唯一的。个人分配密钥(PDK)是用来加密SGK的密钥,每个终端设备有一个不重复的唯一的地址码Card_address,PDK是和这个地址码相关联的一个数列(密钥)。由于加密算法选择了RSA,因此生成密钥对需要一对大素数,将加密系统的根密钥作为一个素数p,Card_Address经一种单向Hash函数变换后生成另一个素数q,如下式所示:
单向Hash函数选择MD5算法。有了两个素数p和q后,用RSA的密钥生成算法生成RSA密钥对和一个模,RSA算法密钥对中的公钥作为PDK用来对密钥SGK进行加密,私钥作为存储到智能卡中的个人分配密钥PDKI,PDK与PDK1构成了双密钥。
三、数字电视条件接收系统中分层加密的实现方法
四层加密机制引入了组的概念,减少了分发ECM和EMM信息耗费的带宽和时间。但是当一个系统需要管理上千万用户和几百套节目时,向所有用户分发信息也将成为它的一个沉重负担,要使密钥安全不被破译,又使用户接收更新密钥更及时,同时还要节省带宽,对组用户的寻址方式是关键,组密钥的管理直接关系到一个条件接收系统的性能。利用超组可以使用户组变得更大,从而既可以降低带宽又可以提高产品密钥的轮发速度。
以一个超组4096张智能卡为例,每个超组包含16个一般的用户组。产品密钥用SGK来加密,这样以超组的寻址方式可以使产品密钥循环速率提高16倍。
不采用超组的方式而直接把一般组的大小增加到4096也可以提高产品密钥循环速率,但组变大以后,会使组的授权管理就变得复杂,降低系统的效率,采用超组方式,用SGK对PK进行保护,组的授权信息仍以一般组的形式进行,用GK来加密。
有超组加密机制有以下3种情况:SGK和GK相同;SGK推出超组内各个组的GK;SGK由GK加密后轮发。
图1是由SGK与GK相同的有超组加密机制。在SGK与GK相同的情况下,SGK由个人分配密钥加密,由于GK与SGK相同,GK不需要发送,因此,也就不需要占用带宽。
GK和SGK的发送也可以使用如下方式:GK由PDK加密以唯一寻址方式发送到用户,SGK由GK加密,以组寻址方式发送,其加密机制如图2所示。
在GK加密SGK情况下,Group Key和SuperGroup Key单独产生。GK由个人分配密钥加密后轮发,SGK由GK加密后轮发。由于SGK以组寻址的方式发送,所以它占的带宽很小。而PK以超组寻址的方式发送,从而减少了总的带宽。
四、密钥带宽测试结果
产品密钥带宽计算分为3种方式:无超组PK,有超组(SGK由GK加密)PK和有超组(SGK推导出GK) PK。
计算公式分别如下:
其中,ΔT:产品密钥EMM轮发周期;EMMi:产品密钥EMM包的长度;Nu:用户数;Ng:每个组用户个数;Ns:每个超组用户个数;Np:产品的个数。
根据以上3种情况,得出以下结论:
(1)四层有超组的两种方式产品密钥计算公式是相同的,所以它们的带宽是相等的。
(2)四层无超组与四层有超组的计算公式是不同的,区别在于四层无超组方式产品密钥是对组寻址的,而四层有超组方式产品密钥是对超组寻址的。表1是在特定的刷新时间下,四层无超组与四层有超组的产品密钥带宽数据。
通过图3可以看出,刷新时间与带宽成反比的关系,在四层无超组的情况下,20s欲刷新2000000万用户的产品密钥所需的带宽为6.45kbps;而在四层有超组的情况下,产品密钥所需的带宽为103.12 kbps。可以看到在相同的刷新时间下,有超组的产品密钥所占的带宽要远远大于没有超组的情况。
五、结论
论文采用了SGK和GK相同的有超组四层加密机制,密钥的刷新周期如表2所示。
在用户为2万情况下,得到的EMM宽带和总宽带如表3所示。
从实际得到宽带和通过计算得到的宽带一致,说明有超组的四层加密机制能有效降低带宽。
小知识之数字电视条件接收系统
数字电视条件接收系统是指用来控制订户(Subscriber)对广播服务或者节目进行接收的系统,即订户只能收看经过授权的广播服务或者节目。它是实现个性化服务的关键。基本目的是在电视台电视系统中对用户进行授权控制及授权管理,从而实现数据广播系统的有偿服务。