嵌入式设备启动的方法、应用程序镜像处理的方法及装置与流程

文档序号:14685522发布日期:2018-06-13 00:09
嵌入式设备启动的方法、应用程序镜像处理的方法及装置与流程

本申请实施例涉及嵌入式设备领域,尤其涉及一种嵌入式设备启动的方法、应用程序镜像处理的方法、嵌入式设备启动装置以及应用程序镜像处理装置。



背景技术:

随着电子技术的发展,嵌入式设备广泛应用于各行各业当中,嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式系统组成,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点。

现有技术的嵌入式设备的启动程序中,首先是初始化必要的软硬件环境,包括对嵌入式处理器,内存,非易失性存储器的初始化处理,其次是将存储在非易失性存储器上的程序镜像加载到内存中,然后就是运行已经加载到内存上的程序并跳转运行。

但是现有技术中,用户只是重点关注嵌入式设备启动程序的运行功能,使得嵌入式设备能够正常的初始化设备并加载程序并正确运行,当嵌入式设备所加载程序被非法用户篡改或者所述加载的程序为非法程序时,导致嵌入式设备无法正常工作。



技术实现要素:

本申请实施例公开了一种嵌入式设备启动的方法、应用程序镜像处理的方法、嵌入式设备启动装置以及应用程序镜像处理装置,用于在嵌入式设备启动的过程中对应用程序镜像进行解密和校验,提高应用程序镜像启动过程中的安全性。

本申请实施例第一方面提供一种嵌入式设备启动的方法,包括:

运行BOOT程序镜像;

读取对称加密算法的密钥,所述密钥是为应用程序镜像加密的密钥对应的解密密钥;

使用所述对称加密算法的密钥对所述应用程序镜像进行解密;

对解密后的所述应用程序镜像进行校验;

若对解密后的所述应用程序镜像校验成功,则启动所述应用程序镜像对应的应用程序。

基于本申请实施例第一方面,本申请实施例第一方面的第一种实现方式中,所述对解密后的所述应用程序镜像进行校验包括:

读取RSA算法的公钥,并使用所述RSA算法的公钥对解密后的所述应用程序镜像进行校验;

或者,

使用哈希校验方法或HMAC校验方法对解密后的所述应用程序镜像进行校验。

基于本申请实施例第一方面,本申请实施例第一方面的第二种实现方式中,所述使用所述对称加密算法的密钥对所述应用程序镜像进行解密之前,所述方法还包括:

读取数据分区的升级标志,所述数据分区为所述非易失性存储器的数据分区;

根据所述升级标志判断所述应用程序镜像是否需要进行升级;

若所述应用程序镜像需要进行升级,则对所述应用程序镜像进行升级;

对应地,使用所述对称加密算法的密钥对所述应用程序镜像进行解密,对解密后的所述应用程序镜像进行校验包括:

使用所述对称加密算法的密钥对所述升级程序镜像进行解密;

对解密后的所述升级程序镜像进行校验;

若对解密后的所述升级程序镜像校验成功,则运行所述升级程序镜像对应的应用程序;

若对解密后的所述升级程序镜像校验失败,则重新启动所述升级程序镜对应的嵌入式设备。

基于本申请实施例第一方面,本申请实施例第一方面的第三种实现方式中,所述对解密后的所述应用程序镜像进行校验之后,所述方法还包括:

若对解密后的所述应用程序镜像校验失败,则对所述应用程序镜像设置升级标志并重新运行所述应用程序镜像对应的嵌入式设备。

本申请实施例第二方面提供一种应用程序镜像处理的方法,包括:

生成密钥资源,所述密钥资源包括对称加密算法的密钥,所述密钥用于对应用程序镜像进行加密与解密;

使用所述对称加密算法的密钥对所述应用程序镜像进行加密;

将所述对称加密算法的密钥以及加密后的所述应用程序镜像烧写到非易失性存储器中。

基于本申请实施例第二方面,本申请实施例第二方面的第一种实现方式中,所述使用所述对称加密算法的密钥对所述应用程序镜像进行加密之前,所述方法还包括:

使用RSA算法的私钥对所述应用程序镜像进行签名;

