一种基于MPSoC芯片的系统安全启动方法技术方案

技术编号:22364416 阅读:20 留言:0更新日期:2019-10-23 04:48
本申请公开了一种基于MPSoC芯片的系统安全启动方法,包括:步骤1,根据系统芯片的全局唯一标识符,采用加密算法生成两组公钥,将两组公钥烧写入系统芯片,并熔断系统芯片的电可编程熔丝;步骤2,根据两组公钥,对初级引导程序进行加密和打包,记作一级引导程序,并根据一级引导程序,生成并烧写多级引导程序至系统启动存储介质中,其中,多级引导程序至少包括两级;步骤3,嵌入式系统上电后,根据全局唯一标识符,采用容错处理方法,对多级引导程序进行解密和逐级校验,并通过多级引导程序启动系统镜像文件和系统镜像备份文件中的一种。通过本申请中的技术方案,提高了嵌入式系统的安全性,极大降低了系统被抄板仿制的可能性。

A method of system safe start-up based on MPSoC chip

【技术实现步骤摘要】
一种基于MPSoC芯片的系统安全启动方法
本申请涉及嵌入式系统的
,具体而言,涉及一种基于MPSoC芯片的系统安全启动方法。
技术介绍
现有的嵌入式系统中,系统的引导程序和系统镜像文件多存储在单个Flash存储单元中,当对手厂商恶意读取Flash中的数据,并实现抄板,就非常容易仿制同样规格和类型的产品。与此同时,现有的系统启动加载的过程,并没有对存储的引导程序和系统镜像文件,进行正确性校验,系统启动时直接从固定的Flash地址加载引导程序和系统镜像文件,并启动运行。系统能否正确启动,完全取决于存储在Flash中引导程序和系统镜像文件的完整性和正确性,如果Flash中文件内容出错,系统启动过程不可跳转,会直接导致启动失败。当Flash出现误擦除或者存储介质因本身因素(如机械碰撞、引脚松动、供电过高等)故障,将导致存储内容缺失或值改变(Flash中的数据以bit方式保存在存储单元,非0即1),造成系统启动过程中加载的引导程序或系统镜像文件不正确,最终造成设备不能正常启动。在对于系统运行环境稳定性要求较高的工业领域中,商用的嵌入式系统、设备的安全性和稳定性是整个嵌入式系统的关键指标,而现有技术并无法对这些关键指标提供可靠的保证,因此,需要结合备份机制、对系统程序采取防抄袭措施,既可以保证系统启动过程的稳定性和完整性,又可以保证系统的安全性。
技术实现思路
本申请的目的在于:设计一套完整的基于MPSoC芯片的系统安全启动方法,采用多级引导验证的方法,在保证烧写文件和系统硬件(如CPU、GPU、MCU)绑定的同时,提高系统启动过程中的稳定性和完整性。本申请第一方面的技术方案是:提供了一种基于MPSoC芯片的系统安全启动方法,该方法适用于嵌入式系统的启动,嵌入式系统包括系统芯片和系统启动存储介质,系统启动存储介质中存储有系统镜像文件和系统镜像备份文件,该方法包括:步骤1,根据系统芯片的全局唯一标识符,采用加密算法生成两组公钥,将两组公钥烧写入系统芯片,并熔断系统芯片的电可编程熔丝;步骤2,根据两组公钥,对初级引导程序进行加密和打包,记作一级引导程序,并根据一级引导程序,生成并烧写多级引导程序至系统启动存储介质中,其中,多级引导程序至少包括两级;步骤3,嵌入式系统上电后,根据全局唯一标识符,采用容错处理方法,对多级引导程序进行解密和逐级校验,并通过多级引导程序启动系统镜像文件和系统镜像备份文件中的一种。上述任一项技术方案中,进一步地,步骤2具体包括:步骤21,根据初级引导程序和两组公钥,采用安全散列算法,生成并存储第一密钥和第二密钥;步骤22,采用暗文加密算法,根据两组公钥,对初级引导程序进行加密;步骤23,将第一密钥、第二密钥和加密后的初级引导程序进行打包,记作一级引导程序。上述任一项技术方案中,进一步地,暗文加密算法包括与运算、或运算、加法运算、非运算、与或运算、移位运算中的至少一种。上述任一项技术方案中,进一步地,多级引导程序包括两级引导程序和对应的引导备份程序,其中,引导程序包括一级引导程序和二级引导程序,引导备份程序包括一级引导备份程序和二级引导备份程序。上述任一项技术方案中,进一步地,步骤3具体包括:步骤31,嵌入式系统上电后,读取启动信息头文件,根据全局唯一标识符和第一密钥,对一级引导程序进行散列计算;步骤32,根据散列计算的结果,采用容错处理方法,对一级引导程序进行解密和第一校验,当判定第一校验通过时,执行步骤33,当判定第一校验未通过时,重新执行步骤31,对一级引导备份程序进行散列计算;步骤33,根据第二密钥,对一级引导程序进行第二校验,当判定第二校验通过时,执行步骤34,当判定第二校验未通过时,重新执行步骤31,对一级引导备份程序进行散列计算;步骤34,对二级引导程序进行第三校验,当判定二级引导程序通过第三校验时,启动系统镜像文件,当判定二级引导程序未通过第三校验时,获取二级引导备份程序,当未获取到二级引导备份程序时,生成并发送系统启动异常信息,当获取到二级引导备份程序时,对二级引导备份程序进行第三校验,当判定二级引导备份程序通过第三校验时,启动系统镜像备份文件,当判定二级引导备份程序未通过第三校验时,获取下一个二级引导备份程序。上述任一项技术方案中,进一步地,一级引导备份程序的备份数量为3,二级引导备份程序的备份数量为2。本申请第二方面的技术方案是:提供了一种嵌入式系统,嵌入式系统中包含系统芯片和系统启动存储介质,系统启动存储介质上存储有启动程序,启动程序运行时,执行如本申请第一方面技术方案中任一项的基于MPSoC芯片的系统安全启动方法。上述任一项技术方案中,进一步地,系统芯片上存储有全局唯一标识符,且系统芯片上设置有电可编程熔丝。本申请的有益效果是:通过本申请的安全启动方法,利用多级引导验证,并结合芯片的全局唯一标识符,对一级引导程序本身进行加密校验(认证),降低了明文存储的风险,提高了嵌入式系统的安全性,极大降低了系统被抄板仿制的可能性。结合本申请中的多级引导,增加系统备份启动文件,设定合理的系统启动路径,在提高系统安全性的同时,还提高了嵌入式系统的稳定性,通过百万次的掉电启动测试,本申请中的启动方法均能保证嵌入式系统正常、稳定启动。附图说明本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本申请的一个实施例的基于MPSoC芯片的系统安全启动方法的示意流程图;图2是根据本申请的一个实施例的一级引导验证示意流程图;图3是根据本申请的一个实施例的二级引导验证示意流程图;图4是根据本申请的一个实施例的嵌入式系统启动路径示意图;图5是根据本申请的一个实施例的存储内容的示意图。具体实施方式为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。实施例一:如图1所示,本实施例提供了一种基于MPSoC芯片的系统安全启动方法,该方法适用于嵌入式系统的启动,嵌入式系统包括系统芯片和系统启动存储介质,系统启动存储介质中存储有系统镜像文件和系统镜像备份文件,系统芯片上存储有全局唯一标识符,该方法包括:步骤1,根据系统芯片的全局唯一标识符,采用加密算法生成两组公钥,将两组公钥烧写入系统芯片,并熔断系统芯片的电可编程熔丝;具体地,在本实施例中,将MPSoC芯片作为系统芯片,将系统芯片中的全局唯一标识符GUID作为预设公钥,该预设公钥为64字节,根据预设公钥(GUID)和加密算法,如哈希算法,可以生成两组Hash数据,记作两组公钥,作为MPSoC芯片中CPU存储的两组密钥(PublicKey1和PublicKey2),这两组公钥受电可编程熔丝的保护,然后熔断MPSoC芯片的电可编程熔丝,使得存入CPU中的PublicKey1和PublicKey2不可再修改。步骤2,根据系统芯片中存储的两组公钥,对初级引导程序进行加密和打包,记作一级引导程序,并根据一级引导程序,本文档来自技高网...

