嵌入式程序的安全引导方法、装置、设备及存储介质制造方法及图纸

技术编号:24019739 阅读:27 留言:0更新日期:2020-05-02 04:50
一种嵌入式程序的安全引导方法、装置、设备及存储介质,该方法包括在运行引导程序时,获取应用程序的数据,包括签名信息、公钥信息、参数信息、加密数据及数字校验码(S201);根据签名信息进行签名校验(S202);若通过,根据数字校验码进行完整性校验(S203);若通过,根据公钥信息和参数信息进行数据解密(S204)。可提高信息安全性。

The method, device, device and storage medium of the security guidance of the embedded program

【技术实现步骤摘要】
【国外来华专利技术】嵌入式程序的安全引导方法、装置、设备及存储介质
本申请实施例涉及安全技术,尤其涉及一种嵌入式程序的安全引导方法、装置、设备及存储介质。
技术介绍
随着互联网技术(Internet Technology,IT)的不断发展,基于嵌入式芯片开发的各种嵌入式程序越来越多,这使得信息安全的占比也越来越重。从信息安全角度来看,各种安全设备,一方面是为提供安全服务的保障,另一方面可避免自身核心机密被窃取。攻击者通常可对嵌入式设备使用过程中所泄露的信息加以利用,采用信号处理和统计分析等技术来获取隐私数据;或者,可通过改变设备的运行环境触发程序的运行故障等来获取敏感数据。因此,对于嵌入式设备来说,提高程序运行过程中的信息安全显得格外重要。
技术实现思路
本申请实施例提供一种嵌入式程序的安全引导方法、装置、设备及存储介质,以提高程序运行过程中的信息安全。本申请实施例提供一种嵌入式程序的安全引导方法,所述方法包括:在运行嵌入式程序的引导程序时,获取应用程序的数据;所述应用程序的数据包括:签名信息、公钥信息、所述应用程序的参数信息、加密数据及第一数字校验码;根据所述签名信息,对所述公钥信息、所述应用程序的参数信息、所述加密数据及所述第一数字校验码进行签名校验;若所述签名校验通过,根据所述第一数字校验码,对所述公钥信息、所述应用程序的参数信息和所述加密数据进行完整性校验;若所述完整性校验通过,根据所述公钥信息、所述应用程序的参数信息,对所述加密数据进行解密。本申请实施例还提供一种嵌入式程序的安全引导装置,所述装置包括:获取模块,用于在运行嵌入式程序的引导程序时,获取应用程序的数据;所述应用程序的数据包括:签名信息、公钥信息、所述应用程序的参数信息、加密数据及第一数字校验码;校验模块,用于根据所述签名信息,对所述公钥信息、所述应用程序的参数信息、所述加密数据及所述第一数字校验码进行签名校验;若所述签名校验通过,根据所述第一数字校验码,对所述公钥信息、所述应用程序的参数信息和所述加密数据进行完整性校验;解密模块,用于若所述完整性校验通过,根据所述公钥信息、所述应用程序的参数信息,对所述加密数据进行解密。本申请实施例还提供一种嵌入式设备,包括:存储器和处理器;所述存储器通过总线与所述处理器连接;所述存储器,用于存储程序指令和运行数据;所述处理器,用于调用所述存储器存储的所述程序指令和所述运行数据时,执行上述嵌入式程序的安全引导方法。本申请实施例还提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述嵌入式程序的安全引导方法。本申请实施例提供的嵌入式程序的安全引导方法、装置、设备及存储介质,可通过在运行嵌入式程序的引导程序时,获取应用程序的数据,其包括:签名信息、公钥信息、该应用程序的参数信息、加密数据及第一数字校验码;根据该签名信息,对该公钥信息、该应用程序的参数信息、该加密数据及该第一数字校验码进行签名校验;若该签名校验通过,根据该第一数字校验码,对该公钥信息、该应用程序的参数信息和该加密数据进行完整性校验;若该完整性校验通过,根据该公钥信息、该应用程序的参数信息,对该加密数据进行解密。该方法可根据签名信息进行签名校验,根据数字校验码进行完整性校验,继而进行数据的解密,确保了应用程序的数据的准确性及完整性,可有效避免程序的数据损坏带来的信息泄露,提高了程序运行过程中的程序功能的实现及数据安全。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种嵌入式芯片的硬件架构示意图;图2为本申请实施例提供的一种嵌入式程序的安全引导方法的流程图;图3为本申请实施例提供的一种应用程序的数据的结构图;图4为本申请实施例提供的另一种嵌入式程序的安全引导方法的流程图;图5为本申请实施例提供的又一种嵌入式程序的安全引导方法的流程图图6为本申请实施例提供的一种配置信息的存储结构图;图7为本申请实施例提供的一种闪存存储器的信息存储结构图;图8为本申请实施例提供的一种不同工作模式之间的状态转换图;图9为本申请实施例提供的一种嵌入式程序的安全引导装置的结构示意图;图10为本申请实施例提供的一种嵌入式设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。本申请下述各实施例提供的嵌入式程序的安全引导方法、装置、设备及存储介质可应用于具有嵌入式芯片的设备中。该具有嵌入式芯片的设备可称为嵌入式设备。该嵌入式芯片可以为安全嵌入式芯片。先对嵌入式芯片的硬件架构进行说明。图1为本申请实施例提供的一种嵌入式芯片的硬件架构示意图。如图1所示,嵌入式芯片中可包括:中央处理器(Central Processing Unit,CPU)、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存存储器(Flash Memory)、输入/输出(Input/Output,I/O)接口、安全措施电路、密码协处理器、随机数生成器、时钟电路以及复位电路。其中,该闪存存储器还可以为带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)。该具有嵌入式芯片的设备中,CPU、ROM、RAM、闪存存储器、I/O接口、安全措施电路、密码协处理器、随机数生成器、时钟电路以及复位电路,分别于设备总线连接。其中,安全措施电路还与密码协处理器连接。在该嵌入式芯片中,还可包括:单次可编程存储器,该单次可编程存储器可以为电熔丝(eFuse)存储器或者一次可编程(One Time Programle)存储器。该单次可编程存储器,可在芯片出厂时灌入数据,其后,仅可只读。其中,随机数生成器可生成用于派生密钥的随机数,密码协处理器可配合CPU本文档来自技高网
...