对应地,将所述对称加密算法的密钥以及加密后的所述应用程序镜像烧写到非易失性存储器中包括:

将所述RSA算法的公钥、所述对称加密算法的密钥、加密后的所述应用程序镜像以及签名烧写到非易失性存储器中,所述RSA算法的公钥用于对签名后的所述应用程序镜像进行校验。

本申请实施例第三方面提供一种嵌入式设备启动装置,该嵌入式设备启动装置具有实现上述第一方面中嵌入式设备启动装置行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请实施例第四方面提供一种应用程序镜像处理装置,应用程序镜像处理装置具有实现上述第二方面中应用程序镜像处理装置行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块

本申请实施例第五方面提供了一种计算机存储介质,该计算机存储介质用于储存为上述第一方面的嵌入式设备启动装置所用的计算机软件指令,其包括用于执行为第一方面的嵌入式设备启动装置所设计的程序。

本申请实施例第六方面提供了一种计算机存储介质,该计算机存储介质用于储存为上述第二方面的应用程序镜像处理装置所用的计算机软件指令,其包括用于执行为第二方面的应用程序镜像处理装置所设计的程序。

本申请实施例第七方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面以及第二方面的方法流程。

从以上技术方案可以看出,本申请实施例具有以下优点:

本实施例中,在加载应用程序镜像的过程中,使用对称加密算法的密钥对应用程序镜像进行解密,提升应用程序镜像的保密性,对解密后的应用程序镜像进行校验签名,提高了该应用程序镜像在启动过程中的安全性,因此,本实施例中对加密的应用程序镜像进行解密以及校验,提高了启动的应用程序镜像的可靠性并使得该应用程序镜像对应的应用程序正常运行。

附图说明

图1为本申请实施例中嵌入式设备启动框架示意图;

图2为本申请实施例中嵌入式设备启动的方法的一个实施例示意图;

图3为本申请实施例中应用程序镜像处理的方法的一个实施例示意图;

图4为本申请实施例中嵌入式设备启动的方法的另一个实施例示意图;

图5为本申请实施例中应用程序镜像处理的方法的另一个实施例示意图;

图6为本申请实施例中嵌入式设备启动装置的一个实施例示意图;

图7为本申请实施例中应用程序镜像处理装置的一个实施例示意图;

图8为本申请实施例中嵌入式设备启动装置的另一个实施例示意图;

图9为本申请实施例中应用程序镜像处理装置的另一个实施例示意图。

具体实施方式

本申请实施例公开了一种嵌入式设备启动的方法、应用程序镜像处理的方法、嵌入式设备启动装置以及应用程序镜像处理装置,用于在嵌入式设备启动的过程中对应用程序镜像进行解密和校验,提高应用程序镜像启动过程中的安全性。

本申请实施例可于如图1所示的嵌入式设备启动框架图,该嵌入式设备启动框架图中主要包括BOOTROM运行阶段,BOOT运行阶段,应用程序运行阶段。

BOOTROM运行阶段主要是集成在芯片中固化的一段代码,根据不同的嵌入式芯片进行芯片的关键启动代码以及创建最基本的软硬件环境,并跳转到内存中的BOOT代码运行。

BOOT运行阶段主要是初始化软硬件设备,加载系统应用程序镜像,跳转到对应的应用程序。

应用程序运行阶段主要是运行嵌入式设备的应用程序,该应用程序可以是针对用户进行定制开发的主应用程序,也可以是应用程序进行迭代升级的升级应用程序。

本申请实施例中,嵌入式设备启动中,主要涉及嵌入式处理器(central processing unit,CPU),非易失性存储器,内存这三种装置,需要说明的是内存可以是SDRAM内存或者DDR内存,此处不做限定。

嵌入式处理器主要是提供硬件加解密和校验相关的硬件资源。

非易失性存储器主要是存储程序代码以及掉电需要保存的数据。

SDRAM内存或者DDR内存主要是运行相关程序代码以及临时运行数据的存储。

基于上述图1的嵌入式设备启动框架图的BOOT运行阶段,请参考图2,本申请实施例中嵌入式设备启动的方法一个实施例包括:

