首页> 中国专利> 一种高级安全芯片的安全启动方法及智能电视

一种高级安全芯片的安全启动方法及智能电视

摘要

本发明公开了一种高级安全芯片的安全启动方法及智能电视,所述方法包括:当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功;若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式;若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区;若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。本发明可以确保电视软件系统的安全可靠性以及避免发生用户隐私数据泄露。

著录项

  • 公开/公告号CN113032031A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 深圳创维-RGB电子有限公司;

    申请/专利号CN202110367564.9

  • 发明设计人 付华东;王鵾;许福;

    申请日2021-04-06

  • 分类号G06F9/4401(20180101);G06F21/44(20130101);

  • 代理机构44268 深圳市君胜知识产权代理事务所(普通合伙);

  • 代理人朱阳波

  • 地址 518052 广东省深圳市南山区深南大道创维大厦A座13-16楼

  • 入库时间 2023-06-19 11:35:49

说明书

技术领域

本发明涉及智能电视技术领域,尤其涉及一种高级安全芯片的安全启动方法、智能电视及计算机可读存储介质。

背景技术

电视是传播文化和信息的重要工具,电视节目富于教育性和娱乐性,也是知识的源泉。坐在家里看电视就可知道国家和世界大事,增长知识面,放松紧张的学习,可以更好的为学习准备,学习标准的普通话。看电视还可以开拓视野,愉悦身心。

电视产品作为家庭网络的终端及中心,家庭所有的成员都会使用电视,目前电视面临着越来越严峻的安全威胁。电视产品的安全主要涉及到电视产品的自身、数据的传输、IPTV、多屏手机端等多个层次。因此完全有必要基于安全威胁分析采用相对应的安全措施,从而避免电视软件系统受到黑客攻击或者被恶意刷机,以确保电视软件系统的安全可靠性以及不会发生用户隐私数据泄露等问题。

因此,现有技术还有待于改进和发展。

发明内容

本发明的主要目的在于提供一种高级安全芯片的安全启动方法、智能电视及计算机可读存储介质,旨在解决现有技术中电视软件系统的安全可靠性不高以及发生用户隐私数据泄露的问题

为实现上述目的,本发明提供一种高级安全芯片的安全启动方法,所述高级安全芯片的安全启动方法包括如下步骤:

当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功;

若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式;

若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区;

若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。

可选地,所述的高级安全芯片的安全启动方法,其中,所述当智能电视开机启动后进行Boot签名的安全校验,并判断校验是否成功,之后还包括:

若安全校验失败,则复位重新开始进行Boot签名的安全校验。

可选地,所述的高级安全芯片的安全启动方法,其中,所述若当前的启动模式为Kernel模式,则校验Kernel分区签名,之后还包括:

若Kernel分区签名校验失败,则进入Recovery模式,并校验Recovery分区签名。

可选地,所述的高级安全芯片的安全启动方法,其中,所述若当前的启动模式为Recovery模式,则校验Recovery分区签名,之后还包括:

若Recovery分区签名校验失败,则复位重新开始进行Boot签名的安全校验。

可选地,所述的高级安全芯片的安全启动方法,其中,所述对高级安全芯片进行Boot签名的安全校验,之前还包括:

在所述智能电视开机启动时,所述高级安全芯片执行固化在芯片内容的BootRom代码;

通过校验KeyArea区域签名获取公钥,使用公钥校验Param区域签名,并使用Param加载Boot区数据到DDR继续进行签名校验。

可选地,所述的高级安全芯片的安全启动方法,其中,所述高级安全芯片的安全启动方法还包括:

在Boot启动过程中,校验Bootargs、Kernel以及敏感分区,如果校验失败则自动进入Recovery界面,等待系统重新升级。

可选地,所述的高级安全芯片的安全启动方法,其中,所述高级安全芯片的安全启动方法还包括:

若Recovery分区签名校验成功则进入Recovery模式,等待升级;

若Recovery分区签名校验失败则重启所述智能电视,反复验证Recovery分区,并且需要重新烧录Recovery分区后正常启动。

可选地,所述的高级安全芯片的安全启动方法,其中,所述高级安全芯片的安全启动方法还包括:

当正常启动Kernel分区后,启动system分区;

在对system分区进行修改时,在shell中重新挂载system分区。

此外,为实现上述目的,本发明还提供一种智能电视,其中,所述智能电视包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的高级安全芯片的安全启动程序,所述高级安全芯片的安全启动程序被所述处理器执行时实现如上所述的高级安全芯片的安全启动方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有高级安全芯片的安全启动程序,所述高级安全芯片的安全启动程序被处理器执行时实现如上所述的高级安全芯片的安全启动方法的步骤。

