一种安全下载方法及数字电视接收终端
技术领域
本发明涉及一种数字电视技术,尤其涉及一种安全下载方法及数字电视接收终端。
背景技术
随着《下一代广播电视网(NGB)终端中间件技术规范》的出台,以及三网融合试点城市的推行,三网融合的实施已经势在必行。三网融合后,应用下载的安全性、规范性成为许多工程技术人员研究的课题,特别是在Andriod智能终端。
目前现有技术,数字电视终端的关于业务和应用的安全性,一般是通过CA加密的方法实现的,用户可以直接从应用商店下载,没有安全性的验证。至少存在以下缺陷:(1)应用来源没有可管可控;(2)应用数据的安全性和完整性没有得到验证;(3)应用的不可控导致运营商的利益没有保障。
发明内容
本发明实施例所要解决的技术问题在于,提供一种安全下载方法及数字电视接收终端。可解决应用来源不可管控、应用数据安全性和完整性没有得到验证、运营商利益没有保障等问题,提高用户体验度的同时保证终端下载的安全性。
为了解决上述技术问题,一方面,本发明实施例提供了一种安全下载方法,包括:
下载证书链文件,并获取根证书文件;
将所述根证书文件与数字电视接收终端的预制根证书进行证书比对校验;
若证书校验比对一致,下载应用。
优选的,所述下载证书链文件,并获取根证书文件之前还包括:数字电视接收终端获取并解析资源访问权限文件,判定应用是否合法;
所述资源访问权限文件用于给出资源访问权限、应用下载路径以及应用的合法性。
其中,所述合法应用应具有三个文件:应用文件、证书链文件、签名文件;所述应用文件用于给出应用的实际数据;所述证书链文件用于给出证书链层级关联关系;所述签名文件用于给出应用文件的签名。
其中,所述下载证书链文件,并获取根证书文件还包括:同时从证书链文件中解析出证书链层级关联关系;按照所述证书链层级关联关系,依次利用证书校验证书签名的层级校验;所述层级关联关系是指证书间的签名校验关系。
优选的,所述按照所述证书链层级关联关系,依次利用证书校验证书签名包括:
根据所述证书链层级关联关系,利用根证书对运营商证书进行签名校验;若校验通过,利用运营商证书对CAS提供商证书进行签名校验;
若校验通过,利用CAS提供商证书对内容商证书进行签名校验;
若校验通过,利用内容商证书对开发者授权证书进行签名校验;
若校验通过,则从前端下载应用文件和第一签名文件,利用所述开发者授权证书校验所述第一签名文件,并获取解密所述应用文件的密钥。
优选的,所述CAS通过所述密钥解密所述应用文件,并通过哈希算法得到所述应用文件的第二签名文件。
优选的,将通过哈希算法得到的所述应用文件的第二签名文件和下载获取得到的所述第一签名文件进行比对,如果不一致,结束进程,下载失败,如果一致,则成功下载应用。
本发明实施例还提供了一种数字电视接收终端,包括:
应用下载模块,用于下载证书链文件,从所述证书链文件中获取根证书文件,还用于下载应用文件和第一签名文件;
证书校验模块,用于根据从所述证书链文件中获取根证书文件与所述预制证书进行证书比对校验。
优选的,数字电视接收终端还包括:
权限判定模块,用于获取并解析资源访问权限文件,并根据所述资源访问权限文件判定应用是否合法。
优选的,所述证书校验模块还包括:
层级校验单元模块,用于依次通过根证书对运营商证书进行签名校验、运营商证书对CAS提供商证书进行签名校验、CAS提供商证书对内容商证书进行签名校验、内容商证书对开发者授权证书进行签名校验、开发者授权证书对应用的签名文件进行多层级的签名校验;
以及利用所述开发者授权证书校验所述第一签名文件,并获取解密所述应用文件的密钥。
优选的,所述证书校验模块还包括:
条件接收解密单元模块,用于CAS利用所述密钥解密应用文件。
优选的,所述证书校验模块还包括:
算法解析单元模块,用于根据获取到解密后的应用文件,通过哈希算法解析所述应用文件得到的第二签名文件。
优选的,所述证书校验模块还包括:
签名比对单元模块:用于将通过哈希算法解析应用文件得到的第二签名文件和下载获取得到的所述第一签名文件进行比对,如果不一致,结束进程,下载失败;如果一致,则下载应用。
实施本发明实施例,具有如下有益效果:
本发明实施例根据证书链的层级关联关系层层校验证书签名,应用的下载需要经过应用产业链上每个环节的层层签名验证,通过对下载应用的来源可管可控,保障了应用的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一种安全下载方法的第一实施例流程示意图;
图2是本发明一种安全下载方法的第二实施例流程示意图;
图3是本发明一种数字电视接收终端的第一实施例结构示意图;
图4是本发明一种数字电视接收终端的第二实施例结构示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,数字电视接收终端可以为数字电视机顶盒,数字电视一体机等具备单向或双向数字电视功能的设备。
请参照图1,为本发明一种安全下载方法第一个实施例流程示意图。如图1所述,本实施例所述的一种基于证书链的安全下载方法包括步骤:
步骤S101:获取并解析资源访问权限文件;
具体的,所述数字电视接收终端从前端获取资源访问权限文件,解析所述获取到的资源访问权限文件;
所述资源访问权限文件用于给出资源访问权限、应用下载路径以及所需下载应用的合法性。
步骤S102:根据所述资源访问权限文件判定应用是否合法;
具体的,所述数字电视接收终端根据解析所述资源访问权限文件的内容判定应用是否合法;若不合法,转向步骤S107;若合法,转向步骤S103。
所述应用是指可以运行于数字电视接收终端的一些独立的运行的程序,比如:微博、阅读器、音乐播放器、日历、计时器等。
步骤S103:所述数字电视接收终端从数字电视系统前端下载证书链文件,并从所述证书链文件中获取根证书文件;
具体的,根证书与数字电视接收终端中安全芯片的芯片标识(chipid)是一一对应的,安全芯片的芯片标识(chipid)是用于区别数字电视接收终端的唯一标识,也就是说,每台数字电视接收终端的根证书也是唯一的。数字电视接收终端出厂前,预先将与所述安全标识对应的根证书写入到数字电视接收终端的Flash中的,并保存在Flash的WP(写保护)区域,定义为预制根证书,所述预制根证书是不能被修改的;
所述预制根证书与数字电视接收终端的芯片标识(chipid)在数字电视接收终端生产时生成对应关系,同时形成对应关系文件;所述对应关系文件与所述预制根证书由机顶盒厂商在数字电视接收终端出厂的时候提供给运营商,并在运营商前端的安全认证中心形成根证书与chipid对应关系的记录,数字电视接收终端只有所述对应关系的记录才是合法的终端。
所述证书链文件解析给出用于证书间校验的层级关联关系;所述层级关联关系是指用证书1来校验证书2的签名,用证书2来校验证书3的签名,以此类推,如果是单层级校验,只需从证书链中获取根证书文件
步骤S104:根据从所述证书链文件中获取根证书文件与所述预制根证书进行证书比对校验;
具体的,利用从所述下载的证书链文件中获取的根证书文件来比对校验由机顶盒厂商在数字电视接收终端出厂前保存所述终端的Flash的WP(写保护)区域、在出厂的时候提供给运营商前端的安全认证中心形成根证书与芯片标识(chipid)对应关系记录的预制根证书。
步骤S105:所述数字电视接收终端判断证书比对校验是否通过;若不通过,转向步骤S107;若通过,转向步骤S106。
步骤S106:成功下载应用。
步骤S107:下载失败。
请参照图2,为本发明一种安全下载方法第二个实施例流程示意图。如图2所示,本实施例所述的一种安全下载方法包括步骤:
步骤S201:数字电视接收终端获取并解析资源访问权限文件;
具体的,所述数字电视接收终端从前端获取资源访问权限文件,解析所述获取到的资源访问权限文件;所述资源访问权限文件用于给出资源访问权限、应用下载路径以及应用的合法性;所述资源访问权限是指所述数字电视接收终端是否有权限访问下载应用。
步骤S202:所述数字电视接收终端判定应用是否合法;所述数字电视接收终端通过解析资源访问权限文件判定应用是否合法;如果应用不合法,转向步骤S214,结束进程,下载失败;如果应用合法,转向步骤S203;
所述合法应用应具有三个文件:应用文件、证书链文件、签名文件;所述应用文件用于给出所述应用的实际数据;所述证书链文件用于给出证书链层级关联关系;所述签名文件用于给出应用文件的签名。
步骤S203:所述数字电视接收终端从数字电视系统前端下载证书链文件,从证书链文件中解析出证书链层级关联关系,以及从所述证书链文件中获取根证书文件;
具体的,证书链是指颁发该证书的CA(条件接收)签名,多个证书可以绑定到一个下载应用上形成证书链,证书链用于给出证书间的层级关联关系;
所述层级关联关系是指证书间的签名校验关系;
根据所述证书链层级关联关系,用证书校验证书签名;
所述证书间签名校验关系在一个典型实施例中,层级关联关系如下:根证书对运营商证书进行签名校验、运营商证书对CAS(条件接收系统)提供商证书进行签名校验、CAS提供商证书对内容商证书进行签名校验、内容商证书对开发者授权证书进行签名校验、开发者授权证书对应用签名文件进行签名校验;
步骤S204:所述数字电视接收终端将预制在数字电视接收终端内的根证书和获取的根证书文件进行比对;所述数字电视接收终端获取位于Flash存储器内WP区域的根证书,即预制根证书,并将所述预制根证书和所述从证书链文件中获取到的根证书文件进行比对;如果不一致,转向步骤S214,结束进程,下载失败;如果一致,转向步骤S205。
步骤S205:所述数字电视接收终端使用根证书校验运营商证书签名;
具体的,所述数字电视接收终端使用根证书对证书链中的运营商证书签名进行校验;如果校验不通过,转向步骤S214,结束进程,下载失败;如果校验通过,转向步骤S206。
步骤S206:所述数字电视接收终端使用运营商证书校验CAS提供商证书签名;
具体的,所述数字电视接收终端使用运营商证书对证书链中的CAS提供商证书签名进行校验;如果校验不通过,转向步骤S214,结束进程,下载失败;如果校验通过,转向步骤S207。
步骤S207:所述数字电视接收终端使用CAS提供商证书校验内容商证书签名;
具体的,所述数字电视接收终端使用CAS提供商证书对证书链中的内容商证书签名进行校验;如果校验不通过,转向步骤S214,结束进程,下载失败;如果校验通过,转向步骤S208。
步骤S208:所述数字电视接收终端使用内容商证书校验开发者授权证书签名;
具体的,所述数字电视接收终端使用内容商证书对证书链中开发者授权证书签名进行校验;如果校验不通过,转向步骤S214,结束进程,下载失败;如果校验通过,转向步骤S209。
步骤S209:所述数字电视接收终端下载应用文件和第一签名文件;
具体的,所述数字电视接收终端从前端下载应用文件和第一签名文件,所述应用文件是指应用的实际数据,所述应用实际数据是通过CAS加密的,所述第一签名文件是指解密应用文件的签名文件。
步骤S210:所述数字电视接收终端使用开发者授权证书校验第一签名文件,并获取解密应用文件的密钥;
所述密钥用于数字电视接收终端的CAS解密应用文件;
具体的,所述数字电视接收终端使用证书链中开发者授权证书校验所述第一签名文件;如果校验不通过,转向步骤S214,结束进程,下载失败;如果校验通过,转向步骤S211。
步骤S211:所述数字电视接收终端的CAS通过所述密钥解密应用文件,并通过哈希算法得到应用文件的第二签名文件;
具体的,所述数字电视接收终端的CAS解密应用文件;解密所述应用文件所采用的密钥是在所述数字电视接收终端使用开发者授权证书校验第一签名文件校验通过后才可以获取得到的,所述密钥对应用文件的加解密算法是由CAS决定的;
同时,所述数字电视接收终端获取到解密后的应用文件后,还需通过哈希算法得到应用文件的第二签名文件,所述哈希算法用于将任意文件映射成固定长度的较小二进制数据,从而校验数据的完整性,数字电视接收终端对解密后的应用文件采用哈希算法,生成得到二进制数据,称之为应用文件的第二签名文件。
步骤S212:所述数字电视接收终端将通过哈希算法得到的应用文件的第二签名文件和下载获取得到的所述第一签名文件进行比对;如果不一致,转向步骤S214,结束进程,下载失败;如果一致,转向步骤S213。
步骤S213:所述数字电视接收终端成功下载应用。
步骤S214:所述数字电视接收终端结束进程,下载失败。
通过本发明提出的一致基于证书链的应用安全下载方法,通过层级校验的方式,来约束提供应用和运营应用的各方,从而保证应用的安全下载,保障运营商的既得利益。
下面阐述本发明实施例提供的一种数字电视接收终端的具体实现。
请参照图3,为本发明数字电视接收终端第一实施例结构示意图。如图3所示,本实施例所述的一种数字电视接收终端包括:
权限判定模块100,用于获取并解析资源访问权限文件,并根据所述资源访问权限文件判定应用是否合法。
具体的,数字电视接收终端从前端获取资源访问权限文件,解析所述获取到的资源访问权限文件;
所述资源访问权限文件用于给出资源访问权限、应用下载路径以及所需下载应用的合法性。
具体实施例中,所述数字电视接收终端根据解析所述资源访问权限文件的内容判定应用是否合法;若不合法,则下载失败;若合法,转向下一步骤。
应用下载模块200,用于所述数字电视接收终端下载证书链文件,从所述证书链文件中获取根证书文件;
具体实施例中,所述证书链文件解析给出用于证书间校验的层级关联关系;所述层级关联关系是指用证书1来校验证书2的签名,用证书2来校验证书3的签名,以此类推,如果是单层级校验,只需从证书链中获取根证书文件;
此外,所述应用下载模块200还用于所述数字电视接收终端下载应用文件和第一签名文件;
具体的,所述数字电视接收终端从前端下载应用文件和第一签名文件,所述应用文件是指应用的实际数据,所述应用实际数据是通过CAS加密的,所述第一签名文件是指解密应用文件的签名文件。
证书校验模块300,用于根据从所述证书链文件中获取根证书文件与所述预制证书进行证书比对校验。
具体实施例中,利用从所述下载的证书链文件中获取的根证书文件来比对校验由机顶盒厂商在数字电视接收终端出厂前保存所述终端的Flash的WP(写保护)区域、在出厂的时候提供给运营商前端的安全认证中心形成根证书与芯片标识(chipid)对应关系记录的预制根证书。
所述证书校验模块300判断证书比对校验是否通过,判断是否通过;若不通过,则下载失败;若通过,成功下载应用。
请参照图4,为本发明一种数字电视接收终端第二实施例结构示意图。如图4所示,本实施例所述的一种数字电视接收终端包括:
权限判定模块100、应用下载模块200、证书校验模块300。
其中,本实施例的数字电视接收终端的证书校验模块300还可进一步包括:
层级校验单元模块301,用于依次通过根证书对运营商证书进行签名校验、运营商证书对CAS(条件接收系统)提供商证书进行签名校验、CAS提供商证书对内容商证书进行签名校验、内容商证书对开发者授权证书进行签名校验、开发者授权证书对应用的签名文件进行多层级的签名校验。
此外,利用应用下载模块200下载应用文件和第一签名文件,所述数字电视接收终端从前端下载应用文件和第一签名文件,所述应用文件是指应用的实际数据,所述应用实际数据是通过CAS加密的,所述第一签名文件是指解密应用文件的签名文件。
条件接收解密单元模块302,用于CAS利用密钥解密应用文件;
解密所述应用文件所采用的密钥是在所述数字电视接收终端使用开发者授权证书校验应用文件的第一签名文件校验通过后才可以获取得到的,其中,所述密钥对应用文件的加解密算法是由CAS决定的。
算法解析单元模块303,用于根据获取到解密后的应用文件,通过哈希算法解析所述应用文件得到的第二签名文件;
具体的,获取到解密后的应用文件后,还需通过哈希算法对应用文件进行解析,得到第二签名文件,所述哈希算法用于将任意文件映射成固定长度的较小二进制数据,从而校验数据的完整性,数字电视接收终端的算法解析单元模块303对解密后的应用文件采用哈希算法,生成得到二进制数据,称之为应用文件的第二签名文件。
签名比对单元模块304:用于将通过哈希算法得到的应用文件的第二签名文件和下载获取得到的所述第一签名文件进行比对;如果不一致,结束进程,下载失败;如果一致,则成功下载应用。
通过上述实施例的描述,本发明具有以下优点:
本发明实施例通过对下载应用的来源可管可控,应用的下载需要经过应用产业链上每个环节的层层签名验证,保障了应用的安全性;(2)采用层层加密签名的方法,使得应用数据的安全性和完整性得到保证;(3)应用的可管可控使得运营商的既得利益得到保障。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。