APP下载

数字电视条件接收系统的密钥协商与认证算法

2018-06-19刘贤洪

关键词:IC卡密钥协商

任 飞, 刘贤洪

(四川长虹电器股份有限公司, 四川 绵阳 621000)

中国的数字电视业务经历了整体转换、网络整合、增值发展几个阶段,因各网络技术标准差异性较大,仅数字电视条件接收系统(Conditional Access System,CAS)就多达20多种。为了让电视机直接接驳不同广播网的数字电视业务,适应于不同地区广电网络的条件接收系统,业界提出了数字电视机卡分离技术。即在数字电视接收终端上定义一个通用物理接口及相应通讯协议,对适于不同广电网络的条件接收系统则基于这个通用接口进行模块化定制,从而将适于大规模生产的电视接收系统与不同网络的私有管理系统分离开来。我国于2006—2007年相继出台了DTV-CI[1](Digital-TV Common Interface)和UTI[2](Universal Transport Interface)两种机卡分离行业技术标准。

图1 DTV-CI机卡分离结构示意图

条件接收系统(CAS)用于对数字电视用户进行节目授权和管理,对数字电视广播运营商至关重要。为适应不同广电网络运营商的条件接收系统,采用标准的机卡分离技术已成为数字电视一体机的重要发展趋势[3]。在DTV-CI标准中,把装载CA处理内容的模块简称为条件接收模块(Conditional Access Module,CAM),图1为DTV-CI机卡分离结构示意图[3]。

为了防止CAS的破解,确保数字电视收费运营的安全,对CA控制字防共享研究一直是数字电视广播收费运营领域CAS防破解技术的研究热点。目前,业界CAS的防破解技术包括三个研究方向[4]:

(1)防止算法破解:主要是改变早期那种仅改变了节目PID的简单算法,采用高强度加密算法,加大算法破解难度。

(2)防止IC卡破解:智能卡的破解和复制是智能卡CAS诞生之后一直面临的安全威胁[4],新一代智能卡设置了反黑客功能,能用模糊逻辑区别正常信号与试探信号,发觉被攻击能自动进入自锁,只有原厂才能开锁重新启用,从而大大增强了破译难度。

(3)防止CA系统的破解:在这个研究方向上,主要围绕两个重点进行研究。第一,防止通过CA前端软件反编译获得所有的加密算法以及密钥,目前防止除了运营商以外的第三方接触前端软件,基本可以避免;第二,防止CA控制字(CW)终端共享[4-5],在条件接收终端模块(CAM)与智能(IC)卡之间,大部分条件接收厂商采用明文通信,终端模块很方便截取明文控制字。如果将截取的明文控制字与其他设备共享,条件接收系统将无法满足运营商对节目运营授权管理的需要。因此,防控制字共享成为CAS安全的研究重点和热点。

现存的条件接收系统控制字(CW)保护技术,根据其IC卡与CAM卡之间加密传输的密钥协商方法可概括为三种:基于对称密钥的固定密钥方式[6]的控制字保护技术、基于对称密钥的动态密钥方式的控制字保护技术、基于非对称密钥的动态密钥方式[6-7]的控制字保护技术。由于现存的三种控制字保护技术都存一定的问题,要么防共享安全性能不够,要么对IC卡性能要求高、成本上升,不利于市场推广。本文提出一种基于IC卡和CAM卡的身份码加密的密钥协商机制,在不增加IC卡性能要求和成本的情况下,达到一定强度的控制字保护的安全效果,预防控制字共享导致节目流非法授权的安全风险。

1 一种身份码加密的控制字保护算法

目前数字电视条件接收系统所使用的普通IC卡,一般都内置了多种对称加密算法,已经具备加密与解密的系统能力,可以利用现有系统条件设计一种有效的密钥协商机制来实现CW加密传输,满足IC卡与CAM卡之间安全通信的要求,有效防止通过CW共享进行节目流非法授权运营的安全风险。以下是CAS中基于身份码的密钥协商算法。

1.1 准备阶段