本发明中,当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功;若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式;若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区;若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。本发明从软件系统架构和应用软件安全校验出发,对系统的引导、内核、升级以及应用软件等添加了安全策略,具有良好的安全性,能够进行快速推广,具有广泛的应用价值,可以确保电视软件系统的安全可靠性以及避免发生用户隐私数据泄露。

附图说明

图1是本发明高级安全芯片的安全启动方法的较佳实施例的流程图;

图2是本发明高级安全芯片的安全启动方法的较佳实施例中整个执行过程的原理示意图;

图3为本发明智能电视的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的高级安全芯片的安全启动方法,如图1和图2所示,所述高级安全芯片的安全启动方法包括以下步骤:

步骤S10、当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功。

其中,高级安全芯片(简称高安芯片)是一种可以提供更安全保护措施的芯片,与传统芯片相比,增加了安全信息处理模块,提供唯一标注符CHIPID(即芯片ID),方便与数字一体机CA卡绑定,支持Boot(Boot指的是引导程序,此程序可以先行进入系统,获得系统的控制权,然后导入所有的操作系统程序)安全启动,提供Boot签名校验和加密机制,内置安全CPU,支持JTAG(Joint Test Action Group,国际标准测试协议)保护。

例如,以海思V811高安芯片为例,高安芯片启动时会完成对Boot镜像的签名校验,确保Boot安全,对于非Boot镜像,高安芯片提供特定签名模式和通用签名模式两种方法对其进行校验,确保分区安全。特定签名模式用于镜像需要加密的场景,其结构通常为签名头,镜像和签名尾。通用签名模式用于安全性要求不高的场景,镜像以明文存储在Flash中,其结构通常为镜像和签名尾。

当智能电视开机启动后,所述智能电视的系统会对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功。

步骤S20、若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式。

当安全校验成功后判断当前启动模式,根据标志位不同,判断当前的启动模式,所述启动模式包括Recovery模式(Recovery是Android设备备份功能,指的是一种可以对安卓设备内部的数据或系统进行修改的模式,在这个模式下可以,对已有的系统进行备份或升级,也可以在此恢复出厂设置)和Kernel模式(内核模式,在内核模式下,正在执行的代码具有对底层硬件的完整且不受限制的访问,它可以执行任何CPU指令并引用任何内存地址。内核模式通常保留给操作系统的最低级别,最受信任的功能),即根据标志位不同分别启动Recovery分区或者Kernel分区。

进一步地,如图2所示,若安全校验失败,则复位重新开始进行Boot签名的安全校验。

步骤S30、若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区。

当启动模式为Kernel模式,则校验Kernel分区签名,并判断校验Kernel分区签名是否成功,若Kernel分区签名校验成功则启动Kernel分区,即校验Kernel分区成功则正常进入Android系统。

进一步地,如图2所示,若Kernel分区签名校验失败,则进入Recovery模式,并校验Recovery分区签名。

步骤S40、若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。

当启动模式为Recovery模式,则校验Recovery分区签名,并判断校验Recovery分区签名是否成功,若Recovery分区签名校验成功则启动Recovery分区,即进入Recovery升级模式。

进一步地,如图2所示,若Recovery分区签名校验失败,则复位重新开始进行Boot签名的安全校验。

例如,海思芯片中有个OTP模块,OTP(One Time Program)是芯片内部的安全和敏感数据存放区域,只可进行一次编程。此安全存储区域用于存储校验秘钥,ITVID等,存放在OTP中的数据可永久保存,且不能被篡改。开机启动过程中对将要加载运行的镜像进行完整性校验,防止系统软件被恶意篡改。

进一步地,为了防止恶意刷机,基于高安芯片的系统会对开机启动引导模块进行签名校验。当智能电视开机启动时,高安芯片会首先执行固化在芯片内容的BootRom代码(BootRom是嵌入处理器芯片内的一小块掩模ROM或写保护闪存,它包含处理器在上电或复位时执行的第一个代码),通过校验KeyArea(关键区或者敏感区)区域签名,获取公钥,用公钥校验Param区域签名,然后用Param加载Boot区数据到DDR继续进行签名校验。校验通过后,跳转至Boot,也就是系统的Bootloader进行下一步启动。整个过程由高安芯片完成,无需软件系统处理。海思安全芯片进行了统一fastboot设计,即非高安fastboot、高安签名Finalboot可以兼容,非安全芯片烧写高安签名Finalboot也可以启动。所以量产时Flash烧片阶段就可以直接烧高安签名Finalboot。

与常规系统不同,BootLoader启动Kernel时需要对相应分区进行签名校验。因为高安芯片启动时仅保证BootLoader安全,而其它分区不受校验。此时需要由BootLoader来保证敏感区域的安全。在Boot启动过程中,会校验Bootargs、Kernel以及其它敏感分区,如果校验失败,会自动进入Recovery界面,等待系统重新升级。