201、运行BOOT程序镜像。

在嵌入式设备BOOTROM运行阶段中,嵌入式设备的CPU读取非易失性存储器的BOOT程序镜像到DDR内存上,然后启动BOOT程序镜像,并对与嵌入式设备相应的软硬件进行初始化处理。

需要说明的是,本实施中,内存还可以是SDRAM内存,或者其他类型的内存,此处不做限定,本实施例以及后续实施例仅以DDR内存作为例子进行说明。

202、读取对称加密算法的密钥。

在运行BOOT程序镜像之后,CPU加载应用程序镜像,由于该应用程序镜像是经过加密的程序,需要对应用程序镜像进行解密,因此,CPU从非易失性存储器中读取对称加密算法的密钥到DDR内存上,另外,CPU还可以从BOOT程序镜像中读取对称加密算法的密钥到DDR内存上,需要说明的是,使用对称加密算法对应用程序镜像进行加密与解密的密钥是相同的,即在对称加密算法中加密密钥与解密密钥相同。

203、使用对称加密算法的密钥对应用程序镜像进行解密。

CPU读取对称加密算法的密钥之后,CPU使用对称加密算法的密钥对应用程序镜像进行解密,得到明文的应用程序镜像。具体地,CPU使用与对该应用程序镜像加密的对称加密算法的逆算法对密文的应用程序镜像进行解密,使该应用程序镜像成为明文的应用程序镜像。

204、对解密后的应用程序镜像进行校验;若校验成功,则执行步骤205,若校验失败,则执行步骤206。

为了使得CPU读取的应用程序镜像的来源安全可靠,CPU对该应用程序镜像进行校验,具体地,CPU可以使用RSA算法对该应用程序镜像进行校验,需要说明的是,本实施例中还可以使用哈希校验方法或者HMAC校验方法对该应用程序镜像进行校验,或者其他校验方法对应用程序镜像尽进行校验,此处不做限定。

本实施例中,需要说明的是步骤203与步骤204没有具体的执行顺序,可以先执行步骤203再执行步骤204,也可以先执行步骤204再执行步骤203,此处不做限定。

205、启动应用程序。

若CPU对解密后的应用程序镜像检验成功,则说明该应用程序镜像的来源安全可靠,则CPU可以执行相应的代码启动该应用程序镜像对应的应用程序,使得该应用程序的正常运行功能。

206、其他。

若CPU对解密后的应用程序镜像检验失败,说明该应用程序镜像的来源不可信或者该应用程序镜像的程序代码被褚篡改等,则CPU不启动该应用程序对应的应用程序,执行其他的操作,例如,重新运行应用程序镜像对应的嵌入式设备或者对应用程序镜像设置升级标签等。

本实施例中,CPU加载应用程序镜像的过程中,使用对称加密算法的密钥对应用程序镜像进行解密,CPU对解密后的应用程序镜像进行校验,校验成功说明该应用程序镜像的来源可信,因此,本实施例中只有对加密的应用程序镜像进行解密以及校验才能执行下一步操作,提高了CPU加载的应用程序镜像的安全性能,并使得该应用程序镜像对应的应用程序正常运行。

上面对本申请实施例中的嵌入式设备启动的方法进行了描述,下面对本申请实施例中应用程序镜像处理的方法进行描述,请参考图3,本申请实施例中应用程序镜像处理的方法的一个实施例包括:

301、生成密钥资源。

在加载应用程序镜像之前,应用程序镜像处理装置生成对应用程序镜像进行加密以及解密的密钥资源,该密钥资源包括对称加密算法的密钥,该密钥用于对应用程序镜像进行加密与解密,需要说明的是,对应用程序镜像进行加密与解密的密钥是相同的密钥。

302、使用对称加密算法的密钥对应用程序镜像进行加密。

应用程序镜像处理装置生成密钥资源之后,使用对称加密算法对应用程序镜像进行加密,具体地,使用对称加密算法的密钥对应用程序镜像进行加密,使得该应用程序镜像以密文的形式存储在存储器当中,提高该应用程序镜像内容的保密性。

303、将对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中。