(1)CA厂商为每台设备各分配两个指数向量α=(α1,α2,…,αn),β=(β1,β2,…,βn),其中αi∈Zp为公开参数,βi∈Zp为秘密参数;要求对于任意的两个设备U和V,均有

(1)

这样参与通信的双方U和V各有自己的指数向量αU、βU和αV、βV。

(2)函数f(K,R)可以是Hash函数、加密函数、不可逆函数或它们的组合。

(3)函数C=E(P,K)是加密算法,在密钥K的控制下将明文P加密为密文C。

1.2 执行流程

1.2.1 密钥协商阶段

(1)U产生一个随机数R1,并将R1和αU传送给V;

(2)V接收到R1和αU后,将αV传送给U;

(3)U计算KV,U和K:

(2)

K=f(KV,U,R1);

(3)

(4)V计算KU,V和K:

(4)

K=f(KU,V,R1)。

(5)

在式(3)和式(4)中的f(K,R)是双方预先约定的函数,此函数可以是散列函数、加密函数或者其他的不可逆函数,以及它们的组合。

1.2.2 密钥确认阶段

(5)U产生一个新的随机数RU,并将RU传送给V后,计算CU,V:

CU,V=E(RU,K);

(6)

(6)V也产生一个随机数RV,并将RV传送给U后,计算CV,U:

CV,U=E(RV,K);

(7)

(7)U使用自己计算出的K作为加密密钥,对RV进行加密得到CU,并将CU传送给V,这里

CU=E(RV,K);

(8)

(8)V使用自己计算出的K作为加密密钥,对RU进行加密得到CV,并将CV传送给U,这里

CV=E(RU,K);

(9)

(9)U接收V传来的CV后,比较CV和CU,V,如相同则判定对方已经产生了与自己相同的密钥;

(10)V接收U传来的CU后,比较CU和CV,U,如相同则判定对方已经产生了与自己相同的密钥;

(11)全部过程通过后,则双方将K作为共同密钥进行后续通信,从而完成密钥协商。

2 算法复杂度及对比分析

2.1 算法复杂度分析

本文的算法复杂度分析,都界定在模数为p的有限域。本算法主要涉及有限域模加、模乘、模除运算,因此算法复杂度主要依赖于这些运算的精密有效组合。CAS中基于身份码的密钥协商算法的主要计算集中在以下几个部分。

密钥K生成阶段,对用户U和V而言,需要进行两层级有限域运算:分别需要计算第一层级是模乘与模加的组合:即一次Zp域上的矩阵α=(α1,α2,…,αn)与βT=(β1,β2,…,βn)T的乘法;第二层级是特定的一次f函数。进一步在密钥确认阶段,涉及的需要进行一次运算为一次有限域模加运算。

矩阵运算需要n2次模乘和n2次模加,在实际使用中可以简化为n2次乘法、n2次加法和n次取模运算。具体实现中,模数p在计算机实现中可表示为L=「#p/32⎤个32比特字,这里的#p表示p的比特长度,两个不大于p的整数做乘法需要L2次32比特,因此矩阵乘的运算量为(n2+n)×L2。

进一步,f函数的计算复杂度则主要依赖于所使用的算法,比如加密算法AES[8-9]、SM4[10]或者杂凑函数SHA[11]、SM3[12-13]等,也可以根据实际使用,使用轻量级密码算法[14],如TWINE[15]等。

同上述推导,密钥确认阶段的运算量为n×L2,因此本文所提出算法的复杂度为(n2+2n)×L2。

安全性方面,攻击者无法从公开的公钥α=(α1,α2,…,αn)获得解密密钥β=(β1,β2,…,βn),从而无法获得明文控制字。因此可以有效地防止CAM卡对控制字的共享。

本算法充分利用了对称加密体制加密速度快、运行时占用资源少及快速密钥协商的优点,因此本文方案具有更高的计算效率。

2.2 与现存方案的对比分析