当触发Recovery模式时,BootLoader会引导系统启动Recovery。由于升级包验证是安全环节的重要组成部分,通常Recovery分区也要进行签名校验。常规分区签名校验在启动Kernel时完成,这里只需要签名校验Recovery分区即可。验证通过后会进入Recovery模式,等待升级。验证失败后会重启智能电视,反复验证Recovery分区。此时需要重新烧录Recovery分区才能正常启动。

Android系统安全,系统正常启动Kernel分区后,将会启动system分区。system分区在init.rc里挂载为只读分区,确保不会被人破坏。开发人员在对system分区进行修改时,会在shell里面重新挂载system分区。因此shell命令需要做限制。Android系统通过串口或者adb命令进入shell,与系统进行交互,为了兼容开发和安全,可以在init.rc里设置trigger,控制console和adbd服务开关,方便shell交互,后期将开关关闭,修改init.rc脚本如下:

将adbd服务disable掉,由属性persist.sys.openadb控制开关:

on property:persist.sys.openadb=1;

start adbd;

on property:persist.sys.openadb=0;

stop adbd;

on property:persist.sys.openconsole=1;

start console;

on property:persist.sys.openconsole=0;

stop console;

增加控制这两个属性的入口,后期去掉。整机系统默认这两个属性为关,因此在系统配置文件build.prop中需要添加persist.sys.openadb=0和persist.sys.openconsole=0,这样保证出厂软件默认关闭串口和adb命令交互。

进一步地,编译安全的签名镜像文件方法,更改如下:

(1)以海思V811-Q80机型为例,lunch V811-Q80的mk修改:

修改前:

HISI_SDK_ANDROID_CFG:=sky_hi3751v811_A9H88_Q80_android_64bit_3072M_4layer_cfg.mak ATF_FILE_NAME:=atf.bin;

EMMC_OUT:=$(PRODUCT_OUT)/Emmc;UPDATE_SCRIPT_FILE:=bootable/recovery/etc/META-INF/com/google/android/updater-script-emmc;

修改后:

HISI_SDK_ANDROID_CFG:=sky_hi3751v811_A9H88_Q80_android_64bit_3072M_4layer_tee_cfg.mak ATF_FILE_NAME:=atf_tee.bin;

EMMC_OUT:=$(PRODUCT_OUT)/Security_L2/PRODUCTIONUPDATE_SCRIPT_FILE:=bootable/recovery/etc/META-INF/com/google/android/updater-script-emmc-security;

增加:

HISILICON_TEE:=true;

BOARD_WITH_TEEOS:=true。

(2)相应的cfg.mak配置文件的修改:

修改前:

CFG_HI_KERNEL_CFG=hi3751v810_arm64_android_defconfig;

修改后:

CFG_HI_KERNEL_CFG=hi3751v810_arm64_android_tee_defconfig;

增加:

CFG_HI_ADVCA_SUPPORT=y;

CFG_ADVCA_OTHER=y;

CFG_HI_ADVCA_TYPE=OTHER;

CFG_HI_ADVCA_USE_EXT1_RSA_KEY=y;

CFG_HI_TVP_SUPPORT=y。

(3)修改分区表:

由于安全版本会编译trustedcore.img和securestore.ext4,需要对其升级和烧录做出相关的定义,否则无法正常工作,修改xml分区表文件如下,增加这两个分区:

进一步地,应用软件安全校验机制,通过应用自签名和厂家应用商店签名的方式确保合法应用能够正常下载与安装,未知或不可靠来源的应用将不能安装。

应用自签名是通过数字签名来标识应用程序的开发者和在应用程序之间建立信任关系,该数字签名由应用开发者完成统一签名,该签名并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证。主要作用为:保证应用的完整性,应用自签名是应用开发者自行完成的,它是要对应用程序包内的每一个文件都进行签名,如果在应用流传过程中有人恶意对应用中的文件进行修改,而修改者又没有原作者的私钥,那么再使用原有的签名校签就会失败,这样就能保证应用的完整性,也就保护了作者的版权。

自签名文件存放在应用目录结构中META-INF目录,其中包括以下文件:MANIFEST.MF,CERT.SF,CERT.RSA。

MANIFEST.MF:对安装包所有文件生成摘要。

CERT.SF:保存了MANIFEST.MF的摘要值和MANIFEST.MF中每一个摘要项的摘要值。

CERT.RSA:保存了对CERT.SF的签名数据和开发者公钥等信息。

进一步地,厂家应用商店签名:

为保证应用的安全性,在应用上架之前除进行必要的功能、性能、兼容性等测试之外,还需要对安全性进行检测,只有通过检测的应用才允许发布到应用商店中,并通过终端下载安装。应用商店签名可确保此应用来源于合法应用商店,可以标识应用程序的安全性和合法性。