在对应用程序镜像进行加密之后,应用程序镜像处理装置通过烧写器将对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中,具体地,应用程序镜像处理装置将对称加密算法的密钥以及加密后的应用程序镜像转换成其对应的格式之后,在将转换格式后的对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中。

需要说明的是,本实施例中,还可以将对称加密算法的密钥存储BOOT程序镜像当中,然后将存储了密钥的BOOT程序镜像烧写到非易失性存储器中,这样在读取对称加密算法的密钥时,可以在BOOT程序镜像中读取对称加密算法的密钥。

需要说明的是,本实施中仅以应用程序镜像的加密进行举例说明,本实施例还可以对升级程序镜像进行加密,或者其他镜像程序进行加密,此处不做具体限定。

本实施例中,通过对生成密钥资源,使用密钥资源中的对称加密算法的密钥对应用程序镜像进行加密,将对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中,本实施例中对该应用程序镜像进行加密,使得加密后的应用程序镜像在非易失性存储器或者其他的处理过程中保证了应用程序镜像内容的保密性,提高了该应用程序镜像的完整性和安全性。

非易失性存储器可以是FLASH存储器,也可以为其他类型的存储器,例如磁性随机存储器(magnetic random access memory,MRAM),本实施例以及后续实施例中,仅以FLASH存储器作为非易失性存储器的例子进行说明,在实际中,还可以时其他类型的业务,具体此处不做限定。

上面对本申请实施例中的应用程序镜像处理的方法进行了描述,下面以实际中的例子对本申请实施例中嵌入式设备启动的方法进行描述,请参考图4,本申请实施例中嵌入式设备启动的方法的另一个实施例包括:

401、运行BOOT程序镜像。

402、读取对称加密算法的密钥。

本实施例中,步骤401至步骤402与前述图2中的步骤201至步骤202类似,此处不再赘述。

403、读取数据分区的升级标志。

CPU在存储了升级标志的FLASH存储器的一个分区中读取升级标志,该升级标志标识了该应用程序镜像是否需要升级。

404、根据升级标志判断应用程序镜像是否需要进行升级;若否,则执行步骤405,若是,则执行步骤409。

CPU读取了应用程序镜像的升级标志之后,CPU根据该升级标志判断该应用程序镜像是否需要升级,具体地,CPU可以根据该升级标志的携带的标识判断该应用程序镜像是否需要升级,若该应用程序镜像是最新版本的应用程序镜像则不需要升级,否则,对该应用程序镜像进行升级。

405、使用对称加密算法的密钥对应用程序镜像进行解密。

如果CPU判断出该应用程序镜像不需要进行升级,CPU使用对称加密算法的密钥对应用程序镜像进行解密,得到明文的应用程序镜像。具体地,CPU使用与对该应用程序镜像加密相同对称加密算法的逆算法对密文的应用程序镜像进行解密,使该应用程序镜像成为明文的应用程序镜像。

406、对解密后的应用程序镜像进行校验,若校验成功则执行步骤407,若校验失败,则执行步骤408。

CPU在对解密后的应用程序镜像进行校验过程中,CPU从FLASH存储器读取RSA算法的公钥,需要说明的是,CPU还可以从BOOT程序镜像中读取RSA算法的公钥,此处不做限定,由于对应用程序镜像进行签名时使用的RSA算法的私钥,因此,只有该RSA算法的私钥对应的公钥才能对应用程序镜像解密。读取RSA算法的公钥之后,使用RSA算法的公钥对解密后的应用程序镜像进行校验签名。具体地,对应用程序镜像进行HASH计算,得到一个目标数据,然后使用公钥对于签名进行解密,将解密后的数据与目标数据进行对比,若解密后的数据与目标数据一致,则校验成功,若解密后的数据与目标数据不一致,否则校验失败。

需要说明的是,本实施例中,还可使用哈希校验方法或者HMAC校验方法对解密后的应用程序镜像进行校验,或者其他校验方法,此处不做限定。

407、启动应用程序。

当解密后的数据与目标数据一致,则对解密后的应用程序镜像校验成功,CPU对校验成功的应用程序镜像执行启动指令,启动该应用程序镜像对应的应用程序,使得应用程序正常的运行。