【技术保护点】
一种嵌入式程序的安全引导方法,其特征在于,所述方法包括:/n在运行嵌入式程序的引导程序时,获取应用程序的数据,所述应用程序的数据包括:签名信息、公钥信息、所述应用程序的参数信息、加密数据及第一数字校验码;/n根据所述签名信息,对所述公钥信息、所述应用程序的参数信息、所述加密数据及所述第一数字校验码进行签名校验;/n若所述签名校验通过,根据所述第一数字校验码,对所述公钥信息、所述应用程序的参数信息和所述加密数据进行完整性校验;/n若所述完整性校验通过,根据所述公钥信息、所述应用程序的参数信息,对所述加密数据进行解密。/n

【技术特征摘要】
【国外来华专利技术】一种嵌入式程序的安全引导方法,其特征在于,所述方法包括:
在运行嵌入式程序的引导程序时,获取应用程序的数据,所述应用程序的数据包括:签名信息、公钥信息、所述应用程序的参数信息、加密数据及第一数字校验码;
根据所述签名信息,对所述公钥信息、所述应用程序的参数信息、所述加密数据及所述第一数字校验码进行签名校验;
若所述签名校验通过,根据所述第一数字校验码,对所述公钥信息、所述应用程序的参数信息和所述加密数据进行完整性校验;
若所述完整性校验通过,根据所述公钥信息、所述应用程序的参数信息,对所述加密数据进行解密。


根据权利要求1所述的方法,其特征在于,所述获取应用程序的数据,包括:
控制闪存存储器的控制器,读取所述闪存存储器存储的所述应用程序的数据。


