固件加解密系统与方法技术方案

技术编号:19067193 阅读:25 留言:0更新日期:2018-09-29 14:40
本发明专利技术提供了一种固件加解密系统与方法,涉及信息存储领域。该固件加解密系统与方法通过利用处理器将位于外部存储器的设备固件加载至随机存储器,通知密钥派生模块获取预先写入在可编程只读存储器的初始密钥;然后利用密钥派生模块依据初始密钥生成根密钥;最后利用加/解密模块从密钥派生模块获取根密钥以及从随机存储器获取设备固件,并利用检测结果、根密钥对设备固件进行加密/解密,由于系统没有为密钥派生模块分配密钥地址空间,因此,处理器无法通过密钥地址获取根密钥作为的加解密密钥,从而提高了加解密密钥的安全性。

【技术实现步骤摘要】
固件加解密系统与方法
本专利技术涉及信息存储领域,具体而言,涉及一种固件加解密系统与方法。
技术介绍
随着设备固件的复杂度增加,以及固件的灵活性需求,绝大多数设备都需要将固件保存在外部存储器,且需要较大的随机存储器进行运行,而随着需要安全性的设备固件的增加,比如网上银行,具有支付功能的设备固件,对设备固件保存、运行的保护要求与日俱增。在传统技术中,目前存储在外部存储器上的设备固件,使用预先存储于可编程只读存储器的固定密钥用于加解密固件,且在设备固件被加载到随机存储器运行之后,随机存储器内固件以明文的方式存在。上述的设备固件运行方式主要存在两点缺陷:一是存在可编程只读存储器中的密钥容易被获取,从而可以使用该密钥解密固件,且芯片密钥不唯一,只要获取其中一个可编程只读存储器的加解密密钥即可破解存储于其他可编程只读存储器的设备固件,安全系数差。二是设备固件被加载到可编程只读存储器,并进行解密后,在随机存储器中没有保护,可以从随机存储器中可以获取到明文固件,从而容易从随机存储器的接口上获取设备固件。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种固件加解密系统与方法,以改善上述的问题。第一方面,本专利技术实施例提供了一种固件加解密系统,所述固件加解密系统包括处理器、随机存储器、密钥派生模块、可编程只读存储器、外部存储器以及加/解密模块,所述处理器分别与所述随机存储器、所述密钥派生模块、所述外部存储器电连接,所述密钥派生模块分别与所述可编程只读存储器、所述加/解密模块电连接,所述加/解密模块还与所述随机存储器、所述处理器电连接;所述处理器用于在获得上电信号后进行初始化,并检测位于所述外部存储器的设备固件信息头是否加密,并生成检测结果;所述处理器还用于将位于所述外部存储器的设备固件加载至所述随机存储器,通知所述密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于依据所述初始密钥生成根密钥;所述加/解密模块用于从所述密钥派生模块获取根密钥以及从所述随机存储器获取设备固件,并利用所述检测结果、所述根密钥对所述设备固件进行加密/解密。第二方面,本专利技术实施例还提供了一种设备固件加解密方法,应用于上述的固件加解密系统,所述设备固件加解密方法包括:利用所述处理器在获得上电信号后进行初始化,并检测位于所述外部存储器的设备固件信息头是否加密,并生成检测结果;利用所述处理器将位于所述外部存储器的设备固件加载至所述随机存储器,通知所述密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;利用所述密钥派生模块依据所述初始密钥生成根密钥;利用所述加/解密模块从所述密钥派生模块获取根密钥以及从所述随机存储器获取设备固件,并利用所述检测结果、所述根密钥对所述设备固件进行加密/解密。与现有技术相比,本专利技术提供的固件加解密系统与方法,通过利用处理器将位于外部存储器的设备固件加载至随机存储器,通知密钥派生模块获取预先写入在可编程只读存储器的初始密钥;然后利用密钥派生模块依据初始密钥生成根密钥;最后利用加/解密模块从密钥派生模块获取根密钥以及从随机存储器获取设备固件,并利用检测结果、根密钥对设备固件进行加密/解密,由于系统没有为密钥派生模块分配密钥地址空间,因此,处理器无法通过密钥地址获取根密钥作为的加解密密钥,从而提高了加解密密钥的安全性。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的固件加解密系统的电路连接框图;图2为本专利技术实施例提供的设备固件加解密方法的总流程图;图3、图4为本专利技术实施例提供的设备固件加解密方法对设备固件进行加密时的流程图;图5、图6为本专利技术实施例提供的设备固件加解密方法对设备固件进行加密时的流程图。图标:101-处理器;102-MC核;103-随机存储器;104-外部存储器;105-可编程只读存储器;106-密钥派生模块;107-层级密钥模块;108-加/解密模块;109-随机数生成模块;110-逻辑运算模块;111-内部存储器。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术实施例提供了一种固件加解密系统,该固件加解密系统包括处理器101、随机存储器103、密钥派生模块106、可编程只读存储器105、外部存储器104、MC核102以及加/解密模块108。处理器101分别与密钥派生模块106、外部存储器104电连接,其中,处理器101、MC核102以及随机存储器103依次电连接,MC核102用于转发处理器101发送至随机存储器103的读写命令。密钥派生模块106分别与可编程只读存储器105、加/解密模块108电连接,加/解密模块108还分别与随机存储器103、处理器101电连接。本实施例中,随机存储器103可以采用双倍速率随机存储器(DoubleDataRate,DDR),在设备固件等待运行时,存储于双倍速率随机存储器内,且处理器101能够直接寻址到随机存储器103;外部存储器104可以包括外部Flash存储器,外部Flash存储器用于存储设备固件,在嵌入式系统当中,所有的代码和系统数据都是被存储在外部Flash存储器内部的,外部Flash存储器的特点为可多次擦写,而且掉电数据不会丢失。可编程只读存储器105(OneTimeProgramable,OTP),用于存储根密钥,其中,初始密钥被预先烧入可编程只读存储器105,且不可更改。具体地,处理器101用于在获得上电信号后进行初始化,并检测位于外部存储器104的设备固件信息头是否加密,并生成检测结果。该固件加解密系统还包括内部存储器111,内部存储器111与处理器101电连接,其中,内部存储器111存储有BootRom固件,BootRom固件在生产时被预先掩膜在内部存储器111,不可修改。设备固件包括存储于外部存储器104的产品启动固件。具体的初始化过程可以为,在处理器101上电启动时,先从内部存储器111获取BootRom固件,并执行BootRom固件中的程序,从而初始化了外部存储器104和随机存储器103,使得处理器101处于设备固件本文档来自技高网...