408、对应用程序镜像设置升级标志。

若解密后的数据与目标数据不一致,则对解密后的应用程序镜像校验失败,则CPU对该应用程序镜像设置升级标志,该标志标识了该应用程序镜像需要升级,然后重新运行该BOOT程序镜像,并执行相对应的升级流程。

409、使用对称加密算法的密钥对升级应用程序镜像进行解密。

若CPU判断出应用程序镜像需要进行升级,则对该应用程序镜像进行升级,然后使用对称加密算法的密钥对升级程序镜像进行解密,得到明文的升级程序镜像。具体地,CPU使用与对该升级程序镜像加密相同的对称加密算法的逆算法对密文的升级程序镜像进行解密,使该升级程序镜像成为明文的升级程序镜像。

410、对解密后的升级程序镜像进行校验,若校验成功则执行步骤411,若校验失败,则执行步骤412。

CPU在对解密后的升级程序镜像进行校验过程中,CPU从FLASH存储器读取RSA算法的公钥,需要说明的是,CPU还可以从BOOT程序镜像中读取RSA算法的公钥,此处不做限定。该公钥是为升级程序镜像签名的私钥对应的公钥,由于在对升级程序镜像进行签名使用的是RSA算法的私钥,因此,只有该RSA算法的密钥对中私钥对应的公钥才能解密。读取RSA算法的公钥之后,使用RSA算法的公钥对解密后的升级程序镜像进行校验签名,具体地,对升级程序镜像进行HASH计算,得到一个目标数据,然后使用公钥对于签名进行解密,将解密后的数据与目标数据进行对比,若解密后的数据与目标数据一致,则校验成功,若解密后的数据与目标数据不一致,否则校验失败。

需要说明的是,本实施例中,还可使用哈希校验方法或者HMAC校验方法对解密后的升级程序镜像进行校验,或者其他校验方法,此处不做限定。

411、启动升级程序。

当解密后的数据与目标数据一致,则对解密后的升级程序镜像校验成功,CPU对校验成功的升级程序镜像执行启动指令,启动该升级程序镜像对应的升级程序,使得升级程序正常的运行。

412、重启BOOT程序镜像。

若对解密后的应用程序镜像校验失败,则说明对签名解密后的数据与目标数据进行不一致,因此,CPU执行重启指令,重启应用程序镜像对应的嵌入式设备。

本实施例中,嵌入式设备的CPU加载的应用程序镜像之前,CPU对的应用程序镜像进行解密和校验,由于解密需要加密密钥相对应的解密密钥,因此只有正确的密钥才能对应用程序镜像进行解密,使得了应用程序镜像在缺少解密密钥或者解密密钥错误时,无法启动该应用程序镜像对应的应用程序,对应用程序镜像进行校验过程中,CPU读取RSA算法的公钥进行校验签名,只有校验成功才能运行该应用程序镜像对应的应用程序,因此,本方案中,CPU对的应用程序镜像进行解密和校验提高了应用程序镜像的可靠性和内容的保密性。

上面对本申请实施例中的嵌入式设备启动的方法在实际中的例子进行了描述,下面对应用程序镜像处理的方法在实际中的例子进行描述,请参考图5,本申请实施例中应用程序镜像处理的方法另一个实施例包括:

501、生成密钥资源。

在加载应用程序镜像之前,应用程序镜像处理装置生成对应用程序镜像进行加密以及解密的密钥资源,该密钥资源包括对称加密算法的密钥以及RSA算法的私钥和公钥,该密钥用于对应用程序镜像进行加密和解密,该RSA算法的私钥对应用程序进行签名,该RSA算法的公钥对应用程序进行校验签名,需要说明的是,对应用程序镜像进行加密与解密的密钥是相同的密钥,RSA算法的私钥和公钥为不同的密钥。

502、使用RSA算法的私钥对应用程序镜像进行签名。

在生成密钥资源之后,应用程序镜像处理装置使用RSA算法的私钥对应用程序镜像进行签名,具体地,对应用程序镜像进行HASH计算,得到HASH值,应用程序镜像处理装置使用私钥对HASH值加密得到签名。