密码领域成熟的密码算法无一不是建立在公开数学难题的基础上,本文提出的基于身份码加密的控制字保护算法,契合业界的密码算法研发趋势,其安全性是建立在数学大数有限域同余运算求解的困难性上的,具备深厚的理论基础。

本文提出的控制字保护算法与现存的三种控制字防共享密钥协商方案的对比优势:

(1)与传统的基于对称密钥的固定密钥方式对比。传统的固定密钥加密方式,CA厂商在IC卡和CAM卡中预置固定密钥,IC卡在向终端CAM传输控制字之前用预置密钥对CW进行加密,CAM获得控制字密文后利用预置的密钥进行解密,进而获得原始控制字[6]。由于这种方式对IC卡资源没有特别的需求,可以在现有IC卡条件下进行软件升级即可,可以快速普及和应用,但是同一CA厂商、同一批次的CAM卡与IC卡因预置了相同的密钥,可以在使用相同的CAM终端之间共享密文控制字,获得节目流的授权,因此,固定密钥方案仍可进行控制字共享,只是降低了共享范围。本文提出的密钥协商算法具有传统固定密钥方式的优势,可以基于现有IC卡资源进行软件升级实现,同时避免了同一CA厂商、同一批次的CAM卡和IC卡控制字共享的问题。

(2)与传统的基于对称密钥的动态密钥方式对比。传统对称密钥动态解密方案,在IC卡与CAM卡中预置相同密钥,通信双方通过交换伪随机数,并用相同的方法生成通信密钥[6],不同的IC卡与CAM卡之间,以及相同的IC卡与CAM卡在不同的时刻,对控制字加密的密钥都不相同,在较大程度上防范了通过控制字共享非法获取节目流授权的安全风险。这种方式,可以只需要在现存的IC卡条件下进行软件升级实现,在一定程度提升防止控制字共享的能力,但是,可以通过对IC卡与CAM卡通信之前的握手数据的抓取和分析,实现控制字共享。本文提出的密钥协商算法,一样具备在现有IC卡条件下通过软件升级实现的优势,同时,极大程度提升了防止控制字共享的能力。

(3)与基于非对称密钥的动态密钥方式对比。非对称密钥的动态密钥方式,IC卡与CAM卡之间采用目前公钥体制中常用的RSA、ECC等非对称密钥体制进行密钥协商,确保每次生成不同的密钥,实现一次一密;利用协商生成的密钥进行加密通信[6,13],可以从根本上解决二者之间通信的安全问题。但是,由于RSA、ECC算法复杂度的大幅提升,对系统的运算资源和存储资源的需要也大幅提高,而时下数字电视CAS中大量使用低成本IC卡,其CPU资源和存储资源很难满足系统需求,需要更换为配置和性能更高的IC卡,不仅大幅提高成本,同时增加工程实施难度。本文提出的密钥协商方案,与非对称密钥方案相比,不仅具有同等的安全等级,页且不用改变当前IC卡系统配置,具有更大的市场价值。

3 实验验证与应用

3.1 实验环境

采用DTV-CI标准的机卡分离电视,配置1张CAM卡和1张数字电视IC卡,在实验中给CAM卡和IC卡分配不同的向量对。为简单起见,设在GF(28)有限域中进行计算,假设设备U为CAM卡,设备V为IC卡:

(1)为设备U分配的向量对α1=(23,56,0,0),私钥为β1=(255,7,143,115)。

(2)为设备V分配向量对α2=(45,0,76,0),私钥为β2=(201,1,249,21);设备U或设备V的向量对也可以为α3=(0,34,0,9),私钥为β3=(247,223,143,65)。

(3)取f为SHA-1函数。

3.2 实验验证

如果设备U要和设备V进行通信,则按照以下过程进行:

(1)U产生一个随机数R1,并将R1和αU一起发给V,其αU=α1=(23,56,0,0);

(2)V接收到R1和αU后,将αV传给U,其αV=α2=(45,0,76,0);

(3)U按以下方法计算KV,U和K:

modp=(23,56,0,0)×(201,1,249,21)Tmodp=71,

K=f(KV,U,R1);