【技术保护点】
1.一种固件加解密系统,其特征在于,所述固件加解密系统包括处理器、随机存储器、密钥派生模块、可编程只读存储器、外部存储器以及加/解密模块,所述处理器分别与所述随机存储器、所述密钥派生模块、所述外部存储器电连接,所述密钥派生模块分别与所述可编程只读存储器、所述加/解密模块电连接,所述加/解密模块还与所述随机存储器、所述处理器电连接;所述处理器还用于将位于所述外部存储器的设备固件加载至所述随机存储器,通知所述密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于依据所述初始密钥生成根密钥;所述加/解密模块用于从所述密钥派生模块获取根密钥以及从所述随机存储器获取设备固件,并利用所述检测结果、所述根密钥对所述设备固件进行加密/解密。

【技术特征摘要】
1.一种固件加解密系统,其特征在于,所述固件加解密系统包括处理器、随机存储器、密钥派生模块、可编程只读存储器、外部存储器以及加/解密模块,所述处理器分别与所述随机存储器、所述密钥派生模块、所述外部存储器电连接,所述密钥派生模块分别与所述可编程只读存储器、所述加/解密模块电连接,所述加/解密模块还与所述随机存储器、所述处理器电连接;所述处理器还用于将位于所述外部存储器的设备固件加载至所述随机存储器,通知所述密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于依据所述初始密钥生成根密钥;所述加/解密模块用于从所述密钥派生模块获取根密钥以及从所述随机存储器获取设备固件,并利用所述检测结果、所述根密钥对所述设备固件进行加密/解密。2.根据权利要求1所述的固件加解密系统,其特征在于,所述固件加解密系统还包括内部存储器,所述内部存储器与所述处理器电连接,所述设备固件包括存储于外部存储器的产品启动固件,所述处理器用于在首次获得上电信号后,检测位于所述外部存储器的设备固件信息头是否加密,并生成检测结果,将位于所述外部存储器的产品启动固件加载至所述随机存储器,在检测结果为产品启动固件处于未加密状态时,运行产品启动固件以及发出第一加密通知至所述加/解密模块,通知密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于从依据所述初始密钥生成第一根密钥;所述加/解密模块用于从所述密钥派生模块获取所述第一根密钥、从所述随机存储器获取所述产品启动固件,并依据所述第一加密通知以及所述第一根密钥对所述产品启动固件进行加密。3.根据权利要求2所述的固件加解密系统,其特征在于,所述设备固件包括存储于外部存储器的产品固件,所述加/解密模块还用于在对所述产品启动固件进行加密完毕后,通知所述处理器将所述产品固件加载至所述随机存储器;所述处理器还用于再次通知密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于从依据所述初始密钥生成第二根密钥;所述加/解密模块用于从所述密钥派生模块获取所述第二根密钥、从所述随机存储器获取所述产品固件,并依据所述第一加密通知以及所述第二根密钥对所述产品固件进行加密。4.根据权利要求3所述的固件加解密系统,其特征在于,所述处理器还用于在获得上电信号后进行初始化,并检测位于所述外部存储器的设备固件信息头是否加密,并生成检测结果。5.根据权利要求1所述的固件加解密系统,其特征在于,所述固件加解密系统还包括内部存储器,所述内部存储器与所述处理器电连接,所述设备固件包括存储于外部存储器的产品启动固件,所述处理器用于再次获得上电信号后,检测位于所述外部存储器的设备固件信息头是否加密,并生成检测结果,将位于所述外部存储器的产品启动固件加载至所述随机存储器,在检测结果为产品启动固件处于加密状态时,发出第一解密通知至所述加/解密模块以及通知所述密钥派生模块获取预先写入在所述可编程只读存储器的初始密钥;所述密钥派生模块用于从依据所述初始密钥生成第三根密钥;所述加/解密模块用于从所述密钥派生模块获...

【专利技术属性】
技术研发人员:刘杰兵周士兵傅文海
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

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

1