503、使用对称加密算法的密钥对应用程序镜像进行加密。

应用程序镜像处理装置对应用程序镜像进行签名之后,使用对称加密算法对应用程序镜像进行加密,具体地,使用对称加密算法的密钥对应用程序镜像进行加密,使得该应用程序镜像以密文的形式存储在存储器当中,增加了该应用程序镜像的保密性。

504、将RSA算法的公钥、对称加密算法的密钥以及签名和加密后的应用程序镜像烧写到非易失性存储器中。

在对应用程序镜像进行签名和加密之后,应用程序镜像处理装置通过烧写器将RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名烧写到非易失性存储器中,具体地,应用程序镜像处理装置将RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名转换成其对应的格式之后,再将转换格式后的RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名烧写到非易失性存储器中。

需要说明的是,本实施例中,还可以将RSA算法的公钥、对称加密算法的密钥存储BOOT程序镜像当中,然后将存储了RSA算法的公钥以及对称加密算法的密钥的BOOT程序镜像烧写到非易失性存储器中,这样在读取对称加密算法的密钥或者读取RSA算法密钥时,可以在BOOT程序镜像中读取对称加密算法的密钥或RSA算法密钥。

需要说明的是,本实施中仅以应用程序镜像的加密和签名进行举例说明,本实施例还可以对升级程序镜像进行加密和签名,或者其他镜像程序进行加密和签名,此处不做具体限定。

本实施例中,通过对生成加密密钥资源以及签名密钥资源,使用签名密钥资源的私钥对应用程序镜像进行签名,然后使用密钥资源中的对称加密算法的密钥对应用程序镜像进行加密,将RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名烧写到非易失性存储器中,本技术方案中对该应用程序镜像进行加密和签名,确保嵌入式设备加载的应用程序镜像的来源安全。

上面对本申请实施例中的应用程序镜像处理的方法进行了描述,下面对本申请实施例中的嵌入式设备启动装置进行描述:

请参考图6,本申请实施例中嵌入式设备启动装置的一个实施例包括:

运行单元601,用于运行BOOT程序镜像;

第一读取单元602,用于读取对称加密算法的密钥,密钥是为应用程序镜像加密的密钥对应的解密密钥;

解密单元603,用于使用对称加密算法的密钥对应用程序镜像进行解密;

校验单元604,用于对解密后的应用程序镜像进行校验;

启动单元605,用于当对解密后的应用程序镜像校验成功时,启动应用程序镜像对应的应用程序。

本实施例中,校验单元604具体用于:

读取RSA算法的公钥,并使用RSA算法的公钥对解密后的应用程序镜像进行校验;

或者,

使用哈希校验方法或HMAC校验方法对解密后的应用程序镜像进行校验。

本实施例中,嵌入式设备启动装置还包括:

第二读取单元606,用于读取数据分区的升级标志,数据分区为非易失性存储器的数据分区;

判断单元607,用于根据升级标志判断应用程序镜像是否需要进行升级;

升级单元608,用于当应用程序镜像需要进行升级时,对应用程序镜像进行升级;

对应地,解密单元603用于使用对称加密算法的密钥对升级程序镜像进行解密;

校验单元604用于对解密后的升级程序镜像进行校验;

启动单元605用于当对解密后的升级程序镜像校验成功时,启动该升级程序镜像对应的升级程序;

重启单元609,用于对解密后的升级程序镜像校验失败,则重新启动升级程序镜对应的嵌入式设备。

本实施例中,嵌入式设备启动装置还包括:

设置单元610,用于当对解密后的应用程序镜像校验失败时,对应用程序镜像设置升级标志并重新启动应用程序镜像。

本实施例中,启动单元605加载的应用程序镜像之前,解密单元603对应用程序镜像进行解密,校验单元604对应用程序镜像进行校验,由于解密需要加密密钥相对应的解密密钥,因此只有正确的解密密钥才能对应用程序镜像进行解密,保证了应用程序镜像内容的保密性,对应用程序镜像进行校验过程中,第一读取单元602读取RSA算法的公钥进行校验,只有校验成功才能启动该应用程序镜像对应的应用程序,因此,本方案中,运行单元601启动解密和校验后应用程序镜像,提高了应用程序镜像的可靠性和内容的保密性。