【技术保护点】
1.一种基于MPSoC芯片的系统安全启动方法,其特征在于,该方法适用于嵌入式系统的启动,所述嵌入式系统包括系统芯片和系统启动存储介质,所述系统启动存储介质中存储有系统镜像文件和系统镜像备份文件,该方法包括:步骤1,根据所述系统芯片的全局唯一标识符,采用加密算法生成两组公钥,将两组所述公钥烧写入所述系统芯片,并熔断所述系统芯片的电可编程熔丝;步骤2,根据两组所述公钥,对初级引导程序进行加密和打包,记作一级引导程序,并根据所述一级引导程序,生成并烧写多级引导程序至所述系统启动存储介质中,其中,所述多级引导程序至少包括两级;步骤3,所述嵌入式系统上电后,根据所述全局唯一标识符,采用容错处理方法,对所述多级引导程序进行解密和逐级校验,并通过所述多级引导程序启动所述系统镜像文件和所述系统镜像备份文件中的一种。

【技术特征摘要】
1.一种基于MPSoC芯片的系统安全启动方法,其特征在于,该方法适用于嵌入式系统的启动,所述嵌入式系统包括系统芯片和系统启动存储介质,所述系统启动存储介质中存储有系统镜像文件和系统镜像备份文件,该方法包括:步骤1,根据所述系统芯片的全局唯一标识符,采用加密算法生成两组公钥,将两组所述公钥烧写入所述系统芯片,并熔断所述系统芯片的电可编程熔丝;步骤2,根据两组所述公钥,对初级引导程序进行加密和打包,记作一级引导程序,并根据所述一级引导程序,生成并烧写多级引导程序至所述系统启动存储介质中,其中,所述多级引导程序至少包括两级;步骤3,所述嵌入式系统上电后,根据所述全局唯一标识符,采用容错处理方法,对所述多级引导程序进行解密和逐级校验,并通过所述多级引导程序启动所述系统镜像文件和所述系统镜像备份文件中的一种。2.如权利要求1所述的基于MPSoC芯片的系统安全启动方法,其特征在于,所述步骤2具体包括:步骤21,根据所述初级引导程序和两组所述公钥,采用安全散列算法,生成并存储第一密钥和第二密钥;步骤22,采用暗文加密算法,根据两组所述公钥,对所述初级引导程序进行加密;步骤23,将所述第一密钥、所述第二密钥和加密后的初级引导程序进行打包,记作所述一级引导程序。3.如权利要求2所述的基于MPSoC芯片的系统安全启动方法,其特征在于,所述暗文加密算法包括与运算、或运算、加法运算、非运算、与或运算、移位运算中的至少一种。4.如权利要求2或3任一项所述的基于MPSoC芯片的系统安全启动方法,其特征在于,所述多级引导程序包括两级引导程序和对应的引导备份程序,其中,所述引导程序包括所述一级引导程序和二级引导程序,所述引导备份程序包括一级引导备份程序和二级引导备份程序。5.如权利要求4所述的...

【专利技术属性】
技术研发人员:郭勇军宋伟铭周中亚刘敏杨煦于军亮
申请(专利权)人:中国大恒集团有限公司北京图像视觉技术分公司北京大恒图像视觉有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1