根据权利要求1所述的方法,其特征在于,所述方法还包括:
将解密后的所述应用程序的数据写入随机存取存储器RAM的第一存储区中。


根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述引导程序的数据进行处理,得到处理后的第一数据;
根据所述第一数据,和预先存储的所述引导程序的第二数据,对所述引导程序进行校验;
若校验通过,根据所述引导程序的数据运行所述引导程序。


根据权利要求4所述的方法,其特征在于,所述引导程序的数据包括:所述引导程序的指令代码,和/或,所述引导程序的运行数据。


根据权利要求5所述的方法,其特征在于,所述对所述引导程序的数据进行处理,得到处理后的第一数据之前,所述方法还包括:
从只读存储器ROM的预设地址开始取指,读取所述ROM中存储的所述引导程序的数据。


根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述引导程序的数据映射至RAM的第二存储区中。


根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据单次可编程存储器存储的信息包括的第二数字校验码,对所述单次可编程存储器存储的其它信息进行校验;
若校验通过,则继续运行所述引导程序。


根据权利要求8所述的方法,其特征在于,所述单次可编程存储器存储的信息还包括:根密钥和所述应用程序的私钥,所述方法还包括:
控制所述单次可编程存储器的控制器将所述根密钥和所述应用程序的私钥,写入RAM的第三存储区中。


根据权利要求9所述的方法,其特征在于,所述控制所述单次可编程存储器的控制器将根密钥和所述应用程序的私钥,写入所述RAM的第三存储区中之前,所述方法还包括:
将随机数作为所述第三存储区对应的密钥,写入所述第三存储区的控制器中。


根据权利要求9所述的方法,其特征在于,所述方法还包括:
读取所述第三存储区中存储的所述根密钥;
根据所述根密钥,采用预设的密钥生成算法,生成加解密密钥和校验密钥;
将所述加解密密钥和所述校验密钥写入所述第三存储区中。


根据权利要求11所述的方法,其特征在于,所述方法还包括:
控制闪存存储器的控制器,读取所述闪存存储器存储的配置信息;
根据所述校验密钥,对所述配置信息进行校验;
若校验通过,则采用所述加解密密钥,对所述配置信息进行解密,并将所述解密后的数据写入所述RAM的第二存储区。


根据权利要求12所述的方法,其特征在于,所述配置信息包括:芯片配置信息,和/或,应用程序的配置信息。


根据权利要求13所述的方法,其特征在于,若所述配置信息包括:所述应用程序的配置信息;所述方法还包括:
根据所述根密钥和所述应用程序的配置信息,采用预设的密钥生成算法,生成设备密钥,并将所述设备密钥写入所述第三存储区中。


根据权利要求4所述的方法,其特征在于,单次可编程存储器所存储的信息还包括:模式控制字段;所述模式控制字段用于控制芯片的工作模式为调试模式或安全模式;
所述调试模式为芯片的出厂模式;
所述安全模式为对所述模式控制字段烧写后,芯片上电后的工作模式;
所述应用模式为所述引导程序加载完成后,芯片的工作模式。


根据权利要求15所述的方法,其特征在于,所述方法还包括:
将当前工作模式切换至所述应用模式;所述当前工作模式为所述调试模式或所述安全模式;
在所述应用模式下,运行所述应用程序。


一种嵌入式程序的安全引导装置,其特征在于,所述装置包括:
获取模块,用于在运行嵌入式程序的引导程序时,获取应用程序的数据,所述应用程序的数据包括:签名信息、公钥信息、所述应用程序的参数信息、加密数据及第一数字校验码;
校验模块,用于根据所述签名信息,对所述公钥信息、所述应用程序的参数信息、所述加密数据及所述第一数字校验码进行签名校验;若所述签名校验通过,根据所述第一数字校验码,对所述公钥信息、所述应用程序的参数信...

【专利技术属性】
技术研发人员:李庆斌陈德坤
申请(专利权)人:深圳市汇顶科技股份有限公司
类型:发明
国别省市:广东;44

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

1