应用商店对应用程序的签名是对META-INF里面的应用自签名文件进行签名。对META-INF里面的三个文件进行应用商店的签名后形成名为CERT-INF的签名文件夹。原理与应用自签名一样,这样保证了一个app即具有应用自己的签名又具有厂家应用商店的签名,在安装时进行校验。

进一步地,应用安装校验流程:

在执行安装过程,首先将app中META-INF\CERT-INF下的签名文件与系统预置的公钥做校验,通过以后才能进行下一步安装动作,校验不通过说明app非厂家应用商店签过名的应用,不允许安装。

通过应用商店签名校验后,如果app是更新升级,还需要校验应用自签名是否与原有app一致,只有相同的应用签名才可以升级。如果首次安装app,则记录应用签名安装即可

本发明分别从开机启动、BootLoader启动Kernel、BootLoader启动Recovery、Android系统安全,编译安全的签名镜像文件方法、对整个开机启动流程添加了安全策略。应用软件安全校验机制,通过应用自签名和厂家应用商店签名的方式确保合法应用能够正常下载与安装,未知或不可靠来源的应用将不能安装。

本发明提供一种方法从软件系统架构和应用软件安全校验出发,设计了一套应用于高安芯片电视的安卓操作系统,对系统的引导、内核、升级以及应用软件等添加了安全策略。该系统具有良好的安全性,能够进行快速推广,具有广泛的应用价值。

进一步地,如图3所示,基于上述高级安全芯片的安全启动方法,本发明还相应提供了一种智能电视,所述智能电视包括处理器10、存储器20及显示器30。图3仅示出了智能电视的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述智能电视的内部存储单元,例如智能电视的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能电视的外部存储设备,例如所述智能电视上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述智能电视的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能电视的应用软件及各类数据,例如所述安装智能电视的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有高级安全芯片的安全启动程序40,该高级安全芯片的安全启动程序40可被处理器10所执行,从而实现本申请中高级安全芯片的安全启动方法。

所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述高级安全芯片的安全启动方法等。

所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能电视的信息以及用于显示可视化的用户界面。所述智能电视的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中高级安全芯片的安全启动程序40时实现以下步骤:

当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功;

若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式;

若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区;

若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。

其中,所述当智能电视开机启动后进行Boot签名的安全校验,并判断校验是否成功,之后还包括:

若安全校验失败,则复位重新开始进行Boot签名的安全校验。

其中,所述若当前的启动模式为Kernel模式,则校验Kernel分区签名,之后还包括:

若Kernel分区签名校验失败,则进入Recovery模式,并校验Recovery分区签名。

可选地,所述的高级安全芯片的安全启动方法,其中,所述若当前的启动模式为Recovery模式,则校验Recovery分区签名,之后还包括:

若Recovery分区签名校验失败,则复位重新开始进行Boot签名的安全校验。

其中,所述对高级安全芯片进行Boot签名的安全校验,之前还包括:

在所述智能电视开机启动时,所述高级安全芯片执行固化在芯片内容的BootRom代码;

通过校验KeyArea区域签名获取公钥,使用公钥校验Param区域签名,并使用Param加载Boot区数据到DDR继续进行签名校验。

其中,所述高级安全芯片的安全启动方法还包括:

在Boot启动过程中,校验Bootargs、Kernel以及敏感分区,如果校验失败则自动进入Recovery界面,等待系统重新升级。

其中,所述高级安全芯片的安全启动方法还包括:

若Recovery分区签名校验成功则进入Recovery模式,等待升级;

若Recovery分区签名校验失败则重启所述智能电视,反复验证Recovery分区,并且需要重新烧录Recovery分区后正常启动。

可选地,所述的高级安全芯片的安全启动方法,其中,所述高级安全芯片的安全启动方法还包括:

当正常启动Kernel分区后,启动system分区;

在对system分区进行修改时,在shell中重新挂载system分区。

本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有高级安全芯片的安全启动程序,所述高级安全芯片的安全启动程序被处理器执行时实现如上所述的高级安全芯片的安全启动方法的步骤。

综上所述,本发明提供一种高级安全芯片的安全启动方法及智能电视,所述方法包括:当智能电视开机启动后,对高级安全芯片进行Boot签名的安全校验,并判断安全校验是否成功;若安全检验成功,则根据标志位判断当前的启动模式,所述启动模式包括Recovery模式和Kernel模式;若当前的启动模式为Kernel模式,则校验Kernel分区签名,若Kernel分区签名校验成功则启动Kernel分区;若当前的启动模式为Recovery模式,则校验Recovery分区签名,若Recovery分区签名校验成功则启动Recovery分区。本发明从软件系统架构和应用软件安全校验出发,对系统的引导、内核、升级以及应用软件等添加了安全策略,具有良好的安全性,能够进行快速推广,具有广泛的应用价值,可以确保电视软件系统的安全可靠性以及避免发生用户隐私数据泄露。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号