(4)V按以下方法计算KU,V和K:

modp=(45,0,76,0)×(255,7,143,115)Tmodp=71,

K=f(KU,V,R1)。

从上述分析看出,KV,U=KU,V=71,并且后续一定能产生相同的K值,其协商过程比较简单,不再赘述。

3.3 产业化应用

本文提出的算法已经在长虹自研的数字电视条件接收系统中成功应用,并且实现了省级地面波数字电视项目中得到了产品化示范,其运算效率、安全强度经过丰富的市场检验。

4 结 论

本文提岀的IC卡与CAM卡之间基于身份码加密的密钥协商方案,充分利用了现今广泛使用的CAS中的IC卡系统资源能力,算法简洁、高效、安全、可靠,可以在不增加额外开销的情况下,有效预防通过CW共享进行数字电视节目流非法授权的安全风险,已经在一些典型应用中得到验证。

本文提出的密钥协商算法,除了应用数字电视条件接收系统的控制字保护领域外,还可以用于任意一种两个设备连接时的加密通信密钥协商,有着广阔的应用前景。

[ 参 考 文 献 ]

[1] 全国音频、视频及媒体系统与设备标准化技术委员会.SJ/T 11336—2006数字电视接收机条件接收接口规范 第1-1部分:DTV-CI技术规范[S].2006.

[2] 全国音频、视频及媒体系统与设备标准化技术委员会.SJ/T 11376—2007数字电视接收设备条件接受接口规范 第2-1部分:通用传送接口(UTI)技术规范[S].2007.

[3] 周师亮.机卡分离技术发展进程[J].有线电视技术,2008(7):54-56.

[4] 陈翔.数字电视条件接收系统的安全性分析[J].电视技术,2010,34(2):43-45.

[5] 曲连民,管恒钞.数字电视条件接收系统的安全性分析[J].数字技术与应用,2011(3):160-161.

[6] 吕品.数字电视条件接收系统的破解与反破解技术[J].卫星电视与宽带多媒体,2006(2):42-43

[7] 刘卫忠.数字视频广播内容安全保护关键技术研究[D].武汉:华中科技大学,2012.

[8] Federal Information Processing Standard.Advanced Encryption Standard (AES),November 2001[EB/OL].(2015-09-06)[2018-01-02].http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf.

[9] 罗影,刘冬梅,康红娟.NIST新分组密码工作模式及快速实现研究[J].通信技术,2014,7(9):1066-1070.

[10] 吕述望,苏波展,王鹏,等.SM4分组密码算法综述[J].信息安全研究,2016,2(11):995-1007.

[11] CHANG S J,PERLNER R,BURR W E,et al.Third-Round Report of the SHA-3 Cryptographic Hash Algorithm Competition[R].NIST Interagency/Internal Report (NISTIR)-7896,2012.

[12] 王小云,于红波.SM3密码杂凑算法[J].信息安全研究,2016,2(11):983-994.

[13] 杨先伟,康红娟.SM3杂凑算法的软件快速实现研究[J].智能系统学报,2015,10(6):1-7.

[14] PRENEEL B,TAKAGI T.Cryptographic Hardware and Embedded Systems[C]//International Workshop,Nara,Japan,September 28-October 1,2011.Proceedings,volume 6917 of LNCS.Berlin:Springer,2011.

[15] KOBAYASHI E,SUZAKI T,MINEMATSU K,et al.TWINE:A Lightweight Block Cipher for Multiple Platforms[C]//Selected Areas in Cryptography,volume 7707 of LNCS.Berlin:Springer,2012:339-354.

猜你喜欢

IC卡密钥协商
幻中邂逅之金色密钥
工商业IC卡控制器改造为物联网控制器实践
密码系统中密钥的状态与保护*
在用电梯加装外接式IC卡运行控制系统设计改进
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
论协商实效与协商伦理、协商能力
Rheological Properties and Microstructure of Printed Circuit Boards Modifed Asphalt
以政协参与立法深化协商民主
长春开通公交IC卡充值平