上面对本申请实施例中的嵌入式设备启动装置进行了描述,下面对本申请实施例中的应用程序镜像处理装置进行描述:

请参考图7,本申请实施例中应用程序镜像装置的一个实施例包括:

生成单元701,用于生成密钥资源,密钥资源包括对称加密算法的密钥,密钥用于对应用程序镜像进行加密与解密;

加密单元702,用于使用对称加密算法的密钥对应用程序镜像进行加密;

烧写单元703,用于将对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中。

本实施例中,应用程序镜像处理装置还包括:

签名单元704,用于使用RSA算法的私钥对应用程序镜像进行签名;

对应地,烧写单元703烧写单元用于将对称加密算法的密钥以及加密后的应用程序镜像烧写到非易失性存储器中包括:

烧写单元703用于将RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名烧写到非易失性存储器中,RSA算法的公钥用于对签名后的应用程序镜像进行校验。

本实施例中,通过生成单元701生成加密密钥资源以及签名密钥资源,签名单元704使用私钥对应用程序镜像进行签名,然后加密单元702使用密钥资源中的对称加密算法的加密密钥对应用程序镜像进行加密,烧写单元703将RSA算法的公钥、对称加密算法的密钥、加密后的应用程序镜像以及签名烧写到非易失性存储器中,本技术方案中对该应用程序镜像进行加密和签名,提高了该应用程序镜像的安全性和内容的保密性。

请参考图8,本申请实施例中嵌入式设备启动装置的另一个实施例包括:

图8是本发明实施例提供的一种嵌入式设备启动装置结构示意图,该嵌入式设备启动装置800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)801(例如,一个或一个以上处理器)和存储器805,该存储器805中存储有一个或一个以上的程序或数据。

其中,存储器805可以是易失性存储或持久存储。存储在存储器805的程序可以包括一个或一个以上模块,每个模块可以包括对嵌入式设备启动装置中的一系列指令操作。更进一步地,中央处理器801可以设置为与存储器805通信,在嵌入式设备启动装置800上执行存储器805中的一系列指令操作。

嵌入式设备启动装置800还可以包括一个或一个以上电源802,一个或一个以上有线或无线网络接口803,一个或一个以上输入输出接口804,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由嵌入式设备启动装置所执行的步骤可以基于该图8所示的嵌入式设备启动装置结构。

本实施例中嵌入式设备启动装置,中央处理器701所执行的流程与前述图2以及图4所示的实施例中描述的方法流程类似,此处不再赘述。

请参考图9,本申请实施例中应用程序镜像处理装置的另一个实施例包括:

图9是本发明实施例提供的一种应用程序镜像处理装置结构示意图,该应用程序镜像处理装置900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)901(例如,一个或一个以上处理器)和存储器905,该存储器905中存储有一个或一个以上的程序或数据。

其中,存储器905可以是易失性存储或持久存储。存储在存储器905的程序可以包括一个或一个以上模块,每个模块可以包括对应用程序镜像处理装置中的一系列指令操作。更进一步地,中央处理器901可以设置为与存储器905通信,在应用程序镜像处理装置900上执行存储器905中的一系列指令操作。

应用程序镜像处理装置900还可以包括一个或一个以上电源902,一个或一个以上有线或无线网络接口903,一个或一个以上输入输出接口904,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由应用程序镜像处理装置所执行的步骤可以基于该图9所示的应用程序镜像处理装置结构。

本实施例中应用程序镜像处理装置,中央处理器901所执行的流程与前述图3以及图5所示的实施例中描述的方法流程类似,此处不再赘述。

本申请实施例还提供一种计算机存储介质,该计算机存储介质用于储存为前述嵌入式设备启动装置所用的计算机软件指令,其包括用于执行为嵌入式设备启动装置所设计的程序。

本申请实施例还提供一种计算机存储介质,该计算机存储介质用于储存为前述应用程序镜像处理装置所用的计算机软件指令,其包括用于执行为应用程序镜像处理装置所设计的程序。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图2至5所示的实施例中的方法流程。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不跳转。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)跳转本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1